From 69710a7d976bb779e7a55a3a153c3a4acfaa080c Mon Sep 17 00:00:00 2001 From: Pulumi Generator Bot Date: Thu, 16 Jul 2026 05:47:38 +0000 Subject: [PATCH 1/2] make tfgen --- .../bridge-metadata.json | 40 + .../cmd/pulumi-resource-stackit/schema.json | 10485 +++++++++------- provider/go.mod | 6 +- provider/go.sum | 12 +- provider/shim/go.mod | 6 +- provider/shim/go.sum | 12 +- 6 files changed, 5934 insertions(+), 4627 deletions(-) diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json index 00ae8f9..6054b4d 100644 --- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json @@ -936,6 +936,26 @@ "stackit_volume": { "current": "stackit:index/volume:Volume" }, + "stackit_vpc": { + "current": "stackit:index/vpc:Vpc" + }, + "stackit_vpc_network_range": { + "current": "stackit:index/vpcNetworkRange:VpcNetworkRange", + "fields": { + "nameservers": { + "maxItemsOne": false + } + } + }, + "stackit_vpc_region": { + "current": "stackit:index/vpcRegion:VpcRegion" + }, + "stackit_vpc_routing_table": { + "current": "stackit:index/vpcRoutingTable:VpcRoutingTable" + }, + "stackit_vpc_routing_table_static_route": { + "current": "stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute" + }, "stackit_vpn_connection": { "current": "stackit:index/vpnConnection:VpnConnection", "fields": { @@ -2064,6 +2084,26 @@ "stackit_volume": { "current": "stackit:index/getVolume:getVolume" }, + "stackit_vpc": { + "current": "stackit:index/getVpc:getVpc" + }, + "stackit_vpc_network_range": { + "current": "stackit:index/getVpcNetworkRange:getVpcNetworkRange", + "fields": { + "nameservers": { + "maxItemsOne": false + } + } + }, + "stackit_vpc_region": { + "current": "stackit:index/getVpcRegion:getVpcRegion" + }, + "stackit_vpc_routing_table": { + "current": "stackit:index/getVpcRoutingTable:getVpcRoutingTable" + }, + "stackit_vpc_routing_table_static_route": { + "current": "stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute" + }, "stackit_vpn_connection": { "current": "stackit:index/getVpnConnection:getVpnConnection", "fields": { diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json index 4e2ffa3..6ab05b7 100644 --- a/provider/cmd/pulumi-resource-stackit/schema.json +++ b/provider/cmd/pulumi-resource-stackit/schema.json @@ -100,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: dremio, 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, network, routing-tables, vpc" }, "gitCustomEndpoint": { "type": "string", @@ -4110,6 +4110,123 @@ "type" ] }, + "stackit:index/VpcNetworkRangeTimeouts:VpcNetworkRangeTimeouts": { + "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/VpcRegionTimeouts:VpcRegionTimeouts": { + "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/VpcRoutingTableStaticRouteDestination:VpcRoutingTableStaticRouteDestination": { + "properties": { + "type": { + "type": "string", + "description": "CIDR type. Possible values are: \u003cspan pulumi-lang-nodejs=\"`cidrv4`\" pulumi-lang-dotnet=\"`Cidrv4`\" pulumi-lang-go=\"`cidrv4`\" pulumi-lang-python=\"`cidrv4`\" pulumi-lang-yaml=\"`cidrv4`\" pulumi-lang-java=\"`cidrv4`\"\u003e`cidrv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cidrv6`\" pulumi-lang-dotnet=\"`Cidrv6`\" pulumi-lang-go=\"`cidrv6`\" pulumi-lang-python=\"`cidrv6`\" pulumi-lang-yaml=\"`cidrv6`\" pulumi-lang-java=\"`cidrv6`\"\u003e`cidrv6`\u003c/span\u003e. Currently cidrv6 is unsupported.\n" + }, + "value": { + "type": "string", + "description": "CIDR value.\n" + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, + "stackit:index/VpcRoutingTableStaticRouteNexthop:VpcRoutingTableStaticRouteNexthop": { + "properties": { + "type": { + "type": "string", + "description": "Type of the nexthop. Possible values are: \u003cspan pulumi-lang-nodejs=\"`blackhole`\" pulumi-lang-dotnet=\"`Blackhole`\" pulumi-lang-go=\"`blackhole`\" pulumi-lang-python=\"`blackhole`\" pulumi-lang-yaml=\"`blackhole`\" pulumi-lang-java=\"`blackhole`\"\u003e`blackhole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internet`\" pulumi-lang-dotnet=\"`Internet`\" pulumi-lang-go=\"`internet`\" pulumi-lang-python=\"`internet`\" pulumi-lang-yaml=\"`internet`\" pulumi-lang-java=\"`internet`\"\u003e`internet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e. Currently ipv6 is unsupported.\n" + }, + "value": { + "type": "string", + "description": "Value of the nexthop\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "stackit:index/VpcRoutingTableStaticRouteTimeouts:VpcRoutingTableStaticRouteTimeouts": { + "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/VpcTimeouts:VpcTimeouts": { + "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/VpnConnectionTunnel1:VpnConnectionTunnel1": { "properties": { "bgp": { @@ -5576,11 +5693,6 @@ "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" @@ -5590,7 +5702,6 @@ "required": [ "authorityUrl", "clientId", - "clientSecret", "redirectUrl" ], "language": { @@ -5609,11 +5720,6 @@ "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/getDremioInstanceAuthenticationOauthJwtClaims:getDremioInstanceAuthenticationOauthJwtClaims", "description": "Maps fields from the JWT token to fields Dremio requires.\n" @@ -5638,7 +5744,6 @@ "required": [ "authorityUrl", "clientId", - "clientSecret", "jwtClaims", "parameters", "redirectUrl", @@ -9196,6 +9301,82 @@ } } }, + "stackit:index/getVpcNetworkRangeTimeouts:getVpcNetworkRangeTimeouts": { + "properties": { + "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).\n" + } + }, + "type": "object" + }, + "stackit:index/getVpcRegionTimeouts:getVpcRegionTimeouts": { + "properties": { + "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).\n" + } + }, + "type": "object" + }, + "stackit:index/getVpcRoutingTableStaticRouteDestination:getVpcRoutingTableStaticRouteDestination": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "type", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getVpcRoutingTableStaticRouteNexthop:getVpcRoutingTableStaticRouteNexthop": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "type", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getVpcRoutingTableStaticRouteTimeouts:getVpcRoutingTableStaticRouteTimeouts": { + "properties": { + "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).\n" + } + }, + "type": "object" + }, + "stackit:index/getVpcTimeouts:getVpcTimeouts": { + "properties": { + "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).\n" + } + }, + "type": "object" + }, "stackit:index/getVpnConnectionTunnel1:getVpnConnectionTunnel1": { "properties": { "bgp": { @@ -9682,7 +9863,7 @@ "items": { "type": "string" }, - "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" + "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, network, routing-tables, vpc" }, "gitCustomEndpoint": { "type": "string", @@ -9901,7 +10082,7 @@ "items": { "type": "string" }, - "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" + "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, network, routing-tables, vpc" }, "gitCustomEndpoint": { "type": "string", @@ -10610,7 +10791,7 @@ } }, "stackit:index/authorizationFolderRoleAssignment:AuthorizationFolderRoleAssignment": { - "description": "Folder Role Assignment resource schema.\n\n\u003e This resource is part of the iam 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_resourcemanager_folder\" \"example\" {\n name = \"example_folder\"\n owner_email = \"foo.bar@stackit.cloud\"\n # in this case a org-id\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_folder_role_assignment\" \"fra\" {\n resource_id = stackit_resourcemanager_folder.example.folder_id\n role = \"reader\"\n subject = \"foo.bar@stackit.cloud\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing folder role assignment\nimport {\n to = stackit_authorization_folder_role_assignment.import-example\n id = \"${var.folder_id},${var.folder_role_assignment},${var.folder_role_assignment_subject}\"\n}\n```\n\n", + "description": "Folder Role Assignment resource schema.\n\n\u003e This resource is part of the experimental feature iam 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_resourcemanager_folder\" \"example\" {\n name = \"example_folder\"\n owner_email = \"foo.bar@stackit.cloud\"\n # in this case a org-id\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_folder_role_assignment\" \"fra\" {\n resource_id = stackit_resourcemanager_folder.example.folder_id\n role = \"reader\"\n subject = \"foo.bar@stackit.cloud\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing folder role assignment\nimport {\n to = stackit_authorization_folder_role_assignment.import-example\n id = \"${var.folder_id},${var.folder_role_assignment},${var.folder_role_assignment_subject}\"\n}\n```\n\n", "properties": { "resourceId": { "type": "string", @@ -10759,7 +10940,7 @@ } }, "stackit:index/authorizationOrganizationRoleAssignment:AuthorizationOrganizationRoleAssignment": { - "description": "Organization Role Assignment resource schema.\n\n\u003e This resource is part of the iam 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_authorization_organization_role_assignment\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@stackit.cloud\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing organization role assignment\nimport {\n to = stackit_authorization_organization_role_assignment.import-example\n id = \"${var.organization_id},${var.org_role_assignment_role},${var.org_role_assignment_subject}\"\n}\n```\n\n", + "description": "Organization Role Assignment resource schema.\n\n\u003e This resource is part of the experimental feature iam 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_authorization_organization_role_assignment\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@stackit.cloud\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing organization role assignment\nimport {\n to = stackit_authorization_organization_role_assignment.import-example\n id = \"${var.organization_id},${var.org_role_assignment_role},${var.org_role_assignment_subject}\"\n}\n```\n\n", "properties": { "resourceId": { "type": "string", @@ -10908,7 +11089,7 @@ } }, "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment": { - "description": "Project Role Assignment resource schema.\n\n\u003e This resource is part of the iam 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_resourcemanager_project\" \"example\" {\n name = \"example_project\"\n owner_email = \"foo.bar@stackit.cloud\"\n # in this case a folder or a org-id\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_project_role_assignment\" \"pra\" {\n resource_id = stackit_resourcemanager_project.example.project_id\n role = \"reader\"\n subject = \"foo.bar@stackit.cloud\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing project role assignment\nimport {\n to = stackit_authorization_project_role_assignment.import-example\n id = \"${var.project_id},${var.project_role_assignment_role},${var.project_role_assignment_subject}\"\n}\n```\n\n", + "description": "Project Role Assignment resource schema.\n\n\u003e This resource is part of the experimental feature iam 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_resourcemanager_project\" \"example\" {\n name = \"example_project\"\n owner_email = \"foo.bar@stackit.cloud\"\n # in this case a folder or a org-id\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_project_role_assignment\" \"pra\" {\n resource_id = stackit_resourcemanager_project.example.project_id\n role = \"reader\"\n subject = \"foo.bar@stackit.cloud\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing project role assignment\nimport {\n to = stackit_authorization_project_role_assignment.import-example\n id = \"${var.project_id},${var.project_role_assignment_role},${var.project_role_assignment_subject}\"\n}\n```\n\n", "properties": { "resourceId": { "type": "string", @@ -10967,7 +11148,7 @@ } }, "stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment": { - "description": "Service-account Role Assignment resource schema.\n\n\u003e **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the \u003cspan pulumi-lang-nodejs=\"`subject`\" pulumi-lang-dotnet=\"`Subject`\" pulumi-lang-go=\"`subject`\" pulumi-lang-python=\"`subject`\" pulumi-lang-yaml=\"`subject`\" pulumi-lang-java=\"`subject`\"\u003e`subject`\u003c/span\u003e) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs.\n\n\u003e This resource is part of the iam 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_service_accounts\" \"ske_sa_suffix\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@ske.sa.stackit.cloud\"\n}\n\nresource \"stackit_service_account\" \"iam\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"kms\"\n}\n\nresource \"stackit_authorization_project_role_assignment\" \"pr_sa\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"kms.admin\"\n subject = stackit_service_account.iam.email\n}\n\n// Assign the Act-As permissions to the previously created ServiceAccount.\n// The SKE ServiceAccount is now authorized to access KMS upon the behalf of stackit_service_account.iam\nresource \"stackit_authorization_service_account_role_assignment\" \"sa\" {\n resource_id = stackit_service_account.iam.service_account_id\n role = \"user\"\n subject = data.stackit_service_accounts.ske_sa_suffix.items.0.email\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing service account assignment\nimport {\n to = stackit_authorization_service_account_assignment.sa\n id = \"${var.resource_id},${var.service_account_assignment_role},${var.service_account_assignment_subject}\"\n}\n```\n\n", + "description": "Service-account Role Assignment resource schema.\n\n\u003e **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the \u003cspan pulumi-lang-nodejs=\"`subject`\" pulumi-lang-dotnet=\"`Subject`\" pulumi-lang-go=\"`subject`\" pulumi-lang-python=\"`subject`\" pulumi-lang-yaml=\"`subject`\" pulumi-lang-java=\"`subject`\"\u003e`subject`\u003c/span\u003e) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs.\n\n\u003e This resource is part of the experimental feature iam 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_service_accounts\" \"ske_sa_suffix\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@ske.sa.stackit.cloud\"\n}\n\nresource \"stackit_service_account\" \"iam\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"kms\"\n}\n\nresource \"stackit_authorization_project_role_assignment\" \"pr_sa\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"kms.admin\"\n subject = stackit_service_account.iam.email\n}\n\n// Assign the Act-As permissions to the previously created ServiceAccount.\n// The SKE ServiceAccount is now authorized to access KMS upon the behalf of stackit_service_account.iam\nresource \"stackit_authorization_service_account_role_assignment\" \"sa\" {\n resource_id = stackit_service_account.iam.service_account_id\n role = \"user\"\n subject = data.stackit_service_accounts.ske_sa_suffix.items.0.email\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing service account assignment\nimport {\n to = stackit_authorization_service_account_assignment.sa\n id = \"${var.resource_id},${var.service_account_assignment_role},${var.service_account_assignment_subject}\"\n}\n```\n\n", "properties": { "resourceId": { "type": "string", @@ -11690,7 +11871,7 @@ } }, "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```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n", + "description": "Manages a STACKIT Dremio instance.\n\n\u003e This resource is part of the experimental feature dremio 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```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n", "properties": { "authentication": { "$ref": "#/types/stackit:index/DremioInstanceAuthentication:DremioInstanceAuthentication", @@ -11802,7 +11983,7 @@ } }, "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```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n", + "description": "Manages a STACKIT Dremio instances user.\n\n\u003e This resource is part of the experimental feature dremio 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```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n", "properties": { "description": { "type": "string", @@ -18792,7 +18973,7 @@ } }, "stackit:index/routingTable:RoutingTable": { - "description": "Routing table 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\nThis resource is for SNA, not VPC, based networks.\n\n\u003e This resource is part of the routing-tables 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_routing_table\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing routing table\nimport {\n to = stackit_routing_table.import-example\n id = \"${var.organization_id},${var.region},${var.network_area_id},${var.routing_table_id}\"\n}\n```\n\n", + "description": "Routing table 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\nThis resource is for SNA, not VPC, based networks.\n\n\u003e This resource is part of the experimental feature routing-tables 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_routing_table\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing routing table\nimport {\n to = stackit_routing_table.import-example\n id = \"${var.organization_id},${var.region},${var.network_area_id},${var.routing_table_id}\"\n}\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -18950,7 +19131,7 @@ } }, "stackit:index/routingTableRoute:RoutingTableRoute": { - "description": "Routing table route resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\nThis resource is for SNA, not VPC, based networks.\n\n\u003e This resource is part of the routing-tables 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_routing_table_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n destination = {\n type = \"cidrv4\"\n value = \"192.168.178.0/24\"\n }\n next_hop = {\n type = \"ipv4\"\n value = \"192.168.178.1\"\n }\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing routing table route\nimport {\n to = stackit_routing_table_route.import-example\n id = \"${var.organization_id},${var.region},${var.network_area_id},${var.routing_table_id},${var.routing_table_route_id}\"\n}\n```\n\n", + "description": "Routing table route resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\nThis resource is for SNA, not VPC, based networks.\n\n\u003e This resource is part of the experimental feature routing-tables 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_routing_table_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n destination = {\n type = \"cidrv4\"\n value = \"192.168.178.0/24\"\n }\n next_hop = {\n type = \"ipv4\"\n value = \"192.168.178.1\"\n }\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing routing table route\nimport {\n to = stackit_routing_table_route.import-example\n id = \"${var.organization_id},${var.region},${var.network_area_id},${var.routing_table_id},${var.routing_table_route_id}\"\n}\n```\n\n", "properties": { "createdAt": { "type": "string", @@ -19430,7 +19611,7 @@ } }, "stackit:index/secretsmanagerInstanceRoleBindingV1:SecretsmanagerInstanceRoleBindingV1": { - "description": "IAM role binding resource schema.\n\n\u003e This resource is part of the iam 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_secretsmanager_instance_role_binding_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@example.com\"\n}\n```\n\n## Import\n\n```terraform\n# Only use the import statement if you want to import an existing role binding\nimport {\n to = stackit_secretsmanager_instance_role_binding_v1.import_example\n id = \"${var.region},${var.resource_id},${var.role},${var.subject}\"\n}\n```\n\n", + "description": "IAM role binding resource schema.\n\n\u003e This resource is part of the experimental feature iam 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_secretsmanager_instance_role_binding_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@example.com\"\n}\n```\n\n## Import\n\n```terraform\n# Only use the import statement if you want to import an existing role binding\nimport {\n to = stackit_secretsmanager_instance_role_binding_v1.import_example\n id = \"${var.region},${var.resource_id},${var.role},${var.subject}\"\n}\n```\n\n", "properties": { "region": { "type": "string", @@ -19502,7 +19683,7 @@ } }, "stackit:index/secretsmanagerSecretGroupRoleBindingV1:SecretsmanagerSecretGroupRoleBindingV1": { - "description": "IAM role binding resource schema.\n\n\u003e This resource is part of the iam 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_secretsmanager_secret_group_role_binding_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@example.com\"\n}\n```\n\n## Import\n\n```terraform\n# Only use the import statement if you want to import an existing role binding\nimport {\n to = stackit_secretsmanager_secret_group_role_binding_v1.import_example\n id = \"${var.region},${var.resource_id},${var.role},${var.subject}\"\n}\n```\n\n", + "description": "IAM role binding resource schema.\n\n\u003e This resource is part of the experimental feature iam 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_secretsmanager_secret_group_role_binding_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@example.com\"\n}\n```\n\n## Import\n\n```terraform\n# Only use the import statement if you want to import an existing role binding\nimport {\n to = stackit_secretsmanager_secret_group_role_binding_v1.import_example\n id = \"${var.region},${var.resource_id},${var.role},${var.subject}\"\n}\n```\n\n", "properties": { "region": { "type": "string", @@ -22999,1663 +23180,2940 @@ "type": "object" } }, - "stackit:index/vpnConnection:VpnConnection": { - "description": "VPN Connection resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n## Example Usage\n\n```terraform\nresource \"stackit_vpn_connection\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n gateway_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"example-vpn-connection\"\n\n tunnel1 = {\n remote_address = \"198.51.100.10\"\n pre_shared_key_wo = \"example-super-secret-key-tunnel1\"\n\n phase1 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n\n phase2 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n }\n\n tunnel2 = {\n remote_address = \"203.0.113.10\"\n pre_shared_key_wo = \"example-super-secret-key-tunnel2\"\n\n phase1 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n\n phase2 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing VPN connection\nimport {\n to = stackit_vpn_connection.example\n id = \"${var.project_id},${var.region},${var.gateway_id},${var.connection_id}\"\n}\n```\n\n", + "stackit:index/vpc:Vpc": { + "description": "VPC resource schema.\n\n\u003e This resource is part of the experimental feature vpc 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_vpc\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n description = \"Example description\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing vpc\nimport {\n to = stackit_vpc.import-example\n id = \"${var.project_id},${var.vpc_id}\"\n}\n```\n\n", "properties": { - "connectionId": { - "type": "string", - "description": "The server-generated UUID of the VPN connection." - }, - "displayName": { - "type": "string", - "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n" - }, - "enabled": { - "type": "boolean", - "description": "Whether this connection is enabled. Defaults to true." - }, - "gatewayId": { + "description": { "type": "string", - "description": "The UUID of the parent VPN gateway.\n" + "description": "The description of the VPC.\n" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Map of custom labels." + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "localSubnets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + "name": { + "type": "string", + "description": "The name of the VPC.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID.\n" + "description": "STACKIT project ID to which the VPC is associated.\n" }, - "region": { + "timeouts": { + "$ref": "#/types/stackit:index/VpcTimeouts:VpcTimeouts" + }, + "vpcId": { "type": "string", - "description": "STACKIT region." + "description": "The VPC ID.\n" + } + }, + "required": [ + "description", + "name", + "projectId", + "vpcId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the VPC.\n" }, - "remoteSubnets": { - "type": "array", - "items": { + "labels": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "staticRoutes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways." + "name": { + "type": "string", + "description": "The name of the VPC.\n" }, - "tunnel1": { - "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1", - "description": "Configuration for the IPsec tunnel1\n" + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the VPC is associated.\n" }, - "tunnel2": { - "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2", - "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)." - } - }, - "required": [ - "connectionId", - "displayName", - "enabled", - "gatewayId", - "localSubnets", - "projectId", - "region", - "remoteSubnets", - "staticRoutes", - "tunnel1", - "tunnel2" - ], - "inputProperties": { - "displayName": { - "type": "string", - "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n" - }, - "enabled": { - "type": "boolean", - "description": "Whether this connection is enabled. Defaults to true." - }, - "gatewayId": { - "type": "string", - "description": "The UUID of the parent VPN gateway.\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Map of custom labels." - }, - "localSubnets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." - }, - "projectId": { - "type": "string", - "description": "STACKIT project ID.\n" - }, - "region": { - "type": "string", - "description": "STACKIT region." - }, - "remoteSubnets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." - }, - "staticRoutes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways." - }, - "tunnel1": { - "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1", - "description": "Configuration for the IPsec tunnel1\n" - }, - "tunnel2": { - "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2", - "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)." + "timeouts": { + "$ref": "#/types/stackit:index/VpcTimeouts:VpcTimeouts" } }, "requiredInputs": [ - "displayName", - "gatewayId", - "projectId", - "tunnel1", - "tunnel2" + "description", + "projectId" ], "stateInputs": { - "description": "Input properties used for looking up and filtering VpnConnection resources.\n", + "description": "Input properties used for looking up and filtering Vpc resources.\n", "properties": { - "connectionId": { - "type": "string", - "description": "The server-generated UUID of the VPN connection." - }, - "displayName": { - "type": "string", - "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n" - }, - "enabled": { - "type": "boolean", - "description": "Whether this connection is enabled. Defaults to true." - }, - "gatewayId": { + "description": { "type": "string", - "description": "The UUID of the parent VPN gateway.\n" + "description": "The description of the VPC.\n" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Map of custom labels." - }, - "localSubnets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "projectId": { + "name": { "type": "string", - "description": "STACKIT project ID.\n" + "description": "The name of the VPC.\n" }, - "region": { + "projectId": { "type": "string", - "description": "STACKIT region." - }, - "remoteSubnets": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." - }, - "staticRoutes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways." + "description": "STACKIT project ID to which the VPC is associated.\n" }, - "tunnel1": { - "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1", - "description": "Configuration for the IPsec tunnel1\n" + "timeouts": { + "$ref": "#/types/stackit:index/VpcTimeouts:VpcTimeouts" }, - "tunnel2": { - "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2", - "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)." + "vpcId": { + "type": "string", + "description": "The VPC ID.\n" } }, "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\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\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\n", + "stackit:index/vpcNetworkRange:VpcNetworkRange": { + "description": "VPC network range resource schema\n\n\u003e This resource is part of the experimental feature vpc 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_vpc_region\" \"region\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_vpc_network_range\" \"example\" {\n # Network range can only be created after the VPC is enabled for the region\n depends_on = [stackit_vpc_region.region]\n\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = stackit_vpc_region.region.vpc_id\n ip_version = \"ipv4\"\n prefix = \"192.168.0.0/24\"\n description = \"my vpc network range\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing dns zone\nimport {\n to = stackit_vpc_network_range.example\n id = \"${var.project_id},${var.vpc_id},${var.region},${var.vpc_network_range_id}\"\n}\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" + "defaultPrefixLength": { + "type": "integer", + "description": "Default prefix length for the VPC network range\n" }, - "displayName": { + "description": { "type": "string", - "description": "A user-friendly name for the VPN gateway.\n" + "description": "Description of the VPC network range\n" }, - "gatewayId": { + "ipVersion": { "type": "string", - "description": "The server-generated UUID of the VPN gateway.\n" + "description": "IP version of the VPC network range. Possible values are: \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\n" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Map of custom labels (key-value string pairs).\n" + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "planId": { + "maxPrefixLength": { + "type": "integer", + "description": "Maximum prefix length for the VPC network range\n" + }, + "minPrefixLength": { + "type": "integer", + "description": "Minimum prefix length for the VPC network range\n" + }, + "nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nameservers for the VPC network range\n" + }, + "networkRangeId": { + "type": "string" + }, + "prefix": { "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" + "description": "The IP prefix for the VPC network range\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the VPN gateway.\n" + "description": "STACKIT project ID to which the VPC network range is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "routingType": { + "timeouts": { + "$ref": "#/types/stackit:index/VpcNetworkRangeTimeouts:VpcNetworkRangeTimeouts" + }, + "vpcId": { "type": "string", - "description": "Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`.\n" + "description": "The VPC ID to which the VPC network range is associated.\n" } }, "required": [ - "availabilityZones", - "displayName", - "gatewayId", - "planId", + "defaultPrefixLength", + "description", + "ipVersion", + "maxPrefixLength", + "minPrefixLength", + "nameservers", + "networkRangeId", + "prefix", "projectId", "region", - "routingType" + "vpcId" ], "inputProperties": { - "availabilityZones": { - "$ref": "#/types/stackit:index/VpnGatewayAvailabilityZones:VpnGatewayAvailabilityZones", - "description": "Availability zones for the two tunnel endpoints.\n" + "defaultPrefixLength": { + "type": "integer", + "description": "Default prefix length for the VPC network range\n" }, - "bgp": { - "$ref": "#/types/stackit:index/VpnGatewayBgp:VpnGatewayBgp", - "description": "BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED.\n" + "description": { + "type": "string", + "description": "Description of the VPC network range\n" }, - "displayName": { + "ipVersion": { "type": "string", - "description": "A user-friendly name for the VPN gateway.\n" + "description": "IP version of the VPC network range. Possible values are: \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\n" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Map of custom labels (key-value string pairs).\n" + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "planId": { + "maxPrefixLength": { + "type": "integer", + "description": "Maximum prefix length for the VPC network range\n" + }, + "minPrefixLength": { + "type": "integer", + "description": "Minimum prefix length for the VPC network range\n" + }, + "nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nameservers for the VPC network range\n" + }, + "prefix": { "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" + "description": "The IP prefix for the VPC network range\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the VPN gateway.\n" + "description": "STACKIT project ID to which the VPC network range is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "routingType": { + "timeouts": { + "$ref": "#/types/stackit:index/VpcNetworkRangeTimeouts:VpcNetworkRangeTimeouts" + }, + "vpcId": { "type": "string", - "description": "Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`.\n" + "description": "The VPC ID to which the VPC network range is associated.\n" } }, "requiredInputs": [ - "availabilityZones", - "displayName", - "planId", + "description", + "ipVersion", + "prefix", "projectId", - "routingType" + "vpcId" ], "stateInputs": { - "description": "Input properties used for looking up and filtering VpnGateway resources.\n", + "description": "Input properties used for looking up and filtering VpcNetworkRange 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" + "defaultPrefixLength": { + "type": "integer", + "description": "Default prefix length for the VPC network range\n" }, - "displayName": { + "description": { "type": "string", - "description": "A user-friendly name for the VPN gateway.\n" + "description": "Description of the VPC network range\n" }, - "gatewayId": { + "ipVersion": { "type": "string", - "description": "The server-generated UUID of the VPN gateway.\n" + "description": "IP version of the VPC network range. Possible values are: \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\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" + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "projectId": { - "type": "string", - "description": "STACKIT project ID associated with the VPN gateway.\n" + "maxPrefixLength": { + "type": "integer", + "description": "Maximum prefix length for the VPC network range\n" }, - "region": { - "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "minPrefixLength": { + "type": "integer", + "description": "Minimum prefix length for the VPC network range\n" + }, + "nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nameservers for the VPC network range\n" + }, + "networkRangeId": { + "type": "string" + }, + "prefix": { + "type": "string", + "description": "The IP prefix for the VPC network range\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the VPC network range is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/VpcNetworkRangeTimeouts:VpcNetworkRangeTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the VPC network range is associated.\n" + } + }, + "type": "object" + } + }, + "stackit:index/vpcRegion:VpcRegion": { + "description": "VPC region resource schema\n\n\u003e This resource is part of the experimental feature vpc 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_vpc_region\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing region\nimport {\n to = stackit_vpc_region.import-example\n id = \"${var.project_id},${var.vpc_id},${var_region}\"\n}\n```\n\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the VPC region is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/VpcRegionTimeouts:VpcRegionTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the VPC region is associated.\n" + } + }, + "required": [ + "projectId", + "region", + "vpcId" + ], + "inputProperties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the VPC region is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/VpcRegionTimeouts:VpcRegionTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the VPC region is associated.\n" + } + }, + "requiredInputs": [ + "projectId", + "vpcId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpcRegion resources.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the VPC region is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/VpcRegionTimeouts:VpcRegionTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the VPC region is associated.\n" + } + }, + "type": "object" + } + }, + "stackit:index/vpcRoutingTable:VpcRoutingTable": { + "description": "VPC Regional routing table 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 part of the experimental feature vpc 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_vpc_region\" \"example-region\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_vpc_routing_table\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n labels = {\n \"key\" = \"value\"\n }\n # a routing table needs a configured region\n depends_on = [stackit_vpc_region.example-region]\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing routing table\nimport {\n to = stackit_vpc_routing_table.import-example\n id = \"${var.project_id},${var.vpc_id},${var.region},${var.routing_table_id}\"\n}\n```\n\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the regional routing table.\n" + }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this regional routing table\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "name": { + "type": "string", + "description": "The name of the regional routing table.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the regional routing table is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "routingTableId": { + "type": "string", + "description": "The regional routing tables ID.\n" + }, + "systemRoutes": { + "type": "boolean", + "description": "This allows installation of automatic system routes for connectivity between projects in the same VPC.\n" + }, + "vpcId": { + "type": "string", + "description": "The vpc ID to which the regional routing table is associated.\n" + } + }, + "required": [ + "description", + "dynamicRoutes", + "name", + "projectId", + "region", + "routingTableId", + "systemRoutes", + "vpcId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Description of the regional routing table.\n" + }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this regional routing table\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "name": { + "type": "string", + "description": "The name of the regional routing table.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the regional routing table is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "systemRoutes": { + "type": "boolean", + "description": "This allows installation of automatic system routes for connectivity between projects in the same VPC.\n" + }, + "vpcId": { + "type": "string", + "description": "The vpc ID to which the regional routing table is associated.\n" + } + }, + "requiredInputs": [ + "projectId", + "vpcId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpcRoutingTable resources.\n", + "properties": { + "description": { + "type": "string", + "description": "Description of the regional routing table.\n" + }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this regional routing table\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "name": { + "type": "string", + "description": "The name of the regional routing table.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the regional routing table is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "routingTableId": { + "type": "string", + "description": "The regional routing tables ID.\n" + }, + "systemRoutes": { + "type": "boolean", + "description": "This allows installation of automatic system routes for connectivity between projects in the same VPC.\n" + }, + "vpcId": { + "type": "string", + "description": "The vpc ID to which the regional routing table is associated.\n" + } + }, + "type": "object" + } + }, + "stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute": { + "description": "VPC Routing table static route resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This resource is part of the experimental feature vpc 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_vpc_routing_table_static_route\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n destination = {\n type = \"cidrv4\"\n value = \"192.168.0.0/24\"\n }\n nexthop = {\n type = \"ipv4\"\n value = \"10.0.0.8\"\n }\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing static route\nimport {\n to = stackit_vpc_routing_table_static_route.import-example\n id = \"${var.project_id},${var.vpc_id},${var.region},${var.routing_table_id},${var.route_id}\"\n}\n```\n\n", + "properties": { + "destination": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteDestination:VpcRoutingTableStaticRouteDestination", + "description": "The destination of the static route.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "nexthop": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteNexthop:VpcRoutingTableStaticRouteNexthop", + "description": "The nexthop of the static route.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the static route is associated.\n" + }, + "region": { + "type": "string", + "description": "The region of the static route.\n" + }, + "routeId": { + "type": "string", + "description": "The static route ID.\n" + }, + "routingTableId": { + "type": "string", + "description": "The routing table ID to which the static route is associated.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteTimeouts:VpcRoutingTableStaticRouteTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the static route is associated.\n" + } + }, + "required": [ + "destination", + "nexthop", + "projectId", + "region", + "routeId", + "routingTableId", + "vpcId" + ], + "inputProperties": { + "destination": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteDestination:VpcRoutingTableStaticRouteDestination", + "description": "The destination of the static route.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "nexthop": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteNexthop:VpcRoutingTableStaticRouteNexthop", + "description": "The nexthop of the static route.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the static route is associated.\n" + }, + "region": { + "type": "string", + "description": "The region of the static route.\n" + }, + "routingTableId": { + "type": "string", + "description": "The routing table ID to which the static route is associated.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteTimeouts:VpcRoutingTableStaticRouteTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the static route is associated.\n" + } + }, + "requiredInputs": [ + "destination", + "nexthop", + "projectId", + "routingTableId", + "vpcId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpcRoutingTableStaticRoute resources.\n", + "properties": { + "destination": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteDestination:VpcRoutingTableStaticRouteDestination", + "description": "The destination of the static route.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "nexthop": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteNexthop:VpcRoutingTableStaticRouteNexthop", + "description": "The nexthop of the static route.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the static route is associated.\n" + }, + "region": { + "type": "string", + "description": "The region of the static route.\n" + }, + "routeId": { + "type": "string", + "description": "The static route ID.\n" + }, + "routingTableId": { + "type": "string", + "description": "The routing table ID to which the static route is associated.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/VpcRoutingTableStaticRouteTimeouts:VpcRoutingTableStaticRouteTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the static route is associated.\n" + } + }, + "type": "object" + } + }, + "stackit:index/vpnConnection:VpnConnection": { + "description": "VPN Connection resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e is defined on resource level.\n\n## Example Usage\n\n```terraform\nresource \"stackit_vpn_connection\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n gateway_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"example-vpn-connection\"\n\n tunnel1 = {\n remote_address = \"198.51.100.10\"\n pre_shared_key_wo = \"example-super-secret-key-tunnel1\"\n\n phase1 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n\n phase2 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n }\n\n tunnel2 = {\n remote_address = \"203.0.113.10\"\n pre_shared_key_wo = \"example-super-secret-key-tunnel2\"\n\n phase1 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n\n phase2 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n }\n}\n```\n\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\n# Only use the import statement, if you want to import an existing VPN connection\nimport {\n to = stackit_vpn_connection.example\n id = \"${var.project_id},${var.region},${var.gateway_id},${var.connection_id}\"\n}\n```\n\n", + "properties": { + "connectionId": { + "type": "string", + "description": "The server-generated UUID of the VPN connection." + }, + "displayName": { + "type": "string", + "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n" + }, + "enabled": { + "type": "boolean", + "description": "Whether this connection is enabled. Defaults to true." + }, + "gatewayId": { + "type": "string", + "description": "The UUID of the parent VPN gateway.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of custom labels." + }, + "localSubnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region." + }, + "remoteSubnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + }, + "staticRoutes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways." + }, + "tunnel1": { + "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1", + "description": "Configuration for the IPsec tunnel1\n" + }, + "tunnel2": { + "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2", + "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)." + } + }, + "required": [ + "connectionId", + "displayName", + "enabled", + "gatewayId", + "localSubnets", + "projectId", + "region", + "remoteSubnets", + "staticRoutes", + "tunnel1", + "tunnel2" + ], + "inputProperties": { + "displayName": { + "type": "string", + "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n" + }, + "enabled": { + "type": "boolean", + "description": "Whether this connection is enabled. Defaults to true." + }, + "gatewayId": { + "type": "string", + "description": "The UUID of the parent VPN gateway.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of custom labels." + }, + "localSubnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region." + }, + "remoteSubnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + }, + "staticRoutes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways." + }, + "tunnel1": { + "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1", + "description": "Configuration for the IPsec tunnel1\n" + }, + "tunnel2": { + "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2", + "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)." + } + }, + "requiredInputs": [ + "displayName", + "gatewayId", + "projectId", + "tunnel1", + "tunnel2" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpnConnection resources.\n", + "properties": { + "connectionId": { + "type": "string", + "description": "The server-generated UUID of the VPN connection." + }, + "displayName": { + "type": "string", + "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n" + }, + "enabled": { + "type": "boolean", + "description": "Whether this connection is enabled. Defaults to true." + }, + "gatewayId": { + "type": "string", + "description": "The UUID of the parent VPN gateway.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of custom labels." + }, + "localSubnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region." + }, + "remoteSubnets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based." + }, + "staticRoutes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways." + }, + "tunnel1": { + "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1", + "description": "Configuration for the IPsec tunnel1\n" + }, + "tunnel2": { + "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2", + "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)." + } + }, + "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\n## Import\n\nIn Terraform v1.5.0 and later, the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`import`\" pulumi-lang-dotnet=\"`Import`\" pulumi-lang-go=\"`import`\" pulumi-lang-python=\"`import`\" pulumi-lang-yaml=\"`import`\" pulumi-lang-java=\"`import`\"\u003e`import`\u003c/span\u003e + \"`\" + ` block can be used with the ` + \"`\" + \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e + \"`\" + ` attribute, for example:\n\n```terraform\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\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" + "description": "Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`.\n" + } + }, + "type": "object" + } + } + }, + "functions": { + "pulumi:providers:stackit/terraformConfig": { + "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.", + "inputs": { + "properties": { + "__self__": { + "type": "ref", + "$ref": "#/provider" + } + }, + "type": "pulumi:providers:stackit/terraformConfig", + "required": [ + "__self__" + ] + }, + "outputs": { + "properties": { + "result": { + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "type": "object" + } + }, + "required": [ + "result" + ], + "type": "object" + } + }, + "stackit:index/getAffinityGroup:getAffinityGroup": { + "description": "Affinity Group schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_affinity_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n affinity_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getAffinityGroup.\n", + "properties": { + "affinityGroupId": { + "type": "string", + "description": "The affinity group ID.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the affinity group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "affinityGroupId", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAffinityGroup.\n", + "properties": { + "affinityGroupId": { + "type": "string", + "description": "The affinity group ID.\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=\"`affinityGroupId`\" pulumi-lang-dotnet=\"`AffinityGroupId`\" pulumi-lang-go=\"`affinityGroupId`\" pulumi-lang-python=\"`affinity_group_id`\" pulumi-lang-yaml=\"`affinityGroupId`\" pulumi-lang-java=\"`affinityGroupId`\"\u003e`affinityGroupId`\u003c/span\u003e\".\n" + }, + "members": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Affinity Group schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n" + }, + "name": { + "type": "string", + "description": "The name of the affinity group.\n" + }, + "policy": { + "type": "string", + "description": "The policy of the affinity group.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the affinity group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "affinityGroupId", + "id", + "members", + "name", + "policy", + "projectId" + ] + } + }, + "stackit:index/getAlbCertificate:getAlbCertificate": { + "description": "ALB TLS Certificate data source schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_alb_certificate\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n cert_id = \"example-certificate-v1-dfa816b3184f63f43d918ea5f9493f5359f6c2404b69afbb0b60fb1af69d0bc0\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getAlbCertificate.\n", + "properties": { + "certId": { + "type": "string", + "description": "The ID of the certificate.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the certificate is associated.\n" + } + }, + "type": "object", + "required": [ + "certId", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAlbCertificate.\n", + "properties": { + "certId": { + "type": "string", + "description": "The ID of the certificate.\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=\"`certId`\" pulumi-lang-dotnet=\"`CertId`\" pulumi-lang-go=\"`certId`\" pulumi-lang-python=\"`cert_id`\" pulumi-lang-yaml=\"`certId`\" pulumi-lang-java=\"`certId`\"\u003e`certId`\u003c/span\u003e\".\n" + }, + "name": { + "type": "string", + "description": "Certificate name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the certificate is associated.\n" + }, + "publicKey": { + "type": "string", + "description": "The PEM encoded public key part\n" + }, + "region": { + "type": "string", + "description": "The resource region (e.g. eu01). If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "certId", + "id", + "name", + "projectId", + "publicKey", + "region" + ] + } + }, + "stackit:index/getApplicationLoadBalancer:getApplicationLoadBalancer": { + "description": "Application Load Balancer data source schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_application_load_balancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getApplicationLoadBalancer.\n", + "properties": { + "name": { + "type": "string", + "description": "Application Load balancer name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Application Load Balancer is associated.\n" + } + }, + "type": "object", + "required": [ + "name", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getApplicationLoadBalancer.\n", + "properties": { + "disableTargetSecurityGroupAssignment": { + "type": "boolean", + "description": "Disable target security group assignemt to allow targets outside of the given network. Connectivity to targets need to be ensured by the customer, including routing and Security Groups (targetSecurityGroup can be assigned). Not changeable after creation.\n" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerError:getApplicationLoadBalancerError" + }, + "description": "Reports all errors a Application Load Balancer has.\n" + }, + "externalAddress": { + "type": "string", + "description": "The external IP address where this Application Load Balancer is exposed. Not changeable after creation.\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=\"`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" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels represent user-defined metadata as key-value pairs. Label count cannot exceed 64 per ALB.\n" + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerListener:getApplicationLoadBalancerListener" + }, + "description": "List of all listeners which will accept traffic. Limited to 20.\n" + }, + "loadBalancerSecurityGroup": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerLoadBalancerSecurityGroup:getApplicationLoadBalancerLoadBalancerSecurityGroup", + "description": "Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.\n" + }, + "name": { + "type": "string", + "description": "Application Load balancer name.\n" + }, + "networks": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerNetwork:getApplicationLoadBalancerNetwork" + }, + "description": "List of networks that listeners and targets reside in.\n" + }, + "options": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerOptions:getApplicationLoadBalancerOptions", + "description": "Defines any optional functionality you want to have enabled on your Application Load Balancer.\n" + }, + "planId": { + "type": "string", + "description": "Service Plan configures the size of the Application Load Balancer.\n" + }, + "privateAddress": { + "type": "string" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Application Load Balancer is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "targetPools": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerTargetPool:getApplicationLoadBalancerTargetPool" + }, + "description": "List of all target pools which will be used in the Application Load Balancer. Limited to 20.\n" + }, + "targetSecurityGroup": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerTargetSecurityGroup:getApplicationLoadBalancerTargetSecurityGroup", + "description": "Security Group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.\n" + }, + "version": { + "type": "string", + "description": "Application Load Balancer resource version. Used for concurrency safe updates.\n" + } + }, + "type": "object", + "required": [ + "disableTargetSecurityGroupAssignment", + "errors", + "externalAddress", + "id", + "labels", + "listeners", + "loadBalancerSecurityGroup", + "name", + "networks", + "options", + "planId", + "privateAddress", + "projectId", + "region", + "targetPools", + "targetSecurityGroup", + "version" + ] + } + }, + "stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole": { + "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_folder_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getAuthorizationFolderCustomRole.\n", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" + } + }, + "type": "object", + "required": [ + "resourceId", + "roleId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAuthorizationFolderCustomRole.\n", + "properties": { + "description": { + "type": "string", + "description": "A human readable description of the role.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is structured as \"[resource*id],[role*id]\".\n" + }, + "name": { + "type": "string", + "description": "Name of the role\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Permissions for the role\n" + }, + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" } }, - "type": "object" + "type": "object", + "required": [ + "description", + "id", + "name", + "permissions", + "resourceId", + "roleId" + ] } - } - }, - "functions": { - "pulumi:providers:stackit/terraformConfig": { - "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.", + }, + "stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole": { + "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_organization_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { + "description": "A collection of arguments for invoking getAuthorizationOrganizationCustomRole.\n", "properties": { - "__self__": { - "type": "ref", - "$ref": "#/provider" + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" } }, - "type": "pulumi:providers:stackit/terraformConfig", + "type": "object", "required": [ - "__self__" + "resourceId", + "roleId" ] }, "outputs": { + "description": "A collection of values returned by getAuthorizationOrganizationCustomRole.\n", "properties": { - "result": { - "additionalProperties": { - "$ref": "pulumi.json#/Any" + "description": { + "type": "string", + "description": "A human readable description of the role.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is structured as \"[resource*id],[role*id]\".\n" + }, + "name": { + "type": "string", + "description": "Name of the role\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" }, - "type": "object" + "description": "Permissions for the role\n" + }, + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" } }, + "type": "object", "required": [ - "result" - ], - "type": "object" + "description", + "id", + "name", + "permissions", + "resourceId", + "roleId" + ] } }, - "stackit:index/getAffinityGroup:getAffinityGroup": { - "description": "Affinity Group schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_affinity_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n affinity_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole": { + "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_project_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getAffinityGroup.\n", + "description": "A collection of arguments for invoking getAuthorizationProjectCustomRole.\n", "properties": { - "affinityGroupId": { + "resourceId": { "type": "string", - "description": "The affinity group ID.\n" + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" + } + }, + "type": "object", + "required": [ + "resourceId", + "roleId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAuthorizationProjectCustomRole.\n", + "properties": { + "description": { + "type": "string", + "description": "A human readable description of the role.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is structured as \"[resource*id],[role*id]\".\n" + }, + "name": { + "type": "string", + "description": "Name of the role\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Permissions for the role\n" + }, + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" + } + }, + "type": "object", + "required": [ + "description", + "id", + "name", + "permissions", + "resourceId", + "roleId" + ] + } + }, + "stackit:index/getCdnCustomDomain:getCdnCustomDomain": { + "description": "CDN distribution data source schema.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_cdn_custom_domain\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n distribution_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"https://xxx.xxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getCdnCustomDomain.\n", + "properties": { + "certificate": { + "$ref": "#/types/stackit:index/getCdnCustomDomainCertificate:getCdnCustomDomainCertificate", + "description": "The TLS certificate for the custom domain. If omitted, a managed certificate will be used. If the block is specified, a custom certificate is used.\n" + }, + "distributionId": { + "type": "string", + "description": "CDN distribution ID\n" + }, + "name": { + "type": "string" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the affinity group is associated.\n" + "description": "STACKIT project ID associated with the distribution\n" + } + }, + "type": "object", + "required": [ + "distributionId", + "name", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getCdnCustomDomain.\n", + "properties": { + "certificate": { + "$ref": "#/types/stackit:index/getCdnCustomDomainCertificate:getCdnCustomDomainCertificate", + "description": "The TLS certificate for the custom domain. If omitted, a managed certificate will be used. If the block is specified, a custom certificate is used.\n" }, - "region": { + "distributionId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "CDN distribution ID\n" + }, + "errors": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of distribution errors\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=\"`distributionId`\" pulumi-lang-dotnet=\"`DistributionId`\" pulumi-lang-go=\"`distributionId`\" pulumi-lang-python=\"`distribution_id`\" pulumi-lang-yaml=\"`distributionId`\" pulumi-lang-java=\"`distributionId`\"\u003e`distributionId`\u003c/span\u003e\".\n" + }, + "name": { + "type": "string" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the distribution\n" + }, + "status": { + "type": "string", + "description": "Status of the distribution\n" } }, "type": "object", "required": [ - "affinityGroupId", + "distributionId", + "errors", + "id", + "name", + "projectId", + "status" + ] + } + }, + "stackit:index/getCdnDistribution:getCdnDistribution": { + "description": "CDN distribution data source schema.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_cdn_distribution\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n distribution_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getCdnDistribution.\n", + "properties": { + "distributionId": { + "type": "string", + "description": "CDN distribution ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the distribution\n" + } + }, + "type": "object", + "required": [ + "distributionId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getAffinityGroup.\n", + "description": "A collection of values returned by getCdnDistribution.\n", "properties": { - "affinityGroupId": { + "config": { + "$ref": "#/types/stackit:index/getCdnDistributionConfig:getCdnDistributionConfig", + "description": "The distribution configuration\n" + }, + "createdAt": { "type": "string", - "description": "The affinity group ID.\n" + "description": "Time when the distribution was created\n" }, - "id": { + "distributionId": { "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=\"`affinityGroupId`\" pulumi-lang-dotnet=\"`AffinityGroupId`\" pulumi-lang-go=\"`affinityGroupId`\" pulumi-lang-python=\"`affinity_group_id`\" pulumi-lang-yaml=\"`affinityGroupId`\" pulumi-lang-java=\"`affinityGroupId`\"\u003e`affinityGroupId`\u003c/span\u003e\".\n" + "description": "CDN distribution ID\n" }, - "members": { + "domains": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getCdnDistributionDomain:getCdnDistributionDomain" + }, + "description": "List of configured domains for the distribution\n" + }, + "errors": { "type": "array", "items": { "type": "string" }, - "description": "Affinity Group schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n" + "description": "List of distribution errors\n" }, - "name": { + "id": { "type": "string", - "description": "The name of the affinity group.\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=\"`distributionId`\" pulumi-lang-dotnet=\"`DistributionId`\" pulumi-lang-go=\"`distributionId`\" pulumi-lang-python=\"`distribution_id`\" pulumi-lang-yaml=\"`distributionId`\" pulumi-lang-java=\"`distributionId`\"\u003e`distributionId`\u003c/span\u003e\".\n" }, - "policy": { + "projectId": { "type": "string", - "description": "The policy of the affinity group.\n" + "description": "STACKIT project ID associated with the distribution\n" }, - "projectId": { + "status": { "type": "string", - "description": "STACKIT Project ID to which the affinity group is associated.\n" + "description": "Status of the distribution\n" }, - "region": { + "updatedAt": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Time when the distribution was last updated\n" } }, "type": "object", "required": [ - "affinityGroupId", + "config", + "createdAt", + "distributionId", + "domains", + "errors", "id", - "members", - "name", - "policy", - "projectId" + "projectId", + "status", + "updatedAt" ] } }, - "stackit:index/getAlbCertificate:getAlbCertificate": { - "description": "ALB TLS Certificate data source schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_alb_certificate\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n cert_id = \"example-certificate-v1-dfa816b3184f63f43d918ea5f9493f5359f6c2404b69afbb0b60fb1af69d0bc0\"\n}\n```\n", + "stackit:index/getDnsRecordSet:getDnsRecordSet": { + "description": "DNS Record Set Resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_dns_record_set\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n zone_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n record_set_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getAlbCertificate.\n", + "description": "A collection of arguments for invoking getDnsRecordSet.\n", "properties": { - "certId": { + "projectId": { "type": "string", - "description": "The ID of the certificate.\n" + "description": "STACKIT project ID to which the dns record set is associated.\n" }, - "projectId": { + "recordSetId": { "type": "string", - "description": "STACKIT project ID to which the certificate is associated.\n" + "description": "The rr set id.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getDnsRecordSetTimeouts:getDnsRecordSetTimeouts" + }, + "zoneId": { + "type": "string", + "description": "The zone ID to which is dns record set is associated.\n" } }, "type": "object", "required": [ - "certId", - "projectId" + "projectId", + "recordSetId", + "zoneId" ] }, "outputs": { - "description": "A collection of values returned by getAlbCertificate.\n", + "description": "A collection of values returned by getDnsRecordSet.\n", "properties": { - "certId": { + "active": { + "type": "boolean", + "description": "Specifies if the record set is active or not.\n" + }, + "comment": { "type": "string", - "description": "The ID of the certificate.\n" + "description": "Comment.\n" + }, + "error": { + "type": "string", + "description": "Error shows error in case create/update/delete failed.\n" + }, + "fqdn": { + "type": "string", + "description": "Fully qualified domain name (FQDN) of the record set.\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=\"`certId`\" pulumi-lang-dotnet=\"`CertId`\" pulumi-lang-go=\"`certId`\" pulumi-lang-python=\"`cert_id`\" pulumi-lang-yaml=\"`certId`\" pulumi-lang-java=\"`certId`\"\u003e`certId`\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=\"`zoneId`\" pulumi-lang-dotnet=\"`ZoneId`\" pulumi-lang-go=\"`zoneId`\" pulumi-lang-python=\"`zone_id`\" pulumi-lang-yaml=\"`zoneId`\" pulumi-lang-java=\"`zoneId`\"\u003e`zoneId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`recordSetId`\" pulumi-lang-dotnet=\"`RecordSetId`\" pulumi-lang-go=\"`recordSetId`\" pulumi-lang-python=\"`record_set_id`\" pulumi-lang-yaml=\"`recordSetId`\" pulumi-lang-java=\"`recordSetId`\"\u003e`recordSetId`\u003c/span\u003e\".\n" }, "name": { "type": "string", - "description": "Certificate name.\n" + "description": "Name of the record which should be a valid domain according to rfc1035 Section 2.3.4. E.g. `example.com`\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the certificate is associated.\n" + "description": "STACKIT project ID to which the dns record set is associated.\n" }, - "publicKey": { + "recordSetId": { "type": "string", - "description": "The PEM encoded public key part\n" + "description": "The rr set id.\n" }, - "region": { + "records": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Records.\n" + }, + "state": { "type": "string", - "description": "The resource region (e.g. eu01). If not defined, the provider region is used.\n" + "description": "Record set state.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getDnsRecordSetTimeouts:getDnsRecordSetTimeouts" + }, + "ttl": { + "type": "integer", + "description": "Time to live. E.g. 3600\n" + }, + "type": { + "type": "string", + "description": "The record set type. E.g. `A` or `CNAME`\n" + }, + "zoneId": { + "type": "string", + "description": "The zone ID to which is dns record set is associated.\n" } }, "type": "object", "required": [ - "certId", + "active", + "comment", + "error", + "fqdn", "id", "name", "projectId", - "publicKey", - "region" + "recordSetId", + "records", + "state", + "ttl", + "type", + "zoneId" ] } }, - "stackit:index/getApplicationLoadBalancer:getApplicationLoadBalancer": { - "description": "Application Load Balancer data source schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_application_load_balancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n}\n```\n", + "stackit:index/getDnsZone:getDnsZone": { + "description": "DNS Zone resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_dns_zone\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n zone_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getApplicationLoadBalancer.\n", + "description": "A collection of arguments for invoking getDnsZone.\n", "properties": { - "name": { + "dnsName": { "type": "string", - "description": "Application Load balancer name.\n" + "description": "The zone name. E.g. `example.com` (must not end with a trailing dot).\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the Application Load Balancer is associated.\n" + "description": "STACKIT project ID to which the dns zone is associated.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getDnsZoneTimeouts:getDnsZoneTimeouts" + }, + "zoneId": { + "type": "string", + "description": "The zone ID.\n" } }, "type": "object", "required": [ - "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getApplicationLoadBalancer.\n", + "description": "A collection of values returned by getDnsZone.\n", "properties": { - "disableTargetSecurityGroupAssignment": { - "type": "boolean", - "description": "Disable target security group assignemt to allow targets outside of the given network. Connectivity to targets need to be ensured by the customer, including routing and Security Groups (targetSecurityGroup can be assigned). Not changeable after creation.\n" + "acl": { + "type": "string", + "description": "The access control list.\n" }, - "errors": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerError:getApplicationLoadBalancerError" - }, - "description": "Reports all errors a Application Load Balancer has.\n" + "active": { + "type": "boolean" }, - "externalAddress": { + "contactEmail": { "type": "string", - "description": "The external IP address where this Application Load Balancer is exposed. Not changeable after creation.\n" + "description": "A contact e-mail for the zone.\n" }, - "id": { + "defaultTtl": { + "type": "integer", + "description": "Default time to live.\n" + }, + "description": { "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=\"`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" + "description": "Description of the zone.\n" }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels represent user-defined metadata as key-value pairs. Label count cannot exceed 64 per ALB.\n" + "dnsName": { + "type": "string", + "description": "The zone name. E.g. `example.com` (must not end with a trailing dot).\n" }, - "listeners": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerListener:getApplicationLoadBalancerListener" - }, - "description": "List of all listeners which will accept traffic. Limited to 20.\n" + "expireTime": { + "type": "integer", + "description": "Expire time.\n" }, - "loadBalancerSecurityGroup": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerLoadBalancerSecurityGroup:getApplicationLoadBalancerLoadBalancerSecurityGroup", - "description": "Security Group permitting network traffic from the LoadBalancer to the targets. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.\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=\"`zoneId`\" pulumi-lang-dotnet=\"`ZoneId`\" pulumi-lang-go=\"`zoneId`\" pulumi-lang-python=\"`zone_id`\" pulumi-lang-yaml=\"`zoneId`\" pulumi-lang-java=\"`zoneId`\"\u003e`zoneId`\u003c/span\u003e\".\n" + }, + "isReverseZone": { + "type": "boolean", + "description": "Specifies, if the zone is a reverse zone or not.\n" }, "name": { "type": "string", - "description": "Application Load balancer name.\n" + "description": "The user given name of the zone.\n" }, - "networks": { + "negativeCache": { + "type": "integer", + "description": "Negative caching.\n" + }, + "primaries": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerNetwork:getApplicationLoadBalancerNetwork" + "type": "string" }, - "description": "List of networks that listeners and targets reside in.\n" + "description": "Primary name server for secondary zone.\n" }, - "options": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerOptions:getApplicationLoadBalancerOptions", - "description": "Defines any optional functionality you want to have enabled on your Application Load Balancer.\n" + "primaryNameServer": { + "type": "string", + "description": "Primary name server. FQDN.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the dns zone is associated.\n" + }, + "recordCount": { + "type": "integer", + "description": "Record count how many records are in the zone.\n" + }, + "refreshTime": { + "type": "integer", + "description": "Refresh time.\n" + }, + "retryTime": { + "type": "integer", + "description": "Retry time.\n" }, - "planId": { + "serialNumber": { + "type": "integer", + "description": "Serial number.\n" + }, + "state": { "type": "string", - "description": "Service Plan configures the size of the Application Load Balancer.\n" + "description": "Zone state.\n" }, - "privateAddress": { - "type": "string" + "timeouts": { + "$ref": "#/types/stackit:index/getDnsZoneTimeouts:getDnsZoneTimeouts" }, - "projectId": { + "type": { "type": "string", - "description": "STACKIT project ID to which the Application Load Balancer is associated.\n" + "description": "Zone type.\n" }, - "region": { + "visibility": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "targetPools": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerTargetPool:getApplicationLoadBalancerTargetPool" - }, - "description": "List of all target pools which will be used in the Application Load Balancer. Limited to 20.\n" - }, - "targetSecurityGroup": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerTargetSecurityGroup:getApplicationLoadBalancerTargetSecurityGroup", - "description": "Security Group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign target security groups to targets.\n" + "description": "Visibility of the zone.\n" }, - "version": { + "zoneId": { "type": "string", - "description": "Application Load Balancer resource version. Used for concurrency safe updates.\n" + "description": "The zone ID.\n" } }, "type": "object", "required": [ - "disableTargetSecurityGroupAssignment", - "errors", - "externalAddress", + "acl", + "active", + "contactEmail", + "defaultTtl", + "description", + "expireTime", "id", - "labels", - "listeners", - "loadBalancerSecurityGroup", + "isReverseZone", "name", - "networks", - "options", - "planId", - "privateAddress", + "negativeCache", + "primaries", + "primaryNameServer", "projectId", - "region", - "targetPools", - "targetSecurityGroup", - "version" + "recordCount", + "refreshTime", + "retryTime", + "serialNumber", + "state", + "type", + "visibility" ] } }, - "stackit:index/getAuthorizationFolderCustomRole:getAuthorizationFolderCustomRole": { - "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_folder_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n", + "stackit:index/getDremioInstance:getDremioInstance": { + "description": "Manages a STACKIT Dremio instance.\n\n\u003e This datasource is part of the experimental feature dremio 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 getAuthorizationFolderCustomRole.\n", + "description": "A collection of arguments for invoking getDremioInstance.\n", "properties": { - "resourceId": { + "description": { "type": "string", - "description": "Resource to add the custom role to.\n" + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" }, - "roleId": { + "instanceId": { "type": "string", - "description": "The ID of the role.\n" + "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": [ - "resourceId", - "roleId" + "instanceId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getAuthorizationFolderCustomRole.\n", + "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": "A human readable description of the role.\n" + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" }, - "id": { + "displayName": { "type": "string", - "description": "Terraform's internal resource identifier. It is structured as \"[resource*id],[role*id]\".\n" + "description": "The display name is a short name chosen by the user to identify the resource.\n" }, - "name": { + "endpoints": { + "$ref": "#/types/stackit:index/getDremioInstanceEndpoints:getDremioInstanceEndpoints", + "description": "The available endpoints of the Dremio instance.\n" + }, + "id": { "type": "string", - "description": "Name of the role\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" }, - "permissions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Permissions for the role\n" + "instanceId": { + "type": "string", + "description": "The Dremio instance ID.\n" }, - "resourceId": { + "projectId": { "type": "string", - "description": "Resource to add the custom role to.\n" + "description": "STACKIT Project ID to which the resource is associated.\n" }, - "roleId": { + "region": { "type": "string", - "description": "The ID of the role.\n" + "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", - "name", - "permissions", - "resourceId", - "roleId" + "instanceId", + "projectId" ] } }, - "stackit:index/getAuthorizationOrganizationCustomRole:getAuthorizationOrganizationCustomRole": { - "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_organization_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n", + "stackit:index/getDremioUser:getDremioUser": { + "description": "Manages a STACKIT Dremio instances user.\n\n\u003e This datasource is part of the experimental feature dremio 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 getAuthorizationOrganizationCustomRole.\n", + "description": "A collection of arguments for invoking getDremioUser.\n", "properties": { - "resourceId": { + "description": { "type": "string", - "description": "Resource to add the custom role to.\n" + "description": "The description of the user.\n" }, - "roleId": { + "instanceId": { "type": "string", - "description": "The ID of the role.\n" + "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": [ - "resourceId", - "roleId" + "instanceId", + "projectId", + "userId" ] }, "outputs": { - "description": "A collection of values returned by getAuthorizationOrganizationCustomRole.\n", + "description": "A collection of values returned by getDremioUser.\n", "properties": { "description": { "type": "string", - "description": "A human readable description of the role.\n" + "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 \"[resource*id],[role*id]\".\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,\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": "Name of the role\n" + "description": "The username of the user.\n" }, - "permissions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Permissions for the role\n" + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" }, - "resourceId": { + "region": { "type": "string", - "description": "Resource to add the custom role to.\n" + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "roleId": { + "userId": { "type": "string", - "description": "The ID of the role.\n" + "description": "The Dremio user ID.\n" } }, "type": "object", "required": [ "description", + "email", + "firstName", "id", + "instanceId", + "lastName", "name", - "permissions", - "resourceId", - "roleId" + "projectId", + "userId" ] } }, - "stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole": { - "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_project_custom_role\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n", + "stackit:index/getEdgecloudInstances:getEdgecloudInstances": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\n# returns all Edge Cloud instances created in the given project which are inside the provider default_region\ndata \"stackit_edgecloud_instances\" \"plan_id\" {\n project_id = var.project_id\n}\n\n# returns all Edge Cloud instances created in the given project in the given region\ndata \"stackit_edgecloud_instances\" \"plan_id\" {\n project_id = var.project_id\n region = var.region\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getAuthorizationProjectCustomRole.\n", + "description": "A collection of arguments for invoking getEdgecloudInstances.\n", "properties": { - "resourceId": { + "projectId": { "type": "string", - "description": "Resource to add the custom role to.\n" + "description": "STACKIT project ID to which the Edge Cloud instances are associated.\n" }, - "roleId": { + "region": { "type": "string", - "description": "The ID of the role.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "resourceId", - "roleId" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getAuthorizationProjectCustomRole.\n", + "description": "A collection of values returned by getEdgecloudInstances.\n", "properties": { - "description": { - "type": "string", - "description": "A human readable description of the role.\n" - }, "id": { "type": "string", - "description": "Terraform's internal resource identifier. It is structured as \"[resource*id],[role*id]\".\n" - }, - "name": { - "type": "string", - "description": "Name of the role\n" + "description": "Terraform's internal data source 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=\"`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" }, - "permissions": { + "instances": { "type": "array", "items": { - "type": "string" + "$ref": "#/types/stackit:index/getEdgecloudInstancesInstance:getEdgecloudInstancesInstance" }, - "description": "Permissions for the role\n" + "description": "A list of Edge Cloud instances.\n" }, - "resourceId": { + "projectId": { "type": "string", - "description": "Resource to add the custom role to.\n" + "description": "STACKIT project ID to which the Edge Cloud instances are associated.\n" }, - "roleId": { + "region": { "type": "string", - "description": "The ID of the role.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "description", "id", - "name", - "permissions", - "resourceId", - "roleId" + "instances", + "projectId" ] } }, - "stackit:index/getCdnCustomDomain:getCdnCustomDomain": { - "description": "CDN distribution data source schema.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_cdn_custom_domain\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n distribution_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"https://xxx.xxx\"\n}\n```\n", + "stackit:index/getEdgecloudPlans:getEdgecloudPlans": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_edgecloud_plans\" \"this\" {\n project_id = var.project_id\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getCdnCustomDomain.\n", + "description": "A collection of arguments for invoking getEdgecloudPlans.\n", "properties": { - "certificate": { - "$ref": "#/types/stackit:index/getCdnCustomDomainCertificate:getCdnCustomDomainCertificate", - "description": "The TLS certificate for the custom domain. If omitted, a managed certificate will be used. If the block is specified, a custom certificate is used.\n" - }, - "distributionId": { - "type": "string", - "description": "CDN distribution ID\n" - }, - "name": { - "type": "string" - }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the distribution\n" + "description": "STACKIT project ID the Plans belongs to.\n" } }, "type": "object", "required": [ - "distributionId", - "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getCdnCustomDomain.\n", + "description": "A collection of values returned by getEdgecloudPlans.\n", "properties": { - "certificate": { - "$ref": "#/types/stackit:index/getCdnCustomDomainCertificate:getCdnCustomDomainCertificate", - "description": "The TLS certificate for the custom domain. If omitted, a managed certificate will be used. If the block is specified, a custom certificate is used.\n" - }, - "distributionId": { + "id": { "type": "string", - "description": "CDN distribution ID\n" + "description": "Terraform's internal data source ID, \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 is used here.\n" }, - "errors": { + "plans": { "type": "array", "items": { - "type": "string" + "$ref": "#/types/stackit:index/getEdgecloudPlansPlan:getEdgecloudPlansPlan" }, - "description": "List of distribution errors\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=\"`distributionId`\" pulumi-lang-dotnet=\"`DistributionId`\" pulumi-lang-go=\"`distributionId`\" pulumi-lang-python=\"`distribution_id`\" pulumi-lang-yaml=\"`distributionId`\" pulumi-lang-java=\"`distributionId`\"\u003e`distributionId`\u003c/span\u003e\".\n" - }, - "name": { - "type": "string" + "description": "A list of Edge Cloud Plans.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the distribution\n" - }, - "status": { - "type": "string", - "description": "Status of the distribution\n" + "description": "STACKIT project ID the Plans belongs to.\n" } }, "type": "object", "required": [ - "distributionId", - "errors", "id", - "name", - "projectId", - "status" + "plans", + "projectId" ] } }, - "stackit:index/getCdnDistribution:getCdnDistribution": { - "description": "CDN distribution data source schema.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_cdn_distribution\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n distribution_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getGit:getGit": { + "description": "Git Instance datasource schema.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getCdnDistribution.\n", + "description": "A collection of arguments for invoking getGit.\n", "properties": { - "distributionId": { + "instanceId": { "type": "string", - "description": "CDN distribution ID\n" + "description": "ID linked to the git instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the distribution\n" + "description": "STACKIT project ID to which the git instance is associated.\n" } }, "type": "object", "required": [ - "distributionId", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getCdnDistribution.\n", + "description": "A collection of values returned by getGit.\n", "properties": { - "config": { - "$ref": "#/types/stackit:index/getCdnDistributionConfig:getCdnDistributionConfig", - "description": "The distribution configuration\n" + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restricted ACL for instance access.\n" }, - "createdAt": { + "consumedDisk": { "type": "string", - "description": "Time when the distribution was created\n" + "description": "How many bytes of disk space is consumed.\n" }, - "distributionId": { + "consumedObjectStorage": { "type": "string", - "description": "CDN distribution ID\n" + "description": "How many bytes of Object Storage is consumed.\n" }, - "domains": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getCdnDistributionDomain:getCdnDistributionDomain" - }, - "description": "List of configured domains for the distribution\n" + "created": { + "type": "string", + "description": "Instance creation timestamp in RFC3339 format.\n" }, - "errors": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of distribution errors\n" + "flavor": { + "type": "string", + "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" }, "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=\"`distributionId`\" pulumi-lang-dotnet=\"`DistributionId`\" pulumi-lang-go=\"`distributionId`\" pulumi-lang-python=\"`distribution_id`\" pulumi-lang-yaml=\"`distributionId`\" pulumi-lang-java=\"`distributionId`\"\u003e`distributionId`\u003c/span\u003e\".\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,\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 linked to the git instance.\n" + }, + "name": { + "type": "string", + "description": "Unique name linked to the git instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the distribution\n" + "description": "STACKIT project ID to which the git instance is associated.\n" }, - "status": { + "url": { "type": "string", - "description": "Status of the distribution\n" + "description": "Url linked to the git instance.\n" }, - "updatedAt": { + "version": { "type": "string", - "description": "Time when the distribution was last updated\n" + "description": "Version linked to the git instance.\n" } }, "type": "object", "required": [ - "config", - "createdAt", - "distributionId", - "domains", - "errors", + "acls", + "consumedDisk", + "consumedObjectStorage", + "created", + "flavor", "id", + "instanceId", + "name", "projectId", - "status", - "updatedAt" + "url", + "version" ] } }, - "stackit:index/getDnsRecordSet:getDnsRecordSet": { - "description": "DNS Record Set Resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_dns_record_set\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n zone_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n record_set_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getIaasProject:getIaasProject": { + "description": "Project details. 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_iaas_project\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getDnsRecordSet.\n", + "description": "A collection of arguments for invoking getIaasProject.\n", "properties": { "projectId": { "type": "string", - "description": "STACKIT project ID to which the dns record set is associated.\n" - }, - "recordSetId": { - "type": "string", - "description": "The rr set id.\n" - }, - "timeouts": { - "$ref": "#/types/stackit:index/getDnsRecordSetTimeouts:getDnsRecordSetTimeouts" - }, - "zoneId": { - "type": "string", - "description": "The zone ID to which is dns record set is associated.\n" + "description": "STACKIT project ID.\n" } }, "type": "object", "required": [ - "projectId", - "recordSetId", - "zoneId" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getDnsRecordSet.\n", + "description": "A collection of values returned by getIaasProject.\n", "properties": { - "active": { - "type": "boolean", - "description": "Specifies if the record set is active or not.\n" - }, - "comment": { - "type": "string", - "description": "Comment.\n" - }, - "error": { + "areaId": { "type": "string", - "description": "Error shows error in case create/update/delete failed.\n" + "description": "The area ID to which the project belongs to.\n" }, - "fqdn": { + "createdAt": { "type": "string", - "description": "Fully qualified domain name (FQDN) of the record set.\n" + "description": "Date-time when the project was created.\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=\"`zoneId`\" pulumi-lang-dotnet=\"`ZoneId`\" pulumi-lang-go=\"`zoneId`\" pulumi-lang-python=\"`zone_id`\" pulumi-lang-yaml=\"`zoneId`\" pulumi-lang-java=\"`zoneId`\"\u003e`zoneId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`recordSetId`\" pulumi-lang-dotnet=\"`RecordSetId`\" pulumi-lang-go=\"`recordSetId`\" pulumi-lang-python=\"`record_set_id`\" pulumi-lang-yaml=\"`recordSetId`\" pulumi-lang-java=\"`recordSetId`\"\u003e`recordSetId`\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\".\n" }, - "name": { - "type": "string", - "description": "Name of the record which should be a valid domain according to rfc1035 Section 2.3.4. E.g. `example.com`\n" + "internetAccess": { + "type": "boolean", + "description": "Specifies if the project has internet_access\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the dns record set is associated.\n" - }, - "recordSetId": { - "type": "string", - "description": "The rr set id.\n" - }, - "records": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Records.\n" + "description": "STACKIT project ID.\n" }, "state": { "type": "string", - "description": "Record set state.\n" - }, - "timeouts": { - "$ref": "#/types/stackit:index/getDnsRecordSetTimeouts:getDnsRecordSetTimeouts" - }, - "ttl": { - "type": "integer", - "description": "Time to live. E.g. 3600\n" + "description": "Specifies the status of the project.\n", + "deprecationMessage": "Deprecated: Will be removed in May 2026. Use the \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e field instead." }, - "type": { + "status": { "type": "string", - "description": "The record set type. E.g. `A` or `CNAME`\n" + "description": "Specifies the status of the project.\n" }, - "zoneId": { + "updatedAt": { "type": "string", - "description": "The zone ID to which is dns record set is associated.\n" + "description": "Date-time when the project was last updated.\n" } }, "type": "object", "required": [ - "active", - "comment", - "error", - "fqdn", + "areaId", + "createdAt", "id", - "name", + "internetAccess", "projectId", - "recordSetId", - "records", "state", - "ttl", - "type", - "zoneId" + "status", + "updatedAt" ] } }, - "stackit:index/getDnsZone:getDnsZone": { - "description": "DNS Zone resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_dns_zone\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n zone_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getImage:getImage": { + "description": "Image 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_image\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n image_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getDnsZone.\n", + "description": "A collection of arguments for invoking getImage.\n", "properties": { - "dnsName": { + "imageId": { "type": "string", - "description": "The zone name. E.g. `example.com` (must not end with a trailing dot).\n" + "description": "The image ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the dns zone is associated.\n" - }, - "timeouts": { - "$ref": "#/types/stackit:index/getDnsZoneTimeouts:getDnsZoneTimeouts" + "description": "STACKIT project ID to which the image is associated.\n" }, - "zoneId": { + "region": { "type": "string", - "description": "The zone ID.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "imageId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getDnsZone.\n", + "description": "A collection of values returned by getImage.\n", "properties": { - "acl": { - "type": "string", - "description": "The access control list.\n" - }, - "active": { - "type": "boolean" - }, - "contactEmail": { - "type": "string", - "description": "A contact e-mail for the zone.\n" - }, - "defaultTtl": { - "type": "integer", - "description": "Default time to live.\n" + "checksum": { + "$ref": "#/types/stackit:index/getImageChecksum:getImageChecksum", + "description": "Representation of an image checksum.\n" }, - "description": { - "type": "string", - "description": "Description of the zone.\n" + "config": { + "$ref": "#/types/stackit:index/getImageConfig:getImageConfig", + "description": "Properties to set hardware and scheduling settings for an image.\n" }, - "dnsName": { + "diskFormat": { "type": "string", - "description": "The zone name. E.g. `example.com` (must not end with a trailing dot).\n" - }, - "expireTime": { - "type": "integer", - "description": "Expire time.\n" + "description": "The disk format of the image.\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=\"`zoneId`\" pulumi-lang-dotnet=\"`ZoneId`\" pulumi-lang-go=\"`zoneId`\" pulumi-lang-python=\"`zone_id`\" pulumi-lang-yaml=\"`zoneId`\" pulumi-lang-java=\"`zoneId`\"\u003e`zoneId`\u003c/span\u003e\".\n" - }, - "isReverseZone": { - "type": "boolean", - "description": "Specifies, if the zone is a reverse zone or not.\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=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`imageId`\u003c/span\u003e\".\n" }, - "name": { + "imageId": { "type": "string", - "description": "The user given name of the zone.\n" - }, - "negativeCache": { - "type": "integer", - "description": "Negative caching.\n" + "description": "The image ID.\n" }, - "primaries": { - "type": "array", - "items": { + "labels": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "Primary name server for secondary zone.\n" - }, - "primaryNameServer": { - "type": "string", - "description": "Primary name server. FQDN.\n" - }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the dns zone is associated.\n" - }, - "recordCount": { - "type": "integer", - "description": "Record count how many records are in the zone.\n" - }, - "refreshTime": { - "type": "integer", - "description": "Refresh time.\n" + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "retryTime": { + "minDiskSize": { "type": "integer", - "description": "Retry time.\n" + "description": "The minimum disk size of the image in GB.\n" }, - "serialNumber": { + "minRam": { "type": "integer", - "description": "Serial number.\n" + "description": "The minimum RAM of the image in MB.\n" }, - "state": { + "name": { "type": "string", - "description": "Zone state.\n" - }, - "timeouts": { - "$ref": "#/types/stackit:index/getDnsZoneTimeouts:getDnsZoneTimeouts" + "description": "The name of the image.\n" }, - "type": { + "projectId": { "type": "string", - "description": "Zone type.\n" + "description": "STACKIT project ID to which the image is associated.\n" }, - "visibility": { + "protected": { + "type": "boolean", + "description": "Whether the image is protected.\n" + }, + "region": { "type": "string", - "description": "Visibility of the zone.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "zoneId": { + "scope": { "type": "string", - "description": "The zone ID.\n" + "description": "The scope of the image.\n" } }, "type": "object", "required": [ - "acl", - "active", - "contactEmail", - "defaultTtl", - "description", - "expireTime", + "checksum", + "config", + "diskFormat", "id", - "isReverseZone", + "imageId", + "labels", + "minDiskSize", + "minRam", "name", - "negativeCache", - "primaries", - "primaryNameServer", "projectId", - "recordCount", - "refreshTime", - "retryTime", - "serialNumber", - "state", - "type", - "visibility" + "protected", + "scope" ] } }, - "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", + "stackit:index/getImageV2:getImageV2": { + "description": "Image 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 Important: When using the \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, \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e attributes to select images dynamically, be aware that image IDs may change frequently. Each OS patch or update results in a new unique image ID. If this data source is used to populate fields like `boot_volume.source_id` in a server resource, it may cause Terraform to detect changes and recreate the associated resource.\n\nTo avoid unintended updates or resource replacements:\n - Prefer using a static \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`imageId`\u003c/span\u003e to pin a specific image version.\n - If you accept automatic image updates but wish to suppress resource changes, use a \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block to ignore relevant changes. For example:\n\n```hcl\nresource \"stackit_server\" \"example\" {\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = data.stackit_image.latest.id\n }\n\n lifecycle {\n ignore_changes = [boot_volume[0].source_id]\n }\n}\n```\n\nYou can also list available images using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n\n```bash\nstackit image list\n```\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_image_v2\" \"default\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n image_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\ndata \"stackit_image_v2\" \"name_match\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"Ubuntu 22.04\"\n}\n\ndata \"stackit_image_v2\" \"name_regex_latest\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name_regex = \"^Ubuntu .*\"\n}\n\ndata \"stackit_image_v2\" \"name_regex_oldest\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name_regex = \"^Ubuntu .*\"\n sort_ascending = true\n}\n\ndata \"stackit_image_v2\" \"filter_distro_version\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = {\n distro = \"debian\"\n version = \"11\"\n }\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getDremioInstance.\n", + "description": "A collection of arguments for invoking getImageV2.\n", "properties": { - "description": { + "filter": { + "$ref": "#/types/stackit:index/getImageV2Filter:getImageV2Filter", + "description": "Additional filtering options based on image properties. Can be used independently or in conjunction with \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 or \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\n" + }, + "imageId": { "type": "string", - "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + "description": "Image ID to fetch directly\n" }, - "instanceId": { + "name": { "type": "string", - "description": "The Dremio instance ID.\n" + "description": "Exact image name to match. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\n" + }, + "nameRegex": { + "type": "string", + "description": "Regular expression to match against image names. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \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" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the resource is associated.\n" + "description": "STACKIT project ID to which the image 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" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "sortAscending": { + "type": "boolean", + "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).\n" } }, "type": "object", "required": [ - "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getDremioInstance.\n", + "description": "A collection of values returned by getImageV2.\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" + "checksum": { + "$ref": "#/types/stackit:index/getImageV2Checksum:getImageV2Checksum", + "description": "Representation of an image checksum.\n" }, - "description": { - "type": "string", - "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + "config": { + "$ref": "#/types/stackit:index/getImageV2Config:getImageV2Config", + "description": "Properties to set hardware and scheduling settings for an image.\n" }, - "displayName": { + "diskFormat": { "type": "string", - "description": "The display name is a short name chosen by the user to identify the resource.\n" + "description": "The disk format of the image.\n" }, - "endpoints": { - "$ref": "#/types/stackit:index/getDremioInstanceEndpoints:getDremioInstanceEndpoints", - "description": "The available endpoints of the Dremio instance.\n" + "filter": { + "$ref": "#/types/stackit:index/getImageV2Filter:getImageV2Filter", + "description": "Additional filtering options based on image properties. Can be used independently or in conjunction with \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 or \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\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" + "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=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`imageId`\u003c/span\u003e\".\n" }, - "instanceId": { + "imageId": { "type": "string", - "description": "The Dremio instance ID.\n" + "description": "Image ID to fetch directly\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "minDiskSize": { + "type": "integer", + "description": "The minimum disk size of the image in GB.\n" + }, + "minRam": { + "type": "integer", + "description": "The minimum RAM of the image in MB.\n" + }, + "name": { + "type": "string", + "description": "Exact image name to match. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\n" + }, + "nameRegex": { + "type": "string", + "description": "Regular expression to match against image names. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \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" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the resource is associated.\n" + "description": "STACKIT project ID to which the image is associated.\n" + }, + "protected": { + "type": "boolean", + "description": "Whether the image is protected.\n" }, "region": { "type": "string", - "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "scope": { + "type": "string", + "description": "The scope of the image.\n" + }, + "sortAscending": { + "type": "boolean", + "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).\n" } }, "type": "object", "required": [ - "authentication", - "description", - "displayName", - "endpoints", + "checksum", + "config", + "diskFormat", "id", - "instanceId", - "projectId" + "labels", + "minDiskSize", + "minRam", + "projectId", + "protected", + "scope" ] } }, - "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", + "stackit:index/getIntakeRunner:getIntakeRunner": { + "description": "Datasource for STACKIT Intake Runner.\n\n## Example Usage\n\n```terraform\ndata \"stackit_intake_runner\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n runner_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getDremioUser.\n", + "description": "A collection of arguments for invoking getIntakeRunner.\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" + "description": "STACKIT Project ID to which the runner 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" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "userId": { + "runnerId": { "type": "string", - "description": "The Dremio user ID.\n" + "description": "The runner ID.\n" } }, "type": "object", "required": [ - "instanceId", "projectId", - "userId" + "runnerId" ] }, "outputs": { - "description": "A collection of values returned by getDremioUser.\n", + "description": "A collection of values returned by getIntakeRunner.\n", "properties": { - "description": { - "type": "string", - "description": "The description of the user.\n" - }, - "email": { + "createTime": { "type": "string", - "description": "The email address of the user.\n" + "description": "The creation time of the runner.\n" }, - "firstName": { + "description": { "type": "string", - "description": "The first name of the user.\n" + "description": "The description of the runner.\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" + "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=\"`runnerId`\" pulumi-lang-dotnet=\"`RunnerId`\" pulumi-lang-go=\"`runnerId`\" pulumi-lang-python=\"`runner_id`\" pulumi-lang-yaml=\"`runnerId`\" pulumi-lang-java=\"`runnerId`\"\u003e`runnerId`\u003c/span\u003e\".\n" }, - "instanceId": { - "type": "string", - "description": "The Dremio instance ID.\n" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "User-defined labels.\n" }, - "lastName": { - "type": "string", - "description": "The last name of the user.\n" + "maxMessageSizeKib": { + "type": "integer", + "description": "The maximum message size in KiB.\n" + }, + "maxMessagesPerHour": { + "type": "integer", + "description": "The maximum number of messages per hour.\n" }, "name": { "type": "string", - "description": "The username of the user.\n" + "description": "The name of the runner.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the resource is associated.\n" + "description": "STACKIT Project ID to which the runner 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" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "userId": { + "runnerId": { "type": "string", - "description": "The Dremio user ID.\n" + "description": "The runner ID.\n" + }, + "uri": { + "type": "string", + "description": "The URI of the runner.\n" } }, "type": "object", "required": [ + "createTime", "description", - "email", - "firstName", "id", - "instanceId", - "lastName", + "labels", + "maxMessageSizeKib", + "maxMessagesPerHour", "name", "projectId", - "userId" + "runnerId", + "uri" ] } }, - "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", + "stackit:index/getKeyPair:getKeyPair": { + "description": "Key pair resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_key_pair\" \"example\" {\n name = \"example-key-pair-name\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getEdgecloudInstances.\n", + "description": "A collection of arguments for invoking getKeyPair.\n", "properties": { - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the Edge Cloud instances are associated.\n" - }, - "region": { + "name": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The name of the SSH key pair.\n" } }, "type": "object", "required": [ - "projectId" + "name" ] }, "outputs": { - "description": "A collection of values returned by getEdgecloudInstances.\n", + "description": "A collection of values returned by getKeyPair.\n", "properties": { + "fingerprint": { + "type": "string", + "description": "The fingerprint of the public SSH key.\n" + }, "id": { "type": "string", - "description": "Terraform's internal data source 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=\"`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 ID. It takes the value of the key pair \"\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" }, - "instances": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getEdgecloudInstancesInstance:getEdgecloudInstancesInstance" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" }, - "description": "A list of Edge Cloud instances.\n" + "description": "Labels are key-value string pairs which can be attached to a resource container.\n" }, - "projectId": { + "name": { "type": "string", - "description": "STACKIT project ID to which the Edge Cloud instances are associated.\n" + "description": "The name of the SSH key pair.\n" }, - "region": { + "publicKey": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "A string representation of the public SSH key. E.g., `ssh-rsa \u003ckey_data\u003e` or `ssh-ed25519 \u003ckey-data\u003e`.\n" } }, "type": "object", "required": [ + "fingerprint", "id", - "instances", - "projectId" + "labels", + "name", + "publicKey" ] } }, - "stackit:index/getEdgecloudPlans:getEdgecloudPlans": { - "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_edgecloud_plans\" \"this\" {\n project_id = var.project_id\n}\n```\n", + "stackit:index/getKmsKey:getKmsKey": { + "description": "KMS Key datasource 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_kms_key\" \"key\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n keyring_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n key_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getEdgecloudPlans.\n", + "description": "A collection of arguments for invoking getKmsKey.\n", "properties": { + "keyId": { + "type": "string", + "description": "The ID of the key\n" + }, + "keyringId": { + "type": "string", + "description": "The ID of the associated key ring\n" + }, "projectId": { "type": "string", - "description": "STACKIT project ID the Plans belongs to.\n" + "description": "STACKIT project ID to which the key is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "keyId", + "keyringId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getEdgecloudPlans.\n", + "description": "A collection of values returned by getKmsKey.\n", "properties": { + "accessScope": { + "type": "string", + "description": "The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.\n" + }, + "algorithm": { + "type": "string", + "description": "The encryption algorithm that the key will use to encrypt data. Possible values are: \u003cspan pulumi-lang-nodejs=\"`aes256Gcm`\" pulumi-lang-dotnet=\"`Aes256Gcm`\" pulumi-lang-go=\"`aes256Gcm`\" pulumi-lang-python=\"`aes_256_gcm`\" pulumi-lang-yaml=\"`aes256Gcm`\" pulumi-lang-java=\"`aes256Gcm`\"\u003e`aes256Gcm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa2048OaepSha256`\" pulumi-lang-dotnet=\"`Rsa2048OaepSha256`\" pulumi-lang-go=\"`rsa2048OaepSha256`\" pulumi-lang-python=\"`rsa_2048_oaep_sha256`\" pulumi-lang-yaml=\"`rsa2048OaepSha256`\" pulumi-lang-java=\"`rsa2048OaepSha256`\"\u003e`rsa2048OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa3072OaepSha256`\" pulumi-lang-dotnet=\"`Rsa3072OaepSha256`\" pulumi-lang-go=\"`rsa3072OaepSha256`\" pulumi-lang-python=\"`rsa_3072_oaep_sha256`\" pulumi-lang-yaml=\"`rsa3072OaepSha256`\" pulumi-lang-java=\"`rsa3072OaepSha256`\"\u003e`rsa3072OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha256`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha256`\" pulumi-lang-go=\"`rsa4096OaepSha256`\" pulumi-lang-python=\"`rsa_4096_oaep_sha256`\" pulumi-lang-yaml=\"`rsa4096OaepSha256`\" pulumi-lang-java=\"`rsa4096OaepSha256`\"\u003e`rsa4096OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha512`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha512`\" pulumi-lang-go=\"`rsa4096OaepSha512`\" pulumi-lang-python=\"`rsa_4096_oaep_sha512`\" pulumi-lang-yaml=\"`rsa4096OaepSha512`\" pulumi-lang-java=\"`rsa4096OaepSha512`\"\u003e`rsa4096OaepSha512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hmacSha256`\" pulumi-lang-dotnet=\"`HmacSha256`\" pulumi-lang-go=\"`hmacSha256`\" pulumi-lang-python=\"`hmac_sha256`\" pulumi-lang-yaml=\"`hmacSha256`\" pulumi-lang-java=\"`hmacSha256`\"\u003e`hmacSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hmacSha384`\" pulumi-lang-dotnet=\"`HmacSha384`\" pulumi-lang-go=\"`hmacSha384`\" pulumi-lang-python=\"`hmac_sha384`\" pulumi-lang-yaml=\"`hmacSha384`\" pulumi-lang-java=\"`hmacSha384`\"\u003e`hmacSha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hmacSha512`\" pulumi-lang-dotnet=\"`HmacSha512`\" pulumi-lang-go=\"`hmacSha512`\" pulumi-lang-python=\"`hmac_sha512`\" pulumi-lang-yaml=\"`hmacSha512`\" pulumi-lang-java=\"`hmacSha512`\"\u003e`hmacSha512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecdsaP256Sha256`\" pulumi-lang-dotnet=\"`EcdsaP256Sha256`\" pulumi-lang-go=\"`ecdsaP256Sha256`\" pulumi-lang-python=\"`ecdsa_p256_sha256`\" pulumi-lang-yaml=\"`ecdsaP256Sha256`\" pulumi-lang-java=\"`ecdsaP256Sha256`\"\u003e`ecdsaP256Sha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecdsaP384Sha384`\" pulumi-lang-dotnet=\"`EcdsaP384Sha384`\" pulumi-lang-go=\"`ecdsaP384Sha384`\" pulumi-lang-python=\"`ecdsa_p384_sha384`\" pulumi-lang-yaml=\"`ecdsaP384Sha384`\" pulumi-lang-java=\"`ecdsaP384Sha384`\"\u003e`ecdsaP384Sha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecdsaP521Sha512`\" pulumi-lang-dotnet=\"`EcdsaP521Sha512`\" pulumi-lang-go=\"`ecdsaP521Sha512`\" pulumi-lang-python=\"`ecdsa_p521_sha512`\" pulumi-lang-yaml=\"`ecdsaP521Sha512`\" pulumi-lang-java=\"`ecdsaP521Sha512`\"\u003e`ecdsaP521Sha512`\u003c/span\u003e.\n" + }, + "description": { + "type": "string", + "description": "A user chosen description to distinguish multiple keys\n" + }, + "displayName": { + "type": "string", + "description": "The display name to distinguish multiple keys\n" + }, "id": { "type": "string", - "description": "Terraform's internal data source ID, \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 is used here.\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=\"`keyringId`\" pulumi-lang-dotnet=\"`KeyringId`\" pulumi-lang-go=\"`keyringId`\" pulumi-lang-python=\"`keyring_id`\" pulumi-lang-yaml=\"`keyringId`\" pulumi-lang-java=\"`keyringId`\"\u003e`keyringId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`keyId`\u003c/span\u003e\".\n" }, - "plans": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getEdgecloudPlansPlan:getEdgecloudPlansPlan" - }, - "description": "A list of Edge Cloud Plans.\n" + "importOnly": { + "type": "boolean", + "description": "States whether versions can be created or only imported.\n" + }, + "keyId": { + "type": "string", + "description": "The ID of the key\n" + }, + "keyringId": { + "type": "string", + "description": "The ID of the associated key ring\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID the Plans belongs to.\n" + "description": "STACKIT project ID to which the key is associated.\n" + }, + "protection": { + "type": "string", + "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e.\n" + }, + "purpose": { + "type": "string", + "description": "The purpose for which the key will be used. Possible values are: \u003cspan pulumi-lang-nodejs=\"`symmetricEncryptDecrypt`\" pulumi-lang-dotnet=\"`SymmetricEncryptDecrypt`\" pulumi-lang-go=\"`symmetricEncryptDecrypt`\" pulumi-lang-python=\"`symmetric_encrypt_decrypt`\" pulumi-lang-yaml=\"`symmetricEncryptDecrypt`\" pulumi-lang-java=\"`symmetricEncryptDecrypt`\"\u003e`symmetricEncryptDecrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`asymmetricEncryptDecrypt`\" pulumi-lang-dotnet=\"`AsymmetricEncryptDecrypt`\" pulumi-lang-go=\"`asymmetricEncryptDecrypt`\" pulumi-lang-python=\"`asymmetric_encrypt_decrypt`\" pulumi-lang-yaml=\"`asymmetricEncryptDecrypt`\" pulumi-lang-java=\"`asymmetricEncryptDecrypt`\"\u003e`asymmetricEncryptDecrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`messageAuthenticationCode`\" pulumi-lang-dotnet=\"`MessageAuthenticationCode`\" pulumi-lang-go=\"`messageAuthenticationCode`\" pulumi-lang-python=\"`message_authentication_code`\" pulumi-lang-yaml=\"`messageAuthenticationCode`\" pulumi-lang-java=\"`messageAuthenticationCode`\"\u003e`messageAuthenticationCode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`asymmetricSignVerify`\" pulumi-lang-dotnet=\"`AsymmetricSignVerify`\" pulumi-lang-go=\"`asymmetricSignVerify`\" pulumi-lang-python=\"`asymmetric_sign_verify`\" pulumi-lang-yaml=\"`asymmetricSignVerify`\" pulumi-lang-java=\"`asymmetricSignVerify`\"\u003e`asymmetricSignVerify`\u003c/span\u003e.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "accessScope", + "algorithm", + "description", + "displayName", "id", - "plans", - "projectId" + "importOnly", + "keyId", + "keyringId", + "projectId", + "protection", + "purpose", + "region" ] } }, - "stackit:index/getGit:getGit": { - "description": "Git Instance datasource schema.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getKmsKeyring:getKmsKeyring": { + "description": "KMS Keyring datasource 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_kms_keyring\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n keyring_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getGit.\n", - "properties": { - "instanceId": { - "type": "string", - "description": "ID linked to the git instance.\n" - }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the git instance is associated.\n" - } - }, - "type": "object", - "required": [ - "instanceId", - "projectId" - ] - }, - "outputs": { - "description": "A collection of values returned by getGit.\n", + "description": "A collection of arguments for invoking getKmsKeyring.\n", "properties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Restricted ACL for instance access.\n" - }, - "consumedDisk": { - "type": "string", - "description": "How many bytes of disk space is consumed.\n" - }, - "consumedObjectStorage": { - "type": "string", - "description": "How many bytes of Object Storage is consumed.\n" - }, - "created": { + "keyringId": { "type": "string", - "description": "Instance creation timestamp in RFC3339 format.\n" + "description": "An auto generated unique id which identifies the keyring.\n" }, - "flavor": { + "projectId": { "type": "string", - "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" + "description": "STACKIT project ID to which the keyring 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,\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 resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "keyringId", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getKmsKeyring.\n", + "properties": { + "description": { + "type": "string", + "description": "A user chosen description to distinguish multiple keyrings.\n" }, - "instanceId": { + "displayName": { "type": "string", - "description": "ID linked to the git instance.\n" + "description": "The display name to distinguish multiple keyrings.\n" }, - "name": { + "id": { "type": "string", - "description": "Unique name linked to the git instance.\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=\"`keyringId`\" pulumi-lang-dotnet=\"`KeyringId`\" pulumi-lang-go=\"`keyringId`\" pulumi-lang-python=\"`keyring_id`\" pulumi-lang-yaml=\"`keyringId`\" pulumi-lang-java=\"`keyringId`\"\u003e`keyringId`\u003c/span\u003e\".\n" }, - "projectId": { + "keyringId": { "type": "string", - "description": "STACKIT project ID to which the git instance is associated.\n" + "description": "An auto generated unique id which identifies the keyring.\n" }, - "url": { + "projectId": { "type": "string", - "description": "Url linked to the git instance.\n" + "description": "STACKIT project ID to which the keyring is associated.\n" }, - "version": { + "region": { "type": "string", - "description": "Version linked to the git instance.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "acls", - "consumedDisk", - "consumedObjectStorage", - "created", - "flavor", + "description", + "displayName", "id", - "instanceId", - "name", + "keyringId", "projectId", - "url", - "version" + "region" ] } }, - "stackit:index/getIaasProject:getIaasProject": { - "description": "Project details. 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_iaas_project\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getKmsWrappingKey:getKmsWrappingKey": { + "description": "KMS wrapping key datasource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_kms_wrapping_key\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n keyring_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n wrapping_key_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getIaasProject.\n", + "description": "A collection of arguments for invoking getKmsWrappingKey.\n", "properties": { + "keyringId": { + "type": "string", + "description": "The ID of the associated keyring\n" + }, "projectId": { "type": "string", - "description": "STACKIT project ID.\n" + "description": "STACKIT project ID to which the keyring is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "wrappingKeyId": { + "type": "string", + "description": "The ID of the wrapping key\n" } }, "type": "object", "required": [ - "projectId" + "keyringId", + "projectId", + "wrappingKeyId" ] }, "outputs": { - "description": "A collection of values returned by getIaasProject.\n", + "description": "A collection of values returned by getKmsWrappingKey.\n", "properties": { - "areaId": { + "accessScope": { "type": "string", - "description": "The area ID to which the project belongs to.\n" + "description": "The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.\n" + }, + "algorithm": { + "type": "string", + "description": "The wrapping algorithm used to wrap the key to import. Possible values are: \u003cspan pulumi-lang-nodejs=\"`rsa2048OaepSha256`\" pulumi-lang-dotnet=\"`Rsa2048OaepSha256`\" pulumi-lang-go=\"`rsa2048OaepSha256`\" pulumi-lang-python=\"`rsa_2048_oaep_sha256`\" pulumi-lang-yaml=\"`rsa2048OaepSha256`\" pulumi-lang-java=\"`rsa2048OaepSha256`\"\u003e`rsa2048OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa3072OaepSha256`\" pulumi-lang-dotnet=\"`Rsa3072OaepSha256`\" pulumi-lang-go=\"`rsa3072OaepSha256`\" pulumi-lang-python=\"`rsa_3072_oaep_sha256`\" pulumi-lang-yaml=\"`rsa3072OaepSha256`\" pulumi-lang-java=\"`rsa3072OaepSha256`\"\u003e`rsa3072OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha256`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha256`\" pulumi-lang-go=\"`rsa4096OaepSha256`\" pulumi-lang-python=\"`rsa_4096_oaep_sha256`\" pulumi-lang-yaml=\"`rsa4096OaepSha256`\" pulumi-lang-java=\"`rsa4096OaepSha256`\"\u003e`rsa4096OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha512`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha512`\" pulumi-lang-go=\"`rsa4096OaepSha512`\" pulumi-lang-python=\"`rsa_4096_oaep_sha512`\" pulumi-lang-yaml=\"`rsa4096OaepSha512`\" pulumi-lang-java=\"`rsa4096OaepSha512`\"\u003e`rsa4096OaepSha512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-go=\"`rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_2048_oaep_sha256_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-java=\"`rsa2048OaepSha256Aes256KeyWrap`\"\u003e`rsa2048OaepSha256Aes256KeyWrap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-go=\"`rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_3072_oaep_sha256_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-java=\"`rsa3072OaepSha256Aes256KeyWrap`\"\u003e`rsa3072OaepSha256Aes256KeyWrap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-go=\"`rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_4096_oaep_sha256_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-java=\"`rsa4096OaepSha256Aes256KeyWrap`\"\u003e`rsa4096OaepSha256Aes256KeyWrap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-go=\"`rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_4096_oaep_sha512_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-java=\"`rsa4096OaepSha512Aes256KeyWrap`\"\u003e`rsa4096OaepSha512Aes256KeyWrap`\u003c/span\u003e.\n" }, "createdAt": { "type": "string", - "description": "Date-time when the project was created.\n" + "description": "The date and time the creation of the wrapping key was triggered.\n" + }, + "description": { + "type": "string", + "description": "A user chosen description to distinguish multiple wrapping keys.\n" + }, + "displayName": { + "type": "string", + "description": "The display name to distinguish multiple wrapping keys.\n" + }, + "expiresAt": { + "type": "string", + "description": "The date and time the wrapping key will expire.\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\".\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=\"`keyringId`\" pulumi-lang-dotnet=\"`KeyringId`\" pulumi-lang-go=\"`keyringId`\" pulumi-lang-python=\"`keyring_id`\" pulumi-lang-yaml=\"`keyringId`\" pulumi-lang-java=\"`keyringId`\"\u003e`keyringId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`wrappingKeyId`\" pulumi-lang-dotnet=\"`WrappingKeyId`\" pulumi-lang-go=\"`wrappingKeyId`\" pulumi-lang-python=\"`wrapping_key_id`\" pulumi-lang-yaml=\"`wrappingKeyId`\" pulumi-lang-java=\"`wrappingKeyId`\"\u003e`wrappingKeyId`\u003c/span\u003e\".\n" }, - "internetAccess": { - "type": "boolean", - "description": "Specifies if the project has internet_access\n" + "keyringId": { + "type": "string", + "description": "The ID of the associated keyring\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID.\n" + "description": "STACKIT project ID to which the keyring is associated.\n" }, - "state": { + "protection": { "type": "string", - "description": "Specifies the status of the project.\n", - "deprecationMessage": "Deprecated: Will be removed in May 2026. Use the \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e field instead." + "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e.\n" }, - "status": { + "publicKey": { "type": "string", - "description": "Specifies the status of the project.\n" + "description": "The public key of the wrapping key.\n" }, - "updatedAt": { + "purpose": { "type": "string", - "description": "Date-time when the project was last updated.\n" + "description": "The purpose for which the key will be used. Possible values are: \u003cspan pulumi-lang-nodejs=\"`wrapSymmetricKey`\" pulumi-lang-dotnet=\"`WrapSymmetricKey`\" pulumi-lang-go=\"`wrapSymmetricKey`\" pulumi-lang-python=\"`wrap_symmetric_key`\" pulumi-lang-yaml=\"`wrapSymmetricKey`\" pulumi-lang-java=\"`wrapSymmetricKey`\"\u003e`wrapSymmetricKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wrapAsymmetricKey`\" pulumi-lang-dotnet=\"`WrapAsymmetricKey`\" pulumi-lang-go=\"`wrapAsymmetricKey`\" pulumi-lang-python=\"`wrap_asymmetric_key`\" pulumi-lang-yaml=\"`wrapAsymmetricKey`\" pulumi-lang-java=\"`wrapAsymmetricKey`\"\u003e`wrapAsymmetricKey`\u003c/span\u003e.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "wrappingKeyId": { + "type": "string", + "description": "The ID of the wrapping key\n" } }, "type": "object", "required": [ - "areaId", + "accessScope", + "algorithm", "createdAt", + "description", + "displayName", + "expiresAt", "id", - "internetAccess", + "keyringId", "projectId", - "state", - "status", - "updatedAt" + "protection", + "publicKey", + "purpose", + "region", + "wrappingKeyId" ] } }, - "stackit:index/getImage:getImage": { - "description": "Image 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_image\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n image_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getLoadbalancer:getLoadbalancer": { + "description": "Load Balancer 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_loadbalancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getImage.\n", + "description": "A collection of arguments for invoking getLoadbalancer.\n", "properties": { - "imageId": { + "name": { "type": "string", - "description": "The image ID.\n" + "description": "Load balancer name.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the image is associated.\n" + "description": "STACKIT project ID to which the Load Balancer is associated.\n" }, "region": { "type": "string", @@ -24664,1379 +26122,1427 @@ }, "type": "object", "required": [ - "imageId", + "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getImage.\n", + "description": "A collection of values returned by getLoadbalancer.\n", "properties": { - "checksum": { - "$ref": "#/types/stackit:index/getImageChecksum:getImageChecksum", - "description": "Representation of an image checksum.\n" - }, - "config": { - "$ref": "#/types/stackit:index/getImageConfig:getImageConfig", - "description": "Properties to set hardware and scheduling settings for an image.\n" + "disableSecurityGroupAssignment": { + "type": "boolean", + "description": "If set to true, this will disable the automatic assignment of a security group to the load balancer's targets. This option is primarily used to allow targets that are not within the load balancer's own network or SNA (STACKIT Network area). When this is enabled, you are fully responsible for ensuring network connectivity to the targets, including managing all routing and security group rules manually. This setting cannot be changed after the load balancer is created.\n" }, - "diskFormat": { + "externalAddress": { "type": "string", - "description": "The disk format of the image.\n" + "description": "External Load Balancer IP address where this Load Balancer is exposed.\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=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`imageId`\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\",\"region\",\"\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" }, - "imageId": { + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getLoadbalancerListener:getLoadbalancerListener" + }, + "description": "List of all listeners which will accept traffic. Limited to 20.\n" + }, + "loadBalancerSecurityGroupId": { "type": "string", - "description": "The image ID.\n" + "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n" }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" + "name": { + "type": "string", + "description": "Load balancer name.\n" + }, + "networks": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getLoadbalancerNetwork:getLoadbalancerNetwork" }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" + "description": "List of networks that listeners and targets reside in.\n" }, - "minDiskSize": { - "type": "integer", - "description": "The minimum disk size of the image in GB.\n" + "options": { + "$ref": "#/types/stackit:index/getLoadbalancerOptions:getLoadbalancerOptions", + "description": "Defines any optional functionality you want to have enabled on your load balancer.\n" }, - "minRam": { - "type": "integer", - "description": "The minimum RAM of the image in MB.\n" + "planId": { + "type": "string", + "description": "The service plan ID. If not defined, the default service plan is \u003cspan pulumi-lang-nodejs=\"`p10`\" pulumi-lang-dotnet=\"`P10`\" pulumi-lang-go=\"`p10`\" pulumi-lang-python=\"`p10`\" pulumi-lang-yaml=\"`p10`\" pulumi-lang-java=\"`p10`\"\u003e`p10`\u003c/span\u003e. Possible values are: \u003cspan pulumi-lang-nodejs=\"`p10`\" pulumi-lang-dotnet=\"`P10`\" pulumi-lang-go=\"`p10`\" pulumi-lang-python=\"`p10`\" pulumi-lang-yaml=\"`p10`\" pulumi-lang-java=\"`p10`\"\u003e`p10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p50`\" pulumi-lang-dotnet=\"`P50`\" pulumi-lang-go=\"`p50`\" pulumi-lang-python=\"`p50`\" pulumi-lang-yaml=\"`p50`\" pulumi-lang-java=\"`p50`\"\u003e`p50`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p250`\" pulumi-lang-dotnet=\"`P250`\" pulumi-lang-go=\"`p250`\" pulumi-lang-python=\"`p250`\" pulumi-lang-yaml=\"`p250`\" pulumi-lang-java=\"`p250`\"\u003e`p250`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p750`\" pulumi-lang-dotnet=\"`P750`\" pulumi-lang-go=\"`p750`\" pulumi-lang-python=\"`p750`\" pulumi-lang-yaml=\"`p750`\" pulumi-lang-java=\"`p750`\"\u003e`p750`\u003c/span\u003e.\n" }, - "name": { + "privateAddress": { "type": "string", - "description": "The name of the image.\n" + "description": "Transient private Load Balancer IP address. It can change any time.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the image is associated.\n" - }, - "protected": { - "type": "boolean", - "description": "Whether the image is protected.\n" + "description": "STACKIT project ID to which the Load Balancer is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "scope": { + "securityGroupId": { "type": "string", - "description": "The scope of the image.\n" + "description": "The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.\n" + }, + "targetPools": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getLoadbalancerTargetPool:getLoadbalancerTargetPool" + }, + "description": "List of all target pools which will be used in the Load Balancer. Limited to 20.\n" + }, + "version": { + "type": "string", + "description": "Load balancer resource version.\n" } }, "type": "object", "required": [ - "checksum", - "config", - "diskFormat", - "id", - "imageId", - "labels", - "minDiskSize", - "minRam", + "disableSecurityGroupAssignment", + "externalAddress", + "id", + "listeners", + "loadBalancerSecurityGroupId", "name", + "networks", + "options", + "planId", + "privateAddress", "projectId", - "protected", - "scope" + "securityGroupId", + "targetPools", + "version" ] } }, - "stackit:index/getImageV2:getImageV2": { - "description": "Image 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 Important: When using the \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, \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e attributes to select images dynamically, be aware that image IDs may change frequently. Each OS patch or update results in a new unique image ID. If this data source is used to populate fields like `boot_volume.source_id` in a server resource, it may cause Terraform to detect changes and recreate the associated resource.\n\nTo avoid unintended updates or resource replacements:\n - Prefer using a static \u003cspan pulumi-lang-nodejs=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`imageId`\u003c/span\u003e to pin a specific image version.\n - If you accept automatic image updates but wish to suppress resource changes, use a \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e block to ignore relevant changes. For example:\n\n```hcl\nresource \"stackit_server\" \"example\" {\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = data.stackit_image.latest.id\n }\n\n lifecycle {\n ignore_changes = [boot_volume[0].source_id]\n }\n}\n```\n\nYou can also list available images using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n\n```bash\nstackit image list\n```\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_image_v2\" \"default\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n image_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\ndata \"stackit_image_v2\" \"name_match\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"Ubuntu 22.04\"\n}\n\ndata \"stackit_image_v2\" \"name_regex_latest\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name_regex = \"^Ubuntu .*\"\n}\n\ndata \"stackit_image_v2\" \"name_regex_oldest\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name_regex = \"^Ubuntu .*\"\n sort_ascending = true\n}\n\ndata \"stackit_image_v2\" \"filter_distro_version\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = {\n distro = \"debian\"\n version = \"11\"\n }\n}\n```\n", + "stackit:index/getLogmeCredential:getLogmeCredential": { + "description": "LogMe credential 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_logme_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getImageV2.\n", + "description": "A collection of arguments for invoking getLogmeCredential.\n", "properties": { - "filter": { - "$ref": "#/types/stackit:index/getImageV2Filter:getImageV2Filter", - "description": "Additional filtering options based on image properties. Can be used independently or in conjunction with \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 or \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\n" - }, - "imageId": { - "type": "string", - "description": "Image ID to fetch directly\n" - }, - "name": { + "credentialId": { "type": "string", - "description": "Exact image name to match. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\n" + "description": "The credential's ID.\n" }, - "nameRegex": { + "instanceId": { "type": "string", - "description": "Regular expression to match against image names. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \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" + "description": "ID of the LogMe instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the image is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "sortAscending": { - "type": "boolean", - "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).\n" + "description": "STACKIT project ID to which the instance is associated.\n" } }, "type": "object", "required": [ + "credentialId", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getImageV2.\n", + "description": "A collection of values returned by getLogmeCredential.\n", "properties": { - "checksum": { - "$ref": "#/types/stackit:index/getImageV2Checksum:getImageV2Checksum", - "description": "Representation of an image checksum.\n" - }, - "config": { - "$ref": "#/types/stackit:index/getImageV2Config:getImageV2Config", - "description": "Properties to set hardware and scheduling settings for an image.\n" - }, - "diskFormat": { + "credentialId": { "type": "string", - "description": "The disk format of the image.\n" + "description": "The credential's ID.\n" }, - "filter": { - "$ref": "#/types/stackit:index/getImageV2Filter:getImageV2Filter", - "description": "Additional filtering options based on image properties. Can be used independently or in conjunction with \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 or \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\n" + "host": { + "type": "string" }, "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=\"`imageId`\" pulumi-lang-dotnet=\"`ImageId`\" pulumi-lang-go=\"`imageId`\" pulumi-lang-python=\"`image_id`\" pulumi-lang-yaml=\"`imageId`\" pulumi-lang-java=\"`imageId`\"\u003e`imageId`\u003c/span\u003e\".\n" + "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, - "imageId": { + "instanceId": { "type": "string", - "description": "Image ID to fetch directly\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" - }, - "minDiskSize": { - "type": "integer", - "description": "The minimum disk size of the image in GB.\n" - }, - "minRam": { - "type": "integer", - "description": "The minimum RAM of the image in MB.\n" + "description": "ID of the LogMe instance.\n" }, - "name": { + "password": { "type": "string", - "description": "Exact image name to match. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \u003cspan pulumi-lang-nodejs=\"`nameRegex`\" pulumi-lang-dotnet=\"`NameRegex`\" pulumi-lang-go=\"`nameRegex`\" pulumi-lang-python=\"`name_regex`\" pulumi-lang-yaml=\"`nameRegex`\" pulumi-lang-java=\"`nameRegex`\"\u003e`nameRegex`\u003c/span\u003e.\n" + "secret": true }, - "nameRegex": { - "type": "string", - "description": "Regular expression to match against image names. Optionally applies a \u003cspan pulumi-lang-nodejs=\"`filter`\" pulumi-lang-dotnet=\"`Filter`\" pulumi-lang-go=\"`filter`\" pulumi-lang-python=\"`filter`\" pulumi-lang-yaml=\"`filter`\" pulumi-lang-java=\"`filter`\"\u003e`filter`\u003c/span\u003e block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with \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" + "port": { + "type": "integer" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the image is associated.\n" - }, - "protected": { - "type": "boolean", - "description": "Whether the image is protected.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "scope": { + "uri": { "type": "string", - "description": "The scope of the image.\n" + "secret": true }, - "sortAscending": { - "type": "boolean", - "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).\n" + "username": { + "type": "string" } }, "type": "object", "required": [ - "checksum", - "config", - "diskFormat", + "credentialId", + "host", "id", - "labels", - "minDiskSize", - "minRam", + "instanceId", + "password", + "port", "projectId", - "protected", - "scope" + "uri", + "username" ] } }, - "stackit:index/getIntakeRunner:getIntakeRunner": { - "description": "Datasource for STACKIT Intake Runner.\n\n## Example Usage\n\n```terraform\ndata \"stackit_intake_runner\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n runner_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getLogmeInstance:getLogmeInstance": { + "description": "LogMe 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_logme_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 getIntakeRunner.\n", + "description": "A collection of arguments for invoking getLogmeInstance.\n", "properties": { - "projectId": { - "type": "string", - "description": "STACKIT Project ID to which the runner is associated.\n" - }, - "region": { + "instanceId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "ID of the LogMe instance.\n" }, - "runnerId": { + "projectId": { "type": "string", - "description": "The runner ID.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" } }, "type": "object", "required": [ - "projectId", - "runnerId" + "instanceId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getIntakeRunner.\n", + "description": "A collection of values returned by getLogmeInstance.\n", "properties": { - "createTime": { - "type": "string", - "description": "The creation time of the runner.\n" + "cfGuid": { + "type": "string" }, - "description": { - "type": "string", - "description": "The description of the runner.\n" + "cfOrganizationGuid": { + "type": "string" + }, + "cfSpaceGuid": { + "type": "string" + }, + "dashboardUrl": { + "type": "string" }, "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=\"`runnerId`\" pulumi-lang-dotnet=\"`RunnerId`\" pulumi-lang-go=\"`runnerId`\" pulumi-lang-python=\"`runner_id`\" pulumi-lang-yaml=\"`runnerId`\" pulumi-lang-java=\"`runnerId`\"\u003e`runnerId`\u003c/span\u003e\".\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "User-defined labels.\n" + "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=\"`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" }, - "maxMessageSizeKib": { - "type": "integer", - "description": "The maximum message size in KiB.\n" + "imageUrl": { + "type": "string" }, - "maxMessagesPerHour": { - "type": "integer", - "description": "The maximum number of messages per hour.\n" + "instanceId": { + "type": "string", + "description": "ID of the LogMe instance.\n" }, "name": { "type": "string", - "description": "The name of the runner.\n" + "description": "Instance name.\n" }, - "projectId": { + "parameters": { + "$ref": "#/types/stackit:index/getLogmeInstanceParameters:getLogmeInstanceParameters" + }, + "planId": { "type": "string", - "description": "STACKIT Project ID to which the runner is associated.\n" + "description": "The selected plan ID.\n" }, - "region": { + "planName": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The selected plan name.\n" }, - "runnerId": { + "projectId": { "type": "string", - "description": "The runner ID.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" }, - "uri": { + "version": { "type": "string", - "description": "The URI of the runner.\n" + "description": "The service version.\n" } }, "type": "object", "required": [ - "createTime", - "description", + "cfGuid", + "cfOrganizationGuid", + "cfSpaceGuid", + "dashboardUrl", "id", - "labels", - "maxMessageSizeKib", - "maxMessagesPerHour", + "imageUrl", + "instanceId", "name", + "parameters", + "planId", + "planName", "projectId", - "runnerId", - "uri" + "version" ] } }, - "stackit:index/getKeyPair:getKeyPair": { - "description": "Key pair resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_key_pair\" \"example\" {\n name = \"example-key-pair-name\"\n}\n```\n", + "stackit:index/getLogsAccessToken:getLogsAccessToken": { + "description": "Logs 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_logs_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 getKeyPair.\n", + "description": "A collection of arguments for invoking getLogsAccessToken.\n", "properties": { - "name": { + "accessTokenId": { "type": "string", - "description": "The name of the SSH key pair.\n" + "description": "The access token ID\n" + }, + "instanceId": { + "type": "string", + "description": "The Logs instance ID associated with the access token\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the Logs 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", "required": [ - "name" + "accessTokenId", + "instanceId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getKeyPair.\n", + "description": "A collection of values returned by getLogsAccessToken.\n", "properties": { - "fingerprint": { + "accessTokenId": { "type": "string", - "description": "The fingerprint of the public SSH key.\n" + "description": "The access token ID\n" + }, + "creator": { + "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" + }, + "expires": { + "type": "boolean", + "description": "Indicates if the access token can expire\n" }, "id": { "type": "string", - "description": "Terraform's internal resource ID. It takes the value of the key pair \"\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" + "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" }, - "labels": { - "type": "object", - "additionalProperties": { + "instanceId": { + "type": "string", + "description": "The Logs instance ID associated with the access token\n" + }, + "permissions": { + "type": "array", + "items": { "type": "string" }, - "description": "Labels are key-value string pairs which can be attached to a resource container.\n" + "description": "The access permissions granted to the access token. Possible values: \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, \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e.\n" }, - "name": { + "projectId": { "type": "string", - "description": "The name of the SSH key pair.\n" + "description": "STACKIT project ID associated with the Logs access token\n" }, - "publicKey": { + "region": { "type": "string", - "description": "A string representation of the public SSH key. E.g., `ssh-rsa \u003ckey_data\u003e` or `ssh-ed25519 \u003ckey-data\u003e`.\n" + "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" + }, + "validUntil": { + "type": "string", + "description": "The date and time until an access token is valid to (inclusively)\n" } }, "type": "object", "required": [ - "fingerprint", + "accessTokenId", + "creator", + "description", + "displayName", + "expires", "id", - "labels", - "name", - "publicKey" + "instanceId", + "permissions", + "projectId", + "status", + "validUntil" ] } }, - "stackit:index/getKmsKey:getKmsKey": { - "description": "KMS Key datasource 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_kms_key\" \"key\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n keyring_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n key_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getLogsInstance:getLogsInstance": { + "description": "Logs 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_logs_instance\" \"logs\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getKmsKey.\n", + "description": "A collection of arguments for invoking getLogsInstance.\n", "properties": { - "keyId": { - "type": "string", - "description": "The ID of the key\n" - }, - "keyringId": { + "instanceId": { "type": "string", - "description": "The ID of the associated key ring\n" + "description": "The Logs instance ID\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the key is associated.\n" + "description": "STACKIT project ID associated with the Logs 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": [ - "keyId", - "keyringId", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getKmsKey.\n", + "description": "A collection of values returned by getLogsInstance.\n", "properties": { - "accessScope": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The access control list entries for the Logs instance\n" + }, + "created": { "type": "string", - "description": "The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.\n" + "description": "The date and time the creation of the Logs instance was initiated\n" }, - "algorithm": { + "datasourceUrl": { "type": "string", - "description": "The encryption algorithm that the key will use to encrypt data. Possible values are: \u003cspan pulumi-lang-nodejs=\"`aes256Gcm`\" pulumi-lang-dotnet=\"`Aes256Gcm`\" pulumi-lang-go=\"`aes256Gcm`\" pulumi-lang-python=\"`aes_256_gcm`\" pulumi-lang-yaml=\"`aes256Gcm`\" pulumi-lang-java=\"`aes256Gcm`\"\u003e`aes256Gcm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa2048OaepSha256`\" pulumi-lang-dotnet=\"`Rsa2048OaepSha256`\" pulumi-lang-go=\"`rsa2048OaepSha256`\" pulumi-lang-python=\"`rsa_2048_oaep_sha256`\" pulumi-lang-yaml=\"`rsa2048OaepSha256`\" pulumi-lang-java=\"`rsa2048OaepSha256`\"\u003e`rsa2048OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa3072OaepSha256`\" pulumi-lang-dotnet=\"`Rsa3072OaepSha256`\" pulumi-lang-go=\"`rsa3072OaepSha256`\" pulumi-lang-python=\"`rsa_3072_oaep_sha256`\" pulumi-lang-yaml=\"`rsa3072OaepSha256`\" pulumi-lang-java=\"`rsa3072OaepSha256`\"\u003e`rsa3072OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha256`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha256`\" pulumi-lang-go=\"`rsa4096OaepSha256`\" pulumi-lang-python=\"`rsa_4096_oaep_sha256`\" pulumi-lang-yaml=\"`rsa4096OaepSha256`\" pulumi-lang-java=\"`rsa4096OaepSha256`\"\u003e`rsa4096OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha512`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha512`\" pulumi-lang-go=\"`rsa4096OaepSha512`\" pulumi-lang-python=\"`rsa_4096_oaep_sha512`\" pulumi-lang-yaml=\"`rsa4096OaepSha512`\" pulumi-lang-java=\"`rsa4096OaepSha512`\"\u003e`rsa4096OaepSha512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hmacSha256`\" pulumi-lang-dotnet=\"`HmacSha256`\" pulumi-lang-go=\"`hmacSha256`\" pulumi-lang-python=\"`hmac_sha256`\" pulumi-lang-yaml=\"`hmacSha256`\" pulumi-lang-java=\"`hmacSha256`\"\u003e`hmacSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hmacSha384`\" pulumi-lang-dotnet=\"`HmacSha384`\" pulumi-lang-go=\"`hmacSha384`\" pulumi-lang-python=\"`hmac_sha384`\" pulumi-lang-yaml=\"`hmacSha384`\" pulumi-lang-java=\"`hmacSha384`\"\u003e`hmacSha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hmacSha512`\" pulumi-lang-dotnet=\"`HmacSha512`\" pulumi-lang-go=\"`hmacSha512`\" pulumi-lang-python=\"`hmac_sha512`\" pulumi-lang-yaml=\"`hmacSha512`\" pulumi-lang-java=\"`hmacSha512`\"\u003e`hmacSha512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecdsaP256Sha256`\" pulumi-lang-dotnet=\"`EcdsaP256Sha256`\" pulumi-lang-go=\"`ecdsaP256Sha256`\" pulumi-lang-python=\"`ecdsa_p256_sha256`\" pulumi-lang-yaml=\"`ecdsaP256Sha256`\" pulumi-lang-java=\"`ecdsaP256Sha256`\"\u003e`ecdsaP256Sha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecdsaP384Sha384`\" pulumi-lang-dotnet=\"`EcdsaP384Sha384`\" pulumi-lang-go=\"`ecdsaP384Sha384`\" pulumi-lang-python=\"`ecdsa_p384_sha384`\" pulumi-lang-yaml=\"`ecdsaP384Sha384`\" pulumi-lang-java=\"`ecdsaP384Sha384`\"\u003e`ecdsaP384Sha384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecdsaP521Sha512`\" pulumi-lang-dotnet=\"`EcdsaP521Sha512`\" pulumi-lang-go=\"`ecdsaP521Sha512`\" pulumi-lang-python=\"`ecdsa_p521_sha512`\" pulumi-lang-yaml=\"`ecdsaP521Sha512`\" pulumi-lang-java=\"`ecdsaP521Sha512`\"\u003e`ecdsaP521Sha512`\u003c/span\u003e.\n" + "description": "Logs instance datasource URL, can be used in Grafana as datasource URL\n" }, "description": { "type": "string", - "description": "A user chosen description to distinguish multiple keys\n" + "description": "The description of the Logs instance\n" }, "displayName": { "type": "string", - "description": "The display name to distinguish multiple keys\n" + "description": "The displayed name of the Logs instance\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=\"`keyringId`\" pulumi-lang-dotnet=\"`KeyringId`\" pulumi-lang-go=\"`keyringId`\" pulumi-lang-python=\"`keyring_id`\" pulumi-lang-yaml=\"`keyringId`\" pulumi-lang-java=\"`keyringId`\"\u003e`keyringId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`keyId`\" pulumi-lang-dotnet=\"`KeyId`\" pulumi-lang-go=\"`keyId`\" pulumi-lang-python=\"`key_id`\" pulumi-lang-yaml=\"`keyId`\" pulumi-lang-java=\"`keyId`\"\u003e`keyId`\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" }, - "importOnly": { - "type": "boolean", - "description": "States whether versions can be created or only imported.\n" + "ingestOtlpUrl": { + "type": "string", + "description": "The Logs instance's ingest logs via OTLP URL\n" }, - "keyId": { + "ingestUrl": { "type": "string", - "description": "The ID of the key\n" + "description": "The logs instance's ingest logs URL\n" }, - "keyringId": { + "instanceId": { "type": "string", - "description": "The ID of the associated key ring\n" + "description": "The Logs instance ID\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the key is associated.\n" + "description": "STACKIT project ID associated with the Logs instance\n" }, - "protection": { + "queryRangeUrl": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e.\n" + "description": "The Logs instance's query range URL\n" }, - "purpose": { + "queryUrl": { "type": "string", - "description": "The purpose for which the key will be used. Possible values are: \u003cspan pulumi-lang-nodejs=\"`symmetricEncryptDecrypt`\" pulumi-lang-dotnet=\"`SymmetricEncryptDecrypt`\" pulumi-lang-go=\"`symmetricEncryptDecrypt`\" pulumi-lang-python=\"`symmetric_encrypt_decrypt`\" pulumi-lang-yaml=\"`symmetricEncryptDecrypt`\" pulumi-lang-java=\"`symmetricEncryptDecrypt`\"\u003e`symmetricEncryptDecrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`asymmetricEncryptDecrypt`\" pulumi-lang-dotnet=\"`AsymmetricEncryptDecrypt`\" pulumi-lang-go=\"`asymmetricEncryptDecrypt`\" pulumi-lang-python=\"`asymmetric_encrypt_decrypt`\" pulumi-lang-yaml=\"`asymmetricEncryptDecrypt`\" pulumi-lang-java=\"`asymmetricEncryptDecrypt`\"\u003e`asymmetricEncryptDecrypt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`messageAuthenticationCode`\" pulumi-lang-dotnet=\"`MessageAuthenticationCode`\" pulumi-lang-go=\"`messageAuthenticationCode`\" pulumi-lang-python=\"`message_authentication_code`\" pulumi-lang-yaml=\"`messageAuthenticationCode`\" pulumi-lang-java=\"`messageAuthenticationCode`\"\u003e`messageAuthenticationCode`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`asymmetricSignVerify`\" pulumi-lang-dotnet=\"`AsymmetricSignVerify`\" pulumi-lang-go=\"`asymmetricSignVerify`\" pulumi-lang-python=\"`asymmetric_sign_verify`\" pulumi-lang-yaml=\"`asymmetricSignVerify`\" pulumi-lang-java=\"`asymmetricSignVerify`\"\u003e`asymmetricSignVerify`\u003c/span\u003e.\n" + "description": "The Logs instance's query URL\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" + }, + "retentionDays": { + "type": "integer", + "description": "The log retention time in days\n" + }, + "status": { + "type": "string", + "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", "required": [ - "accessScope", - "algorithm", + "acls", + "created", + "datasourceUrl", "description", "displayName", "id", - "importOnly", - "keyId", - "keyringId", + "ingestOtlpUrl", + "ingestUrl", + "instanceId", "projectId", - "protection", - "purpose", - "region" + "queryRangeUrl", + "queryUrl", + "retentionDays", + "status" ] } }, - "stackit:index/getKmsKeyring:getKmsKeyring": { - "description": "KMS Keyring datasource 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_kms_keyring\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n keyring_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getMachineType:getMachineType": { + "description": "Machine type data source.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_machine_type\" \"two_vcpus_filter\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus==2\"\n}\n\ndata \"stackit_machine_type\" \"filter_sorted_ascending_false\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus \u003e= 2 \u0026\u0026 ram \u003e= 2048\"\n sort_ascending = false\n}\n\ndata \"stackit_machine_type\" \"intel_icelake_generic_filter\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"extraSpecs.cpu==\\\"intel-icelake-generic\\\" \u0026\u0026 vcpus == 2\"\n}\n\n# returns warning\ndata \"stackit_machine_type\" \"no_match\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus == 99\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getKmsKeyring.\n", + "description": "A collection of arguments for invoking getMachineType.\n", "properties": { - "keyringId": { + "filter": { "type": "string", - "description": "An auto generated unique id which identifies the keyring.\n" + "description": "Expr-lang filter for filtering machine types.\n" }, "projectId": { - "type": "string", - "description": "STACKIT project ID to which the keyring is associated.\n" + "type": "string" }, "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "type": "string" + }, + "sortAscending": { + "type": "boolean" } }, "type": "object", "required": [ - "keyringId", + "filter", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getKmsKeyring.\n", + "description": "A collection of values returned by getMachineType.\n", "properties": { "description": { - "type": "string", - "description": "A user chosen description to distinguish multiple keyrings.\n" + "type": "string" }, - "displayName": { + "disk": { + "type": "integer" + }, + "extraSpecs": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "filter": { "type": "string", - "description": "The display name to distinguish multiple keyrings.\n" + "description": "Expr-lang filter for filtering machine types.\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=\"`keyringId`\" pulumi-lang-dotnet=\"`KeyringId`\" pulumi-lang-go=\"`keyringId`\" pulumi-lang-python=\"`keyring_id`\" pulumi-lang-yaml=\"`keyringId`\" pulumi-lang-java=\"`keyringId`\"\u003e`keyringId`\u003c/span\u003e\".\n" + "type": "string" }, - "keyringId": { - "type": "string", - "description": "An auto generated unique id which identifies the keyring.\n" + "name": { + "type": "string" }, "projectId": { - "type": "string", - "description": "STACKIT project ID to which the keyring is associated.\n" + "type": "string" + }, + "ram": { + "type": "integer" }, "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "type": "string" + }, + "sortAscending": { + "type": "boolean" + }, + "vcpus": { + "type": "integer" } }, "type": "object", "required": [ "description", - "displayName", + "disk", + "extraSpecs", + "filter", "id", - "keyringId", + "name", "projectId", - "region" + "ram", + "vcpus" ] } }, - "stackit:index/getKmsWrappingKey:getKmsWrappingKey": { - "description": "KMS wrapping key datasource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_kms_wrapping_key\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n keyring_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n wrapping_key_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getMariadbCredential:getMariadbCredential": { + "description": "MariaDB credential 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_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getKmsWrappingKey.\n", + "description": "A collection of arguments for invoking getMariadbCredential.\n", "properties": { - "keyringId": { - "type": "string", - "description": "The ID of the associated keyring\n" - }, - "projectId": { + "credentialId": { "type": "string", - "description": "STACKIT project ID to which the keyring is associated.\n" + "description": "The credential's ID.\n" }, - "region": { + "instanceId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "ID of the MariaDB instance.\n" }, - "wrappingKeyId": { + "projectId": { "type": "string", - "description": "The ID of the wrapping key\n" + "description": "STACKIT project ID to which the instance is associated.\n" } }, "type": "object", "required": [ - "keyringId", - "projectId", - "wrappingKeyId" + "credentialId", + "instanceId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getKmsWrappingKey.\n", + "description": "A collection of values returned by getMariadbCredential.\n", "properties": { - "accessScope": { - "type": "string", - "description": "The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.\n" - }, - "algorithm": { - "type": "string", - "description": "The wrapping algorithm used to wrap the key to import. Possible values are: \u003cspan pulumi-lang-nodejs=\"`rsa2048OaepSha256`\" pulumi-lang-dotnet=\"`Rsa2048OaepSha256`\" pulumi-lang-go=\"`rsa2048OaepSha256`\" pulumi-lang-python=\"`rsa_2048_oaep_sha256`\" pulumi-lang-yaml=\"`rsa2048OaepSha256`\" pulumi-lang-java=\"`rsa2048OaepSha256`\"\u003e`rsa2048OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa3072OaepSha256`\" pulumi-lang-dotnet=\"`Rsa3072OaepSha256`\" pulumi-lang-go=\"`rsa3072OaepSha256`\" pulumi-lang-python=\"`rsa_3072_oaep_sha256`\" pulumi-lang-yaml=\"`rsa3072OaepSha256`\" pulumi-lang-java=\"`rsa3072OaepSha256`\"\u003e`rsa3072OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha256`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha256`\" pulumi-lang-go=\"`rsa4096OaepSha256`\" pulumi-lang-python=\"`rsa_4096_oaep_sha256`\" pulumi-lang-yaml=\"`rsa4096OaepSha256`\" pulumi-lang-java=\"`rsa4096OaepSha256`\"\u003e`rsa4096OaepSha256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha512`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha512`\" pulumi-lang-go=\"`rsa4096OaepSha512`\" pulumi-lang-python=\"`rsa_4096_oaep_sha512`\" pulumi-lang-yaml=\"`rsa4096OaepSha512`\" pulumi-lang-java=\"`rsa4096OaepSha512`\"\u003e`rsa4096OaepSha512`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-go=\"`rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_2048_oaep_sha256_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa2048OaepSha256Aes256KeyWrap`\" pulumi-lang-java=\"`rsa2048OaepSha256Aes256KeyWrap`\"\u003e`rsa2048OaepSha256Aes256KeyWrap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-go=\"`rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_3072_oaep_sha256_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa3072OaepSha256Aes256KeyWrap`\" pulumi-lang-java=\"`rsa3072OaepSha256Aes256KeyWrap`\"\u003e`rsa3072OaepSha256Aes256KeyWrap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-go=\"`rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_4096_oaep_sha256_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa4096OaepSha256Aes256KeyWrap`\" pulumi-lang-java=\"`rsa4096OaepSha256Aes256KeyWrap`\"\u003e`rsa4096OaepSha256Aes256KeyWrap`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-dotnet=\"`Rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-go=\"`rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-python=\"`rsa_4096_oaep_sha512_aes_256_key_wrap`\" pulumi-lang-yaml=\"`rsa4096OaepSha512Aes256KeyWrap`\" pulumi-lang-java=\"`rsa4096OaepSha512Aes256KeyWrap`\"\u003e`rsa4096OaepSha512Aes256KeyWrap`\u003c/span\u003e.\n" - }, - "createdAt": { - "type": "string", - "description": "The date and time the creation of the wrapping key was triggered.\n" - }, - "description": { + "credentialId": { "type": "string", - "description": "A user chosen description to distinguish multiple wrapping keys.\n" + "description": "The credential's ID.\n" }, - "displayName": { - "type": "string", - "description": "The display name to distinguish multiple wrapping keys.\n" + "host": { + "type": "string" }, - "expiresAt": { - "type": "string", - "description": "The date and time the wrapping key will expire.\n" + "hosts": { + "type": "array", + "items": { + "type": "string" + } }, "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=\"`keyringId`\" pulumi-lang-dotnet=\"`KeyringId`\" pulumi-lang-go=\"`keyringId`\" pulumi-lang-python=\"`keyring_id`\" pulumi-lang-yaml=\"`keyringId`\" pulumi-lang-java=\"`keyringId`\"\u003e`keyringId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`wrappingKeyId`\" pulumi-lang-dotnet=\"`WrappingKeyId`\" pulumi-lang-go=\"`wrappingKeyId`\" pulumi-lang-python=\"`wrapping_key_id`\" pulumi-lang-yaml=\"`wrappingKeyId`\" pulumi-lang-java=\"`wrappingKeyId`\"\u003e`wrappingKeyId`\u003c/span\u003e\".\n" + "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, - "keyringId": { + "instanceId": { "type": "string", - "description": "The ID of the associated keyring\n" + "description": "ID of the MariaDB instance.\n" }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the keyring is associated.\n" + "name": { + "type": "string" }, - "protection": { + "password": { "type": "string", - "description": "The underlying system that is responsible for protecting the key material. Possible values are: \u003cspan pulumi-lang-nodejs=\"`software`\" pulumi-lang-dotnet=\"`Software`\" pulumi-lang-go=\"`software`\" pulumi-lang-python=\"`software`\" pulumi-lang-yaml=\"`software`\" pulumi-lang-java=\"`software`\"\u003e`software`\u003c/span\u003e.\n" + "secret": true }, - "publicKey": { - "type": "string", - "description": "The public key of the wrapping key.\n" + "port": { + "type": "integer" }, - "purpose": { + "projectId": { "type": "string", - "description": "The purpose for which the key will be used. Possible values are: \u003cspan pulumi-lang-nodejs=\"`wrapSymmetricKey`\" pulumi-lang-dotnet=\"`WrapSymmetricKey`\" pulumi-lang-go=\"`wrapSymmetricKey`\" pulumi-lang-python=\"`wrap_symmetric_key`\" pulumi-lang-yaml=\"`wrapSymmetricKey`\" pulumi-lang-java=\"`wrapSymmetricKey`\"\u003e`wrapSymmetricKey`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wrapAsymmetricKey`\" pulumi-lang-dotnet=\"`WrapAsymmetricKey`\" pulumi-lang-go=\"`wrapAsymmetricKey`\" pulumi-lang-python=\"`wrap_asymmetric_key`\" pulumi-lang-yaml=\"`wrapAsymmetricKey`\" pulumi-lang-java=\"`wrapAsymmetricKey`\"\u003e`wrapAsymmetricKey`\u003c/span\u003e.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "region": { + "uri": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "secret": true }, - "wrappingKeyId": { - "type": "string", - "description": "The ID of the wrapping key\n" + "username": { + "type": "string" } }, "type": "object", "required": [ - "accessScope", - "algorithm", - "createdAt", - "description", - "displayName", - "expiresAt", + "credentialId", + "host", + "hosts", "id", - "keyringId", + "instanceId", + "name", + "password", + "port", "projectId", - "protection", - "publicKey", - "purpose", - "region", - "wrappingKeyId" + "uri", + "username" ] } }, - "stackit:index/getLoadbalancer:getLoadbalancer": { - "description": "Load Balancer 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_loadbalancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n}\n```\n", + "stackit:index/getMariadbInstance:getMariadbInstance": { + "description": "MariaDB 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_mariadb_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 getLoadbalancer.\n", + "description": "A collection of arguments for invoking getMariadbInstance.\n", "properties": { - "name": { + "instanceId": { "type": "string", - "description": "Load balancer name.\n" + "description": "ID of the MariaDB instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the Load Balancer is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" } }, "type": "object", "required": [ - "name", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getLoadbalancer.\n", + "description": "A collection of values returned by getMariadbInstance.\n", "properties": { - "disableSecurityGroupAssignment": { - "type": "boolean", - "description": "If set to true, this will disable the automatic assignment of a security group to the load balancer's targets. This option is primarily used to allow targets that are not within the load balancer's own network or SNA (STACKIT Network area). When this is enabled, you are fully responsible for ensuring network connectivity to the targets, including managing all routing and security group rules manually. This setting cannot be changed after the load balancer is created.\n" + "cfGuid": { + "type": "string" }, - "externalAddress": { - "type": "string", - "description": "External Load Balancer IP address where this Load Balancer is exposed.\n" + "cfOrganizationGuid": { + "type": "string" + }, + "cfSpaceGuid": { + "type": "string" + }, + "dashboardUrl": { + "type": "string" }, "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\",\"region\",\"\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" + "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=\"`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" }, - "listeners": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getLoadbalancerListener:getLoadbalancerListener" - }, - "description": "List of all listeners which will accept traffic. Limited to 20.\n" + "imageUrl": { + "type": "string" }, - "loadBalancerSecurityGroupId": { + "instanceId": { "type": "string", - "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n" + "description": "ID of the MariaDB instance.\n" }, "name": { "type": "string", - "description": "Load balancer name.\n" - }, - "networks": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getLoadbalancerNetwork:getLoadbalancerNetwork" - }, - "description": "List of networks that listeners and targets reside in.\n" + "description": "Instance name.\n" }, - "options": { - "$ref": "#/types/stackit:index/getLoadbalancerOptions:getLoadbalancerOptions", - "description": "Defines any optional functionality you want to have enabled on your load balancer.\n" + "parameters": { + "$ref": "#/types/stackit:index/getMariadbInstanceParameters:getMariadbInstanceParameters" }, "planId": { "type": "string", - "description": "The service plan ID. If not defined, the default service plan is \u003cspan pulumi-lang-nodejs=\"`p10`\" pulumi-lang-dotnet=\"`P10`\" pulumi-lang-go=\"`p10`\" pulumi-lang-python=\"`p10`\" pulumi-lang-yaml=\"`p10`\" pulumi-lang-java=\"`p10`\"\u003e`p10`\u003c/span\u003e. Possible values are: \u003cspan pulumi-lang-nodejs=\"`p10`\" pulumi-lang-dotnet=\"`P10`\" pulumi-lang-go=\"`p10`\" pulumi-lang-python=\"`p10`\" pulumi-lang-yaml=\"`p10`\" pulumi-lang-java=\"`p10`\"\u003e`p10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p50`\" pulumi-lang-dotnet=\"`P50`\" pulumi-lang-go=\"`p50`\" pulumi-lang-python=\"`p50`\" pulumi-lang-yaml=\"`p50`\" pulumi-lang-java=\"`p50`\"\u003e`p50`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p250`\" pulumi-lang-dotnet=\"`P250`\" pulumi-lang-go=\"`p250`\" pulumi-lang-python=\"`p250`\" pulumi-lang-yaml=\"`p250`\" pulumi-lang-java=\"`p250`\"\u003e`p250`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`p750`\" pulumi-lang-dotnet=\"`P750`\" pulumi-lang-go=\"`p750`\" pulumi-lang-python=\"`p750`\" pulumi-lang-yaml=\"`p750`\" pulumi-lang-java=\"`p750`\"\u003e`p750`\u003c/span\u003e.\n" + "description": "The selected plan ID.\n" }, - "privateAddress": { + "planName": { "type": "string", - "description": "Transient private Load Balancer IP address. It can change any time.\n" + "description": "The selected plan name.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the Load Balancer is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "securityGroupId": { - "type": "string", - "description": "The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.\n" - }, - "targetPools": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getLoadbalancerTargetPool:getLoadbalancerTargetPool" - }, - "description": "List of all target pools which will be used in the Load Balancer. Limited to 20.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" }, "version": { "type": "string", - "description": "Load balancer resource version.\n" + "description": "The service version.\n" } }, "type": "object", "required": [ - "disableSecurityGroupAssignment", - "externalAddress", + "cfGuid", + "cfOrganizationGuid", + "cfSpaceGuid", + "dashboardUrl", "id", - "listeners", - "loadBalancerSecurityGroupId", + "imageUrl", + "instanceId", "name", - "networks", - "options", + "parameters", "planId", - "privateAddress", + "planName", "projectId", - "securityGroupId", - "targetPools", "version" ] } }, - "stackit:index/getLogmeCredential:getLogmeCredential": { - "description": "LogMe credential 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_logme_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getMongodbflexInstance:getMongodbflexInstance": { + "description": "MongoDB 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_mongodbflex_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 getLogmeCredential.\n", + "description": "A collection of arguments for invoking getMongodbflexInstance.\n", "properties": { - "credentialId": { - "type": "string", - "description": "The credential's ID.\n" - }, "instanceId": { "type": "string", - "description": "ID of the LogMe instance.\n" + "description": "ID of the MongoDB Flex instance.\n" }, "projectId": { "type": "string", "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": [ - "credentialId", "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getLogmeCredential.\n", + "description": "A collection of values returned by getMongodbflexInstance.\n", "properties": { - "credentialId": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Access Control List (ACL) for the MongoDB Flex instance.\n" + }, + "backupSchedule": { "type": "string", - "description": "The credential's ID.\n" + "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\").\n" }, - "host": { - "type": "string" + "flavor": { + "$ref": "#/types/stackit:index/getMongodbflexInstanceFlavor:getMongodbflexInstanceFlavor" }, "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\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" }, "instanceId": { "type": "string", - "description": "ID of the LogMe instance.\n" + "description": "ID of the MongoDB Flex instance.\n" }, - "password": { + "name": { "type": "string", - "secret": true + "description": "Instance name.\n" }, - "port": { - "type": "integer" + "options": { + "$ref": "#/types/stackit:index/getMongodbflexInstanceOptions:getMongodbflexInstanceOptions", + "description": "Custom parameters for the MongoDB Flex instance.\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, - "uri": { + "region": { "type": "string", - "secret": true + "description": "The resource region. If not defined, the provider region is used.\n" }, - "username": { + "replicas": { + "type": "integer" + }, + "storage": { + "$ref": "#/types/stackit:index/getMongodbflexInstanceStorage:getMongodbflexInstanceStorage" + }, + "version": { "type": "string" } }, "type": "object", "required": [ - "credentialId", - "host", + "acls", + "backupSchedule", + "flavor", "id", "instanceId", - "password", - "port", + "name", + "options", "projectId", - "uri", - "username" + "region", + "replicas", + "storage", + "version" ] } }, - "stackit:index/getLogmeInstance:getLogmeInstance": { - "description": "LogMe 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_logme_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getMongodbflexUser:getMongodbflexUser": { + "description": "MongoDB 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_mongodbflex_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 getLogmeInstance.\n", + "description": "A collection of arguments for invoking getMongodbflexUser.\n", "properties": { "instanceId": { "type": "string", - "description": "ID of the LogMe instance.\n" + "description": "ID of the MongoDB Flex instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the instance 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": [ "instanceId", - "projectId" + "projectId", + "userId" ] }, "outputs": { - "description": "A collection of values returned by getLogmeInstance.\n", + "description": "A collection of values returned by getMongodbflexUser.\n", "properties": { - "cfGuid": { - "type": "string" - }, - "cfOrganizationGuid": { - "type": "string" - }, - "cfSpaceGuid": { + "database": { "type": "string" }, - "dashboardUrl": { + "host": { "type": "string" }, "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=\"`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" - }, - "imageUrl": { - "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" }, "instanceId": { "type": "string", - "description": "ID of the LogMe instance.\n" - }, - "name": { - "type": "string", - "description": "Instance name.\n" + "description": "ID of the MongoDB Flex instance.\n" }, - "parameters": { - "$ref": "#/types/stackit:index/getLogmeInstanceParameters:getLogmeInstanceParameters" + "port": { + "type": "integer" }, - "planId": { + "projectId": { "type": "string", - "description": "The selected plan ID.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "planName": { + "region": { "type": "string", - "description": "The selected plan name.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "projectId": { - "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "roles": { + "type": "array", + "items": { + "type": "string" + } }, - "version": { + "userId": { "type": "string", - "description": "The service version.\n" + "description": "User ID.\n" + }, + "username": { + "type": "string" } }, "type": "object", "required": [ - "cfGuid", - "cfOrganizationGuid", - "cfSpaceGuid", - "dashboardUrl", + "database", + "host", "id", - "imageUrl", "instanceId", - "name", - "parameters", - "planId", - "planName", + "port", "projectId", - "version" + "region", + "roles", + "userId", + "username" ] } }, - "stackit:index/getLogsAccessToken:getLogsAccessToken": { - "description": "Logs 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_logs_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", + "stackit:index/getNetwork:getNetwork": { + "description": "Network resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getLogsAccessToken.\n", + "description": "A collection of arguments for invoking getNetwork.\n", "properties": { - "accessTokenId": { - "type": "string", - "description": "The access token ID\n" - }, - "instanceId": { + "networkId": { "type": "string", - "description": "The Logs instance ID associated with the access token\n" + "description": "The network ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the Logs access token\n" + "description": "STACKIT project ID to which the network is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "accessTokenId", - "instanceId", + "networkId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getLogsAccessToken.\n", + "description": "A collection of values returned by getNetwork.\n", "properties": { - "accessTokenId": { - "type": "string", - "description": "The access token ID\n" + "dhcp": { + "type": "boolean", + "description": "Shows if DHCP is enabled for the network.\n" }, - "creator": { + "id": { "type": "string", - "description": "The user who created the access token\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=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`networkId`\u003c/span\u003e\".\n" }, - "description": { + "ipv4Gateway": { "type": "string", - "description": "The description of the access token\n" + "description": "The IPv4 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" }, - "displayName": { + "ipv4Nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPv4 nameservers of the network.\n" + }, + "ipv4Prefix": { "type": "string", - "description": "The displayed name of the access token\n" + "description": "The IPv4 prefix of the network (CIDR).\n", + "deprecationMessage": "The API supports reading multiple prefixes. So using the attribute 'ipv4_prefixes` should be preferred. This attribute will be populated with the first element from the list" }, - "expires": { - "type": "boolean", - "description": "Indicates if the access token can expire\n" + "ipv4PrefixLength": { + "type": "integer", + "description": "The IPv4 prefix length of the network.\n" }, - "id": { + "ipv4Prefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPv4 prefixes of the network.\n" + }, + "ipv6Gateway": { "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=\"`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" + "description": "The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" }, - "instanceId": { + "ipv6Nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IPv6 nameservers of the network.\n" + }, + "ipv6Prefix": { "type": "string", - "description": "The Logs instance ID associated with the access token\n" + "description": "The IPv6 prefix of the network (CIDR).\n", + "deprecationMessage": "The API supports reading multiple prefixes. So using the attribute 'ipv6_prefixes` should be preferred. This attribute will be populated with the first element from the list" }, - "permissions": { + "ipv6PrefixLength": { + "type": "integer", + "description": "The IPv6 prefix length of the network.\n" + }, + "ipv6Prefixes": { "type": "array", "items": { "type": "string" }, - "description": "The access permissions granted to the access token. Possible values: \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, \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e.\n" + "description": "The IPv6 prefixes of the network.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "name": { + "type": "string", + "description": "The name of the network.\n" + }, + "networkId": { + "type": "string", + "description": "The network ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the Logs access token\n" + "description": "STACKIT project ID to which the network is associated.\n" }, - "region": { + "publicIp": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The public IP of the network.\n" }, - "status": { + "region": { "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" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "validUntil": { + "routed": { + "type": "boolean", + "description": "Shows if the network is routed and therefore accessible from other networks.\n" + }, + "routingTableId": { "type": "string", - "description": "The date and time until an access token is valid to (inclusively)\n" + "description": "The ID of the routing table associated with the network.\n" } }, "type": "object", "required": [ - "accessTokenId", - "creator", - "description", - "displayName", - "expires", + "dhcp", "id", - "instanceId", - "permissions", + "ipv4Gateway", + "ipv4Nameservers", + "ipv4Prefix", + "ipv4PrefixLength", + "ipv4Prefixes", + "ipv6Gateway", + "ipv6Nameservers", + "ipv6Prefix", + "ipv6PrefixLength", + "ipv6Prefixes", + "labels", + "name", + "networkId", "projectId", - "status", - "validUntil" + "publicIp", + "routed", + "routingTableId" ] } }, - "stackit:index/getLogsInstance:getLogsInstance": { - "description": "Logs 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_logs_instance\" \"logs\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getNetworkArea:getNetworkArea": { + "description": "Network area 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\nThis datasource is for SNA, not VPC, networks.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getLogsInstance.\n", + "description": "A collection of arguments for invoking getNetworkArea.\n", "properties": { - "instanceId": { - "type": "string", - "description": "The Logs instance ID\n" - }, - "projectId": { + "networkAreaId": { "type": "string", - "description": "STACKIT project ID associated with the Logs instance\n" + "description": "The network area ID.\n" }, - "region": { + "organizationId": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "STACKIT organization ID to which the network area is associated.\n" } }, "type": "object", "required": [ - "instanceId", - "projectId" + "networkAreaId", + "organizationId" ] }, "outputs": { - "description": "A collection of values returned by getLogsInstance.\n", + "description": "A collection of values returned by getNetworkArea.\n", "properties": { - "acls": { + "defaultNameservers": { "type": "array", "items": { "type": "string" }, - "description": "The access control list entries for the Logs instance\n" - }, - "created": { - "type": "string", - "description": "The date and time the creation of the Logs instance was initiated\n" - }, - "datasourceUrl": { - "type": "string", - "description": "Logs instance datasource URL, can be used in Grafana as datasource URL\n" - }, - "description": { - "type": "string", - "description": "The description of the Logs instance\n" + "description": "List of DNS Servers/Nameservers.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, - "displayName": { - "type": "string", - "description": "The displayed name of the Logs instance\n" + "defaultPrefixLength": { + "type": "integer", + "description": "The default prefix length for networks in the network area.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, "id": { "type": "string", - "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" + "description": "Terraform's internal resource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e\".\n" }, - "ingestOtlpUrl": { - "type": "string", - "description": "The Logs instance's ingest logs via OTLP URL\n" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "ingestUrl": { - "type": "string", - "description": "The logs instance's ingest logs URL\n" + "maxPrefixLength": { + "type": "integer", + "description": "The maximal prefix length for networks in the network area.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, - "instanceId": { - "type": "string", - "description": "The Logs instance ID\n" + "minPrefixLength": { + "type": "integer", + "description": "The minimal prefix length for networks in the network area.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, - "projectId": { + "name": { "type": "string", - "description": "STACKIT project ID associated with the Logs instance\n" + "description": "The name of the network area.\n" }, - "queryRangeUrl": { + "networkAreaId": { "type": "string", - "description": "The Logs instance's query range URL\n" + "description": "The network area ID.\n" }, - "queryUrl": { - "type": "string", - "description": "The Logs instance's query URL\n" + "networkRanges": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getNetworkAreaNetworkRange:getNetworkAreaNetworkRange" + }, + "description": "List of Network ranges.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, - "region": { + "organizationId": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "STACKIT organization ID to which the network area is associated.\n" }, - "retentionDays": { + "projectCount": { "type": "integer", - "description": "The log retention time in days\n" + "description": "The amount of projects currently referencing this area.\n" }, - "status": { + "transferNetwork": { "type": "string", - "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" + "description": "Classless Inter-Domain Routing (CIDR).\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." } }, "type": "object", "required": [ - "acls", - "created", - "datasourceUrl", - "description", - "displayName", + "defaultNameservers", + "defaultPrefixLength", "id", - "ingestOtlpUrl", - "ingestUrl", - "instanceId", - "projectId", - "queryRangeUrl", - "queryUrl", - "retentionDays", - "status" + "labels", + "maxPrefixLength", + "minPrefixLength", + "name", + "networkAreaId", + "networkRanges", + "organizationId", + "projectCount", + "transferNetwork" ] } }, - "stackit:index/getMachineType:getMachineType": { - "description": "Machine type data source.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_machine_type\" \"two_vcpus_filter\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus==2\"\n}\n\ndata \"stackit_machine_type\" \"filter_sorted_ascending_false\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus \u003e= 2 \u0026\u0026 ram \u003e= 2048\"\n sort_ascending = false\n}\n\ndata \"stackit_machine_type\" \"intel_icelake_generic_filter\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"extraSpecs.cpu==\\\"intel-icelake-generic\\\" \u0026\u0026 vcpus == 2\"\n}\n\n# returns warning\ndata \"stackit_machine_type\" \"no_match\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus == 99\"\n}\n```\n", + "stackit:index/getNetworkAreaRegion:getNetworkAreaRegion": { + "description": "Network area region data source schema.\n\nThis datasource is for SNA, not VPC, based networks.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area_region\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getMachineType.\n", + "description": "A collection of arguments for invoking getNetworkAreaRegion.\n", "properties": { - "filter": { + "networkAreaId": { "type": "string", - "description": "Expr-lang filter for filtering machine types.\n" + "description": "The network area ID.\n" }, - "projectId": { - "type": "string" + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the network area is associated.\n" }, "region": { - "type": "string" - }, - "sortAscending": { - "type": "boolean" + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "filter", - "projectId" + "networkAreaId", + "organizationId" ] }, "outputs": { - "description": "A collection of values returned by getMachineType.\n", + "description": "A collection of values returned by getNetworkAreaRegion.\n", "properties": { - "description": { - "type": "string" - }, - "disk": { - "type": "integer" - }, - "extraSpecs": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "filter": { - "type": "string", - "description": "Expr-lang filter for filtering machine types.\n" - }, "id": { - "type": "string" + "type": "string", + "description": "Terraform's internal resource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\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": { - "type": "string" + "ipv4": { + "$ref": "#/types/stackit:index/getNetworkAreaRegionIpv4:getNetworkAreaRegionIpv4", + "description": "The regional IPv4 config of a network area.\n" }, - "projectId": { - "type": "string" + "networkAreaId": { + "type": "string", + "description": "The network area ID.\n" }, - "ram": { - "type": "integer" + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the network area is associated.\n" }, "region": { - "type": "string" - }, - "sortAscending": { - "type": "boolean" - }, - "vcpus": { - "type": "integer" + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "description", - "disk", - "extraSpecs", - "filter", "id", - "name", - "projectId", - "ram", - "vcpus" + "ipv4", + "networkAreaId", + "organizationId" ] } }, - "stackit:index/getMariadbCredential:getMariadbCredential": { - "description": "MariaDB credential 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_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getNetworkAreaRoute:getNetworkAreaRoute": { + "description": "Network area route data resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\nThis datasource is for SNA, not VPC, networks.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_route_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getMariadbCredential.\n", + "description": "A collection of arguments for invoking getNetworkAreaRoute.\n", "properties": { - "credentialId": { + "networkAreaId": { "type": "string", - "description": "The credential's ID.\n" + "description": "The network area ID to which the network area route is associated.\n" }, - "instanceId": { + "networkAreaRouteId": { "type": "string", - "description": "ID of the MariaDB instance.\n" + "description": "The network area route ID.\n" }, - "projectId": { + "organizationId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT organization ID to which the network area is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "credentialId", - "instanceId", - "projectId" + "networkAreaId", + "networkAreaRouteId", + "organizationId" ] }, "outputs": { - "description": "A collection of values returned by getMariadbCredential.\n", + "description": "A collection of values returned by getNetworkAreaRoute.\n", "properties": { - "credentialId": { - "type": "string", - "description": "The credential's ID.\n" - }, - "host": { - "type": "string" - }, - "hosts": { - "type": "array", - "items": { - "type": "string" - } + "destination": { + "$ref": "#/types/stackit:index/getNetworkAreaRouteDestination:getNetworkAreaRouteDestination", + "description": "Destination of the route.\n" }, "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the MariaDB instance.\n" + "description": "Terraform's internal data source ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkAreaRouteId`\" pulumi-lang-dotnet=\"`NetworkAreaRouteId`\" pulumi-lang-go=\"`networkAreaRouteId`\" pulumi-lang-python=\"`network_area_route_id`\" pulumi-lang-yaml=\"`networkAreaRouteId`\" pulumi-lang-java=\"`networkAreaRouteId`\"\u003e`networkAreaRouteId`\u003c/span\u003e\".\n" }, - "name": { - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "password": { + "networkAreaId": { "type": "string", - "secret": true - }, - "port": { - "type": "integer" + "description": "The network area ID to which the network area route is associated.\n" }, - "projectId": { + "networkAreaRouteId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "The network area route ID.\n" }, - "uri": { + "nextHop": { + "$ref": "#/types/stackit:index/getNetworkAreaRouteNextHop:getNetworkAreaRouteNextHop", + "description": "Next hop destination.\n" + }, + "organizationId": { "type": "string", - "secret": true + "description": "STACKIT organization ID to which the network area is associated.\n" }, - "username": { - "type": "string" + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "credentialId", - "host", - "hosts", + "destination", "id", - "instanceId", - "name", - "password", - "port", - "projectId", - "uri", - "username" + "labels", + "networkAreaId", + "networkAreaRouteId", + "nextHop", + "organizationId" ] } }, - "stackit:index/getMariadbInstance:getMariadbInstance": { - "description": "MariaDB 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_mariadb_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getNetworkInterface:getNetworkInterface": { + "description": "Network interface 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_network_interface\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getMariadbInstance.\n", + "description": "A collection of arguments for invoking getNetworkInterface.\n", "properties": { - "instanceId": { + "networkId": { "type": "string", - "description": "ID of the MariaDB instance.\n" + "description": "The network ID to which the network interface is associated.\n" + }, + "networkInterfaceId": { + "type": "string", + "description": "The network interface ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "description": "STACKIT project ID to which the network interface is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "instanceId", + "networkId", + "networkInterfaceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getMariadbInstance.\n", + "description": "A collection of values returned by getNetworkInterface.\n", "properties": { - "cfGuid": { - "type": "string" - }, - "cfOrganizationGuid": { - "type": "string" - }, - "cfSpaceGuid": { - "type": "string" + "allowedAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of CIDR (Classless Inter-Domain Routing) notations.\n" }, - "dashboardUrl": { - "type": "string" + "device": { + "type": "string", + "description": "The device UUID of the network interface.\n" }, "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=\"`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": "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=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`networkId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkInterfaceId`\" pulumi-lang-dotnet=\"`NetworkInterfaceId`\" pulumi-lang-go=\"`networkInterfaceId`\" pulumi-lang-python=\"`network_interface_id`\" pulumi-lang-yaml=\"`networkInterfaceId`\" pulumi-lang-java=\"`networkInterfaceId`\"\u003e`networkInterfaceId`\u003c/span\u003e\".\n" }, - "imageUrl": { - "type": "string" + "ipv4": { + "type": "string", + "description": "The IPv4 address.\n" }, - "instanceId": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a network interface.\n" + }, + "mac": { "type": "string", - "description": "ID of the MariaDB instance.\n" + "description": "The MAC address of network interface.\n" }, "name": { "type": "string", - "description": "Instance name.\n" - }, - "parameters": { - "$ref": "#/types/stackit:index/getMariadbInstanceParameters:getMariadbInstanceParameters" + "description": "The name of the network interface.\n" }, - "planId": { + "networkId": { "type": "string", - "description": "The selected plan ID.\n" + "description": "The network ID to which the network interface is associated.\n" }, - "planName": { + "networkInterfaceId": { "type": "string", - "description": "The selected plan name.\n" + "description": "The network interface ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "description": "STACKIT project ID to which the network interface is associated.\n" }, - "version": { + "region": { "type": "string", - "description": "The service version.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "security": { + "type": "boolean", + "description": "The Network Interface Security. If set to false, then no security groups will apply to this network interface.\n" + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of security group UUIDs. If security is set to false, setting this field will lead to an error.\n" + }, + "type": { + "type": "string", + "description": "Type of network interface. Some of the possible values are: Possible values are: \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\"\u003e`metadata`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e.\n" } }, "type": "object", "required": [ - "cfGuid", - "cfOrganizationGuid", - "cfSpaceGuid", - "dashboardUrl", + "allowedAddresses", + "device", "id", - "imageUrl", - "instanceId", + "ipv4", + "labels", + "mac", "name", - "parameters", - "planId", - "planName", + "networkId", + "networkInterfaceId", "projectId", - "version" + "security", + "securityGroupIds", + "type" ] } }, - "stackit:index/getMongodbflexInstance:getMongodbflexInstance": { - "description": "MongoDB 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_mongodbflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getObjectstorageBucket:getObjectstorageBucket": { + "description": "ObjectStorage bucket 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_objectstorage_bucket\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-name\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getMongodbflexInstance.\n", + "description": "A collection of arguments for invoking getObjectstorageBucket.\n", "properties": { - "instanceId": { + "name": { "type": "string", - "description": "ID of the MongoDB Flex instance.\n" + "description": "The bucket name. It must be DNS conform.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT Project ID to which the bucket is associated.\n" }, "region": { "type": "string", @@ -26045,176 +27551,114 @@ }, "type": "object", "required": [ - "instanceId", + "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getMongodbflexInstance.\n", + "description": "A collection of values returned by getObjectstorageBucket.\n", "properties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Access Control List (ACL) for the MongoDB 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/getMongodbflexInstanceFlavor:getMongodbflexInstanceFlavor" - }, "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\".\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the MongoDB Flex instance.\n" + "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=\"`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" }, "name": { "type": "string", - "description": "Instance name.\n" + "description": "The bucket name. It must be DNS conform.\n" }, - "options": { - "$ref": "#/types/stackit:index/getMongodbflexInstanceOptions:getMongodbflexInstanceOptions", - "description": "Custom parameters for the MongoDB Flex instance.\n" + "objectLock": { + "type": "boolean", + "description": "Enable Object Lock on this bucket. Can only be set at creation time. Requires an active project-level compliance lock.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT Project ID to which the bucket 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/getMongodbflexInstanceStorage:getMongodbflexInstanceStorage" + "urlPathStyle": { + "type": "string" }, - "version": { + "urlVirtualHostedStyle": { "type": "string" } }, "type": "object", "required": [ - "acls", - "backupSchedule", - "flavor", "id", - "instanceId", "name", - "options", + "objectLock", "projectId", - "region", - "replicas", - "storage", - "version" + "urlPathStyle", + "urlVirtualHostedStyle" ] } }, - "stackit:index/getMongodbflexUser:getMongodbflexUser": { - "description": "MongoDB 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_mongodbflex_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/getObjectstorageComplianceLock:getObjectstorageComplianceLock": { + "description": "ObjectStorage compliance 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.\n\n## Example Usage\n\n```terraform\ndata \"stackit_objectstorage_compliance_lock\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getMongodbflexUser.\n", + "description": "A collection of arguments for invoking getObjectstorageComplianceLock.\n", "properties": { - "instanceId": { - "type": "string", - "description": "ID of the MongoDB Flex instance.\n" - }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT Project ID to which the compliance lock 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": [ - "instanceId", - "projectId", - "userId" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getMongodbflexUser.\n", + "description": "A collection of values returned by getObjectstorageComplianceLock.\n", "properties": { - "database": { - "type": "string" - }, - "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=\"`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": "ID of the MongoDB Flex instance.\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" }, - "port": { - "type": "integer" + "maxRetentionDays": { + "type": "integer", + "description": "Maximum retention period in days.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT Project ID to which the compliance lock is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "userId": { - "type": "string", - "description": "User ID.\n" - }, - "username": { - "type": "string" } }, "type": "object", "required": [ - "database", - "host", "id", - "instanceId", - "port", - "projectId", - "region", - "roles", - "userId", - "username" + "maxRetentionDays", + "projectId" ] } }, - "stackit:index/getNetwork:getNetwork": { - "description": "Network resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getObjectstorageCredential:getObjectstorageCredential": { + "description": "ObjectStorage credential 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_objectstorage_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getNetwork.\n", + "description": "A collection of arguments for invoking getObjectstorageCredential.\n", "properties": { - "networkId": { + "credentialId": { "type": "string", - "description": "The network ID.\n" + "description": "The credential ID.\n" + }, + "credentialsGroupId": { + "type": "string", + "description": "The credential group ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the network is associated.\n" + "description": "STACKIT Project ID to which the credential group is associated.\n" }, "region": { "type": "string", @@ -26223,251 +27667,134 @@ }, "type": "object", "required": [ - "networkId", + "credentialId", + "credentialsGroupId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getNetwork.\n", + "description": "A collection of values returned by getObjectstorageCredential.\n", "properties": { - "dhcp": { - "type": "boolean", - "description": "Shows if DHCP is enabled for the network.\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=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`networkId`\u003c/span\u003e\".\n" - }, - "ipv4Gateway": { - "type": "string", - "description": "The IPv4 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" - }, - "ipv4Nameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv4 nameservers of the network.\n" - }, - "ipv4Prefix": { + "credentialId": { "type": "string", - "description": "The IPv4 prefix of the network (CIDR).\n", - "deprecationMessage": "The API supports reading multiple prefixes. So using the attribute 'ipv4_prefixes` should be preferred. This attribute will be populated with the first element from the list" - }, - "ipv4PrefixLength": { - "type": "integer", - "description": "The IPv4 prefix length of the network.\n" - }, - "ipv4Prefixes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv4 prefixes of the network.\n" + "description": "The credential ID.\n" }, - "ipv6Gateway": { + "credentialsGroupId": { "type": "string", - "description": "The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n" + "description": "The credential group ID.\n" }, - "ipv6Nameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv6 nameservers of the network.\n" + "expirationTimestamp": { + "type": "string" }, - "ipv6Prefix": { + "id": { "type": "string", - "description": "The IPv6 prefix of the network (CIDR).\n", - "deprecationMessage": "The API supports reading multiple prefixes. So using the attribute 'ipv6_prefixes` should be preferred. This attribute will be populated with the first element from the list" - }, - "ipv6PrefixLength": { - "type": "integer", - "description": "The IPv6 prefix length of the network.\n" - }, - "ipv6Prefixes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IPv6 prefixes of the network.\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\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=\"`credentialsGroupId`\" pulumi-lang-dotnet=\"`CredentialsGroupId`\" pulumi-lang-go=\"`credentialsGroupId`\" pulumi-lang-python=\"`credentials_group_id`\" pulumi-lang-yaml=\"`credentialsGroupId`\" pulumi-lang-java=\"`credentialsGroupId`\"\u003e`credentialsGroupId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, "name": { - "type": "string", - "description": "The name of the network.\n" - }, - "networkId": { - "type": "string", - "description": "The network ID.\n" + "type": "string" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the network is associated.\n" - }, - "publicIp": { - "type": "string", - "description": "The public IP of the network.\n" + "description": "STACKIT Project ID to which the credential group is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" - }, - "routed": { - "type": "boolean", - "description": "Shows if the network is routed and therefore accessible from other networks.\n" - }, - "routingTableId": { - "type": "string", - "description": "The ID of the routing table associated with the network.\n" } }, "type": "object", "required": [ - "dhcp", + "credentialId", + "credentialsGroupId", + "expirationTimestamp", "id", - "ipv4Gateway", - "ipv4Nameservers", - "ipv4Prefix", - "ipv4PrefixLength", - "ipv4Prefixes", - "ipv6Gateway", - "ipv6Nameservers", - "ipv6Prefix", - "ipv6PrefixLength", - "ipv6Prefixes", - "labels", "name", - "networkId", - "projectId", - "publicIp", - "routed", - "routingTableId" + "projectId" ] } }, - "stackit:index/getNetworkArea:getNetworkArea": { - "description": "Network area 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\nThis datasource is for SNA, not VPC, networks.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getObjectstorageCredentialsGroup:getObjectstorageCredentialsGroup": { + "description": "ObjectStorage credentials group 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_objectstorage_credentials_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getNetworkArea.\n", + "description": "A collection of arguments for invoking getObjectstorageCredentialsGroup.\n", "properties": { - "networkAreaId": { + "credentialsGroupId": { "type": "string", - "description": "The network area ID.\n" + "description": "The credentials group ID.\n" }, - "organizationId": { + "projectId": { "type": "string", - "description": "STACKIT organization ID to which the network area is associated.\n" + "description": "Object Storage Project ID to which the credentials group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "networkAreaId", - "organizationId" + "credentialsGroupId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getNetworkArea.\n", + "description": "A collection of values returned by getObjectstorageCredentialsGroup.\n", "properties": { - "defaultNameservers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of DNS Servers/Nameservers.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." - }, - "defaultPrefixLength": { - "type": "integer", - "description": "The default prefix length for networks in the network area.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." + "credentialsGroupId": { + "type": "string", + "description": "The credentials group ID.\n" }, "id": { "type": "string", - "description": "Terraform's internal resource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e\".\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" - }, - "maxPrefixLength": { - "type": "integer", - "description": "The maximal prefix length for networks in the network area.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." - }, - "minPrefixLength": { - "type": "integer", - "description": "The minimal prefix length for networks in the network area.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." + "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=\"`credentialsGroupId`\" pulumi-lang-dotnet=\"`CredentialsGroupId`\" pulumi-lang-go=\"`credentialsGroupId`\" pulumi-lang-python=\"`credentials_group_id`\" pulumi-lang-yaml=\"`credentialsGroupId`\" pulumi-lang-java=\"`credentialsGroupId`\"\u003e`credentialsGroupId`\u003c/span\u003e\".\n" }, "name": { "type": "string", - "description": "The name of the network area.\n" + "description": "The credentials group's display name.\n" }, - "networkAreaId": { + "projectId": { "type": "string", - "description": "The network area ID.\n" - }, - "networkRanges": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getNetworkAreaNetworkRange:getNetworkAreaNetworkRange" - }, - "description": "List of Network ranges.\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." + "description": "Object Storage Project ID to which the credentials group is associated.\n" }, - "organizationId": { + "region": { "type": "string", - "description": "STACKIT organization ID to which the network area is associated.\n" - }, - "projectCount": { - "type": "integer", - "description": "The amount of projects currently referencing this area.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "transferNetwork": { + "urn": { "type": "string", - "description": "Classless Inter-Domain Routing (CIDR).\n", - "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." + "description": "Credentials group uniform resource name (URN)\n" } }, "type": "object", "required": [ - "defaultNameservers", - "defaultPrefixLength", - "id", - "labels", - "maxPrefixLength", - "minPrefixLength", + "credentialsGroupId", + "id", "name", - "networkAreaId", - "networkRanges", - "organizationId", - "projectCount", - "transferNetwork" + "projectId", + "urn" ] } }, - "stackit:index/getNetworkAreaRegion:getNetworkAreaRegion": { - "description": "Network area region data source schema.\n\nThis datasource is for SNA, not VPC, based networks.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area_region\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getObjectstorageDefaultRetention:getObjectstorageDefaultRetention": { + "description": "ObjectStorage default-retention 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", "inputs": { - "description": "A collection of arguments for invoking getNetworkAreaRegion.\n", + "description": "A collection of arguments for invoking getObjectstorageDefaultRetention.\n", "properties": { - "networkAreaId": { + "bucketName": { "type": "string", - "description": "The network area ID.\n" + "description": "The associated bucket's name. It must be DNS conform.\n" }, - "organizationId": { + "days": { + "type": "integer", + "description": "The number retention period in days.\n" + }, + "mode": { "type": "string", - "description": "STACKIT organization ID to which the network area is associated.\n" + "description": "The retention mode for default retention on a bucket.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the default-retention is associated.\n" }, "region": { "type": "string", @@ -26476,28 +27803,34 @@ }, "type": "object", "required": [ - "networkAreaId", - "organizationId" + "bucketName", + "days", + "mode", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getNetworkAreaRegion.\n", + "description": "A collection of values returned by getObjectstorageDefaultRetention.\n", "properties": { - "id": { + "bucketName": { "type": "string", - "description": "Terraform's internal resource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\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": "The associated bucket's name. It must be DNS conform.\n" }, - "ipv4": { - "$ref": "#/types/stackit:index/getNetworkAreaRegionIpv4:getNetworkAreaRegionIpv4", - "description": "The regional IPv4 config of a network area.\n" + "days": { + "type": "integer", + "description": "The number retention period in days.\n" }, - "networkAreaId": { + "id": { "type": "string", - "description": "The network area ID.\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=\"`bucketName`\" pulumi-lang-dotnet=\"`BucketName`\" pulumi-lang-go=\"`bucketName`\" pulumi-lang-python=\"`bucket_name`\" pulumi-lang-yaml=\"`bucketName`\" pulumi-lang-java=\"`bucketName`\"\u003e`bucketName`\u003c/span\u003e\".\n" }, - "organizationId": { + "mode": { "type": "string", - "description": "STACKIT organization ID to which the network area is associated.\n" + "description": "The retention mode for default retention on a bucket.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the default-retention is associated.\n" }, "region": { "type": "string", @@ -26506,604 +27839,708 @@ }, "type": "object", "required": [ + "bucketName", + "days", "id", - "ipv4", - "networkAreaId", - "organizationId" + "mode", + "projectId", + "region" ] } }, - "stackit:index/getNetworkAreaRoute:getNetworkAreaRoute": { - "description": "Network area route data resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\nThis datasource is for SNA, not VPC, networks.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_route_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getObservabilityAlertgroup:getObservabilityAlertgroup": { + "description": "Observability alert group datasource schema. Used to create alerts based on metrics (Thanos). 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_observability_alertgroup\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-alert-group\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getNetworkAreaRoute.\n", + "description": "A collection of arguments for invoking getObservabilityAlertgroup.\n", "properties": { - "networkAreaId": { - "type": "string", - "description": "The network area ID to which the network area route is associated.\n" - }, - "networkAreaRouteId": { + "instanceId": { "type": "string", - "description": "The network area route ID.\n" + "description": "Observability instance ID to which the alert group is associated.\n" }, - "organizationId": { + "name": { "type": "string", - "description": "STACKIT organization ID to which the network area is associated.\n" + "description": "The name of the alert group. Is the identifier and must be unique in the group.\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 alert group is associated.\n" } }, "type": "object", "required": [ - "networkAreaId", - "networkAreaRouteId", - "organizationId" + "instanceId", + "name", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getNetworkAreaRoute.\n", + "description": "A collection of values returned by getObservabilityAlertgroup.\n", "properties": { - "destination": { - "$ref": "#/types/stackit:index/getNetworkAreaRouteDestination:getNetworkAreaRouteDestination", - "description": "Destination of the route.\n" - }, "id": { "type": "string", - "description": "Terraform's internal data source ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkAreaRouteId`\" pulumi-lang-dotnet=\"`NetworkAreaRouteId`\" pulumi-lang-go=\"`networkAreaRouteId`\" pulumi-lang-python=\"`network_area_route_id`\" pulumi-lang-yaml=\"`networkAreaRouteId`\" pulumi-lang-java=\"`networkAreaRouteId`\"\u003e`networkAreaRouteId`\u003c/span\u003e\".\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\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=\"`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=\"`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" }, - "networkAreaId": { + "instanceId": { "type": "string", - "description": "The network area ID to which the network area route is associated.\n" + "description": "Observability instance ID to which the alert group is associated.\n" }, - "networkAreaRouteId": { + "interval": { "type": "string", - "description": "The network area route ID.\n" - }, - "nextHop": { - "$ref": "#/types/stackit:index/getNetworkAreaRouteNextHop:getNetworkAreaRouteNextHop", - "description": "Next hop destination.\n" + "description": "Specifies the frequency at which rules within the group are evaluated. The interval must be at least 60 seconds and defaults to 60 seconds if not set. Supported formats include hours, minutes, and seconds, either singly or in combination. Examples of valid formats are: '5h30m40s', '5h', '5h30m', '60m', and '60s'.\n" }, - "organizationId": { + "name": { "type": "string", - "description": "STACKIT organization ID to which the network area is associated.\n" + "description": "The name of the alert group. Is the identifier and must be unique in the group.\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 alert group is associated.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getObservabilityAlertgroupRule:getObservabilityAlertgroupRule" + } } }, "type": "object", "required": [ - "destination", "id", - "labels", - "networkAreaId", - "networkAreaRouteId", - "nextHop", - "organizationId" + "instanceId", + "interval", + "name", + "projectId", + "rules" ] } }, - "stackit:index/getNetworkInterface:getNetworkInterface": { - "description": "Network interface 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_network_interface\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getObservabilityInstance:getObservabilityInstance": { + "description": "Observability 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_observability_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 getNetworkInterface.\n", + "description": "A collection of arguments for invoking getObservabilityInstance.\n", "properties": { - "networkId": { - "type": "string", - "description": "The network ID to which the network interface is associated.\n" - }, - "networkInterfaceId": { + "instanceId": { "type": "string", - "description": "The network interface ID.\n" + "description": "The Observability instance ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the network interface is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT project ID to which the instance is associated.\n" } }, "type": "object", "required": [ - "networkId", - "networkInterfaceId", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getNetworkInterface.\n", + "description": "A collection of values returned by getObservabilityInstance.\n", "properties": { - "allowedAddresses": { + "acls": { "type": "array", "items": { "type": "string" }, - "description": "The list of CIDR (Classless Inter-Domain Routing) notations.\n" + "description": "The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation.\n" + }, + "alertConfig": { + "$ref": "#/types/stackit:index/getObservabilityInstanceAlertConfig:getObservabilityInstanceAlertConfig", + "description": "Alert configuration for the instance.\n" + }, + "alertingUrl": { + "type": "string", + "description": "Specifies Alerting URL.\n" + }, + "dashboardUrl": { + "type": "string", + "description": "Specifies Observability instance dashboard URL.\n" + }, + "grafanaAdminEnabled": { + "type": "boolean", + "description": "If true, a default Grafana server admin user was created.\n" + }, + "grafanaInitialAdminPassword": { + "type": "string", + "description": "Specifies an initial Grafana admin password.\n", + "deprecationMessage": "This attribute is deprecated and will be removed on July 5, 2026. Use \u003cspan pulumi-lang-nodejs=\"`grafanaAdminEnabled`\" pulumi-lang-dotnet=\"`GrafanaAdminEnabled`\" pulumi-lang-go=\"`grafanaAdminEnabled`\" pulumi-lang-python=\"`grafana_admin_enabled`\" pulumi-lang-yaml=\"`grafanaAdminEnabled`\" pulumi-lang-java=\"`grafanaAdminEnabled`\"\u003e`grafanaAdminEnabled`\u003c/span\u003e instead.", + "secret": true + }, + "grafanaInitialAdminUser": { + "type": "string", + "description": "Specifies an initial Grafana admin username.\n", + "deprecationMessage": "This attribute is deprecated and will be removed on July 5, 2026. Use \u003cspan pulumi-lang-nodejs=\"`grafanaAdminEnabled`\" pulumi-lang-dotnet=\"`GrafanaAdminEnabled`\" pulumi-lang-go=\"`grafanaAdminEnabled`\" pulumi-lang-python=\"`grafana_admin_enabled`\" pulumi-lang-yaml=\"`grafanaAdminEnabled`\" pulumi-lang-java=\"`grafanaAdminEnabled`\"\u003e`grafanaAdminEnabled`\u003c/span\u003e instead." + }, + "grafanaPublicReadAccess": { + "type": "boolean", + "description": "If true, anyone can access Grafana dashboards without logging in.\n" + }, + "grafanaUrl": { + "type": "string", + "description": "Specifies Grafana URL.\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=\"`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 Observability instance ID.\n" + }, + "isUpdatable": { + "type": "boolean", + "description": "Specifies if the instance can be updated.\n" + }, + "jaegerTracesUrl": { + "type": "string" + }, + "jaegerUiUrl": { + "type": "string" + }, + "logsPushUrl": { + "type": "string", + "description": "Specifies URL for pushing logs.\n" + }, + "logsRetentionDays": { + "type": "integer", + "description": "Specifies for how many days the logs are kept. Default is set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n" + }, + "logsUrl": { + "type": "string", + "description": "Specifies Logs URL.\n" + }, + "metricsPushUrl": { + "type": "string", + "description": "Specifies URL for pushing metrics.\n" + }, + "metricsRetentionDays": { + "type": "integer", + "description": "Specifies for how many days the raw metrics are kept. Default is set to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n" + }, + "metricsRetentionDays1hDownsampling": { + "type": "integer", + "description": "Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n" + }, + "metricsRetentionDays5mDownsampling": { + "type": "integer", + "description": "Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n" }, - "device": { + "metricsUrl": { "type": "string", - "description": "The device UUID of the network interface.\n" + "description": "Specifies metrics URL.\n" }, - "id": { + "name": { "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=\"`networkId`\" pulumi-lang-dotnet=\"`NetworkId`\" pulumi-lang-go=\"`networkId`\" pulumi-lang-python=\"`network_id`\" pulumi-lang-yaml=\"`networkId`\" pulumi-lang-java=\"`networkId`\"\u003e`networkId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`networkInterfaceId`\" pulumi-lang-dotnet=\"`NetworkInterfaceId`\" pulumi-lang-go=\"`networkInterfaceId`\" pulumi-lang-python=\"`network_interface_id`\" pulumi-lang-yaml=\"`networkInterfaceId`\" pulumi-lang-java=\"`networkInterfaceId`\"\u003e`networkInterfaceId`\u003c/span\u003e\".\n" + "description": "The name of the Observability instance.\n" }, - "ipv4": { - "type": "string", - "description": "The IPv4 address.\n" + "otlpGrpcTracesUrl": { + "type": "string" }, - "labels": { + "otlpHttpLogsUrl": { + "type": "string" + }, + "otlpHttpTracesUrl": { + "type": "string" + }, + "otlpTracesUrl": { + "type": "string" + }, + "parameters": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Labels are key-value string pairs which can be attached to a network interface.\n" - }, - "mac": { - "type": "string", - "description": "The MAC address of network interface.\n" - }, - "name": { - "type": "string", - "description": "The name of the network interface.\n" + "description": "Additional parameters.\n" }, - "networkId": { + "planId": { "type": "string", - "description": "The network ID to which the network interface is associated.\n" + "description": "The Observability plan ID.\n" }, - "networkInterfaceId": { + "planName": { "type": "string", - "description": "The network interface ID.\n" + "description": "Specifies the Observability plan. E.g. `Observability-Monitoring-Medium-EU01`.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the network interface is associated.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "region": { + "targetsUrl": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "security": { - "type": "boolean", - "description": "The Network Interface Security. If set to false, then no security groups will apply to this network interface.\n" + "description": "Specifies Targets URL.\n" }, - "securityGroupIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of security group UUIDs. If security is set to false, setting this field will lead to an error.\n" + "tracesRetentionDays": { + "type": "integer", + "description": "Specifies for how many days the traces are kept. Default is set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n" }, - "type": { - "type": "string", - "description": "Type of network interface. Some of the possible values are: Possible values are: \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\"\u003e`metadata`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gateway`\" pulumi-lang-dotnet=\"`Gateway`\" pulumi-lang-go=\"`gateway`\" pulumi-lang-python=\"`gateway`\" pulumi-lang-yaml=\"`gateway`\" pulumi-lang-java=\"`gateway`\"\u003e`gateway`\u003c/span\u003e.\n" + "zipkinSpansUrl": { + "type": "string" } }, "type": "object", "required": [ - "allowedAddresses", - "device", + "acls", + "alertConfig", + "alertingUrl", + "dashboardUrl", + "grafanaAdminEnabled", + "grafanaInitialAdminPassword", + "grafanaInitialAdminUser", + "grafanaPublicReadAccess", + "grafanaUrl", "id", - "ipv4", - "labels", - "mac", + "instanceId", + "isUpdatable", + "jaegerTracesUrl", + "jaegerUiUrl", + "logsPushUrl", + "logsRetentionDays", + "logsUrl", + "metricsPushUrl", + "metricsRetentionDays", + "metricsRetentionDays1hDownsampling", + "metricsRetentionDays5mDownsampling", + "metricsUrl", "name", - "networkId", - "networkInterfaceId", + "otlpGrpcTracesUrl", + "otlpHttpLogsUrl", + "otlpHttpTracesUrl", + "otlpTracesUrl", + "parameters", + "planId", + "planName", "projectId", - "security", - "securityGroupIds", - "type" + "targetsUrl", + "tracesRetentionDays", + "zipkinSpansUrl" ] } }, - "stackit:index/getObjectstorageBucket:getObjectstorageBucket": { - "description": "ObjectStorage bucket 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_objectstorage_bucket\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-name\"\n}\n```\n", + "stackit:index/getObservabilityLogalertgroup:getObservabilityLogalertgroup": { + "description": "Observability log alert group datasource schema. Used to create alerts based on logs (Loki). 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_observability_logalertgroup\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-log-alert-group\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getObjectstorageBucket.\n", + "description": "A collection of arguments for invoking getObservabilityLogalertgroup.\n", "properties": { - "name": { + "instanceId": { "type": "string", - "description": "The bucket name. It must be DNS conform.\n" + "description": "Observability instance ID to which the log alert group is associated.\n" }, - "projectId": { + "name": { "type": "string", - "description": "STACKIT Project ID to which the bucket is associated.\n" + "description": "The name of the log alert group. Is the identifier and must be unique in the group.\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 log alert group is associated.\n" } }, "type": "object", "required": [ + "instanceId", "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getObjectstorageBucket.\n", + "description": "A collection of values returned by getObservabilityLogalertgroup.\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=\"`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" + "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=\"`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=\"`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" }, - "name": { + "instanceId": { "type": "string", - "description": "The bucket name. It must be DNS conform.\n" - }, - "objectLock": { - "type": "boolean", - "description": "Enable Object Lock on this bucket. Can only be set at creation time. Requires an active project-level compliance lock.\n" + "description": "Observability instance ID to which the log alert group is associated.\n" }, - "projectId": { + "interval": { "type": "string", - "description": "STACKIT Project ID to which the bucket is associated.\n" + "description": "Specifies the frequency at which rules within the group are evaluated. The interval must be at least 60 seconds and defaults to 60 seconds if not set. Supported formats include hours, minutes, and seconds, either singly or in combination. Examples of valid formats are: '5h30m40s', '5h', '5h30m', '60m', and '60s'.\n" }, - "region": { + "name": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The name of the log alert group. Is the identifier and must be unique in the group.\n" }, - "urlPathStyle": { - "type": "string" + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the log alert group is associated.\n" }, - "urlVirtualHostedStyle": { - "type": "string" + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getObservabilityLogalertgroupRule:getObservabilityLogalertgroupRule" + } } }, "type": "object", "required": [ "id", + "instanceId", + "interval", "name", - "objectLock", "projectId", - "urlPathStyle", - "urlVirtualHostedStyle" + "rules" ] } }, - "stackit:index/getObjectstorageComplianceLock:getObjectstorageComplianceLock": { - "description": "ObjectStorage compliance 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.\n\n## Example Usage\n\n```terraform\ndata \"stackit_objectstorage_compliance_lock\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getObservabilityScrapeconfig:getObservabilityScrapeconfig": { + "description": "Observability scrape config 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_observability_scrapeconfig\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getObjectstorageComplianceLock.\n", + "description": "A collection of arguments for invoking getObservabilityScrapeconfig.\n", "properties": { - "projectId": { + "instanceId": { "type": "string", - "description": "STACKIT Project ID to which the compliance lock is associated.\n" + "description": "Observability instance ID to which the scraping job is associated.\n" }, - "region": { + "name": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Specifies the name of the scraping job\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the scraping job is associated.\n" } }, "type": "object", "required": [ + "instanceId", + "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getObjectstorageComplianceLock.\n", + "description": "A collection of values returned by getObservabilityScrapeconfig.\n", "properties": { + "basicAuth": { + "$ref": "#/types/stackit:index/getObservabilityScrapeconfigBasicAuth:getObservabilityScrapeconfigBasicAuth", + "description": "A basic authentication block.\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\".\n" - }, - "maxRetentionDays": { - "type": "integer", - "description": "Maximum retention period in days.\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=\"`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=\"`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" }, - "projectId": { + "instanceId": { "type": "string", - "description": "STACKIT Project ID to which the compliance lock is associated.\n" + "description": "Observability instance ID to which the scraping job is associated.\n" }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - } - }, - "type": "object", - "required": [ - "id", - "maxRetentionDays", - "projectId" - ] - } - }, - "stackit:index/getObjectstorageCredential:getObjectstorageCredential": { - "description": "ObjectStorage credential 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_objectstorage_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", - "inputs": { - "description": "A collection of arguments for invoking getObjectstorageCredential.\n", - "properties": { - "credentialId": { + "metricsPath": { "type": "string", - "description": "The credential ID.\n" + "description": "Specifies the job scraping url path.\n" }, - "credentialsGroupId": { + "name": { "type": "string", - "description": "The credential group ID.\n" + "description": "Specifies the name of the scraping job\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the credential group is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - } - }, - "type": "object", - "required": [ - "credentialId", - "credentialsGroupId", - "projectId" - ] - }, - "outputs": { - "description": "A collection of values returned by getObjectstorageCredential.\n", - "properties": { - "credentialId": { - "type": "string", - "description": "The credential ID.\n" + "description": "STACKIT project ID to which the scraping job is associated.\n" }, - "credentialsGroupId": { - "type": "string", - "description": "The credential group ID.\n" + "saml2": { + "$ref": "#/types/stackit:index/getObservabilityScrapeconfigSaml2:getObservabilityScrapeconfigSaml2", + "description": "A SAML2 configuration block.\n" }, - "expirationTimestamp": { - "type": "string" + "sampleLimit": { + "type": "integer", + "description": "Specifies the scrape sample limit.\n" }, - "id": { + "scheme": { "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=\"`credentialsGroupId`\" pulumi-lang-dotnet=\"`CredentialsGroupId`\" pulumi-lang-go=\"`credentialsGroupId`\" pulumi-lang-python=\"`credentials_group_id`\" pulumi-lang-yaml=\"`credentialsGroupId`\" pulumi-lang-java=\"`credentialsGroupId`\"\u003e`credentialsGroupId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" - }, - "name": { - "type": "string" + "description": "Specifies the http scheme.\n" }, - "projectId": { + "scrapeInterval": { "type": "string", - "description": "STACKIT Project ID to which the credential group is associated.\n" + "description": "Specifies the scrape interval as duration string.\n" }, - "region": { + "scrapeTimeout": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Specifies the scrape timeout as duration string.\n" + }, + "targets": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getObservabilityScrapeconfigTarget:getObservabilityScrapeconfigTarget" + }, + "description": "The targets list (specified by the static config).\n" } }, "type": "object", "required": [ - "credentialId", - "credentialsGroupId", - "expirationTimestamp", + "basicAuth", "id", + "instanceId", + "metricsPath", "name", - "projectId" + "projectId", + "saml2", + "sampleLimit", + "scheme", + "scrapeInterval", + "scrapeTimeout", + "targets" ] } }, - "stackit:index/getObjectstorageCredentialsGroup:getObjectstorageCredentialsGroup": { - "description": "ObjectStorage credentials group 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_objectstorage_credentials_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getOpensearchCredential:getOpensearchCredential": { + "description": "OpenSearch credential 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_opensearch_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getObjectstorageCredentialsGroup.\n", + "description": "A collection of arguments for invoking getOpensearchCredential.\n", "properties": { - "credentialsGroupId": { + "credentialId": { "type": "string", - "description": "The credentials group ID.\n" + "description": "The credential's ID.\n" }, - "projectId": { + "instanceId": { "type": "string", - "description": "Object Storage Project ID to which the credentials group is associated.\n" + "description": "ID of the OpenSearch instance.\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 instance is associated.\n" } }, "type": "object", "required": [ - "credentialsGroupId", + "credentialId", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getObjectstorageCredentialsGroup.\n", + "description": "A collection of values returned by getOpensearchCredential.\n", "properties": { - "credentialsGroupId": { + "credentialId": { "type": "string", - "description": "The credentials group ID.\n" + "description": "The credential's ID.\n" + }, + "host": { + "type": "string" + }, + "hosts": { + "type": "array", + "items": { + "type": "string" + } }, "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=\"`credentialsGroupId`\" pulumi-lang-dotnet=\"`CredentialsGroupId`\" pulumi-lang-go=\"`credentialsGroupId`\" pulumi-lang-python=\"`credentials_group_id`\" pulumi-lang-yaml=\"`credentialsGroupId`\" pulumi-lang-java=\"`credentialsGroupId`\"\u003e`credentialsGroupId`\u003c/span\u003e\".\n" + "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, - "name": { + "instanceId": { "type": "string", - "description": "The credentials group's display name.\n" + "description": "ID of the OpenSearch instance.\n" }, - "projectId": { + "password": { "type": "string", - "description": "Object Storage Project ID to which the credentials group is associated.\n" + "secret": true }, - "region": { + "port": { + "type": "integer" + }, + "projectId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "urn": { + "scheme": { + "type": "string" + }, + "uri": { "type": "string", - "description": "Credentials group uniform resource name (URN)\n" + "secret": true + }, + "username": { + "type": "string" } }, "type": "object", "required": [ - "credentialsGroupId", + "credentialId", + "host", + "hosts", "id", - "name", + "instanceId", + "password", + "port", "projectId", - "urn" + "scheme", + "uri", + "username" ] } }, - "stackit:index/getObjectstorageDefaultRetention:getObjectstorageDefaultRetention": { - "description": "ObjectStorage default-retention 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", + "stackit:index/getOpensearchInstance:getOpensearchInstance": { + "description": "OpenSearch 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_opensearch_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 getObjectstorageDefaultRetention.\n", + "description": "A collection of arguments for invoking getOpensearchInstance.\n", "properties": { - "bucketName": { - "type": "string", - "description": "The associated bucket's name. It must be DNS conform.\n" - }, - "days": { - "type": "integer", - "description": "The number retention period in days.\n" - }, - "mode": { + "instanceId": { "type": "string", - "description": "The retention mode for default retention on a bucket.\n" + "description": "ID of the OpenSearch instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the default-retention is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" } }, "type": "object", "required": [ - "bucketName", - "days", - "mode", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getObjectstorageDefaultRetention.\n", + "description": "A collection of values returned by getOpensearchInstance.\n", "properties": { - "bucketName": { - "type": "string", - "description": "The associated bucket's name. It must be DNS conform.\n" + "cfGuid": { + "type": "string" }, - "days": { - "type": "integer", - "description": "The number retention period in days.\n" + "cfOrganizationGuid": { + "type": "string" + }, + "cfSpaceGuid": { + "type": "string" + }, + "dashboardUrl": { + "type": "string" }, "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=\"`bucketName`\" pulumi-lang-dotnet=\"`BucketName`\" pulumi-lang-go=\"`bucketName`\" pulumi-lang-python=\"`bucket_name`\" pulumi-lang-yaml=\"`bucketName`\" pulumi-lang-java=\"`bucketName`\"\u003e`bucketName`\u003c/span\u003e\".\n" + "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=\"`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" }, - "mode": { + "imageUrl": { + "type": "string" + }, + "instanceId": { "type": "string", - "description": "The retention mode for default retention on a bucket.\n" + "description": "ID of the OpenSearch instance.\n" + }, + "name": { + "type": "string", + "description": "Instance name.\n" + }, + "parameters": { + "$ref": "#/types/stackit:index/getOpensearchInstanceParameters:getOpensearchInstanceParameters" + }, + "planId": { + "type": "string", + "description": "The selected plan ID.\n" + }, + "planName": { + "type": "string", + "description": "The selected plan name.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the default-retention is associated.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" }, - "region": { + "version": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The service version.\n" } }, "type": "object", "required": [ - "bucketName", - "days", + "cfGuid", + "cfOrganizationGuid", + "cfSpaceGuid", + "dashboardUrl", "id", - "mode", + "imageUrl", + "instanceId", + "name", + "parameters", + "planId", + "planName", "projectId", - "region" + "version" ] } }, - "stackit:index/getObservabilityAlertgroup:getObservabilityAlertgroup": { - "description": "Observability alert group datasource schema. Used to create alerts based on metrics (Thanos). 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_observability_alertgroup\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-alert-group\"\n}\n```\n", + "stackit:index/getPostgresflexDatabase:getPostgresflexDatabase": { + "description": "Postgres Flex database resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_postgresflex_database\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n database_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getObservabilityAlertgroup.\n", + "description": "A collection of arguments for invoking getPostgresflexDatabase.\n", "properties": { - "instanceId": { + "databaseId": { "type": "string", - "description": "Observability instance ID to which the alert group is associated.\n" + "description": "Database ID.\n" }, - "name": { + "instanceId": { "type": "string", - "description": "The name of the alert group. Is the identifier and must be unique in the group.\n" + "description": "ID of the Postgres Flex instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the alert group 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": [ + "databaseId", "instanceId", - "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getObservabilityAlertgroup.\n", + "description": "A collection of values returned by getPostgresflexDatabase.\n", "properties": { + "databaseId": { + "type": "string", + "description": "Database ID.\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=\"`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=\"`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" + "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=\"`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=\"`databaseId`\" pulumi-lang-dotnet=\"`DatabaseId`\" pulumi-lang-go=\"`databaseId`\" pulumi-lang-python=\"`database_id`\" pulumi-lang-yaml=\"`databaseId`\" pulumi-lang-java=\"`databaseId`\"\u003e`databaseId`\u003c/span\u003e\".\n" }, "instanceId": { "type": "string", - "description": "Observability instance ID to which the alert group is associated.\n" + "description": "ID of the Postgres Flex instance.\n" }, - "interval": { + "name": { "type": "string", - "description": "Specifies the frequency at which rules within the group are evaluated. The interval must be at least 60 seconds and defaults to 60 seconds if not set. Supported formats include hours, minutes, and seconds, either singly or in combination. Examples of valid formats are: '5h30m40s', '5h', '5h30m', '60m', and '60s'.\n" + "description": "Database name.\n" }, - "name": { + "owner": { "type": "string", - "description": "The name of the alert group. Is the identifier and must be unique in the group.\n" + "description": "Username of the database owner.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the alert group is associated.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "rules": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getObservabilityAlertgroupRule:getObservabilityAlertgroupRule" - } + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "databaseId", "id", "instanceId", - "interval", "name", - "projectId", - "rules" + "owner", + "projectId" ] } }, - "stackit:index/getObservabilityInstance:getObservabilityInstance": { - "description": "Observability 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_observability_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getPostgresflexInstance:getPostgresflexInstance": { + "description": "Postgres 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_postgresflex_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 getObservabilityInstance.\n", + "description": "A collection of arguments for invoking getPostgresflexInstance.\n", "properties": { "instanceId": { "type": "string", - "description": "The Observability instance ID.\n" + "description": "ID of the PostgresFlex instance.\n" }, "projectId": { "type": "string", "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", @@ -27113,353 +28550,253 @@ ] }, "outputs": { - "description": "A collection of values returned by getObservabilityInstance.\n", + "description": "A collection of values returned by getPostgresflexInstance.\n", "properties": { "acls": { "type": "array", "items": { "type": "string" }, - "description": "The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation.\n" - }, - "alertConfig": { - "$ref": "#/types/stackit:index/getObservabilityInstanceAlertConfig:getObservabilityInstanceAlertConfig", - "description": "Alert configuration for the instance.\n" - }, - "alertingUrl": { - "type": "string", - "description": "Specifies Alerting URL.\n" - }, - "dashboardUrl": { - "type": "string", - "description": "Specifies Observability instance dashboard URL.\n" - }, - "grafanaAdminEnabled": { - "type": "boolean", - "description": "If true, a default Grafana server admin user was created.\n" - }, - "grafanaInitialAdminPassword": { - "type": "string", - "description": "Specifies an initial Grafana admin password.\n", - "deprecationMessage": "This attribute is deprecated and will be removed on July 5, 2026. Use \u003cspan pulumi-lang-nodejs=\"`grafanaAdminEnabled`\" pulumi-lang-dotnet=\"`GrafanaAdminEnabled`\" pulumi-lang-go=\"`grafanaAdminEnabled`\" pulumi-lang-python=\"`grafana_admin_enabled`\" pulumi-lang-yaml=\"`grafanaAdminEnabled`\" pulumi-lang-java=\"`grafanaAdminEnabled`\"\u003e`grafanaAdminEnabled`\u003c/span\u003e instead.", - "secret": true - }, - "grafanaInitialAdminUser": { - "type": "string", - "description": "Specifies an initial Grafana admin username.\n", - "deprecationMessage": "This attribute is deprecated and will be removed on July 5, 2026. Use \u003cspan pulumi-lang-nodejs=\"`grafanaAdminEnabled`\" pulumi-lang-dotnet=\"`GrafanaAdminEnabled`\" pulumi-lang-go=\"`grafanaAdminEnabled`\" pulumi-lang-python=\"`grafana_admin_enabled`\" pulumi-lang-yaml=\"`grafanaAdminEnabled`\" pulumi-lang-java=\"`grafanaAdminEnabled`\"\u003e`grafanaAdminEnabled`\u003c/span\u003e instead." + "description": "The Access Control List (ACL) for the PostgresFlex instance.\n" }, - "grafanaPublicReadAccess": { - "type": "boolean", - "description": "If true, anyone can access Grafana dashboards without logging in.\n" + "backupSchedule": { + "type": "string" }, - "grafanaUrl": { - "type": "string", - "description": "Specifies Grafana URL.\n" + "flavor": { + "$ref": "#/types/stackit:index/getPostgresflexInstanceFlavor:getPostgresflexInstanceFlavor" }, "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=\"`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": "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" }, "instanceId": { "type": "string", - "description": "The Observability instance ID.\n" - }, - "isUpdatable": { - "type": "boolean", - "description": "Specifies if the instance can be updated.\n" - }, - "jaegerTracesUrl": { - "type": "string" - }, - "jaegerUiUrl": { - "type": "string" - }, - "logsPushUrl": { - "type": "string", - "description": "Specifies URL for pushing logs.\n" - }, - "logsRetentionDays": { - "type": "integer", - "description": "Specifies for how many days the logs are kept. Default is set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n" - }, - "logsUrl": { - "type": "string", - "description": "Specifies Logs URL.\n" - }, - "metricsPushUrl": { - "type": "string", - "description": "Specifies URL for pushing metrics.\n" - }, - "metricsRetentionDays": { - "type": "integer", - "description": "Specifies for how many days the raw metrics are kept. Default is set to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n" - }, - "metricsRetentionDays1hDownsampling": { - "type": "integer", - "description": "Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n" - }, - "metricsRetentionDays5mDownsampling": { - "type": "integer", - "description": "Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n" - }, - "metricsUrl": { - "type": "string", - "description": "Specifies metrics URL.\n" + "description": "ID of the PostgresFlex instance.\n" }, "name": { "type": "string", - "description": "The name of the Observability instance.\n" - }, - "otlpGrpcTracesUrl": { - "type": "string" - }, - "otlpHttpLogsUrl": { - "type": "string" - }, - "otlpHttpTracesUrl": { - "type": "string" - }, - "otlpTracesUrl": { - "type": "string" - }, - "parameters": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Additional parameters.\n" - }, - "planId": { - "type": "string", - "description": "The Observability plan ID.\n" - }, - "planName": { - "type": "string", - "description": "Specifies the Observability plan. E.g. `Observability-Monitoring-Medium-EU01`.\n" + "description": "Instance name.\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, - "targetsUrl": { + "region": { "type": "string", - "description": "Specifies Targets URL.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "tracesRetentionDays": { - "type": "integer", - "description": "Specifies for how many days the traces are kept. Default is set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n" + "replicas": { + "type": "integer" }, - "zipkinSpansUrl": { + "storage": { + "$ref": "#/types/stackit:index/getPostgresflexInstanceStorage:getPostgresflexInstanceStorage" + }, + "version": { "type": "string" } }, "type": "object", "required": [ "acls", - "alertConfig", - "alertingUrl", - "dashboardUrl", - "grafanaAdminEnabled", - "grafanaInitialAdminPassword", - "grafanaInitialAdminUser", - "grafanaPublicReadAccess", - "grafanaUrl", + "backupSchedule", + "flavor", "id", "instanceId", - "isUpdatable", - "jaegerTracesUrl", - "jaegerUiUrl", - "logsPushUrl", - "logsRetentionDays", - "logsUrl", - "metricsPushUrl", - "metricsRetentionDays", - "metricsRetentionDays1hDownsampling", - "metricsRetentionDays5mDownsampling", - "metricsUrl", "name", - "otlpGrpcTracesUrl", - "otlpHttpLogsUrl", - "otlpHttpTracesUrl", - "otlpTracesUrl", - "parameters", - "planId", - "planName", "projectId", - "targetsUrl", - "tracesRetentionDays", - "zipkinSpansUrl" + "replicas", + "storage", + "version" ] } }, - "stackit:index/getObservabilityLogalertgroup:getObservabilityLogalertgroup": { - "description": "Observability log alert group datasource schema. Used to create alerts based on logs (Loki). 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_observability_logalertgroup\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-log-alert-group\"\n}\n```\n", + "stackit:index/getPostgresflexUser:getPostgresflexUser": { + "description": "Postgres 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_postgresflex_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 getObservabilityLogalertgroup.\n", + "description": "A collection of arguments for invoking getPostgresflexUser.\n", "properties": { "instanceId": { "type": "string", - "description": "Observability instance ID to which the log alert group is associated.\n" + "description": "ID of the PostgresFlex instance.\n" }, - "name": { + "projectId": { "type": "string", - "description": "The name of the log alert group. Is the identifier and must be unique in the group.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT project ID to which the log alert group is associated.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "userId": { + "type": "string", + "description": "User ID.\n" } }, "type": "object", "required": [ "instanceId", - "name", - "projectId" + "projectId", + "userId" ] }, "outputs": { - "description": "A collection of values returned by getObservabilityLogalertgroup.\n", + "description": "A collection of values returned by getPostgresflexUser.\n", "properties": { + "host": { + "type": "string" + }, "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=\"`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=\"`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" + "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" }, "instanceId": { "type": "string", - "description": "Observability instance ID to which the log alert group is associated.\n" + "description": "ID of the PostgresFlex instance.\n" }, - "interval": { - "type": "string", - "description": "Specifies the frequency at which rules within the group are evaluated. The interval must be at least 60 seconds and defaults to 60 seconds if not set. Supported formats include hours, minutes, and seconds, either singly or in combination. Examples of valid formats are: '5h30m40s', '5h', '5h30m', '60m', and '60s'.\n" + "port": { + "type": "integer" }, - "name": { + "projectId": { "type": "string", - "description": "The name of the log alert group. Is the identifier and must be unique in the group.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT project ID to which the log alert group is associated.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "rules": { + "roles": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getObservabilityLogalertgroupRule:getObservabilityLogalertgroupRule" + "type": "string" } + }, + "userId": { + "type": "string", + "description": "User ID.\n" + }, + "username": { + "type": "string" } }, "type": "object", "required": [ + "host", "id", "instanceId", - "interval", - "name", + "port", "projectId", - "rules" + "roles", + "userId", + "username" ] } }, - "stackit:index/getObservabilityScrapeconfig:getObservabilityScrapeconfig": { - "description": "Observability scrape config 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_observability_scrapeconfig\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n}\n```\n", + "stackit:index/getPublicIp:getPublicIp": { + "description": "Public IP resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n public_ip_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getObservabilityScrapeconfig.\n", + "description": "A collection of arguments for invoking getPublicIp.\n", "properties": { - "instanceId": { + "projectId": { "type": "string", - "description": "Observability instance ID to which the scraping job is associated.\n" + "description": "STACKIT project ID to which the public IP is associated.\n" }, - "name": { + "publicIpId": { "type": "string", - "description": "Specifies the name of the scraping job\n" + "description": "The public IP ID.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT project ID to which the scraping job is associated.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "instanceId", - "name", - "projectId" + "projectId", + "publicIpId" ] }, "outputs": { - "description": "A collection of values returned by getObservabilityScrapeconfig.\n", + "description": "A collection of values returned by getPublicIp.\n", "properties": { - "basicAuth": { - "$ref": "#/types/stackit:index/getObservabilityScrapeconfigBasicAuth:getObservabilityScrapeconfigBasicAuth", - "description": "A basic authentication block.\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=\"`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=\"`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" + "description": "Terraform's internal datasource 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=\"`publicIpId`\" pulumi-lang-dotnet=\"`PublicIpId`\" pulumi-lang-go=\"`publicIpId`\" pulumi-lang-python=\"`public_ip_id`\" pulumi-lang-yaml=\"`publicIpId`\" pulumi-lang-java=\"`publicIpId`\"\u003e`publicIpId`\u003c/span\u003e\".\n" }, - "instanceId": { + "ip": { "type": "string", - "description": "Observability instance ID to which the scraping job is associated.\n" + "description": "The IP address.\n" }, - "metricsPath": { - "type": "string", - "description": "Specifies the job scraping url path.\n" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "name": { + "networkInterfaceId": { "type": "string", - "description": "Specifies the name of the scraping job\n" + "description": "Associates the public IP with a network interface or a virtual IP (ID).\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the scraping job is associated.\n" - }, - "saml2": { - "$ref": "#/types/stackit:index/getObservabilityScrapeconfigSaml2:getObservabilityScrapeconfigSaml2", - "description": "A SAML2 configuration block.\n" - }, - "sampleLimit": { - "type": "integer", - "description": "Specifies the scrape sample limit.\n" + "description": "STACKIT project ID to which the public IP is associated.\n" }, - "scheme": { + "publicIpId": { "type": "string", - "description": "Specifies the http scheme.\n" + "description": "The public IP ID.\n" }, - "scrapeInterval": { + "region": { "type": "string", - "description": "Specifies the scrape interval as duration string.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "id", + "ip", + "labels", + "networkInterfaceId", + "projectId", + "publicIpId" + ] + } + }, + "stackit:index/getPublicIpRanges:getPublicIpRanges": { + "description": "A list of all public IP ranges that STACKIT uses.\n\n## Example Usage\n\n```terraform\ndata \"stackit_public_ip_ranges\" \"example\" {}\n\n# example usage: allow stackit services and customer vpn cidr to access observability apis\nlocals {\n vpn_cidrs = [\"X.X.X.X/32\", \"X.X.X.X/24\"]\n}\n\nresource \"stackit_observability_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n plan_name = \"Observability-Monitoring-Medium-EU01\"\n # Allow all stackit services and customer vpn cidr to access observability apis\n acl = concat(data.stackit_public_ip_ranges.example.cidr_list, local.vpn_cidrs)\n metrics_retention_days = 90\n metrics_retention_days_5m_downsampling = 90\n metrics_retention_days_1h_downsampling = 90\n}\n```\n", + "outputs": { + "description": "A collection of values returned by getPublicIpRanges.\n", + "properties": { + "cidrLists": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of IP range strings (CIDRs) extracted from the public*ip*ranges for easy consumption.\n" }, - "scrapeTimeout": { + "id": { "type": "string", - "description": "Specifies the scrape timeout as duration string.\n" + "description": "Terraform's internal resource ID. It takes the values of \"`public_ip_ranges.*.cidr`\".\n" }, - "targets": { + "publicIpRanges": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getObservabilityScrapeconfigTarget:getObservabilityScrapeconfigTarget" + "$ref": "#/types/stackit:index/getPublicIpRangesPublicIpRange:getPublicIpRangesPublicIpRange" }, - "description": "The targets list (specified by the static config).\n" + "description": "A list of all public IP ranges.\n" } }, "type": "object", "required": [ - "basicAuth", + "cidrLists", "id", - "instanceId", - "metricsPath", - "name", - "projectId", - "saml2", - "sampleLimit", - "scheme", - "scrapeInterval", - "scrapeTimeout", - "targets" + "publicIpRanges" ] } }, - "stackit:index/getOpensearchCredential:getOpensearchCredential": { - "description": "OpenSearch credential 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_opensearch_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getRabbitmqCredential:getRabbitmqCredential": { + "description": "RabbitMQ credential 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_rabbitmq_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getOpensearchCredential.\n", + "description": "A collection of arguments for invoking getRabbitmqCredential.\n", "properties": { "credentialId": { "type": "string", @@ -27467,11 +28804,15 @@ }, "instanceId": { "type": "string", - "description": "ID of the OpenSearch instance.\n" + "description": "ID of the RabbitMQ instance.\n" }, "projectId": { "type": "string", "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", @@ -27482,7 +28823,7 @@ ] }, "outputs": { - "description": "A collection of values returned by getOpensearchCredential.\n", + "description": "A collection of values returned by getRabbitmqCredential.\n", "properties": { "credentialId": { "type": "string", @@ -27497,13 +28838,25 @@ "type": "string" } }, + "httpApiUri": { + "type": "string" + }, + "httpApiUris": { + "type": "array", + "items": { + "type": "string" + } + }, "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" + "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, "instanceId": { "type": "string", - "description": "ID of the OpenSearch instance.\n" + "description": "ID of the RabbitMQ instance.\n" + }, + "management": { + "type": "string" }, "password": { "type": "string", @@ -27516,13 +28869,20 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, - "scheme": { - "type": "string" + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" }, "uri": { "type": "string", "secret": true }, + "uris": { + "type": "array", + "items": { + "type": "string" + } + }, "username": { "type": "string" } @@ -27532,29 +28892,37 @@ "credentialId", "host", "hosts", + "httpApiUri", + "httpApiUris", "id", "instanceId", + "management", "password", "port", "projectId", - "scheme", + "region", "uri", + "uris", "username" ] } }, - "stackit:index/getOpensearchInstance:getOpensearchInstance": { - "description": "OpenSearch 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_opensearch_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getRabbitmqInstance:getRabbitmqInstance": { + "description": "RabbitMQ 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_rabbitmq_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 getOpensearchInstance.\n", + "description": "A collection of arguments for invoking getRabbitmqInstance.\n", "properties": { "instanceId": { "type": "string", - "description": "ID of the OpenSearch instance.\n" + "description": "ID of the RabbitMQ instance.\n" }, "projectId": { "type": "string", "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", @@ -27564,7 +28932,7 @@ ] }, "outputs": { - "description": "A collection of values returned by getOpensearchInstance.\n", + "description": "A collection of values returned by getRabbitmqInstance.\n", "properties": { "cfGuid": { "type": "string" @@ -27580,21 +28948,21 @@ }, "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=\"`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": "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=\"`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" }, "imageUrl": { "type": "string" }, "instanceId": { "type": "string", - "description": "ID of the OpenSearch instance.\n" + "description": "ID of the RabbitMQ instance.\n" }, "name": { "type": "string", "description": "Instance name.\n" }, "parameters": { - "$ref": "#/types/stackit:index/getOpensearchInstanceParameters:getOpensearchInstanceParameters" + "$ref": "#/types/stackit:index/getRabbitmqInstanceParameters:getRabbitmqInstanceParameters" }, "planId": { "type": "string", @@ -27608,6 +28976,10 @@ "type": "string", "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" + }, "version": { "type": "string", "description": "The service version.\n" @@ -27627,90 +28999,23 @@ "planId", "planName", "projectId", + "region", "version" ] } }, - "stackit:index/getPostgresflexDatabase:getPostgresflexDatabase": { - "description": "Postgres Flex database resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_postgresflex_database\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n database_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", - "inputs": { - "description": "A collection of arguments for invoking getPostgresflexDatabase.\n", - "properties": { - "databaseId": { - "type": "string", - "description": "Database ID.\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the Postgres Flex instance.\n" - }, - "projectId": { - "type": "string", - "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": [ - "databaseId", - "instanceId", - "projectId" - ] - }, - "outputs": { - "description": "A collection of values returned by getPostgresflexDatabase.\n", - "properties": { - "databaseId": { - "type": "string", - "description": "Database ID.\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=\"`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=\"`databaseId`\" pulumi-lang-dotnet=\"`DatabaseId`\" pulumi-lang-go=\"`databaseId`\" pulumi-lang-python=\"`database_id`\" pulumi-lang-yaml=\"`databaseId`\" pulumi-lang-java=\"`databaseId`\"\u003e`databaseId`\u003c/span\u003e\".\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the Postgres Flex instance.\n" - }, - "name": { - "type": "string", - "description": "Database name.\n" - }, - "owner": { - "type": "string", - "description": "Username of the database owner.\n" - }, - "projectId": { - "type": "string", - "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": [ - "databaseId", - "id", - "instanceId", - "name", - "owner", - "projectId" - ] - } - }, - "stackit:index/getPostgresflexInstance:getPostgresflexInstance": { - "description": "Postgres 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_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getRedisCredential:getRedisCredential": { + "description": "Redis credential 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_redis_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getPostgresflexInstance.\n", + "description": "A collection of arguments for invoking getRedisCredential.\n", "properties": { + "credentialId": { + "type": "string", + "description": "The credential's ID.\n" + }, "instanceId": { "type": "string", - "description": "ID of the PostgresFlex instance.\n" + "description": "ID of the Redis instance.\n" }, "projectId": { "type": "string", @@ -27723,37 +29028,44 @@ }, "type": "object", "required": [ + "credentialId", "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getPostgresflexInstance.\n", + "description": "A collection of values returned by getRedisCredential.\n", "properties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Access Control List (ACL) for the PostgresFlex instance.\n" + "credentialId": { + "type": "string", + "description": "The credential's ID.\n" }, - "backupSchedule": { + "host": { "type": "string" }, - "flavor": { - "$ref": "#/types/stackit:index/getPostgresflexInstanceFlavor:getPostgresflexInstanceFlavor" + "hosts": { + "type": "array", + "items": { + "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=\"`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": "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" }, "instanceId": { "type": "string", - "description": "ID of the PostgresFlex instance.\n" + "description": "ID of the Redis instance.\n" }, - "name": { + "loadBalancedHost": { + "type": "string" + }, + "password": { "type": "string", - "description": "Instance name.\n" + "secret": true + }, + "port": { + "type": "integer" }, "projectId": { "type": "string", @@ -27763,441 +29075,549 @@ "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "replicas": { - "type": "integer" - }, - "storage": { - "$ref": "#/types/stackit:index/getPostgresflexInstanceStorage:getPostgresflexInstanceStorage" + "uri": { + "type": "string", + "description": "Connection URI.\n", + "secret": true }, - "version": { + "username": { "type": "string" } }, "type": "object", "required": [ - "acls", - "backupSchedule", - "flavor", + "credentialId", + "host", + "hosts", "id", "instanceId", - "name", + "loadBalancedHost", + "password", + "port", "projectId", - "replicas", - "storage", - "version" + "region", + "uri", + "username" ] } }, - "stackit:index/getPostgresflexUser:getPostgresflexUser": { - "description": "Postgres 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_postgresflex_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/getRedisInstance:getRedisInstance": { + "description": "Redis 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_redis_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 getPostgresflexUser.\n", + "description": "A collection of arguments for invoking getRedisInstance.\n", "properties": { "instanceId": { "type": "string", - "description": "ID of the PostgresFlex instance.\n" + "description": "ID of the Redis instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance 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": [ "instanceId", - "projectId", - "userId" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getPostgresflexUser.\n", + "description": "A collection of values returned by getRedisInstance.\n", "properties": { - "host": { + "cfGuid": { + "type": "string" + }, + "cfOrganizationGuid": { + "type": "string" + }, + "cfSpaceGuid": { + "type": "string" + }, + "dashboardUrl": { "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=\"`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 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=\"`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" + }, + "imageUrl": { + "type": "string" }, "instanceId": { "type": "string", - "description": "ID of the PostgresFlex instance.\n" + "description": "ID of the Redis instance.\n" }, - "port": { - "type": "integer" + "name": { + "type": "string", + "description": "Instance name.\n" + }, + "parameters": { + "$ref": "#/types/stackit:index/getRedisInstanceParameters:getRedisInstanceParameters" + }, + "planId": { + "type": "string", + "description": "The selected plan ID.\n" + }, + "planName": { + "type": "string", + "description": "The selected plan name.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "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" }, - "roles": { - "type": "array", - "items": { - "type": "string" - } - }, - "userId": { + "version": { "type": "string", - "description": "User ID.\n" - }, - "username": { - "type": "string" + "description": "The service version.\n" } }, "type": "object", "required": [ - "host", + "cfGuid", + "cfOrganizationGuid", + "cfSpaceGuid", + "dashboardUrl", "id", + "imageUrl", "instanceId", - "port", + "name", + "parameters", + "planId", + "planName", "projectId", - "roles", - "userId", - "username" + "region", + "version" ] } }, - "stackit:index/getPublicIp:getPublicIp": { - "description": "Public IP resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n public_ip_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getResourcemanagerFolder:getResourcemanagerFolder": { + "description": "Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.\n\n## Example Usage\n\n```terraform\ndata \"stackit_resourcemanager_folder\" \"example\" {\n container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getPublicIp.\n", + "description": "A collection of arguments for invoking getResourcemanagerFolder.\n", "properties": { - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the public IP is associated.\n" - }, - "publicIpId": { - "type": "string", - "description": "The public IP ID.\n" - }, - "region": { + "containerId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Folder container ID. Globally unique, user-friendly identifier.\n" } }, "type": "object", "required": [ - "projectId", - "publicIpId" + "containerId" ] }, "outputs": { - "description": "A collection of values returned by getPublicIp.\n", + "description": "A collection of values returned by getResourcemanagerFolder.\n", "properties": { - "id": { + "containerId": { "type": "string", - "description": "Terraform's internal datasource 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=\"`publicIpId`\" pulumi-lang-dotnet=\"`PublicIpId`\" pulumi-lang-go=\"`publicIpId`\" pulumi-lang-python=\"`public_ip_id`\" pulumi-lang-yaml=\"`publicIpId`\" pulumi-lang-java=\"`publicIpId`\"\u003e`publicIpId`\u003c/span\u003e\".\n" + "description": "Folder container ID. Globally unique, user-friendly identifier.\n" }, - "ip": { + "creationTime": { "type": "string", - "description": "The IP address.\n" + "description": "Date-time at which the folder was created.\n" + }, + "folderId": { + "type": "string", + "description": "Folder UUID identifier. Globally unique folder identifier\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`containerId`\" pulumi-lang-dotnet=\"`ContainerId`\" pulumi-lang-go=\"`containerId`\" pulumi-lang-python=\"`container_id`\" pulumi-lang-yaml=\"`containerId`\" pulumi-lang-java=\"`containerId`\"\u003e`containerId`\u003c/span\u003e\".\n" }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" - }, - "networkInterfaceId": { - "type": "string", - "description": "Associates the public IP with a network interface or a virtual IP (ID).\n" + "description": "Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9*-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9*-]{1,64}.\n" }, - "projectId": { + "name": { "type": "string", - "description": "STACKIT project ID to which the public IP is associated.\n" + "description": "The name of the folder.\n" }, - "publicIpId": { + "parentContainerId": { "type": "string", - "description": "The public IP ID.\n" + "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported.\n" }, - "region": { + "updateTime": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Date-time at which the folder was last modified.\n" } }, "type": "object", "required": [ + "containerId", + "creationTime", + "folderId", "id", - "ip", "labels", - "networkInterfaceId", - "projectId", - "publicIpId" + "name", + "parentContainerId", + "updateTime" ] } }, - "stackit:index/getPublicIpRanges:getPublicIpRanges": { - "description": "A list of all public IP ranges that STACKIT uses.\n\n## Example Usage\n\n```terraform\ndata \"stackit_public_ip_ranges\" \"example\" {}\n\n# example usage: allow stackit services and customer vpn cidr to access observability apis\nlocals {\n vpn_cidrs = [\"X.X.X.X/32\", \"X.X.X.X/24\"]\n}\n\nresource \"stackit_observability_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n plan_name = \"Observability-Monitoring-Medium-EU01\"\n # Allow all stackit services and customer vpn cidr to access observability apis\n acl = concat(data.stackit_public_ip_ranges.example.cidr_list, local.vpn_cidrs)\n metrics_retention_days = 90\n metrics_retention_days_5m_downsampling = 90\n metrics_retention_days_1h_downsampling = 90\n}\n```\n", + "stackit:index/getResourcemanagerProject:getResourcemanagerProject": { + "description": "Resource Manager project data source schema. To identify the project, you need to provider either\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\u003eor container_id. If you provide both,\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\u003ewill be used.\n\n## Example Usage\n\n```terraform\ndata \"stackit_resourcemanager_project\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n container_id = \"example-container-abc123\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getResourcemanagerProject.\n", + "properties": { + "containerId": { + "type": "string", + "description": "Project container ID. Globally unique, user-friendly identifier.\n" + }, + "projectId": { + "type": "string", + "description": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.\n" + } + }, + "type": "object" + }, "outputs": { - "description": "A collection of values returned by getPublicIpRanges.\n", + "description": "A collection of values returned by getResourcemanagerProject.\n", "properties": { - "cidrLists": { - "type": "array", - "items": { + "containerId": { + "type": "string", + "description": "Project container ID. Globally unique, user-friendly identifier.\n" + }, + "creationTime": { + "type": "string", + "description": "Date-time at which the project was created.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal data source. ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`containerId`\" pulumi-lang-dotnet=\"`ContainerId`\" pulumi-lang-go=\"`containerId`\" pulumi-lang-python=\"`container_id`\" pulumi-lang-yaml=\"`containerId`\" pulumi-lang-java=\"`containerId`\"\u003e`containerId`\u003c/span\u003e\".\n" + }, + "labels": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "A list of IP range strings (CIDRs) extracted from the public*ip*ranges for easy consumption.\n" + "description": "Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9*-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9*-]{1,64}\n" }, - "id": { + "name": { "type": "string", - "description": "Terraform's internal resource ID. It takes the values of \"`public_ip_ranges.*.cidr`\".\n" + "description": "Project name.\n" }, - "publicIpRanges": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getPublicIpRangesPublicIpRange:getPublicIpRangesPublicIpRange" - }, - "description": "A list of all public IP ranges.\n" + "parentContainerId": { + "type": "string", + "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported\n" + }, + "projectId": { + "type": "string", + "description": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.\n" + }, + "updateTime": { + "type": "string", + "description": "Date-time at which the project was last modified.\n" } }, "type": "object", "required": [ - "cidrLists", + "creationTime", "id", - "publicIpRanges" + "labels", + "name", + "parentContainerId", + "updateTime" ] } }, - "stackit:index/getRabbitmqCredential:getRabbitmqCredential": { - "description": "RabbitMQ credential 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_rabbitmq_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getRoutingTable:getRoutingTable": { + "description": "Routing table 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\nThis datasource is for SNA, not VPC, based networks.\n\n\u003e This datasource is part of the experimental feature routing-tables 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_routing_table\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getRabbitmqCredential.\n", + "description": "A collection of arguments for invoking getRoutingTable.\n", "properties": { - "credentialId": { - "type": "string", - "description": "The credential's ID.\n" - }, - "instanceId": { + "networkAreaId": { "type": "string", - "description": "ID of the RabbitMQ instance.\n" + "description": "The network area ID to which the routing table is associated.\n" }, - "projectId": { + "organizationId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT organization ID to which the routing table is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" + }, + "routingTableId": { + "type": "string", + "description": "The routing tables ID.\n" } }, "type": "object", "required": [ - "credentialId", - "instanceId", - "projectId" + "networkAreaId", + "organizationId", + "routingTableId" ] }, "outputs": { - "description": "A collection of values returned by getRabbitmqCredential.\n", + "description": "A collection of values returned by getRoutingTable.\n", "properties": { - "credentialId": { + "createdAt": { "type": "string", - "description": "The credential's ID.\n" - }, - "host": { - "type": "string" + "description": "Date-time when the routing table was created\n" }, - "hosts": { - "type": "array", - "items": { - "type": "string" - } + "default": { + "type": "boolean", + "description": "When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise.\n" }, - "httpApiUri": { - "type": "string" + "description": { + "type": "string", + "description": "Description of the routing table.\n" }, - "httpApiUris": { - "type": "array", - "items": { - "type": "string" - } + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this routing table\n" }, "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the RabbitMQ instance.\n" + "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e\".\n" }, - "management": { - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "password": { + "name": { "type": "string", - "secret": true + "description": "The name of the routing table.\n" }, - "port": { - "type": "integer" + "networkAreaId": { + "type": "string", + "description": "The network area ID to which the routing table is associated.\n" }, - "projectId": { + "organizationId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT organization ID to which the routing table is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "uri": { + "routingTableId": { "type": "string", - "secret": true + "description": "The routing tables ID.\n" }, - "uris": { - "type": "array", - "items": { - "type": "string" - } + "systemRoutes": { + "type": "boolean", + "description": "This controls whether the routes for project-to-project communication are created automatically or not.\n" }, - "username": { - "type": "string" + "updatedAt": { + "type": "string", + "description": "Date-time when the routing table was updated\n" } }, "type": "object", "required": [ - "credentialId", - "host", - "hosts", - "httpApiUri", - "httpApiUris", + "createdAt", + "default", + "description", + "dynamicRoutes", "id", - "instanceId", - "management", - "password", - "port", - "projectId", - "region", - "uri", - "uris", - "username" + "labels", + "name", + "networkAreaId", + "organizationId", + "routingTableId", + "systemRoutes", + "updatedAt" ] } }, - "stackit:index/getRabbitmqInstance:getRabbitmqInstance": { - "description": "RabbitMQ 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_rabbitmq_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getRoutingTableRoute:getRoutingTableRoute": { + "description": "Routing table route 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\nThis datasource is for SNA, not VPC, networks.\n\n\u003e This datasource is part of the experimental feature routing-tables 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_routing_table_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n route_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getRabbitmqInstance.\n", + "description": "A collection of arguments for invoking getRoutingTableRoute.\n", "properties": { - "instanceId": { + "networkAreaId": { "type": "string", - "description": "ID of the RabbitMQ instance.\n" + "description": "The network area ID to which the routing table is associated.\n" }, - "projectId": { + "organizationId": { "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "description": "STACKIT organization ID to which the routing table is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" + }, + "routeId": { + "type": "string", + "description": "Route ID.\n" + }, + "routingTableId": { + "type": "string", + "description": "The routing tables ID.\n" } }, "type": "object", "required": [ - "instanceId", - "projectId" + "networkAreaId", + "organizationId", + "routeId", + "routingTableId" ] }, "outputs": { - "description": "A collection of values returned by getRabbitmqInstance.\n", + "description": "A collection of values returned by getRoutingTableRoute.\n", "properties": { - "cfGuid": { - "type": "string" + "createdAt": { + "type": "string", + "description": "Date-time when the route was created\n" }, - "cfOrganizationGuid": { - "type": "string" + "destination": { + "$ref": "#/types/stackit:index/getRoutingTableRouteDestination:getRoutingTableRouteDestination", + "description": "Destination of the route.\n" }, - "cfSpaceGuid": { - "type": "string" + "id": { + "type": "string", + "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routeId`\" pulumi-lang-dotnet=\"`RouteId`\" pulumi-lang-go=\"`routeId`\" pulumi-lang-python=\"`route_id`\" pulumi-lang-yaml=\"`routeId`\" pulumi-lang-java=\"`routeId`\"\u003e`routeId`\u003c/span\u003e\".\n" }, - "dashboardUrl": { - "type": "string" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "id": { + "networkAreaId": { + "type": "string", + "description": "The network area ID to which the routing table is associated.\n" + }, + "nextHop": { + "$ref": "#/types/stackit:index/getRoutingTableRouteNextHop:getRoutingTableRouteNextHop", + "description": "Next hop destination.\n" + }, + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the routing table is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "routeId": { + "type": "string", + "description": "Route ID.\n" + }, + "routingTableId": { + "type": "string", + "description": "The routing tables ID.\n" + }, + "updatedAt": { + "type": "string", + "description": "Date-time when the route was updated\n" + } + }, + "type": "object", + "required": [ + "createdAt", + "destination", + "id", + "labels", + "networkAreaId", + "nextHop", + "organizationId", + "routeId", + "routingTableId", + "updatedAt" + ] + } + }, + "stackit:index/getRoutingTableRoutes:getRoutingTableRoutes": { + "description": "Routing table routes 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\nThis datasource is for SNA, not VPC, based networks.\n\n\u003e This datasource is part of the experimental feature routing-tables 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_routing_table_routes\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getRoutingTableRoutes.\n", + "properties": { + "networkAreaId": { "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=\"`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" - }, - "imageUrl": { - "type": "string" + "description": "The network area ID to which the routing table is associated.\n" }, - "instanceId": { + "organizationId": { "type": "string", - "description": "ID of the RabbitMQ instance.\n" + "description": "STACKIT organization ID to which the routing table is associated.\n" }, - "name": { + "region": { "type": "string", - "description": "Instance name.\n" - }, - "parameters": { - "$ref": "#/types/stackit:index/getRabbitmqInstanceParameters:getRabbitmqInstanceParameters" + "description": "The datasource region. If not defined, the provider region is used.\n" }, - "planId": { + "routingTableId": { "type": "string", - "description": "The selected plan ID.\n" + "description": "The routing tables ID.\n" + } + }, + "type": "object", + "required": [ + "networkAreaId", + "organizationId", + "routingTableId" + ] + }, + "outputs": { + "description": "A collection of values returned by getRoutingTableRoutes.\n", + "properties": { + "id": { + "type": "string", + "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routeId`\" pulumi-lang-dotnet=\"`RouteId`\" pulumi-lang-go=\"`routeId`\" pulumi-lang-python=\"`route_id`\" pulumi-lang-yaml=\"`routeId`\" pulumi-lang-java=\"`routeId`\"\u003e`routeId`\u003c/span\u003e\".\n" }, - "planName": { + "networkAreaId": { "type": "string", - "description": "The selected plan name.\n" + "description": "The network area ID to which the routing table is associated.\n" }, - "projectId": { + "organizationId": { "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "description": "STACKIT organization ID to which the routing table is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The datasource region. If not defined, the provider region is used.\n" }, - "version": { + "routes": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getRoutingTableRoutesRoute:getRoutingTableRoutesRoute" + }, + "description": "List of routes.\n" + }, + "routingTableId": { "type": "string", - "description": "The service version.\n" + "description": "The routing tables ID.\n" } }, "type": "object", "required": [ - "cfGuid", - "cfOrganizationGuid", - "cfSpaceGuid", - "dashboardUrl", "id", - "imageUrl", - "instanceId", - "name", - "parameters", - "planId", - "planName", - "projectId", - "region", - "version" + "networkAreaId", + "organizationId", + "routes", + "routingTableId" ] } }, - "stackit:index/getRedisCredential:getRedisCredential": { - "description": "Redis credential 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_redis_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credential_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getRoutingTables:getRoutingTables": { + "description": "Routing table 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\nThis datasource is for SNA, not VPC, based networks.\n\n\u003e This datasource is part of the experimental feature routing-tables 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_routing_tables\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getRedisCredential.\n", + "description": "A collection of arguments for invoking getRoutingTables.\n", "properties": { - "credentialId": { - "type": "string", - "description": "The credential's ID.\n" - }, - "instanceId": { + "networkAreaId": { "type": "string", - "description": "ID of the Redis instance.\n" + "description": "The network area ID to which the routing table is associated.\n" }, - "projectId": { + "organizationId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT organization ID to which the routing table is associated.\n" }, "region": { "type": "string", @@ -28206,2666 +29626,2518 @@ }, "type": "object", "required": [ - "credentialId", - "instanceId", - "projectId" + "networkAreaId", + "organizationId" ] }, "outputs": { - "description": "A collection of values returned by getRedisCredential.\n", + "description": "A collection of values returned by getRoutingTables.\n", "properties": { - "credentialId": { + "id": { "type": "string", - "description": "The credential's ID.\n" - }, - "host": { - "type": "string" + "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e\".\n" }, - "hosts": { + "items": { "type": "array", "items": { - "type": "string" - } - }, - "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=\"`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=\"`credentialId`\" pulumi-lang-dotnet=\"`CredentialId`\" pulumi-lang-go=\"`credentialId`\" pulumi-lang-python=\"`credential_id`\" pulumi-lang-yaml=\"`credentialId`\" pulumi-lang-java=\"`credentialId`\"\u003e`credentialId`\u003c/span\u003e\".\n" - }, - "instanceId": { - "type": "string", - "description": "ID of the Redis instance.\n" - }, - "loadBalancedHost": { - "type": "string" + "$ref": "#/types/stackit:index/getRoutingTablesItem:getRoutingTablesItem" + }, + "description": "List of routing tables.\n" }, - "password": { + "networkAreaId": { "type": "string", - "secret": true - }, - "port": { - "type": "integer" + "description": "The network area ID to which the routing table is associated.\n" }, - "projectId": { + "organizationId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT organization ID to which the routing table is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" - }, - "uri": { - "type": "string", - "description": "Connection URI.\n", - "secret": true - }, - "username": { - "type": "string" } }, "type": "object", "required": [ - "credentialId", - "host", - "hosts", "id", - "instanceId", - "loadBalancedHost", - "password", - "port", - "projectId", - "region", - "uri", - "username" + "items", + "networkAreaId", + "organizationId" ] } }, - "stackit:index/getRedisInstance:getRedisInstance": { - "description": "Redis 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_redis_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getScfOrganization:getScfOrganization": { + "description": "STACKIT Cloud Foundry organization 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_scf_organization\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n org_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getRedisInstance.\n", + "description": "A collection of arguments for invoking getScfOrganization.\n", "properties": { - "instanceId": { + "orgId": { "type": "string", - "description": "ID of the Redis instance.\n" + "description": "The ID of the Cloud Foundry Organization\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "description": "The ID of the project associated with the organization\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used\n" } }, "type": "object", "required": [ - "instanceId", + "orgId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getRedisInstance.\n", + "description": "A collection of values returned by getScfOrganization.\n", "properties": { - "cfGuid": { - "type": "string" - }, - "cfOrganizationGuid": { - "type": "string" - }, - "cfSpaceGuid": { - "type": "string" - }, - "dashboardUrl": { - "type": "string" - }, - "id": { + "createdAt": { "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=\"`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" - }, - "imageUrl": { - "type": "string" + "description": "The time when the organization was created\n" }, - "instanceId": { + "id": { "type": "string", - "description": "ID of the Redis instance.\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,\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=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\"\u003e`orgId`\u003c/span\u003e\".\n" }, "name": { "type": "string", - "description": "Instance name.\n" - }, - "parameters": { - "$ref": "#/types/stackit:index/getRedisInstanceParameters:getRedisInstanceParameters" + "description": "The name of the organization\n" }, - "planId": { + "orgId": { "type": "string", - "description": "The selected plan ID.\n" + "description": "The ID of the Cloud Foundry Organization\n" }, - "planName": { + "platformId": { "type": "string", - "description": "The selected plan name.\n" + "description": "The ID of the platform associated with the organization\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "description": "The ID of the project associated with the organization\n" + }, + "quotaId": { + "type": "string", + "description": "The ID of the quota associated with the organization\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used\n" }, - "version": { + "status": { "type": "string", - "description": "The service version.\n" + "description": "The status of the organization (e.g., deleting, delete_failed)\n" + }, + "suspended": { + "type": "boolean", + "description": "A boolean indicating whether the organization is suspended\n" + }, + "updatedAt": { + "type": "string", + "description": "The time when the organization was last updated\n" } }, "type": "object", "required": [ - "cfGuid", - "cfOrganizationGuid", - "cfSpaceGuid", - "dashboardUrl", + "createdAt", "id", - "imageUrl", - "instanceId", "name", - "parameters", - "planId", - "planName", + "orgId", + "platformId", "projectId", + "quotaId", "region", - "version" + "status", + "suspended", + "updatedAt" ] } }, - "stackit:index/getResourcemanagerFolder:getResourcemanagerFolder": { - "description": "Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.\n\n## Example Usage\n\n```terraform\ndata \"stackit_resourcemanager_folder\" \"example\" {\n container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getScfOrganizationManager:getScfOrganizationManager": { + "description": "STACKIT Cloud Foundry organization manager datasource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_scf_organization_manager\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n org_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getResourcemanagerFolder.\n", + "description": "A collection of arguments for invoking getScfOrganizationManager.\n", "properties": { - "containerId": { + "orgId": { "type": "string", - "description": "Folder container ID. Globally unique, user-friendly identifier.\n" + "description": "The ID of the Cloud Foundry Organization\n" + }, + "projectId": { + "type": "string", + "description": "The ID of the project associated with the organization of the organization manager\n" + }, + "region": { + "type": "string", + "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n" } }, "type": "object", "required": [ - "containerId" + "orgId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getResourcemanagerFolder.\n", + "description": "A collection of values returned by getScfOrganizationManager.\n", "properties": { - "containerId": { + "createdAt": { "type": "string", - "description": "Folder container ID. Globally unique, user-friendly identifier.\n" + "description": "The time when the organization manager was created\n" }, - "creationTime": { + "id": { "type": "string", - "description": "Date-time at which the folder was created.\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,\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=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\"\u003e`orgId`\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" }, - "folderId": { + "orgId": { "type": "string", - "description": "Folder UUID identifier. Globally unique folder identifier\n" + "description": "The ID of the Cloud Foundry Organization\n" }, - "id": { + "platformId": { "type": "string", - "description": "Terraform's internal resource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`containerId`\" pulumi-lang-dotnet=\"`ContainerId`\" pulumi-lang-go=\"`containerId`\" pulumi-lang-python=\"`container_id`\" pulumi-lang-yaml=\"`containerId`\" pulumi-lang-java=\"`containerId`\"\u003e`containerId`\u003c/span\u003e\".\n" + "description": "The ID of the platform associated with the organization of the organization manager\n" }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9*-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9*-]{1,64}.\n" + "projectId": { + "type": "string", + "description": "The ID of the project associated with the organization of the organization manager\n" }, - "name": { + "region": { "type": "string", - "description": "The name of the folder.\n" + "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n" }, - "parentContainerId": { + "updatedAt": { "type": "string", - "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported.\n" + "description": "The time when the organization manager was last updated\n" }, - "updateTime": { + "userId": { "type": "string", - "description": "Date-time at which the folder was last modified.\n" + "description": "The ID of the organization manager user\n" + }, + "username": { + "type": "string", + "description": "An auto-generated organization manager user name\n" } }, "type": "object", "required": [ - "containerId", - "creationTime", - "folderId", + "createdAt", "id", - "labels", - "name", - "parentContainerId", - "updateTime" + "orgId", + "platformId", + "projectId", + "region", + "updatedAt", + "userId", + "username" ] } }, - "stackit:index/getResourcemanagerProject:getResourcemanagerProject": { - "description": "Resource Manager project data source schema. To identify the project, you need to provider either\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\u003eor container_id. If you provide both,\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\u003ewill be used.\n\n## Example Usage\n\n```terraform\ndata \"stackit_resourcemanager_project\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n container_id = \"example-container-abc123\"\n}\n```\n", + "stackit:index/getScfPlatform:getScfPlatform": { + "description": "STACKIT Cloud Foundry Platform datasource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_scf_platform\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n platform_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getResourcemanagerProject.\n", + "description": "A collection of arguments for invoking getScfPlatform.\n", "properties": { - "containerId": { + "platformId": { "type": "string", - "description": "Project container ID. Globally unique, user-friendly identifier.\n" + "description": "The unique id of the platform\n" }, "projectId": { "type": "string", - "description": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.\n" + "description": "The ID of the project associated with the platform\n" + }, + "region": { + "type": "string", + "description": "The region where the platform is located. If not defined, the provider region is used\n" } }, - "type": "object" + "type": "object", + "required": [ + "platformId", + "projectId" + ] }, "outputs": { - "description": "A collection of values returned by getResourcemanagerProject.\n", + "description": "A collection of values returned by getScfPlatform.\n", "properties": { - "containerId": { + "apiUrl": { "type": "string", - "description": "Project container ID. Globally unique, user-friendly identifier.\n" + "description": "The CF API Url of the platform\n" }, - "creationTime": { + "consoleUrl": { "type": "string", - "description": "Date-time at which the project was created.\n" + "description": "The Stratos URL of the platform\n" }, - "id": { + "displayName": { "type": "string", - "description": "Terraform's internal data source. ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`containerId`\" pulumi-lang-dotnet=\"`ContainerId`\" pulumi-lang-go=\"`containerId`\" pulumi-lang-python=\"`container_id`\" pulumi-lang-yaml=\"`containerId`\" pulumi-lang-java=\"`containerId`\"\u003e`containerId`\u003c/span\u003e\".\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9*-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9*-]{1,64}\n" + "description": "The name of the platform\n" }, - "name": { + "id": { "type": "string", - "description": "Project name.\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,\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=\"`platformId`\" pulumi-lang-dotnet=\"`PlatformId`\" pulumi-lang-go=\"`platformId`\" pulumi-lang-python=\"`platform_id`\" pulumi-lang-yaml=\"`platformId`\" pulumi-lang-java=\"`platformId`\"\u003e`platformId`\u003c/span\u003e\".\n" }, - "parentContainerId": { + "platformId": { "type": "string", - "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported\n" + "description": "The unique id of the platform\n" }, "projectId": { "type": "string", - "description": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.\n" + "description": "The ID of the project associated with the platform\n" }, - "updateTime": { + "region": { "type": "string", - "description": "Date-time at which the project was last modified.\n" + "description": "The region where the platform is located. If not defined, the provider region is used\n" + }, + "systemId": { + "type": "string", + "description": "The ID of the platform System\n" } }, "type": "object", "required": [ - "creationTime", + "apiUrl", + "consoleUrl", + "displayName", "id", - "labels", - "name", - "parentContainerId", - "updateTime" + "platformId", + "projectId", + "region", + "systemId" ] } }, - "stackit:index/getRoutingTable:getRoutingTable": { - "description": "Routing table 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\nThis datasource is for SNA, not VPC, based networks.\n\n\u003e This datasource is part of the routing-tables 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_routing_table\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSecretsmanagerInstance:getSecretsmanagerInstance": { + "description": "Secrets Manager 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_secretsmanager_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 getRoutingTable.\n", + "description": "A collection of arguments for invoking getSecretsmanagerInstance.\n", "properties": { - "networkAreaId": { - "type": "string", - "description": "The network area ID to which the routing table is associated.\n" - }, - "organizationId": { - "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" - }, - "region": { + "instanceId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "ID of the Secrets Manager instance.\n" }, - "routingTableId": { + "projectId": { "type": "string", - "description": "The routing tables ID.\n" + "description": "STACKIT project ID to which the instance is associated.\n" } }, "type": "object", "required": [ - "networkAreaId", - "organizationId", - "routingTableId" + "instanceId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getRoutingTable.\n", + "description": "A collection of values returned by getSecretsmanagerInstance.\n", "properties": { - "createdAt": { - "type": "string", - "description": "Date-time when the routing table was created\n" - }, - "default": { - "type": "boolean", - "description": "When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise.\n" - }, - "description": { - "type": "string", - "description": "Description of the routing table.\n" - }, - "dynamicRoutes": { - "type": "boolean", - "description": "This controls whether dynamic routes are propagated to this routing table\n" - }, - "id": { - "type": "string", - "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e\".\n" - }, - "labels": { - "type": "object", - "additionalProperties": { + "acls": { + "type": "array", + "items": { "type": "string" }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" - }, - "name": { - "type": "string", - "description": "The name of the routing table.\n" + "description": "The access control list for this instance. Each entry is an IP or IP range that is permitted to access, in CIDR notation\n" }, - "networkAreaId": { + "id": { "type": "string", - "description": "The network area ID to which the routing table is associated.\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=\"`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" }, - "organizationId": { + "instanceId": { "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" + "description": "ID of the Secrets Manager instance.\n" }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "kmsKey": { + "$ref": "#/types/stackit:index/getSecretsmanagerInstanceKmsKey:getSecretsmanagerInstanceKmsKey", + "description": "The STACKIT-KMS key for secret encryption and decryption.\n" }, - "routingTableId": { + "name": { "type": "string", - "description": "The routing tables ID.\n" - }, - "systemRoutes": { - "type": "boolean", - "description": "This controls whether the routes for project-to-project communication are created automatically or not.\n" + "description": "Instance name.\n" }, - "updatedAt": { + "projectId": { "type": "string", - "description": "Date-time when the routing table was updated\n" + "description": "STACKIT project ID to which the instance is associated.\n" } }, "type": "object", "required": [ - "createdAt", - "default", - "description", - "dynamicRoutes", + "acls", "id", - "labels", + "instanceId", + "kmsKey", "name", - "networkAreaId", - "organizationId", - "routingTableId", - "systemRoutes", - "updatedAt" + "projectId" ] } }, - "stackit:index/getRoutingTableRoute:getRoutingTableRoute": { - "description": "Routing table route 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\nThis datasource is for SNA, not VPC, networks.\n\n\u003e This datasource is part of the routing-tables 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_routing_table_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n route_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1": { + "description": "IAM role binding datasource schema.\n\n\u003e This datasource is part of the experimental feature iam 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_secretsmanager_instance_role_bindings_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getRoutingTableRoute.\n", + "description": "A collection of arguments for invoking getSecretsmanagerInstanceRoleBindingsV1.\n", "properties": { - "networkAreaId": { - "type": "string", - "description": "The network area ID to which the routing table is associated.\n" - }, - "organizationId": { - "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" - }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "routeId": { - "type": "string", - "description": "Route ID.\n" - }, - "routingTableId": { + "resourceId": { "type": "string", - "description": "The routing tables ID.\n" + "description": "The identifier of the resource to get the role bindings for.\n" } }, "type": "object", "required": [ - "networkAreaId", - "organizationId", - "routeId", - "routingTableId" + "resourceId" ] }, "outputs": { - "description": "A collection of values returned by getRoutingTableRoute.\n", + "description": "A collection of values returned by getSecretsmanagerInstanceRoleBindingsV1.\n", "properties": { - "createdAt": { - "type": "string", - "description": "Date-time when the route was created\n" - }, - "destination": { - "$ref": "#/types/stackit:index/getRoutingTableRouteDestination:getRoutingTableRouteDestination", - "description": "Destination of the route.\n" - }, "id": { "type": "string", - "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routeId`\" pulumi-lang-dotnet=\"`RouteId`\" pulumi-lang-go=\"`routeId`\" pulumi-lang-python=\"`route_id`\" pulumi-lang-yaml=\"`routeId`\" pulumi-lang-java=\"`routeId`\"\u003e`routeId`\u003c/span\u003e\".\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" - }, - "networkAreaId": { - "type": "string", - "description": "The network area ID to which the routing table is associated.\n" - }, - "nextHop": { - "$ref": "#/types/stackit:index/getRoutingTableRouteNextHop:getRoutingTableRouteNextHop", - "description": "Next hop destination.\n" - }, - "organizationId": { - "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" + "description": "Terraform's internal resource identifier. It is structured as \"\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=\"`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\".\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "routeId": { - "type": "string", - "description": "Route ID.\n" - }, - "routingTableId": { + "resourceId": { "type": "string", - "description": "The routing tables ID.\n" + "description": "The identifier of the resource to get the role bindings for.\n" }, - "updatedAt": { - "type": "string", - "description": "Date-time when the route was updated\n" + "roleBindings": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSecretsmanagerInstanceRoleBindingsV1RoleBinding:getSecretsmanagerInstanceRoleBindingsV1RoleBinding" + }, + "description": "List of role bindings.\n" } }, "type": "object", "required": [ - "createdAt", - "destination", "id", - "labels", - "networkAreaId", - "nextHop", - "organizationId", - "routeId", - "routingTableId", - "updatedAt" + "resourceId", + "roleBindings" ] } }, - "stackit:index/getRoutingTableRoutes:getRoutingTableRoutes": { - "description": "Routing table routes 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\nThis datasource is for SNA, not VPC, based networks.\n\n\u003e This datasource is part of the routing-tables 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_routing_table_routes\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1": { + "description": "IAM role binding datasource schema.\n\n\u003e This datasource is part of the experimental feature iam 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_secretsmanager_secret_group_role_bindings_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getRoutingTableRoutes.\n", + "description": "A collection of arguments for invoking getSecretsmanagerSecretGroupRoleBindingsV1.\n", "properties": { - "networkAreaId": { - "type": "string", - "description": "The network area ID to which the routing table is associated.\n" - }, - "organizationId": { - "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" - }, "region": { "type": "string", - "description": "The datasource region. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "routingTableId": { + "resourceId": { "type": "string", - "description": "The routing tables ID.\n" + "description": "The identifier of the resource to get the role bindings for.\n" } }, "type": "object", "required": [ - "networkAreaId", - "organizationId", - "routingTableId" + "resourceId" ] }, "outputs": { - "description": "A collection of values returned by getRoutingTableRoutes.\n", + "description": "A collection of values returned by getSecretsmanagerSecretGroupRoleBindingsV1.\n", "properties": { "id": { "type": "string", - "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routeId`\" pulumi-lang-dotnet=\"`RouteId`\" pulumi-lang-go=\"`routeId`\" pulumi-lang-python=\"`route_id`\" pulumi-lang-yaml=\"`routeId`\" pulumi-lang-java=\"`routeId`\"\u003e`routeId`\u003c/span\u003e\".\n" - }, - "networkAreaId": { - "type": "string", - "description": "The network area ID to which the routing table is associated.\n" + "description": "Terraform's internal resource identifier. It is structured as \"\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=\"`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\".\n" }, - "organizationId": { + "region": { "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "region": { + "resourceId": { "type": "string", - "description": "The datasource region. If not defined, the provider region is used.\n" + "description": "The identifier of the resource to get the role bindings for.\n" }, - "routes": { + "roleBindings": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getRoutingTableRoutesRoute:getRoutingTableRoutesRoute" + "$ref": "#/types/stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding:getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding" }, - "description": "List of routes.\n" - }, - "routingTableId": { - "type": "string", - "description": "The routing tables ID.\n" + "description": "List of role bindings.\n" } }, "type": "object", "required": [ "id", - "networkAreaId", - "organizationId", - "routes", - "routingTableId" + "resourceId", + "roleBindings" ] } }, - "stackit:index/getRoutingTables:getRoutingTables": { - "description": "Routing table 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\nThis datasource is for SNA, not VPC, based networks.\n\n\u003e This datasource is part of the routing-tables 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_routing_tables\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSecretsmanagerUser:getSecretsmanagerUser": { + "description": "Secrets Manager 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_secretsmanager_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 getRoutingTables.\n", + "description": "A collection of arguments for invoking getSecretsmanagerUser.\n", "properties": { - "networkAreaId": { + "instanceId": { "type": "string", - "description": "The network area ID to which the routing table is associated.\n" + "description": "ID of the Secrets Manager instance.\n" }, - "organizationId": { + "projectId": { "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" }, - "region": { + "userId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The user's ID.\n" } }, "type": "object", "required": [ - "networkAreaId", - "organizationId" + "instanceId", + "projectId", + "userId" ] }, "outputs": { - "description": "A collection of values returned by getRoutingTables.\n", + "description": "A collection of values returned by getSecretsmanagerUser.\n", "properties": { + "description": { + "type": "string", + "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n" + }, "id": { "type": "string", - "description": "Terraform's internal datasource ID. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organizationId`\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=\"`networkAreaId`\" pulumi-lang-dotnet=\"`NetworkAreaId`\" pulumi-lang-go=\"`networkAreaId`\" pulumi-lang-python=\"`network_area_id`\" pulumi-lang-yaml=\"`networkAreaId`\" pulumi-lang-java=\"`networkAreaId`\"\u003e`networkAreaId`\u003c/span\u003e\".\n" + "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=\"`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" }, - "items": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getRoutingTablesItem:getRoutingTablesItem" - }, - "description": "List of routing tables.\n" + "instanceId": { + "type": "string", + "description": "ID of the Secrets Manager instance.\n" }, - "networkAreaId": { + "projectId": { "type": "string", - "description": "The network area ID to which the routing table is associated.\n" + "description": "STACKIT Project ID to which the instance is associated.\n" }, - "organizationId": { + "userId": { "type": "string", - "description": "STACKIT organization ID to which the routing table is associated.\n" + "description": "The user's ID.\n" }, - "region": { + "username": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "An auto-generated user name.\n" + }, + "writeEnabled": { + "type": "boolean", + "description": "If true, the user has writeaccess to the secrets engine.\n" } }, "type": "object", "required": [ + "description", "id", - "items", - "networkAreaId", - "organizationId" + "instanceId", + "projectId", + "userId", + "username", + "writeEnabled" ] } }, - "stackit:index/getScfOrganization:getScfOrganization": { - "description": "STACKIT Cloud Foundry organization 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_scf_organization\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n org_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSecurityGroup:getSecurityGroup": { + "description": "Security group 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_security_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getScfOrganization.\n", + "description": "A collection of arguments for invoking getSecurityGroup.\n", "properties": { - "orgId": { - "type": "string", - "description": "The ID of the Cloud Foundry Organization\n" - }, "projectId": { "type": "string", - "description": "The ID of the project associated with the organization\n" + "description": "STACKIT project ID to which the security group is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "securityGroupId": { + "type": "string", + "description": "The security group ID.\n" } }, "type": "object", "required": [ - "orgId", - "projectId" + "projectId", + "securityGroupId" ] }, "outputs": { - "description": "A collection of values returned by getScfOrganization.\n", + "description": "A collection of values returned by getSecurityGroup.\n", "properties": { - "createdAt": { + "description": { "type": "string", - "description": "The time when the organization was created\n" + "description": "The description of the security group.\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=\"`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=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\"\u003e`orgId`\u003c/span\u003e\".\n" - }, - "name": { - "type": "string", - "description": "The name of the organization\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=\"`securityGroupId`\" pulumi-lang-dotnet=\"`SecurityGroupId`\" pulumi-lang-go=\"`securityGroupId`\" pulumi-lang-python=\"`security_group_id`\" pulumi-lang-yaml=\"`securityGroupId`\" pulumi-lang-java=\"`securityGroupId`\"\u003e`securityGroupId`\u003c/span\u003e\".\n" }, - "orgId": { - "type": "string", - "description": "The ID of the Cloud Foundry Organization\n" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "platformId": { + "name": { "type": "string", - "description": "The ID of the platform associated with the organization\n" + "description": "The name of the security group.\n" }, "projectId": { "type": "string", - "description": "The ID of the project associated with the organization\n" - }, - "quotaId": { - "type": "string", - "description": "The ID of the quota associated with the organization\n" + "description": "STACKIT project ID to which the security group is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "status": { + "securityGroupId": { "type": "string", - "description": "The status of the organization (e.g., deleting, delete_failed)\n" + "description": "The security group ID.\n" }, - "suspended": { + "stateful": { "type": "boolean", - "description": "A boolean indicating whether the organization is suspended\n" - }, - "updatedAt": { - "type": "string", - "description": "The time when the organization was last updated\n" + "description": "Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server.\n" } }, "type": "object", "required": [ - "createdAt", + "description", "id", + "labels", "name", - "orgId", - "platformId", "projectId", - "quotaId", - "region", - "status", - "suspended", - "updatedAt" + "securityGroupId", + "stateful" ] } }, - "stackit:index/getScfOrganizationManager:getScfOrganizationManager": { - "description": "STACKIT Cloud Foundry organization manager datasource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_scf_organization_manager\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n org_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSecurityGroupRule:getSecurityGroupRule": { + "description": "Security group 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_security_group_rule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_rule_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getScfOrganizationManager.\n", + "description": "A collection of arguments for invoking getSecurityGroupRule.\n", "properties": { - "orgId": { - "type": "string", - "description": "The ID of the Cloud Foundry Organization\n" - }, "projectId": { "type": "string", - "description": "The ID of the project associated with the organization of the organization manager\n" + "description": "STACKIT project ID to which the security group rule is associated.\n" }, "region": { "type": "string", - "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "securityGroupId": { + "type": "string", + "description": "The security group ID.\n" + }, + "securityGroupRuleId": { + "type": "string", + "description": "The security group rule ID.\n" } }, "type": "object", "required": [ - "orgId", - "projectId" + "projectId", + "securityGroupId", + "securityGroupRuleId" ] }, "outputs": { - "description": "A collection of values returned by getScfOrganizationManager.\n", + "description": "A collection of values returned by getSecurityGroupRule.\n", "properties": { - "createdAt": { + "description": { "type": "string", - "description": "The time when the organization manager was created\n" + "description": "The description of the security group rule.\n" }, - "id": { + "direction": { "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=\"`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=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\"\u003e`orgId`\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": "The direction of the traffic which the rule should match. Some of the possible values are: Possible values are: \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e.\n" }, - "orgId": { + "etherType": { "type": "string", - "description": "The ID of the Cloud Foundry Organization\n" + "description": "The ethertype which the rule should match.\n" }, - "platformId": { + "icmpParameters": { + "$ref": "#/types/stackit:index/getSecurityGroupRuleIcmpParameters:getSecurityGroupRuleIcmpParameters", + "description": "ICMP Parameters.\n" + }, + "id": { "type": "string", - "description": "The ID of the platform associated with the organization of the organization manager\n" + "description": "Terraform's internal datasource 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=\"`securityGroupId`\" pulumi-lang-dotnet=\"`SecurityGroupId`\" pulumi-lang-go=\"`securityGroupId`\" pulumi-lang-python=\"`security_group_id`\" pulumi-lang-yaml=\"`securityGroupId`\" pulumi-lang-java=\"`securityGroupId`\"\u003e`securityGroupId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`securityGroupRuleId`\" pulumi-lang-dotnet=\"`SecurityGroupRuleId`\" pulumi-lang-go=\"`securityGroupRuleId`\" pulumi-lang-python=\"`security_group_rule_id`\" pulumi-lang-yaml=\"`securityGroupRuleId`\" pulumi-lang-java=\"`securityGroupRuleId`\"\u003e`securityGroupRuleId`\u003c/span\u003e\".\n" + }, + "ipRange": { + "type": "string", + "description": "The remote IP range which the rule should match.\n" + }, + "portRange": { + "$ref": "#/types/stackit:index/getSecurityGroupRulePortRange:getSecurityGroupRulePortRange", + "description": "The range of ports.\n" }, "projectId": { "type": "string", - "description": "The ID of the project associated with the organization of the organization manager\n" + "description": "STACKIT project ID to which the security group rule is associated.\n" + }, + "protocol": { + "$ref": "#/types/stackit:index/getSecurityGroupRuleProtocol:getSecurityGroupRuleProtocol", + "description": "The internet protocol which the rule should match.\n" }, "region": { "type": "string", - "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "updatedAt": { + "remoteSecurityGroupId": { "type": "string", - "description": "The time when the organization manager was last updated\n" + "description": "The remote security group which the rule should match.\n" }, - "userId": { + "securityGroupId": { "type": "string", - "description": "The ID of the organization manager user\n" + "description": "The security group ID.\n" }, - "username": { + "securityGroupRuleId": { "type": "string", - "description": "An auto-generated organization manager user name\n" + "description": "The security group rule ID.\n" } }, "type": "object", "required": [ - "createdAt", + "description", + "direction", + "etherType", + "icmpParameters", "id", - "orgId", - "platformId", + "ipRange", + "portRange", "projectId", - "region", - "updatedAt", - "userId", - "username" + "protocol", + "remoteSecurityGroupId", + "securityGroupId", + "securityGroupRuleId" ] } }, - "stackit:index/getScfPlatform:getScfPlatform": { - "description": "STACKIT Cloud Foundry Platform datasource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_scf_platform\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n platform_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getServer:getServer": { + "description": "Server 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\" \"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 getScfPlatform.\n", + "description": "A collection of arguments for invoking getServer.\n", "properties": { - "platformId": { - "type": "string", - "description": "The unique id of the platform\n" - }, "projectId": { "type": "string", - "description": "The ID of the project associated with the platform\n" + "description": "STACKIT project ID to which the server is associated.\n" }, "region": { "type": "string", - "description": "The region where the platform is located. If not defined, the provider region is used\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "The server ID.\n" } }, "type": "object", "required": [ - "platformId", - "projectId" + "projectId", + "serverId" ] }, "outputs": { - "description": "A collection of values returned by getScfPlatform.\n", + "description": "A collection of values returned by getServer.\n", "properties": { - "apiUrl": { + "affinityGroup": { "type": "string", - "description": "The CF API Url of the platform\n" + "description": "The affinity group the server is assigned to.\n" }, - "consoleUrl": { + "agent": { + "$ref": "#/types/stackit:index/getServerAgent:getServerAgent", + "description": "STACKIT Server Agent as setup on the server\n" + }, + "availabilityZone": { "type": "string", - "description": "The Stratos URL of the platform\n" + "description": "The availability zone of the server.\n" }, - "displayName": { + "bootVolume": { + "$ref": "#/types/stackit:index/getServerBootVolume:getServerBootVolume", + "description": "The boot volume for the server\n" + }, + "createdAt": { "type": "string", - "description": "The name of the platform\n" + "description": "Date-time when the server was created\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=\"`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=\"`platformId`\" pulumi-lang-dotnet=\"`PlatformId`\" pulumi-lang-go=\"`platformId`\" pulumi-lang-python=\"`platform_id`\" pulumi-lang-yaml=\"`platformId`\" pulumi-lang-java=\"`platformId`\"\u003e`platformId`\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=\"`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" }, - "platformId": { + "imageId": { "type": "string", - "description": "The unique id of the platform\n" + "description": "The image ID to be used for an ephemeral disk on the server.\n" + }, + "keypairName": { + "type": "string", + "description": "The name of the keypair used during server creation.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "launchedAt": { + "type": "string", + "description": "Date-time when the server was launched\n" + }, + "machineType": { + "type": "string", + "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/)\n" + }, + "name": { + "type": "string", + "description": "The name of the server.\n" + }, + "networkInterfaces": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server.\n" }, "projectId": { "type": "string", - "description": "The ID of the project associated with the platform\n" + "description": "STACKIT project ID to which the server is associated.\n" }, "region": { "type": "string", - "description": "The region where the platform is located. If not defined, the provider region is used\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "systemId": { + "serverId": { "type": "string", - "description": "The ID of the platform System\n" + "description": "The server ID.\n" + }, + "updatedAt": { + "type": "string", + "description": "Date-time when the server was updated\n" + }, + "userData": { + "type": "string", + "description": "User data that is passed via cloud-init to the server.\n" } }, "type": "object", "required": [ - "apiUrl", - "consoleUrl", - "displayName", + "affinityGroup", + "agent", + "availabilityZone", + "bootVolume", + "createdAt", "id", - "platformId", + "imageId", + "keypairName", + "labels", + "launchedAt", + "machineType", + "name", + "networkInterfaces", "projectId", - "region", - "systemId" + "serverId", + "updatedAt", + "userData" ] } }, - "stackit:index/getSecretsmanagerInstance:getSecretsmanagerInstance": { - "description": "Secrets Manager 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_secretsmanager_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getServerBackupEnable:getServerBackupEnable": { + "description": "Server backup 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 getSecretsmanagerInstance.\n", + "description": "A collection of arguments for invoking getServerBackupEnable.\n", "properties": { - "instanceId": { + "projectId": { "type": "string", - "description": "ID of the Secrets Manager instance.\n" + "description": "STACKIT Project ID to which the server backup enable is associated.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID to which the server backup enable is associated.\n" } }, "type": "object", "required": [ - "instanceId", - "projectId" + "projectId", + "serverId" ] }, "outputs": { - "description": "A collection of values returned by getSecretsmanagerInstance.\n", + "description": "A collection of values returned by getServerBackupEnable.\n", "properties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The access control list for this instance. Each entry is an IP or IP range that is permitted to access, in CIDR notation\n" + "enabled": { + "type": "boolean", + "description": "Set to true if the service is enabled.\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=\"`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": "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" }, - "instanceId": { + "projectId": { "type": "string", - "description": "ID of the Secrets Manager instance.\n" - }, - "kmsKey": { - "$ref": "#/types/stackit:index/getSecretsmanagerInstanceKmsKey:getSecretsmanagerInstanceKmsKey", - "description": "The STACKIT-KMS key for secret encryption and decryption.\n" + "description": "STACKIT Project ID to which the server backup enable is associated.\n" }, - "name": { + "region": { "type": "string", - "description": "Instance name.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "projectId": { + "serverId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "Server ID to which the server backup enable is associated.\n" } }, "type": "object", "required": [ - "acls", + "enabled", "id", - "instanceId", - "kmsKey", - "name", - "projectId" + "projectId", + "serverId" ] } }, - "stackit:index/getSecretsmanagerInstanceRoleBindingsV1:getSecretsmanagerInstanceRoleBindingsV1": { - "description": "IAM role binding datasource schema.\n\n\u003e This datasource is part of the iam 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_secretsmanager_instance_role_bindings_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getServerBackupSchedule:getServerBackupSchedule": { + "description": "Server backup 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_backup_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n backup_schedule_id = xxxxx\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSecretsmanagerInstanceRoleBindingsV1.\n", + "description": "A collection of arguments for invoking getServerBackupSchedule.\n", "properties": { + "backupScheduleId": { + "type": "integer", + "description": "Backup schedule ID.\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" }, - "resourceId": { + "serverId": { "type": "string", - "description": "The identifier of the resource to get the role bindings for.\n" + "description": "Server ID for the backup schedule.\n" } }, "type": "object", "required": [ - "resourceId" + "backupScheduleId", + "projectId", + "serverId" ] }, "outputs": { - "description": "A collection of values returned by getSecretsmanagerInstanceRoleBindingsV1.\n", + "description": "A collection of values returned by getServerBackupSchedule.\n", "properties": { + "backupProperties": { + "$ref": "#/types/stackit:index/getServerBackupScheduleBackupProperties:getServerBackupScheduleBackupProperties", + "description": "Backup schedule details for the backups.\n" + }, + "backupScheduleId": { + "type": "integer", + "description": "Backup schedule ID.\n" + }, + "enabled": { + "type": "boolean", + "description": "Is the backup schedule enabled or disabled.\n" + }, "id": { "type": "string", - "description": "Terraform's internal resource identifier. It is structured as \"\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=\"`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\".\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=\"`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=\"`backupScheduleId`\" pulumi-lang-dotnet=\"`BackupScheduleId`\" pulumi-lang-go=\"`backupScheduleId`\" pulumi-lang-python=\"`backup_schedule_id`\" pulumi-lang-yaml=\"`backupScheduleId`\" pulumi-lang-java=\"`backupScheduleId`\"\u003e`backupScheduleId`\u003c/span\u003e\".\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" }, - "resourceId": { + "rrule": { "type": "string", - "description": "The identifier of the resource to get the role bindings for.\n" + "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" }, - "roleBindings": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSecretsmanagerInstanceRoleBindingsV1RoleBinding:getSecretsmanagerInstanceRoleBindingsV1RoleBinding" - }, - "description": "List of role bindings.\n" + "serverId": { + "type": "string", + "description": "Server ID for the backup schedule.\n" } }, "type": "object", "required": [ + "backupProperties", + "backupScheduleId", + "enabled", "id", - "resourceId", - "roleBindings" + "name", + "projectId", + "rrule", + "serverId" ] } }, - "stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1:getSecretsmanagerSecretGroupRoleBindingsV1": { - "description": "IAM role binding datasource schema.\n\n\u003e This datasource is part of the iam 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_secretsmanager_secret_group_role_bindings_v1\" \"role_binding\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getServerBackupSchedules:getServerBackupSchedules": { + "description": "Server backup 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_backup_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 getSecretsmanagerSecretGroupRoleBindingsV1.\n", + "description": "A collection of arguments for invoking getServerBackupSchedules.\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" }, - "resourceId": { + "serverId": { "type": "string", - "description": "The identifier of the resource to get the role bindings for.\n" + "description": "Server ID (UUID) to which the backup schedule is associated.\n" } }, "type": "object", "required": [ - "resourceId" + "projectId", + "serverId" ] }, "outputs": { - "description": "A collection of values returned by getSecretsmanagerSecretGroupRoleBindingsV1.\n", + "description": "A collection of values returned by getServerBackupSchedules.\n", "properties": { "id": { "type": "string", - "description": "Terraform's internal resource identifier. It is structured as \"\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=\"`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\".\n" + "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" }, - "resourceId": { + "serverId": { "type": "string", - "description": "The identifier of the resource to get the role bindings for.\n" - }, - "roleBindings": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding:getSecretsmanagerSecretGroupRoleBindingsV1RoleBinding" - }, - "description": "List of role bindings.\n" + "description": "Server ID (UUID) to which the backup schedule is associated.\n" } }, "type": "object", "required": [ "id", - "resourceId", - "roleBindings" + "items", + "projectId", + "serverId" ] } }, - "stackit:index/getSecretsmanagerUser:getSecretsmanagerUser": { - "description": "Secrets Manager 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_secretsmanager_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/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 getSecretsmanagerUser.\n", + "description": "A collection of arguments for invoking getServerUpdateEnable.\n", "properties": { - "instanceId": { + "projectId": { "type": "string", - "description": "ID of the Secrets Manager instance.\n" + "description": "STACKIT Project ID to which the server update enable is associated.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT Project ID to which the instance is associated.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "userId": { + "serverId": { "type": "string", - "description": "The user's ID.\n" + "description": "Server ID to which the server update enable is associated.\n" } }, "type": "object", "required": [ - "instanceId", "projectId", - "userId" + "serverId" ] }, "outputs": { - "description": "A collection of values returned by getSecretsmanagerUser.\n", + "description": "A collection of values returned by getServerUpdateEnable.\n", "properties": { - "description": { - "type": "string", - "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n" + "enabled": { + "type": "boolean", + "description": "Set to true if the service is enabled.\n" }, "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=\"`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": "ID of the Secrets Manager instance.\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=\"`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 instance is associated.\n" + "description": "STACKIT Project ID to which the server update enable is associated.\n" }, - "userId": { + "region": { "type": "string", - "description": "The user's ID.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "username": { + "serverId": { "type": "string", - "description": "An auto-generated user name.\n" - }, - "writeEnabled": { - "type": "boolean", - "description": "If true, the user has writeaccess to the secrets engine.\n" + "description": "Server ID to which the server update enable is associated.\n" } }, "type": "object", "required": [ - "description", + "enabled", "id", - "instanceId", "projectId", - "userId", - "username", - "writeEnabled" + "serverId" ] } }, - "stackit:index/getSecurityGroup:getSecurityGroup": { - "description": "Security group 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_security_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "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 getSecurityGroup.\n", + "description": "A collection of arguments for invoking getServerUpdateSchedule.\n", "properties": { "projectId": { "type": "string", - "description": "STACKIT project ID to which the security group is associated.\n" + "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" }, - "securityGroupId": { + "serverId": { "type": "string", - "description": "The security group ID.\n" + "description": "Server ID for the update schedule.\n" + }, + "updateScheduleId": { + "type": "integer", + "description": "Update schedule ID.\n" } }, "type": "object", "required": [ "projectId", - "securityGroupId" + "serverId", + "updateScheduleId" ] }, "outputs": { - "description": "A collection of values returned by getSecurityGroup.\n", + "description": "A collection of values returned by getServerUpdateSchedule.\n", "properties": { - "description": { - "type": "string", - "description": "The description of the security group.\n" + "enabled": { + "type": "boolean", + "description": "Is the update schedule enabled or disabled.\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=\"`securityGroupId`\" pulumi-lang-dotnet=\"`SecurityGroupId`\" pulumi-lang-go=\"`securityGroupId`\" pulumi-lang-python=\"`security_group_id`\" pulumi-lang-yaml=\"`securityGroupId`\" pulumi-lang-java=\"`securityGroupId`\"\u003e`securityGroupId`\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=\"`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" }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\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 name of the security group.\n" + "description": "The schedule name.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the security group is associated.\n" + "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" }, - "securityGroupId": { + "rrule": { "type": "string", - "description": "The security group ID.\n" + "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" }, - "stateful": { - "type": "boolean", - "description": "Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server.\n" + "serverId": { + "type": "string", + "description": "Server ID for the update schedule.\n" + }, + "updateScheduleId": { + "type": "integer", + "description": "Update schedule ID.\n" } }, "type": "object", "required": [ - "description", + "enabled", "id", - "labels", + "maintenanceWindow", "name", "projectId", - "securityGroupId", - "stateful" + "rrule", + "serverId", + "updateScheduleId" ] } }, - "stackit:index/getSecurityGroupRule:getSecurityGroupRule": { - "description": "Security group 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_security_group_rule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_rule_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "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 getSecurityGroupRule.\n", + "description": "A collection of arguments for invoking getServerUpdateSchedules.\n", "properties": { "projectId": { "type": "string", - "description": "STACKIT project ID to which the security group rule is associated.\n" + "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" }, - "securityGroupId": { - "type": "string", - "description": "The security group ID.\n" - }, - "securityGroupRuleId": { + "serverId": { "type": "string", - "description": "The security group rule ID.\n" + "description": "Server ID (UUID) to which the update schedule is associated.\n" } }, "type": "object", "required": [ "projectId", - "securityGroupId", - "securityGroupRuleId" + "serverId" ] }, "outputs": { - "description": "A collection of values returned by getSecurityGroupRule.\n", + "description": "A collection of values returned by getServerUpdateSchedules.\n", "properties": { - "description": { - "type": "string", - "description": "The description of the security group rule.\n" - }, - "direction": { - "type": "string", - "description": "The direction of the traffic which the rule should match. Some of the possible values are: Possible values are: \u003cspan pulumi-lang-nodejs=\"`ingress`\" pulumi-lang-dotnet=\"`Ingress`\" pulumi-lang-go=\"`ingress`\" pulumi-lang-python=\"`ingress`\" pulumi-lang-yaml=\"`ingress`\" pulumi-lang-java=\"`ingress`\"\u003e`ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`egress`\" pulumi-lang-dotnet=\"`Egress`\" pulumi-lang-go=\"`egress`\" pulumi-lang-python=\"`egress`\" pulumi-lang-yaml=\"`egress`\" pulumi-lang-java=\"`egress`\"\u003e`egress`\u003c/span\u003e.\n" - }, - "etherType": { - "type": "string", - "description": "The ethertype which the rule should match.\n" - }, - "icmpParameters": { - "$ref": "#/types/stackit:index/getSecurityGroupRuleIcmpParameters:getSecurityGroupRuleIcmpParameters", - "description": "ICMP Parameters.\n" - }, "id": { "type": "string", - "description": "Terraform's internal datasource 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=\"`securityGroupId`\" pulumi-lang-dotnet=\"`SecurityGroupId`\" pulumi-lang-go=\"`securityGroupId`\" pulumi-lang-python=\"`security_group_id`\" pulumi-lang-yaml=\"`securityGroupId`\" pulumi-lang-java=\"`securityGroupId`\"\u003e`securityGroupId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`securityGroupRuleId`\" pulumi-lang-dotnet=\"`SecurityGroupRuleId`\" pulumi-lang-go=\"`securityGroupRuleId`\" pulumi-lang-python=\"`security_group_rule_id`\" pulumi-lang-yaml=\"`securityGroupRuleId`\" pulumi-lang-java=\"`securityGroupRuleId`\"\u003e`securityGroupRuleId`\u003c/span\u003e\".\n" - }, - "ipRange": { - "type": "string", - "description": "The remote IP range which the rule should match.\n" + "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" }, - "portRange": { - "$ref": "#/types/stackit:index/getSecurityGroupRulePortRange:getSecurityGroupRulePortRange", - "description": "The range of ports.\n" + "items": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getServerUpdateSchedulesItem:getServerUpdateSchedulesItem" + } }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the security group rule is associated.\n" - }, - "protocol": { - "$ref": "#/types/stackit:index/getSecurityGroupRuleProtocol:getSecurityGroupRuleProtocol", - "description": "The internet protocol which the rule should match.\n" + "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" }, - "remoteSecurityGroupId": { - "type": "string", - "description": "The remote security group which the rule should match.\n" - }, - "securityGroupId": { - "type": "string", - "description": "The security group ID.\n" - }, - "securityGroupRuleId": { + "serverId": { "type": "string", - "description": "The security group rule ID.\n" + "description": "Server ID (UUID) to which the update schedule is associated.\n" } }, "type": "object", "required": [ - "description", - "direction", - "etherType", - "icmpParameters", "id", - "ipRange", - "portRange", + "items", "projectId", - "protocol", - "remoteSecurityGroupId", - "securityGroupId", - "securityGroupRuleId" + "serverId" ] } }, - "stackit:index/getServer:getServer": { - "description": "Server 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\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "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 getServer.\n", + "description": "A collection of arguments for invoking getServiceAccount.\n", "properties": { - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the server is associated.\n" - }, - "region": { + "email": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Email of the service account.\n" }, - "serverId": { + "projectId": { "type": "string", - "description": "The server ID.\n" + "description": "STACKIT project ID to which the service account is associated.\n" } }, "type": "object", "required": [ - "projectId", - "serverId" + "email", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServer.\n", + "description": "A collection of values returned by getServiceAccount.\n", "properties": { - "affinityGroup": { - "type": "string", - "description": "The affinity group the server is assigned to.\n" - }, - "agent": { - "$ref": "#/types/stackit:index/getServerAgent:getServerAgent", - "description": "STACKIT Server Agent as setup on the server\n" - }, - "availabilityZone": { - "type": "string", - "description": "The availability zone of the server.\n" - }, - "bootVolume": { - "$ref": "#/types/stackit:index/getServerBootVolume:getServerBootVolume", - "description": "The boot volume for the server\n" - }, - "createdAt": { + "email": { "type": "string", - "description": "Date-time when the server was created\n" + "description": "Email of the service account.\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=\"`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" - }, - "imageId": { - "type": "string", - "description": "The image ID to be used for an ephemeral disk on the server.\n" - }, - "keypairName": { - "type": "string", - "description": "The name of the keypair used during server creation.\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" - }, - "launchedAt": { - "type": "string", - "description": "Date-time when the server was launched\n" - }, - "machineType": { - "type": "string", - "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/)\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,\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" }, "name": { "type": "string", - "description": "The name of the server.\n" - }, - "networkInterfaces": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server.\n" + "description": "Name of the service account.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the server is associated.\n" - }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "serverId": { - "type": "string", - "description": "The server ID.\n" - }, - "updatedAt": { - "type": "string", - "description": "Date-time when the server was updated\n" + "description": "STACKIT project ID to which the service account is associated.\n" }, - "userData": { + "serviceAccountId": { "type": "string", - "description": "User data that is passed via cloud-init to the server.\n" + "description": "The internal UUID of the service account.\n" } }, "type": "object", "required": [ - "affinityGroup", - "agent", - "availabilityZone", - "bootVolume", - "createdAt", + "email", "id", - "imageId", - "keypairName", - "labels", - "launchedAt", - "machineType", "name", - "networkInterfaces", "projectId", - "serverId", - "updatedAt", - "userData" + "serviceAccountId" ] } }, - "stackit:index/getServerBackupEnable:getServerBackupEnable": { - "description": "Server backup 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 getServerBackupEnable.\n", + "description": "A collection of arguments for invoking getServiceAccountFederatedIdentityProvider.\n", "properties": { - "projectId": { + "federationId": { "type": "string", - "description": "STACKIT Project ID to which the server backup 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 backup 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 getServerBackupEnable.\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 backup 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 backup 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/getServerBackupSchedule:getServerBackupSchedule": { - "description": "Server backup 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_backup_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n backup_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 getServerBackupSchedule.\n", + "description": "A collection of arguments for invoking getServiceAccounts.\n", "properties": { - "backupScheduleId": { - "type": "integer", - "description": "Backup schedule ID.\n" - }, - "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 backup schedule.\n" + "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" } }, "type": "object", "required": [ - "backupScheduleId", - "projectId", - "serverId" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServerBackupSchedule.\n", + "description": "A collection of values returned by getServiceAccounts.\n", "properties": { - "backupProperties": { - "$ref": "#/types/stackit:index/getServerBackupScheduleBackupProperties:getServerBackupScheduleBackupProperties", - "description": "Backup schedule details for the backups.\n" - }, - "backupScheduleId": { - "type": "integer", - "description": "Backup schedule ID.\n" - }, - "enabled": { - "type": "boolean", - "description": "Is the backup schedule enabled or disabled.\n" - }, - "id": { + "emailRegex": { "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=\"`backupScheduleId`\" pulumi-lang-dotnet=\"`BackupScheduleId`\" pulumi-lang-go=\"`backupScheduleId`\" pulumi-lang-python=\"`backup_schedule_id`\" pulumi-lang-yaml=\"`backupScheduleId`\" pulumi-lang-java=\"`backupScheduleId`\"\u003e`backupScheduleId`\u003c/span\u003e\".\n" + "description": "Optional regular expression to filter service accounts by email.\n" }, - "name": { + "emailSuffix": { "type": "string", - "description": "The schedule name.\n" + "description": "Optional suffix to filter service accounts by email (e.g.,`@sa.stackit.cloud`, `@ske.sa.stackit.cloud`).\n" }, - "projectId": { + "id": { "type": "string", - "description": "STACKIT Project ID to which the server is associated.\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" }, - "region": { - "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "items": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getServiceAccountsItem:getServiceAccountsItem" + }, + "description": "The list of service accounts matching the provided filters.\n" }, - "rrule": { + "projectId": { "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" + "description": "STACKIT project ID.\n" }, - "serverId": { - "type": "string", - "description": "Server ID for the backup schedule.\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": [ - "backupProperties", - "backupScheduleId", - "enabled", "id", - "name", - "projectId", - "rrule", - "serverId" + "items", + "projectId" ] } }, - "stackit:index/getServerBackupSchedules:getServerBackupSchedules": { - "description": "Server backup 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_backup_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 getServerBackupSchedules.\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 backup schedule is associated.\n" } }, "type": "object", "required": [ - "projectId", - "serverId" + "policyId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServerBackupSchedules.\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=\"`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/getServerBackupSchedulesItem:getServerBackupSchedulesItem" - } + "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 backup 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/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/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 getServerUpdateEnable.\n", + "description": "A collection of arguments for invoking getSfsProjectLock.\n", "properties": { "projectId": { "type": "string", - "description": "STACKIT Project ID to which the server update enable is associated.\n" + "description": "STACKIT Project ID to which the project lock 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" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServerUpdateEnable.\n", + "description": "A collection of values returned by getSfsProjectLock.\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" + "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" + }, + "lockId": { + "type": "string", + "description": "ID of the lock.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the server update enable is associated.\n" + "description": "STACKIT Project ID to which the project lock 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", + "lockId", "projectId", - "serverId" + "region" ] } }, - "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/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 getServerUpdateSchedule.\n", + "description": "A collection of arguments for invoking getSfsResourcePool.\n", "properties": { "projectId": { "type": "string", - "description": "STACKIT Project ID to which the server is associated.\n" + "description": "STACKIT project ID to which the resource pool is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" }, - "serverId": { + "resourcePoolId": { "type": "string", - "description": "Server ID for the update schedule.\n" - }, - "updateScheduleId": { - "type": "integer", - "description": "Update schedule ID.\n" + "description": "Resourcepool ID\n" } }, "type": "object", "required": [ "projectId", - "serverId", - "updateScheduleId" + "resourcePoolId" ] }, "outputs": { - "description": "A collection of values returned by getServerUpdateSchedule.\n", + "description": "A collection of values returned by getSfsResourcePool.\n", "properties": { - "enabled": { - "type": "boolean", - "description": "Is the update schedule enabled or disabled.\n" + "availabilityZone": { + "type": "string", + "description": "Availability zone.\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" + "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" }, - "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" + "ipAcls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource pool\n" }, "name": { "type": "string", - "description": "The schedule name.\n" + "description": "Name of the resource pool.\n" + }, + "performanceClass": { + "type": "string", + "description": "Name of the performance class.\n" + }, + "performanceClassDowngradableAt": { + "type": "string", + "description": "Time when the performance class can be downgraded again.\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID to which the server is associated.\n" + "description": "STACKIT project ID to which the resource pool is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" }, - "rrule": { + "resourcePoolId": { "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" + "description": "Resourcepool ID\n" }, - "serverId": { + "sizeGigabytes": { + "type": "integer", + "description": "Size of the resource pool (unit: gigabytes)\n" + }, + "sizeReducibleAt": { "type": "string", - "description": "Server ID for the update schedule.\n" + "description": "Time when the size can be reduced again.\n" }, - "updateScheduleId": { - "type": "integer", - "description": "Update schedule ID.\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": [ - "enabled", + "availabilityZone", "id", - "maintenanceWindow", + "ipAcls", + "labels", "name", + "performanceClass", + "performanceClassDowngradableAt", "projectId", - "rrule", - "serverId", - "updateScheduleId" + "resourcePoolId", + "sizeGigabytes", + "sizeReducibleAt", + "snapshotPolicy", + "snapshotsAreVisible" ] } }, - "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/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 getServerUpdateSchedules.\n", + "description": "A collection of arguments for invoking getSfsResourcePoolSnapshot.\n", "properties": { "projectId": { "type": "string", - "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + "description": "STACKIT project ID to which the resource pool snapshot 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" }, - "serverId": { + "resourcePoolId": { "type": "string", - "description": "Server ID (UUID) to which the update schedule is associated.\n" + "description": "Resource pool ID\n" } }, "type": "object", "required": [ "projectId", - "serverId" + "resourcePoolId" ] }, "outputs": { - "description": "A collection of values returned by getServerUpdateSchedules.\n", + "description": "A collection of values returned by getSfsResourcePoolSnapshot.\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" - } + "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" }, "projectId": { "type": "string", - "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + "description": "STACKIT project ID to which the resource pool snapshot 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" }, - "serverId": { + "resourcePoolId": { "type": "string", - "description": "Server ID (UUID) to which the update schedule is associated.\n" + "description": "Resource pool ID\n" + }, + "snapshots": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotSnapshot:getSfsResourcePoolSnapshotSnapshot" + }, + "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n" } }, "type": "object", "required": [ "id", - "items", "projectId", - "serverId" + "resourcePoolId", + "snapshots" ] } }, - "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", + "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 getServiceAccount.\n", + "description": "A collection of arguments for invoking getSfsShare.\n", "properties": { - "email": { + "projectId": { "type": "string", - "description": "Email of the service account.\n" + "description": "STACKIT project ID to which the share is associated.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT project ID to which the service account is associated.\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": [ - "email", - "projectId" + "projectId", + "resourcePoolId", + "shareId" ] }, "outputs": { - "description": "A collection of values returned by getServiceAccount.\n", + "description": "A collection of values returned by getSfsShare.\n", "properties": { - "email": { + "exportPolicy": { "type": "string", - "description": "Email of the service account.\n" + "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, 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 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" + }, + "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": "Mount path of the Share, used to mount the Share\n" }, "name": { "type": "string", - "description": "Name of the service account.\n" + "description": "Name of the Share\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the service account is associated.\n" + "description": "STACKIT project ID to which the share is associated.\n" }, - "serviceAccountId": { + "region": { "type": "string", - "description": "The internal UUID of the service account.\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" + }, + "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": [ - "email", + "exportPolicy", "id", + "labels", + "mountPath", "name", "projectId", - "serviceAccountId" + "resourcePoolId", + "shareId", + "spaceHardLimitGigabytes" ] } }, - "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", + "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 getServiceAccountFederatedIdentityProvider.\n", + "description": "A collection of arguments for invoking getSfsSnapshotPolicies.\n", "properties": { - "federationId": { + "immutable": { "type": "string", - "description": "The unique identifier for the federated identity provider associated with the service account.\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": "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" + "description": "STACKIT project ID to which the snapshot policy is associated.\n" } }, "type": "object", "required": [ - "federationId", - "projectId", - "serviceAccountEmail" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServiceAccountFederatedIdentityProvider.\n", + "description": "A collection of values returned by getSfsSnapshotPolicies.\n", "properties": { - "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=\"`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": "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" }, - "issuer": { + "immutable": { "type": "string", - "description": "The issuer URL.\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" }, - "name": { - "type": "string", - "description": "The name of the federated identity provider.\n" + "items": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSfsSnapshotPoliciesItem:getSfsSnapshotPoliciesItem" + } }, "projectId": { "type": "string", - "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" + "description": "STACKIT project ID to which the snapshot policy is associated.\n" } }, "type": "object", "required": [ - "assertions", - "federationId", "id", - "issuer", - "name", - "projectId", - "serviceAccountEmail" + "items", + "projectId" ] } }, - "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", + "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 getServiceAccounts.\n", + "description": "A collection of arguments for invoking getSkeCluster.\n", "properties": { - "emailRegex": { - "type": "string", - "description": "Optional regular expression to filter service accounts by email.\n" - }, - "emailSuffix": { + "name": { "type": "string", - "description": "Optional suffix to filter service accounts by email (e.g.,`@sa.stackit.cloud`, `@ske.sa.stackit.cloud`).\n" + "description": "The cluster name.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID.\n" + "description": "STACKIT project ID to which the cluster is associated.\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" + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "name", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServiceAccounts.\n", + "description": "A collection of values returned by getSkeCluster.\n", "properties": { - "emailRegex": { + "access": { + "$ref": "#/types/stackit:index/getSkeClusterAccess:getSkeClusterAccess", + "description": "Configure access to the cluster\n" + }, + "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" + }, + "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": "Optional regular expression to filter service accounts by email.\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" }, - "emailSuffix": { + "kubernetesVersionUsed": { "type": "string", - "description": "Optional suffix to filter service accounts by email (e.g.,`@sa.stackit.cloud`, `@ske.sa.stackit.cloud`).\n" + "description": "Full Kubernetes version used. For example, if `1.22` was selected, this value may result to `1.22.15`\n" }, - "id": { + "maintenance": { + "$ref": "#/types/stackit:index/getSkeClusterMaintenance:getSkeClusterMaintenance", + "description": "A single maintenance block as defined below\n" + }, + "name": { "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 cluster name.\n" }, - "items": { + "network": { + "$ref": "#/types/stackit:index/getSkeClusterNetwork:getSkeClusterNetwork", + "description": "Network block as defined below.\n" + }, + "nodePools": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getServiceAccountsItem:getServiceAccountsItem" + "$ref": "#/types/stackit:index/getSkeClusterNodePool:getSkeClusterNodePool" }, - "description": "The list of service accounts matching the provided filters.\n" + "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" + }, + "podAddressRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The network ranges (in CIDR notation) used by pods of the cluster.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID.\n" + "description": "STACKIT project ID to which the cluster is associated.\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" + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serviceAccountIssuer": { + "type": "string", + "description": "Service Account Issuer of the cluster.\n" } }, "type": "object", "required": [ + "access", + "egressAddressRanges", + "extensions", + "hibernations", "id", - "items", - "projectId" + "kubernetesVersionMin", + "kubernetesVersionUsed", + "maintenance", + "name", + "network", + "nodePools", + "podAddressRanges", + "projectId", + "serviceAccountIssuer" ] } }, - "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/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 getSfsExportPolicy.\n", + "description": "A collection of arguments for invoking getSkeKubernetesVersions.\n", "properties": { - "policyId": { - "type": "string", - "description": "Export policy ID\n" - }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT project ID to which the export policy is associated.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "region": { + "versionState": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" } }, - "type": "object", - "required": [ - "policyId", - "projectId" - ] + "type": "object" }, "outputs": { - "description": "A collection of values returned by getSfsExportPolicy.\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=\"`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": "The provider-assigned unique ID for this managed resource." }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" + "kubernetesVersions": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeKubernetesVersionsKubernetesVersion:getSkeKubernetesVersionsKubernetesVersion" }, - "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 to which the export policy is associated.\n" + "description": "Kubernetes versions and their metadata.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "rules": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSfsExportPolicyRule:getSfsExportPolicyRule" - } + "versionState": { + "type": "string", + "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" } }, "type": "object", "required": [ - "id", - "labels", - "name", - "policyId", - "projectId", - "region", - "rules" + "kubernetesVersions", + "id" ] } }, - "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/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 getSfsProjectLock.\n", + "description": "A collection of arguments for invoking getSkeMachineImageVersions.\n", "properties": { - "projectId": { + "region": { "type": "string", - "description": "STACKIT Project ID to which the project lock is associated.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "region": { + "versionState": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Filter returned machine image versions by their state. Possible values are: `SUPPORTED`.\n" } }, - "type": "object", - "required": [ - "projectId" - ] + "type": "object" }, "outputs": { - "description": "A collection of values returned by getSfsProjectLock.\n", + "description": "A collection of values returned by getSkeMachineImageVersions.\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": "The provider-assigned unique ID for this managed resource." }, - "lockId": { - "type": "string", - "description": "ID of the lock.\n" + "machineImages": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeMachineImageVersionsMachineImage:getSkeMachineImageVersionsMachineImage" + }, + "description": "Supported machine image types and versions.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT Project ID to which the project lock is associated.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "region": { + "versionState": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Filter returned machine image versions by their state. Possible values are: `SUPPORTED`.\n" } }, "type": "object", "required": [ - "id", - "lockId", - "projectId", - "region" + "machineImages", + "id" ] } }, - "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/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 getSfsResourcePool.\n", + "description": "A collection of arguments for invoking getSqlserverflexInstance.\n", "properties": { - "projectId": { + "instanceId": { "type": "string", - "description": "STACKIT project ID to which the resource pool is associated.\n" + "description": "ID of the SQLServer Flex instance.\n" }, - "region": { + "network": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceNetwork:getSqlserverflexInstanceNetwork", + "description": "The network configuration of the instance.\n" + }, + "projectId": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "STACKIT project ID to which the instance 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" + "instanceId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getSfsResourcePool.\n", + "description": "A collection of values returned by getSqlserverflexInstance.\n", "properties": { - "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": { + "acls": { "type": "array", "items": { "type": "string" }, - "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n" }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource pool\n" + "backupSchedule": { + "type": "string", + "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\").\n" }, - "name": { + "edition": { "type": "string", - "description": "Name of the resource pool.\n" + "description": "Edition of the MSSQL server instance.\n" }, - "performanceClass": { + "flavor": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor" + }, + "flavorId": { "type": "string", - "description": "Name of the performance class.\n" + "description": "The flavor ID of the SQLServer Flex instance.\n" }, - "performanceClassDowngradableAt": { + "id": { "type": "string", - "description": "Time when the performance class can be downgraded again.\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" + }, + "instanceId": { + "type": "string", + "description": "ID of the SQLServer Flex instance.\n" + }, + "name": { + "type": "string", + "description": "Instance name.\n" + }, + "network": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceNetwork:getSqlserverflexInstanceNetwork", + "description": "The network configuration of the instance.\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 resource pool is associated.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, "region": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "resourcePoolId": { - "type": "string", - "description": "Resourcepool ID\n" + "replicas": { + "type": "integer" }, - "sizeGigabytes": { + "retentionDays": { "type": "integer", - "description": "Size of the resource pool (unit: gigabytes)\n" - }, - "sizeReducibleAt": { - "type": "string", - "description": "Time when the size can be reduced again.\n" + "description": "The days (30 to 90) for how long the backup files should be stored before cleaned up.\n" }, - "snapshotPolicy": { - "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotPolicy:getSfsResourcePoolSnapshotPolicy", - "description": "Name of the snapshot policy.\n" + "storage": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceStorage:getSqlserverflexInstanceStorage" }, - "snapshotsAreVisible": { - "type": "boolean", - "description": "If set to true, snapshots are visible and accessible to users. (default: false)\n" + "version": { + "type": "string" } }, "type": "object", "required": [ - "availabilityZone", + "acls", + "backupSchedule", + "edition", + "flavor", + "flavorId", "id", - "ipAcls", - "labels", + "instanceId", "name", - "performanceClass", - "performanceClassDowngradableAt", + "options", "projectId", - "resourcePoolId", - "sizeGigabytes", - "sizeReducibleAt", - "snapshotPolicy", - "snapshotsAreVisible" + "replicas", + "retentionDays", + "storage", + "version" ] } }, - "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/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 getSfsResourcePoolSnapshot.\n", + "description": "A collection of arguments for invoking getSqlserverflexUser.\n", "properties": { + "instanceId": { + "type": "string", + "description": "ID of the SQLServer Flex instance.\n" + }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, "region": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "resourcePoolId": { + "userId": { "type": "string", - "description": "Resource pool ID\n" + "description": "User ID.\n" } }, "type": "object", "required": [ + "instanceId", "projectId", - "resourcePoolId" + "userId" ] }, "outputs": { - "description": "A collection of values returned by getSfsResourcePoolSnapshot.\n", + "description": "A collection of values returned by getSqlserverflexUser.\n", "properties": { + "host": { + "type": "string" + }, "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": "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" }, - "projectId": { + "instanceId": { "type": "string", - "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" + "description": "ID of the SQLServer Flex instance.\n" }, - "region": { + "port": { + "type": "integer" + }, + "projectId": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "resourcePoolId": { + "region": { "type": "string", - "description": "Resource pool ID\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "snapshots": { + "roles": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotSnapshot:getSfsResourcePoolSnapshotSnapshot" + "type": "string" }, - "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": "Database access levels for the user.\n" + }, + "userId": { + "type": "string", + "description": "User ID.\n" + }, + "username": { + "type": "string", + "description": "Username of the SQLServer Flex instance.\n" } }, "type": "object", "required": [ + "host", "id", + "instanceId", + "port", "projectId", - "resourcePoolId", - "snapshots" + "roles", + "userId", + "username" ] } }, - "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/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 getSfsShare.\n", + "description": "A collection of arguments for invoking getTelemetrylink.\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" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "resourcePoolId": { + "resourceId": { "type": "string", - "description": "The ID of the resource pool for the SFS share.\n" + "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" }, - "shareId": { + "resourceType": { "type": "string", - "description": "share ID\n" + "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", "required": [ - "projectId", - "resourcePoolId", - "shareId" + "resourceId", + "resourceType" ] }, "outputs": { - "description": "A collection of values returned by getSfsShare.\n", + "description": "A collection of values returned by getTelemetrylink.\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": { + "createTime": { "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" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a share\n" + "description": "The time the Telemetry Link was created.\n" }, - "mountPath": { + "description": { "type": "string", - "description": "Mount path of the Share, used to mount the Share\n" + "description": "The description of the Telemetry Link resource.\n" }, - "name": { + "displayName": { "type": "string", - "description": "Name of the Share\n" + "description": "The displayed name of the Telemetry Link resource.\n" }, - "projectId": { + "id": { "type": "string", - "description": "STACKIT project ID to which the share is associated.\n" + "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": "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" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\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", - "projectId", - "resourcePoolId", - "shareId", - "spaceHardLimitGigabytes" - ] - } - }, - "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 getSfsSnapshotPolicies.\n", - "properties": { - "immutable": { + "resourceId": { "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": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the snapshot policy is associated.\n" - } - }, - "type": "object", - "required": [ - "projectId" - ] - }, - "outputs": { - "description": "A collection of values returned by getSfsSnapshotPolicies.\n", - "properties": { - "id": { + "resourceType": { "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": "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" }, - "immutable": { + "status": { "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" - }, - "items": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSfsSnapshotPoliciesItem:getSfsSnapshotPoliciesItem" - } + "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" }, - "projectId": { + "telemetryRouterId": { "type": "string", - "description": "STACKIT project ID to which the snapshot policy is associated.\n" + "description": "The Telemetry Router ID.\n" } }, "type": "object", "required": [ + "createTime", + "description", + "displayName", "id", - "items", - "projectId" + "resourceId", + "resourceType", + "status", + "telemetryRouterId" ] } }, - "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/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 getSkeCluster.\n", + "description": "A collection of arguments for invoking getTelemetryrouterAccessToken.\n", "properties": { - "name": { + "accessTokenId": { + "type": "string", + "description": "The access token ID\n" + }, + "instanceId": { "type": "string", - "description": "The cluster name.\n" + "description": "The TelemetryRouter instance ID associated with the access token\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the cluster is associated.\n" + "description": "STACKIT project ID associated with the TelemetryRouter access token\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": [ - "name", + "accessTokenId", + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getSkeCluster.\n", + "description": "A collection of values returned by getTelemetryrouterAccessToken.\n", "properties": { - "access": { - "$ref": "#/types/stackit:index/getSkeClusterAccess:getSkeClusterAccess", - "description": "Configure access to the cluster\n" - }, - "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" - }, - "id": { + "accessTokenId": { "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" + "description": "The access token ID\n" }, - "kubernetesVersionMin": { + "creatorId": { "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": "The user who created the access token\n" }, - "kubernetesVersionUsed": { + "description": { "type": "string", - "description": "Full Kubernetes version used. For example, if `1.22` was selected, this value may result to `1.22.15`\n" - }, - "maintenance": { - "$ref": "#/types/stackit:index/getSkeClusterMaintenance:getSkeClusterMaintenance", - "description": "A single maintenance block as defined below\n" + "description": "The description of the access token\n" }, - "name": { + "displayName": { "type": "string", - "description": "The cluster name.\n" + "description": "The displayed name of the access token\n" }, - "network": { - "$ref": "#/types/stackit:index/getSkeClusterNetwork:getSkeClusterNetwork", - "description": "Network block as defined below.\n" + "expirationTime": { + "type": "string", + "description": "The date and time an access token will expire at (inclusively)\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" + "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=\"`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" }, - "podAddressRanges": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The network ranges (in CIDR notation) used by pods of the cluster.\n" + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID associated with the access token\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the cluster is associated.\n" + "description": "STACKIT project ID associated with the TelemetryRouter access token\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" }, - "serviceAccountIssuer": { + "status": { "type": "string", - "description": "Service Account Issuer of the cluster.\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": [ - "access", - "egressAddressRanges", - "extensions", - "hibernations", + "accessTokenId", + "creatorId", + "description", + "displayName", + "expirationTime", "id", - "kubernetesVersionMin", - "kubernetesVersionUsed", - "maintenance", - "name", - "network", - "nodePools", - "podAddressRanges", + "instanceId", "projectId", - "serviceAccountIssuer" + "status" ] } }, - "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/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 getSkeKubernetesVersions.\n", + "description": "A collection of arguments for invoking getTelemetryrouterDestination.\n", "properties": { - "region": { + "destinationId": { "type": "string", - "description": "Region override. If omitted, the provider’s region will be used.\n" + "description": "The TelemetryRouter destination ID\n" }, - "versionState": { - "type": "string", - "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" - } - }, - "type": "object" - }, - "outputs": { - "description": "A collection of values returned by getSkeKubernetesVersions.\n", - "properties": { - "id": { + "instanceId": { "type": "string", - "description": "The provider-assigned unique ID for this managed resource." - }, - "kubernetesVersions": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSkeKubernetesVersionsKubernetesVersion:getSkeKubernetesVersionsKubernetesVersion" - }, - "description": "Kubernetes versions and their metadata.\n" + "description": "The TelemetryRouter instance ID\n" }, - "region": { + "projectId": { "type": "string", - "description": "Region override. If omitted, the provider’s region will be used.\n" + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" }, - "versionState": { + "region": { "type": "string", - "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "kubernetesVersions", - "id" + "destinationId", + "instanceId", + "projectId" ] - } - }, - "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 getSkeMachineImageVersions.\n", + }, + "outputs": { + "description": "A collection of values returned by getTelemetryrouterDestination.\n", "properties": { - "region": { + "config": { + "$ref": "#/types/stackit:index/getTelemetryrouterDestinationConfig:getTelemetryrouterDestinationConfig", + "description": "The configuration of the TelemetryRouter destination\n" + }, + "creationTime": { "type": "string", - "description": "Region override. If omitted, the provider’s region will be used.\n" + "description": "The date and time the creation of the TelemetryRouter destination was initiated\n" }, - "versionState": { + "credentialType": { "type": "string", - "description": "Filter returned machine image versions by their state. Possible values are: `SUPPORTED`.\n" - } - }, - "type": "object" - }, - "outputs": { - "description": "A collection of values returned by getSkeMachineImageVersions.\n", - "properties": { + "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" + }, "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=\"`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" }, - "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\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter instance\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 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": [ - "machineImages", - "id" + "config", + "creationTime", + "credentialType", + "description", + "destinationId", + "displayName", + "id", + "instanceId", + "projectId", + "region", + "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/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 getSqlserverflexInstance.\n", + "description": "A collection of arguments for invoking getTelemetryrouterInstance.\n", "properties": { "instanceId": { "type": "string", - "description": "ID of the SQLServer Flex instance.\n" - }, - "network": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceNetwork:getSqlserverflexInstanceNetwork", - "description": "The network configuration of the 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", @@ -30875,555 +32147,558 @@ ] }, "outputs": { - "description": "A collection of values returned by getSqlserverflexInstance.\n", + "description": "A collection of values returned by getTelemetryrouterInstance.\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" - }, - "edition": { + "creationTime": { "type": "string", - "description": "Edition of the MSSQL server instance.\n" + "description": "The date and time the creation of the TelemetryRouter instance was initiated\n" }, - "flavor": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor" + "description": { + "type": "string", + "description": "The description of the TelemetryRouter instance\n" }, - "flavorId": { + "displayName": { "type": "string", - "description": "The flavor ID of the SQLServer Flex instance.\n" + "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\".\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" - }, - "name": { - "type": "string", - "description": "Instance name.\n" - }, - "network": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceNetwork:getSqlserverflexInstanceNetwork", - "description": "The network configuration of the instance.\n" - }, - "options": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceOptions:getSqlserverflexInstanceOptions", - "description": "Custom parameters for 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" - }, - "replicas": { - "type": "integer" - }, - "retentionDays": { - "type": "integer", - "description": "The days (30 to 90) for how long the backup files should be stored before cleaned up.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "storage": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceStorage:getSqlserverflexInstanceStorage" + "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" }, - "version": { - "type": "string" + "uri": { + "type": "string", + "description": "The TelemetryRouter instance's URI\n" } }, "type": "object", "required": [ - "acls", - "backupSchedule", - "edition", - "flavor", - "flavorId", + "creationTime", + "description", + "displayName", + "filter", "id", "instanceId", - "name", - "options", "projectId", - "replicas", - "retentionDays", - "storage", - "version" + "status", + "uri" ] } }, - "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/getVolume:getVolume": { + "description": "Volume resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_volume\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n volume_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 getVolume.\n", "properties": { - "instanceId": { - "type": "string", - "description": "ID of the SQLServer Flex instance.\n" - }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT project ID to which the volume is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "userId": { + "volumeId": { "type": "string", - "description": "User ID.\n" + "description": "The volume ID.\n" } }, "type": "object", "required": [ - "instanceId", "projectId", - "userId" + "volumeId" ] }, "outputs": { - "description": "A collection of values returned by getSqlserverflexUser.\n", + "description": "A collection of values returned by getVolume.\n", "properties": { - "host": { - "type": "string" + "availabilityZone": { + "type": "string", + "description": "The availability zone of the volume.\n" + }, + "description": { + "type": "string", + "description": "The description of the volume.\n" + }, + "encrypted": { + "type": "boolean", + "description": "Indicates if the volume is encrypted.\n" }, "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 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=\"`volumeId`\" pulumi-lang-dotnet=\"`VolumeId`\" pulumi-lang-go=\"`volumeId`\" pulumi-lang-python=\"`volume_id`\" pulumi-lang-yaml=\"`volumeId`\" pulumi-lang-java=\"`volumeId`\"\u003e`volumeId`\u003c/span\u003e\".\n" }, - "instanceId": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "name": { "type": "string", - "description": "ID of the SQLServer Flex instance.\n" + "description": "The name of the volume.\n" }, - "port": { - "type": "integer" + "performanceClass": { + "type": "string", + "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/products/storage/block-storage/basics/service-plans/#currently-available-service-plans-performance-classes)\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT project ID to which the volume is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Database access levels for the user.\n" - }, - "userId": { + "serverId": { "type": "string", - "description": "User ID.\n" + "description": "The server ID of the server to which the volume is attached to.\n" }, - "username": { + "size": { + "type": "integer", + "description": "The size of the volume in GB. It can only be updated to a larger value than the current size\n" + }, + "source": { + "$ref": "#/types/stackit:index/getVolumeSource:getVolumeSource", + "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup\n" + }, + "volumeId": { "type": "string", - "description": "Username of the SQLServer Flex instance.\n" + "description": "The volume ID.\n" } }, "type": "object", "required": [ - "host", + "availabilityZone", + "description", + "encrypted", "id", - "instanceId", - "port", + "labels", + "name", + "performanceClass", "projectId", - "roles", - "userId", - "username" + "serverId", + "size", + "source", + "volumeId" ] } }, - "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", + "stackit:index/getVpc:getVpc": { + "description": "VPC datasource schema.\n\n\u003e This datasource is part of the experimental feature vpc 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_vpc\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getTelemetrylink.\n", + "description": "A collection of arguments for invoking getVpc.\n", "properties": { - "region": { + "projectId": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "STACKIT project ID to which the VPC is associated.\n" }, - "resourceId": { - "type": "string", - "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" + "timeouts": { + "$ref": "#/types/stackit:index/getVpcTimeouts:getVpcTimeouts" }, - "resourceType": { + "vpcId": { "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" + "description": "The VPC ID.\n" } }, "type": "object", "required": [ - "resourceId", - "resourceType" + "projectId", + "vpcId" ] }, "outputs": { - "description": "A collection of values returned by getTelemetrylink.\n", + "description": "A collection of values returned by getVpc.\n", "properties": { - "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" + "description": "The description of the VPC.\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" + "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=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpcId`\u003c/span\u003e\".\n" }, - "region": { - "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "resourceId": { + "name": { "type": "string", - "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" + "description": "The name of the VPC.\n" }, - "resourceType": { + "projectId": { "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" + "description": "STACKIT project ID to which the VPC is associated.\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" + "timeouts": { + "$ref": "#/types/stackit:index/getVpcTimeouts:getVpcTimeouts" }, - "telemetryRouterId": { + "vpcId": { "type": "string", - "description": "The Telemetry Router ID.\n" + "description": "The VPC ID.\n" } }, "type": "object", "required": [ - "createTime", "description", - "displayName", "id", - "resourceId", - "resourceType", - "status", - "telemetryRouterId" + "labels", + "name", + "projectId", + "vpcId" ] } }, - "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", + "stackit:index/getVpcNetworkRange:getVpcNetworkRange": { + "description": "VPC network range datasource schema\n\n\u003e This datasource is part of the experimental feature vpc 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_vpc_network_range\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_range_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getTelemetryrouterAccessToken.\n", + "description": "A collection of arguments for invoking getVpcNetworkRange.\n", "properties": { - "accessTokenId": { - "type": "string", - "description": "The access token ID\n" - }, - "instanceId": { - "type": "string", - "description": "The TelemetryRouter instance ID associated with the access token\n" + "networkRangeId": { + "type": "string" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the TelemetryRouter access token\n" + "description": "STACKIT project ID to which the VPC network range is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getVpcNetworkRangeTimeouts:getVpcNetworkRangeTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the VPC network range is associated.\n" } }, "type": "object", "required": [ - "accessTokenId", - "instanceId", - "projectId" + "networkRangeId", + "projectId", + "vpcId" ] }, "outputs": { - "description": "A collection of values returned by getTelemetryrouterAccessToken.\n", + "description": "A collection of values returned by getVpcNetworkRange.\n", "properties": { - "accessTokenId": { + "defaultPrefixLength": { + "type": "integer", + "description": "Default prefix length for the VPC network range\n" + }, + "description": { "type": "string", - "description": "The access token ID\n" + "description": "Description of the VPC network range\n" }, - "creatorId": { + "id": { "type": "string", - "description": "The user who created the access token\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=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpcId`\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=\"`networkRangeId`\" pulumi-lang-dotnet=\"`NetworkRangeId`\" pulumi-lang-go=\"`networkRangeId`\" pulumi-lang-python=\"`network_range_id`\" pulumi-lang-yaml=\"`networkRangeId`\" pulumi-lang-java=\"`networkRangeId`\"\u003e`networkRangeId`\u003c/span\u003e\".\n" + }, + "ipVersion": { + "type": "string", + "description": "IP version of the VPC network range. Possible values are: \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "description": { - "type": "string", - "description": "The description of the access token\n" + "maxPrefixLength": { + "type": "integer", + "description": "Maximum prefix length for the VPC network range\n" }, - "displayName": { - "type": "string", - "description": "The displayed name of the access token\n" + "minPrefixLength": { + "type": "integer", + "description": "Minimum prefix length for the VPC network range\n" }, - "expirationTime": { - "type": "string", - "description": "The date and time an access token will expire at (inclusively)\n" + "nameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of nameservers for the VPC network range\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=\"`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" + "networkRangeId": { + "type": "string" }, - "instanceId": { + "prefix": { "type": "string", - "description": "The TelemetryRouter instance ID associated with the access token\n" + "description": "The IP prefix for the VPC network range\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the TelemetryRouter access token\n" + "description": "STACKIT project ID to which the VPC network range is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "status": { + "timeouts": { + "$ref": "#/types/stackit:index/getVpcNetworkRangeTimeouts:getVpcNetworkRangeTimeouts" + }, + "vpcId": { "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" + "description": "The VPC ID to which the VPC network range is associated.\n" } }, "type": "object", "required": [ - "accessTokenId", - "creatorId", + "defaultPrefixLength", "description", - "displayName", - "expirationTime", "id", - "instanceId", + "ipVersion", + "labels", + "maxPrefixLength", + "minPrefixLength", + "nameservers", + "networkRangeId", + "prefix", "projectId", - "status" + "region", + "vpcId" ] } }, - "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", + "stackit:index/getVpcRegion:getVpcRegion": { + "description": "VPC region datasource schema\n\n\u003e This datasource is part of the experimental feature vpc 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_vpc_region\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getTelemetryrouterDestination.\n", + "description": "A collection of arguments for invoking getVpcRegion.\n", "properties": { - "destinationId": { + "projectId": { "type": "string", - "description": "The TelemetryRouter destination ID\n" + "description": "STACKIT project ID to which the VPC region is associated.\n" }, - "instanceId": { + "region": { "type": "string", - "description": "The TelemetryRouter instance ID\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "projectId": { - "type": "string", - "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + "timeouts": { + "$ref": "#/types/stackit:index/getVpcRegionTimeouts:getVpcRegionTimeouts" }, - "region": { + "vpcId": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The VPC ID to which the VPC region is associated.\n" } }, "type": "object", "required": [ - "destinationId", - "instanceId", - "projectId" + "projectId", + "vpcId" ] }, "outputs": { - "description": "A collection of values returned by getTelemetryrouterDestination.\n", + "description": "A collection of values returned by getVpcRegion.\n", "properties": { - "config": { - "$ref": "#/types/stackit:index/getTelemetryrouterDestinationConfig:getTelemetryrouterDestinationConfig", - "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" - }, "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" + "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=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpcId`\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 associated with the TelemetryRouter instance\n" + "description": "STACKIT project ID to which the VPC region is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "status": { + "timeouts": { + "$ref": "#/types/stackit:index/getVpcRegionTimeouts:getVpcRegionTimeouts" + }, + "vpcId": { "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" + "description": "The VPC ID to which the VPC region is associated.\n" } }, "type": "object", "required": [ - "config", - "creationTime", - "credentialType", - "description", - "destinationId", - "displayName", "id", - "instanceId", "projectId", - "region", - "status" + "vpcId" ] } }, - "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", + "stackit:index/getVpcRoutingTable:getVpcRoutingTable": { + "description": "VPC Regional routing table 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 part of the experimental feature vpc 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_routing_table\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n vpc_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n routing_table_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getTelemetryrouterInstance.\n", + "description": "A collection of arguments for invoking getVpcRoutingTable.\n", "properties": { - "instanceId": { + "description": { "type": "string", - "description": "The TelemetryRouter instance ID\n" + "description": "Description of the regional routing table.\n" + }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this regional routing table\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + "description": "STACKIT project ID to which the regional routing table is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "routingTableId": { + "type": "string", + "description": "The regional routing tables ID.\n" + }, + "systemRoutes": { + "type": "boolean", + "description": "This allows installation of automatic system routes for connectivity between projects in the same VPC.\n" + }, + "vpcId": { + "type": "string", + "description": "The vpc ID to which the regional routing table is associated.\n" } }, "type": "object", "required": [ - "instanceId", - "projectId" + "projectId", + "routingTableId", + "vpcId" ] }, "outputs": { - "description": "A collection of values returned by getTelemetryrouterInstance.\n", + "description": "A collection of values returned by getVpcRoutingTable.\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" + "description": "Description of the regional routing table.\n" }, - "filter": { - "$ref": "#/types/stackit:index/getTelemetryrouterInstanceFilter:getTelemetryrouterInstanceFilter", - "description": "The TelemetryRouter global filter settings\n" + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this regional routing table\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" + "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=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpcId`\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=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e\".\n" }, - "instanceId": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "name": { "type": "string", - "description": "The TelemetryRouter instance ID\n" + "description": "The name of the regional routing table.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + "description": "STACKIT project ID to which the regional routing table is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, - "status": { + "routingTableId": { "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" + "description": "The regional routing tables ID.\n" }, - "uri": { + "systemRoutes": { + "type": "boolean", + "description": "This allows installation of automatic system routes for connectivity between projects in the same VPC.\n" + }, + "vpcId": { "type": "string", - "description": "The TelemetryRouter instance's URI\n" + "description": "The vpc ID to which the regional routing table is associated.\n" } }, "type": "object", "required": [ - "creationTime", "description", - "displayName", - "filter", + "dynamicRoutes", "id", - "instanceId", + "name", "projectId", - "status", - "uri" + "region", + "routingTableId", + "systemRoutes", + "vpcId" ] } }, - "stackit:index/getVolume:getVolume": { - "description": "Volume resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_volume\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n volume_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute": { + "description": "VPC Routing table static route 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 part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n", "inputs": { - "description": "A collection of arguments for invoking getVolume.\n", + "description": "A collection of arguments for invoking getVpcRoutingTableStaticRoute.\n", "properties": { "projectId": { "type": "string", - "description": "STACKIT project ID to which the volume is associated.\n" + "description": "STACKIT Project ID to which the static route is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The region of the static route.\n" }, - "volumeId": { + "routeId": { "type": "string", - "description": "The volume ID.\n" + "description": "The static route ID.\n" + }, + "routingTableId": { + "type": "string", + "description": "The routing table ID to which the static route is associated.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/getVpcRoutingTableStaticRouteTimeouts:getVpcRoutingTableStaticRouteTimeouts" + }, + "vpcId": { + "type": "string", + "description": "The VPC ID to which the static route is associated.\n" } }, "type": "object", "required": [ "projectId", - "volumeId" + "routeId", + "routingTableId", + "vpcId" ] }, "outputs": { - "description": "A collection of values returned by getVolume.\n", + "description": "A collection of values returned by getVpcRoutingTableStaticRoute.\n", "properties": { - "availabilityZone": { - "type": "string", - "description": "The availability zone of the volume.\n" - }, - "description": { - "type": "string", - "description": "The description of the volume.\n" - }, - "encrypted": { - "type": "boolean", - "description": "Indicates if the volume is encrypted.\n" + "destination": { + "$ref": "#/types/stackit:index/getVpcRoutingTableStaticRouteDestination:getVpcRoutingTableStaticRouteDestination", + "description": "The destination of the static route.\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=\"`volumeId`\" pulumi-lang-dotnet=\"`VolumeId`\" pulumi-lang-go=\"`volumeId`\" pulumi-lang-python=\"`volume_id`\" pulumi-lang-yaml=\"`volumeId`\" pulumi-lang-java=\"`volumeId`\"\u003e`volumeId`\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=\"`vpcId`\" pulumi-lang-dotnet=\"`VpcId`\" pulumi-lang-go=\"`vpcId`\" pulumi-lang-python=\"`vpc_id`\" pulumi-lang-yaml=\"`vpcId`\" pulumi-lang-java=\"`vpcId`\"\u003e`vpcId`\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=\"`routingTableId`\" pulumi-lang-dotnet=\"`RoutingTableId`\" pulumi-lang-go=\"`routingTableId`\" pulumi-lang-python=\"`routing_table_id`\" pulumi-lang-yaml=\"`routingTableId`\" pulumi-lang-java=\"`routingTableId`\"\u003e`routingTableId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`routeId`\" pulumi-lang-dotnet=\"`RouteId`\" pulumi-lang-go=\"`routeId`\" pulumi-lang-python=\"`route_id`\" pulumi-lang-yaml=\"`routeId`\" pulumi-lang-java=\"`routeId`\"\u003e`routeId`\u003c/span\u003e\".\n" }, "labels": { "type": "object", @@ -31432,53 +32707,45 @@ }, "description": "Labels are key-value string pairs which can be attached to a resource container\n" }, - "name": { - "type": "string", - "description": "The name of the volume.\n" - }, - "performanceClass": { - "type": "string", - "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/products/storage/block-storage/basics/service-plans/#currently-available-service-plans-performance-classes)\n" + "nexthop": { + "$ref": "#/types/stackit:index/getVpcRoutingTableStaticRouteNexthop:getVpcRoutingTableStaticRouteNexthop", + "description": "The nexthop of the static route.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the volume is associated.\n" + "description": "STACKIT Project ID to which the static route is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The region of the static route.\n" }, - "serverId": { + "routeId": { "type": "string", - "description": "The server ID of the server to which the volume is attached to.\n" + "description": "The static route ID.\n" }, - "size": { - "type": "integer", - "description": "The size of the volume in GB. It can only be updated to a larger value than the current size\n" + "routingTableId": { + "type": "string", + "description": "The routing table ID to which the static route is associated.\n" }, - "source": { - "$ref": "#/types/stackit:index/getVolumeSource:getVolumeSource", - "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup\n" + "timeouts": { + "$ref": "#/types/stackit:index/getVpcRoutingTableStaticRouteTimeouts:getVpcRoutingTableStaticRouteTimeouts" }, - "volumeId": { + "vpcId": { "type": "string", - "description": "The volume ID.\n" + "description": "The VPC ID to which the static route is associated.\n" } }, "type": "object", "required": [ - "availabilityZone", - "description", - "encrypted", + "destination", "id", "labels", - "name", - "performanceClass", + "nexthop", "projectId", - "serverId", - "size", - "source", - "volumeId" + "region", + "routeId", + "routingTableId", + "vpcId" ] } }, diff --git a/provider/go.mod b/provider/go.mod index 9bc250d..50a3dae 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -202,10 +202,10 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 // indirect @@ -233,7 +233,7 @@ require ( 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.102.0 // indirect + github.com/stackitcloud/terraform-provider-stackit v0.103.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 diff --git a/provider/go.sum b/provider/go.sum index e2d7211..2b332bb 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -656,14 +656,14 @@ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 h1:bINitVHAy github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 h1:ZVkptfVCAqpaPWkE+WIopM9XdzqgbVcwmX5L1jZqqx8= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 h1:LKreLAR425+EMYbKrPIAzeoTEQlDF8EpIMTVBpOhjmA= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 h1:kAWRUptc9g6lA9XCgB4Fw8oQYOhDuV0mp+eZhpiyJ+Y= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 h1:qPhNo5m0K9ZKMnUx7e23fmvBmhOCxIFRzobwFhSHWUY= github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg= github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 h1:VZBneGprCmHqckcSMPs3puBlK8rBpLMtYKmBktwdoVE= github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 h1:H4V3H8qSKOaOalIrf4nAPDHhXnHYGs6SDGuK8Zj41Zo= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0/go.mod h1:Ts06id0KejUlQWbpR+/rm+tKng6QkTuFV1VQTPJ4dA4= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 h1:PQZ6n71CMadLU3DjJxJXiPHdK9Bz4hMttBREQD6no34= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0/go.mod h1:AbPN9BGkdjc+tVsXEX9Vr8BPDjdlDmG26K1FwCKZQVU= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 h1:zuZIWgm8ak6aOyvgHouIBSoAnUkNBy4HMSba5AHYI7U= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI= github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 h1:OrUaDypQNr1nOXZfVQXCwUpN4YhR5y0vtvYi9/Ogoi4= @@ -718,8 +718,8 @@ github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0 h1:MEvzGI 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.102.0 h1:MYd8+veTMav3AxDltw+fwUqYbEBNzFO5P/0uFCK567g= -github.com/stackitcloud/terraform-provider-stackit v0.102.0/go.mod h1:ymHQNL1HUAYjvEbEfSsqBW79huZoSLREU5YIvDiYLNA= +github.com/stackitcloud/terraform-provider-stackit v0.103.0 h1:toOqHkuOcX7svf/FsdvCGdQiC7AhYH6IFGVyAjaSW6Q= +github.com/stackitcloud/terraform-provider-stackit v0.103.0/go.mod h1:tdtIQJiXRtOKMwv2RtyvPNGuJpjafE+nJ7N7AJcg1yE= 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= diff --git a/provider/shim/go.mod b/provider/shim/go.mod index 9618f82..ec54df7 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -2,14 +2,14 @@ module github.com/stackitcloud/pulumi-stackit/provider/shim go 1.26.0 -require github.com/stackitcloud/terraform-provider-stackit v0.102.0 +require github.com/stackitcloud/terraform-provider-stackit v0.103.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.15.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 // indirect @@ -41,7 +41,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0 // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index ddb65ef..4328e19 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -95,14 +95,14 @@ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 h1:bINitVHAy github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 h1:ZVkptfVCAqpaPWkE+WIopM9XdzqgbVcwmX5L1jZqqx8= github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 h1:LKreLAR425+EMYbKrPIAzeoTEQlDF8EpIMTVBpOhjmA= -github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0 h1:kAWRUptc9g6lA9XCgB4Fw8oQYOhDuV0mp+eZhpiyJ+Y= +github.com/stackitcloud/stackit-sdk-go/services/dremio v0.4.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo= github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 h1:qPhNo5m0K9ZKMnUx7e23fmvBmhOCxIFRzobwFhSHWUY= github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg= github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 h1:VZBneGprCmHqckcSMPs3puBlK8rBpLMtYKmBktwdoVE= github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 h1:H4V3H8qSKOaOalIrf4nAPDHhXnHYGs6SDGuK8Zj41Zo= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0/go.mod h1:Ts06id0KejUlQWbpR+/rm+tKng6QkTuFV1VQTPJ4dA4= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0 h1:PQZ6n71CMadLU3DjJxJXiPHdK9Bz4hMttBREQD6no34= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.13.0/go.mod h1:AbPN9BGkdjc+tVsXEX9Vr8BPDjdlDmG26K1FwCKZQVU= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 h1:zuZIWgm8ak6aOyvgHouIBSoAnUkNBy4HMSba5AHYI7U= github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI= github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 h1:OrUaDypQNr1nOXZfVQXCwUpN4YhR5y0vtvYi9/Ogoi4= @@ -157,8 +157,8 @@ github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0 h1:MEvzGI 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.102.0 h1:MYd8+veTMav3AxDltw+fwUqYbEBNzFO5P/0uFCK567g= -github.com/stackitcloud/terraform-provider-stackit v0.102.0/go.mod h1:ymHQNL1HUAYjvEbEfSsqBW79huZoSLREU5YIvDiYLNA= +github.com/stackitcloud/terraform-provider-stackit v0.103.0 h1:toOqHkuOcX7svf/FsdvCGdQiC7AhYH6IFGVyAjaSW6Q= +github.com/stackitcloud/terraform-provider-stackit v0.103.0/go.mod h1:tdtIQJiXRtOKMwv2RtyvPNGuJpjafE+nJ7N7AJcg1yE= 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= From a66484667f55ba13e71fb954bcceca920ba293db Mon Sep 17 00:00:00 2001 From: Pulumi Generator Bot Date: Thu, 16 Jul 2026 05:48:32 +0000 Subject: [PATCH 2/2] make generate_sdks --- .../AuthorizationFolderRoleAssignment.cs | 2 +- ...AuthorizationOrganizationRoleAssignment.cs | 2 +- .../AuthorizationProjectRoleAssignment.cs | 2 +- ...thorizationServiceAccountRoleAssignment.cs | 2 +- sdk/dotnet/Config/Config.cs | 2 +- sdk/dotnet/DremioInstance.cs | 2 +- sdk/dotnet/DremioUser.cs | 2 +- .../GetAuthorizationFolderCustomRole.cs | 6 +- .../GetAuthorizationOrganizationCustomRole.cs | 6 +- .../GetAuthorizationProjectCustomRole.cs | 6 +- sdk/dotnet/GetDremioInstance.cs | 6 +- sdk/dotnet/GetDremioUser.cs | 6 +- sdk/dotnet/GetRoutingTable.cs | 6 +- sdk/dotnet/GetRoutingTableRoute.cs | 6 +- sdk/dotnet/GetRoutingTableRoutes.cs | 6 +- sdk/dotnet/GetRoutingTables.cs | 6 +- ...GetSecretsmanagerInstanceRoleBindingsV1.cs | 6 +- ...SecretsmanagerSecretGroupRoleBindingsV1.cs | 6 +- sdk/dotnet/GetVpc.cs | 168 + sdk/dotnet/GetVpcNetworkRange.cs | 235 + sdk/dotnet/GetVpcRegion.cs | 169 + sdk/dotnet/GetVpcRoutingTable.cs | 273 + sdk/dotnet/GetVpcRoutingTableStaticRoute.cs | 198 + .../Inputs/GetVpcNetworkRangeTimeouts.cs | 26 + .../Inputs/GetVpcNetworkRangeTimeoutsArgs.cs | 26 + sdk/dotnet/Inputs/GetVpcRegionTimeouts.cs | 26 + sdk/dotnet/Inputs/GetVpcRegionTimeoutsArgs.cs | 26 + .../GetVpcRoutingTableStaticRouteTimeouts.cs | 26 + ...tVpcRoutingTableStaticRouteTimeoutsArgs.cs | 26 + sdk/dotnet/Inputs/GetVpcTimeouts.cs | 26 + sdk/dotnet/Inputs/GetVpcTimeoutsArgs.cs | 26 + .../Inputs/VpcNetworkRangeTimeoutsArgs.cs | 44 + .../Inputs/VpcNetworkRangeTimeoutsGetArgs.cs | 44 + sdk/dotnet/Inputs/VpcRegionTimeoutsArgs.cs | 44 + sdk/dotnet/Inputs/VpcRegionTimeoutsGetArgs.cs | 44 + ...cRoutingTableStaticRouteDestinationArgs.cs | 32 + ...utingTableStaticRouteDestinationGetArgs.cs | 32 + .../VpcRoutingTableStaticRouteNexthopArgs.cs | 32 + ...pcRoutingTableStaticRouteNexthopGetArgs.cs | 32 + .../VpcRoutingTableStaticRouteTimeoutsArgs.cs | 44 + ...cRoutingTableStaticRouteTimeoutsGetArgs.cs | 44 + sdk/dotnet/Inputs/VpcTimeoutsArgs.cs | 44 + sdk/dotnet/Inputs/VpcTimeoutsGetArgs.cs | 44 + ...emioInstanceAuthenticationAzureadResult.cs | 7 - ...DremioInstanceAuthenticationOauthResult.cs | 7 - .../GetVpcNetworkRangeTimeoutsResult.cs | 27 + .../Outputs/GetVpcRegionTimeoutsResult.cs | 27 + ...outingTableStaticRouteDestinationResult.cs | 29 + ...VpcRoutingTableStaticRouteNexthopResult.cs | 29 + ...pcRoutingTableStaticRouteTimeoutsResult.cs | 27 + sdk/dotnet/Outputs/GetVpcTimeoutsResult.cs | 27 + sdk/dotnet/Outputs/VpcNetworkRangeTimeouts.cs | 49 + sdk/dotnet/Outputs/VpcRegionTimeouts.cs | 49 + .../VpcRoutingTableStaticRouteDestination.cs | 35 + .../VpcRoutingTableStaticRouteNexthop.cs | 35 + .../VpcRoutingTableStaticRouteTimeouts.cs | 49 + sdk/dotnet/Outputs/VpcTimeouts.cs | 49 + sdk/dotnet/Provider.cs | 2 +- sdk/dotnet/RoutingTable.cs | 2 +- sdk/dotnet/RoutingTableRoute.cs | 2 +- .../SecretsmanagerInstanceRoleBindingV1.cs | 2 +- .../SecretsmanagerSecretGroupRoleBindingV1.cs | 2 +- sdk/dotnet/Vpc.cs | 191 + sdk/dotnet/VpcNetworkRange.cs | 323 + sdk/dotnet/VpcRegion.cs | 149 + sdk/dotnet/VpcRoutingTable.cs | 254 + sdk/dotnet/VpcRoutingTableStaticRoute.cs | 245 + .../authorizationFolderRoleAssignment.go | 2 +- ...authorizationOrganizationRoleAssignment.go | 2 +- .../authorizationProjectRoleAssignment.go | 2 +- ...thorizationServiceAccountRoleAssignment.go | 2 +- sdk/go/stackit/config/config.go | 2 +- sdk/go/stackit/dremioInstance.go | 2 +- sdk/go/stackit/dremioUser.go | 2 +- sdk/go/stackit/getDremioInstance.go | 2 +- sdk/go/stackit/getDremioUser.go | 2 +- sdk/go/stackit/getRoutingTable.go | 2 +- sdk/go/stackit/getRoutingTableRoute.go | 2 +- sdk/go/stackit/getRoutingTableRoutes.go | 2 +- sdk/go/stackit/getRoutingTables.go | 2 +- ...getSecretsmanagerInstanceRoleBindingsV1.go | 2 +- ...SecretsmanagerSecretGroupRoleBindingsV1.go | 2 +- sdk/go/stackit/getVpc.go | 128 + sdk/go/stackit/getVpcNetworkRange.go | 181 + sdk/go/stackit/getVpcRegion.go | 118 + sdk/go/stackit/getVpcRoutingTable.go | 173 + .../stackit/getVpcRoutingTableStaticRoute.go | 163 + sdk/go/stackit/init.go | 35 + sdk/go/stackit/provider.go | 4 +- sdk/go/stackit/pulumiTypes.go | 21410 +++++++++------- sdk/go/stackit/routingTable.go | 2 +- sdk/go/stackit/routingTableRoute.go | 2 +- .../secretsmanagerInstanceRoleBindingV1.go | 2 +- .../secretsmanagerSecretGroupRoleBindingV1.go | 2 +- sdk/go/stackit/vpc.go | 295 + sdk/go/stackit/vpcNetworkRange.go | 405 + sdk/go/stackit/vpcRegion.go | 269 + sdk/go/stackit/vpcRoutingTable.go | 346 + sdk/go/stackit/vpcRoutingTableStaticRoute.go | 349 + .../authorizationFolderRoleAssignment.ts | 2 +- ...authorizationOrganizationRoleAssignment.ts | 2 +- .../authorizationProjectRoleAssignment.ts | 2 +- ...thorizationServiceAccountRoleAssignment.ts | 2 +- sdk/nodejs/config/vars.ts | 2 +- sdk/nodejs/dremioInstance.ts | 2 +- sdk/nodejs/dremioUser.ts | 2 +- sdk/nodejs/getDremioInstance.ts | 4 +- sdk/nodejs/getDremioUser.ts | 4 +- sdk/nodejs/getRoutingTable.ts | 4 +- sdk/nodejs/getRoutingTableRoute.ts | 4 +- sdk/nodejs/getRoutingTableRoutes.ts | 4 +- sdk/nodejs/getRoutingTables.ts | 4 +- ...getSecretsmanagerInstanceRoleBindingsV1.ts | 4 +- ...SecretsmanagerSecretGroupRoleBindingsV1.ts | 4 +- sdk/nodejs/getVpc.ts | 99 + sdk/nodejs/getVpcNetworkRange.ts | 138 + sdk/nodejs/getVpcRegion.ts | 101 + sdk/nodejs/getVpcRoutingTable.ts | 168 + sdk/nodejs/getVpcRoutingTableStaticRoute.ts | 137 + sdk/nodejs/index.ts | 65 + sdk/nodejs/provider.ts | 2 +- sdk/nodejs/routingTable.ts | 2 +- sdk/nodejs/routingTableRoute.ts | 2 +- .../secretsmanagerInstanceRoleBindingV1.ts | 2 +- .../secretsmanagerSecretGroupRoleBindingV1.ts | 2 +- sdk/nodejs/tsconfig.json | 10 + sdk/nodejs/types/input.ts | 154 + sdk/nodejs/types/output.ts | 144 +- sdk/nodejs/vpc.ts | 157 + sdk/nodejs/vpcNetworkRange.ts | 258 + sdk/nodejs/vpcRegion.ts | 133 + sdk/nodejs/vpcRoutingTable.ts | 206 + sdk/nodejs/vpcRoutingTableStaticRoute.ts | 208 + sdk/python/pulumi_stackit/__init__.py | 50 + sdk/python/pulumi_stackit/_inputs.py | 587 + .../authorization_folder_role_assignment.py | 4 +- ...horization_organization_role_assignment.py | 4 +- .../authorization_project_role_assignment.py | 4 +- ...ization_service_account_role_assignment.py | 4 +- sdk/python/pulumi_stackit/config/__init__.pyi | 2 +- sdk/python/pulumi_stackit/config/vars.py | 2 +- sdk/python/pulumi_stackit/dremio_instance.py | 4 +- sdk/python/pulumi_stackit/dremio_user.py | 4 +- .../pulumi_stackit/get_dremio_instance.py | 4 +- sdk/python/pulumi_stackit/get_dremio_user.py | 4 +- .../pulumi_stackit/get_routing_table.py | 4 +- .../pulumi_stackit/get_routing_table_route.py | 4 +- .../get_routing_table_routes.py | 4 +- .../pulumi_stackit/get_routing_tables.py | 4 +- ...ecretsmanager_instance_role_bindings_v1.py | 4 +- ...tsmanager_secret_group_role_bindings_v1.py | 4 +- sdk/python/pulumi_stackit/get_vpc.py | 181 + .../pulumi_stackit/get_vpc_network_range.py | 286 + sdk/python/pulumi_stackit/get_vpc_region.py | 159 + .../pulumi_stackit/get_vpc_routing_table.py | 256 + .../get_vpc_routing_table_static_route.py | 237 + sdk/python/pulumi_stackit/outputs.py | 427 +- sdk/python/pulumi_stackit/provider.py | 6 +- sdk/python/pulumi_stackit/routing_table.py | 4 +- .../pulumi_stackit/routing_table_route.py | 4 +- ...secretsmanager_instance_role_binding_v1.py | 4 +- ...etsmanager_secret_group_role_binding_v1.py | 4 +- sdk/python/pulumi_stackit/vpc.py | 378 + .../pulumi_stackit/vpc_network_range.py | 702 + sdk/python/pulumi_stackit/vpc_region.py | 303 + .../pulumi_stackit/vpc_routing_table.py | 530 + .../vpc_routing_table_static_route.py | 522 + 167 files changed, 24079 insertions(+), 9998 deletions(-) create mode 100644 sdk/dotnet/GetVpc.cs create mode 100644 sdk/dotnet/GetVpcNetworkRange.cs create mode 100644 sdk/dotnet/GetVpcRegion.cs create mode 100644 sdk/dotnet/GetVpcRoutingTable.cs create mode 100644 sdk/dotnet/GetVpcRoutingTableStaticRoute.cs create mode 100644 sdk/dotnet/Inputs/GetVpcNetworkRangeTimeouts.cs create mode 100644 sdk/dotnet/Inputs/GetVpcNetworkRangeTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/GetVpcRegionTimeouts.cs create mode 100644 sdk/dotnet/Inputs/GetVpcRegionTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeouts.cs create mode 100644 sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/GetVpcTimeouts.cs create mode 100644 sdk/dotnet/Inputs/GetVpcTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRegionTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRegionTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationGetArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopGetArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/VpcTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Outputs/GetVpcNetworkRangeTimeoutsResult.cs create mode 100644 sdk/dotnet/Outputs/GetVpcRegionTimeoutsResult.cs create mode 100644 sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteDestinationResult.cs create mode 100644 sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteNexthopResult.cs create mode 100644 sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteTimeoutsResult.cs create mode 100644 sdk/dotnet/Outputs/GetVpcTimeoutsResult.cs create mode 100644 sdk/dotnet/Outputs/VpcNetworkRangeTimeouts.cs create mode 100644 sdk/dotnet/Outputs/VpcRegionTimeouts.cs create mode 100644 sdk/dotnet/Outputs/VpcRoutingTableStaticRouteDestination.cs create mode 100644 sdk/dotnet/Outputs/VpcRoutingTableStaticRouteNexthop.cs create mode 100644 sdk/dotnet/Outputs/VpcRoutingTableStaticRouteTimeouts.cs create mode 100644 sdk/dotnet/Outputs/VpcTimeouts.cs create mode 100644 sdk/dotnet/Vpc.cs create mode 100644 sdk/dotnet/VpcNetworkRange.cs create mode 100644 sdk/dotnet/VpcRegion.cs create mode 100644 sdk/dotnet/VpcRoutingTable.cs create mode 100644 sdk/dotnet/VpcRoutingTableStaticRoute.cs create mode 100644 sdk/go/stackit/getVpc.go create mode 100644 sdk/go/stackit/getVpcNetworkRange.go create mode 100644 sdk/go/stackit/getVpcRegion.go create mode 100644 sdk/go/stackit/getVpcRoutingTable.go create mode 100644 sdk/go/stackit/getVpcRoutingTableStaticRoute.go create mode 100644 sdk/go/stackit/vpc.go create mode 100644 sdk/go/stackit/vpcNetworkRange.go create mode 100644 sdk/go/stackit/vpcRegion.go create mode 100644 sdk/go/stackit/vpcRoutingTable.go create mode 100644 sdk/go/stackit/vpcRoutingTableStaticRoute.go create mode 100644 sdk/nodejs/getVpc.ts create mode 100644 sdk/nodejs/getVpcNetworkRange.ts create mode 100644 sdk/nodejs/getVpcRegion.ts create mode 100644 sdk/nodejs/getVpcRoutingTable.ts create mode 100644 sdk/nodejs/getVpcRoutingTableStaticRoute.ts create mode 100644 sdk/nodejs/vpc.ts create mode 100644 sdk/nodejs/vpcNetworkRange.ts create mode 100644 sdk/nodejs/vpcRegion.ts create mode 100644 sdk/nodejs/vpcRoutingTable.ts create mode 100644 sdk/nodejs/vpcRoutingTableStaticRoute.ts create mode 100644 sdk/python/pulumi_stackit/get_vpc.py create mode 100644 sdk/python/pulumi_stackit/get_vpc_network_range.py create mode 100644 sdk/python/pulumi_stackit/get_vpc_region.py create mode 100644 sdk/python/pulumi_stackit/get_vpc_routing_table.py create mode 100644 sdk/python/pulumi_stackit/get_vpc_routing_table_static_route.py create mode 100644 sdk/python/pulumi_stackit/vpc.py create mode 100644 sdk/python/pulumi_stackit/vpc_network_range.py create mode 100644 sdk/python/pulumi_stackit/vpc_region.py create mode 100644 sdk/python/pulumi_stackit/vpc_routing_table.py create mode 100644 sdk/python/pulumi_stackit/vpc_routing_table_static_route.py diff --git a/sdk/dotnet/AuthorizationFolderRoleAssignment.cs b/sdk/dotnet/AuthorizationFolderRoleAssignment.cs index 7bf99df..0b3d491 100644 --- a/sdk/dotnet/AuthorizationFolderRoleAssignment.cs +++ b/sdk/dotnet/AuthorizationFolderRoleAssignment.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit /// /// Folder Role Assignment resource schema. /// - /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs b/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs index e8ba10a..4afd09e 100644 --- a/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs +++ b/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit /// /// Organization Role Assignment resource schema. /// - /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/AuthorizationProjectRoleAssignment.cs b/sdk/dotnet/AuthorizationProjectRoleAssignment.cs index 0298346..8e89fc9 100644 --- a/sdk/dotnet/AuthorizationProjectRoleAssignment.cs +++ b/sdk/dotnet/AuthorizationProjectRoleAssignment.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit /// /// Project Role Assignment resource schema. /// - /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs b/sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs index 743cba2..9dad8e4 100644 --- a/sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs +++ b/sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs @@ -14,7 +14,7 @@ namespace Pulumi.Stackit /// /// > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `Subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. /// - /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index ec142a5..1a5bd96 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -134,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: dremio, 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, network, routing-tables, vpc /// public static ImmutableArray Experiments { diff --git a/sdk/dotnet/DremioInstance.cs b/sdk/dotnet/DremioInstance.cs index 8fd8bce..8e547bc 100644 --- a/sdk/dotnet/DremioInstance.cs +++ b/sdk/dotnet/DremioInstance.cs @@ -12,7 +12,7 @@ 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. + /// > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/DremioUser.cs b/sdk/dotnet/DremioUser.cs index fbb605e..8486915 100644 --- a/sdk/dotnet/DremioUser.cs +++ b/sdk/dotnet/DremioUser.cs @@ -12,7 +12,7 @@ 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. + /// > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetAuthorizationFolderCustomRole.cs b/sdk/dotnet/GetAuthorizationFolderCustomRole.cs index 7b416c8..f32ef93 100644 --- a/sdk/dotnet/GetAuthorizationFolderCustomRole.cs +++ b/sdk/dotnet/GetAuthorizationFolderCustomRole.cs @@ -19,7 +19,7 @@ public static class GetAuthorizationFolderCustomRole /// ```terraform /// data "stackit_authorization_folder_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// @@ -34,7 +34,7 @@ public static Task InvokeAsync(GetAuthor /// ```terraform /// data "stackit_authorization_folder_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// @@ -49,7 +49,7 @@ public static Output Invoke(GetAuthoriza /// ```terraform /// data "stackit_authorization_folder_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// diff --git a/sdk/dotnet/GetAuthorizationOrganizationCustomRole.cs b/sdk/dotnet/GetAuthorizationOrganizationCustomRole.cs index b6cbf3d..7bedccd 100644 --- a/sdk/dotnet/GetAuthorizationOrganizationCustomRole.cs +++ b/sdk/dotnet/GetAuthorizationOrganizationCustomRole.cs @@ -19,7 +19,7 @@ public static class GetAuthorizationOrganizationCustomRole /// ```terraform /// data "stackit_authorization_organization_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// @@ -34,7 +34,7 @@ public static Task InvokeAsync(Get /// ```terraform /// data "stackit_authorization_organization_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// @@ -49,7 +49,7 @@ public static Output Invoke(GetAut /// ```terraform /// data "stackit_authorization_organization_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// diff --git a/sdk/dotnet/GetAuthorizationProjectCustomRole.cs b/sdk/dotnet/GetAuthorizationProjectCustomRole.cs index f96185e..af23e32 100644 --- a/sdk/dotnet/GetAuthorizationProjectCustomRole.cs +++ b/sdk/dotnet/GetAuthorizationProjectCustomRole.cs @@ -19,7 +19,7 @@ public static class GetAuthorizationProjectCustomRole /// ```terraform /// data "stackit_authorization_project_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// @@ -34,7 +34,7 @@ public static Task InvokeAsync(GetAutho /// ```terraform /// data "stackit_authorization_project_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// @@ -49,7 +49,7 @@ public static Output Invoke(GetAuthoriz /// ```terraform /// data "stackit_authorization_project_custom_role" "example" { /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - /// name = "my.custom.role" + /// role_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /// } /// ``` /// diff --git a/sdk/dotnet/GetDremioInstance.cs b/sdk/dotnet/GetDremioInstance.cs index 2cfa618..2cdc664 100644 --- a/sdk/dotnet/GetDremioInstance.cs +++ b/sdk/dotnet/GetDremioInstance.cs @@ -14,7 +14,7 @@ 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. + /// > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -32,7 +32,7 @@ public static Task InvokeAsync(GetDremioInstanceArgs ar /// /// 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. + /// > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -50,7 +50,7 @@ public static Output Invoke(GetDremioInstanceInvokeArgs /// /// 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. + /// > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetDremioUser.cs b/sdk/dotnet/GetDremioUser.cs index 3962e46..4644321 100644 --- a/sdk/dotnet/GetDremioUser.cs +++ b/sdk/dotnet/GetDremioUser.cs @@ -14,7 +14,7 @@ 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. + /// > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -33,7 +33,7 @@ public static Task InvokeAsync(GetDremioUserArgs args, Invo /// /// 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. + /// > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -52,7 +52,7 @@ public static Output Invoke(GetDremioUserInvokeArgs args, I /// /// 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. + /// > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetRoutingTable.cs b/sdk/dotnet/GetRoutingTable.cs index 97ffc8f..de89f8f 100644 --- a/sdk/dotnet/GetRoutingTable.cs +++ b/sdk/dotnet/GetRoutingTable.cs @@ -16,7 +16,7 @@ public static class GetRoutingTable /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -36,7 +36,7 @@ public static Task InvokeAsync(GetRoutingTableArgs args, /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -56,7 +56,7 @@ public static Output Invoke(GetRoutingTableInvokeArgs arg /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetRoutingTableRoute.cs b/sdk/dotnet/GetRoutingTableRoute.cs index d98416b..1271d0d 100644 --- a/sdk/dotnet/GetRoutingTableRoute.cs +++ b/sdk/dotnet/GetRoutingTableRoute.cs @@ -16,7 +16,7 @@ public static class GetRoutingTableRoute /// /// This datasource is for SNA, not VPC, networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -37,7 +37,7 @@ public static Task InvokeAsync(GetRoutingTableRouteA /// /// This datasource is for SNA, not VPC, networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -58,7 +58,7 @@ public static Output Invoke(GetRoutingTableRouteInvo /// /// This datasource is for SNA, not VPC, networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetRoutingTableRoutes.cs b/sdk/dotnet/GetRoutingTableRoutes.cs index 65f5a44..c004127 100644 --- a/sdk/dotnet/GetRoutingTableRoutes.cs +++ b/sdk/dotnet/GetRoutingTableRoutes.cs @@ -16,7 +16,7 @@ public static class GetRoutingTableRoutes /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -36,7 +36,7 @@ public static Task InvokeAsync(GetRoutingTableRoute /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -56,7 +56,7 @@ public static Output Invoke(GetRoutingTableRoutesIn /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetRoutingTables.cs b/sdk/dotnet/GetRoutingTables.cs index 7e4b764..f8c8bba 100644 --- a/sdk/dotnet/GetRoutingTables.cs +++ b/sdk/dotnet/GetRoutingTables.cs @@ -16,7 +16,7 @@ public static class GetRoutingTables /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -35,7 +35,7 @@ public static Task InvokeAsync(GetRoutingTablesArgs args /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -54,7 +54,7 @@ public static Output Invoke(GetRoutingTablesInvokeArgs a /// /// This datasource is for SNA, not VPC, based networks. /// - /// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetSecretsmanagerInstanceRoleBindingsV1.cs b/sdk/dotnet/GetSecretsmanagerInstanceRoleBindingsV1.cs index 73cc9a1..8153d52 100644 --- a/sdk/dotnet/GetSecretsmanagerInstanceRoleBindingsV1.cs +++ b/sdk/dotnet/GetSecretsmanagerInstanceRoleBindingsV1.cs @@ -14,7 +14,7 @@ public static class GetSecretsmanagerInstanceRoleBindingsV1 /// /// IAM role binding datasource schema. /// - /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -30,7 +30,7 @@ public static Task InvokeAsync(Ge /// /// IAM role binding datasource schema. /// - /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -46,7 +46,7 @@ public static Output Invoke(GetSe /// /// IAM role binding datasource schema. /// - /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetSecretsmanagerSecretGroupRoleBindingsV1.cs b/sdk/dotnet/GetSecretsmanagerSecretGroupRoleBindingsV1.cs index c193f3d..cc24e2a 100644 --- a/sdk/dotnet/GetSecretsmanagerSecretGroupRoleBindingsV1.cs +++ b/sdk/dotnet/GetSecretsmanagerSecretGroupRoleBindingsV1.cs @@ -14,7 +14,7 @@ public static class GetSecretsmanagerSecretGroupRoleBindingsV1 /// /// IAM role binding datasource schema. /// - /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -30,7 +30,7 @@ public static Task InvokeAsync /// /// IAM role binding datasource schema. /// - /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// @@ -46,7 +46,7 @@ public static Output Invoke(Ge /// /// IAM role binding datasource schema. /// - /// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetVpc.cs b/sdk/dotnet/GetVpc.cs new file mode 100644 index 0000000..b5661b4 --- /dev/null +++ b/sdk/dotnet/GetVpc.cs @@ -0,0 +1,168 @@ +// *** 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 GetVpc + { + /// + /// VPC datasource schema. + /// + /// > This datasource is part of the experimental feature vpc 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_vpc" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetVpcArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpc:getVpc", args ?? new GetVpcArgs(), options.WithDefaults()); + + /// + /// VPC datasource schema. + /// + /// > This datasource is part of the experimental feature vpc 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_vpc" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpcInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpc:getVpc", args ?? new GetVpcInvokeArgs(), options.WithDefaults()); + + /// + /// VPC datasource schema. + /// + /// > This datasource is part of the experimental feature vpc 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_vpc" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpcInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpc:getVpc", args ?? new GetVpcInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the VPC is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + [Input("timeouts")] + public Inputs.GetVpcTimeoutsArgs? Timeouts { get; set; } + + /// + /// The VPC ID. + /// + [Input("vpcId", required: true)] + public string VpcId { get; set; } = null!; + + public GetVpcArgs() + { + } + public static new GetVpcArgs Empty => new GetVpcArgs(); + } + + public sealed class GetVpcInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the VPC is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public GetVpcInvokeArgs() + { + } + public static new GetVpcInvokeArgs Empty => new GetVpcInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcResult + { + /// + /// The description of the VPC. + /// + public readonly string Description; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`VpcId`". + /// + public readonly string Id; + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public readonly ImmutableDictionary Labels; + /// + /// The name of the VPC. + /// + public readonly string Name; + /// + /// STACKIT project ID to which the VPC is associated. + /// + public readonly string ProjectId; + public readonly Outputs.GetVpcTimeoutsResult? Timeouts; + /// + /// The VPC ID. + /// + public readonly string VpcId; + + [OutputConstructor] + private GetVpcResult( + string description, + + string id, + + ImmutableDictionary labels, + + string name, + + string projectId, + + Outputs.GetVpcTimeoutsResult? timeouts, + + string vpcId) + { + Description = description; + Id = id; + Labels = labels; + Name = name; + ProjectId = projectId; + Timeouts = timeouts; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/GetVpcNetworkRange.cs b/sdk/dotnet/GetVpcNetworkRange.cs new file mode 100644 index 0000000..4c39083 --- /dev/null +++ b/sdk/dotnet/GetVpcNetworkRange.cs @@ -0,0 +1,235 @@ +// *** 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 GetVpcNetworkRange + { + /// + /// VPC network range datasource schema + /// + /// > This datasource is part of the experimental feature vpc 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_vpc_network_range" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// network_range_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetVpcNetworkRangeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpcNetworkRange:getVpcNetworkRange", args ?? new GetVpcNetworkRangeArgs(), options.WithDefaults()); + + /// + /// VPC network range datasource schema + /// + /// > This datasource is part of the experimental feature vpc 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_vpc_network_range" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// network_range_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpcNetworkRangeInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcNetworkRange:getVpcNetworkRange", args ?? new GetVpcNetworkRangeInvokeArgs(), options.WithDefaults()); + + /// + /// VPC network range datasource schema + /// + /// > This datasource is part of the experimental feature vpc 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_vpc_network_range" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// network_range_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpcNetworkRangeInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcNetworkRange:getVpcNetworkRange", args ?? new GetVpcNetworkRangeInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcNetworkRangeArgs : global::Pulumi.InvokeArgs + { + [Input("networkRangeId", required: true)] + public string NetworkRangeId { get; set; } = null!; + + /// + /// STACKIT project ID to which the VPC network range is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + [Input("timeouts")] + public Inputs.GetVpcNetworkRangeTimeoutsArgs? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC network range is associated. + /// + [Input("vpcId", required: true)] + public string VpcId { get; set; } = null!; + + public GetVpcNetworkRangeArgs() + { + } + public static new GetVpcNetworkRangeArgs Empty => new GetVpcNetworkRangeArgs(); + } + + public sealed class GetVpcNetworkRangeInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("networkRangeId", required: true)] + public Input NetworkRangeId { get; set; } = null!; + + /// + /// STACKIT project ID to which the VPC network range is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC network range is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public GetVpcNetworkRangeInvokeArgs() + { + } + public static new GetVpcNetworkRangeInvokeArgs Empty => new GetVpcNetworkRangeInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcNetworkRangeResult + { + /// + /// Default prefix length for the VPC network range + /// + public readonly int DefaultPrefixLength; + /// + /// Description of the VPC network range + /// + public readonly string Description; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`VpcId`,`Region`,`NetworkRangeId`". + /// + public readonly string Id; + /// + /// IP version of the VPC network range. Possible values are: `Ipv4`. + /// + public readonly string IpVersion; + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public readonly ImmutableDictionary Labels; + /// + /// Maximum prefix length for the VPC network range + /// + public readonly int MaxPrefixLength; + /// + /// Minimum prefix length for the VPC network range + /// + public readonly int MinPrefixLength; + /// + /// List of nameservers for the VPC network range + /// + public readonly ImmutableArray Nameservers; + public readonly string NetworkRangeId; + /// + /// The IP prefix for the VPC network range + /// + public readonly string Prefix; + /// + /// STACKIT project ID to which the VPC network range is associated. + /// + public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; + public readonly Outputs.GetVpcNetworkRangeTimeoutsResult? Timeouts; + /// + /// The VPC ID to which the VPC network range is associated. + /// + public readonly string VpcId; + + [OutputConstructor] + private GetVpcNetworkRangeResult( + int defaultPrefixLength, + + string description, + + string id, + + string ipVersion, + + ImmutableDictionary labels, + + int maxPrefixLength, + + int minPrefixLength, + + ImmutableArray nameservers, + + string networkRangeId, + + string prefix, + + string projectId, + + string region, + + Outputs.GetVpcNetworkRangeTimeoutsResult? timeouts, + + string vpcId) + { + DefaultPrefixLength = defaultPrefixLength; + Description = description; + Id = id; + IpVersion = ipVersion; + Labels = labels; + MaxPrefixLength = maxPrefixLength; + MinPrefixLength = minPrefixLength; + Nameservers = nameservers; + NetworkRangeId = networkRangeId; + Prefix = prefix; + ProjectId = projectId; + Region = region; + Timeouts = timeouts; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/GetVpcRegion.cs b/sdk/dotnet/GetVpcRegion.cs new file mode 100644 index 0000000..963531e --- /dev/null +++ b/sdk/dotnet/GetVpcRegion.cs @@ -0,0 +1,169 @@ +// *** 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 GetVpcRegion + { + /// + /// VPC region datasource schema + /// + /// > This datasource is part of the experimental feature vpc 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_vpc_region" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// } + /// ``` + /// + public static Task InvokeAsync(GetVpcRegionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpcRegion:getVpcRegion", args ?? new GetVpcRegionArgs(), options.WithDefaults()); + + /// + /// VPC region datasource schema + /// + /// > This datasource is part of the experimental feature vpc 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_vpc_region" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// } + /// ``` + /// + public static Output Invoke(GetVpcRegionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcRegion:getVpcRegion", args ?? new GetVpcRegionInvokeArgs(), options.WithDefaults()); + + /// + /// VPC region datasource schema + /// + /// > This datasource is part of the experimental feature vpc 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_vpc_region" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// } + /// ``` + /// + public static Output Invoke(GetVpcRegionInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcRegion:getVpcRegion", args ?? new GetVpcRegionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcRegionArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the VPC region is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + [Input("timeouts")] + public Inputs.GetVpcRegionTimeoutsArgs? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC region is associated. + /// + [Input("vpcId", required: true)] + public string VpcId { get; set; } = null!; + + public GetVpcRegionArgs() + { + } + public static new GetVpcRegionArgs Empty => new GetVpcRegionArgs(); + } + + public sealed class GetVpcRegionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the VPC region is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC region is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public GetVpcRegionInvokeArgs() + { + } + public static new GetVpcRegionInvokeArgs Empty => new GetVpcRegionInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcRegionResult + { + /// + /// Terraform's internal resource ID. It is structured as "`ProjectId`, `VpcId`, `Region`". + /// + public readonly string Id; + /// + /// STACKIT project ID to which the VPC region is associated. + /// + public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + public readonly Outputs.GetVpcRegionTimeoutsResult? Timeouts; + /// + /// The VPC ID to which the VPC region is associated. + /// + public readonly string VpcId; + + [OutputConstructor] + private GetVpcRegionResult( + string id, + + string projectId, + + string? region, + + Outputs.GetVpcRegionTimeoutsResult? timeouts, + + string vpcId) + { + Id = id; + ProjectId = projectId; + Region = region; + Timeouts = timeouts; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/GetVpcRoutingTable.cs b/sdk/dotnet/GetVpcRoutingTable.cs new file mode 100644 index 0000000..73338e6 --- /dev/null +++ b/sdk/dotnet/GetVpcRoutingTable.cs @@ -0,0 +1,273 @@ +// *** 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 GetVpcRoutingTable + { + /// + /// VPC Regional routing table datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This datasource is part of the experimental feature vpc 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_routing_table" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetVpcRoutingTableArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpcRoutingTable:getVpcRoutingTable", args ?? new GetVpcRoutingTableArgs(), options.WithDefaults()); + + /// + /// VPC Regional routing table datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This datasource is part of the experimental feature vpc 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_routing_table" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpcRoutingTableInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcRoutingTable:getVpcRoutingTable", args ?? new GetVpcRoutingTableInvokeArgs(), options.WithDefaults()); + + /// + /// VPC Regional routing table datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This datasource is part of the experimental feature vpc 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_routing_table" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// vpc_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpcRoutingTableInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcRoutingTable:getVpcRoutingTable", args ?? new GetVpcRoutingTableInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcRoutingTableArgs : global::Pulumi.InvokeArgs + { + /// + /// Description of the regional routing table. + /// + [Input("description")] + public string? Description { get; set; } + + /// + /// This controls whether dynamic routes are propagated to this regional routing table + /// + [Input("dynamicRoutes")] + public bool? DynamicRoutes { get; set; } + + [Input("labels")] + private Dictionary? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public Dictionary Labels + { + get => _labels ?? (_labels = new Dictionary()); + set => _labels = value; + } + + /// + /// STACKIT project ID to which the regional routing table is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// The regional routing tables ID. + /// + [Input("routingTableId", required: true)] + public string RoutingTableId { get; set; } = null!; + + /// + /// This allows installation of automatic system routes for connectivity between projects in the same VPC. + /// + [Input("systemRoutes")] + public bool? SystemRoutes { get; set; } + + /// + /// The vpc ID to which the regional routing table is associated. + /// + [Input("vpcId", required: true)] + public string VpcId { get; set; } = null!; + + public GetVpcRoutingTableArgs() + { + } + public static new GetVpcRoutingTableArgs Empty => new GetVpcRoutingTableArgs(); + } + + public sealed class GetVpcRoutingTableInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Description of the regional routing table. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// This controls whether dynamic routes are propagated to this regional routing table + /// + [Input("dynamicRoutes")] + public Input? DynamicRoutes { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// STACKIT project ID to which the regional routing table is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The regional routing tables ID. + /// + [Input("routingTableId", required: true)] + public Input RoutingTableId { get; set; } = null!; + + /// + /// This allows installation of automatic system routes for connectivity between projects in the same VPC. + /// + [Input("systemRoutes")] + public Input? SystemRoutes { get; set; } + + /// + /// The vpc ID to which the regional routing table is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public GetVpcRoutingTableInvokeArgs() + { + } + public static new GetVpcRoutingTableInvokeArgs Empty => new GetVpcRoutingTableInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcRoutingTableResult + { + /// + /// Description of the regional routing table. + /// + public readonly string Description; + /// + /// This controls whether dynamic routes are propagated to this regional routing table + /// + public readonly bool DynamicRoutes; + /// + /// Terraform's internal resource ID. It is structured as "`ProjectId`,`VpcId`,`Region`,`RoutingTableId`". + /// + public readonly string Id; + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public readonly ImmutableDictionary? Labels; + /// + /// The name of the regional routing table. + /// + public readonly string Name; + /// + /// STACKIT project ID to which the regional routing table is associated. + /// + public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; + /// + /// The regional routing tables ID. + /// + public readonly string RoutingTableId; + /// + /// This allows installation of automatic system routes for connectivity between projects in the same VPC. + /// + public readonly bool SystemRoutes; + /// + /// The vpc ID to which the regional routing table is associated. + /// + public readonly string VpcId; + + [OutputConstructor] + private GetVpcRoutingTableResult( + string description, + + bool dynamicRoutes, + + string id, + + ImmutableDictionary? labels, + + string name, + + string projectId, + + string region, + + string routingTableId, + + bool systemRoutes, + + string vpcId) + { + Description = description; + DynamicRoutes = dynamicRoutes; + Id = id; + Labels = labels; + Name = name; + ProjectId = projectId; + Region = region; + RoutingTableId = routingTableId; + SystemRoutes = systemRoutes; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/GetVpcRoutingTableStaticRoute.cs b/sdk/dotnet/GetVpcRoutingTableStaticRoute.cs new file mode 100644 index 0000000..614e184 --- /dev/null +++ b/sdk/dotnet/GetVpcRoutingTableStaticRoute.cs @@ -0,0 +1,198 @@ +// *** 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 GetVpcRoutingTableStaticRoute + { + /// + /// VPC Routing table static route datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + public static Task InvokeAsync(GetVpcRoutingTableStaticRouteArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute", args ?? new GetVpcRoutingTableStaticRouteArgs(), options.WithDefaults()); + + /// + /// VPC Routing table static route datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + public static Output Invoke(GetVpcRoutingTableStaticRouteInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute", args ?? new GetVpcRoutingTableStaticRouteInvokeArgs(), options.WithDefaults()); + + /// + /// VPC Routing table static route datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + public static Output Invoke(GetVpcRoutingTableStaticRouteInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute", args ?? new GetVpcRoutingTableStaticRouteInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpcRoutingTableStaticRouteArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT Project ID to which the static route is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The region of the static route. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// The static route ID. + /// + [Input("routeId", required: true)] + public string RouteId { get; set; } = null!; + + /// + /// The routing table ID to which the static route is associated. + /// + [Input("routingTableId", required: true)] + public string RoutingTableId { get; set; } = null!; + + [Input("timeouts")] + public Inputs.GetVpcRoutingTableStaticRouteTimeoutsArgs? Timeouts { get; set; } + + /// + /// The VPC ID to which the static route is associated. + /// + [Input("vpcId", required: true)] + public string VpcId { get; set; } = null!; + + public GetVpcRoutingTableStaticRouteArgs() + { + } + public static new GetVpcRoutingTableStaticRouteArgs Empty => new GetVpcRoutingTableStaticRouteArgs(); + } + + public sealed class GetVpcRoutingTableStaticRouteInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT Project ID to which the static route is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The region of the static route. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The static route ID. + /// + [Input("routeId", required: true)] + public Input RouteId { get; set; } = null!; + + /// + /// The routing table ID to which the static route is associated. + /// + [Input("routingTableId", required: true)] + public Input RoutingTableId { get; set; } = null!; + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the static route is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public GetVpcRoutingTableStaticRouteInvokeArgs() + { + } + public static new GetVpcRoutingTableStaticRouteInvokeArgs Empty => new GetVpcRoutingTableStaticRouteInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpcRoutingTableStaticRouteResult + { + /// + /// The destination of the static route. + /// + public readonly Outputs.GetVpcRoutingTableStaticRouteDestinationResult Destination; + /// + /// Terraform's internal resource ID. It is structured as "`ProjectId`,`VpcId`,`Region`,`RoutingTableId`,`RouteId`". + /// + public readonly string Id; + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public readonly ImmutableDictionary Labels; + /// + /// The nexthop of the static route. + /// + public readonly Outputs.GetVpcRoutingTableStaticRouteNexthopResult Nexthop; + /// + /// STACKIT Project ID to which the static route is associated. + /// + public readonly string ProjectId; + /// + /// The region of the static route. + /// + public readonly string Region; + /// + /// The static route ID. + /// + public readonly string RouteId; + /// + /// The routing table ID to which the static route is associated. + /// + public readonly string RoutingTableId; + public readonly Outputs.GetVpcRoutingTableStaticRouteTimeoutsResult? Timeouts; + /// + /// The VPC ID to which the static route is associated. + /// + public readonly string VpcId; + + [OutputConstructor] + private GetVpcRoutingTableStaticRouteResult( + Outputs.GetVpcRoutingTableStaticRouteDestinationResult destination, + + string id, + + ImmutableDictionary labels, + + Outputs.GetVpcRoutingTableStaticRouteNexthopResult nexthop, + + string projectId, + + string region, + + string routeId, + + string routingTableId, + + Outputs.GetVpcRoutingTableStaticRouteTimeoutsResult? timeouts, + + string vpcId) + { + Destination = destination; + Id = id; + Labels = labels; + Nexthop = nexthop; + ProjectId = projectId; + Region = region; + RouteId = routeId; + RoutingTableId = routingTableId; + Timeouts = timeouts; + VpcId = vpcId; + } + } +} diff --git a/sdk/dotnet/Inputs/GetVpcNetworkRangeTimeouts.cs b/sdk/dotnet/Inputs/GetVpcNetworkRangeTimeouts.cs new file mode 100644 index 0000000..a454e29 --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcNetworkRangeTimeouts.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 GetVpcNetworkRangeTimeoutsArgs : global::Pulumi.InvokeArgs + { + /// + /// 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("read")] + public string? Read { get; set; } + + public GetVpcNetworkRangeTimeoutsArgs() + { + } + public static new GetVpcNetworkRangeTimeoutsArgs Empty => new GetVpcNetworkRangeTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetVpcNetworkRangeTimeoutsArgs.cs b/sdk/dotnet/Inputs/GetVpcNetworkRangeTimeoutsArgs.cs new file mode 100644 index 0000000..11ca5ad --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcNetworkRangeTimeoutsArgs.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 GetVpcNetworkRangeTimeoutsInputArgs : 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("read")] + public Input? Read { get; set; } + + public GetVpcNetworkRangeTimeoutsInputArgs() + { + } + public static new GetVpcNetworkRangeTimeoutsInputArgs Empty => new GetVpcNetworkRangeTimeoutsInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetVpcRegionTimeouts.cs b/sdk/dotnet/Inputs/GetVpcRegionTimeouts.cs new file mode 100644 index 0000000..7b95552 --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcRegionTimeouts.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 GetVpcRegionTimeoutsArgs : global::Pulumi.InvokeArgs + { + /// + /// 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("read")] + public string? Read { get; set; } + + public GetVpcRegionTimeoutsArgs() + { + } + public static new GetVpcRegionTimeoutsArgs Empty => new GetVpcRegionTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetVpcRegionTimeoutsArgs.cs b/sdk/dotnet/Inputs/GetVpcRegionTimeoutsArgs.cs new file mode 100644 index 0000000..26e2921 --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcRegionTimeoutsArgs.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 GetVpcRegionTimeoutsInputArgs : 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("read")] + public Input? Read { get; set; } + + public GetVpcRegionTimeoutsInputArgs() + { + } + public static new GetVpcRegionTimeoutsInputArgs Empty => new GetVpcRegionTimeoutsInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeouts.cs b/sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeouts.cs new file mode 100644 index 0000000..191e3e2 --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeouts.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 GetVpcRoutingTableStaticRouteTimeoutsArgs : global::Pulumi.InvokeArgs + { + /// + /// 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("read")] + public string? Read { get; set; } + + public GetVpcRoutingTableStaticRouteTimeoutsArgs() + { + } + public static new GetVpcRoutingTableStaticRouteTimeoutsArgs Empty => new GetVpcRoutingTableStaticRouteTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeoutsArgs.cs b/sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeoutsArgs.cs new file mode 100644 index 0000000..a5a811b --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcRoutingTableStaticRouteTimeoutsArgs.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 GetVpcRoutingTableStaticRouteTimeoutsInputArgs : 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("read")] + public Input? Read { get; set; } + + public GetVpcRoutingTableStaticRouteTimeoutsInputArgs() + { + } + public static new GetVpcRoutingTableStaticRouteTimeoutsInputArgs Empty => new GetVpcRoutingTableStaticRouteTimeoutsInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetVpcTimeouts.cs b/sdk/dotnet/Inputs/GetVpcTimeouts.cs new file mode 100644 index 0000000..fd4e9d3 --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcTimeouts.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 GetVpcTimeoutsArgs : global::Pulumi.InvokeArgs + { + /// + /// 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("read")] + public string? Read { get; set; } + + public GetVpcTimeoutsArgs() + { + } + public static new GetVpcTimeoutsArgs Empty => new GetVpcTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/GetVpcTimeoutsArgs.cs b/sdk/dotnet/Inputs/GetVpcTimeoutsArgs.cs new file mode 100644 index 0000000..c69dd03 --- /dev/null +++ b/sdk/dotnet/Inputs/GetVpcTimeoutsArgs.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 GetVpcTimeoutsInputArgs : 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("read")] + public Input? Read { get; set; } + + public GetVpcTimeoutsInputArgs() + { + } + public static new GetVpcTimeoutsInputArgs Empty => new GetVpcTimeoutsInputArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsArgs.cs b/sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsArgs.cs new file mode 100644 index 0000000..b0f7e2d --- /dev/null +++ b/sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsArgs.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 VpcNetworkRangeTimeoutsArgs : 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 VpcNetworkRangeTimeoutsArgs() + { + } + public static new VpcNetworkRangeTimeoutsArgs Empty => new VpcNetworkRangeTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsGetArgs.cs b/sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsGetArgs.cs new file mode 100644 index 0000000..4613224 --- /dev/null +++ b/sdk/dotnet/Inputs/VpcNetworkRangeTimeoutsGetArgs.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 VpcNetworkRangeTimeoutsGetArgs : 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 VpcNetworkRangeTimeoutsGetArgs() + { + } + public static new VpcNetworkRangeTimeoutsGetArgs Empty => new VpcNetworkRangeTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRegionTimeoutsArgs.cs b/sdk/dotnet/Inputs/VpcRegionTimeoutsArgs.cs new file mode 100644 index 0000000..79fe328 --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRegionTimeoutsArgs.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 VpcRegionTimeoutsArgs : 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 VpcRegionTimeoutsArgs() + { + } + public static new VpcRegionTimeoutsArgs Empty => new VpcRegionTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRegionTimeoutsGetArgs.cs b/sdk/dotnet/Inputs/VpcRegionTimeoutsGetArgs.cs new file mode 100644 index 0000000..553a8d9 --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRegionTimeoutsGetArgs.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 VpcRegionTimeoutsGetArgs : 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 VpcRegionTimeoutsGetArgs() + { + } + public static new VpcRegionTimeoutsGetArgs Empty => new VpcRegionTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationArgs.cs b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationArgs.cs new file mode 100644 index 0000000..9d28aa9 --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationArgs.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 VpcRoutingTableStaticRouteDestinationArgs : global::Pulumi.ResourceArgs + { + /// + /// CIDR type. Possible values are: `Cidrv4`, `Cidrv6`. Currently cidrv6 is unsupported. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// CIDR value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VpcRoutingTableStaticRouteDestinationArgs() + { + } + public static new VpcRoutingTableStaticRouteDestinationArgs Empty => new VpcRoutingTableStaticRouteDestinationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationGetArgs.cs b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationGetArgs.cs new file mode 100644 index 0000000..9ad5608 --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteDestinationGetArgs.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 VpcRoutingTableStaticRouteDestinationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// CIDR type. Possible values are: `Cidrv4`, `Cidrv6`. Currently cidrv6 is unsupported. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// CIDR value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public VpcRoutingTableStaticRouteDestinationGetArgs() + { + } + public static new VpcRoutingTableStaticRouteDestinationGetArgs Empty => new VpcRoutingTableStaticRouteDestinationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopArgs.cs b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopArgs.cs new file mode 100644 index 0000000..91ceaac --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopArgs.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 VpcRoutingTableStaticRouteNexthopArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of the nexthop. Possible values are: `Blackhole`, `Internet`, `Ipv4`, `Ipv6`. Currently ipv6 is unsupported. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Value of the nexthop + /// + [Input("value")] + public Input? Value { get; set; } + + public VpcRoutingTableStaticRouteNexthopArgs() + { + } + public static new VpcRoutingTableStaticRouteNexthopArgs Empty => new VpcRoutingTableStaticRouteNexthopArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopGetArgs.cs b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopGetArgs.cs new file mode 100644 index 0000000..fb3782f --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteNexthopGetArgs.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 VpcRoutingTableStaticRouteNexthopGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of the nexthop. Possible values are: `Blackhole`, `Internet`, `Ipv4`, `Ipv6`. Currently ipv6 is unsupported. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Value of the nexthop + /// + [Input("value")] + public Input? Value { get; set; } + + public VpcRoutingTableStaticRouteNexthopGetArgs() + { + } + public static new VpcRoutingTableStaticRouteNexthopGetArgs Empty => new VpcRoutingTableStaticRouteNexthopGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsArgs.cs b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsArgs.cs new file mode 100644 index 0000000..5c5b598 --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsArgs.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 VpcRoutingTableStaticRouteTimeoutsArgs : 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 VpcRoutingTableStaticRouteTimeoutsArgs() + { + } + public static new VpcRoutingTableStaticRouteTimeoutsArgs Empty => new VpcRoutingTableStaticRouteTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsGetArgs.cs b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsGetArgs.cs new file mode 100644 index 0000000..b415d66 --- /dev/null +++ b/sdk/dotnet/Inputs/VpcRoutingTableStaticRouteTimeoutsGetArgs.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 VpcRoutingTableStaticRouteTimeoutsGetArgs : 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 VpcRoutingTableStaticRouteTimeoutsGetArgs() + { + } + public static new VpcRoutingTableStaticRouteTimeoutsGetArgs Empty => new VpcRoutingTableStaticRouteTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcTimeoutsArgs.cs b/sdk/dotnet/Inputs/VpcTimeoutsArgs.cs new file mode 100644 index 0000000..ee0da2b --- /dev/null +++ b/sdk/dotnet/Inputs/VpcTimeoutsArgs.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 VpcTimeoutsArgs : 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 VpcTimeoutsArgs() + { + } + public static new VpcTimeoutsArgs Empty => new VpcTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpcTimeoutsGetArgs.cs b/sdk/dotnet/Inputs/VpcTimeoutsGetArgs.cs new file mode 100644 index 0000000..9dd15fb --- /dev/null +++ b/sdk/dotnet/Inputs/VpcTimeoutsGetArgs.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 VpcTimeoutsGetArgs : 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 VpcTimeoutsGetArgs() + { + } + public static new VpcTimeoutsGetArgs Empty => new VpcTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.cs index 8cdfcf6..15390a1 100644 --- a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.cs +++ b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.cs @@ -22,10 +22,6 @@ public sealed class GetDremioInstanceAuthenticationAzureadResult /// public readonly string ClientId; /// - /// The Azure AD client secret. - /// - public readonly string ClientSecret; - /// /// The Azure AD redirect URL. /// public readonly string RedirectUrl; @@ -36,13 +32,10 @@ private GetDremioInstanceAuthenticationAzureadResult( string clientId, - string clientSecret, - string redirectUrl) { AuthorityUrl = authorityUrl; ClientId = clientId; - ClientSecret = clientSecret; RedirectUrl = redirectUrl; } } diff --git a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs index f59f058..0308d81 100644 --- a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs +++ b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs @@ -22,10 +22,6 @@ public sealed class GetDremioInstanceAuthenticationOauthResult /// 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; @@ -48,8 +44,6 @@ private GetDremioInstanceAuthenticationOauthResult( string clientId, - string clientSecret, - Outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult jwtClaims, ImmutableArray parameters, @@ -60,7 +54,6 @@ private GetDremioInstanceAuthenticationOauthResult( { AuthorityUrl = authorityUrl; ClientId = clientId; - ClientSecret = clientSecret; JwtClaims = jwtClaims; Parameters = parameters; RedirectUrl = redirectUrl; diff --git a/sdk/dotnet/Outputs/GetVpcNetworkRangeTimeoutsResult.cs b/sdk/dotnet/Outputs/GetVpcNetworkRangeTimeoutsResult.cs new file mode 100644 index 0000000..8a4eac0 --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpcNetworkRangeTimeoutsResult.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 GetVpcNetworkRangeTimeoutsResult + { + /// + /// 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? Read; + + [OutputConstructor] + private GetVpcNetworkRangeTimeoutsResult(string? read) + { + Read = read; + } + } +} diff --git a/sdk/dotnet/Outputs/GetVpcRegionTimeoutsResult.cs b/sdk/dotnet/Outputs/GetVpcRegionTimeoutsResult.cs new file mode 100644 index 0000000..18508e3 --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpcRegionTimeoutsResult.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 GetVpcRegionTimeoutsResult + { + /// + /// 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? Read; + + [OutputConstructor] + private GetVpcRegionTimeoutsResult(string? read) + { + Read = read; + } + } +} diff --git a/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteDestinationResult.cs b/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteDestinationResult.cs new file mode 100644 index 0000000..e1b4090 --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteDestinationResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetVpcRoutingTableStaticRouteDestinationResult + { + public readonly string Type; + public readonly string Value; + + [OutputConstructor] + private GetVpcRoutingTableStaticRouteDestinationResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteNexthopResult.cs b/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteNexthopResult.cs new file mode 100644 index 0000000..d7f5922 --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteNexthopResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetVpcRoutingTableStaticRouteNexthopResult + { + public readonly string Type; + public readonly string Value; + + [OutputConstructor] + private GetVpcRoutingTableStaticRouteNexthopResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteTimeoutsResult.cs b/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteTimeoutsResult.cs new file mode 100644 index 0000000..8426c79 --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpcRoutingTableStaticRouteTimeoutsResult.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 GetVpcRoutingTableStaticRouteTimeoutsResult + { + /// + /// 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? Read; + + [OutputConstructor] + private GetVpcRoutingTableStaticRouteTimeoutsResult(string? read) + { + Read = read; + } + } +} diff --git a/sdk/dotnet/Outputs/GetVpcTimeoutsResult.cs b/sdk/dotnet/Outputs/GetVpcTimeoutsResult.cs new file mode 100644 index 0000000..cc06a4d --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpcTimeoutsResult.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 GetVpcTimeoutsResult + { + /// + /// 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? Read; + + [OutputConstructor] + private GetVpcTimeoutsResult(string? read) + { + Read = read; + } + } +} diff --git a/sdk/dotnet/Outputs/VpcNetworkRangeTimeouts.cs b/sdk/dotnet/Outputs/VpcNetworkRangeTimeouts.cs new file mode 100644 index 0000000..439b755 --- /dev/null +++ b/sdk/dotnet/Outputs/VpcNetworkRangeTimeouts.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 VpcNetworkRangeTimeouts + { + /// + /// 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 VpcNetworkRangeTimeouts( + string? create, + + string? delete, + + string? read, + + string? update) + { + Create = create; + Delete = delete; + Read = read; + Update = update; + } + } +} diff --git a/sdk/dotnet/Outputs/VpcRegionTimeouts.cs b/sdk/dotnet/Outputs/VpcRegionTimeouts.cs new file mode 100644 index 0000000..88c4a05 --- /dev/null +++ b/sdk/dotnet/Outputs/VpcRegionTimeouts.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 VpcRegionTimeouts + { + /// + /// 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 VpcRegionTimeouts( + string? create, + + string? delete, + + string? read, + + string? update) + { + Create = create; + Delete = delete; + Read = read; + Update = update; + } + } +} diff --git a/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteDestination.cs b/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteDestination.cs new file mode 100644 index 0000000..4adba83 --- /dev/null +++ b/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteDestination.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 VpcRoutingTableStaticRouteDestination + { + /// + /// CIDR type. Possible values are: `Cidrv4`, `Cidrv6`. Currently cidrv6 is unsupported. + /// + public readonly string Type; + /// + /// CIDR value. + /// + public readonly string Value; + + [OutputConstructor] + private VpcRoutingTableStaticRouteDestination( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteNexthop.cs b/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteNexthop.cs new file mode 100644 index 0000000..b853773 --- /dev/null +++ b/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteNexthop.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 VpcRoutingTableStaticRouteNexthop + { + /// + /// Type of the nexthop. Possible values are: `Blackhole`, `Internet`, `Ipv4`, `Ipv6`. Currently ipv6 is unsupported. + /// + public readonly string Type; + /// + /// Value of the nexthop + /// + public readonly string? Value; + + [OutputConstructor] + private VpcRoutingTableStaticRouteNexthop( + string type, + + string? value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteTimeouts.cs b/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteTimeouts.cs new file mode 100644 index 0000000..bc1d639 --- /dev/null +++ b/sdk/dotnet/Outputs/VpcRoutingTableStaticRouteTimeouts.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 VpcRoutingTableStaticRouteTimeouts + { + /// + /// 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 VpcRoutingTableStaticRouteTimeouts( + string? create, + + string? delete, + + string? read, + + string? update) + { + Create = create; + Delete = delete; + Read = read; + Update = update; + } + } +} diff --git a/sdk/dotnet/Outputs/VpcTimeouts.cs b/sdk/dotnet/Outputs/VpcTimeouts.cs new file mode 100644 index 0000000..0ac785a --- /dev/null +++ b/sdk/dotnet/Outputs/VpcTimeouts.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 VpcTimeouts + { + /// + /// 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 VpcTimeouts( + string? create, + + string? delete, + + string? read, + + string? update) + { + Create = create; + Delete = delete; + Read = read; + Update = update; + } + } +} diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index 607f7bc..b7100b3 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -417,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: dremio, 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, network, routing-tables, vpc /// public InputList Experiments { diff --git a/sdk/dotnet/RoutingTable.cs b/sdk/dotnet/RoutingTable.cs index 6b67e65..1941ee0 100644 --- a/sdk/dotnet/RoutingTable.cs +++ b/sdk/dotnet/RoutingTable.cs @@ -14,7 +14,7 @@ namespace Pulumi.Stackit /// /// This resource is for SNA, not VPC, based networks. /// - /// > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/RoutingTableRoute.cs b/sdk/dotnet/RoutingTableRoute.cs index 0b595fc..5d85d48 100644 --- a/sdk/dotnet/RoutingTableRoute.cs +++ b/sdk/dotnet/RoutingTableRoute.cs @@ -14,7 +14,7 @@ namespace Pulumi.Stackit /// /// This resource is for SNA, not VPC, based networks. /// - /// > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/SecretsmanagerInstanceRoleBindingV1.cs b/sdk/dotnet/SecretsmanagerInstanceRoleBindingV1.cs index afcf320..77b909c 100644 --- a/sdk/dotnet/SecretsmanagerInstanceRoleBindingV1.cs +++ b/sdk/dotnet/SecretsmanagerInstanceRoleBindingV1.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit /// /// IAM role binding resource schema. /// - /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/SecretsmanagerSecretGroupRoleBindingV1.cs b/sdk/dotnet/SecretsmanagerSecretGroupRoleBindingV1.cs index 24f35c1..1d62ac5 100644 --- a/sdk/dotnet/SecretsmanagerSecretGroupRoleBindingV1.cs +++ b/sdk/dotnet/SecretsmanagerSecretGroupRoleBindingV1.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit /// /// IAM role binding resource schema. /// - /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. /// /// ## Example Usage /// diff --git a/sdk/dotnet/Vpc.cs b/sdk/dotnet/Vpc.cs new file mode 100644 index 0000000..d4e97fb --- /dev/null +++ b/sdk/dotnet/Vpc.cs @@ -0,0 +1,191 @@ +// *** 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 +{ + /// + /// VPC resource schema. + /// + /// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/vpc:Vpc")] + public partial class Vpc : global::Pulumi.CustomResource + { + /// + /// The description of the VPC. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// The name of the VPC. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT project ID to which the VPC is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The VPC ID. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a Vpc 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 Vpc(string name, VpcArgs args, CustomResourceOptions? options = null) + : base("stackit:index/vpc:Vpc", name, args ?? new VpcArgs(), MakeResourceOptions(options, "")) + { + } + + private Vpc(string name, Input id, VpcState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/vpc:Vpc", 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 Vpc 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 Vpc Get(string name, Input id, VpcState? state = null, CustomResourceOptions? options = null) + { + return new Vpc(name, id, state, options); + } + } + + public sealed class VpcArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the VPC. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The name of the VPC. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the VPC is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public VpcArgs() + { + } + public static new VpcArgs Empty => new VpcArgs(); + } + + public sealed class VpcState : global::Pulumi.ResourceArgs + { + /// + /// The description of the VPC. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The name of the VPC. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the VPC is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcState() + { + } + public static new VpcState Empty => new VpcState(); + } +} diff --git a/sdk/dotnet/VpcNetworkRange.cs b/sdk/dotnet/VpcNetworkRange.cs new file mode 100644 index 0000000..4be0ff8 --- /dev/null +++ b/sdk/dotnet/VpcNetworkRange.cs @@ -0,0 +1,323 @@ +// *** 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 +{ + /// + /// VPC network range resource schema + /// + /// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/vpcNetworkRange:VpcNetworkRange")] + public partial class VpcNetworkRange : global::Pulumi.CustomResource + { + /// + /// Default prefix length for the VPC network range + /// + [Output("defaultPrefixLength")] + public Output DefaultPrefixLength { get; private set; } = null!; + + /// + /// Description of the VPC network range + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// IP version of the VPC network range. Possible values are: `Ipv4`. + /// + [Output("ipVersion")] + public Output IpVersion { get; private set; } = null!; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// Maximum prefix length for the VPC network range + /// + [Output("maxPrefixLength")] + public Output MaxPrefixLength { get; private set; } = null!; + + /// + /// Minimum prefix length for the VPC network range + /// + [Output("minPrefixLength")] + public Output MinPrefixLength { get; private set; } = null!; + + /// + /// List of nameservers for the VPC network range + /// + [Output("nameservers")] + public Output> Nameservers { get; private set; } = null!; + + [Output("networkRangeId")] + public Output NetworkRangeId { get; private set; } = null!; + + /// + /// The IP prefix for the VPC network range + /// + [Output("prefix")] + public Output Prefix { get; private set; } = null!; + + /// + /// STACKIT project ID to which the VPC network range is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The VPC ID to which the VPC network range is associated. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a VpcNetworkRange 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 VpcNetworkRange(string name, VpcNetworkRangeArgs args, CustomResourceOptions? options = null) + : base("stackit:index/vpcNetworkRange:VpcNetworkRange", name, args ?? new VpcNetworkRangeArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcNetworkRange(string name, Input id, VpcNetworkRangeState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/vpcNetworkRange:VpcNetworkRange", 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 VpcNetworkRange 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 VpcNetworkRange Get(string name, Input id, VpcNetworkRangeState? state = null, CustomResourceOptions? options = null) + { + return new VpcNetworkRange(name, id, state, options); + } + } + + public sealed class VpcNetworkRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// Default prefix length for the VPC network range + /// + [Input("defaultPrefixLength")] + public Input? DefaultPrefixLength { get; set; } + + /// + /// Description of the VPC network range + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// IP version of the VPC network range. Possible values are: `Ipv4`. + /// + [Input("ipVersion", required: true)] + public Input IpVersion { get; set; } = null!; + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// Maximum prefix length for the VPC network range + /// + [Input("maxPrefixLength")] + public Input? MaxPrefixLength { get; set; } + + /// + /// Minimum prefix length for the VPC network range + /// + [Input("minPrefixLength")] + public Input? MinPrefixLength { get; set; } + + [Input("nameservers")] + private InputList? _nameservers; + + /// + /// List of nameservers for the VPC network range + /// + public InputList Nameservers + { + get => _nameservers ?? (_nameservers = new InputList()); + set => _nameservers = value; + } + + /// + /// The IP prefix for the VPC network range + /// + [Input("prefix", required: true)] + public Input Prefix { get; set; } = null!; + + /// + /// STACKIT project ID to which the VPC network range is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC network range is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public VpcNetworkRangeArgs() + { + } + public static new VpcNetworkRangeArgs Empty => new VpcNetworkRangeArgs(); + } + + public sealed class VpcNetworkRangeState : global::Pulumi.ResourceArgs + { + /// + /// Default prefix length for the VPC network range + /// + [Input("defaultPrefixLength")] + public Input? DefaultPrefixLength { get; set; } + + /// + /// Description of the VPC network range + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// IP version of the VPC network range. Possible values are: `Ipv4`. + /// + [Input("ipVersion")] + public Input? IpVersion { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// Maximum prefix length for the VPC network range + /// + [Input("maxPrefixLength")] + public Input? MaxPrefixLength { get; set; } + + /// + /// Minimum prefix length for the VPC network range + /// + [Input("minPrefixLength")] + public Input? MinPrefixLength { get; set; } + + [Input("nameservers")] + private InputList? _nameservers; + + /// + /// List of nameservers for the VPC network range + /// + public InputList Nameservers + { + get => _nameservers ?? (_nameservers = new InputList()); + set => _nameservers = value; + } + + [Input("networkRangeId")] + public Input? NetworkRangeId { get; set; } + + /// + /// The IP prefix for the VPC network range + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + /// + /// STACKIT project ID to which the VPC network range is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC network range is associated. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcNetworkRangeState() + { + } + public static new VpcNetworkRangeState Empty => new VpcNetworkRangeState(); + } +} diff --git a/sdk/dotnet/VpcRegion.cs b/sdk/dotnet/VpcRegion.cs new file mode 100644 index 0000000..b126dce --- /dev/null +++ b/sdk/dotnet/VpcRegion.cs @@ -0,0 +1,149 @@ +// *** 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 +{ + /// + /// VPC region resource schema + /// + /// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/vpcRegion:VpcRegion")] + public partial class VpcRegion : global::Pulumi.CustomResource + { + /// + /// STACKIT project ID to which the VPC region is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The VPC ID to which the VPC region is associated. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a VpcRegion 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 VpcRegion(string name, VpcRegionArgs args, CustomResourceOptions? options = null) + : base("stackit:index/vpcRegion:VpcRegion", name, args ?? new VpcRegionArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcRegion(string name, Input id, VpcRegionState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/vpcRegion:VpcRegion", 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 VpcRegion 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 VpcRegion Get(string name, Input id, VpcRegionState? state = null, CustomResourceOptions? options = null) + { + return new VpcRegion(name, id, state, options); + } + } + + public sealed class VpcRegionArgs : global::Pulumi.ResourceArgs + { + /// + /// STACKIT project ID to which the VPC region is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC region is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public VpcRegionArgs() + { + } + public static new VpcRegionArgs Empty => new VpcRegionArgs(); + } + + public sealed class VpcRegionState : global::Pulumi.ResourceArgs + { + /// + /// STACKIT project ID to which the VPC region is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the VPC region is associated. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcRegionState() + { + } + public static new VpcRegionState Empty => new VpcRegionState(); + } +} diff --git a/sdk/dotnet/VpcRoutingTable.cs b/sdk/dotnet/VpcRoutingTable.cs new file mode 100644 index 0000000..d8bb9c9 --- /dev/null +++ b/sdk/dotnet/VpcRoutingTable.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 +{ + /// + /// VPC Regional routing table resource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/vpcRoutingTable:VpcRoutingTable")] + public partial class VpcRoutingTable : global::Pulumi.CustomResource + { + /// + /// Description of the regional routing table. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// This controls whether dynamic routes are propagated to this regional routing table + /// + [Output("dynamicRoutes")] + public Output DynamicRoutes { get; private set; } = null!; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// The name of the regional routing table. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT project ID to which the regional routing table is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The regional routing tables ID. + /// + [Output("routingTableId")] + public Output RoutingTableId { get; private set; } = null!; + + /// + /// This allows installation of automatic system routes for connectivity between projects in the same VPC. + /// + [Output("systemRoutes")] + public Output SystemRoutes { get; private set; } = null!; + + /// + /// The vpc ID to which the regional routing table is associated. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a VpcRoutingTable 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 VpcRoutingTable(string name, VpcRoutingTableArgs args, CustomResourceOptions? options = null) + : base("stackit:index/vpcRoutingTable:VpcRoutingTable", name, args ?? new VpcRoutingTableArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcRoutingTable(string name, Input id, VpcRoutingTableState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/vpcRoutingTable:VpcRoutingTable", 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 VpcRoutingTable 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 VpcRoutingTable Get(string name, Input id, VpcRoutingTableState? state = null, CustomResourceOptions? options = null) + { + return new VpcRoutingTable(name, id, state, options); + } + } + + public sealed class VpcRoutingTableArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the regional routing table. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// This controls whether dynamic routes are propagated to this regional routing table + /// + [Input("dynamicRoutes")] + public Input? DynamicRoutes { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The name of the regional routing table. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the regional routing table is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// This allows installation of automatic system routes for connectivity between projects in the same VPC. + /// + [Input("systemRoutes")] + public Input? SystemRoutes { get; set; } + + /// + /// The vpc ID to which the regional routing table is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public VpcRoutingTableArgs() + { + } + public static new VpcRoutingTableArgs Empty => new VpcRoutingTableArgs(); + } + + public sealed class VpcRoutingTableState : global::Pulumi.ResourceArgs + { + /// + /// Description of the regional routing table. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// This controls whether dynamic routes are propagated to this regional routing table + /// + [Input("dynamicRoutes")] + public Input? DynamicRoutes { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The name of the regional routing table. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the regional routing table is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The regional routing tables ID. + /// + [Input("routingTableId")] + public Input? RoutingTableId { get; set; } + + /// + /// This allows installation of automatic system routes for connectivity between projects in the same VPC. + /// + [Input("systemRoutes")] + public Input? SystemRoutes { get; set; } + + /// + /// The vpc ID to which the regional routing table is associated. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcRoutingTableState() + { + } + public static new VpcRoutingTableState Empty => new VpcRoutingTableState(); + } +} diff --git a/sdk/dotnet/VpcRoutingTableStaticRoute.cs b/sdk/dotnet/VpcRoutingTableStaticRoute.cs new file mode 100644 index 0000000..0bf5bee --- /dev/null +++ b/sdk/dotnet/VpcRoutingTableStaticRoute.cs @@ -0,0 +1,245 @@ +// *** 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 +{ + /// + /// VPC Routing table static route resource schema. Must have a `Region` specified in the provider configuration. + /// + /// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// In Terraform v1.5.0 and later, the ` + " `" + `Import` + "` " + ` block can be used with the ` + " `" + `Id` + "` " + ` attribute, for example: + /// + [StackitResourceType("stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute")] + public partial class VpcRoutingTableStaticRoute : global::Pulumi.CustomResource + { + /// + /// The destination of the static route. + /// + [Output("destination")] + public Output Destination { get; private set; } = null!; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// The nexthop of the static route. + /// + [Output("nexthop")] + public Output Nexthop { get; private set; } = null!; + + /// + /// STACKIT Project ID to which the static route is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The region of the static route. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The static route ID. + /// + [Output("routeId")] + public Output RouteId { get; private set; } = null!; + + /// + /// The routing table ID to which the static route is associated. + /// + [Output("routingTableId")] + public Output RoutingTableId { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The VPC ID to which the static route is associated. + /// + [Output("vpcId")] + public Output VpcId { get; private set; } = null!; + + + /// + /// Create a VpcRoutingTableStaticRoute 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 VpcRoutingTableStaticRoute(string name, VpcRoutingTableStaticRouteArgs args, CustomResourceOptions? options = null) + : base("stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute", name, args ?? new VpcRoutingTableStaticRouteArgs(), MakeResourceOptions(options, "")) + { + } + + private VpcRoutingTableStaticRoute(string name, Input id, VpcRoutingTableStaticRouteState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute", 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 VpcRoutingTableStaticRoute 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 VpcRoutingTableStaticRoute Get(string name, Input id, VpcRoutingTableStaticRouteState? state = null, CustomResourceOptions? options = null) + { + return new VpcRoutingTableStaticRoute(name, id, state, options); + } + } + + public sealed class VpcRoutingTableStaticRouteArgs : global::Pulumi.ResourceArgs + { + /// + /// The destination of the static route. + /// + [Input("destination", required: true)] + public Input Destination { get; set; } = null!; + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The nexthop of the static route. + /// + [Input("nexthop", required: true)] + public Input Nexthop { get; set; } = null!; + + /// + /// STACKIT Project ID to which the static route is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The region of the static route. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The routing table ID to which the static route is associated. + /// + [Input("routingTableId", required: true)] + public Input RoutingTableId { get; set; } = null!; + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the static route is associated. + /// + [Input("vpcId", required: true)] + public Input VpcId { get; set; } = null!; + + public VpcRoutingTableStaticRouteArgs() + { + } + public static new VpcRoutingTableStaticRouteArgs Empty => new VpcRoutingTableStaticRouteArgs(); + } + + public sealed class VpcRoutingTableStaticRouteState : global::Pulumi.ResourceArgs + { + /// + /// The destination of the static route. + /// + [Input("destination")] + public Input? Destination { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to a resource container + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The nexthop of the static route. + /// + [Input("nexthop")] + public Input? Nexthop { get; set; } + + /// + /// STACKIT Project ID to which the static route is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The region of the static route. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The static route ID. + /// + [Input("routeId")] + public Input? RouteId { get; set; } + + /// + /// The routing table ID to which the static route is associated. + /// + [Input("routingTableId")] + public Input? RoutingTableId { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The VPC ID to which the static route is associated. + /// + [Input("vpcId")] + public Input? VpcId { get; set; } + + public VpcRoutingTableStaticRouteState() + { + } + public static new VpcRoutingTableStaticRouteState Empty => new VpcRoutingTableStaticRouteState(); + } +} diff --git a/sdk/go/stackit/authorizationFolderRoleAssignment.go b/sdk/go/stackit/authorizationFolderRoleAssignment.go index 4cabcf7..5231a0b 100644 --- a/sdk/go/stackit/authorizationFolderRoleAssignment.go +++ b/sdk/go/stackit/authorizationFolderRoleAssignment.go @@ -14,7 +14,7 @@ import ( // Folder Role Assignment resource schema. // -// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/authorizationOrganizationRoleAssignment.go b/sdk/go/stackit/authorizationOrganizationRoleAssignment.go index f9e30cd..08546c0 100644 --- a/sdk/go/stackit/authorizationOrganizationRoleAssignment.go +++ b/sdk/go/stackit/authorizationOrganizationRoleAssignment.go @@ -14,7 +14,7 @@ import ( // Organization Role Assignment resource schema. // -// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/authorizationProjectRoleAssignment.go b/sdk/go/stackit/authorizationProjectRoleAssignment.go index a1d3e5b..0f482ac 100644 --- a/sdk/go/stackit/authorizationProjectRoleAssignment.go +++ b/sdk/go/stackit/authorizationProjectRoleAssignment.go @@ -14,7 +14,7 @@ import ( // Project Role Assignment resource schema. // -// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/authorizationServiceAccountRoleAssignment.go b/sdk/go/stackit/authorizationServiceAccountRoleAssignment.go index 4208efc..657c170 100644 --- a/sdk/go/stackit/authorizationServiceAccountRoleAssignment.go +++ b/sdk/go/stackit/authorizationServiceAccountRoleAssignment.go @@ -16,7 +16,7 @@ import ( // // > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. // -// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/config/config.go b/sdk/go/stackit/config/config.go index e0905d4..b114724 100644 --- a/sdk/go/stackit/config/config.go +++ b/sdk/go/stackit/config/config.go @@ -61,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: dremio, 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, network, routing-tables, vpc func GetExperiments(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:experiments") } diff --git a/sdk/go/stackit/dremioInstance.go b/sdk/go/stackit/dremioInstance.go index f656324..348605d 100644 --- a/sdk/go/stackit/dremioInstance.go +++ b/sdk/go/stackit/dremioInstance.go @@ -14,7 +14,7 @@ import ( // 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. +// > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/dremioUser.go b/sdk/go/stackit/dremioUser.go index c02ab37..5c8925f 100644 --- a/sdk/go/stackit/dremioUser.go +++ b/sdk/go/stackit/dremioUser.go @@ -14,7 +14,7 @@ import ( // 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. +// > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/getDremioInstance.go b/sdk/go/stackit/getDremioInstance.go index c577f34..3572f67 100644 --- a/sdk/go/stackit/getDremioInstance.go +++ b/sdk/go/stackit/getDremioInstance.go @@ -13,7 +13,7 @@ import ( // 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. +// > This datasource is part of the experimental feature dremio 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) { diff --git a/sdk/go/stackit/getDremioUser.go b/sdk/go/stackit/getDremioUser.go index 6e025f1..b3a8d12 100644 --- a/sdk/go/stackit/getDremioUser.go +++ b/sdk/go/stackit/getDremioUser.go @@ -13,7 +13,7 @@ import ( // 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. +// > This datasource is part of the experimental feature dremio 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) { diff --git a/sdk/go/stackit/getRoutingTable.go b/sdk/go/stackit/getRoutingTable.go index c78f6df..ccfbcd2 100644 --- a/sdk/go/stackit/getRoutingTable.go +++ b/sdk/go/stackit/getRoutingTable.go @@ -15,7 +15,7 @@ import ( // // This datasource is for SNA, not VPC, based networks. // -// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage func LookupRoutingTable(ctx *pulumi.Context, args *LookupRoutingTableArgs, opts ...pulumi.InvokeOption) (*LookupRoutingTableResult, error) { diff --git a/sdk/go/stackit/getRoutingTableRoute.go b/sdk/go/stackit/getRoutingTableRoute.go index 997e6e4..2457291 100644 --- a/sdk/go/stackit/getRoutingTableRoute.go +++ b/sdk/go/stackit/getRoutingTableRoute.go @@ -15,7 +15,7 @@ import ( // // This datasource is for SNA, not VPC, networks. // -// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage func LookupRoutingTableRoute(ctx *pulumi.Context, args *LookupRoutingTableRouteArgs, opts ...pulumi.InvokeOption) (*LookupRoutingTableRouteResult, error) { diff --git a/sdk/go/stackit/getRoutingTableRoutes.go b/sdk/go/stackit/getRoutingTableRoutes.go index 9976a93..f40ef16 100644 --- a/sdk/go/stackit/getRoutingTableRoutes.go +++ b/sdk/go/stackit/getRoutingTableRoutes.go @@ -15,7 +15,7 @@ import ( // // This datasource is for SNA, not VPC, based networks. // -// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage func GetRoutingTableRoutes(ctx *pulumi.Context, args *GetRoutingTableRoutesArgs, opts ...pulumi.InvokeOption) (*GetRoutingTableRoutesResult, error) { diff --git a/sdk/go/stackit/getRoutingTables.go b/sdk/go/stackit/getRoutingTables.go index 9bc379d..816cc50 100644 --- a/sdk/go/stackit/getRoutingTables.go +++ b/sdk/go/stackit/getRoutingTables.go @@ -15,7 +15,7 @@ import ( // // This datasource is for SNA, not VPC, based networks. // -// > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage func GetRoutingTables(ctx *pulumi.Context, args *GetRoutingTablesArgs, opts ...pulumi.InvokeOption) (*GetRoutingTablesResult, error) { diff --git a/sdk/go/stackit/getSecretsmanagerInstanceRoleBindingsV1.go b/sdk/go/stackit/getSecretsmanagerInstanceRoleBindingsV1.go index ed87f31..52cacd0 100644 --- a/sdk/go/stackit/getSecretsmanagerInstanceRoleBindingsV1.go +++ b/sdk/go/stackit/getSecretsmanagerInstanceRoleBindingsV1.go @@ -13,7 +13,7 @@ import ( // IAM role binding datasource schema. // -// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage func GetSecretsmanagerInstanceRoleBindingsV1(ctx *pulumi.Context, args *GetSecretsmanagerInstanceRoleBindingsV1Args, opts ...pulumi.InvokeOption) (*GetSecretsmanagerInstanceRoleBindingsV1Result, error) { diff --git a/sdk/go/stackit/getSecretsmanagerSecretGroupRoleBindingsV1.go b/sdk/go/stackit/getSecretsmanagerSecretGroupRoleBindingsV1.go index 8d779ec..8a6ad22 100644 --- a/sdk/go/stackit/getSecretsmanagerSecretGroupRoleBindingsV1.go +++ b/sdk/go/stackit/getSecretsmanagerSecretGroupRoleBindingsV1.go @@ -13,7 +13,7 @@ import ( // IAM role binding datasource schema. // -// > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage func GetSecretsmanagerSecretGroupRoleBindingsV1(ctx *pulumi.Context, args *GetSecretsmanagerSecretGroupRoleBindingsV1Args, opts ...pulumi.InvokeOption) (*GetSecretsmanagerSecretGroupRoleBindingsV1Result, error) { diff --git a/sdk/go/stackit/getVpc.go b/sdk/go/stackit/getVpc.go new file mode 100644 index 0000000..ab39999 --- /dev/null +++ b/sdk/go/stackit/getVpc.go @@ -0,0 +1,128 @@ +// 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" +) + +// VPC datasource schema. +// +// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +func LookupVpc(ctx *pulumi.Context, args *LookupVpcArgs, opts ...pulumi.InvokeOption) (*LookupVpcResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcResult + err := ctx.Invoke("stackit:index/getVpc:getVpc", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpc. +type LookupVpcArgs struct { + // STACKIT project ID to which the VPC is associated. + ProjectId string `pulumi:"projectId"` + Timeouts *GetVpcTimeouts `pulumi:"timeouts"` + // The VPC ID. + VpcId string `pulumi:"vpcId"` +} + +// A collection of values returned by getVpc. +type LookupVpcResult struct { + // The description of the VPC. + Description string `pulumi:"description"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`vpcId`". + Id string `pulumi:"id"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the VPC. + Name string `pulumi:"name"` + // STACKIT project ID to which the VPC is associated. + ProjectId string `pulumi:"projectId"` + Timeouts *GetVpcTimeouts `pulumi:"timeouts"` + // The VPC ID. + VpcId string `pulumi:"vpcId"` +} + +func LookupVpcOutput(ctx *pulumi.Context, args LookupVpcOutputArgs, opts ...pulumi.InvokeOption) LookupVpcResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupVpcResultOutput, error) { + args := v.(LookupVpcArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpc:getVpc", args, LookupVpcResultOutput{}, options).(LookupVpcResultOutput), nil + }).(LookupVpcResultOutput) +} + +// A collection of arguments for invoking getVpc. +type LookupVpcOutputArgs struct { + // STACKIT project ID to which the VPC is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + Timeouts GetVpcTimeoutsPtrInput `pulumi:"timeouts"` + // The VPC ID. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (LookupVpcOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcArgs)(nil)).Elem() +} + +// A collection of values returned by getVpc. +type LookupVpcResultOutput struct{ *pulumi.OutputState } + +func (LookupVpcResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcResult)(nil)).Elem() +} + +func (o LookupVpcResultOutput) ToLookupVpcResultOutput() LookupVpcResultOutput { + return o +} + +func (o LookupVpcResultOutput) ToLookupVpcResultOutputWithContext(ctx context.Context) LookupVpcResultOutput { + return o +} + +// The description of the VPC. +func (o LookupVpcResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcResult) string { return v.Description }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`vpcId`". +func (o LookupVpcResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o LookupVpcResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVpcResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The name of the VPC. +func (o LookupVpcResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the VPC is associated. +func (o LookupVpcResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o LookupVpcResultOutput) Timeouts() GetVpcTimeoutsPtrOutput { + return o.ApplyT(func(v LookupVpcResult) *GetVpcTimeouts { return v.Timeouts }).(GetVpcTimeoutsPtrOutput) +} + +// The VPC ID. +func (o LookupVpcResultOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcResult) string { return v.VpcId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpcResultOutput{}) +} diff --git a/sdk/go/stackit/getVpcNetworkRange.go b/sdk/go/stackit/getVpcNetworkRange.go new file mode 100644 index 0000000..3d4ceb7 --- /dev/null +++ b/sdk/go/stackit/getVpcNetworkRange.go @@ -0,0 +1,181 @@ +// 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" +) + +// VPC network range datasource schema +// +// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +func LookupVpcNetworkRange(ctx *pulumi.Context, args *LookupVpcNetworkRangeArgs, opts ...pulumi.InvokeOption) (*LookupVpcNetworkRangeResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcNetworkRangeResult + err := ctx.Invoke("stackit:index/getVpcNetworkRange:getVpcNetworkRange", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpcNetworkRange. +type LookupVpcNetworkRangeArgs struct { + NetworkRangeId string `pulumi:"networkRangeId"` + // STACKIT project ID to which the VPC network range is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *GetVpcNetworkRangeTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC network range is associated. + VpcId string `pulumi:"vpcId"` +} + +// A collection of values returned by getVpcNetworkRange. +type LookupVpcNetworkRangeResult struct { + // Default prefix length for the VPC network range + DefaultPrefixLength int `pulumi:"defaultPrefixLength"` + // Description of the VPC network range + Description string `pulumi:"description"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`vpcId`,`region`,`networkRangeId`". + Id string `pulumi:"id"` + // IP version of the VPC network range. Possible values are: `ipv4`. + IpVersion string `pulumi:"ipVersion"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // Maximum prefix length for the VPC network range + MaxPrefixLength int `pulumi:"maxPrefixLength"` + // Minimum prefix length for the VPC network range + MinPrefixLength int `pulumi:"minPrefixLength"` + // List of nameservers for the VPC network range + Nameservers []string `pulumi:"nameservers"` + NetworkRangeId string `pulumi:"networkRangeId"` + // The IP prefix for the VPC network range + Prefix string `pulumi:"prefix"` + // STACKIT project ID to which the VPC network range is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` + Timeouts *GetVpcNetworkRangeTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC network range is associated. + VpcId string `pulumi:"vpcId"` +} + +func LookupVpcNetworkRangeOutput(ctx *pulumi.Context, args LookupVpcNetworkRangeOutputArgs, opts ...pulumi.InvokeOption) LookupVpcNetworkRangeResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupVpcNetworkRangeResultOutput, error) { + args := v.(LookupVpcNetworkRangeArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpcNetworkRange:getVpcNetworkRange", args, LookupVpcNetworkRangeResultOutput{}, options).(LookupVpcNetworkRangeResultOutput), nil + }).(LookupVpcNetworkRangeResultOutput) +} + +// A collection of arguments for invoking getVpcNetworkRange. +type LookupVpcNetworkRangeOutputArgs struct { + NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` + // STACKIT project ID to which the VPC network range is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + Timeouts GetVpcNetworkRangeTimeoutsPtrInput `pulumi:"timeouts"` + // The VPC ID to which the VPC network range is associated. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (LookupVpcNetworkRangeOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcNetworkRangeArgs)(nil)).Elem() +} + +// A collection of values returned by getVpcNetworkRange. +type LookupVpcNetworkRangeResultOutput struct{ *pulumi.OutputState } + +func (LookupVpcNetworkRangeResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcNetworkRangeResult)(nil)).Elem() +} + +func (o LookupVpcNetworkRangeResultOutput) ToLookupVpcNetworkRangeResultOutput() LookupVpcNetworkRangeResultOutput { + return o +} + +func (o LookupVpcNetworkRangeResultOutput) ToLookupVpcNetworkRangeResultOutputWithContext(ctx context.Context) LookupVpcNetworkRangeResultOutput { + return o +} + +// Default prefix length for the VPC network range +func (o LookupVpcNetworkRangeResultOutput) DefaultPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) +} + +// Description of the VPC network range +func (o LookupVpcNetworkRangeResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.Description }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`vpcId`,`region`,`networkRangeId`". +func (o LookupVpcNetworkRangeResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.Id }).(pulumi.StringOutput) +} + +// IP version of the VPC network range. Possible values are: `ipv4`. +func (o LookupVpcNetworkRangeResultOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.IpVersion }).(pulumi.StringOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o LookupVpcNetworkRangeResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Maximum prefix length for the VPC network range +func (o LookupVpcNetworkRangeResultOutput) MaxPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) int { return v.MaxPrefixLength }).(pulumi.IntOutput) +} + +// Minimum prefix length for the VPC network range +func (o LookupVpcNetworkRangeResultOutput) MinPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) int { return v.MinPrefixLength }).(pulumi.IntOutput) +} + +// List of nameservers for the VPC network range +func (o LookupVpcNetworkRangeResultOutput) Nameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) []string { return v.Nameservers }).(pulumi.StringArrayOutput) +} + +func (o LookupVpcNetworkRangeResultOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.NetworkRangeId }).(pulumi.StringOutput) +} + +// The IP prefix for the VPC network range +func (o LookupVpcNetworkRangeResultOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.Prefix }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the VPC network range is associated. +func (o LookupVpcNetworkRangeResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o LookupVpcNetworkRangeResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o LookupVpcNetworkRangeResultOutput) Timeouts() GetVpcNetworkRangeTimeoutsPtrOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) *GetVpcNetworkRangeTimeouts { return v.Timeouts }).(GetVpcNetworkRangeTimeoutsPtrOutput) +} + +// The VPC ID to which the VPC network range is associated. +func (o LookupVpcNetworkRangeResultOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcNetworkRangeResult) string { return v.VpcId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpcNetworkRangeResultOutput{}) +} diff --git a/sdk/go/stackit/getVpcRegion.go b/sdk/go/stackit/getVpcRegion.go new file mode 100644 index 0000000..e062304 --- /dev/null +++ b/sdk/go/stackit/getVpcRegion.go @@ -0,0 +1,118 @@ +// 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" +) + +// VPC region datasource schema +// +// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +func LookupVpcRegion(ctx *pulumi.Context, args *LookupVpcRegionArgs, opts ...pulumi.InvokeOption) (*LookupVpcRegionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcRegionResult + err := ctx.Invoke("stackit:index/getVpcRegion:getVpcRegion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpcRegion. +type LookupVpcRegionArgs struct { + // STACKIT project ID to which the VPC region is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *GetVpcRegionTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC region is associated. + VpcId string `pulumi:"vpcId"` +} + +// A collection of values returned by getVpcRegion. +type LookupVpcRegionResult struct { + // Terraform's internal resource ID. It is structured as "`projectId`, `vpcId`, `region`". + Id string `pulumi:"id"` + // STACKIT project ID to which the VPC region is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *GetVpcRegionTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC region is associated. + VpcId string `pulumi:"vpcId"` +} + +func LookupVpcRegionOutput(ctx *pulumi.Context, args LookupVpcRegionOutputArgs, opts ...pulumi.InvokeOption) LookupVpcRegionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupVpcRegionResultOutput, error) { + args := v.(LookupVpcRegionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpcRegion:getVpcRegion", args, LookupVpcRegionResultOutput{}, options).(LookupVpcRegionResultOutput), nil + }).(LookupVpcRegionResultOutput) +} + +// A collection of arguments for invoking getVpcRegion. +type LookupVpcRegionOutputArgs struct { + // STACKIT project ID to which the VPC region is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + Timeouts GetVpcRegionTimeoutsPtrInput `pulumi:"timeouts"` + // The VPC ID to which the VPC region is associated. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (LookupVpcRegionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcRegionArgs)(nil)).Elem() +} + +// A collection of values returned by getVpcRegion. +type LookupVpcRegionResultOutput struct{ *pulumi.OutputState } + +func (LookupVpcRegionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcRegionResult)(nil)).Elem() +} + +func (o LookupVpcRegionResultOutput) ToLookupVpcRegionResultOutput() LookupVpcRegionResultOutput { + return o +} + +func (o LookupVpcRegionResultOutput) ToLookupVpcRegionResultOutputWithContext(ctx context.Context) LookupVpcRegionResultOutput { + return o +} + +// Terraform's internal resource ID. It is structured as "`projectId`, `vpcId`, `region`". +func (o LookupVpcRegionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRegionResult) string { return v.Id }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the VPC region is associated. +func (o LookupVpcRegionResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRegionResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o LookupVpcRegionResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVpcRegionResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +func (o LookupVpcRegionResultOutput) Timeouts() GetVpcRegionTimeoutsPtrOutput { + return o.ApplyT(func(v LookupVpcRegionResult) *GetVpcRegionTimeouts { return v.Timeouts }).(GetVpcRegionTimeoutsPtrOutput) +} + +// The VPC ID to which the VPC region is associated. +func (o LookupVpcRegionResultOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRegionResult) string { return v.VpcId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpcRegionResultOutput{}) +} diff --git a/sdk/go/stackit/getVpcRoutingTable.go b/sdk/go/stackit/getVpcRoutingTable.go new file mode 100644 index 0000000..255bd71 --- /dev/null +++ b/sdk/go/stackit/getVpcRoutingTable.go @@ -0,0 +1,173 @@ +// 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" +) + +// VPC Regional routing table datasource schema. Must have a `region` specified in the provider configuration. +// +// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +func LookupVpcRoutingTable(ctx *pulumi.Context, args *LookupVpcRoutingTableArgs, opts ...pulumi.InvokeOption) (*LookupVpcRoutingTableResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcRoutingTableResult + err := ctx.Invoke("stackit:index/getVpcRoutingTable:getVpcRoutingTable", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpcRoutingTable. +type LookupVpcRoutingTableArgs struct { + // Description of the regional routing table. + Description *string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes *bool `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // STACKIT project ID to which the regional routing table is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The regional routing tables ID. + RoutingTableId string `pulumi:"routingTableId"` + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes *bool `pulumi:"systemRoutes"` + // The vpc ID to which the regional routing table is associated. + VpcId string `pulumi:"vpcId"` +} + +// A collection of values returned by getVpcRoutingTable. +type LookupVpcRoutingTableResult struct { + // Description of the regional routing table. + Description string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes bool `pulumi:"dynamicRoutes"` + // Terraform's internal resource ID. It is structured as "`projectId`,`vpcId`,`region`,`routingTableId`". + Id string `pulumi:"id"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the regional routing table. + Name string `pulumi:"name"` + // STACKIT project ID to which the regional routing table is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` + // The regional routing tables ID. + RoutingTableId string `pulumi:"routingTableId"` + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes bool `pulumi:"systemRoutes"` + // The vpc ID to which the regional routing table is associated. + VpcId string `pulumi:"vpcId"` +} + +func LookupVpcRoutingTableOutput(ctx *pulumi.Context, args LookupVpcRoutingTableOutputArgs, opts ...pulumi.InvokeOption) LookupVpcRoutingTableResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupVpcRoutingTableResultOutput, error) { + args := v.(LookupVpcRoutingTableArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpcRoutingTable:getVpcRoutingTable", args, LookupVpcRoutingTableResultOutput{}, options).(LookupVpcRoutingTableResultOutput), nil + }).(LookupVpcRoutingTableResultOutput) +} + +// A collection of arguments for invoking getVpcRoutingTable. +type LookupVpcRoutingTableOutputArgs struct { + // Description of the regional routing table. + Description pulumi.StringPtrInput `pulumi:"description"` + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes pulumi.BoolPtrInput `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput `pulumi:"labels"` + // STACKIT project ID to which the regional routing table is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + // The regional routing tables ID. + RoutingTableId pulumi.StringInput `pulumi:"routingTableId"` + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes pulumi.BoolPtrInput `pulumi:"systemRoutes"` + // The vpc ID to which the regional routing table is associated. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (LookupVpcRoutingTableOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcRoutingTableArgs)(nil)).Elem() +} + +// A collection of values returned by getVpcRoutingTable. +type LookupVpcRoutingTableResultOutput struct{ *pulumi.OutputState } + +func (LookupVpcRoutingTableResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcRoutingTableResult)(nil)).Elem() +} + +func (o LookupVpcRoutingTableResultOutput) ToLookupVpcRoutingTableResultOutput() LookupVpcRoutingTableResultOutput { + return o +} + +func (o LookupVpcRoutingTableResultOutput) ToLookupVpcRoutingTableResultOutputWithContext(ctx context.Context) LookupVpcRoutingTableResultOutput { + return o +} + +// Description of the regional routing table. +func (o LookupVpcRoutingTableResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) string { return v.Description }).(pulumi.StringOutput) +} + +// This controls whether dynamic routes are propagated to this regional routing table +func (o LookupVpcRoutingTableResultOutput) DynamicRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) bool { return v.DynamicRoutes }).(pulumi.BoolOutput) +} + +// Terraform's internal resource ID. It is structured as "`projectId`,`vpcId`,`region`,`routingTableId`". +func (o LookupVpcRoutingTableResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o LookupVpcRoutingTableResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The name of the regional routing table. +func (o LookupVpcRoutingTableResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the regional routing table is associated. +func (o LookupVpcRoutingTableResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o LookupVpcRoutingTableResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The regional routing tables ID. +func (o LookupVpcRoutingTableResultOutput) RoutingTableId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) string { return v.RoutingTableId }).(pulumi.StringOutput) +} + +// This allows installation of automatic system routes for connectivity between projects in the same VPC. +func (o LookupVpcRoutingTableResultOutput) SystemRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) bool { return v.SystemRoutes }).(pulumi.BoolOutput) +} + +// The vpc ID to which the regional routing table is associated. +func (o LookupVpcRoutingTableResultOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableResult) string { return v.VpcId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpcRoutingTableResultOutput{}) +} diff --git a/sdk/go/stackit/getVpcRoutingTableStaticRoute.go b/sdk/go/stackit/getVpcRoutingTableStaticRoute.go new file mode 100644 index 0000000..408be9c --- /dev/null +++ b/sdk/go/stackit/getVpcRoutingTableStaticRoute.go @@ -0,0 +1,163 @@ +// 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" +) + +// VPC Routing table static route datasource schema. Must have a `region` specified in the provider configuration. +// +// > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +func LookupVpcRoutingTableStaticRoute(ctx *pulumi.Context, args *LookupVpcRoutingTableStaticRouteArgs, opts ...pulumi.InvokeOption) (*LookupVpcRoutingTableStaticRouteResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpcRoutingTableStaticRouteResult + err := ctx.Invoke("stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpcRoutingTableStaticRoute. +type LookupVpcRoutingTableStaticRouteArgs struct { + // STACKIT Project ID to which the static route is associated. + ProjectId string `pulumi:"projectId"` + // The region of the static route. + Region *string `pulumi:"region"` + // The static route ID. + RouteId string `pulumi:"routeId"` + // The routing table ID to which the static route is associated. + RoutingTableId string `pulumi:"routingTableId"` + Timeouts *GetVpcRoutingTableStaticRouteTimeouts `pulumi:"timeouts"` + // The VPC ID to which the static route is associated. + VpcId string `pulumi:"vpcId"` +} + +// A collection of values returned by getVpcRoutingTableStaticRoute. +type LookupVpcRoutingTableStaticRouteResult struct { + // The destination of the static route. + Destination GetVpcRoutingTableStaticRouteDestination `pulumi:"destination"` + // Terraform's internal resource ID. It is structured as "`projectId`,`vpcId`,`region`,`routingTableId`,`routeId`". + Id string `pulumi:"id"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The nexthop of the static route. + Nexthop GetVpcRoutingTableStaticRouteNexthop `pulumi:"nexthop"` + // STACKIT Project ID to which the static route is associated. + ProjectId string `pulumi:"projectId"` + // The region of the static route. + Region string `pulumi:"region"` + // The static route ID. + RouteId string `pulumi:"routeId"` + // The routing table ID to which the static route is associated. + RoutingTableId string `pulumi:"routingTableId"` + Timeouts *GetVpcRoutingTableStaticRouteTimeouts `pulumi:"timeouts"` + // The VPC ID to which the static route is associated. + VpcId string `pulumi:"vpcId"` +} + +func LookupVpcRoutingTableStaticRouteOutput(ctx *pulumi.Context, args LookupVpcRoutingTableStaticRouteOutputArgs, opts ...pulumi.InvokeOption) LookupVpcRoutingTableStaticRouteResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupVpcRoutingTableStaticRouteResultOutput, error) { + args := v.(LookupVpcRoutingTableStaticRouteArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute", args, LookupVpcRoutingTableStaticRouteResultOutput{}, options).(LookupVpcRoutingTableStaticRouteResultOutput), nil + }).(LookupVpcRoutingTableStaticRouteResultOutput) +} + +// A collection of arguments for invoking getVpcRoutingTableStaticRoute. +type LookupVpcRoutingTableStaticRouteOutputArgs struct { + // STACKIT Project ID to which the static route is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The region of the static route. + Region pulumi.StringPtrInput `pulumi:"region"` + // The static route ID. + RouteId pulumi.StringInput `pulumi:"routeId"` + // The routing table ID to which the static route is associated. + RoutingTableId pulumi.StringInput `pulumi:"routingTableId"` + Timeouts GetVpcRoutingTableStaticRouteTimeoutsPtrInput `pulumi:"timeouts"` + // The VPC ID to which the static route is associated. + VpcId pulumi.StringInput `pulumi:"vpcId"` +} + +func (LookupVpcRoutingTableStaticRouteOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcRoutingTableStaticRouteArgs)(nil)).Elem() +} + +// A collection of values returned by getVpcRoutingTableStaticRoute. +type LookupVpcRoutingTableStaticRouteResultOutput struct{ *pulumi.OutputState } + +func (LookupVpcRoutingTableStaticRouteResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpcRoutingTableStaticRouteResult)(nil)).Elem() +} + +func (o LookupVpcRoutingTableStaticRouteResultOutput) ToLookupVpcRoutingTableStaticRouteResultOutput() LookupVpcRoutingTableStaticRouteResultOutput { + return o +} + +func (o LookupVpcRoutingTableStaticRouteResultOutput) ToLookupVpcRoutingTableStaticRouteResultOutputWithContext(ctx context.Context) LookupVpcRoutingTableStaticRouteResultOutput { + return o +} + +// The destination of the static route. +func (o LookupVpcRoutingTableStaticRouteResultOutput) Destination() GetVpcRoutingTableStaticRouteDestinationOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) GetVpcRoutingTableStaticRouteDestination { + return v.Destination + }).(GetVpcRoutingTableStaticRouteDestinationOutput) +} + +// Terraform's internal resource ID. It is structured as "`projectId`,`vpcId`,`region`,`routingTableId`,`routeId`". +func (o LookupVpcRoutingTableStaticRouteResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o LookupVpcRoutingTableStaticRouteResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The nexthop of the static route. +func (o LookupVpcRoutingTableStaticRouteResultOutput) Nexthop() GetVpcRoutingTableStaticRouteNexthopOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) GetVpcRoutingTableStaticRouteNexthop { return v.Nexthop }).(GetVpcRoutingTableStaticRouteNexthopOutput) +} + +// STACKIT Project ID to which the static route is associated. +func (o LookupVpcRoutingTableStaticRouteResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The region of the static route. +func (o LookupVpcRoutingTableStaticRouteResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The static route ID. +func (o LookupVpcRoutingTableStaticRouteResultOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) string { return v.RouteId }).(pulumi.StringOutput) +} + +// The routing table ID to which the static route is associated. +func (o LookupVpcRoutingTableStaticRouteResultOutput) RoutingTableId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) string { return v.RoutingTableId }).(pulumi.StringOutput) +} + +func (o LookupVpcRoutingTableStaticRouteResultOutput) Timeouts() GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) *GetVpcRoutingTableStaticRouteTimeouts { + return v.Timeouts + }).(GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) +} + +// The VPC ID to which the static route is associated. +func (o LookupVpcRoutingTableStaticRouteResultOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpcRoutingTableStaticRouteResult) string { return v.VpcId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpcRoutingTableStaticRouteResultOutput{}) +} diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index 9098ed1..f44c691 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -219,6 +219,16 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &TelemetryrouterInstance{} case "stackit:index/volume:Volume": r = &Volume{} + case "stackit:index/vpc:Vpc": + r = &Vpc{} + case "stackit:index/vpcNetworkRange:VpcNetworkRange": + r = &VpcNetworkRange{} + case "stackit:index/vpcRegion:VpcRegion": + r = &VpcRegion{} + case "stackit:index/vpcRoutingTable:VpcRoutingTable": + r = &VpcRoutingTable{} + case "stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute": + r = &VpcRoutingTableStaticRoute{} case "stackit:index/vpnConnection:VpnConnection": r = &VpnConnection{} case "stackit:index/vpnGateway:VpnGateway": @@ -749,6 +759,31 @@ func init() { "index/volume", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/vpc", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/vpcNetworkRange", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/vpcRegion", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/vpcRoutingTable", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/vpcRoutingTableStaticRoute", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/vpnConnection", diff --git a/sdk/go/stackit/provider.go b/sdk/go/stackit/provider.go index 1f6e085..7b32055 100644 --- a/sdk/go/stackit/provider.go +++ b/sdk/go/stackit/provider.go @@ -161,7 +161,7 @@ type providerArgs struct { 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: dremio, 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, network, routing-tables, vpc Experiments []string `pulumi:"experiments"` // Custom endpoint for the Git service GitCustomEndpoint *string `pulumi:"gitCustomEndpoint"` @@ -275,7 +275,7 @@ type ProviderArgs struct { 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: dremio, 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, network, routing-tables, vpc Experiments pulumi.StringArrayInput // Custom endpoint for the Git service GitCustomEndpoint pulumi.StringPtrInput diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index 68eab48..2cccacc 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -21979,1903 +21979,1802 @@ func (o VolumeSourcePtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1 struct { - Bgp *VpnConnectionTunnel1Bgp `pulumi:"bgp"` - Peering *VpnConnectionTunnel1Peering `pulumi:"peering"` - Phase1 VpnConnectionTunnel1Phase1 `pulumi:"phase1"` - Phase2 VpnConnectionTunnel1Phase2 `pulumi:"phase2"` - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. - PreSharedKey *string `pulumi:"preSharedKey"` - // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. - PreSharedKeyWo *string `pulumi:"preSharedKeyWo"` - // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. - PreSharedKeyWoVersion *int `pulumi:"preSharedKeyWoVersion"` - // Remote IPv4 address for the tunnel endpoint. - RemoteAddress string `pulumi:"remoteAddress"` +type VpcNetworkRangeTimeouts 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"` } -// VpnConnectionTunnel1Input is an input type that accepts VpnConnectionTunnel1Args and VpnConnectionTunnel1Output values. -// You can construct a concrete instance of `VpnConnectionTunnel1Input` via: +// VpcNetworkRangeTimeoutsInput is an input type that accepts VpcNetworkRangeTimeoutsArgs and VpcNetworkRangeTimeoutsOutput values. +// You can construct a concrete instance of `VpcNetworkRangeTimeoutsInput` via: // -// VpnConnectionTunnel1Args{...} -type VpnConnectionTunnel1Input interface { +// VpcNetworkRangeTimeoutsArgs{...} +type VpcNetworkRangeTimeoutsInput interface { pulumi.Input - ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output - ToVpnConnectionTunnel1OutputWithContext(context.Context) VpnConnectionTunnel1Output + ToVpcNetworkRangeTimeoutsOutput() VpcNetworkRangeTimeoutsOutput + ToVpcNetworkRangeTimeoutsOutputWithContext(context.Context) VpcNetworkRangeTimeoutsOutput } -type VpnConnectionTunnel1Args struct { - Bgp VpnConnectionTunnel1BgpPtrInput `pulumi:"bgp"` - Peering VpnConnectionTunnel1PeeringPtrInput `pulumi:"peering"` - Phase1 VpnConnectionTunnel1Phase1Input `pulumi:"phase1"` - Phase2 VpnConnectionTunnel1Phase2Input `pulumi:"phase2"` - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. - PreSharedKey pulumi.StringPtrInput `pulumi:"preSharedKey"` - // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. - PreSharedKeyWo pulumi.StringPtrInput `pulumi:"preSharedKeyWo"` - // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. - PreSharedKeyWoVersion pulumi.IntPtrInput `pulumi:"preSharedKeyWoVersion"` - // Remote IPv4 address for the tunnel endpoint. - RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` +type VpcNetworkRangeTimeoutsArgs 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 (VpnConnectionTunnel1Args) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1)(nil)).Elem() +func (VpcNetworkRangeTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcNetworkRangeTimeouts)(nil)).Elem() } -func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output { - return i.ToVpnConnectionTunnel1OutputWithContext(context.Background()) +func (i VpcNetworkRangeTimeoutsArgs) ToVpcNetworkRangeTimeoutsOutput() VpcNetworkRangeTimeoutsOutput { + return i.ToVpcNetworkRangeTimeoutsOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Output { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Output) +func (i VpcNetworkRangeTimeoutsArgs) ToVpcNetworkRangeTimeoutsOutputWithContext(ctx context.Context) VpcNetworkRangeTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkRangeTimeoutsOutput) } -func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { - return i.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) +func (i VpcNetworkRangeTimeoutsArgs) ToVpcNetworkRangeTimeoutsPtrOutput() VpcNetworkRangeTimeoutsPtrOutput { + return i.ToVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Output).ToVpnConnectionTunnel1PtrOutputWithContext(ctx) +func (i VpcNetworkRangeTimeoutsArgs) ToVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) VpcNetworkRangeTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkRangeTimeoutsOutput).ToVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx) } -// VpnConnectionTunnel1PtrInput is an input type that accepts VpnConnectionTunnel1Args, VpnConnectionTunnel1Ptr and VpnConnectionTunnel1PtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel1PtrInput` via: +// VpcNetworkRangeTimeoutsPtrInput is an input type that accepts VpcNetworkRangeTimeoutsArgs, VpcNetworkRangeTimeoutsPtr and VpcNetworkRangeTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcNetworkRangeTimeoutsPtrInput` via: // -// VpnConnectionTunnel1Args{...} +// VpcNetworkRangeTimeoutsArgs{...} // // or: // // nil -type VpnConnectionTunnel1PtrInput interface { +type VpcNetworkRangeTimeoutsPtrInput interface { pulumi.Input - ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput - ToVpnConnectionTunnel1PtrOutputWithContext(context.Context) VpnConnectionTunnel1PtrOutput + ToVpcNetworkRangeTimeoutsPtrOutput() VpcNetworkRangeTimeoutsPtrOutput + ToVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Context) VpcNetworkRangeTimeoutsPtrOutput } -type vpnConnectionTunnel1PtrType VpnConnectionTunnel1Args +type vpcNetworkRangeTimeoutsPtrType VpcNetworkRangeTimeoutsArgs -func VpnConnectionTunnel1Ptr(v *VpnConnectionTunnel1Args) VpnConnectionTunnel1PtrInput { - return (*vpnConnectionTunnel1PtrType)(v) +func VpcNetworkRangeTimeoutsPtr(v *VpcNetworkRangeTimeoutsArgs) VpcNetworkRangeTimeoutsPtrInput { + return (*vpcNetworkRangeTimeoutsPtrType)(v) } -func (*vpnConnectionTunnel1PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1)(nil)).Elem() +func (*vpcNetworkRangeTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcNetworkRangeTimeouts)(nil)).Elem() } -func (i *vpnConnectionTunnel1PtrType) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { - return i.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) +func (i *vpcNetworkRangeTimeoutsPtrType) ToVpcNetworkRangeTimeoutsPtrOutput() VpcNetworkRangeTimeoutsPtrOutput { + return i.ToVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel1PtrType) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PtrOutput) +func (i *vpcNetworkRangeTimeoutsPtrType) ToVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) VpcNetworkRangeTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkRangeTimeoutsPtrOutput) } -type VpnConnectionTunnel1Output struct{ *pulumi.OutputState } +type VpcNetworkRangeTimeoutsOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1Output) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1)(nil)).Elem() +func (VpcNetworkRangeTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcNetworkRangeTimeouts)(nil)).Elem() } -func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output { +func (o VpcNetworkRangeTimeoutsOutput) ToVpcNetworkRangeTimeoutsOutput() VpcNetworkRangeTimeoutsOutput { return o } -func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Output { +func (o VpcNetworkRangeTimeoutsOutput) ToVpcNetworkRangeTimeoutsOutputWithContext(ctx context.Context) VpcNetworkRangeTimeoutsOutput { return o } -func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { - return o.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) +func (o VpcNetworkRangeTimeoutsOutput) ToVpcNetworkRangeTimeoutsPtrOutput() VpcNetworkRangeTimeoutsPtrOutput { + return o.ToVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1) *VpnConnectionTunnel1 { +func (o VpcNetworkRangeTimeoutsOutput) ToVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) VpcNetworkRangeTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcNetworkRangeTimeouts) *VpcNetworkRangeTimeouts { return &v - }).(VpnConnectionTunnel1PtrOutput) -} - -func (o VpnConnectionTunnel1Output) Bgp() VpnConnectionTunnel1BgpPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1) *VpnConnectionTunnel1Bgp { return v.Bgp }).(VpnConnectionTunnel1BgpPtrOutput) -} - -func (o VpnConnectionTunnel1Output) Peering() VpnConnectionTunnel1PeeringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1) *VpnConnectionTunnel1Peering { return v.Peering }).(VpnConnectionTunnel1PeeringPtrOutput) -} - -func (o VpnConnectionTunnel1Output) Phase1() VpnConnectionTunnel1Phase1Output { - return o.ApplyT(func(v VpnConnectionTunnel1) VpnConnectionTunnel1Phase1 { return v.Phase1 }).(VpnConnectionTunnel1Phase1Output) -} - -func (o VpnConnectionTunnel1Output) Phase2() VpnConnectionTunnel1Phase2Output { - return o.ApplyT(func(v VpnConnectionTunnel1) VpnConnectionTunnel1Phase2 { return v.Phase2 }).(VpnConnectionTunnel1Phase2Output) + }).(VpcNetworkRangeTimeoutsPtrOutput) } -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. -func (o VpnConnectionTunnel1Output) PreSharedKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) +// 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 VpcNetworkRangeTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcNetworkRangeTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. -func (o VpnConnectionTunnel1Output) PreSharedKeyWo() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1) *string { return v.PreSharedKeyWo }).(pulumi.StringPtrOutput) +// 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 VpcNetworkRangeTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcNetworkRangeTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } -// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. -func (o VpnConnectionTunnel1Output) PreSharedKeyWoVersion() pulumi.IntPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1) *int { return v.PreSharedKeyWoVersion }).(pulumi.IntPtrOutput) +// 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 VpcNetworkRangeTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcNetworkRangeTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -// Remote IPv4 address for the tunnel endpoint. -func (o VpnConnectionTunnel1Output) RemoteAddress() pulumi.StringOutput { - return o.ApplyT(func(v VpnConnectionTunnel1) string { return v.RemoteAddress }).(pulumi.StringOutput) +// 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 VpcNetworkRangeTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcNetworkRangeTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1PtrOutput struct{ *pulumi.OutputState } +type VpcNetworkRangeTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1)(nil)).Elem() +func (VpcNetworkRangeTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcNetworkRangeTimeouts)(nil)).Elem() } -func (o VpnConnectionTunnel1PtrOutput) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { +func (o VpcNetworkRangeTimeoutsPtrOutput) ToVpcNetworkRangeTimeoutsPtrOutput() VpcNetworkRangeTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel1PtrOutput) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { +func (o VpcNetworkRangeTimeoutsPtrOutput) ToVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) VpcNetworkRangeTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel1PtrOutput) Elem() VpnConnectionTunnel1Output { - return o.ApplyT(func(v *VpnConnectionTunnel1) VpnConnectionTunnel1 { +func (o VpcNetworkRangeTimeoutsPtrOutput) Elem() VpcNetworkRangeTimeoutsOutput { + return o.ApplyT(func(v *VpcNetworkRangeTimeouts) VpcNetworkRangeTimeouts { if v != nil { return *v } - var ret VpnConnectionTunnel1 + var ret VpcNetworkRangeTimeouts return ret - }).(VpnConnectionTunnel1Output) -} - -func (o VpnConnectionTunnel1PtrOutput) Bgp() VpnConnectionTunnel1BgpPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Bgp { - if v == nil { - return nil - } - return v.Bgp - }).(VpnConnectionTunnel1BgpPtrOutput) -} - -func (o VpnConnectionTunnel1PtrOutput) Peering() VpnConnectionTunnel1PeeringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Peering { - if v == nil { - return nil - } - return v.Peering - }).(VpnConnectionTunnel1PeeringPtrOutput) -} - -func (o VpnConnectionTunnel1PtrOutput) Phase1() VpnConnectionTunnel1Phase1PtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Phase1 { - if v == nil { - return nil - } - return &v.Phase1 - }).(VpnConnectionTunnel1Phase1PtrOutput) -} - -func (o VpnConnectionTunnel1PtrOutput) Phase2() VpnConnectionTunnel1Phase2PtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Phase2 { - if v == nil { - return nil - } - return &v.Phase2 - }).(VpnConnectionTunnel1Phase2PtrOutput) + }).(VpcNetworkRangeTimeoutsOutput) } -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. -func (o VpnConnectionTunnel1PtrOutput) PreSharedKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *string { +// 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 VpcNetworkRangeTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcNetworkRangeTimeouts) *string { if v == nil { return nil } - return v.PreSharedKey + return v.Create }).(pulumi.StringPtrOutput) } -// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. -func (o VpnConnectionTunnel1PtrOutput) PreSharedKeyWo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *string { +// 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 VpcNetworkRangeTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcNetworkRangeTimeouts) *string { if v == nil { return nil } - return v.PreSharedKeyWo + return v.Delete }).(pulumi.StringPtrOutput) } -// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. -func (o VpnConnectionTunnel1PtrOutput) PreSharedKeyWoVersion() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *int { +// 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 VpcNetworkRangeTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcNetworkRangeTimeouts) *string { if v == nil { return nil } - return v.PreSharedKeyWoVersion - }).(pulumi.IntPtrOutput) + return v.Read + }).(pulumi.StringPtrOutput) } -// Remote IPv4 address for the tunnel endpoint. -func (o VpnConnectionTunnel1PtrOutput) RemoteAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1) *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 VpcNetworkRangeTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcNetworkRangeTimeouts) *string { if v == nil { return nil } - return &v.RemoteAddress + return v.Update }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1Bgp struct { - // Remote ASN for BGP peering (private ASN range, 64512-4294967294). - RemoteAsn int `pulumi:"remoteAsn"` +type VpcRegionTimeouts 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"` } -// VpnConnectionTunnel1BgpInput is an input type that accepts VpnConnectionTunnel1BgpArgs and VpnConnectionTunnel1BgpOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel1BgpInput` via: +// VpcRegionTimeoutsInput is an input type that accepts VpcRegionTimeoutsArgs and VpcRegionTimeoutsOutput values. +// You can construct a concrete instance of `VpcRegionTimeoutsInput` via: // -// VpnConnectionTunnel1BgpArgs{...} -type VpnConnectionTunnel1BgpInput interface { +// VpcRegionTimeoutsArgs{...} +type VpcRegionTimeoutsInput interface { pulumi.Input - ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput - ToVpnConnectionTunnel1BgpOutputWithContext(context.Context) VpnConnectionTunnel1BgpOutput + ToVpcRegionTimeoutsOutput() VpcRegionTimeoutsOutput + ToVpcRegionTimeoutsOutputWithContext(context.Context) VpcRegionTimeoutsOutput } -type VpnConnectionTunnel1BgpArgs struct { - // Remote ASN for BGP peering (private ASN range, 64512-4294967294). - RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` +type VpcRegionTimeoutsArgs 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 (VpnConnectionTunnel1BgpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Bgp)(nil)).Elem() +func (VpcRegionTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRegionTimeouts)(nil)).Elem() } -func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput { - return i.ToVpnConnectionTunnel1BgpOutputWithContext(context.Background()) +func (i VpcRegionTimeoutsArgs) ToVpcRegionTimeoutsOutput() VpcRegionTimeoutsOutput { + return i.ToVpcRegionTimeoutsOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpOutput) +func (i VpcRegionTimeoutsArgs) ToVpcRegionTimeoutsOutputWithContext(ctx context.Context) VpcRegionTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRegionTimeoutsOutput) } -func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { - return i.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) +func (i VpcRegionTimeoutsArgs) ToVpcRegionTimeoutsPtrOutput() VpcRegionTimeoutsPtrOutput { + return i.ToVpcRegionTimeoutsPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpOutput).ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx) +func (i VpcRegionTimeoutsArgs) ToVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) VpcRegionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRegionTimeoutsOutput).ToVpcRegionTimeoutsPtrOutputWithContext(ctx) } -// VpnConnectionTunnel1BgpPtrInput is an input type that accepts VpnConnectionTunnel1BgpArgs, VpnConnectionTunnel1BgpPtr and VpnConnectionTunnel1BgpPtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel1BgpPtrInput` via: +// VpcRegionTimeoutsPtrInput is an input type that accepts VpcRegionTimeoutsArgs, VpcRegionTimeoutsPtr and VpcRegionTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcRegionTimeoutsPtrInput` via: // -// VpnConnectionTunnel1BgpArgs{...} +// VpcRegionTimeoutsArgs{...} // // or: // // nil -type VpnConnectionTunnel1BgpPtrInput interface { +type VpcRegionTimeoutsPtrInput interface { pulumi.Input - ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput - ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Context) VpnConnectionTunnel1BgpPtrOutput + ToVpcRegionTimeoutsPtrOutput() VpcRegionTimeoutsPtrOutput + ToVpcRegionTimeoutsPtrOutputWithContext(context.Context) VpcRegionTimeoutsPtrOutput } -type vpnConnectionTunnel1BgpPtrType VpnConnectionTunnel1BgpArgs +type vpcRegionTimeoutsPtrType VpcRegionTimeoutsArgs -func VpnConnectionTunnel1BgpPtr(v *VpnConnectionTunnel1BgpArgs) VpnConnectionTunnel1BgpPtrInput { - return (*vpnConnectionTunnel1BgpPtrType)(v) +func VpcRegionTimeoutsPtr(v *VpcRegionTimeoutsArgs) VpcRegionTimeoutsPtrInput { + return (*vpcRegionTimeoutsPtrType)(v) } -func (*vpnConnectionTunnel1BgpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Bgp)(nil)).Elem() +func (*vpcRegionTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRegionTimeouts)(nil)).Elem() } -func (i *vpnConnectionTunnel1BgpPtrType) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { - return i.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) +func (i *vpcRegionTimeoutsPtrType) ToVpcRegionTimeoutsPtrOutput() VpcRegionTimeoutsPtrOutput { + return i.ToVpcRegionTimeoutsPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel1BgpPtrType) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpPtrOutput) +func (i *vpcRegionTimeoutsPtrType) ToVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) VpcRegionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRegionTimeoutsPtrOutput) } -type VpnConnectionTunnel1BgpOutput struct{ *pulumi.OutputState } +type VpcRegionTimeoutsOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1BgpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Bgp)(nil)).Elem() +func (VpcRegionTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRegionTimeouts)(nil)).Elem() } -func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput { +func (o VpcRegionTimeoutsOutput) ToVpcRegionTimeoutsOutput() VpcRegionTimeoutsOutput { return o } -func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpOutput { +func (o VpcRegionTimeoutsOutput) ToVpcRegionTimeoutsOutputWithContext(ctx context.Context) VpcRegionTimeoutsOutput { return o } -func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { - return o.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) +func (o VpcRegionTimeoutsOutput) ToVpcRegionTimeoutsPtrOutput() VpcRegionTimeoutsPtrOutput { + return o.ToVpcRegionTimeoutsPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Bgp) *VpnConnectionTunnel1Bgp { +func (o VpcRegionTimeoutsOutput) ToVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) VpcRegionTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcRegionTimeouts) *VpcRegionTimeouts { return &v - }).(VpnConnectionTunnel1BgpPtrOutput) + }).(VpcRegionTimeoutsPtrOutput) } -// Remote ASN for BGP peering (private ASN range, 64512-4294967294). -func (o VpnConnectionTunnel1BgpOutput) RemoteAsn() pulumi.IntOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) +// 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 VpcRegionTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRegionTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1BgpPtrOutput 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 VpcRegionTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRegionTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} -func (VpnConnectionTunnel1BgpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Bgp)(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 VpcRegionTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRegionTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -func (o VpnConnectionTunnel1BgpPtrOutput) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { +// 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 VpcRegionTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRegionTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type VpcRegionTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (VpcRegionTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRegionTimeouts)(nil)).Elem() +} + +func (o VpcRegionTimeoutsPtrOutput) ToVpcRegionTimeoutsPtrOutput() VpcRegionTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel1BgpPtrOutput) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { +func (o VpcRegionTimeoutsPtrOutput) ToVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) VpcRegionTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel1BgpPtrOutput) Elem() VpnConnectionTunnel1BgpOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Bgp) VpnConnectionTunnel1Bgp { +func (o VpcRegionTimeoutsPtrOutput) Elem() VpcRegionTimeoutsOutput { + return o.ApplyT(func(v *VpcRegionTimeouts) VpcRegionTimeouts { if v != nil { return *v } - var ret VpnConnectionTunnel1Bgp + var ret VpcRegionTimeouts return ret - }).(VpnConnectionTunnel1BgpOutput) + }).(VpcRegionTimeoutsOutput) } -// Remote ASN for BGP peering (private ASN range, 64512-4294967294). -func (o VpnConnectionTunnel1BgpPtrOutput) RemoteAsn() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Bgp) *int { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o VpcRegionTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRegionTimeouts) *string { if v == nil { return nil } - return &v.RemoteAsn - }).(pulumi.IntPtrOutput) + return v.Create + }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1Peering struct { - // Local tunnel interface IPv4 address. - LocalAddress string `pulumi:"localAddress"` - // Remote tunnel interface IPv4 address. - RemoteAddress string `pulumi:"remoteAddress"` +// 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 VpcRegionTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRegionTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) } -// VpnConnectionTunnel1PeeringInput is an input type that accepts VpnConnectionTunnel1PeeringArgs and VpnConnectionTunnel1PeeringOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel1PeeringInput` via: +// 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 VpcRegionTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRegionTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(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 VpcRegionTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRegionTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type VpcRoutingTableStaticRouteDestination struct { + // CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + Type string `pulumi:"type"` + // CIDR value. + Value string `pulumi:"value"` +} + +// VpcRoutingTableStaticRouteDestinationInput is an input type that accepts VpcRoutingTableStaticRouteDestinationArgs and VpcRoutingTableStaticRouteDestinationOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteDestinationInput` via: // -// VpnConnectionTunnel1PeeringArgs{...} -type VpnConnectionTunnel1PeeringInput interface { +// VpcRoutingTableStaticRouteDestinationArgs{...} +type VpcRoutingTableStaticRouteDestinationInput interface { pulumi.Input - ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput - ToVpnConnectionTunnel1PeeringOutputWithContext(context.Context) VpnConnectionTunnel1PeeringOutput + ToVpcRoutingTableStaticRouteDestinationOutput() VpcRoutingTableStaticRouteDestinationOutput + ToVpcRoutingTableStaticRouteDestinationOutputWithContext(context.Context) VpcRoutingTableStaticRouteDestinationOutput } -type VpnConnectionTunnel1PeeringArgs struct { - // Local tunnel interface IPv4 address. - LocalAddress pulumi.StringInput `pulumi:"localAddress"` - // Remote tunnel interface IPv4 address. - RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` +type VpcRoutingTableStaticRouteDestinationArgs struct { + // CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + Type pulumi.StringInput `pulumi:"type"` + // CIDR value. + Value pulumi.StringInput `pulumi:"value"` } -func (VpnConnectionTunnel1PeeringArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Peering)(nil)).Elem() +func (VpcRoutingTableStaticRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRoutingTableStaticRouteDestination)(nil)).Elem() } -func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput { - return i.ToVpnConnectionTunnel1PeeringOutputWithContext(context.Background()) +func (i VpcRoutingTableStaticRouteDestinationArgs) ToVpcRoutingTableStaticRouteDestinationOutput() VpcRoutingTableStaticRouteDestinationOutput { + return i.ToVpcRoutingTableStaticRouteDestinationOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringOutput) +func (i VpcRoutingTableStaticRouteDestinationArgs) ToVpcRoutingTableStaticRouteDestinationOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteDestinationOutput) } -func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { - return i.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) +func (i VpcRoutingTableStaticRouteDestinationArgs) ToVpcRoutingTableStaticRouteDestinationPtrOutput() VpcRoutingTableStaticRouteDestinationPtrOutput { + return i.ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringOutput).ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx) +func (i VpcRoutingTableStaticRouteDestinationArgs) ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteDestinationOutput).ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(ctx) } -// VpnConnectionTunnel1PeeringPtrInput is an input type that accepts VpnConnectionTunnel1PeeringArgs, VpnConnectionTunnel1PeeringPtr and VpnConnectionTunnel1PeeringPtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel1PeeringPtrInput` via: +// VpcRoutingTableStaticRouteDestinationPtrInput is an input type that accepts VpcRoutingTableStaticRouteDestinationArgs, VpcRoutingTableStaticRouteDestinationPtr and VpcRoutingTableStaticRouteDestinationPtrOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteDestinationPtrInput` via: // -// VpnConnectionTunnel1PeeringArgs{...} +// VpcRoutingTableStaticRouteDestinationArgs{...} // // or: // // nil -type VpnConnectionTunnel1PeeringPtrInput interface { +type VpcRoutingTableStaticRouteDestinationPtrInput interface { pulumi.Input - ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput - ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Context) VpnConnectionTunnel1PeeringPtrOutput + ToVpcRoutingTableStaticRouteDestinationPtrOutput() VpcRoutingTableStaticRouteDestinationPtrOutput + ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(context.Context) VpcRoutingTableStaticRouteDestinationPtrOutput } -type vpnConnectionTunnel1PeeringPtrType VpnConnectionTunnel1PeeringArgs +type vpcRoutingTableStaticRouteDestinationPtrType VpcRoutingTableStaticRouteDestinationArgs -func VpnConnectionTunnel1PeeringPtr(v *VpnConnectionTunnel1PeeringArgs) VpnConnectionTunnel1PeeringPtrInput { - return (*vpnConnectionTunnel1PeeringPtrType)(v) +func VpcRoutingTableStaticRouteDestinationPtr(v *VpcRoutingTableStaticRouteDestinationArgs) VpcRoutingTableStaticRouteDestinationPtrInput { + return (*vpcRoutingTableStaticRouteDestinationPtrType)(v) } -func (*vpnConnectionTunnel1PeeringPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Peering)(nil)).Elem() +func (*vpcRoutingTableStaticRouteDestinationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRouteDestination)(nil)).Elem() } -func (i *vpnConnectionTunnel1PeeringPtrType) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { - return i.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) +func (i *vpcRoutingTableStaticRouteDestinationPtrType) ToVpcRoutingTableStaticRouteDestinationPtrOutput() VpcRoutingTableStaticRouteDestinationPtrOutput { + return i.ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel1PeeringPtrType) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringPtrOutput) +func (i *vpcRoutingTableStaticRouteDestinationPtrType) ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteDestinationPtrOutput) } -type VpnConnectionTunnel1PeeringOutput struct{ *pulumi.OutputState } +type VpcRoutingTableStaticRouteDestinationOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1PeeringOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Peering)(nil)).Elem() +func (VpcRoutingTableStaticRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRoutingTableStaticRouteDestination)(nil)).Elem() } -func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput { +func (o VpcRoutingTableStaticRouteDestinationOutput) ToVpcRoutingTableStaticRouteDestinationOutput() VpcRoutingTableStaticRouteDestinationOutput { return o } -func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringOutput { +func (o VpcRoutingTableStaticRouteDestinationOutput) ToVpcRoutingTableStaticRouteDestinationOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteDestinationOutput { return o } -func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { - return o.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) +func (o VpcRoutingTableStaticRouteDestinationOutput) ToVpcRoutingTableStaticRouteDestinationPtrOutput() VpcRoutingTableStaticRouteDestinationPtrOutput { + return o.ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Peering) *VpnConnectionTunnel1Peering { +func (o VpcRoutingTableStaticRouteDestinationOutput) ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteDestinationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcRoutingTableStaticRouteDestination) *VpcRoutingTableStaticRouteDestination { return &v - }).(VpnConnectionTunnel1PeeringPtrOutput) + }).(VpcRoutingTableStaticRouteDestinationPtrOutput) } -// Local tunnel interface IPv4 address. -func (o VpnConnectionTunnel1PeeringOutput) LocalAddress() pulumi.StringOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Peering) string { return v.LocalAddress }).(pulumi.StringOutput) +// CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. +func (o VpcRoutingTableStaticRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteDestination) string { return v.Type }).(pulumi.StringOutput) } -// Remote tunnel interface IPv4 address. -func (o VpnConnectionTunnel1PeeringOutput) RemoteAddress() pulumi.StringOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) +// CIDR value. +func (o VpcRoutingTableStaticRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteDestination) string { return v.Value }).(pulumi.StringOutput) } -type VpnConnectionTunnel1PeeringPtrOutput struct{ *pulumi.OutputState } +type VpcRoutingTableStaticRouteDestinationPtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1PeeringPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Peering)(nil)).Elem() +func (VpcRoutingTableStaticRouteDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRouteDestination)(nil)).Elem() } -func (o VpnConnectionTunnel1PeeringPtrOutput) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { +func (o VpcRoutingTableStaticRouteDestinationPtrOutput) ToVpcRoutingTableStaticRouteDestinationPtrOutput() VpcRoutingTableStaticRouteDestinationPtrOutput { return o } -func (o VpnConnectionTunnel1PeeringPtrOutput) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { +func (o VpcRoutingTableStaticRouteDestinationPtrOutput) ToVpcRoutingTableStaticRouteDestinationPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteDestinationPtrOutput { return o } -func (o VpnConnectionTunnel1PeeringPtrOutput) Elem() VpnConnectionTunnel1PeeringOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Peering) VpnConnectionTunnel1Peering { +func (o VpcRoutingTableStaticRouteDestinationPtrOutput) Elem() VpcRoutingTableStaticRouteDestinationOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteDestination) VpcRoutingTableStaticRouteDestination { if v != nil { return *v } - var ret VpnConnectionTunnel1Peering + var ret VpcRoutingTableStaticRouteDestination return ret - }).(VpnConnectionTunnel1PeeringOutput) + }).(VpcRoutingTableStaticRouteDestinationOutput) } -// Local tunnel interface IPv4 address. -func (o VpnConnectionTunnel1PeeringPtrOutput) LocalAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Peering) *string { +// CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. +func (o VpcRoutingTableStaticRouteDestinationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteDestination) *string { if v == nil { return nil } - return &v.LocalAddress + return &v.Type }).(pulumi.StringPtrOutput) } -// Remote tunnel interface IPv4 address. -func (o VpnConnectionTunnel1PeeringPtrOutput) RemoteAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Peering) *string { +// CIDR value. +func (o VpcRoutingTableStaticRouteDestinationPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteDestination) *string { if v == nil { return nil } - return &v.RemoteAddress + return &v.Value }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1Phase1 struct { - // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. - DhGroups []string `pulumi:"dhGroups"` - // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. - EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. - IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` - // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. - RekeyTime *int `pulumi:"rekeyTime"` +type VpcRoutingTableStaticRouteNexthop struct { + // Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + Type string `pulumi:"type"` + // Value of the nexthop + Value *string `pulumi:"value"` } -// VpnConnectionTunnel1Phase1Input is an input type that accepts VpnConnectionTunnel1Phase1Args and VpnConnectionTunnel1Phase1Output values. -// You can construct a concrete instance of `VpnConnectionTunnel1Phase1Input` via: +// VpcRoutingTableStaticRouteNexthopInput is an input type that accepts VpcRoutingTableStaticRouteNexthopArgs and VpcRoutingTableStaticRouteNexthopOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteNexthopInput` via: // -// VpnConnectionTunnel1Phase1Args{...} -type VpnConnectionTunnel1Phase1Input interface { +// VpcRoutingTableStaticRouteNexthopArgs{...} +type VpcRoutingTableStaticRouteNexthopInput interface { pulumi.Input - ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output - ToVpnConnectionTunnel1Phase1OutputWithContext(context.Context) VpnConnectionTunnel1Phase1Output + ToVpcRoutingTableStaticRouteNexthopOutput() VpcRoutingTableStaticRouteNexthopOutput + ToVpcRoutingTableStaticRouteNexthopOutputWithContext(context.Context) VpcRoutingTableStaticRouteNexthopOutput } -type VpnConnectionTunnel1Phase1Args struct { - // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. - DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` - // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. - EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. - IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` - // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. - RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` +type VpcRoutingTableStaticRouteNexthopArgs struct { + // Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + Type pulumi.StringInput `pulumi:"type"` + // Value of the nexthop + Value pulumi.StringPtrInput `pulumi:"value"` } -func (VpnConnectionTunnel1Phase1Args) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Phase1)(nil)).Elem() +func (VpcRoutingTableStaticRouteNexthopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRoutingTableStaticRouteNexthop)(nil)).Elem() } -func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output { - return i.ToVpnConnectionTunnel1Phase1OutputWithContext(context.Background()) +func (i VpcRoutingTableStaticRouteNexthopArgs) ToVpcRoutingTableStaticRouteNexthopOutput() VpcRoutingTableStaticRouteNexthopOutput { + return i.ToVpcRoutingTableStaticRouteNexthopOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1Output { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1Output) +func (i VpcRoutingTableStaticRouteNexthopArgs) ToVpcRoutingTableStaticRouteNexthopOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteNexthopOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteNexthopOutput) } -func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { - return i.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) +func (i VpcRoutingTableStaticRouteNexthopArgs) ToVpcRoutingTableStaticRouteNexthopPtrOutput() VpcRoutingTableStaticRouteNexthopPtrOutput { + return i.ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1Output).ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx) +func (i VpcRoutingTableStaticRouteNexthopArgs) ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteNexthopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteNexthopOutput).ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(ctx) } -// VpnConnectionTunnel1Phase1PtrInput is an input type that accepts VpnConnectionTunnel1Phase1Args, VpnConnectionTunnel1Phase1Ptr and VpnConnectionTunnel1Phase1PtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel1Phase1PtrInput` via: +// VpcRoutingTableStaticRouteNexthopPtrInput is an input type that accepts VpcRoutingTableStaticRouteNexthopArgs, VpcRoutingTableStaticRouteNexthopPtr and VpcRoutingTableStaticRouteNexthopPtrOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteNexthopPtrInput` via: // -// VpnConnectionTunnel1Phase1Args{...} +// VpcRoutingTableStaticRouteNexthopArgs{...} // // or: // // nil -type VpnConnectionTunnel1Phase1PtrInput interface { +type VpcRoutingTableStaticRouteNexthopPtrInput interface { pulumi.Input - ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput - ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Context) VpnConnectionTunnel1Phase1PtrOutput + ToVpcRoutingTableStaticRouteNexthopPtrOutput() VpcRoutingTableStaticRouteNexthopPtrOutput + ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(context.Context) VpcRoutingTableStaticRouteNexthopPtrOutput } -type vpnConnectionTunnel1Phase1PtrType VpnConnectionTunnel1Phase1Args +type vpcRoutingTableStaticRouteNexthopPtrType VpcRoutingTableStaticRouteNexthopArgs -func VpnConnectionTunnel1Phase1Ptr(v *VpnConnectionTunnel1Phase1Args) VpnConnectionTunnel1Phase1PtrInput { - return (*vpnConnectionTunnel1Phase1PtrType)(v) +func VpcRoutingTableStaticRouteNexthopPtr(v *VpcRoutingTableStaticRouteNexthopArgs) VpcRoutingTableStaticRouteNexthopPtrInput { + return (*vpcRoutingTableStaticRouteNexthopPtrType)(v) } -func (*vpnConnectionTunnel1Phase1PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Phase1)(nil)).Elem() +func (*vpcRoutingTableStaticRouteNexthopPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRouteNexthop)(nil)).Elem() } -func (i *vpnConnectionTunnel1Phase1PtrType) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { - return i.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) +func (i *vpcRoutingTableStaticRouteNexthopPtrType) ToVpcRoutingTableStaticRouteNexthopPtrOutput() VpcRoutingTableStaticRouteNexthopPtrOutput { + return i.ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel1Phase1PtrType) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1PtrOutput) +func (i *vpcRoutingTableStaticRouteNexthopPtrType) ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteNexthopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteNexthopPtrOutput) } -type VpnConnectionTunnel1Phase1Output struct{ *pulumi.OutputState } +type VpcRoutingTableStaticRouteNexthopOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1Phase1Output) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Phase1)(nil)).Elem() +func (VpcRoutingTableStaticRouteNexthopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRoutingTableStaticRouteNexthop)(nil)).Elem() } -func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output { +func (o VpcRoutingTableStaticRouteNexthopOutput) ToVpcRoutingTableStaticRouteNexthopOutput() VpcRoutingTableStaticRouteNexthopOutput { return o } -func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1Output { +func (o VpcRoutingTableStaticRouteNexthopOutput) ToVpcRoutingTableStaticRouteNexthopOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteNexthopOutput { return o } -func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { - return o.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) +func (o VpcRoutingTableStaticRouteNexthopOutput) ToVpcRoutingTableStaticRouteNexthopPtrOutput() VpcRoutingTableStaticRouteNexthopPtrOutput { + return o.ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Phase1) *VpnConnectionTunnel1Phase1 { +func (o VpcRoutingTableStaticRouteNexthopOutput) ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteNexthopPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcRoutingTableStaticRouteNexthop) *VpcRoutingTableStaticRouteNexthop { return &v - }).(VpnConnectionTunnel1Phase1PtrOutput) -} - -// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel1Phase1Output) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) -} - -// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel1Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) + }).(VpcRoutingTableStaticRouteNexthopPtrOutput) } -// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel1Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +// Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. +func (o VpcRoutingTableStaticRouteNexthopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteNexthop) string { return v.Type }).(pulumi.StringOutput) } -// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. -func (o VpnConnectionTunnel1Phase1Output) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase1) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) +// Value of the nexthop +func (o VpcRoutingTableStaticRouteNexthopOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteNexthop) *string { return v.Value }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1Phase1PtrOutput struct{ *pulumi.OutputState } +type VpcRoutingTableStaticRouteNexthopPtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1Phase1PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Phase1)(nil)).Elem() +func (VpcRoutingTableStaticRouteNexthopPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRouteNexthop)(nil)).Elem() } -func (o VpnConnectionTunnel1Phase1PtrOutput) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { +func (o VpcRoutingTableStaticRouteNexthopPtrOutput) ToVpcRoutingTableStaticRouteNexthopPtrOutput() VpcRoutingTableStaticRouteNexthopPtrOutput { return o } -func (o VpnConnectionTunnel1Phase1PtrOutput) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { +func (o VpcRoutingTableStaticRouteNexthopPtrOutput) ToVpcRoutingTableStaticRouteNexthopPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteNexthopPtrOutput { return o } -func (o VpnConnectionTunnel1Phase1PtrOutput) Elem() VpnConnectionTunnel1Phase1Output { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) VpnConnectionTunnel1Phase1 { +func (o VpcRoutingTableStaticRouteNexthopPtrOutput) Elem() VpcRoutingTableStaticRouteNexthopOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteNexthop) VpcRoutingTableStaticRouteNexthop { if v != nil { return *v } - var ret VpnConnectionTunnel1Phase1 + var ret VpcRoutingTableStaticRouteNexthop return ret - }).(VpnConnectionTunnel1Phase1Output) + }).(VpcRoutingTableStaticRouteNexthopOutput) } -// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel1Phase1PtrOutput) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { +// Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. +func (o VpcRoutingTableStaticRouteNexthopPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteNexthop) *string { if v == nil { return nil } - return v.DhGroups - }).(pulumi.StringArrayOutput) + return &v.Type + }).(pulumi.StringPtrOutput) } -// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel1Phase1PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { +// Value of the nexthop +func (o VpcRoutingTableStaticRouteNexthopPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteNexthop) *string { if v == nil { return nil } - return v.EncryptionAlgorithms - }).(pulumi.StringArrayOutput) + return v.Value + }).(pulumi.StringPtrOutput) } -// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel1Phase1PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { - if v == nil { - return nil - } - return v.IntegrityAlgorithms - }).(pulumi.StringArrayOutput) +type VpcRoutingTableStaticRouteTimeouts 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"` } -// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. -func (o VpnConnectionTunnel1Phase1PtrOutput) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) *int { - if v == nil { - return nil - } - return v.RekeyTime - }).(pulumi.IntPtrOutput) -} - -type VpnConnectionTunnel1Phase2 struct { - // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. - DhGroups []string `pulumi:"dhGroups"` - // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. - DpdAction *string `pulumi:"dpdAction"` - // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. - EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. - IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` - // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. - RekeyTime *int `pulumi:"rekeyTime"` - // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. - StartAction *string `pulumi:"startAction"` -} - -// VpnConnectionTunnel1Phase2Input is an input type that accepts VpnConnectionTunnel1Phase2Args and VpnConnectionTunnel1Phase2Output values. -// You can construct a concrete instance of `VpnConnectionTunnel1Phase2Input` via: +// VpcRoutingTableStaticRouteTimeoutsInput is an input type that accepts VpcRoutingTableStaticRouteTimeoutsArgs and VpcRoutingTableStaticRouteTimeoutsOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteTimeoutsInput` via: // -// VpnConnectionTunnel1Phase2Args{...} -type VpnConnectionTunnel1Phase2Input interface { +// VpcRoutingTableStaticRouteTimeoutsArgs{...} +type VpcRoutingTableStaticRouteTimeoutsInput interface { pulumi.Input - ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output - ToVpnConnectionTunnel1Phase2OutputWithContext(context.Context) VpnConnectionTunnel1Phase2Output + ToVpcRoutingTableStaticRouteTimeoutsOutput() VpcRoutingTableStaticRouteTimeoutsOutput + ToVpcRoutingTableStaticRouteTimeoutsOutputWithContext(context.Context) VpcRoutingTableStaticRouteTimeoutsOutput } -type VpnConnectionTunnel1Phase2Args struct { - // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. - DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` - // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. - DpdAction pulumi.StringPtrInput `pulumi:"dpdAction"` - // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. - EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. - IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` - // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. - RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` - // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. - StartAction pulumi.StringPtrInput `pulumi:"startAction"` +type VpcRoutingTableStaticRouteTimeoutsArgs 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 (VpnConnectionTunnel1Phase2Args) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Phase2)(nil)).Elem() +func (VpcRoutingTableStaticRouteTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output { - return i.ToVpnConnectionTunnel1Phase2OutputWithContext(context.Background()) +func (i VpcRoutingTableStaticRouteTimeoutsArgs) ToVpcRoutingTableStaticRouteTimeoutsOutput() VpcRoutingTableStaticRouteTimeoutsOutput { + return i.ToVpcRoutingTableStaticRouteTimeoutsOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2Output { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2Output) +func (i VpcRoutingTableStaticRouteTimeoutsArgs) ToVpcRoutingTableStaticRouteTimeoutsOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteTimeoutsOutput) } -func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { - return i.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) +func (i VpcRoutingTableStaticRouteTimeoutsArgs) ToVpcRoutingTableStaticRouteTimeoutsPtrOutput() VpcRoutingTableStaticRouteTimeoutsPtrOutput { + return i.ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2Output).ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx) +func (i VpcRoutingTableStaticRouteTimeoutsArgs) ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteTimeoutsOutput).ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx) } -// VpnConnectionTunnel1Phase2PtrInput is an input type that accepts VpnConnectionTunnel1Phase2Args, VpnConnectionTunnel1Phase2Ptr and VpnConnectionTunnel1Phase2PtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel1Phase2PtrInput` via: +// VpcRoutingTableStaticRouteTimeoutsPtrInput is an input type that accepts VpcRoutingTableStaticRouteTimeoutsArgs, VpcRoutingTableStaticRouteTimeoutsPtr and VpcRoutingTableStaticRouteTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteTimeoutsPtrInput` via: // -// VpnConnectionTunnel1Phase2Args{...} +// VpcRoutingTableStaticRouteTimeoutsArgs{...} // // or: // // nil -type VpnConnectionTunnel1Phase2PtrInput interface { +type VpcRoutingTableStaticRouteTimeoutsPtrInput interface { pulumi.Input - ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput - ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Context) VpnConnectionTunnel1Phase2PtrOutput + ToVpcRoutingTableStaticRouteTimeoutsPtrOutput() VpcRoutingTableStaticRouteTimeoutsPtrOutput + ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Context) VpcRoutingTableStaticRouteTimeoutsPtrOutput } -type vpnConnectionTunnel1Phase2PtrType VpnConnectionTunnel1Phase2Args +type vpcRoutingTableStaticRouteTimeoutsPtrType VpcRoutingTableStaticRouteTimeoutsArgs -func VpnConnectionTunnel1Phase2Ptr(v *VpnConnectionTunnel1Phase2Args) VpnConnectionTunnel1Phase2PtrInput { - return (*vpnConnectionTunnel1Phase2PtrType)(v) +func VpcRoutingTableStaticRouteTimeoutsPtr(v *VpcRoutingTableStaticRouteTimeoutsArgs) VpcRoutingTableStaticRouteTimeoutsPtrInput { + return (*vpcRoutingTableStaticRouteTimeoutsPtrType)(v) } -func (*vpnConnectionTunnel1Phase2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Phase2)(nil)).Elem() +func (*vpcRoutingTableStaticRouteTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -func (i *vpnConnectionTunnel1Phase2PtrType) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { - return i.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) +func (i *vpcRoutingTableStaticRouteTimeoutsPtrType) ToVpcRoutingTableStaticRouteTimeoutsPtrOutput() VpcRoutingTableStaticRouteTimeoutsPtrOutput { + return i.ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel1Phase2PtrType) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2PtrOutput) +func (i *vpcRoutingTableStaticRouteTimeoutsPtrType) ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteTimeoutsPtrOutput) } -type VpnConnectionTunnel1Phase2Output struct{ *pulumi.OutputState } +type VpcRoutingTableStaticRouteTimeoutsOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1Phase2Output) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel1Phase2)(nil)).Elem() +func (VpcRoutingTableStaticRouteTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output { +func (o VpcRoutingTableStaticRouteTimeoutsOutput) ToVpcRoutingTableStaticRouteTimeoutsOutput() VpcRoutingTableStaticRouteTimeoutsOutput { return o } -func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2Output { +func (o VpcRoutingTableStaticRouteTimeoutsOutput) ToVpcRoutingTableStaticRouteTimeoutsOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteTimeoutsOutput { return o } -func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { - return o.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) +func (o VpcRoutingTableStaticRouteTimeoutsOutput) ToVpcRoutingTableStaticRouteTimeoutsPtrOutput() VpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o.ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Phase2) *VpnConnectionTunnel1Phase2 { +func (o VpcRoutingTableStaticRouteTimeoutsOutput) ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcRoutingTableStaticRouteTimeouts) *VpcRoutingTableStaticRouteTimeouts { return &v - }).(VpnConnectionTunnel1Phase2PtrOutput) + }).(VpcRoutingTableStaticRouteTimeoutsPtrOutput) } -// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel1Phase2Output) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) -} - -// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. -func (o VpnConnectionTunnel1Phase2Output) DpdAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *string { return v.DpdAction }).(pulumi.StringPtrOutput) -} - -// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel1Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) +// 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 VpcRoutingTableStaticRouteTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel1Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +// 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 VpcRoutingTableStaticRouteTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } -// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. -func (o VpnConnectionTunnel1Phase2Output) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) +// 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 VpcRoutingTableStaticRouteTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. -func (o VpnConnectionTunnel1Phase2Output) StartAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *string { return v.StartAction }).(pulumi.StringPtrOutput) +// 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 VpcRoutingTableStaticRouteTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcRoutingTableStaticRouteTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel1Phase2PtrOutput struct{ *pulumi.OutputState } +type VpcRoutingTableStaticRouteTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel1Phase2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel1Phase2)(nil)).Elem() +func (VpcRoutingTableStaticRouteTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -func (o VpnConnectionTunnel1Phase2PtrOutput) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { +func (o VpcRoutingTableStaticRouteTimeoutsPtrOutput) ToVpcRoutingTableStaticRouteTimeoutsPtrOutput() VpcRoutingTableStaticRouteTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel1Phase2PtrOutput) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { +func (o VpcRoutingTableStaticRouteTimeoutsPtrOutput) ToVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel1Phase2PtrOutput) Elem() VpnConnectionTunnel1Phase2Output { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) VpnConnectionTunnel1Phase2 { +func (o VpcRoutingTableStaticRouteTimeoutsPtrOutput) Elem() VpcRoutingTableStaticRouteTimeoutsOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteTimeouts) VpcRoutingTableStaticRouteTimeouts { if v != nil { return *v } - var ret VpnConnectionTunnel1Phase2 + var ret VpcRoutingTableStaticRouteTimeouts return ret - }).(VpnConnectionTunnel1Phase2Output) -} - -// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel1Phase2PtrOutput) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { - if v == nil { - return nil - } - return v.DhGroups - }).(pulumi.StringArrayOutput) + }).(VpcRoutingTableStaticRouteTimeoutsOutput) } -// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. -func (o VpnConnectionTunnel1Phase2PtrOutput) DpdAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *string { +// 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 VpcRoutingTableStaticRouteTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteTimeouts) *string { if v == nil { return nil } - return v.DpdAction + return v.Create }).(pulumi.StringPtrOutput) } -// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel1Phase2PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { - if v == nil { - return nil - } - return v.EncryptionAlgorithms - }).(pulumi.StringArrayOutput) -} - -// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel1Phase2PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []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. +func (o VpcRoutingTableStaticRouteTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteTimeouts) *string { if v == nil { return nil } - return v.IntegrityAlgorithms - }).(pulumi.StringArrayOutput) + return v.Delete + }).(pulumi.StringPtrOutput) } -// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. -func (o VpnConnectionTunnel1Phase2PtrOutput) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *int { +// 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 VpcRoutingTableStaticRouteTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteTimeouts) *string { if v == nil { return nil } - return v.RekeyTime - }).(pulumi.IntPtrOutput) + return v.Read + }).(pulumi.StringPtrOutput) } -// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. -func (o VpnConnectionTunnel1Phase2PtrOutput) StartAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *string { +// 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 VpcRoutingTableStaticRouteTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRouteTimeouts) *string { if v == nil { return nil } - return v.StartAction + return v.Update }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel2 struct { - Bgp *VpnConnectionTunnel2Bgp `pulumi:"bgp"` - Peering *VpnConnectionTunnel2Peering `pulumi:"peering"` - Phase1 VpnConnectionTunnel2Phase1 `pulumi:"phase1"` - Phase2 VpnConnectionTunnel2Phase2 `pulumi:"phase2"` - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. - PreSharedKey *string `pulumi:"preSharedKey"` - // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. - PreSharedKeyWo *string `pulumi:"preSharedKeyWo"` - // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. - PreSharedKeyWoVersion *int `pulumi:"preSharedKeyWoVersion"` - // Remote IPv4 address for the tunnel endpoint. - RemoteAddress string `pulumi:"remoteAddress"` +type VpcTimeouts 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"` } -// VpnConnectionTunnel2Input is an input type that accepts VpnConnectionTunnel2Args and VpnConnectionTunnel2Output values. -// You can construct a concrete instance of `VpnConnectionTunnel2Input` via: +// VpcTimeoutsInput is an input type that accepts VpcTimeoutsArgs and VpcTimeoutsOutput values. +// You can construct a concrete instance of `VpcTimeoutsInput` via: // -// VpnConnectionTunnel2Args{...} -type VpnConnectionTunnel2Input interface { +// VpcTimeoutsArgs{...} +type VpcTimeoutsInput interface { pulumi.Input - ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output - ToVpnConnectionTunnel2OutputWithContext(context.Context) VpnConnectionTunnel2Output + ToVpcTimeoutsOutput() VpcTimeoutsOutput + ToVpcTimeoutsOutputWithContext(context.Context) VpcTimeoutsOutput } -type VpnConnectionTunnel2Args struct { - Bgp VpnConnectionTunnel2BgpPtrInput `pulumi:"bgp"` - Peering VpnConnectionTunnel2PeeringPtrInput `pulumi:"peering"` - Phase1 VpnConnectionTunnel2Phase1Input `pulumi:"phase1"` - Phase2 VpnConnectionTunnel2Phase2Input `pulumi:"phase2"` - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. - PreSharedKey pulumi.StringPtrInput `pulumi:"preSharedKey"` - // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. - // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. - PreSharedKeyWo pulumi.StringPtrInput `pulumi:"preSharedKeyWo"` - // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. - PreSharedKeyWoVersion pulumi.IntPtrInput `pulumi:"preSharedKeyWoVersion"` - // Remote IPv4 address for the tunnel endpoint. - RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` +type VpcTimeoutsArgs 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 (VpnConnectionTunnel2Args) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2)(nil)).Elem() +func (VpcTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpcTimeouts)(nil)).Elem() } -func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output { - return i.ToVpnConnectionTunnel2OutputWithContext(context.Background()) +func (i VpcTimeoutsArgs) ToVpcTimeoutsOutput() VpcTimeoutsOutput { + return i.ToVpcTimeoutsOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Output { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Output) +func (i VpcTimeoutsArgs) ToVpcTimeoutsOutputWithContext(ctx context.Context) VpcTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcTimeoutsOutput) } -func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { - return i.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) +func (i VpcTimeoutsArgs) ToVpcTimeoutsPtrOutput() VpcTimeoutsPtrOutput { + return i.ToVpcTimeoutsPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Output).ToVpnConnectionTunnel2PtrOutputWithContext(ctx) +func (i VpcTimeoutsArgs) ToVpcTimeoutsPtrOutputWithContext(ctx context.Context) VpcTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcTimeoutsOutput).ToVpcTimeoutsPtrOutputWithContext(ctx) } -// VpnConnectionTunnel2PtrInput is an input type that accepts VpnConnectionTunnel2Args, VpnConnectionTunnel2Ptr and VpnConnectionTunnel2PtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel2PtrInput` via: +// VpcTimeoutsPtrInput is an input type that accepts VpcTimeoutsArgs, VpcTimeoutsPtr and VpcTimeoutsPtrOutput values. +// You can construct a concrete instance of `VpcTimeoutsPtrInput` via: // -// VpnConnectionTunnel2Args{...} +// VpcTimeoutsArgs{...} // // or: // // nil -type VpnConnectionTunnel2PtrInput interface { +type VpcTimeoutsPtrInput interface { pulumi.Input - ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput - ToVpnConnectionTunnel2PtrOutputWithContext(context.Context) VpnConnectionTunnel2PtrOutput + ToVpcTimeoutsPtrOutput() VpcTimeoutsPtrOutput + ToVpcTimeoutsPtrOutputWithContext(context.Context) VpcTimeoutsPtrOutput } -type vpnConnectionTunnel2PtrType VpnConnectionTunnel2Args +type vpcTimeoutsPtrType VpcTimeoutsArgs -func VpnConnectionTunnel2Ptr(v *VpnConnectionTunnel2Args) VpnConnectionTunnel2PtrInput { - return (*vpnConnectionTunnel2PtrType)(v) +func VpcTimeoutsPtr(v *VpcTimeoutsArgs) VpcTimeoutsPtrInput { + return (*vpcTimeoutsPtrType)(v) } -func (*vpnConnectionTunnel2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2)(nil)).Elem() +func (*vpcTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpcTimeouts)(nil)).Elem() } -func (i *vpnConnectionTunnel2PtrType) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { - return i.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) +func (i *vpcTimeoutsPtrType) ToVpcTimeoutsPtrOutput() VpcTimeoutsPtrOutput { + return i.ToVpcTimeoutsPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel2PtrType) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PtrOutput) +func (i *vpcTimeoutsPtrType) ToVpcTimeoutsPtrOutputWithContext(ctx context.Context) VpcTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcTimeoutsPtrOutput) } -type VpnConnectionTunnel2Output struct{ *pulumi.OutputState } +type VpcTimeoutsOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2Output) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2)(nil)).Elem() +func (VpcTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpcTimeouts)(nil)).Elem() } -func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output { +func (o VpcTimeoutsOutput) ToVpcTimeoutsOutput() VpcTimeoutsOutput { return o } -func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Output { +func (o VpcTimeoutsOutput) ToVpcTimeoutsOutputWithContext(ctx context.Context) VpcTimeoutsOutput { return o } -func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { - return o.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) +func (o VpcTimeoutsOutput) ToVpcTimeoutsPtrOutput() VpcTimeoutsPtrOutput { + return o.ToVpcTimeoutsPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2) *VpnConnectionTunnel2 { +func (o VpcTimeoutsOutput) ToVpcTimeoutsPtrOutputWithContext(ctx context.Context) VpcTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpcTimeouts) *VpcTimeouts { return &v - }).(VpnConnectionTunnel2PtrOutput) + }).(VpcTimeoutsPtrOutput) } -func (o VpnConnectionTunnel2Output) Bgp() VpnConnectionTunnel2BgpPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2) *VpnConnectionTunnel2Bgp { return v.Bgp }).(VpnConnectionTunnel2BgpPtrOutput) +// 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 VpcTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -func (o VpnConnectionTunnel2Output) Peering() VpnConnectionTunnel2PeeringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2) *VpnConnectionTunnel2Peering { return v.Peering }).(VpnConnectionTunnel2PeeringPtrOutput) +// 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 VpcTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } -func (o VpnConnectionTunnel2Output) Phase1() VpnConnectionTunnel2Phase1Output { - return o.ApplyT(func(v VpnConnectionTunnel2) VpnConnectionTunnel2Phase1 { return v.Phase1 }).(VpnConnectionTunnel2Phase1Output) -} - -func (o VpnConnectionTunnel2Output) Phase2() VpnConnectionTunnel2Phase2Output { - return o.ApplyT(func(v VpnConnectionTunnel2) VpnConnectionTunnel2Phase2 { return v.Phase2 }).(VpnConnectionTunnel2Phase2Output) -} - -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. -func (o VpnConnectionTunnel2Output) PreSharedKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) -} - -// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. -func (o VpnConnectionTunnel2Output) PreSharedKeyWo() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2) *string { return v.PreSharedKeyWo }).(pulumi.StringPtrOutput) -} - -// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. -func (o VpnConnectionTunnel2Output) PreSharedKeyWoVersion() pulumi.IntPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2) *int { return v.PreSharedKeyWoVersion }).(pulumi.IntPtrOutput) +// 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 VpcTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -// Remote IPv4 address for the tunnel endpoint. -func (o VpnConnectionTunnel2Output) RemoteAddress() pulumi.StringOutput { - return o.ApplyT(func(v VpnConnectionTunnel2) string { return v.RemoteAddress }).(pulumi.StringOutput) +// 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 VpcTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpcTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel2PtrOutput struct{ *pulumi.OutputState } +type VpcTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2)(nil)).Elem() +func (VpcTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcTimeouts)(nil)).Elem() } -func (o VpnConnectionTunnel2PtrOutput) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { +func (o VpcTimeoutsPtrOutput) ToVpcTimeoutsPtrOutput() VpcTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel2PtrOutput) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { +func (o VpcTimeoutsPtrOutput) ToVpcTimeoutsPtrOutputWithContext(ctx context.Context) VpcTimeoutsPtrOutput { return o } -func (o VpnConnectionTunnel2PtrOutput) Elem() VpnConnectionTunnel2Output { - return o.ApplyT(func(v *VpnConnectionTunnel2) VpnConnectionTunnel2 { +func (o VpcTimeoutsPtrOutput) Elem() VpcTimeoutsOutput { + return o.ApplyT(func(v *VpcTimeouts) VpcTimeouts { if v != nil { return *v } - var ret VpnConnectionTunnel2 + var ret VpcTimeouts return ret - }).(VpnConnectionTunnel2Output) -} - -func (o VpnConnectionTunnel2PtrOutput) Bgp() VpnConnectionTunnel2BgpPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Bgp { - if v == nil { - return nil - } - return v.Bgp - }).(VpnConnectionTunnel2BgpPtrOutput) -} - -func (o VpnConnectionTunnel2PtrOutput) Peering() VpnConnectionTunnel2PeeringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Peering { - if v == nil { - return nil - } - return v.Peering - }).(VpnConnectionTunnel2PeeringPtrOutput) -} - -func (o VpnConnectionTunnel2PtrOutput) Phase1() VpnConnectionTunnel2Phase1PtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Phase1 { - if v == nil { - return nil - } - return &v.Phase1 - }).(VpnConnectionTunnel2Phase1PtrOutput) -} - -func (o VpnConnectionTunnel2PtrOutput) Phase2() VpnConnectionTunnel2Phase2PtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Phase2 { - if v == nil { - return nil - } - return &v.Phase2 - }).(VpnConnectionTunnel2Phase2PtrOutput) + }).(VpcTimeoutsOutput) } -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. -func (o VpnConnectionTunnel2PtrOutput) PreSharedKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *string { +// 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 VpcTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcTimeouts) *string { if v == nil { return nil } - return v.PreSharedKey + return v.Create }).(pulumi.StringPtrOutput) } -// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. -// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. -func (o VpnConnectionTunnel2PtrOutput) PreSharedKeyWo() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *string { +// 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 VpcTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcTimeouts) *string { if v == nil { return nil } - return v.PreSharedKeyWo + return v.Delete }).(pulumi.StringPtrOutput) } -// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. -func (o VpnConnectionTunnel2PtrOutput) PreSharedKeyWoVersion() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *int { +// 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 VpcTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcTimeouts) *string { if v == nil { return nil } - return v.PreSharedKeyWoVersion - }).(pulumi.IntPtrOutput) + return v.Read + }).(pulumi.StringPtrOutput) } -// Remote IPv4 address for the tunnel endpoint. -func (o VpnConnectionTunnel2PtrOutput) RemoteAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2) *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 VpcTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpcTimeouts) *string { if v == nil { return nil } - return &v.RemoteAddress + return v.Update }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel2Bgp struct { - // Remote ASN for BGP peering (private ASN range, 64512-4294967294). - RemoteAsn int `pulumi:"remoteAsn"` +type VpnConnectionTunnel1 struct { + Bgp *VpnConnectionTunnel1Bgp `pulumi:"bgp"` + Peering *VpnConnectionTunnel1Peering `pulumi:"peering"` + Phase1 VpnConnectionTunnel1Phase1 `pulumi:"phase1"` + Phase2 VpnConnectionTunnel1Phase2 `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey *string `pulumi:"preSharedKey"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. + PreSharedKeyWo *string `pulumi:"preSharedKeyWo"` + // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. + PreSharedKeyWoVersion *int `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress string `pulumi:"remoteAddress"` } -// VpnConnectionTunnel2BgpInput is an input type that accepts VpnConnectionTunnel2BgpArgs and VpnConnectionTunnel2BgpOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel2BgpInput` via: +// VpnConnectionTunnel1Input is an input type that accepts VpnConnectionTunnel1Args and VpnConnectionTunnel1Output values. +// You can construct a concrete instance of `VpnConnectionTunnel1Input` via: // -// VpnConnectionTunnel2BgpArgs{...} -type VpnConnectionTunnel2BgpInput interface { +// VpnConnectionTunnel1Args{...} +type VpnConnectionTunnel1Input interface { pulumi.Input - ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput - ToVpnConnectionTunnel2BgpOutputWithContext(context.Context) VpnConnectionTunnel2BgpOutput + ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output + ToVpnConnectionTunnel1OutputWithContext(context.Context) VpnConnectionTunnel1Output } -type VpnConnectionTunnel2BgpArgs struct { - // Remote ASN for BGP peering (private ASN range, 64512-4294967294). - RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` +type VpnConnectionTunnel1Args struct { + Bgp VpnConnectionTunnel1BgpPtrInput `pulumi:"bgp"` + Peering VpnConnectionTunnel1PeeringPtrInput `pulumi:"peering"` + Phase1 VpnConnectionTunnel1Phase1Input `pulumi:"phase1"` + Phase2 VpnConnectionTunnel1Phase2Input `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey pulumi.StringPtrInput `pulumi:"preSharedKey"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. + PreSharedKeyWo pulumi.StringPtrInput `pulumi:"preSharedKeyWo"` + // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. + PreSharedKeyWoVersion pulumi.IntPtrInput `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (VpnConnectionTunnel2BgpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Bgp)(nil)).Elem() +func (VpnConnectionTunnel1Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1)(nil)).Elem() } -func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput { - return i.ToVpnConnectionTunnel2BgpOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output { + return i.ToVpnConnectionTunnel1OutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpOutput) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Output) } -func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { - return i.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { + return i.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpOutput).ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Output).ToVpnConnectionTunnel1PtrOutputWithContext(ctx) } -// VpnConnectionTunnel2BgpPtrInput is an input type that accepts VpnConnectionTunnel2BgpArgs, VpnConnectionTunnel2BgpPtr and VpnConnectionTunnel2BgpPtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel2BgpPtrInput` via: +// VpnConnectionTunnel1PtrInput is an input type that accepts VpnConnectionTunnel1Args, VpnConnectionTunnel1Ptr and VpnConnectionTunnel1PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1PtrInput` via: // -// VpnConnectionTunnel2BgpArgs{...} +// VpnConnectionTunnel1Args{...} // // or: // // nil -type VpnConnectionTunnel2BgpPtrInput interface { +type VpnConnectionTunnel1PtrInput interface { pulumi.Input - ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput - ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Context) VpnConnectionTunnel2BgpPtrOutput + ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput + ToVpnConnectionTunnel1PtrOutputWithContext(context.Context) VpnConnectionTunnel1PtrOutput } -type vpnConnectionTunnel2BgpPtrType VpnConnectionTunnel2BgpArgs +type vpnConnectionTunnel1PtrType VpnConnectionTunnel1Args -func VpnConnectionTunnel2BgpPtr(v *VpnConnectionTunnel2BgpArgs) VpnConnectionTunnel2BgpPtrInput { - return (*vpnConnectionTunnel2BgpPtrType)(v) +func VpnConnectionTunnel1Ptr(v *VpnConnectionTunnel1Args) VpnConnectionTunnel1PtrInput { + return (*vpnConnectionTunnel1PtrType)(v) } -func (*vpnConnectionTunnel2BgpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Bgp)(nil)).Elem() +func (*vpnConnectionTunnel1PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1)(nil)).Elem() } -func (i *vpnConnectionTunnel2BgpPtrType) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { - return i.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1PtrType) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { + return i.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel2BgpPtrType) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpPtrOutput) +func (i *vpnConnectionTunnel1PtrType) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PtrOutput) } -type VpnConnectionTunnel2BgpOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Output struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2BgpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Bgp)(nil)).Elem() +func (VpnConnectionTunnel1Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1)(nil)).Elem() } -func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput { +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output { return o } -func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpOutput { +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Output { return o } -func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { - return o.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { + return o.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Bgp) *VpnConnectionTunnel2Bgp { +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1) *VpnConnectionTunnel1 { return &v - }).(VpnConnectionTunnel2BgpPtrOutput) + }).(VpnConnectionTunnel1PtrOutput) } -// Remote ASN for BGP peering (private ASN range, 64512-4294967294). -func (o VpnConnectionTunnel2BgpOutput) RemoteAsn() pulumi.IntOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) +func (o VpnConnectionTunnel1Output) Bgp() VpnConnectionTunnel1BgpPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *VpnConnectionTunnel1Bgp { return v.Bgp }).(VpnConnectionTunnel1BgpPtrOutput) } -type VpnConnectionTunnel2BgpPtrOutput struct{ *pulumi.OutputState } - -func (VpnConnectionTunnel2BgpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Bgp)(nil)).Elem() +func (o VpnConnectionTunnel1Output) Peering() VpnConnectionTunnel1PeeringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *VpnConnectionTunnel1Peering { return v.Peering }).(VpnConnectionTunnel1PeeringPtrOutput) } -func (o VpnConnectionTunnel2BgpPtrOutput) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { - return o +func (o VpnConnectionTunnel1Output) Phase1() VpnConnectionTunnel1Phase1Output { + return o.ApplyT(func(v VpnConnectionTunnel1) VpnConnectionTunnel1Phase1 { return v.Phase1 }).(VpnConnectionTunnel1Phase1Output) } -func (o VpnConnectionTunnel2BgpPtrOutput) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { - return o +func (o VpnConnectionTunnel1Output) Phase2() VpnConnectionTunnel1Phase2Output { + return o.ApplyT(func(v VpnConnectionTunnel1) VpnConnectionTunnel1Phase2 { return v.Phase2 }).(VpnConnectionTunnel1Phase2Output) } -func (o VpnConnectionTunnel2BgpPtrOutput) Elem() VpnConnectionTunnel2BgpOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Bgp) VpnConnectionTunnel2Bgp { - if v != nil { - return *v - } - var ret VpnConnectionTunnel2Bgp - return ret - }).(VpnConnectionTunnel2BgpOutput) +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel1Output) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) } -// Remote ASN for BGP peering (private ASN range, 64512-4294967294). -func (o VpnConnectionTunnel2BgpPtrOutput) RemoteAsn() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Bgp) *int { - if v == nil { - return nil - } - return &v.RemoteAsn - }).(pulumi.IntPtrOutput) +// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. +func (o VpnConnectionTunnel1Output) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *string { return v.PreSharedKeyWo }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel2Peering struct { - // Local tunnel interface IPv4 address. - LocalAddress string `pulumi:"localAddress"` - // Remote tunnel interface IPv4 address. - RemoteAddress string `pulumi:"remoteAddress"` +// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. +func (o VpnConnectionTunnel1Output) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *int { return v.PreSharedKeyWoVersion }).(pulumi.IntPtrOutput) } -// VpnConnectionTunnel2PeeringInput is an input type that accepts VpnConnectionTunnel2PeeringArgs and VpnConnectionTunnel2PeeringOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel2PeeringInput` via: +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel1Output) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) string { return v.RemoteAddress }).(pulumi.StringOutput) +} + +type VpnConnectionTunnel1PtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1)(nil)).Elem() +} + +func (o VpnConnectionTunnel1PtrOutput) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { + return o +} + +func (o VpnConnectionTunnel1PtrOutput) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { + return o +} + +func (o VpnConnectionTunnel1PtrOutput) Elem() VpnConnectionTunnel1Output { + return o.ApplyT(func(v *VpnConnectionTunnel1) VpnConnectionTunnel1 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel1 + return ret + }).(VpnConnectionTunnel1Output) +} + +func (o VpnConnectionTunnel1PtrOutput) Bgp() VpnConnectionTunnel1BgpPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Bgp { + if v == nil { + return nil + } + return v.Bgp + }).(VpnConnectionTunnel1BgpPtrOutput) +} + +func (o VpnConnectionTunnel1PtrOutput) Peering() VpnConnectionTunnel1PeeringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Peering { + if v == nil { + return nil + } + return v.Peering + }).(VpnConnectionTunnel1PeeringPtrOutput) +} + +func (o VpnConnectionTunnel1PtrOutput) Phase1() VpnConnectionTunnel1Phase1PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Phase1 { + if v == nil { + return nil + } + return &v.Phase1 + }).(VpnConnectionTunnel1Phase1PtrOutput) +} + +func (o VpnConnectionTunnel1PtrOutput) Phase2() VpnConnectionTunnel1Phase2PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Phase2 { + if v == nil { + return nil + } + return &v.Phase2 + }).(VpnConnectionTunnel1Phase2PtrOutput) +} + +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel1PtrOutput) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *string { + if v == nil { + return nil + } + return v.PreSharedKey + }).(pulumi.StringPtrOutput) +} + +// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. +func (o VpnConnectionTunnel1PtrOutput) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *string { + if v == nil { + return nil + } + return v.PreSharedKeyWo + }).(pulumi.StringPtrOutput) +} + +// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. +func (o VpnConnectionTunnel1PtrOutput) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *int { + if v == nil { + return nil + } + return v.PreSharedKeyWoVersion + }).(pulumi.IntPtrOutput) +} + +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel1PtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *string { + if v == nil { + return nil + } + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) +} + +type VpnConnectionTunnel1Bgp struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn int `pulumi:"remoteAsn"` +} + +// VpnConnectionTunnel1BgpInput is an input type that accepts VpnConnectionTunnel1BgpArgs and VpnConnectionTunnel1BgpOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1BgpInput` via: // -// VpnConnectionTunnel2PeeringArgs{...} -type VpnConnectionTunnel2PeeringInput interface { +// VpnConnectionTunnel1BgpArgs{...} +type VpnConnectionTunnel1BgpInput interface { pulumi.Input - ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput - ToVpnConnectionTunnel2PeeringOutputWithContext(context.Context) VpnConnectionTunnel2PeeringOutput + ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput + ToVpnConnectionTunnel1BgpOutputWithContext(context.Context) VpnConnectionTunnel1BgpOutput } -type VpnConnectionTunnel2PeeringArgs struct { - // Local tunnel interface IPv4 address. - LocalAddress pulumi.StringInput `pulumi:"localAddress"` - // Remote tunnel interface IPv4 address. - RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` +type VpnConnectionTunnel1BgpArgs struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` } -func (VpnConnectionTunnel2PeeringArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Peering)(nil)).Elem() +func (VpnConnectionTunnel1BgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput { - return i.ToVpnConnectionTunnel2PeeringOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput { + return i.ToVpnConnectionTunnel1BgpOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringOutput) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpOutput) } -func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { - return i.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { + return i.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringOutput).ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpOutput).ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx) } -// VpnConnectionTunnel2PeeringPtrInput is an input type that accepts VpnConnectionTunnel2PeeringArgs, VpnConnectionTunnel2PeeringPtr and VpnConnectionTunnel2PeeringPtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel2PeeringPtrInput` via: +// VpnConnectionTunnel1BgpPtrInput is an input type that accepts VpnConnectionTunnel1BgpArgs, VpnConnectionTunnel1BgpPtr and VpnConnectionTunnel1BgpPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1BgpPtrInput` via: // -// VpnConnectionTunnel2PeeringArgs{...} +// VpnConnectionTunnel1BgpArgs{...} // // or: // // nil -type VpnConnectionTunnel2PeeringPtrInput interface { +type VpnConnectionTunnel1BgpPtrInput interface { pulumi.Input - ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput - ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Context) VpnConnectionTunnel2PeeringPtrOutput + ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput + ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Context) VpnConnectionTunnel1BgpPtrOutput } -type vpnConnectionTunnel2PeeringPtrType VpnConnectionTunnel2PeeringArgs +type vpnConnectionTunnel1BgpPtrType VpnConnectionTunnel1BgpArgs -func VpnConnectionTunnel2PeeringPtr(v *VpnConnectionTunnel2PeeringArgs) VpnConnectionTunnel2PeeringPtrInput { - return (*vpnConnectionTunnel2PeeringPtrType)(v) +func VpnConnectionTunnel1BgpPtr(v *VpnConnectionTunnel1BgpArgs) VpnConnectionTunnel1BgpPtrInput { + return (*vpnConnectionTunnel1BgpPtrType)(v) } -func (*vpnConnectionTunnel2PeeringPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Peering)(nil)).Elem() +func (*vpnConnectionTunnel1BgpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (i *vpnConnectionTunnel2PeeringPtrType) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { - return i.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1BgpPtrType) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { + return i.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel2PeeringPtrType) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringPtrOutput) +func (i *vpnConnectionTunnel1BgpPtrType) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpPtrOutput) } -type VpnConnectionTunnel2PeeringOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1BgpOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2PeeringOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Peering)(nil)).Elem() +func (VpnConnectionTunnel1BgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput { +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput { return o } -func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringOutput { +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpOutput { return o } -func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { - return o.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { + return o.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Peering) *VpnConnectionTunnel2Peering { +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Bgp) *VpnConnectionTunnel1Bgp { return &v - }).(VpnConnectionTunnel2PeeringPtrOutput) -} - -// Local tunnel interface IPv4 address. -func (o VpnConnectionTunnel2PeeringOutput) LocalAddress() pulumi.StringOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Peering) string { return v.LocalAddress }).(pulumi.StringOutput) + }).(VpnConnectionTunnel1BgpPtrOutput) } -// Remote tunnel interface IPv4 address. -func (o VpnConnectionTunnel2PeeringOutput) RemoteAddress() pulumi.StringOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel1BgpOutput) RemoteAsn() pulumi.IntOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) } -type VpnConnectionTunnel2PeeringPtrOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1BgpPtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2PeeringPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Peering)(nil)).Elem() +func (VpnConnectionTunnel1BgpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (o VpnConnectionTunnel2PeeringPtrOutput) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { +func (o VpnConnectionTunnel1BgpPtrOutput) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { return o } -func (o VpnConnectionTunnel2PeeringPtrOutput) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { +func (o VpnConnectionTunnel1BgpPtrOutput) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { return o } -func (o VpnConnectionTunnel2PeeringPtrOutput) Elem() VpnConnectionTunnel2PeeringOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Peering) VpnConnectionTunnel2Peering { +func (o VpnConnectionTunnel1BgpPtrOutput) Elem() VpnConnectionTunnel1BgpOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Bgp) VpnConnectionTunnel1Bgp { if v != nil { return *v } - var ret VpnConnectionTunnel2Peering + var ret VpnConnectionTunnel1Bgp return ret - }).(VpnConnectionTunnel2PeeringOutput) + }).(VpnConnectionTunnel1BgpOutput) } -// Local tunnel interface IPv4 address. -func (o VpnConnectionTunnel2PeeringPtrOutput) LocalAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Peering) *string { +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel1BgpPtrOutput) RemoteAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Bgp) *int { if v == nil { return nil } - return &v.LocalAddress - }).(pulumi.StringPtrOutput) + return &v.RemoteAsn + }).(pulumi.IntPtrOutput) } -// Remote tunnel interface IPv4 address. -func (o VpnConnectionTunnel2PeeringPtrOutput) RemoteAddress() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Peering) *string { - if v == nil { - return nil - } - return &v.RemoteAddress - }).(pulumi.StringPtrOutput) -} - -type VpnConnectionTunnel2Phase1 struct { - // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. - DhGroups []string `pulumi:"dhGroups"` - // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. - EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. - IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` - // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. - RekeyTime *int `pulumi:"rekeyTime"` +type VpnConnectionTunnel1Peering struct { + // Local tunnel interface IPv4 address. + LocalAddress string `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress string `pulumi:"remoteAddress"` } -// VpnConnectionTunnel2Phase1Input is an input type that accepts VpnConnectionTunnel2Phase1Args and VpnConnectionTunnel2Phase1Output values. -// You can construct a concrete instance of `VpnConnectionTunnel2Phase1Input` via: +// VpnConnectionTunnel1PeeringInput is an input type that accepts VpnConnectionTunnel1PeeringArgs and VpnConnectionTunnel1PeeringOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1PeeringInput` via: // -// VpnConnectionTunnel2Phase1Args{...} -type VpnConnectionTunnel2Phase1Input interface { +// VpnConnectionTunnel1PeeringArgs{...} +type VpnConnectionTunnel1PeeringInput interface { pulumi.Input - ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output - ToVpnConnectionTunnel2Phase1OutputWithContext(context.Context) VpnConnectionTunnel2Phase1Output + ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput + ToVpnConnectionTunnel1PeeringOutputWithContext(context.Context) VpnConnectionTunnel1PeeringOutput } -type VpnConnectionTunnel2Phase1Args struct { - // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. - DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` - // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. - EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. - IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` - // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. - RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` +type VpnConnectionTunnel1PeeringArgs struct { + // Local tunnel interface IPv4 address. + LocalAddress pulumi.StringInput `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (VpnConnectionTunnel2Phase1Args) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Phase1)(nil)).Elem() +func (VpnConnectionTunnel1PeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Peering)(nil)).Elem() } -func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output { - return i.ToVpnConnectionTunnel2Phase1OutputWithContext(context.Background()) +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput { + return i.ToVpnConnectionTunnel1PeeringOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1Output { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1Output) +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringOutput) } -func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { - return i.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { + return i.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1Output).ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx) +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringOutput).ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx) } -// VpnConnectionTunnel2Phase1PtrInput is an input type that accepts VpnConnectionTunnel2Phase1Args, VpnConnectionTunnel2Phase1Ptr and VpnConnectionTunnel2Phase1PtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel2Phase1PtrInput` via: +// VpnConnectionTunnel1PeeringPtrInput is an input type that accepts VpnConnectionTunnel1PeeringArgs, VpnConnectionTunnel1PeeringPtr and VpnConnectionTunnel1PeeringPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1PeeringPtrInput` via: // -// VpnConnectionTunnel2Phase1Args{...} +// VpnConnectionTunnel1PeeringArgs{...} // // or: // // nil -type VpnConnectionTunnel2Phase1PtrInput interface { +type VpnConnectionTunnel1PeeringPtrInput interface { pulumi.Input - ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput - ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Context) VpnConnectionTunnel2Phase1PtrOutput + ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput + ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Context) VpnConnectionTunnel1PeeringPtrOutput } -type vpnConnectionTunnel2Phase1PtrType VpnConnectionTunnel2Phase1Args +type vpnConnectionTunnel1PeeringPtrType VpnConnectionTunnel1PeeringArgs -func VpnConnectionTunnel2Phase1Ptr(v *VpnConnectionTunnel2Phase1Args) VpnConnectionTunnel2Phase1PtrInput { - return (*vpnConnectionTunnel2Phase1PtrType)(v) +func VpnConnectionTunnel1PeeringPtr(v *VpnConnectionTunnel1PeeringArgs) VpnConnectionTunnel1PeeringPtrInput { + return (*vpnConnectionTunnel1PeeringPtrType)(v) } -func (*vpnConnectionTunnel2Phase1PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Phase1)(nil)).Elem() +func (*vpnConnectionTunnel1PeeringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Peering)(nil)).Elem() } -func (i *vpnConnectionTunnel2Phase1PtrType) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { - return i.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1PeeringPtrType) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { + return i.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel2Phase1PtrType) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1PtrOutput) +func (i *vpnConnectionTunnel1PeeringPtrType) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringPtrOutput) } -type VpnConnectionTunnel2Phase1Output struct{ *pulumi.OutputState } +type VpnConnectionTunnel1PeeringOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2Phase1Output) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Phase1)(nil)).Elem() +func (VpnConnectionTunnel1PeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Peering)(nil)).Elem() } -func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output { +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput { return o } -func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1Output { +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringOutput { return o } -func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { - return o.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { + return o.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Phase1) *VpnConnectionTunnel2Phase1 { +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Peering) *VpnConnectionTunnel1Peering { return &v - }).(VpnConnectionTunnel2Phase1PtrOutput) -} - -// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel2Phase1Output) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) -} - -// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel2Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) + }).(VpnConnectionTunnel1PeeringPtrOutput) } -// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel2Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringOutput) LocalAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Peering) string { return v.LocalAddress }).(pulumi.StringOutput) } -// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. -func (o VpnConnectionTunnel2Phase1Output) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase1) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringOutput) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) } -type VpnConnectionTunnel2Phase1PtrOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1PeeringPtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2Phase1PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Phase1)(nil)).Elem() +func (VpnConnectionTunnel1PeeringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Peering)(nil)).Elem() } -func (o VpnConnectionTunnel2Phase1PtrOutput) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { +func (o VpnConnectionTunnel1PeeringPtrOutput) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { return o } -func (o VpnConnectionTunnel2Phase1PtrOutput) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { +func (o VpnConnectionTunnel1PeeringPtrOutput) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { return o } -func (o VpnConnectionTunnel2Phase1PtrOutput) Elem() VpnConnectionTunnel2Phase1Output { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) VpnConnectionTunnel2Phase1 { +func (o VpnConnectionTunnel1PeeringPtrOutput) Elem() VpnConnectionTunnel1PeeringOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Peering) VpnConnectionTunnel1Peering { if v != nil { return *v } - var ret VpnConnectionTunnel2Phase1 + var ret VpnConnectionTunnel1Peering return ret - }).(VpnConnectionTunnel2Phase1Output) -} - -// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel2Phase1PtrOutput) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { - if v == nil { - return nil - } - return v.DhGroups - }).(pulumi.StringArrayOutput) -} - -// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel2Phase1PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { - if v == nil { - return nil - } - return v.EncryptionAlgorithms - }).(pulumi.StringArrayOutput) + }).(VpnConnectionTunnel1PeeringOutput) } -// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel2Phase1PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringPtrOutput) LocalAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Peering) *string { if v == nil { return nil } - return v.IntegrityAlgorithms - }).(pulumi.StringArrayOutput) + return &v.LocalAddress + }).(pulumi.StringPtrOutput) } -// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. -func (o VpnConnectionTunnel2Phase1PtrOutput) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) *int { +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringPtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Peering) *string { if v == nil { return nil } - return v.RekeyTime - }).(pulumi.IntPtrOutput) + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) } -type VpnConnectionTunnel2Phase2 struct { - // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +type VpnConnectionTunnel1Phase1 struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. DhGroups []string `pulumi:"dhGroups"` - // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. - DpdAction *string `pulumi:"dpdAction"` - // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` - // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. RekeyTime *int `pulumi:"rekeyTime"` - // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. - StartAction *string `pulumi:"startAction"` } -// VpnConnectionTunnel2Phase2Input is an input type that accepts VpnConnectionTunnel2Phase2Args and VpnConnectionTunnel2Phase2Output values. -// You can construct a concrete instance of `VpnConnectionTunnel2Phase2Input` via: +// VpnConnectionTunnel1Phase1Input is an input type that accepts VpnConnectionTunnel1Phase1Args and VpnConnectionTunnel1Phase1Output values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase1Input` via: // -// VpnConnectionTunnel2Phase2Args{...} -type VpnConnectionTunnel2Phase2Input interface { +// VpnConnectionTunnel1Phase1Args{...} +type VpnConnectionTunnel1Phase1Input interface { pulumi.Input - ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output - ToVpnConnectionTunnel2Phase2OutputWithContext(context.Context) VpnConnectionTunnel2Phase2Output + ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output + ToVpnConnectionTunnel1Phase1OutputWithContext(context.Context) VpnConnectionTunnel1Phase1Output } -type VpnConnectionTunnel2Phase2Args struct { - // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +type VpnConnectionTunnel1Phase1Args struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` - // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. - DpdAction pulumi.StringPtrInput `pulumi:"dpdAction"` - // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` - // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` - // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` - // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. - StartAction pulumi.StringPtrInput `pulumi:"startAction"` } -func (VpnConnectionTunnel2Phase2Args) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Phase2)(nil)).Elem() +func (VpnConnectionTunnel1Phase1Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output { - return i.ToVpnConnectionTunnel2Phase2OutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output { + return i.ToVpnConnectionTunnel1Phase1OutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2Output { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2Output) +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1Output) } -func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { - return i.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { + return i.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) } -func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2Output).ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx) +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1Output).ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx) } -// VpnConnectionTunnel2Phase2PtrInput is an input type that accepts VpnConnectionTunnel2Phase2Args, VpnConnectionTunnel2Phase2Ptr and VpnConnectionTunnel2Phase2PtrOutput values. -// You can construct a concrete instance of `VpnConnectionTunnel2Phase2PtrInput` via: +// VpnConnectionTunnel1Phase1PtrInput is an input type that accepts VpnConnectionTunnel1Phase1Args, VpnConnectionTunnel1Phase1Ptr and VpnConnectionTunnel1Phase1PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase1PtrInput` via: // -// VpnConnectionTunnel2Phase2Args{...} +// VpnConnectionTunnel1Phase1Args{...} // // or: // // nil -type VpnConnectionTunnel2Phase2PtrInput interface { +type VpnConnectionTunnel1Phase1PtrInput interface { pulumi.Input - ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput - ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Context) VpnConnectionTunnel2Phase2PtrOutput + ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput + ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Context) VpnConnectionTunnel1Phase1PtrOutput } -type vpnConnectionTunnel2Phase2PtrType VpnConnectionTunnel2Phase2Args +type vpnConnectionTunnel1Phase1PtrType VpnConnectionTunnel1Phase1Args -func VpnConnectionTunnel2Phase2Ptr(v *VpnConnectionTunnel2Phase2Args) VpnConnectionTunnel2Phase2PtrInput { - return (*vpnConnectionTunnel2Phase2PtrType)(v) +func VpnConnectionTunnel1Phase1Ptr(v *VpnConnectionTunnel1Phase1Args) VpnConnectionTunnel1Phase1PtrInput { + return (*vpnConnectionTunnel1Phase1PtrType)(v) } -func (*vpnConnectionTunnel2Phase2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Phase2)(nil)).Elem() +func (*vpnConnectionTunnel1Phase1PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (i *vpnConnectionTunnel2Phase2PtrType) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { - return i.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1Phase1PtrType) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { + return i.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) } -func (i *vpnConnectionTunnel2Phase2PtrType) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2PtrOutput) +func (i *vpnConnectionTunnel1Phase1PtrType) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1PtrOutput) } -type VpnConnectionTunnel2Phase2Output struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Phase1Output struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2Phase2Output) ElementType() reflect.Type { - return reflect.TypeOf((*VpnConnectionTunnel2Phase2)(nil)).Elem() +func (VpnConnectionTunnel1Phase1Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output { +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output { return o } -func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2Output { +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1Output { return o } -func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { - return o.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { + return o.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) } -func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Phase2) *VpnConnectionTunnel2Phase2 { +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Phase1) *VpnConnectionTunnel1Phase1 { return &v - }).(VpnConnectionTunnel2Phase2PtrOutput) -} - -// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel2Phase2Output) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) -} - -// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. -func (o VpnConnectionTunnel2Phase2Output) DpdAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *string { return v.DpdAction }).(pulumi.StringPtrOutput) + }).(VpnConnectionTunnel1Phase1PtrOutput) } -// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel2Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase1Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel2Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. -func (o VpnConnectionTunnel2Phase2Output) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. -func (o VpnConnectionTunnel2Phase2Output) StartAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *string { return v.StartAction }).(pulumi.StringPtrOutput) +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel1Phase1Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) } -type VpnConnectionTunnel2Phase2PtrOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Phase1PtrOutput struct{ *pulumi.OutputState } -func (VpnConnectionTunnel2Phase2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnConnectionTunnel2Phase2)(nil)).Elem() +func (VpnConnectionTunnel1Phase1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (o VpnConnectionTunnel2Phase2PtrOutput) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { +func (o VpnConnectionTunnel1Phase1PtrOutput) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { return o } -func (o VpnConnectionTunnel2Phase2PtrOutput) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { +func (o VpnConnectionTunnel1Phase1PtrOutput) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { return o } -func (o VpnConnectionTunnel2Phase2PtrOutput) Elem() VpnConnectionTunnel2Phase2Output { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) VpnConnectionTunnel2Phase2 { +func (o VpnConnectionTunnel1Phase1PtrOutput) Elem() VpnConnectionTunnel1Phase1Output { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) VpnConnectionTunnel1Phase1 { if v != nil { return *v } - var ret VpnConnectionTunnel2Phase2 + var ret VpnConnectionTunnel1Phase1 return ret - }).(VpnConnectionTunnel2Phase2Output) + }).(VpnConnectionTunnel1Phase1Output) } -// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. -func (o VpnConnectionTunnel2Phase2PtrOutput) DhGroups() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase1PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { if v == nil { return nil } @@ -23883,19 +23782,9 @@ func (o VpnConnectionTunnel2Phase2PtrOutput) DhGroups() pulumi.StringArrayOutput }).(pulumi.StringArrayOutput) } -// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. -func (o VpnConnectionTunnel2Phase2PtrOutput) DpdAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *string { - if v == nil { - return nil - } - return v.DpdAction - }).(pulumi.StringPtrOutput) -} - -// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. -func (o VpnConnectionTunnel2Phase2PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase1PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { if v == nil { return nil } @@ -23903,9 +23792,9 @@ func (o VpnConnectionTunnel2Phase2PtrOutput) EncryptionAlgorithms() pulumi.Strin }).(pulumi.StringArrayOutput) } -// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. -func (o VpnConnectionTunnel2Phase2PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase1PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { if v == nil { return nil } @@ -23913,9 +23802,9 @@ func (o VpnConnectionTunnel2Phase2PtrOutput) IntegrityAlgorithms() pulumi.String }).(pulumi.StringArrayOutput) } -// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. -func (o VpnConnectionTunnel2Phase2PtrOutput) RekeyTime() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *int { +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel1Phase1PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) *int { if v == nil { return nil } @@ -23923,9110 +23812,10291 @@ func (o VpnConnectionTunnel2Phase2PtrOutput) RekeyTime() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. -func (o VpnConnectionTunnel2Phase2PtrOutput) StartAction() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *string { - if v == nil { - return nil - } - return v.StartAction - }).(pulumi.StringPtrOutput) -} - -type VpnGatewayAvailabilityZones struct { - // Availability zone for tunnel 1. - Tunnel1 string `pulumi:"tunnel1"` - // Availability zone for tunnel 2. - Tunnel2 string `pulumi:"tunnel2"` +type VpnConnectionTunnel1Phase2 struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups []string `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction *string `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime *int `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction *string `pulumi:"startAction"` } -// VpnGatewayAvailabilityZonesInput is an input type that accepts VpnGatewayAvailabilityZonesArgs and VpnGatewayAvailabilityZonesOutput values. -// You can construct a concrete instance of `VpnGatewayAvailabilityZonesInput` via: +// VpnConnectionTunnel1Phase2Input is an input type that accepts VpnConnectionTunnel1Phase2Args and VpnConnectionTunnel1Phase2Output values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase2Input` via: // -// VpnGatewayAvailabilityZonesArgs{...} -type VpnGatewayAvailabilityZonesInput interface { +// VpnConnectionTunnel1Phase2Args{...} +type VpnConnectionTunnel1Phase2Input interface { pulumi.Input - ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput - ToVpnGatewayAvailabilityZonesOutputWithContext(context.Context) VpnGatewayAvailabilityZonesOutput + ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output + ToVpnConnectionTunnel1Phase2OutputWithContext(context.Context) VpnConnectionTunnel1Phase2Output } -type VpnGatewayAvailabilityZonesArgs struct { - // Availability zone for tunnel 1. - Tunnel1 pulumi.StringInput `pulumi:"tunnel1"` - // Availability zone for tunnel 2. - Tunnel2 pulumi.StringInput `pulumi:"tunnel2"` +type VpnConnectionTunnel1Phase2Args struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction pulumi.StringPtrInput `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction pulumi.StringPtrInput `pulumi:"startAction"` } -func (VpnGatewayAvailabilityZonesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() +func (VpnConnectionTunnel1Phase2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase2)(nil)).Elem() } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { - return i.ToVpnGatewayAvailabilityZonesOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output { + return i.ToVpnConnectionTunnel1Phase2OutputWithContext(context.Background()) } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput) +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2Output) } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { - return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { + return i.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput).ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx) +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2Output).ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx) } -// VpnGatewayAvailabilityZonesPtrInput is an input type that accepts VpnGatewayAvailabilityZonesArgs, VpnGatewayAvailabilityZonesPtr and VpnGatewayAvailabilityZonesPtrOutput values. -// You can construct a concrete instance of `VpnGatewayAvailabilityZonesPtrInput` via: +// VpnConnectionTunnel1Phase2PtrInput is an input type that accepts VpnConnectionTunnel1Phase2Args, VpnConnectionTunnel1Phase2Ptr and VpnConnectionTunnel1Phase2PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase2PtrInput` via: // -// VpnGatewayAvailabilityZonesArgs{...} +// VpnConnectionTunnel1Phase2Args{...} // // or: // // nil -type VpnGatewayAvailabilityZonesPtrInput interface { +type VpnConnectionTunnel1Phase2PtrInput interface { pulumi.Input - ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput - ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Context) VpnGatewayAvailabilityZonesPtrOutput + ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput + ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Context) VpnConnectionTunnel1Phase2PtrOutput } -type vpnGatewayAvailabilityZonesPtrType VpnGatewayAvailabilityZonesArgs +type vpnConnectionTunnel1Phase2PtrType VpnConnectionTunnel1Phase2Args -func VpnGatewayAvailabilityZonesPtr(v *VpnGatewayAvailabilityZonesArgs) VpnGatewayAvailabilityZonesPtrInput { - return (*vpnGatewayAvailabilityZonesPtrType)(v) +func VpnConnectionTunnel1Phase2Ptr(v *VpnConnectionTunnel1Phase2Args) VpnConnectionTunnel1Phase2PtrInput { + return (*vpnConnectionTunnel1Phase2PtrType)(v) } -func (*vpnGatewayAvailabilityZonesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() +func (*vpnConnectionTunnel1Phase2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase2)(nil)).Elem() } -func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { - return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1Phase2PtrType) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { + return i.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) } -func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesPtrOutput) +func (i *vpnConnectionTunnel1Phase2PtrType) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2PtrOutput) } -type VpnGatewayAvailabilityZonesOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Phase2Output struct{ *pulumi.OutputState } -func (VpnGatewayAvailabilityZonesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() +func (VpnConnectionTunnel1Phase2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase2)(nil)).Elem() } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output { return o } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2Output { return o } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { - return o.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { + return o.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayAvailabilityZones) *VpnGatewayAvailabilityZones { - return &v - }).(VpnGatewayAvailabilityZonesPtrOutput) +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Phase2) *VpnConnectionTunnel1Phase2 { + return &v + }).(VpnConnectionTunnel1Phase2PtrOutput) } -// Availability zone for tunnel 1. -func (o VpnGatewayAvailabilityZonesOutput) Tunnel1() pulumi.StringOutput { - return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel1 }).(pulumi.StringOutput) +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase2Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -// Availability zone for tunnel 2. -func (o VpnGatewayAvailabilityZonesOutput) Tunnel2() pulumi.StringOutput { - return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel2 }).(pulumi.StringOutput) +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel1Phase2Output) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *string { return v.DpdAction }).(pulumi.StringPtrOutput) } -type VpnGatewayAvailabilityZonesPtrOutput struct{ *pulumi.OutputState } +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) +} -func (VpnGatewayAvailabilityZonesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel1Phase2Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) +} + +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel1Phase2Output) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *string { return v.StartAction }).(pulumi.StringPtrOutput) +} + +type VpnConnectionTunnel1Phase2PtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel1Phase2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase2)(nil)).Elem() +} + +func (o VpnConnectionTunnel1Phase2PtrOutput) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { return o } -func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { +func (o VpnConnectionTunnel1Phase2PtrOutput) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { return o } -func (o VpnGatewayAvailabilityZonesPtrOutput) Elem() VpnGatewayAvailabilityZonesOutput { - return o.ApplyT(func(v *VpnGatewayAvailabilityZones) VpnGatewayAvailabilityZones { +func (o VpnConnectionTunnel1Phase2PtrOutput) Elem() VpnConnectionTunnel1Phase2Output { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) VpnConnectionTunnel1Phase2 { if v != nil { return *v } - var ret VpnGatewayAvailabilityZones + var ret VpnConnectionTunnel1Phase2 return ret - }).(VpnGatewayAvailabilityZonesOutput) + }).(VpnConnectionTunnel1Phase2Output) } -// Availability zone for tunnel 1. -func (o VpnGatewayAvailabilityZonesPtrOutput) Tunnel1() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnGatewayAvailabilityZones) *string { +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase2PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { if v == nil { return nil } - return &v.Tunnel1 + return v.DhGroups + }).(pulumi.StringArrayOutput) +} + +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel1Phase2PtrOutput) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *string { + if v == nil { + return nil + } + return v.DpdAction }).(pulumi.StringPtrOutput) } -// Availability zone for tunnel 2. -func (o VpnGatewayAvailabilityZonesPtrOutput) Tunnel2() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnGatewayAvailabilityZones) *string { +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase2PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { if v == nil { return nil } - return &v.Tunnel2 + return v.EncryptionAlgorithms + }).(pulumi.StringArrayOutput) +} + +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase2PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { + if v == nil { + return nil + } + return v.IntegrityAlgorithms + }).(pulumi.StringArrayOutput) +} + +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel1Phase2PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *int { + if v == nil { + return nil + } + return v.RekeyTime + }).(pulumi.IntPtrOutput) +} + +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel1Phase2PtrOutput) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *string { + if v == nil { + return nil + } + return v.StartAction }).(pulumi.StringPtrOutput) } -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"` +type VpnConnectionTunnel2 struct { + Bgp *VpnConnectionTunnel2Bgp `pulumi:"bgp"` + Peering *VpnConnectionTunnel2Peering `pulumi:"peering"` + Phase1 VpnConnectionTunnel2Phase1 `pulumi:"phase1"` + Phase2 VpnConnectionTunnel2Phase2 `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey *string `pulumi:"preSharedKey"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. + PreSharedKeyWo *string `pulumi:"preSharedKeyWo"` + // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. + PreSharedKeyWoVersion *int `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress string `pulumi:"remoteAddress"` } -// VpnGatewayBgpInput is an input type that accepts VpnGatewayBgpArgs and VpnGatewayBgpOutput values. -// You can construct a concrete instance of `VpnGatewayBgpInput` via: +// VpnConnectionTunnel2Input is an input type that accepts VpnConnectionTunnel2Args and VpnConnectionTunnel2Output values. +// You can construct a concrete instance of `VpnConnectionTunnel2Input` via: // -// VpnGatewayBgpArgs{...} -type VpnGatewayBgpInput interface { +// VpnConnectionTunnel2Args{...} +type VpnConnectionTunnel2Input interface { pulumi.Input - ToVpnGatewayBgpOutput() VpnGatewayBgpOutput - ToVpnGatewayBgpOutputWithContext(context.Context) VpnGatewayBgpOutput + ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output + ToVpnConnectionTunnel2OutputWithContext(context.Context) VpnConnectionTunnel2Output } -type VpnGatewayBgpArgs struct { - // Local ASN for BGP (private ASN range, 64512-4294967294). - LocalAsn pulumi.IntInput `pulumi:"localAsn"` - // List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. - OverrideAdvertisedRoutes pulumi.StringArrayInput `pulumi:"overrideAdvertisedRoutes"` +type VpnConnectionTunnel2Args struct { + Bgp VpnConnectionTunnel2BgpPtrInput `pulumi:"bgp"` + Peering VpnConnectionTunnel2PeeringPtrInput `pulumi:"peering"` + Phase1 VpnConnectionTunnel2Phase1Input `pulumi:"phase1"` + Phase2 VpnConnectionTunnel2Phase2Input `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey pulumi.StringPtrInput `pulumi:"preSharedKey"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. + PreSharedKeyWo pulumi.StringPtrInput `pulumi:"preSharedKeyWo"` + // User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. + PreSharedKeyWoVersion pulumi.IntPtrInput `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (VpnGatewayBgpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() +func (VpnConnectionTunnel2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2)(nil)).Elem() } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { - return i.ToVpnGatewayBgpOutputWithContext(context.Background()) +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output { + return i.ToVpnConnectionTunnel2OutputWithContext(context.Background()) } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput) +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Output) } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { - return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { + return i.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput).ToVpnGatewayBgpPtrOutputWithContext(ctx) +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Output).ToVpnConnectionTunnel2PtrOutputWithContext(ctx) } -// VpnGatewayBgpPtrInput is an input type that accepts VpnGatewayBgpArgs, VpnGatewayBgpPtr and VpnGatewayBgpPtrOutput values. -// You can construct a concrete instance of `VpnGatewayBgpPtrInput` via: +// VpnConnectionTunnel2PtrInput is an input type that accepts VpnConnectionTunnel2Args, VpnConnectionTunnel2Ptr and VpnConnectionTunnel2PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2PtrInput` via: // -// VpnGatewayBgpArgs{...} +// VpnConnectionTunnel2Args{...} // // or: // // nil -type VpnGatewayBgpPtrInput interface { +type VpnConnectionTunnel2PtrInput interface { pulumi.Input - ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput - ToVpnGatewayBgpPtrOutputWithContext(context.Context) VpnGatewayBgpPtrOutput + ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput + ToVpnConnectionTunnel2PtrOutputWithContext(context.Context) VpnConnectionTunnel2PtrOutput } -type vpnGatewayBgpPtrType VpnGatewayBgpArgs +type vpnConnectionTunnel2PtrType VpnConnectionTunnel2Args -func VpnGatewayBgpPtr(v *VpnGatewayBgpArgs) VpnGatewayBgpPtrInput { - return (*vpnGatewayBgpPtrType)(v) +func VpnConnectionTunnel2Ptr(v *VpnConnectionTunnel2Args) VpnConnectionTunnel2PtrInput { + return (*vpnConnectionTunnel2PtrType)(v) } -func (*vpnGatewayBgpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() +func (*vpnConnectionTunnel2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2)(nil)).Elem() } -func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { - return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel2PtrType) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { + return i.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) } -func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpPtrOutput) +func (i *vpnConnectionTunnel2PtrType) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PtrOutput) } -type VpnGatewayBgpOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Output struct{ *pulumi.OutputState } -func (VpnGatewayBgpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() +func (VpnConnectionTunnel2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2)(nil)).Elem() } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output { return o } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Output { return o } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { - return o.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { + return o.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayBgp) *VpnGatewayBgp { +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2) *VpnConnectionTunnel2 { return &v - }).(VpnGatewayBgpPtrOutput) + }).(VpnConnectionTunnel2PtrOutput) } -// Local ASN for BGP (private ASN range, 64512-4294967294). -func (o VpnGatewayBgpOutput) LocalAsn() pulumi.IntOutput { - return o.ApplyT(func(v VpnGatewayBgp) int { return v.LocalAsn }).(pulumi.IntOutput) +func (o VpnConnectionTunnel2Output) Bgp() VpnConnectionTunnel2BgpPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *VpnConnectionTunnel2Bgp { return v.Bgp }).(VpnConnectionTunnel2BgpPtrOutput) } -// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. -func (o VpnGatewayBgpOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnGatewayBgp) []string { return v.OverrideAdvertisedRoutes }).(pulumi.StringArrayOutput) +func (o VpnConnectionTunnel2Output) Peering() VpnConnectionTunnel2PeeringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *VpnConnectionTunnel2Peering { return v.Peering }).(VpnConnectionTunnel2PeeringPtrOutput) } -type VpnGatewayBgpPtrOutput struct{ *pulumi.OutputState } - -func (VpnGatewayBgpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() +func (o VpnConnectionTunnel2Output) Phase1() VpnConnectionTunnel2Phase1Output { + return o.ApplyT(func(v VpnConnectionTunnel2) VpnConnectionTunnel2Phase1 { return v.Phase1 }).(VpnConnectionTunnel2Phase1Output) } -func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { - return o +func (o VpnConnectionTunnel2Output) Phase2() VpnConnectionTunnel2Phase2Output { + return o.ApplyT(func(v VpnConnectionTunnel2) VpnConnectionTunnel2Phase2 { return v.Phase2 }).(VpnConnectionTunnel2Phase2Output) } -func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { - return o +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel2Output) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) } -func (o VpnGatewayBgpPtrOutput) Elem() VpnGatewayBgpOutput { - return o.ApplyT(func(v *VpnGatewayBgp) VpnGatewayBgp { +// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. +func (o VpnConnectionTunnel2Output) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *string { return v.PreSharedKeyWo }).(pulumi.StringPtrOutput) +} + +// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. +func (o VpnConnectionTunnel2Output) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *int { return v.PreSharedKeyWoVersion }).(pulumi.IntPtrOutput) +} + +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel2Output) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) string { return v.RemoteAddress }).(pulumi.StringOutput) +} + +type VpnConnectionTunnel2PtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2)(nil)).Elem() +} + +func (o VpnConnectionTunnel2PtrOutput) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { + return o +} + +func (o VpnConnectionTunnel2PtrOutput) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { + return o +} + +func (o VpnConnectionTunnel2PtrOutput) Elem() VpnConnectionTunnel2Output { + return o.ApplyT(func(v *VpnConnectionTunnel2) VpnConnectionTunnel2 { if v != nil { return *v } - var ret VpnGatewayBgp + var ret VpnConnectionTunnel2 return ret - }).(VpnGatewayBgpOutput) + }).(VpnConnectionTunnel2Output) } -// Local ASN for BGP (private ASN range, 64512-4294967294). -func (o VpnGatewayBgpPtrOutput) LocalAsn() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnGatewayBgp) *int { +func (o VpnConnectionTunnel2PtrOutput) Bgp() VpnConnectionTunnel2BgpPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Bgp { if v == nil { return nil } - return &v.LocalAsn - }).(pulumi.IntPtrOutput) + return v.Bgp + }).(VpnConnectionTunnel2BgpPtrOutput) } -// 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 { +func (o VpnConnectionTunnel2PtrOutput) Peering() VpnConnectionTunnel2PeeringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Peering { if v == nil { return nil } - return v.OverrideAdvertisedRoutes - }).(pulumi.StringArrayOutput) + return v.Peering + }).(VpnConnectionTunnel2PeeringPtrOutput) } -type GetApplicationLoadBalancerError struct { - // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. - Description string `pulumi:"description"` - // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. - Type string `pulumi:"type"` +func (o VpnConnectionTunnel2PtrOutput) Phase1() VpnConnectionTunnel2Phase1PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Phase1 { + if v == nil { + return nil + } + return &v.Phase1 + }).(VpnConnectionTunnel2Phase1PtrOutput) } -// GetApplicationLoadBalancerErrorInput is an input type that accepts GetApplicationLoadBalancerErrorArgs and GetApplicationLoadBalancerErrorOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerErrorInput` via: -// -// GetApplicationLoadBalancerErrorArgs{...} -type GetApplicationLoadBalancerErrorInput interface { - pulumi.Input +func (o VpnConnectionTunnel2PtrOutput) Phase2() VpnConnectionTunnel2Phase2PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Phase2 { + if v == nil { + return nil + } + return &v.Phase2 + }).(VpnConnectionTunnel2Phase2PtrOutput) +} - ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput - ToGetApplicationLoadBalancerErrorOutputWithContext(context.Context) GetApplicationLoadBalancerErrorOutput +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel2PtrOutput) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *string { + if v == nil { + return nil + } + return v.PreSharedKey + }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerErrorArgs struct { - // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. - Description pulumi.StringInput `pulumi:"description"` - // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. - Type pulumi.StringInput `pulumi:"type"` +// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update. +func (o VpnConnectionTunnel2PtrOutput) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *string { + if v == nil { + return nil + } + return v.PreSharedKeyWo + }).(pulumi.StringPtrOutput) } -func (GetApplicationLoadBalancerErrorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() +// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state. +func (o VpnConnectionTunnel2PtrOutput) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *int { + if v == nil { + return nil + } + return v.PreSharedKeyWoVersion + }).(pulumi.IntPtrOutput) } -func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { - return i.ToGetApplicationLoadBalancerErrorOutputWithContext(context.Background()) +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel2PtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *string { + if v == nil { + return nil + } + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) } -func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorOutput) +type VpnConnectionTunnel2Bgp struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn int `pulumi:"remoteAsn"` } -// GetApplicationLoadBalancerErrorArrayInput is an input type that accepts GetApplicationLoadBalancerErrorArray and GetApplicationLoadBalancerErrorArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerErrorArrayInput` via: +// VpnConnectionTunnel2BgpInput is an input type that accepts VpnConnectionTunnel2BgpArgs and VpnConnectionTunnel2BgpOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2BgpInput` via: // -// GetApplicationLoadBalancerErrorArray{ GetApplicationLoadBalancerErrorArgs{...} } -type GetApplicationLoadBalancerErrorArrayInput interface { +// VpnConnectionTunnel2BgpArgs{...} +type VpnConnectionTunnel2BgpInput interface { pulumi.Input - ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput - ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Context) GetApplicationLoadBalancerErrorArrayOutput + ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput + ToVpnConnectionTunnel2BgpOutputWithContext(context.Context) VpnConnectionTunnel2BgpOutput } -type GetApplicationLoadBalancerErrorArray []GetApplicationLoadBalancerErrorInput +type VpnConnectionTunnel2BgpArgs struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` +} -func (GetApplicationLoadBalancerErrorArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() +func (VpnConnectionTunnel2BgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Bgp)(nil)).Elem() } -func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { - return i.ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Background()) +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput { + return i.ToVpnConnectionTunnel2BgpOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorArrayOutput) +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpOutput) } -type GetApplicationLoadBalancerErrorOutput struct{ *pulumi.OutputState } +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { + return i.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) +} -func (GetApplicationLoadBalancerErrorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpOutput).ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx) } -func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { - return o +// VpnConnectionTunnel2BgpPtrInput is an input type that accepts VpnConnectionTunnel2BgpArgs, VpnConnectionTunnel2BgpPtr and VpnConnectionTunnel2BgpPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2BgpPtrInput` via: +// +// VpnConnectionTunnel2BgpArgs{...} +// +// or: +// +// nil +type VpnConnectionTunnel2BgpPtrInput interface { + pulumi.Input + + ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput + ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Context) VpnConnectionTunnel2BgpPtrOutput } -func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { - return o +type vpnConnectionTunnel2BgpPtrType VpnConnectionTunnel2BgpArgs + +func VpnConnectionTunnel2BgpPtr(v *VpnConnectionTunnel2BgpArgs) VpnConnectionTunnel2BgpPtrInput { + return (*vpnConnectionTunnel2BgpPtrType)(v) } -// The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. -func (o GetApplicationLoadBalancerErrorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Description }).(pulumi.StringOutput) +func (*vpnConnectionTunnel2BgpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Bgp)(nil)).Elem() } -// The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. -func (o GetApplicationLoadBalancerErrorOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Type }).(pulumi.StringOutput) +func (i *vpnConnectionTunnel2BgpPtrType) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { + return i.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerErrorArrayOutput struct{ *pulumi.OutputState } +func (i *vpnConnectionTunnel2BgpPtrType) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpPtrOutput) +} -func (GetApplicationLoadBalancerErrorArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() +type VpnConnectionTunnel2BgpOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel2BgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Bgp)(nil)).Elem() } -func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput { return o } -func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpOutput { return o } -func (o GetApplicationLoadBalancerErrorArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerErrorOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerError { - return vs[0].([]GetApplicationLoadBalancerError)[vs[1].(int)] - }).(GetApplicationLoadBalancerErrorOutput) +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { + return o.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListener struct { - // Configuration for HTTP traffic. - Http GetApplicationLoadBalancerListenerHttp `pulumi:"http"` - // Configuration for handling HTTPS traffic on this listener. - Https GetApplicationLoadBalancerListenerHttps `pulumi:"https"` - // Unique name for the listener - Name string `pulumi:"name"` - // Port number on which the listener receives incoming traffic. - Port int `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. - Protocol string `pulumi:"protocol"` - // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. - WafConfigName string `pulumi:"wafConfigName"` +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Bgp) *VpnConnectionTunnel2Bgp { + return &v + }).(VpnConnectionTunnel2BgpPtrOutput) } -// GetApplicationLoadBalancerListenerInput is an input type that accepts GetApplicationLoadBalancerListenerArgs and GetApplicationLoadBalancerListenerOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerInput` via: -// -// GetApplicationLoadBalancerListenerArgs{...} -type GetApplicationLoadBalancerListenerInput interface { - pulumi.Input +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel2BgpOutput) RemoteAsn() pulumi.IntOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) +} - ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput - ToGetApplicationLoadBalancerListenerOutputWithContext(context.Context) GetApplicationLoadBalancerListenerOutput +type VpnConnectionTunnel2BgpPtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel2BgpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Bgp)(nil)).Elem() } -type GetApplicationLoadBalancerListenerArgs struct { - // Configuration for HTTP traffic. - Http GetApplicationLoadBalancerListenerHttpInput `pulumi:"http"` - // Configuration for handling HTTPS traffic on this listener. - Https GetApplicationLoadBalancerListenerHttpsInput `pulumi:"https"` - // Unique name for the listener - Name pulumi.StringInput `pulumi:"name"` - // Port number on which the listener receives incoming traffic. - Port pulumi.IntInput `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. - Protocol pulumi.StringInput `pulumi:"protocol"` - // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. - WafConfigName pulumi.StringInput `pulumi:"wafConfigName"` +func (o VpnConnectionTunnel2BgpPtrOutput) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { + return o } -func (GetApplicationLoadBalancerListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() +func (o VpnConnectionTunnel2BgpPtrOutput) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { + return o } -func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { - return i.ToGetApplicationLoadBalancerListenerOutputWithContext(context.Background()) +func (o VpnConnectionTunnel2BgpPtrOutput) Elem() VpnConnectionTunnel2BgpOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Bgp) VpnConnectionTunnel2Bgp { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Bgp + return ret + }).(VpnConnectionTunnel2BgpOutput) } -func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerOutput) +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel2BgpPtrOutput) RemoteAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Bgp) *int { + if v == nil { + return nil + } + return &v.RemoteAsn + }).(pulumi.IntPtrOutput) } -// GetApplicationLoadBalancerListenerArrayInput is an input type that accepts GetApplicationLoadBalancerListenerArray and GetApplicationLoadBalancerListenerArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerArrayInput` via: +type VpnConnectionTunnel2Peering struct { + // Local tunnel interface IPv4 address. + LocalAddress string `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress string `pulumi:"remoteAddress"` +} + +// VpnConnectionTunnel2PeeringInput is an input type that accepts VpnConnectionTunnel2PeeringArgs and VpnConnectionTunnel2PeeringOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2PeeringInput` via: // -// GetApplicationLoadBalancerListenerArray{ GetApplicationLoadBalancerListenerArgs{...} } -type GetApplicationLoadBalancerListenerArrayInput interface { +// VpnConnectionTunnel2PeeringArgs{...} +type VpnConnectionTunnel2PeeringInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput - ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerArrayOutput + ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput + ToVpnConnectionTunnel2PeeringOutputWithContext(context.Context) VpnConnectionTunnel2PeeringOutput } -type GetApplicationLoadBalancerListenerArray []GetApplicationLoadBalancerListenerInput - -func (GetApplicationLoadBalancerListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() +type VpnConnectionTunnel2PeeringArgs struct { + // Local tunnel interface IPv4 address. + LocalAddress pulumi.StringInput `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { - return i.ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Background()) +func (VpnConnectionTunnel2PeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Peering)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerArrayOutput) +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput { + return i.ToVpnConnectionTunnel2PeeringOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringOutput) } -func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { - return o +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return i.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) } -func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { - return o +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringOutput).ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx) } -// Configuration for HTTP traffic. -func (o GetApplicationLoadBalancerListenerOutput) Http() GetApplicationLoadBalancerListenerHttpOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttp { return v.Http }).(GetApplicationLoadBalancerListenerHttpOutput) -} +// VpnConnectionTunnel2PeeringPtrInput is an input type that accepts VpnConnectionTunnel2PeeringArgs, VpnConnectionTunnel2PeeringPtr and VpnConnectionTunnel2PeeringPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2PeeringPtrInput` via: +// +// VpnConnectionTunnel2PeeringArgs{...} +// +// or: +// +// nil +type VpnConnectionTunnel2PeeringPtrInput interface { + pulumi.Input -// Configuration for handling HTTPS traffic on this listener. -func (o GetApplicationLoadBalancerListenerOutput) Https() GetApplicationLoadBalancerListenerHttpsOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttps { return v.Https }).(GetApplicationLoadBalancerListenerHttpsOutput) + ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput + ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Context) VpnConnectionTunnel2PeeringPtrOutput } -// Unique name for the listener -func (o GetApplicationLoadBalancerListenerOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Name }).(pulumi.StringOutput) +type vpnConnectionTunnel2PeeringPtrType VpnConnectionTunnel2PeeringArgs + +func VpnConnectionTunnel2PeeringPtr(v *VpnConnectionTunnel2PeeringArgs) VpnConnectionTunnel2PeeringPtrInput { + return (*vpnConnectionTunnel2PeeringPtrType)(v) } -// Port number on which the listener receives incoming traffic. -func (o GetApplicationLoadBalancerListenerOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) int { return v.Port }).(pulumi.IntOutput) +func (*vpnConnectionTunnel2PeeringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Peering)(nil)).Elem() } -// Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. -func (o GetApplicationLoadBalancerListenerOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Protocol }).(pulumi.StringOutput) +func (i *vpnConnectionTunnel2PeeringPtrType) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return i.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) } -// Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. -func (o GetApplicationLoadBalancerListenerOutput) WafConfigName() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.WafConfigName }).(pulumi.StringOutput) +func (i *vpnConnectionTunnel2PeeringPtrType) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringPtrOutput) } -type GetApplicationLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2PeeringOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() +func (VpnConnectionTunnel2PeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Peering)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput { return o } -func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringOutput { return o } -func (o GetApplicationLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListener { - return vs[0].([]GetApplicationLoadBalancerListener)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerOutput) +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return o.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttp struct { - // Defines routing rules grouped by hostname. - Hosts []GetApplicationLoadBalancerListenerHttpHost `pulumi:"hosts"` +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Peering) *VpnConnectionTunnel2Peering { + return &v + }).(VpnConnectionTunnel2PeeringPtrOutput) } -// GetApplicationLoadBalancerListenerHttpInput is an input type that accepts GetApplicationLoadBalancerListenerHttpArgs and GetApplicationLoadBalancerListenerHttpOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpInput` via: -// -// GetApplicationLoadBalancerListenerHttpArgs{...} -type GetApplicationLoadBalancerListenerHttpInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput - ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpOutput +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringOutput) LocalAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Peering) string { return v.LocalAddress }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerListenerHttpArgs struct { - // Defines routing rules grouped by hostname. - Hosts GetApplicationLoadBalancerListenerHttpHostArrayInput `pulumi:"hosts"` +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringOutput) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) } -func (GetApplicationLoadBalancerListenerHttpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() -} +type VpnConnectionTunnel2PeeringPtrOutput struct{ *pulumi.OutputState } -func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { - return i.ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Background()) +func (VpnConnectionTunnel2PeeringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Peering)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpOutput) +func (o VpnConnectionTunnel2PeeringPtrOutput) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return o } -type GetApplicationLoadBalancerListenerHttpOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerListenerHttpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() +func (o VpnConnectionTunnel2PeeringPtrOutput) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return o } -func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { - return o +func (o VpnConnectionTunnel2PeeringPtrOutput) Elem() VpnConnectionTunnel2PeeringOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Peering) VpnConnectionTunnel2Peering { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Peering + return ret + }).(VpnConnectionTunnel2PeeringOutput) } -func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { - return o +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringPtrOutput) LocalAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Peering) *string { + if v == nil { + return nil + } + return &v.LocalAddress + }).(pulumi.StringPtrOutput) } -// Defines routing rules grouped by hostname. -func (o GetApplicationLoadBalancerListenerHttpOutput) Hosts() GetApplicationLoadBalancerListenerHttpHostArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttp) []GetApplicationLoadBalancerListenerHttpHost { - return v.Hosts - }).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringPtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Peering) *string { + if v == nil { + return nil + } + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHost struct { - // Hostname to match. Supports wildcards (e.g. *.example.com). - Host string `pulumi:"host"` - // Routing rules under the specified host, matched by path prefix. - Rules []GetApplicationLoadBalancerListenerHttpHostRule `pulumi:"rules"` +type VpnConnectionTunnel2Phase1 struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups []string `pulumi:"dhGroups"` + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + RekeyTime *int `pulumi:"rekeyTime"` } -// GetApplicationLoadBalancerListenerHttpHostInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArgs and GetApplicationLoadBalancerListenerHttpHostOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostInput` via: +// VpnConnectionTunnel2Phase1Input is an input type that accepts VpnConnectionTunnel2Phase1Args and VpnConnectionTunnel2Phase1Output values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase1Input` via: // -// GetApplicationLoadBalancerListenerHttpHostArgs{...} -type GetApplicationLoadBalancerListenerHttpHostInput interface { +// VpnConnectionTunnel2Phase1Args{...} +type VpnConnectionTunnel2Phase1Input interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput - ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostOutput -} - -type GetApplicationLoadBalancerListenerHttpHostArgs struct { - // Hostname to match. Supports wildcards (e.g. *.example.com). - Host pulumi.StringInput `pulumi:"host"` - // Routing rules under the specified host, matched by path prefix. - Rules GetApplicationLoadBalancerListenerHttpHostRuleArrayInput `pulumi:"rules"` -} - -func (GetApplicationLoadBalancerListenerHttpHostArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() + ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output + ToVpnConnectionTunnel2Phase1OutputWithContext(context.Context) VpnConnectionTunnel2Phase1Output } -func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Background()) +type VpnConnectionTunnel2Phase1Args struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` } -func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostOutput) +func (VpnConnectionTunnel2Phase1Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase1)(nil)).Elem() } -// GetApplicationLoadBalancerListenerHttpHostArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArray and GetApplicationLoadBalancerListenerHttpHostArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostArrayInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostArray{ GetApplicationLoadBalancerListenerHttpHostArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostArrayInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output { + return i.ToVpnConnectionTunnel2Phase1OutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHostArray []GetApplicationLoadBalancerListenerHttpHostInput - -func (GetApplicationLoadBalancerListenerHttpHostArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1Output) } -func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Background()) +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { + return i.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1Output).ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx) } -type GetApplicationLoadBalancerListenerHttpHostOutput struct{ *pulumi.OutputState } +// VpnConnectionTunnel2Phase1PtrInput is an input type that accepts VpnConnectionTunnel2Phase1Args, VpnConnectionTunnel2Phase1Ptr and VpnConnectionTunnel2Phase1PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase1PtrInput` via: +// +// VpnConnectionTunnel2Phase1Args{...} +// +// or: +// +// nil +type VpnConnectionTunnel2Phase1PtrInput interface { + pulumi.Input -func (GetApplicationLoadBalancerListenerHttpHostOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() + ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput + ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Context) VpnConnectionTunnel2Phase1PtrOutput } -func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { - return o +type vpnConnectionTunnel2Phase1PtrType VpnConnectionTunnel2Phase1Args + +func VpnConnectionTunnel2Phase1Ptr(v *VpnConnectionTunnel2Phase1Args) VpnConnectionTunnel2Phase1PtrInput { + return (*vpnConnectionTunnel2Phase1PtrType)(v) } -func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { - return o +func (*vpnConnectionTunnel2Phase1PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase1)(nil)).Elem() } -// Hostname to match. Supports wildcards (e.g. *.example.com). -func (o GetApplicationLoadBalancerListenerHttpHostOutput) Host() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) string { return v.Host }).(pulumi.StringOutput) +func (i *vpnConnectionTunnel2Phase1PtrType) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { + return i.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) } -// Routing rules under the specified host, matched by path prefix. -func (o GetApplicationLoadBalancerListenerHttpHostOutput) Rules() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) []GetApplicationLoadBalancerListenerHttpHostRule { - return v.Rules - }).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) +func (i *vpnConnectionTunnel2Phase1PtrType) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1PtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostArrayOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Phase1Output struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpHostArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() +func (VpnConnectionTunnel2Phase1Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase1)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output { return o } -func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1Output { return o } -func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHost { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHost)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostOutput) -} - -type GetApplicationLoadBalancerListenerHttpHostRule struct { - // Routing persistence via cookies. - CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence `pulumi:"cookiePersistence"` - // Headers for the rule. - Headers []GetApplicationLoadBalancerListenerHttpHostRuleHeader `pulumi:"headers"` - // Routing via path. - Path GetApplicationLoadBalancerListenerHttpHostRulePath `pulumi:"path"` - // Query parameters for the rule. - QueryParameters []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter `pulumi:"queryParameters"` - // Reference target pool by target pool name. - TargetPool string `pulumi:"targetPool"` - // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. - WebSocket bool `pulumi:"webSocket"` +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { + return o.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) } -// GetApplicationLoadBalancerListenerHttpHostRuleInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArgs and GetApplicationLoadBalancerListenerHttpHostRuleOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Phase1) *VpnConnectionTunnel2Phase1 { + return &v + }).(VpnConnectionTunnel2Phase1PtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleArgs struct { - // Routing persistence via cookies. - CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput `pulumi:"cookiePersistence"` - // Headers for the rule. - Headers GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput `pulumi:"headers"` - // Routing via path. - Path GetApplicationLoadBalancerListenerHttpHostRulePathInput `pulumi:"path"` - // Query parameters for the rule. - QueryParameters GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput `pulumi:"queryParameters"` - // Reference target pool by target pool name. - TargetPool pulumi.StringInput `pulumi:"targetPool"` - // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. - WebSocket pulumi.BoolInput `pulumi:"webSocket"` +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase1Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -func (GetApplicationLoadBalancerListenerHttpHostRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Background()) +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel2Phase1Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArray and GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleArrayInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleArray{ GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostRuleArrayInput interface { - pulumi.Input +type VpnConnectionTunnel2Phase1PtrOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput +func (VpnConnectionTunnel2Phase1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase1)(nil)).Elem() } -type GetApplicationLoadBalancerListenerHttpHostRuleArray []GetApplicationLoadBalancerListenerHttpHostRuleInput - -func (GetApplicationLoadBalancerListenerHttpHostRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +func (o VpnConnectionTunnel2Phase1PtrOutput) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Background()) +func (o VpnConnectionTunnel2Phase1PtrOutput) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) +func (o VpnConnectionTunnel2Phase1PtrOutput) Elem() VpnConnectionTunnel2Phase1Output { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) VpnConnectionTunnel2Phase1 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Phase1 + return ret + }).(VpnConnectionTunnel2Phase1Output) } -type GetApplicationLoadBalancerListenerHttpHostRuleOutput struct{ *pulumi.OutputState } +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase1PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { + if v == nil { + return nil + } + return v.DhGroups + }).(pulumi.StringArrayOutput) +} -func (GetApplicationLoadBalancerListenerHttpHostRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase1PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { + if v == nil { + return nil + } + return v.EncryptionAlgorithms + }).(pulumi.StringArrayOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return o +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase1PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { + if v == nil { + return nil + } + return v.IntegrityAlgorithms + }).(pulumi.StringArrayOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return o +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel2Phase1PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) *int { + if v == nil { + return nil + } + return v.RekeyTime + }).(pulumi.IntPtrOutput) } -// Routing persistence via cookies. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) CookiePersistence() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence { - return v.CookiePersistence - }).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) +type VpnConnectionTunnel2Phase2 struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups []string `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction *string `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime *int `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction *string `pulumi:"startAction"` } -// Headers for the rule. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Headers() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleHeader { - return v.Headers - }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) +// VpnConnectionTunnel2Phase2Input is an input type that accepts VpnConnectionTunnel2Phase2Args and VpnConnectionTunnel2Phase2Output values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase2Input` via: +// +// VpnConnectionTunnel2Phase2Args{...} +type VpnConnectionTunnel2Phase2Input interface { + pulumi.Input + + ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output + ToVpnConnectionTunnel2Phase2OutputWithContext(context.Context) VpnConnectionTunnel2Phase2Output } -// Routing via path. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Path() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRulePath { - return v.Path - }).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) -} - -// Query parameters for the rule. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) QueryParameters() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { - return v.QueryParameters - }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) -} - -// Reference target pool by target pool name. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) TargetPool() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) string { return v.TargetPool }).(pulumi.StringOutput) -} - -// If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) WebSocket() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) bool { return v.WebSocket }).(pulumi.BoolOutput) +type VpnConnectionTunnel2Phase2Args struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction pulumi.StringPtrInput `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction pulumi.StringPtrInput `pulumi:"startAction"` } -type GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +func (VpnConnectionTunnel2Phase2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase2)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return o +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output { + return i.ToVpnConnectionTunnel2Phase2OutputWithContext(context.Background()) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return o +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2Output) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRule { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRule)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { + return i.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence struct { - // The name of the cookie to use. - Name string `pulumi:"name"` - // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. - Ttl string `pulumi:"ttl"` +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2Output).ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx) } -// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs and GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput` via: +// VpnConnectionTunnel2Phase2PtrInput is an input type that accepts VpnConnectionTunnel2Phase2Args, VpnConnectionTunnel2Phase2Ptr and VpnConnectionTunnel2Phase2PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase2PtrInput` via: // -// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput interface { +// VpnConnectionTunnel2Phase2Args{...} +// +// or: +// +// nil +type VpnConnectionTunnel2Phase2PtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput + ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput + ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Context) VpnConnectionTunnel2Phase2PtrOutput } -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs struct { - // The name of the cookie to use. - Name pulumi.StringInput `pulumi:"name"` - // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. - Ttl pulumi.StringInput `pulumi:"ttl"` +type vpnConnectionTunnel2Phase2PtrType VpnConnectionTunnel2Phase2Args + +func VpnConnectionTunnel2Phase2Ptr(v *VpnConnectionTunnel2Phase2Args) VpnConnectionTunnel2Phase2PtrInput { + return (*vpnConnectionTunnel2Phase2PtrType)(v) } -func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() +func (*vpnConnectionTunnel2Phase2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase2)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel2Phase2PtrType) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { + return i.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) +func (i *vpnConnectionTunnel2Phase2PtrType) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2PtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Phase2Output struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() +func (VpnConnectionTunnel2Phase2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase2)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2Output { return o } -// The name of the cookie to use. -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Name }).(pulumi.StringOutput) +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { + return o.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) } -// TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Ttl() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Ttl }).(pulumi.StringOutput) +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Phase2) *VpnConnectionTunnel2Phase2 { + return &v + }).(VpnConnectionTunnel2Phase2PtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleHeader struct { - // Exact match for the header value. - ExactMatch string `pulumi:"exactMatch"` - // Header name. - Name string `pulumi:"name"` +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase2Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs and GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel2Phase2Output) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *string { return v.DpdAction }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs struct { - // Exact match for the header value. - ExactMatch pulumi.StringInput `pulumi:"exactMatch"` - // Header name. - Name pulumi.StringInput `pulumi:"name"` +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Background()) +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel2Phase2Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel2Phase2Output) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *string { return v.StartAction }).(pulumi.StringPtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray and GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray{ GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput interface { - pulumi.Input +type VpnConnectionTunnel2Phase2PtrOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput +func (VpnConnectionTunnel2Phase2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase2)(nil)).Elem() } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray []GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput - -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +func (o VpnConnectionTunnel2Phase2PtrOutput) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Background()) +func (o VpnConnectionTunnel2Phase2PtrOutput) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) +func (o VpnConnectionTunnel2Phase2PtrOutput) Elem() VpnConnectionTunnel2Phase2Output { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) VpnConnectionTunnel2Phase2 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Phase2 + return ret + }).(VpnConnectionTunnel2Phase2Output) } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput struct{ *pulumi.OutputState } +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase2PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { + if v == nil { + return nil + } + return v.DhGroups + }).(pulumi.StringArrayOutput) +} -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel2Phase2PtrOutput) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *string { + if v == nil { + return nil + } + return v.DpdAction + }).(pulumi.StringPtrOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return o +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase2PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { + if v == nil { + return nil + } + return v.EncryptionAlgorithms + }).(pulumi.StringArrayOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return o +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase2PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { + if v == nil { + return nil + } + return v.IntegrityAlgorithms + }).(pulumi.StringArrayOutput) } -// Exact match for the header value. -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ExactMatch() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.ExactMatch }).(pulumi.StringOutput) +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel2Phase2PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *int { + if v == nil { + return nil + } + return v.RekeyTime + }).(pulumi.IntPtrOutput) } -// Header name. -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.Name }).(pulumi.StringOutput) +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel2Phase2PtrOutput) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *string { + if v == nil { + return nil + } + return v.StartAction + }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput struct{ *pulumi.OutputState } +type VpnGatewayAvailabilityZones struct { + // Availability zone for tunnel 1. + Tunnel1 string `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 string `pulumi:"tunnel2"` +} -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +// VpnGatewayAvailabilityZonesInput is an input type that accepts VpnGatewayAvailabilityZonesArgs and VpnGatewayAvailabilityZonesOutput values. +// You can construct a concrete instance of `VpnGatewayAvailabilityZonesInput` via: +// +// VpnGatewayAvailabilityZonesArgs{...} +type VpnGatewayAvailabilityZonesInput interface { + pulumi.Input + + ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput + ToVpnGatewayAvailabilityZonesOutputWithContext(context.Context) VpnGatewayAvailabilityZonesOutput } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return o +type VpnGatewayAvailabilityZonesArgs struct { + // Availability zone for tunnel 1. + Tunnel1 pulumi.StringInput `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 pulumi.StringInput `pulumi:"tunnel2"` } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return o +func (VpnGatewayAvailabilityZonesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleHeader { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleHeader)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { + return i.ToVpnGatewayAvailabilityZonesOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHostRulePath struct { - // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. - ExactMatch string `pulumi:"exactMatch"` - // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. - Prefix string `pulumi:"prefix"` +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput) } -// GetApplicationLoadBalancerListenerHttpHostRulePathInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRulePathArgs and GetApplicationLoadBalancerListenerHttpHostRulePathOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRulePathInput` via: +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: // -// GetApplicationLoadBalancerListenerHttpHostRulePathArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRulePathInput interface { +// VpnGatewayAvailabilityZonesArgs{...} +// +// or: +// +// nil +type VpnGatewayAvailabilityZonesPtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput - ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput + ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput + ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Context) VpnGatewayAvailabilityZonesPtrOutput } -type GetApplicationLoadBalancerListenerHttpHostRulePathArgs struct { - // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. - ExactMatch pulumi.StringInput `pulumi:"exactMatch"` - // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. - Prefix pulumi.StringInput `pulumi:"prefix"` +type vpnGatewayAvailabilityZonesPtrType VpnGatewayAvailabilityZonesArgs + +func VpnGatewayAvailabilityZonesPtr(v *VpnGatewayAvailabilityZonesArgs) VpnGatewayAvailabilityZonesPtrInput { + return (*vpnGatewayAvailabilityZonesPtrType)(v) } -func (GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() +func (*vpnGatewayAvailabilityZonesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Background()) +func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) +func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRulePathOutput struct{ *pulumi.OutputState } +type VpnGatewayAvailabilityZonesOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() +func (VpnGatewayAvailabilityZonesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { return o } -// Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ExactMatch() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.ExactMatch }).(pulumi.StringOutput) +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return o.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) } -// Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.Prefix }).(pulumi.StringOutput) +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayAvailabilityZones) *VpnGatewayAvailabilityZones { + return &v + }).(VpnGatewayAvailabilityZonesPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter struct { - // Exact match for the query parameters value. - ExactMatch string `pulumi:"exactMatch"` - // Query parameter name. - Name string `pulumi:"name"` +// Availability zone for tunnel 1. +func (o VpnGatewayAvailabilityZonesOutput) Tunnel1() pulumi.StringOutput { + return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel1 }).(pulumi.StringOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput interface { - pulumi.Input +// Availability zone for tunnel 2. +func (o VpnGatewayAvailabilityZonesOutput) Tunnel2() pulumi.StringOutput { + return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel2 }).(pulumi.StringOutput) +} - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput +type VpnGatewayAvailabilityZonesPtrOutput struct{ *pulumi.OutputState } + +func (VpnGatewayAvailabilityZonesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs struct { - // Exact match for the query parameters value. - ExactMatch pulumi.StringInput `pulumi:"exactMatch"` - // Query parameter name. - Name pulumi.StringInput `pulumi:"name"` +func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return o } -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Background()) +func (o VpnGatewayAvailabilityZonesPtrOutput) Elem() VpnGatewayAvailabilityZonesOutput { + return o.ApplyT(func(v *VpnGatewayAvailabilityZones) VpnGatewayAvailabilityZones { + if v != nil { + return *v + } + var ret VpnGatewayAvailabilityZones + return ret + }).(VpnGatewayAvailabilityZonesOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) +// 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) } -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray{ GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput interface { - pulumi.Input +// 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) +} - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput +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"` } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput +// 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 -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() + ToVpnGatewayBgpOutput() VpnGatewayBgpOutput + ToVpnGatewayBgpOutputWithContext(context.Context) VpnGatewayBgpOutput } -func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Background()) +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 (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) +func (VpnGatewayBgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { + return i.ToVpnGatewayBgpOutputWithContext(context.Background()) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return o +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return o +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) } -// Exact match for the query parameters value. -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ExactMatch() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.ExactMatch }).(pulumi.StringOutput) +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput).ToVpnGatewayBgpPtrOutputWithContext(ctx) } -// Query parameter name. -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.Name }).(pulumi.StringOutput) +// 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 GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput struct{ *pulumi.OutputState } +type vpnGatewayBgpPtrType VpnGatewayBgpArgs -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +func VpnGatewayBgpPtr(v *VpnGatewayBgpArgs) VpnGatewayBgpPtrInput { + return (*vpnGatewayBgpPtrType)(v) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return o +func (*vpnGatewayBgpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return o +func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) +func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpPtrOutput) } -type GetApplicationLoadBalancerListenerHttps struct { - // TLS termination certificate configuration. - CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfig `pulumi:"certificateConfig"` +type VpnGatewayBgpOutput struct{ *pulumi.OutputState } + +func (VpnGatewayBgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() } -// GetApplicationLoadBalancerListenerHttpsInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsArgs and GetApplicationLoadBalancerListenerHttpsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsInput` via: -// -// GetApplicationLoadBalancerListenerHttpsArgs{...} -type GetApplicationLoadBalancerListenerHttpsInput interface { - pulumi.Input +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { + return o +} - ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput - ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsOutput +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { + return o } -type GetApplicationLoadBalancerListenerHttpsArgs struct { - // TLS termination certificate configuration. - CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfigInput `pulumi:"certificateConfig"` +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return o.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) } -func (GetApplicationLoadBalancerListenerHttpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayBgp) *VpnGatewayBgp { + return &v + }).(VpnGatewayBgpPtrOutput) } -func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { - return i.ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Background()) +// Local ASN for BGP (private ASN range, 64512-4294967294). +func (o VpnGatewayBgpOutput) LocalAsn() pulumi.IntOutput { + return o.ApplyT(func(v VpnGatewayBgp) int { return v.LocalAsn }).(pulumi.IntOutput) } -func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsOutput) +// 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 GetApplicationLoadBalancerListenerHttpsOutput struct{ *pulumi.OutputState } +type VpnGatewayBgpPtrOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() +func (VpnGatewayBgpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { +func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { +func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { return o } -// TLS termination certificate configuration. -func (o GetApplicationLoadBalancerListenerHttpsOutput) CertificateConfig() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttps) GetApplicationLoadBalancerListenerHttpsCertificateConfig { - return v.CertificateConfig - }).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) +func (o VpnGatewayBgpPtrOutput) Elem() VpnGatewayBgpOutput { + return o.ApplyT(func(v *VpnGatewayBgp) VpnGatewayBgp { + if v != nil { + return *v + } + var ret VpnGatewayBgp + return ret + }).(VpnGatewayBgpOutput) } -type GetApplicationLoadBalancerListenerHttpsCertificateConfig struct { - // Certificate IDs for TLS termination. - CertificateIds []string `pulumi:"certificateIds"` +// Local ASN for BGP (private ASN range, 64512-4294967294). +func (o VpnGatewayBgpPtrOutput) LocalAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnGatewayBgp) *int { + if v == nil { + return nil + } + return &v.LocalAsn + }).(pulumi.IntPtrOutput) } -// GetApplicationLoadBalancerListenerHttpsCertificateConfigInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs and GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsCertificateConfigInput` via: +// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. +func (o VpnGatewayBgpPtrOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnGatewayBgp) []string { + if v == nil { + return nil + } + return v.OverrideAdvertisedRoutes + }).(pulumi.StringArrayOutput) +} + +type GetApplicationLoadBalancerError struct { + // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + Description string `pulumi:"description"` + // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + Type string `pulumi:"type"` +} + +// GetApplicationLoadBalancerErrorInput is an input type that accepts GetApplicationLoadBalancerErrorArgs and GetApplicationLoadBalancerErrorOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerErrorInput` via: // -// GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs{...} -type GetApplicationLoadBalancerListenerHttpsCertificateConfigInput interface { +// GetApplicationLoadBalancerErrorArgs{...} +type GetApplicationLoadBalancerErrorInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput - ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput + ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput + ToGetApplicationLoadBalancerErrorOutputWithContext(context.Context) GetApplicationLoadBalancerErrorOutput } -type GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs struct { - // Certificate IDs for TLS termination. - CertificateIds pulumi.StringArrayInput `pulumi:"certificateIds"` +type GetApplicationLoadBalancerErrorArgs struct { + // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + Description pulumi.StringInput `pulumi:"description"` + // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + Type pulumi.StringInput `pulumi:"type"` } -func (GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() +func (GetApplicationLoadBalancerErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return i.ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { + return i.ToGetApplicationLoadBalancerErrorOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) +func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorOutput) } -type GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerErrorArrayInput is an input type that accepts GetApplicationLoadBalancerErrorArray and GetApplicationLoadBalancerErrorArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerErrorArrayInput` via: +// +// GetApplicationLoadBalancerErrorArray{ GetApplicationLoadBalancerErrorArgs{...} } +type GetApplicationLoadBalancerErrorArrayInput interface { + pulumi.Input -func (GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() + ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput + ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Context) GetApplicationLoadBalancerErrorArrayOutput } -func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return o -} +type GetApplicationLoadBalancerErrorArray []GetApplicationLoadBalancerErrorInput -func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return o +func (GetApplicationLoadBalancerErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() } -// Certificate IDs for TLS termination. -func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) CertificateIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpsCertificateConfig) []string { return v.CertificateIds }).(pulumi.StringArrayOutput) +func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { + return i.ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerLoadBalancerSecurityGroup struct { - // ID of the security Group - Id string `pulumi:"id"` - // Name of the security Group - Name string `pulumi:"name"` +func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorArrayOutput) } -// GetApplicationLoadBalancerLoadBalancerSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs and GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerLoadBalancerSecurityGroupInput` via: -// -// GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs{...} -type GetApplicationLoadBalancerLoadBalancerSecurityGroupInput interface { - pulumi.Input +type GetApplicationLoadBalancerErrorOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput - ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput +func (GetApplicationLoadBalancerErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() } -type GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs struct { - // ID of the security Group - Id pulumi.StringInput `pulumi:"id"` - // Name of the security Group - Name pulumi.StringInput `pulumi:"name"` +func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { + return o } -func (GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() +func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { + return o } -func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { - return i.ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Background()) +// The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. +func (o GetApplicationLoadBalancerErrorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Description }).(pulumi.StringOutput) } -func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) +// The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. +func (o GetApplicationLoadBalancerErrorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Type }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerErrorArrayOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() +func (GetApplicationLoadBalancerErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() } -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { +func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { return o } -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { +func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { return o } -// ID of the security Group -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Id }).(pulumi.StringOutput) -} - -// Name of the security Group -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerErrorArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerError { + return vs[0].([]GetApplicationLoadBalancerError)[vs[1].(int)] + }).(GetApplicationLoadBalancerErrorOutput) } -type GetApplicationLoadBalancerNetwork struct { - // STACKIT network ID the Application Load Balancer and/or targets are in. - NetworkId string `pulumi:"networkId"` - // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. - Role string `pulumi:"role"` +type GetApplicationLoadBalancerListener struct { + // Configuration for HTTP traffic. + Http GetApplicationLoadBalancerListenerHttp `pulumi:"http"` + // Configuration for handling HTTPS traffic on this listener. + Https GetApplicationLoadBalancerListenerHttps `pulumi:"https"` + // Unique name for the listener + Name string `pulumi:"name"` + // Port number on which the listener receives incoming traffic. + Port int `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + Protocol string `pulumi:"protocol"` + // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + WafConfigName string `pulumi:"wafConfigName"` } -// GetApplicationLoadBalancerNetworkInput is an input type that accepts GetApplicationLoadBalancerNetworkArgs and GetApplicationLoadBalancerNetworkOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkInput` via: +// GetApplicationLoadBalancerListenerInput is an input type that accepts GetApplicationLoadBalancerListenerArgs and GetApplicationLoadBalancerListenerOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerInput` via: // -// GetApplicationLoadBalancerNetworkArgs{...} -type GetApplicationLoadBalancerNetworkInput interface { +// GetApplicationLoadBalancerListenerArgs{...} +type GetApplicationLoadBalancerListenerInput interface { pulumi.Input - ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput - ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkOutput -} - -type GetApplicationLoadBalancerNetworkArgs struct { - // STACKIT network ID the Application Load Balancer and/or targets are in. - NetworkId pulumi.StringInput `pulumi:"networkId"` - // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. - Role pulumi.StringInput `pulumi:"role"` -} - -func (GetApplicationLoadBalancerNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() + ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput + ToGetApplicationLoadBalancerListenerOutputWithContext(context.Context) GetApplicationLoadBalancerListenerOutput } -func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { - return i.ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Background()) +type GetApplicationLoadBalancerListenerArgs struct { + // Configuration for HTTP traffic. + Http GetApplicationLoadBalancerListenerHttpInput `pulumi:"http"` + // Configuration for handling HTTPS traffic on this listener. + Https GetApplicationLoadBalancerListenerHttpsInput `pulumi:"https"` + // Unique name for the listener + Name pulumi.StringInput `pulumi:"name"` + // Port number on which the listener receives incoming traffic. + Port pulumi.IntInput `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + Protocol pulumi.StringInput `pulumi:"protocol"` + // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + WafConfigName pulumi.StringInput `pulumi:"wafConfigName"` } -func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkOutput) +func (GetApplicationLoadBalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() } -// GetApplicationLoadBalancerNetworkArrayInput is an input type that accepts GetApplicationLoadBalancerNetworkArray and GetApplicationLoadBalancerNetworkArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkArrayInput` via: +func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { + return i.ToGetApplicationLoadBalancerListenerOutputWithContext(context.Background()) +} + +func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerOutput) +} + +// GetApplicationLoadBalancerListenerArrayInput is an input type that accepts GetApplicationLoadBalancerListenerArray and GetApplicationLoadBalancerListenerArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerArrayInput` via: // -// GetApplicationLoadBalancerNetworkArray{ GetApplicationLoadBalancerNetworkArgs{...} } -type GetApplicationLoadBalancerNetworkArrayInput interface { +// GetApplicationLoadBalancerListenerArray{ GetApplicationLoadBalancerListenerArgs{...} } +type GetApplicationLoadBalancerListenerArrayInput interface { pulumi.Input - ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput - ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkArrayOutput + ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput + ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerArrayOutput } -type GetApplicationLoadBalancerNetworkArray []GetApplicationLoadBalancerNetworkInput +type GetApplicationLoadBalancerListenerArray []GetApplicationLoadBalancerListenerInput -func (GetApplicationLoadBalancerNetworkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() +func (GetApplicationLoadBalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() } -func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { - return i.ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { + return i.ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkArrayOutput) +func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerArrayOutput) } -type GetApplicationLoadBalancerNetworkOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() +func (GetApplicationLoadBalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() } -func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { +func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { return o } -func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { +func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { return o } -// STACKIT network ID the Application Load Balancer and/or targets are in. -func (o GetApplicationLoadBalancerNetworkOutput) NetworkId() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +// Configuration for HTTP traffic. +func (o GetApplicationLoadBalancerListenerOutput) Http() GetApplicationLoadBalancerListenerHttpOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttp { return v.Http }).(GetApplicationLoadBalancerListenerHttpOutput) } -// The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. -func (o GetApplicationLoadBalancerNetworkOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.Role }).(pulumi.StringOutput) +// Configuration for handling HTTPS traffic on this listener. +func (o GetApplicationLoadBalancerListenerOutput) Https() GetApplicationLoadBalancerListenerHttpsOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttps { return v.Https }).(GetApplicationLoadBalancerListenerHttpsOutput) } -type GetApplicationLoadBalancerNetworkArrayOutput struct{ *pulumi.OutputState } +// Unique name for the listener +func (o GetApplicationLoadBalancerListenerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Name }).(pulumi.StringOutput) +} -func (GetApplicationLoadBalancerNetworkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() +// Port number on which the listener receives incoming traffic. +func (o GetApplicationLoadBalancerListenerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) int { return v.Port }).(pulumi.IntOutput) } -func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { +// Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. +func (o GetApplicationLoadBalancerListenerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Protocol }).(pulumi.StringOutput) +} + +// Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. +func (o GetApplicationLoadBalancerListenerOutput) WafConfigName() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.WafConfigName }).(pulumi.StringOutput) +} + +type GetApplicationLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() +} + +func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { return o } -func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { +func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { return o } -func (o GetApplicationLoadBalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerNetworkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerNetwork { - return vs[0].([]GetApplicationLoadBalancerNetwork)[vs[1].(int)] - }).(GetApplicationLoadBalancerNetworkOutput) +func (o GetApplicationLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListener { + return vs[0].([]GetApplicationLoadBalancerListener)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerOutput) } -type GetApplicationLoadBalancerOptions struct { - // Use this option to limit the IP ranges that can use the Application Load Balancer. - AccessControl GetApplicationLoadBalancerOptionsAccessControl `pulumi:"accessControl"` - // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. - EphemeralAddress bool `pulumi:"ephemeralAddress"` - // We offer Load Balancer observability via STACKIT Observability or external solutions. - Observability GetApplicationLoadBalancerOptionsObservability `pulumi:"observability"` - // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. - PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` +type GetApplicationLoadBalancerListenerHttp struct { + // Defines routing rules grouped by hostname. + Hosts []GetApplicationLoadBalancerListenerHttpHost `pulumi:"hosts"` } -// GetApplicationLoadBalancerOptionsInput is an input type that accepts GetApplicationLoadBalancerOptionsArgs and GetApplicationLoadBalancerOptionsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsInput` via: +// GetApplicationLoadBalancerListenerHttpInput is an input type that accepts GetApplicationLoadBalancerListenerHttpArgs and GetApplicationLoadBalancerListenerHttpOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpInput` via: // -// GetApplicationLoadBalancerOptionsArgs{...} -type GetApplicationLoadBalancerOptionsInput interface { +// GetApplicationLoadBalancerListenerHttpArgs{...} +type GetApplicationLoadBalancerListenerHttpInput interface { pulumi.Input - ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput - ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsOutput + ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput + ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpOutput } -type GetApplicationLoadBalancerOptionsArgs struct { - // Use this option to limit the IP ranges that can use the Application Load Balancer. - AccessControl GetApplicationLoadBalancerOptionsAccessControlInput `pulumi:"accessControl"` - // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. - EphemeralAddress pulumi.BoolInput `pulumi:"ephemeralAddress"` - // We offer Load Balancer observability via STACKIT Observability or external solutions. - Observability GetApplicationLoadBalancerOptionsObservabilityInput `pulumi:"observability"` - // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. - PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` +type GetApplicationLoadBalancerListenerHttpArgs struct { + // Defines routing rules grouped by hostname. + Hosts GetApplicationLoadBalancerListenerHttpHostArrayInput `pulumi:"hosts"` } -func (GetApplicationLoadBalancerOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() } -func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { - return i.ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { + return i.ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsOutput) +func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpOutput) } -type GetApplicationLoadBalancerOptionsOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() } -func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { +func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { return o } -func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { +func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { return o } -// Use this option to limit the IP ranges that can use the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsOutput) AccessControl() GetApplicationLoadBalancerOptionsAccessControlOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsAccessControl { - return v.AccessControl - }).(GetApplicationLoadBalancerOptionsAccessControlOutput) +// Defines routing rules grouped by hostname. +func (o GetApplicationLoadBalancerListenerHttpOutput) Hosts() GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttp) []GetApplicationLoadBalancerListenerHttpHost { + return v.Hosts + }).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) } -// This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. -func (o GetApplicationLoadBalancerOptionsOutput) EphemeralAddress() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.EphemeralAddress }).(pulumi.BoolOutput) +type GetApplicationLoadBalancerListenerHttpHost struct { + // Hostname to match. Supports wildcards (e.g. *.example.com). + Host string `pulumi:"host"` + // Routing rules under the specified host, matched by path prefix. + Rules []GetApplicationLoadBalancerListenerHttpHostRule `pulumi:"rules"` } -// We offer Load Balancer observability via STACKIT Observability or external solutions. -func (o GetApplicationLoadBalancerOptionsOutput) Observability() GetApplicationLoadBalancerOptionsObservabilityOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsObservability { - return v.Observability - }).(GetApplicationLoadBalancerOptionsObservabilityOutput) +// GetApplicationLoadBalancerListenerHttpHostInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArgs and GetApplicationLoadBalancerListenerHttpHostOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostArgs{...} +type GetApplicationLoadBalancerListenerHttpHostInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput + ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostOutput } -// Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. -func (o GetApplicationLoadBalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) +type GetApplicationLoadBalancerListenerHttpHostArgs struct { + // Hostname to match. Supports wildcards (e.g. *.example.com). + Host pulumi.StringInput `pulumi:"host"` + // Routing rules under the specified host, matched by path prefix. + Rules GetApplicationLoadBalancerListenerHttpHostRuleArrayInput `pulumi:"rules"` } -type GetApplicationLoadBalancerOptionsAccessControl struct { - // Application Load Balancer is accessible only from an IP address in this range. - AllowedSourceRanges []string `pulumi:"allowedSourceRanges"` +func (GetApplicationLoadBalancerListenerHttpHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -// GetApplicationLoadBalancerOptionsAccessControlInput is an input type that accepts GetApplicationLoadBalancerOptionsAccessControlArgs and GetApplicationLoadBalancerOptionsAccessControlOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsAccessControlInput` via: +func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Background()) +} + +func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostOutput) +} + +// GetApplicationLoadBalancerListenerHttpHostArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArray and GetApplicationLoadBalancerListenerHttpHostArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostArrayInput` via: // -// GetApplicationLoadBalancerOptionsAccessControlArgs{...} -type GetApplicationLoadBalancerOptionsAccessControlInput interface { +// GetApplicationLoadBalancerListenerHttpHostArray{ GetApplicationLoadBalancerListenerHttpHostArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostArrayInput interface { pulumi.Input - ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput - ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput + ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput } -type GetApplicationLoadBalancerOptionsAccessControlArgs struct { - // Application Load Balancer is accessible only from an IP address in this range. - AllowedSourceRanges pulumi.StringArrayInput `pulumi:"allowedSourceRanges"` -} +type GetApplicationLoadBalancerListenerHttpHostArray []GetApplicationLoadBalancerListenerHttpHostInput -func (GetApplicationLoadBalancerOptionsAccessControlArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { - return i.ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsAccessControlOutput) +func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) } -type GetApplicationLoadBalancerOptionsAccessControlOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerOptionsAccessControlOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { +func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { return o } -func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { +func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { return o } -// Application Load Balancer is accessible only from an IP address in this range. -func (o GetApplicationLoadBalancerOptionsAccessControlOutput) AllowedSourceRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsAccessControl) []string { return v.AllowedSourceRanges }).(pulumi.StringArrayOutput) +// Hostname to match. Supports wildcards (e.g. *.example.com). +func (o GetApplicationLoadBalancerListenerHttpHostOutput) Host() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) string { return v.Host }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerOptionsObservability struct { - // Observability logs configuration. - Logs GetApplicationLoadBalancerOptionsObservabilityLogs `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetApplicationLoadBalancerOptionsObservabilityMetrics `pulumi:"metrics"` +// Routing rules under the specified host, matched by path prefix. +func (o GetApplicationLoadBalancerListenerHttpHostOutput) Rules() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) []GetApplicationLoadBalancerListenerHttpHostRule { + return v.Rules + }).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) } -// GetApplicationLoadBalancerOptionsObservabilityInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityArgs and GetApplicationLoadBalancerOptionsObservabilityOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityInput` via: -// -// GetApplicationLoadBalancerOptionsObservabilityArgs{...} -type GetApplicationLoadBalancerOptionsObservabilityInput interface { - pulumi.Input +type GetApplicationLoadBalancerListenerHttpHostArrayOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput - ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput +func (GetApplicationLoadBalancerListenerHttpHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -type GetApplicationLoadBalancerOptionsObservabilityArgs struct { - // Observability logs configuration. - Logs GetApplicationLoadBalancerOptionsObservabilityLogsInput `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetApplicationLoadBalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` +func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return o } -func (GetApplicationLoadBalancerOptionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() +func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return o } -func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { - return i.ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHost { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHost)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostOutput) } -func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityOutput) +type GetApplicationLoadBalancerListenerHttpHostRule struct { + // Routing persistence via cookies. + CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence `pulumi:"cookiePersistence"` + // Headers for the rule. + Headers []GetApplicationLoadBalancerListenerHttpHostRuleHeader `pulumi:"headers"` + // Routing via path. + Path GetApplicationLoadBalancerListenerHttpHostRulePath `pulumi:"path"` + // Query parameters for the rule. + QueryParameters []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter `pulumi:"queryParameters"` + // Reference target pool by target pool name. + TargetPool string `pulumi:"targetPool"` + // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. + WebSocket bool `pulumi:"webSocket"` } -type GetApplicationLoadBalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerOptionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() -} +// GetApplicationLoadBalancerListenerHttpHostRuleInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArgs and GetApplicationLoadBalancerListenerHttpHostRuleOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleInput interface { + pulumi.Input -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { - return o + ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput } -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { - return o +type GetApplicationLoadBalancerListenerHttpHostRuleArgs struct { + // Routing persistence via cookies. + CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput `pulumi:"cookiePersistence"` + // Headers for the rule. + Headers GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput `pulumi:"headers"` + // Routing via path. + Path GetApplicationLoadBalancerListenerHttpHostRulePathInput `pulumi:"path"` + // Query parameters for the rule. + QueryParameters GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput `pulumi:"queryParameters"` + // Reference target pool by target pool name. + TargetPool pulumi.StringInput `pulumi:"targetPool"` + // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. + WebSocket pulumi.BoolInput `pulumi:"webSocket"` } -// Observability logs configuration. -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Logs() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityLogs { - return v.Logs - }).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) +func (GetApplicationLoadBalancerListenerHttpHostRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -// Observability metrics configuration. -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Metrics() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityMetrics { - return v.Metrics - }).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerOptionsObservabilityLogs struct { - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl string `pulumi:"pushUrl"` +func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) } -// GetApplicationLoadBalancerOptionsObservabilityLogsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityLogsArgs and GetApplicationLoadBalancerOptionsObservabilityLogsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityLogsInput` via: +// GetApplicationLoadBalancerListenerHttpHostRuleArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArray and GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleArrayInput` via: // -// GetApplicationLoadBalancerOptionsObservabilityLogsArgs{...} -type GetApplicationLoadBalancerOptionsObservabilityLogsInput interface { +// GetApplicationLoadBalancerListenerHttpHostRuleArray{ GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostRuleArrayInput interface { pulumi.Input - ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput - ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput } -type GetApplicationLoadBalancerOptionsObservabilityLogsArgs struct { - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` -} +type GetApplicationLoadBalancerListenerHttpHostRuleArray []GetApplicationLoadBalancerListenerHttpHostRuleInput -func (GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return i.ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) } -type GetApplicationLoadBalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { return o } -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { return o } -// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) -} - -// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) -} - -type GetApplicationLoadBalancerOptionsObservabilityMetrics struct { - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl string `pulumi:"pushUrl"` +// Routing persistence via cookies. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) CookiePersistence() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence { + return v.CookiePersistence + }).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) } -// GetApplicationLoadBalancerOptionsObservabilityMetricsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityMetricsArgs and GetApplicationLoadBalancerOptionsObservabilityMetricsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityMetricsInput` via: -// -// GetApplicationLoadBalancerOptionsObservabilityMetricsArgs{...} -type GetApplicationLoadBalancerOptionsObservabilityMetricsInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput - ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput +// Headers for the rule. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Headers() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleHeader { + return v.Headers + }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) } -type GetApplicationLoadBalancerOptionsObservabilityMetricsArgs struct { - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` +// Routing via path. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Path() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRulePath { + return v.Path + }).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) } -func (GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() +// Query parameters for the rule. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) QueryParameters() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { + return v.QueryParameters + }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) } -func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { - return i.ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) +// Reference target pool by target pool name. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) TargetPool() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) string { return v.TargetPool }).(pulumi.StringOutput) } -func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) +// If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) WebSocket() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) bool { return v.WebSocket }).(pulumi.BoolOutput) } -type GetApplicationLoadBalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { return o } -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { return o } -// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) -} - -// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRule { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRule)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) } -type GetApplicationLoadBalancerTargetPool struct { - ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` - // Target pool name. +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence struct { + // The name of the cookie to use. Name string `pulumi:"name"` - // The number identifying the port where each target listens for traffic. - TargetPort int `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 250. - Targets []GetApplicationLoadBalancerTargetPoolTarget `pulumi:"targets"` - // Configuration for TLS bridging. - TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfig `pulumi:"tlsConfig"` + // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. + Ttl string `pulumi:"ttl"` } -// GetApplicationLoadBalancerTargetPoolInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArgs and GetApplicationLoadBalancerTargetPoolOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolInput` via: +// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs and GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput` via: // -// GetApplicationLoadBalancerTargetPoolArgs{...} -type GetApplicationLoadBalancerTargetPoolInput interface { +// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput - ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput } -type GetApplicationLoadBalancerTargetPoolArgs struct { - ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` - // Target pool name. +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs struct { + // The name of the cookie to use. Name pulumi.StringInput `pulumi:"name"` - // The number identifying the port where each target listens for traffic. - TargetPort pulumi.IntInput `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 250. - Targets GetApplicationLoadBalancerTargetPoolTargetArrayInput `pulumi:"targets"` - // Configuration for TLS bridging. - TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfigInput `pulumi:"tlsConfig"` + // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. + Ttl pulumi.StringInput `pulumi:"ttl"` } -func (GetApplicationLoadBalancerTargetPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { - return i.ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) } -// GetApplicationLoadBalancerTargetPoolArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArray and GetApplicationLoadBalancerTargetPoolArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolArrayInput` via: -// -// GetApplicationLoadBalancerTargetPoolArray{ GetApplicationLoadBalancerTargetPoolArgs{...} } -type GetApplicationLoadBalancerTargetPoolArrayInput interface { - pulumi.Input +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput - ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput +func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() } -type GetApplicationLoadBalancerTargetPoolArray []GetApplicationLoadBalancerTargetPoolInput - -func (GetApplicationLoadBalancerTargetPoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return o } -func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { - return i.ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return o } -func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolArrayOutput) +// The name of the cookie to use. +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Name }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerTargetPoolOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerTargetPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() +// TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Ttl() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Ttl }).(pulumi.StringOutput) } -func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { - return o +type GetApplicationLoadBalancerListenerHttpHostRuleHeader struct { + // Exact match for the header value. + ExactMatch string `pulumi:"exactMatch"` + // Header name. + Name string `pulumi:"name"` } -func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { - return o -} +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs and GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput interface { + pulumi.Input -func (o GetApplicationLoadBalancerTargetPoolOutput) ActiveHealthCheck() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolActiveHealthCheck { - return v.ActiveHealthCheck - }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput } -// Target pool name. -func (o GetApplicationLoadBalancerTargetPoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs struct { + // Exact match for the header value. + ExactMatch pulumi.StringInput `pulumi:"exactMatch"` + // Header name. + Name pulumi.StringInput `pulumi:"name"` } -// The number identifying the port where each target listens for traffic. -func (o GetApplicationLoadBalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() } -// List of all targets which will be used in the pool. Limited to 250. -func (o GetApplicationLoadBalancerTargetPoolOutput) Targets() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) []GetApplicationLoadBalancerTargetPoolTarget { - return v.Targets - }).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Background()) } -// Configuration for TLS bridging. -func (o GetApplicationLoadBalancerTargetPoolOutput) TlsConfig() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolTlsConfig { - return v.TlsConfig - }).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) } -type GetApplicationLoadBalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray and GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray{ GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput interface { + pulumi.Input -func (GetApplicationLoadBalancerTargetPoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput } -func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { - return o -} +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray []GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput -func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { - return o +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPool { - return vs[0].([]GetApplicationLoadBalancerTargetPool)[vs[1].(int)] - }).(GetApplicationLoadBalancerTargetPoolOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheck struct { - // Healthy threshold of the health checking. - HealthyThreshold int `pulumi:"healthyThreshold"` - // Options for the HTTP health checking. - HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks `pulumi:"httpHealthChecks"` - // Interval duration of health checking in seconds. - Interval string `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter string `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout string `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) } -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput` via: -// -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs{...} -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput interface { - pulumi.Input +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs struct { - // Healthy threshold of the health checking. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // Options for the HTTP health checking. - HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput `pulumi:"httpHealthChecks"` - // Interval duration of health checking in seconds. - Interval pulumi.StringInput `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout pulumi.StringInput `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return o } -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return o } -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) +// Exact match for the header value. +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ExactMatch() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.ExactMatch }).(pulumi.StringOutput) } -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) +// Header name. +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.Name }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { return o } -// Healthy threshold of the health checking. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleHeader { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleHeader)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) } -// Options for the HTTP health checking. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HttpHealthChecks() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks { - return v.HttpHealthChecks - }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) +type GetApplicationLoadBalancerListenerHttpHostRulePath struct { + // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. + ExactMatch string `pulumi:"exactMatch"` + // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. + Prefix string `pulumi:"prefix"` } -// Interval duration of health checking in seconds. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) +// GetApplicationLoadBalancerListenerHttpHostRulePathInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRulePathArgs and GetApplicationLoadBalancerListenerHttpHostRulePathOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRulePathInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRulePathArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRulePathInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput + ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput } -// Interval duration threshold of the health checking in seconds. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) +type GetApplicationLoadBalancerListenerHttpHostRulePathArgs struct { + // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. + ExactMatch pulumi.StringInput `pulumi:"exactMatch"` + // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. + Prefix pulumi.StringInput `pulumi:"prefix"` } -// Active health checking timeout duration in seconds. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) +func (GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() } -// Unhealthy threshold of the health checking. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks struct { - // List of HTTP status codes that indicate a healthy response. - OkStatuses []string `pulumi:"okStatuses"` - // Path to send the health check request to. - Path string `pulumi:"path"` -} - -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput` via: -// -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs{...} -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput -} - -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs struct { - // List of HTTP status codes that indicate a healthy response. - OkStatuses pulumi.StringArrayInput `pulumi:"okStatuses"` - // Path to send the health check request to. - Path pulumi.StringInput `pulumi:"path"` -} - -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() -} - -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { - return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Background()) -} - -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRulePathOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { return o } -// List of HTTP status codes that indicate a healthy response. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) OkStatuses() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) []string { - return v.OkStatuses - }).(pulumi.StringArrayOutput) +// Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ExactMatch() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.ExactMatch }).(pulumi.StringOutput) } -// Path to send the health check request to. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) string { return v.Path }).(pulumi.StringOutput) +// Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.Prefix }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerTargetPoolTarget struct { - // Target display name - DisplayName string `pulumi:"displayName"` - // Private target IP, which must by unique within a target pool. - Ip string `pulumi:"ip"` +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter struct { + // Exact match for the query parameters value. + ExactMatch string `pulumi:"exactMatch"` + // Query parameter name. + Name string `pulumi:"name"` } -// GetApplicationLoadBalancerTargetPoolTargetInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArgs and GetApplicationLoadBalancerTargetPoolTargetOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetInput` via: +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput` via: // -// GetApplicationLoadBalancerTargetPoolTargetArgs{...} -type GetApplicationLoadBalancerTargetPoolTargetInput interface { +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput - ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput } -type GetApplicationLoadBalancerTargetPoolTargetArgs struct { - // Target display name - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Private target IP, which must by unique within a target pool. - Ip pulumi.StringInput `pulumi:"ip"` +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs struct { + // Exact match for the query parameters value. + ExactMatch pulumi.StringInput `pulumi:"exactMatch"` + // Query parameter name. + Name pulumi.StringInput `pulumi:"name"` } -func (GetApplicationLoadBalancerTargetPoolTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { - return i.ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) } -// GetApplicationLoadBalancerTargetPoolTargetArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArray and GetApplicationLoadBalancerTargetPoolTargetArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetArrayInput` via: +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput` via: // -// GetApplicationLoadBalancerTargetPoolTargetArray{ GetApplicationLoadBalancerTargetPoolTargetArgs{...} } -type GetApplicationLoadBalancerTargetPoolTargetArrayInput interface { +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray{ GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput - ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput } -type GetApplicationLoadBalancerTargetPoolTargetArray []GetApplicationLoadBalancerTargetPoolTargetInput +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput -func (GetApplicationLoadBalancerTargetPoolTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return i.ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) } -type GetApplicationLoadBalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { return o } -// Target display name -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) +// Exact match for the query parameters value. +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ExactMatch() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.ExactMatch }).(pulumi.StringOutput) } -// Private target IP, which must by unique within a target pool. -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) +// Query parameter name. +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.Name }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPoolTarget { - return vs[0].([]GetApplicationLoadBalancerTargetPoolTarget)[vs[1].(int)] - }).(GetApplicationLoadBalancerTargetPoolTargetOutput) +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) } -type GetApplicationLoadBalancerTargetPoolTlsConfig struct { - // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. - CustomCa string `pulumi:"customCa"` - // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. - Enabled bool `pulumi:"enabled"` - // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! - SkipCertificateValidation bool `pulumi:"skipCertificateValidation"` +type GetApplicationLoadBalancerListenerHttps struct { + // TLS termination certificate configuration. + CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfig `pulumi:"certificateConfig"` } -// GetApplicationLoadBalancerTargetPoolTlsConfigInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTlsConfigArgs and GetApplicationLoadBalancerTargetPoolTlsConfigOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTlsConfigInput` via: +// GetApplicationLoadBalancerListenerHttpsInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsArgs and GetApplicationLoadBalancerListenerHttpsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsInput` via: // -// GetApplicationLoadBalancerTargetPoolTlsConfigArgs{...} -type GetApplicationLoadBalancerTargetPoolTlsConfigInput interface { +// GetApplicationLoadBalancerListenerHttpsArgs{...} +type GetApplicationLoadBalancerListenerHttpsInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput - ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput + ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput + ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsOutput } -type GetApplicationLoadBalancerTargetPoolTlsConfigArgs struct { - // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. - CustomCa pulumi.StringInput `pulumi:"customCa"` - // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! - SkipCertificateValidation pulumi.BoolInput `pulumi:"skipCertificateValidation"` +type GetApplicationLoadBalancerListenerHttpsArgs struct { + // TLS termination certificate configuration. + CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfigInput `pulumi:"certificateConfig"` } -func (GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { - return i.ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { + return i.ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) +func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsOutput) } -type GetApplicationLoadBalancerTargetPoolTlsConfigOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpsOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { +func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { +func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { return o } -// Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) CustomCa() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) string { return v.CustomCa }).(pulumi.StringOutput) +// TLS termination certificate configuration. +func (o GetApplicationLoadBalancerListenerHttpsOutput) CertificateConfig() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttps) GetApplicationLoadBalancerListenerHttpsCertificateConfig { + return v.CertificateConfig + }).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) } -// Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.Enabled }).(pulumi.BoolOutput) +type GetApplicationLoadBalancerListenerHttpsCertificateConfig struct { + // Certificate IDs for TLS termination. + CertificateIds []string `pulumi:"certificateIds"` } -// Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) SkipCertificateValidation() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.SkipCertificateValidation }).(pulumi.BoolOutput) -} +// GetApplicationLoadBalancerListenerHttpsCertificateConfigInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs and GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsCertificateConfigInput` via: +// +// GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs{...} +type GetApplicationLoadBalancerListenerHttpsCertificateConfigInput interface { + pulumi.Input -type GetApplicationLoadBalancerTargetSecurityGroup struct { - // ID of the security Group - Id string `pulumi:"id"` - // Name of the security Group - Name string `pulumi:"name"` + ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput + ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput } -// GetApplicationLoadBalancerTargetSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerTargetSecurityGroupArgs and GetApplicationLoadBalancerTargetSecurityGroupOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetSecurityGroupInput` via: +type GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs struct { + // Certificate IDs for TLS termination. + CertificateIds pulumi.StringArrayInput `pulumi:"certificateIds"` +} + +func (GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() +} + +func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return i.ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Background()) +} + +func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) +} + +type GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() +} + +func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return o +} + +func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return o +} + +// Certificate IDs for TLS termination. +func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) CertificateIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpsCertificateConfig) []string { return v.CertificateIds }).(pulumi.StringArrayOutput) +} + +type GetApplicationLoadBalancerLoadBalancerSecurityGroup struct { + // ID of the security Group + Id string `pulumi:"id"` + // Name of the security Group + Name string `pulumi:"name"` +} + +// GetApplicationLoadBalancerLoadBalancerSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs and GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerLoadBalancerSecurityGroupInput` via: // -// GetApplicationLoadBalancerTargetSecurityGroupArgs{...} -type GetApplicationLoadBalancerTargetSecurityGroupInput interface { +// GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs{...} +type GetApplicationLoadBalancerLoadBalancerSecurityGroupInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput - ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput + ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput + ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput } -type GetApplicationLoadBalancerTargetSecurityGroupArgs struct { +type GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs struct { // ID of the security Group Id pulumi.StringInput `pulumi:"id"` // Name of the security Group Name pulumi.StringInput `pulumi:"name"` } -func (GetApplicationLoadBalancerTargetSecurityGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() +func (GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { - return i.ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { + return i.ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetSecurityGroupOutput) +func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) } -type GetApplicationLoadBalancerTargetSecurityGroupOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetSecurityGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() +func (GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { return o } -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { return o } // ID of the security Group -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Id }).(pulumi.StringOutput) } // Name of the security Group -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Name }).(pulumi.StringOutput) } -type GetCdnCustomDomainCertificate struct { - // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. - Version int `pulumi:"version"` +type GetApplicationLoadBalancerNetwork struct { + // STACKIT network ID the Application Load Balancer and/or targets are in. + NetworkId string `pulumi:"networkId"` + // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Role string `pulumi:"role"` } -// GetCdnCustomDomainCertificateInput is an input type that accepts GetCdnCustomDomainCertificateArgs and GetCdnCustomDomainCertificateOutput values. -// You can construct a concrete instance of `GetCdnCustomDomainCertificateInput` via: +// GetApplicationLoadBalancerNetworkInput is an input type that accepts GetApplicationLoadBalancerNetworkArgs and GetApplicationLoadBalancerNetworkOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkInput` via: // -// GetCdnCustomDomainCertificateArgs{...} -type GetCdnCustomDomainCertificateInput interface { +// GetApplicationLoadBalancerNetworkArgs{...} +type GetApplicationLoadBalancerNetworkInput interface { pulumi.Input - ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput - ToGetCdnCustomDomainCertificateOutputWithContext(context.Context) GetCdnCustomDomainCertificateOutput + ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput + ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkOutput } -type GetCdnCustomDomainCertificateArgs struct { - // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. - Version pulumi.IntInput `pulumi:"version"` +type GetApplicationLoadBalancerNetworkArgs struct { + // STACKIT network ID the Application Load Balancer and/or targets are in. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Role pulumi.StringInput `pulumi:"role"` } -func (GetCdnCustomDomainCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() +func (GetApplicationLoadBalancerNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { - return i.ToGetCdnCustomDomainCertificateOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { + return i.ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Background()) } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput) +func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkOutput) } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { - return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) +// GetApplicationLoadBalancerNetworkArrayInput is an input type that accepts GetApplicationLoadBalancerNetworkArray and GetApplicationLoadBalancerNetworkArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkArrayInput` via: +// +// GetApplicationLoadBalancerNetworkArray{ GetApplicationLoadBalancerNetworkArgs{...} } +type GetApplicationLoadBalancerNetworkArrayInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput + ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkArrayOutput } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput).ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx) +type GetApplicationLoadBalancerNetworkArray []GetApplicationLoadBalancerNetworkInput + +func (GetApplicationLoadBalancerNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() } -// GetCdnCustomDomainCertificatePtrInput is an input type that accepts GetCdnCustomDomainCertificateArgs, GetCdnCustomDomainCertificatePtr and GetCdnCustomDomainCertificatePtrOutput values. -// You can construct a concrete instance of `GetCdnCustomDomainCertificatePtrInput` via: -// -// GetCdnCustomDomainCertificateArgs{...} -// -// or: -// -// nil -type GetCdnCustomDomainCertificatePtrInput interface { - pulumi.Input +func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { + return i.ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Background()) +} - ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput - ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Context) GetCdnCustomDomainCertificatePtrOutput +func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkArrayOutput) } -type getCdnCustomDomainCertificatePtrType GetCdnCustomDomainCertificateArgs +type GetApplicationLoadBalancerNetworkOutput struct{ *pulumi.OutputState } -func GetCdnCustomDomainCertificatePtr(v *GetCdnCustomDomainCertificateArgs) GetCdnCustomDomainCertificatePtrInput { - return (*getCdnCustomDomainCertificatePtrType)(v) +func (GetApplicationLoadBalancerNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() } -func (*getCdnCustomDomainCertificatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() +func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { + return o } -func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { - return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { + return o } -func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificatePtrOutput) +// STACKIT network ID the Application Load Balancer and/or targets are in. +func (o GetApplicationLoadBalancerNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) } -type GetCdnCustomDomainCertificateOutput struct{ *pulumi.OutputState } +// The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. +func (o GetApplicationLoadBalancerNetworkOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.Role }).(pulumi.StringOutput) +} -func (GetCdnCustomDomainCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() +type GetApplicationLoadBalancerNetworkArrayOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { +func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { return o } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { +func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { return o } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { - return o.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerNetwork { + return vs[0].([]GetApplicationLoadBalancerNetwork)[vs[1].(int)] + }).(GetApplicationLoadBalancerNetworkOutput) } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetCdnCustomDomainCertificate) *GetCdnCustomDomainCertificate { - return &v - }).(GetCdnCustomDomainCertificatePtrOutput) +type GetApplicationLoadBalancerOptions struct { + // Use this option to limit the IP ranges that can use the Application Load Balancer. + AccessControl GetApplicationLoadBalancerOptionsAccessControl `pulumi:"accessControl"` + // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. + EphemeralAddress bool `pulumi:"ephemeralAddress"` + // We offer Load Balancer observability via STACKIT Observability or external solutions. + Observability GetApplicationLoadBalancerOptionsObservability `pulumi:"observability"` + // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. + PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` } -// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. -func (o GetCdnCustomDomainCertificateOutput) Version() pulumi.IntOutput { - return o.ApplyT(func(v GetCdnCustomDomainCertificate) int { return v.Version }).(pulumi.IntOutput) -} +// GetApplicationLoadBalancerOptionsInput is an input type that accepts GetApplicationLoadBalancerOptionsArgs and GetApplicationLoadBalancerOptionsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsInput` via: +// +// GetApplicationLoadBalancerOptionsArgs{...} +type GetApplicationLoadBalancerOptionsInput interface { + pulumi.Input -type GetCdnCustomDomainCertificatePtrOutput struct{ *pulumi.OutputState } + ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput + ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsOutput +} -func (GetCdnCustomDomainCertificatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() +type GetApplicationLoadBalancerOptionsArgs struct { + // Use this option to limit the IP ranges that can use the Application Load Balancer. + AccessControl GetApplicationLoadBalancerOptionsAccessControlInput `pulumi:"accessControl"` + // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. + EphemeralAddress pulumi.BoolInput `pulumi:"ephemeralAddress"` + // We offer Load Balancer observability via STACKIT Observability or external solutions. + Observability GetApplicationLoadBalancerOptionsObservabilityInput `pulumi:"observability"` + // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. + PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` } -func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { - return o +func (GetApplicationLoadBalancerOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() } -func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { - return o +func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { + return i.ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Background()) } -func (o GetCdnCustomDomainCertificatePtrOutput) Elem() GetCdnCustomDomainCertificateOutput { - return o.ApplyT(func(v *GetCdnCustomDomainCertificate) GetCdnCustomDomainCertificate { - if v != nil { - return *v - } - var ret GetCdnCustomDomainCertificate - return ret - }).(GetCdnCustomDomainCertificateOutput) +func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsOutput) } -// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. -func (o GetCdnCustomDomainCertificatePtrOutput) Version() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetCdnCustomDomainCertificate) *int { - if v == nil { - return nil - } - return &v.Version - }).(pulumi.IntPtrOutput) -} +type GetApplicationLoadBalancerOptionsOutput struct{ *pulumi.OutputState } -type GetCdnDistributionConfig struct { - // The configured backend for the distribution - Backend GetCdnDistributionConfigBackend `pulumi:"backend"` - // The configured countries where distribution of content is blocked - BlockedCountries []string `pulumi:"blockedCountries"` - // Enable this allows the 'Host' header to be passed through to the origin. - ForwardHostHeader bool `pulumi:"forwardHostHeader"` - // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. - Optimizer GetCdnDistributionConfigOptimizer `pulumi:"optimizer"` - // A wrapper for a list of redirect rules that allows for redirect settings on a distribution - Redirects GetCdnDistributionConfigRedirects `pulumi:"redirects"` - // The configured regions where content will be hosted - Regions []string `pulumi:"regions"` - // Enable this to prevent origin-level cookies from being forwarded to the end user. - StripResponseCookies bool `pulumi:"stripResponseCookies"` - // Configuration for TLS protocol versions. Note: Enabling older TLS versions (1.0, 1.1) is generally discouraged for security reasons. - Tls GetCdnDistributionConfigTls `pulumi:"tls"` - // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. - Waf GetCdnDistributionConfigWaf `pulumi:"waf"` +func (GetApplicationLoadBalancerOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() } -// GetCdnDistributionConfigInput is an input type that accepts GetCdnDistributionConfigArgs and GetCdnDistributionConfigOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigInput` via: -// -// GetCdnDistributionConfigArgs{...} -type GetCdnDistributionConfigInput interface { - pulumi.Input - - ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput - ToGetCdnDistributionConfigOutputWithContext(context.Context) GetCdnDistributionConfigOutput +func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { + return o } -type GetCdnDistributionConfigArgs struct { - // The configured backend for the distribution - Backend GetCdnDistributionConfigBackendInput `pulumi:"backend"` - // The configured countries where distribution of content is blocked - BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"` - // Enable this allows the 'Host' header to be passed through to the origin. - ForwardHostHeader pulumi.BoolInput `pulumi:"forwardHostHeader"` - // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. - Optimizer GetCdnDistributionConfigOptimizerInput `pulumi:"optimizer"` - // A wrapper for a list of redirect rules that allows for redirect settings on a distribution - Redirects GetCdnDistributionConfigRedirectsInput `pulumi:"redirects"` - // The configured regions where content will be hosted - Regions pulumi.StringArrayInput `pulumi:"regions"` - // Enable this to prevent origin-level cookies from being forwarded to the end user. - StripResponseCookies pulumi.BoolInput `pulumi:"stripResponseCookies"` - // Configuration for TLS protocol versions. Note: Enabling older TLS versions (1.0, 1.1) is generally discouraged for security reasons. - Tls GetCdnDistributionConfigTlsInput `pulumi:"tls"` - // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. - Waf GetCdnDistributionConfigWafInput `pulumi:"waf"` +func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { + return o } -func (GetCdnDistributionConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() +// Use this option to limit the IP ranges that can use the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsOutput) AccessControl() GetApplicationLoadBalancerOptionsAccessControlOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsAccessControl { + return v.AccessControl + }).(GetApplicationLoadBalancerOptionsAccessControlOutput) } -func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { - return i.ToGetCdnDistributionConfigOutputWithContext(context.Background()) +// This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. +func (o GetApplicationLoadBalancerOptionsOutput) EphemeralAddress() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.EphemeralAddress }).(pulumi.BoolOutput) } -func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOutput) +// We offer Load Balancer observability via STACKIT Observability or external solutions. +func (o GetApplicationLoadBalancerOptionsOutput) Observability() GetApplicationLoadBalancerOptionsObservabilityOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsObservability { + return v.Observability + }).(GetApplicationLoadBalancerOptionsObservabilityOutput) } -type GetCdnDistributionConfigOutput struct{ *pulumi.OutputState } - -func (GetCdnDistributionConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() +// Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. +func (o GetApplicationLoadBalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) } -func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { - return o +type GetApplicationLoadBalancerOptionsAccessControl struct { + // Application Load Balancer is accessible only from an IP address in this range. + AllowedSourceRanges []string `pulumi:"allowedSourceRanges"` } -func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { - return o -} +// GetApplicationLoadBalancerOptionsAccessControlInput is an input type that accepts GetApplicationLoadBalancerOptionsAccessControlArgs and GetApplicationLoadBalancerOptionsAccessControlOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsAccessControlInput` via: +// +// GetApplicationLoadBalancerOptionsAccessControlArgs{...} +type GetApplicationLoadBalancerOptionsAccessControlInput interface { + pulumi.Input -// The configured backend for the distribution -func (o GetCdnDistributionConfigOutput) Backend() GetCdnDistributionConfigBackendOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigBackend { return v.Backend }).(GetCdnDistributionConfigBackendOutput) + ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput + ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput } -// The configured countries where distribution of content is blocked -func (o GetCdnDistributionConfigOutput) BlockedCountries() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.BlockedCountries }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerOptionsAccessControlArgs struct { + // Application Load Balancer is accessible only from an IP address in this range. + AllowedSourceRanges pulumi.StringArrayInput `pulumi:"allowedSourceRanges"` } -// Enable this allows the 'Host' header to be passed through to the origin. -func (o GetCdnDistributionConfigOutput) ForwardHostHeader() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) bool { return v.ForwardHostHeader }).(pulumi.BoolOutput) +func (GetApplicationLoadBalancerOptionsAccessControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() } -// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. -func (o GetCdnDistributionConfigOutput) Optimizer() GetCdnDistributionConfigOptimizerOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigOptimizer { return v.Optimizer }).(GetCdnDistributionConfigOptimizerOutput) +func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { + return i.ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Background()) } -// A wrapper for a list of redirect rules that allows for redirect settings on a distribution -func (o GetCdnDistributionConfigOutput) Redirects() GetCdnDistributionConfigRedirectsOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigRedirects { return v.Redirects }).(GetCdnDistributionConfigRedirectsOutput) +func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsAccessControlOutput) } -// The configured regions where content will be hosted -func (o GetCdnDistributionConfigOutput) Regions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.Regions }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerOptionsAccessControlOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerOptionsAccessControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() } -// Enable this to prevent origin-level cookies from being forwarded to the end user. -func (o GetCdnDistributionConfigOutput) StripResponseCookies() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) bool { return v.StripResponseCookies }).(pulumi.BoolOutput) +func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { + return o } -// Configuration for TLS protocol versions. Note: Enabling older TLS versions (1.0, 1.1) is generally discouraged for security reasons. -func (o GetCdnDistributionConfigOutput) Tls() GetCdnDistributionConfigTlsOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigTls { return v.Tls }).(GetCdnDistributionConfigTlsOutput) +func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { + return o } -// Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. -func (o GetCdnDistributionConfigOutput) Waf() GetCdnDistributionConfigWafOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigWaf { return v.Waf }).(GetCdnDistributionConfigWafOutput) +// Application Load Balancer is accessible only from an IP address in this range. +func (o GetApplicationLoadBalancerOptionsAccessControlOutput) AllowedSourceRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsAccessControl) []string { return v.AllowedSourceRanges }).(pulumi.StringArrayOutput) } -type GetCdnDistributionConfigBackend struct { - // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. - BucketUrl string `pulumi:"bucketUrl"` - // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries - Geofencing map[string][]string `pulumi:"geofencing"` - // The configured type http origin request headers for the backend - OriginRequestHeaders map[string]string `pulumi:"originRequestHeaders"` - // The configured backend type http for the distribution - OriginUrl string `pulumi:"originUrl"` - // The region where the bucket is hosted. Required if type is 'bucket'. - Region string `pulumi:"region"` - // The configured backend type. Possible values are: `http`, `bucket`. - Type string `pulumi:"type"` +type GetApplicationLoadBalancerOptionsObservability struct { + // Observability logs configuration. + Logs GetApplicationLoadBalancerOptionsObservabilityLogs `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetApplicationLoadBalancerOptionsObservabilityMetrics `pulumi:"metrics"` } -// GetCdnDistributionConfigBackendInput is an input type that accepts GetCdnDistributionConfigBackendArgs and GetCdnDistributionConfigBackendOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigBackendInput` via: +// GetApplicationLoadBalancerOptionsObservabilityInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityArgs and GetApplicationLoadBalancerOptionsObservabilityOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityInput` via: // -// GetCdnDistributionConfigBackendArgs{...} -type GetCdnDistributionConfigBackendInput interface { +// GetApplicationLoadBalancerOptionsObservabilityArgs{...} +type GetApplicationLoadBalancerOptionsObservabilityInput interface { pulumi.Input - ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput - ToGetCdnDistributionConfigBackendOutputWithContext(context.Context) GetCdnDistributionConfigBackendOutput + ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput + ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput } -type GetCdnDistributionConfigBackendArgs struct { - // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. - BucketUrl pulumi.StringInput `pulumi:"bucketUrl"` - // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries - Geofencing pulumi.StringArrayMapInput `pulumi:"geofencing"` - // The configured type http origin request headers for the backend - OriginRequestHeaders pulumi.StringMapInput `pulumi:"originRequestHeaders"` - // The configured backend type http for the distribution - OriginUrl pulumi.StringInput `pulumi:"originUrl"` - // The region where the bucket is hosted. Required if type is 'bucket'. - Region pulumi.StringInput `pulumi:"region"` - // The configured backend type. Possible values are: `http`, `bucket`. - Type pulumi.StringInput `pulumi:"type"` +type GetApplicationLoadBalancerOptionsObservabilityArgs struct { + // Observability logs configuration. + Logs GetApplicationLoadBalancerOptionsObservabilityLogsInput `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetApplicationLoadBalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` } -func (GetCdnDistributionConfigBackendArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() } -func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { - return i.ToGetCdnDistributionConfigBackendOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { + return i.ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigBackendOutput) +func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityOutput) } -type GetCdnDistributionConfigBackendOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigBackendOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() } -func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { return o } -func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { return o } -// The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. -func (o GetCdnDistributionConfigBackendOutput) BucketUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.BucketUrl }).(pulumi.StringOutput) +// Observability logs configuration. +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Logs() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityLogs { + return v.Logs + }).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) } -// The configured type http to configure countries where content is allowed. A map of URLs to a list of countries -func (o GetCdnDistributionConfigBackendOutput) Geofencing() pulumi.StringArrayMapOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string][]string { return v.Geofencing }).(pulumi.StringArrayMapOutput) +// Observability metrics configuration. +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Metrics() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityMetrics { + return v.Metrics + }).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) } -// The configured type http origin request headers for the backend -func (o GetCdnDistributionConfigBackendOutput) OriginRequestHeaders() pulumi.StringMapOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string]string { return v.OriginRequestHeaders }).(pulumi.StringMapOutput) +type GetApplicationLoadBalancerOptionsObservabilityLogs struct { + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl string `pulumi:"pushUrl"` } -// The configured backend type http for the distribution -func (o GetCdnDistributionConfigBackendOutput) OriginUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.OriginUrl }).(pulumi.StringOutput) -} +// GetApplicationLoadBalancerOptionsObservabilityLogsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityLogsArgs and GetApplicationLoadBalancerOptionsObservabilityLogsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityLogsInput` via: +// +// GetApplicationLoadBalancerOptionsObservabilityLogsArgs{...} +type GetApplicationLoadBalancerOptionsObservabilityLogsInput interface { + pulumi.Input -// The region where the bucket is hosted. Required if type is 'bucket'. -func (o GetCdnDistributionConfigBackendOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Region }).(pulumi.StringOutput) -} - -// The configured backend type. Possible values are: `http`, `bucket`. -func (o GetCdnDistributionConfigBackendOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Type }).(pulumi.StringOutput) + ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput + ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput } -type GetCdnDistributionConfigOptimizer struct { - Enabled bool `pulumi:"enabled"` +type GetApplicationLoadBalancerOptionsObservabilityLogsArgs struct { + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` } -// GetCdnDistributionConfigOptimizerInput is an input type that accepts GetCdnDistributionConfigOptimizerArgs and GetCdnDistributionConfigOptimizerOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigOptimizerInput` via: -// -// GetCdnDistributionConfigOptimizerArgs{...} -type GetCdnDistributionConfigOptimizerInput interface { - pulumi.Input - - ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput - ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Context) GetCdnDistributionConfigOptimizerOutput +func (GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() } -type GetCdnDistributionConfigOptimizerArgs struct { - Enabled pulumi.BoolInput `pulumi:"enabled"` +func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { + return i.ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Background()) } -func (GetCdnDistributionConfigOptimizerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() +func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) } -func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { - return i.ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Background()) -} +type GetApplicationLoadBalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } -func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOptimizerOutput) +func (GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() } -type GetCdnDistributionConfigOptimizerOutput struct{ *pulumi.OutputState } - -func (GetCdnDistributionConfigOptimizerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { + return o } -func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { return o } -func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { - return o +// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) } -func (o GetCdnDistributionConfigOptimizerOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfigOptimizer) bool { return v.Enabled }).(pulumi.BoolOutput) +// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) } -type GetCdnDistributionConfigRedirects struct { - // A list of redirect rules. The order of rules matters for evaluation - Rules []GetCdnDistributionConfigRedirectsRule `pulumi:"rules"` +type GetApplicationLoadBalancerOptionsObservabilityMetrics struct { + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl string `pulumi:"pushUrl"` } -// GetCdnDistributionConfigRedirectsInput is an input type that accepts GetCdnDistributionConfigRedirectsArgs and GetCdnDistributionConfigRedirectsOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsInput` via: +// GetApplicationLoadBalancerOptionsObservabilityMetricsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityMetricsArgs and GetApplicationLoadBalancerOptionsObservabilityMetricsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityMetricsInput` via: // -// GetCdnDistributionConfigRedirectsArgs{...} -type GetCdnDistributionConfigRedirectsInput interface { +// GetApplicationLoadBalancerOptionsObservabilityMetricsArgs{...} +type GetApplicationLoadBalancerOptionsObservabilityMetricsInput interface { pulumi.Input - ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput - ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsOutput + ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput + ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput } -type GetCdnDistributionConfigRedirectsArgs struct { - // A list of redirect rules. The order of rules matters for evaluation - Rules GetCdnDistributionConfigRedirectsRuleArrayInput `pulumi:"rules"` +type GetApplicationLoadBalancerOptionsObservabilityMetricsArgs struct { + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` } -func (GetCdnDistributionConfigRedirectsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { - return i.ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return i.ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsOutput) +func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) } -type GetCdnDistributionConfigRedirectsOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigRedirectsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { return o } -func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { return o } -// A list of redirect rules. The order of rules matters for evaluation -func (o GetCdnDistributionConfigRedirectsOutput) Rules() GetCdnDistributionConfigRedirectsRuleArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirects) []GetCdnDistributionConfigRedirectsRule { return v.Rules }).(GetCdnDistributionConfigRedirectsRuleArrayOutput) +// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) } -type GetCdnDistributionConfigRedirectsRule struct { - // An optional description for the redirect rule - Description string `pulumi:"description"` - // A toggle to enable or disable the redirect rule. Default to true - Enabled bool `pulumi:"enabled"` - // A list of matchers that define when this rule should apply. At least one matcher is required - Matchers []GetCdnDistributionConfigRedirectsRuleMatcher `pulumi:"matchers"` - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - RuleMatchCondition string `pulumi:"ruleMatchCondition"` - // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. - StatusCode int `pulumi:"statusCode"` - // The target URL to redirect to. Must be a valid URI - TargetUrl string `pulumi:"targetUrl"` +// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) } -// GetCdnDistributionConfigRedirectsRuleInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArgs and GetCdnDistributionConfigRedirectsRuleOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleInput` via: +type GetApplicationLoadBalancerTargetPool struct { + ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` + // Target pool name. + Name string `pulumi:"name"` + // The number identifying the port where each target listens for traffic. + TargetPort int `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 250. + Targets []GetApplicationLoadBalancerTargetPoolTarget `pulumi:"targets"` + // Configuration for TLS bridging. + TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfig `pulumi:"tlsConfig"` +} + +// GetApplicationLoadBalancerTargetPoolInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArgs and GetApplicationLoadBalancerTargetPoolOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolInput` via: // -// GetCdnDistributionConfigRedirectsRuleArgs{...} -type GetCdnDistributionConfigRedirectsRuleInput interface { +// GetApplicationLoadBalancerTargetPoolArgs{...} +type GetApplicationLoadBalancerTargetPoolInput interface { pulumi.Input - ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput - ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleOutput + ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput + ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolOutput } -type GetCdnDistributionConfigRedirectsRuleArgs struct { - // An optional description for the redirect rule - Description pulumi.StringInput `pulumi:"description"` - // A toggle to enable or disable the redirect rule. Default to true - Enabled pulumi.BoolInput `pulumi:"enabled"` - // A list of matchers that define when this rule should apply. At least one matcher is required - Matchers GetCdnDistributionConfigRedirectsRuleMatcherArrayInput `pulumi:"matchers"` - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - RuleMatchCondition pulumi.StringInput `pulumi:"ruleMatchCondition"` - // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. - StatusCode pulumi.IntInput `pulumi:"statusCode"` - // The target URL to redirect to. Must be a valid URI - TargetUrl pulumi.StringInput `pulumi:"targetUrl"` +type GetApplicationLoadBalancerTargetPoolArgs struct { + ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` + // Target pool name. + Name pulumi.StringInput `pulumi:"name"` + // The number identifying the port where each target listens for traffic. + TargetPort pulumi.IntInput `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 250. + Targets GetApplicationLoadBalancerTargetPoolTargetArrayInput `pulumi:"targets"` + // Configuration for TLS bridging. + TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfigInput `pulumi:"tlsConfig"` } -func (GetCdnDistributionConfigRedirectsRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() } -func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { + return i.ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleOutput) +func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolOutput) } -// GetCdnDistributionConfigRedirectsRuleArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArray and GetCdnDistributionConfigRedirectsRuleArrayOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleArrayInput` via: +// GetApplicationLoadBalancerTargetPoolArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArray and GetApplicationLoadBalancerTargetPoolArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolArrayInput` via: // -// GetCdnDistributionConfigRedirectsRuleArray{ GetCdnDistributionConfigRedirectsRuleArgs{...} } -type GetCdnDistributionConfigRedirectsRuleArrayInput interface { +// GetApplicationLoadBalancerTargetPoolArray{ GetApplicationLoadBalancerTargetPoolArgs{...} } +type GetApplicationLoadBalancerTargetPoolArrayInput interface { pulumi.Input - ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput - ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput + ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput + ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput } -type GetCdnDistributionConfigRedirectsRuleArray []GetCdnDistributionConfigRedirectsRuleInput +type GetApplicationLoadBalancerTargetPoolArray []GetApplicationLoadBalancerTargetPoolInput -func (GetCdnDistributionConfigRedirectsRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() } -func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { + return i.ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleArrayOutput) +func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolArrayOutput) } -type GetCdnDistributionConfigRedirectsRuleOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerTargetPoolOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigRedirectsRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { +func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { +func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { return o } -// An optional description for the redirect rule -func (o GetCdnDistributionConfigRedirectsRuleOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.Description }).(pulumi.StringOutput) -} - -// A toggle to enable or disable the redirect rule. Default to true -func (o GetCdnDistributionConfigRedirectsRuleOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) bool { return v.Enabled }).(pulumi.BoolOutput) +func (o GetApplicationLoadBalancerTargetPoolOutput) ActiveHealthCheck() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolActiveHealthCheck { + return v.ActiveHealthCheck + }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) } -// A list of matchers that define when this rule should apply. At least one matcher is required -func (o GetCdnDistributionConfigRedirectsRuleOutput) Matchers() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) []GetCdnDistributionConfigRedirectsRuleMatcher { - return v.Matchers - }).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) +// Target pool name. +func (o GetApplicationLoadBalancerTargetPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) } -// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. -func (o GetCdnDistributionConfigRedirectsRuleOutput) RuleMatchCondition() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.RuleMatchCondition }).(pulumi.StringOutput) +// The number identifying the port where each target listens for traffic. +func (o GetApplicationLoadBalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) } -// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. -func (o GetCdnDistributionConfigRedirectsRuleOutput) StatusCode() pulumi.IntOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) int { return v.StatusCode }).(pulumi.IntOutput) +// List of all targets which will be used in the pool. Limited to 250. +func (o GetApplicationLoadBalancerTargetPoolOutput) Targets() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) []GetApplicationLoadBalancerTargetPoolTarget { + return v.Targets + }).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) } -// The target URL to redirect to. Must be a valid URI -func (o GetCdnDistributionConfigRedirectsRuleOutput) TargetUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.TargetUrl }).(pulumi.StringOutput) +// Configuration for TLS bridging. +func (o GetApplicationLoadBalancerTargetPoolOutput) TlsConfig() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolTlsConfig { + return v.TlsConfig + }).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) } -type GetCdnDistributionConfigRedirectsRuleArrayOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigRedirectsRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { +func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { +func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRule { - return vs[0].([]GetCdnDistributionConfigRedirectsRule)[vs[1].(int)] - }).(GetCdnDistributionConfigRedirectsRuleOutput) +func (o GetApplicationLoadBalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPool { + return vs[0].([]GetApplicationLoadBalancerTargetPool)[vs[1].(int)] + }).(GetApplicationLoadBalancerTargetPoolOutput) } -type GetCdnDistributionConfigRedirectsRuleMatcher struct { - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - ValueMatchCondition string `pulumi:"valueMatchCondition"` - // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" - Values []string `pulumi:"values"` +type GetApplicationLoadBalancerTargetPoolActiveHealthCheck struct { + // Healthy threshold of the health checking. + HealthyThreshold int `pulumi:"healthyThreshold"` + // Options for the HTTP health checking. + HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks `pulumi:"httpHealthChecks"` + // Interval duration of health checking in seconds. + Interval string `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter string `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout string `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` } -// GetCdnDistributionConfigRedirectsRuleMatcherInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArgs and GetCdnDistributionConfigRedirectsRuleMatcherOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherInput` via: +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput` via: // -// GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} -type GetCdnDistributionConfigRedirectsRuleMatcherInput interface { +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs{...} +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput interface { pulumi.Input - ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput - ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput } -type GetCdnDistributionConfigRedirectsRuleMatcherArgs struct { - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - ValueMatchCondition pulumi.StringInput `pulumi:"valueMatchCondition"` - // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" - Values pulumi.StringArrayInput `pulumi:"values"` +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs struct { + // Healthy threshold of the health checking. + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + // Options for the HTTP health checking. + HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput `pulumi:"httpHealthChecks"` + // Interval duration of health checking in seconds. + Interval pulumi.StringInput `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout pulumi.StringInput `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (GetCdnDistributionConfigRedirectsRuleMatcherArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) } -// GetCdnDistributionConfigRedirectsRuleMatcherArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArray and GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherArrayInput` via: -// -// GetCdnDistributionConfigRedirectsRuleMatcherArray{ GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} } -type GetCdnDistributionConfigRedirectsRuleMatcherArrayInput interface { - pulumi.Input +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } - ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput - ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -type GetCdnDistributionConfigRedirectsRuleMatcherArray []GetCdnDistributionConfigRedirectsRuleMatcherInput - -func (GetCdnDistributionConfigRedirectsRuleMatcherArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return o } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return o } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) +// Healthy threshold of the health checking. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) } -type GetCdnDistributionConfigRedirectsRuleMatcherOutput struct{ *pulumi.OutputState } +// Options for the HTTP health checking. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HttpHealthChecks() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks { + return v.HttpHealthChecks + }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) +} -func (GetCdnDistributionConfigRedirectsRuleMatcherOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +// Interval duration of health checking in seconds. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) } -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return o +// Interval duration threshold of the health checking in seconds. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) } -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return o +// Active health checking timeout duration in seconds. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) } -// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ValueMatchCondition() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) string { return v.ValueMatchCondition }).(pulumi.StringOutput) +// Unhealthy threshold of the health checking. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) } -// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) []string { return v.Values }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks struct { + // List of HTTP status codes that indicate a healthy response. + OkStatuses []string `pulumi:"okStatuses"` + // Path to send the health check request to. + Path string `pulumi:"path"` } -type GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput` via: +// +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs{...} +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput interface { + pulumi.Input -func (GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput } -func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return o +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs struct { + // List of HTTP status codes that indicate a healthy response. + OkStatuses pulumi.StringArrayInput `pulumi:"okStatuses"` + // Path to send the health check request to. + Path pulumi.StringInput `pulumi:"path"` } -func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return o +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRuleMatcher { - return vs[0].([]GetCdnDistributionConfigRedirectsRuleMatcher)[vs[1].(int)] - }).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Background()) } -type GetCdnDistributionConfigTls struct { - // If set to true, the distribution will accept connections using TLS 1.1. - EnableTls10 bool `pulumi:"enableTls10"` - // If set to true, the distribution will accept connections using TLS 1.0. - EnableTls11 bool `pulumi:"enableTls11"` +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) } -// GetCdnDistributionConfigTlsInput is an input type that accepts GetCdnDistributionConfigTlsArgs and GetCdnDistributionConfigTlsOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigTlsInput` via: -// -// GetCdnDistributionConfigTlsArgs{...} -type GetCdnDistributionConfigTlsInput interface { - pulumi.Input +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput struct{ *pulumi.OutputState } - ToGetCdnDistributionConfigTlsOutput() GetCdnDistributionConfigTlsOutput - ToGetCdnDistributionConfigTlsOutputWithContext(context.Context) GetCdnDistributionConfigTlsOutput +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() } -type GetCdnDistributionConfigTlsArgs struct { - // If set to true, the distribution will accept connections using TLS 1.1. - EnableTls10 pulumi.BoolInput `pulumi:"enableTls10"` - // If set to true, the distribution will accept connections using TLS 1.0. - EnableTls11 pulumi.BoolInput `pulumi:"enableTls11"` +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return o } -func (GetCdnDistributionConfigTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigTls)(nil)).Elem() +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return o } -func (i GetCdnDistributionConfigTlsArgs) ToGetCdnDistributionConfigTlsOutput() GetCdnDistributionConfigTlsOutput { - return i.ToGetCdnDistributionConfigTlsOutputWithContext(context.Background()) +// List of HTTP status codes that indicate a healthy response. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) OkStatuses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) []string { + return v.OkStatuses + }).(pulumi.StringArrayOutput) } -func (i GetCdnDistributionConfigTlsArgs) ToGetCdnDistributionConfigTlsOutputWithContext(ctx context.Context) GetCdnDistributionConfigTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigTlsOutput) +// Path to send the health check request to. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) string { return v.Path }).(pulumi.StringOutput) } -type GetCdnDistributionConfigTlsOutput struct{ *pulumi.OutputState } - -func (GetCdnDistributionConfigTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigTls)(nil)).Elem() +type GetApplicationLoadBalancerTargetPoolTarget struct { + // Target display name + DisplayName string `pulumi:"displayName"` + // Private target IP, which must by unique within a target pool. + Ip string `pulumi:"ip"` } -func (o GetCdnDistributionConfigTlsOutput) ToGetCdnDistributionConfigTlsOutput() GetCdnDistributionConfigTlsOutput { - return o +// GetApplicationLoadBalancerTargetPoolTargetInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArgs and GetApplicationLoadBalancerTargetPoolTargetOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetInput` via: +// +// GetApplicationLoadBalancerTargetPoolTargetArgs{...} +type GetApplicationLoadBalancerTargetPoolTargetInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput + ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput } -func (o GetCdnDistributionConfigTlsOutput) ToGetCdnDistributionConfigTlsOutputWithContext(ctx context.Context) GetCdnDistributionConfigTlsOutput { - return o +type GetApplicationLoadBalancerTargetPoolTargetArgs struct { + // Target display name + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Private target IP, which must by unique within a target pool. + Ip pulumi.StringInput `pulumi:"ip"` } -// If set to true, the distribution will accept connections using TLS 1.1. -func (o GetCdnDistributionConfigTlsOutput) EnableTls10() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfigTls) bool { return v.EnableTls10 }).(pulumi.BoolOutput) +func (GetApplicationLoadBalancerTargetPoolTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -// If set to true, the distribution will accept connections using TLS 1.0. -func (o GetCdnDistributionConfigTlsOutput) EnableTls11() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfigTls) bool { return v.EnableTls11 }).(pulumi.BoolOutput) +func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { + return i.ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Background()) } -type GetCdnDistributionConfigWaf struct { - // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - AllowedHttpMethods []string `pulumi:"allowedHttpMethods"` - // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. - AllowedHttpVersions []string `pulumi:"allowedHttpVersions"` - // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. - AllowedRequestContentTypes []string `pulumi:"allowedRequestContentTypes"` - // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleCollectionIds []string `pulumi:"disabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleGroupIds []string `pulumi:"disabledRuleGroupIds"` - // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleIds []string `pulumi:"disabledRuleIds"` - // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleCollectionIds []string `pulumi:"enabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleGroupIds []string `pulumi:"enabledRuleGroupIds"` - // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleIds []string `pulumi:"enabledRuleIds"` - // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleCollectionIds []string `pulumi:"logOnlyRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleGroupIds []string `pulumi:"logOnlyRuleGroupIds"` - // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleIds []string `pulumi:"logOnlyRuleIds"` - // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. - Mode string `pulumi:"mode"` - // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. - ParanoiaLevel string `pulumi:"paranoiaLevel"` - // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. - Type string `pulumi:"type"` +func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetOutput) } -// GetCdnDistributionConfigWafInput is an input type that accepts GetCdnDistributionConfigWafArgs and GetCdnDistributionConfigWafOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigWafInput` via: +// GetApplicationLoadBalancerTargetPoolTargetArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArray and GetApplicationLoadBalancerTargetPoolTargetArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetArrayInput` via: // -// GetCdnDistributionConfigWafArgs{...} -type GetCdnDistributionConfigWafInput interface { +// GetApplicationLoadBalancerTargetPoolTargetArray{ GetApplicationLoadBalancerTargetPoolTargetArgs{...} } +type GetApplicationLoadBalancerTargetPoolTargetArrayInput interface { pulumi.Input - ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput - ToGetCdnDistributionConfigWafOutputWithContext(context.Context) GetCdnDistributionConfigWafOutput + ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput + ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput } -type GetCdnDistributionConfigWafArgs struct { - // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - AllowedHttpMethods pulumi.StringArrayInput `pulumi:"allowedHttpMethods"` - // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. - AllowedHttpVersions pulumi.StringArrayInput `pulumi:"allowedHttpVersions"` - // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. - AllowedRequestContentTypes pulumi.StringArrayInput `pulumi:"allowedRequestContentTypes"` - // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"disabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleGroupIds pulumi.StringArrayInput `pulumi:"disabledRuleGroupIds"` - // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleIds pulumi.StringArrayInput `pulumi:"disabledRuleIds"` - // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"enabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleGroupIds pulumi.StringArrayInput `pulumi:"enabledRuleGroupIds"` - // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleIds pulumi.StringArrayInput `pulumi:"enabledRuleIds"` - // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleCollectionIds pulumi.StringArrayInput `pulumi:"logOnlyRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleGroupIds pulumi.StringArrayInput `pulumi:"logOnlyRuleGroupIds"` - // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleIds pulumi.StringArrayInput `pulumi:"logOnlyRuleIds"` - // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. - Mode pulumi.StringInput `pulumi:"mode"` - // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. - ParanoiaLevel pulumi.StringInput `pulumi:"paranoiaLevel"` - // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. - Type pulumi.StringInput `pulumi:"type"` -} +type GetApplicationLoadBalancerTargetPoolTargetArray []GetApplicationLoadBalancerTargetPoolTargetInput -func (GetCdnDistributionConfigWafArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { - return i.ToGetCdnDistributionConfigWafOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return i.ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigWafOutput) +func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) } -type GetCdnDistributionConfigWafOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigWafOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { return o } -func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { return o } -// Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. -func (o GetCdnDistributionConfigWafOutput) AllowedHttpMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpMethods }).(pulumi.StringArrayOutput) +// Target display name +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) } -// Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. -func (o GetCdnDistributionConfigWafOutput) AllowedHttpVersions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpVersions }).(pulumi.StringArrayOutput) +// Private target IP, which must by unique within a target pool. +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) } -// Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. -func (o GetCdnDistributionConfigWafOutput) AllowedRequestContentTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedRequestContentTypes }).(pulumi.StringArrayOutput) -} +type GetApplicationLoadBalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } -// Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) DisabledRuleCollectionIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleCollectionIds }).(pulumi.StringArrayOutput) +func (GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -// Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) DisabledRuleGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleGroupIds }).(pulumi.StringArrayOutput) +func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return o } -// Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) DisabledRuleIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleIds }).(pulumi.StringArrayOutput) +func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return o } -// Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) EnabledRuleCollectionIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleCollectionIds }).(pulumi.StringArrayOutput) +func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPoolTarget { + return vs[0].([]GetApplicationLoadBalancerTargetPoolTarget)[vs[1].(int)] + }).(GetApplicationLoadBalancerTargetPoolTargetOutput) } -// Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) EnabledRuleGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleGroupIds }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerTargetPoolTlsConfig struct { + // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. + CustomCa string `pulumi:"customCa"` + // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. + Enabled bool `pulumi:"enabled"` + // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + SkipCertificateValidation bool `pulumi:"skipCertificateValidation"` } -// Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) EnabledRuleIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleIds }).(pulumi.StringArrayOutput) -} +// GetApplicationLoadBalancerTargetPoolTlsConfigInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTlsConfigArgs and GetApplicationLoadBalancerTargetPoolTlsConfigOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTlsConfigInput` via: +// +// GetApplicationLoadBalancerTargetPoolTlsConfigArgs{...} +type GetApplicationLoadBalancerTargetPoolTlsConfigInput interface { + pulumi.Input -// Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleCollectionIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleCollectionIds }).(pulumi.StringArrayOutput) + ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput + ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput } -// Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleGroupIds }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerTargetPoolTlsConfigArgs struct { + // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. + CustomCa pulumi.StringInput `pulumi:"customCa"` + // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + SkipCertificateValidation pulumi.BoolInput `pulumi:"skipCertificateValidation"` } -// Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleIds }).(pulumi.StringArrayOutput) +func (GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() } -// The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. -func (o GetCdnDistributionConfigWafOutput) Mode() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Mode }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return i.ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Background()) } -// Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. -func (o GetCdnDistributionConfigWafOutput) ParanoiaLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.ParanoiaLevel }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) } -// The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. -func (o GetCdnDistributionConfigWafOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Type }).(pulumi.StringOutput) -} +type GetApplicationLoadBalancerTargetPoolTlsConfigOutput struct{ *pulumi.OutputState } -type GetCdnDistributionDomain struct { - // List of domain errors - Errors []string `pulumi:"errors"` - // The name of the domain - Name string `pulumi:"name"` - // The status of the domain - Status string `pulumi:"status"` - // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user - Type string `pulumi:"type"` +func (GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() } -// GetCdnDistributionDomainInput is an input type that accepts GetCdnDistributionDomainArgs and GetCdnDistributionDomainOutput values. -// You can construct a concrete instance of `GetCdnDistributionDomainInput` via: -// -// GetCdnDistributionDomainArgs{...} -type GetCdnDistributionDomainInput interface { - pulumi.Input +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return o +} - ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput - ToGetCdnDistributionDomainOutputWithContext(context.Context) GetCdnDistributionDomainOutput +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return o } -type GetCdnDistributionDomainArgs struct { - // List of domain errors - Errors pulumi.StringArrayInput `pulumi:"errors"` - // The name of the domain - Name pulumi.StringInput `pulumi:"name"` - // The status of the domain - Status pulumi.StringInput `pulumi:"status"` - // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user - Type pulumi.StringInput `pulumi:"type"` +// Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) CustomCa() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) string { return v.CustomCa }).(pulumi.StringOutput) } -func (GetCdnDistributionDomainArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() +// Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.Enabled }).(pulumi.BoolOutput) } -func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { - return i.ToGetCdnDistributionDomainOutputWithContext(context.Background()) +// Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) SkipCertificateValidation() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.SkipCertificateValidation }).(pulumi.BoolOutput) } -func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainOutput) +type GetApplicationLoadBalancerTargetSecurityGroup struct { + // ID of the security Group + Id string `pulumi:"id"` + // Name of the security Group + Name string `pulumi:"name"` } -// GetCdnDistributionDomainArrayInput is an input type that accepts GetCdnDistributionDomainArray and GetCdnDistributionDomainArrayOutput values. -// You can construct a concrete instance of `GetCdnDistributionDomainArrayInput` via: +// GetApplicationLoadBalancerTargetSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerTargetSecurityGroupArgs and GetApplicationLoadBalancerTargetSecurityGroupOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetSecurityGroupInput` via: // -// GetCdnDistributionDomainArray{ GetCdnDistributionDomainArgs{...} } -type GetCdnDistributionDomainArrayInput interface { +// GetApplicationLoadBalancerTargetSecurityGroupArgs{...} +type GetApplicationLoadBalancerTargetSecurityGroupInput interface { pulumi.Input - ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput - ToGetCdnDistributionDomainArrayOutputWithContext(context.Context) GetCdnDistributionDomainArrayOutput -} - -type GetCdnDistributionDomainArray []GetCdnDistributionDomainInput - -func (GetCdnDistributionDomainArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() -} - -func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { - return i.ToGetCdnDistributionDomainArrayOutputWithContext(context.Background()) -} - -func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainArrayOutput) -} - -type GetCdnDistributionDomainOutput struct{ *pulumi.OutputState } - -func (GetCdnDistributionDomainOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() + ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput + ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput } -func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { - return o +type GetApplicationLoadBalancerTargetSecurityGroupArgs struct { + // ID of the security Group + Id pulumi.StringInput `pulumi:"id"` + // Name of the security Group + Name pulumi.StringInput `pulumi:"name"` } -func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { - return o +func (GetApplicationLoadBalancerTargetSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() } -// List of domain errors -func (o GetCdnDistributionDomainOutput) Errors() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) []string { return v.Errors }).(pulumi.StringArrayOutput) +func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { + return i.ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Background()) } -// The name of the domain -func (o GetCdnDistributionDomainOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Name }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetSecurityGroupOutput) } -// The status of the domain -func (o GetCdnDistributionDomainOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Status }).(pulumi.StringOutput) -} +type GetApplicationLoadBalancerTargetSecurityGroupOutput struct{ *pulumi.OutputState } -// The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user -func (o GetCdnDistributionDomainOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Type }).(pulumi.StringOutput) +func (GetApplicationLoadBalancerTargetSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() } -type GetCdnDistributionDomainArrayOutput struct{ *pulumi.OutputState } - -func (GetCdnDistributionDomainArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { + return o } -func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { return o } -func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { - return o +// ID of the security Group +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Id }).(pulumi.StringOutput) } -func (o GetCdnDistributionDomainArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionDomainOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionDomain { - return vs[0].([]GetCdnDistributionDomain)[vs[1].(int)] - }).(GetCdnDistributionDomainOutput) +// Name of the security Group +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Name }).(pulumi.StringOutput) } -type GetDnsRecordSetTimeouts struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read *string `pulumi:"read"` +type GetCdnCustomDomainCertificate struct { + // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. + Version int `pulumi:"version"` } -// GetDnsRecordSetTimeoutsInput is an input type that accepts GetDnsRecordSetTimeoutsArgs and GetDnsRecordSetTimeoutsOutput values. -// You can construct a concrete instance of `GetDnsRecordSetTimeoutsInput` via: +// GetCdnCustomDomainCertificateInput is an input type that accepts GetCdnCustomDomainCertificateArgs and GetCdnCustomDomainCertificateOutput values. +// You can construct a concrete instance of `GetCdnCustomDomainCertificateInput` via: // -// GetDnsRecordSetTimeoutsArgs{...} -type GetDnsRecordSetTimeoutsInput interface { +// GetCdnCustomDomainCertificateArgs{...} +type GetCdnCustomDomainCertificateInput interface { pulumi.Input - ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput - ToGetDnsRecordSetTimeoutsOutputWithContext(context.Context) GetDnsRecordSetTimeoutsOutput + ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput + ToGetCdnCustomDomainCertificateOutputWithContext(context.Context) GetCdnCustomDomainCertificateOutput } -type GetDnsRecordSetTimeoutsArgs struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read pulumi.StringPtrInput `pulumi:"read"` +type GetCdnCustomDomainCertificateArgs struct { + // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. + Version pulumi.IntInput `pulumi:"version"` } -func (GetDnsRecordSetTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() +func (GetCdnCustomDomainCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { - return i.ToGetDnsRecordSetTimeoutsOutputWithContext(context.Background()) +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { + return i.ToGetCdnCustomDomainCertificateOutputWithContext(context.Background()) } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput) +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput) } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { - return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { + return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput).ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx) +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput).ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx) } -// GetDnsRecordSetTimeoutsPtrInput is an input type that accepts GetDnsRecordSetTimeoutsArgs, GetDnsRecordSetTimeoutsPtr and GetDnsRecordSetTimeoutsPtrOutput values. -// You can construct a concrete instance of `GetDnsRecordSetTimeoutsPtrInput` via: +// GetCdnCustomDomainCertificatePtrInput is an input type that accepts GetCdnCustomDomainCertificateArgs, GetCdnCustomDomainCertificatePtr and GetCdnCustomDomainCertificatePtrOutput values. +// You can construct a concrete instance of `GetCdnCustomDomainCertificatePtrInput` via: // -// GetDnsRecordSetTimeoutsArgs{...} +// GetCdnCustomDomainCertificateArgs{...} // // or: // // nil -type GetDnsRecordSetTimeoutsPtrInput interface { +type GetCdnCustomDomainCertificatePtrInput interface { pulumi.Input - ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput - ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Context) GetDnsRecordSetTimeoutsPtrOutput + ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput + ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Context) GetCdnCustomDomainCertificatePtrOutput } -type getDnsRecordSetTimeoutsPtrType GetDnsRecordSetTimeoutsArgs +type getCdnCustomDomainCertificatePtrType GetCdnCustomDomainCertificateArgs -func GetDnsRecordSetTimeoutsPtr(v *GetDnsRecordSetTimeoutsArgs) GetDnsRecordSetTimeoutsPtrInput { - return (*getDnsRecordSetTimeoutsPtrType)(v) +func GetCdnCustomDomainCertificatePtr(v *GetCdnCustomDomainCertificateArgs) GetCdnCustomDomainCertificatePtrInput { + return (*getCdnCustomDomainCertificatePtrType)(v) } -func (*getDnsRecordSetTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() +func (*getCdnCustomDomainCertificatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() } -func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { - return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) +func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { + return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) } -func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsPtrOutput) +func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificatePtrOutput) } -type GetDnsRecordSetTimeoutsOutput struct{ *pulumi.OutputState } +type GetCdnCustomDomainCertificateOutput struct{ *pulumi.OutputState } -func (GetDnsRecordSetTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() +func (GetCdnCustomDomainCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { return o } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { return o } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { - return o.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { + return o.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsRecordSetTimeouts) *GetDnsRecordSetTimeouts { +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetCdnCustomDomainCertificate) *GetCdnCustomDomainCertificate { return &v - }).(GetDnsRecordSetTimeoutsPtrOutput) + }).(GetCdnCustomDomainCertificatePtrOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsRecordSetTimeoutsOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetDnsRecordSetTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. +func (o GetCdnCustomDomainCertificateOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v GetCdnCustomDomainCertificate) int { return v.Version }).(pulumi.IntOutput) } -type GetDnsRecordSetTimeoutsPtrOutput struct{ *pulumi.OutputState } +type GetCdnCustomDomainCertificatePtrOutput struct{ *pulumi.OutputState } -func (GetDnsRecordSetTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() +func (GetCdnCustomDomainCertificatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() } -func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { +func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { return o } -func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { +func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { return o } -func (o GetDnsRecordSetTimeoutsPtrOutput) Elem() GetDnsRecordSetTimeoutsOutput { - return o.ApplyT(func(v *GetDnsRecordSetTimeouts) GetDnsRecordSetTimeouts { +func (o GetCdnCustomDomainCertificatePtrOutput) Elem() GetCdnCustomDomainCertificateOutput { + return o.ApplyT(func(v *GetCdnCustomDomainCertificate) GetCdnCustomDomainCertificate { if v != nil { return *v } - var ret GetDnsRecordSetTimeouts + var ret GetCdnCustomDomainCertificate return ret - }).(GetDnsRecordSetTimeoutsOutput) + }).(GetCdnCustomDomainCertificateOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsRecordSetTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetDnsRecordSetTimeouts) *string { +// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. +func (o GetCdnCustomDomainCertificatePtrOutput) Version() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetCdnCustomDomainCertificate) *int { if v == nil { return nil } - return v.Read - }).(pulumi.StringPtrOutput) + return &v.Version + }).(pulumi.IntPtrOutput) } -type GetDnsZoneTimeouts struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read *string `pulumi:"read"` +type GetCdnDistributionConfig struct { + // The configured backend for the distribution + Backend GetCdnDistributionConfigBackend `pulumi:"backend"` + // The configured countries where distribution of content is blocked + BlockedCountries []string `pulumi:"blockedCountries"` + // Enable this allows the 'Host' header to be passed through to the origin. + ForwardHostHeader bool `pulumi:"forwardHostHeader"` + // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. + Optimizer GetCdnDistributionConfigOptimizer `pulumi:"optimizer"` + // A wrapper for a list of redirect rules that allows for redirect settings on a distribution + Redirects GetCdnDistributionConfigRedirects `pulumi:"redirects"` + // The configured regions where content will be hosted + Regions []string `pulumi:"regions"` + // Enable this to prevent origin-level cookies from being forwarded to the end user. + StripResponseCookies bool `pulumi:"stripResponseCookies"` + // Configuration for TLS protocol versions. Note: Enabling older TLS versions (1.0, 1.1) is generally discouraged for security reasons. + Tls GetCdnDistributionConfigTls `pulumi:"tls"` + // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. + Waf GetCdnDistributionConfigWaf `pulumi:"waf"` } -// GetDnsZoneTimeoutsInput is an input type that accepts GetDnsZoneTimeoutsArgs and GetDnsZoneTimeoutsOutput values. -// You can construct a concrete instance of `GetDnsZoneTimeoutsInput` via: +// GetCdnDistributionConfigInput is an input type that accepts GetCdnDistributionConfigArgs and GetCdnDistributionConfigOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigInput` via: // -// GetDnsZoneTimeoutsArgs{...} -type GetDnsZoneTimeoutsInput interface { +// GetCdnDistributionConfigArgs{...} +type GetCdnDistributionConfigInput interface { pulumi.Input - ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput - ToGetDnsZoneTimeoutsOutputWithContext(context.Context) GetDnsZoneTimeoutsOutput -} - -type GetDnsZoneTimeoutsArgs struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read pulumi.StringPtrInput `pulumi:"read"` -} - -func (GetDnsZoneTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() -} - -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { - return i.ToGetDnsZoneTimeoutsOutputWithContext(context.Background()) + ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput + ToGetCdnDistributionConfigOutputWithContext(context.Context) GetCdnDistributionConfigOutput } -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput) -} - -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) -} - -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput).ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx) -} - -// GetDnsZoneTimeoutsPtrInput is an input type that accepts GetDnsZoneTimeoutsArgs, GetDnsZoneTimeoutsPtr and GetDnsZoneTimeoutsPtrOutput values. -// You can construct a concrete instance of `GetDnsZoneTimeoutsPtrInput` via: -// -// GetDnsZoneTimeoutsArgs{...} -// -// or: -// -// nil -type GetDnsZoneTimeoutsPtrInput interface { - pulumi.Input - - ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput - ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Context) GetDnsZoneTimeoutsPtrOutput -} - -type getDnsZoneTimeoutsPtrType GetDnsZoneTimeoutsArgs - -func GetDnsZoneTimeoutsPtr(v *GetDnsZoneTimeoutsArgs) GetDnsZoneTimeoutsPtrInput { - return (*getDnsZoneTimeoutsPtrType)(v) +type GetCdnDistributionConfigArgs struct { + // The configured backend for the distribution + Backend GetCdnDistributionConfigBackendInput `pulumi:"backend"` + // The configured countries where distribution of content is blocked + BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"` + // Enable this allows the 'Host' header to be passed through to the origin. + ForwardHostHeader pulumi.BoolInput `pulumi:"forwardHostHeader"` + // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. + Optimizer GetCdnDistributionConfigOptimizerInput `pulumi:"optimizer"` + // A wrapper for a list of redirect rules that allows for redirect settings on a distribution + Redirects GetCdnDistributionConfigRedirectsInput `pulumi:"redirects"` + // The configured regions where content will be hosted + Regions pulumi.StringArrayInput `pulumi:"regions"` + // Enable this to prevent origin-level cookies from being forwarded to the end user. + StripResponseCookies pulumi.BoolInput `pulumi:"stripResponseCookies"` + // Configuration for TLS protocol versions. Note: Enabling older TLS versions (1.0, 1.1) is generally discouraged for security reasons. + Tls GetCdnDistributionConfigTlsInput `pulumi:"tls"` + // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. + Waf GetCdnDistributionConfigWafInput `pulumi:"waf"` } -func (*getDnsZoneTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() +func (GetCdnDistributionConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() } -func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { + return i.ToGetCdnDistributionConfigOutputWithContext(context.Background()) } -func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsPtrOutput) +func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOutput) } -type GetDnsZoneTimeoutsOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigOutput struct{ *pulumi.OutputState } -func (GetDnsZoneTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() +func (GetCdnDistributionConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() } -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { +func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { return o } -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { +func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { return o } -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return o.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) +// The configured backend for the distribution +func (o GetCdnDistributionConfigOutput) Backend() GetCdnDistributionConfigBackendOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigBackend { return v.Backend }).(GetCdnDistributionConfigBackendOutput) } -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsZoneTimeouts) *GetDnsZoneTimeouts { - return &v - }).(GetDnsZoneTimeoutsPtrOutput) +// The configured countries where distribution of content is blocked +func (o GetCdnDistributionConfigOutput) BlockedCountries() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.BlockedCountries }).(pulumi.StringArrayOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsZoneTimeoutsOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetDnsZoneTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +// Enable this allows the 'Host' header to be passed through to the origin. +func (o GetCdnDistributionConfigOutput) ForwardHostHeader() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) bool { return v.ForwardHostHeader }).(pulumi.BoolOutput) } -type GetDnsZoneTimeoutsPtrOutput struct{ *pulumi.OutputState } +// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. +func (o GetCdnDistributionConfigOutput) Optimizer() GetCdnDistributionConfigOptimizerOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigOptimizer { return v.Optimizer }).(GetCdnDistributionConfigOptimizerOutput) +} -func (GetDnsZoneTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() +// A wrapper for a list of redirect rules that allows for redirect settings on a distribution +func (o GetCdnDistributionConfigOutput) Redirects() GetCdnDistributionConfigRedirectsOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigRedirects { return v.Redirects }).(GetCdnDistributionConfigRedirectsOutput) } -func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return o +// The configured regions where content will be hosted +func (o GetCdnDistributionConfigOutput) Regions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.Regions }).(pulumi.StringArrayOutput) } -func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return o +// Enable this to prevent origin-level cookies from being forwarded to the end user. +func (o GetCdnDistributionConfigOutput) StripResponseCookies() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) bool { return v.StripResponseCookies }).(pulumi.BoolOutput) } -func (o GetDnsZoneTimeoutsPtrOutput) Elem() GetDnsZoneTimeoutsOutput { - return o.ApplyT(func(v *GetDnsZoneTimeouts) GetDnsZoneTimeouts { - if v != nil { - return *v - } - var ret GetDnsZoneTimeouts - return ret - }).(GetDnsZoneTimeoutsOutput) +// Configuration for TLS protocol versions. Note: Enabling older TLS versions (1.0, 1.1) is generally discouraged for security reasons. +func (o GetCdnDistributionConfigOutput) Tls() GetCdnDistributionConfigTlsOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigTls { return v.Tls }).(GetCdnDistributionConfigTlsOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsZoneTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetDnsZoneTimeouts) *string { - if v == nil { - return nil - } - return v.Read - }).(pulumi.StringPtrOutput) +// Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. +func (o GetCdnDistributionConfigOutput) Waf() GetCdnDistributionConfigWafOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigWaf { return v.Waf }).(GetCdnDistributionConfigWafOutput) } -type 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 GetCdnDistributionConfigBackend struct { + // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. + BucketUrl string `pulumi:"bucketUrl"` + // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries + Geofencing map[string][]string `pulumi:"geofencing"` + // The configured type http origin request headers for the backend + OriginRequestHeaders map[string]string `pulumi:"originRequestHeaders"` + // The configured backend type http for the distribution + OriginUrl string `pulumi:"originUrl"` + // The region where the bucket is hosted. Required if type is 'bucket'. + Region string `pulumi:"region"` + // The configured backend type. Possible values are: `http`, `bucket`. Type string `pulumi:"type"` } -// GetDremioInstanceAuthenticationInput is an input type that accepts GetDremioInstanceAuthenticationArgs and GetDremioInstanceAuthenticationOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationInput` via: +// GetCdnDistributionConfigBackendInput is an input type that accepts GetCdnDistributionConfigBackendArgs and GetCdnDistributionConfigBackendOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigBackendInput` via: // -// GetDremioInstanceAuthenticationArgs{...} -type GetDremioInstanceAuthenticationInput interface { +// GetCdnDistributionConfigBackendArgs{...} +type GetCdnDistributionConfigBackendInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput - ToGetDremioInstanceAuthenticationOutputWithContext(context.Context) GetDremioInstanceAuthenticationOutput + ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput + ToGetCdnDistributionConfigBackendOutputWithContext(context.Context) GetCdnDistributionConfigBackendOutput } -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 GetCdnDistributionConfigBackendArgs struct { + // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. + BucketUrl pulumi.StringInput `pulumi:"bucketUrl"` + // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries + Geofencing pulumi.StringArrayMapInput `pulumi:"geofencing"` + // The configured type http origin request headers for the backend + OriginRequestHeaders pulumi.StringMapInput `pulumi:"originRequestHeaders"` + // The configured backend type http for the distribution + OriginUrl pulumi.StringInput `pulumi:"originUrl"` + // The region where the bucket is hosted. Required if type is 'bucket'. + Region pulumi.StringInput `pulumi:"region"` + // The configured backend type. Possible values are: `http`, `bucket`. Type pulumi.StringInput `pulumi:"type"` } -func (GetDremioInstanceAuthenticationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() +func (GetCdnDistributionConfigBackendArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { - return i.ToGetDremioInstanceAuthenticationOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { + return i.ToGetCdnDistributionConfigBackendOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOutput) +func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigBackendOutput) } -type GetDremioInstanceAuthenticationOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigBackendOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceAuthenticationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() +func (GetCdnDistributionConfigBackendOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { +func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { return o } -func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { +func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { return o } -// Azure Active Directory authentication configuration. -func (o GetDremioInstanceAuthenticationOutput) Azuread() GetDremioInstanceAuthenticationAzureadOutput { - return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationAzuread { return v.Azuread }).(GetDremioInstanceAuthenticationAzureadOutput) +// The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. +func (o GetCdnDistributionConfigBackendOutput) BucketUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.BucketUrl }).(pulumi.StringOutput) } -// OIDC authentication configuration. -func (o GetDremioInstanceAuthenticationOutput) Oauth() GetDremioInstanceAuthenticationOauthOutput { - return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationOauth { return v.Oauth }).(GetDremioInstanceAuthenticationOauthOutput) +// The configured type http to configure countries where content is allowed. A map of URLs to a list of countries +func (o GetCdnDistributionConfigBackendOutput) Geofencing() pulumi.StringArrayMapOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string][]string { return v.Geofencing }).(pulumi.StringArrayMapOutput) } -// Type of authentication (local-only, azuread, oauth). -func (o GetDremioInstanceAuthenticationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthentication) string { return v.Type }).(pulumi.StringOutput) +// The configured type http origin request headers for the backend +func (o GetCdnDistributionConfigBackendOutput) OriginRequestHeaders() pulumi.StringMapOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string]string { return v.OriginRequestHeaders }).(pulumi.StringMapOutput) } -type 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"` +// The configured backend type http for the distribution +func (o GetCdnDistributionConfigBackendOutput) OriginUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.OriginUrl }).(pulumi.StringOutput) } -// 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 +// The region where the bucket is hosted. Required if type is 'bucket'. +func (o GetCdnDistributionConfigBackendOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Region }).(pulumi.StringOutput) +} - ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput - ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Context) GetDremioInstanceAuthenticationAzureadOutput +// The configured backend type. Possible values are: `http`, `bucket`. +func (o GetCdnDistributionConfigBackendOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Type }).(pulumi.StringOutput) } -type GetDremioInstanceAuthenticationAzureadArgs struct { - // The Azure AD authority URL. - AuthorityUrl pulumi.StringInput `pulumi:"authorityUrl"` - // The Azure AD client ID. - ClientId pulumi.StringInput `pulumi:"clientId"` - // The Azure AD client secret. - ClientSecret pulumi.StringInput `pulumi:"clientSecret"` - // The Azure AD redirect URL. - RedirectUrl pulumi.StringInput `pulumi:"redirectUrl"` +type GetCdnDistributionConfigOptimizer struct { + Enabled bool `pulumi:"enabled"` } -func (GetDremioInstanceAuthenticationAzureadArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() -} +// GetCdnDistributionConfigOptimizerInput is an input type that accepts GetCdnDistributionConfigOptimizerArgs and GetCdnDistributionConfigOptimizerOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigOptimizerInput` via: +// +// GetCdnDistributionConfigOptimizerArgs{...} +type GetCdnDistributionConfigOptimizerInput interface { + pulumi.Input -func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { - return i.ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Background()) + ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput + ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Context) GetCdnDistributionConfigOptimizerOutput } -func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationAzureadOutput) +type GetCdnDistributionConfigOptimizerArgs struct { + Enabled pulumi.BoolInput `pulumi:"enabled"` } -type GetDremioInstanceAuthenticationAzureadOutput struct{ *pulumi.OutputState } - -func (GetDremioInstanceAuthenticationAzureadOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() +func (GetCdnDistributionConfigOptimizerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { - return o +func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { + return i.ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Background()) } -func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { - return o +func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOptimizerOutput) } -// The Azure AD authority URL. -func (o GetDremioInstanceAuthenticationAzureadOutput) AuthorityUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.AuthorityUrl }).(pulumi.StringOutput) +type GetCdnDistributionConfigOptimizerOutput struct{ *pulumi.OutputState } + +func (GetCdnDistributionConfigOptimizerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() } -// The Azure AD client ID. -func (o GetDremioInstanceAuthenticationAzureadOutput) ClientId() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.ClientId }).(pulumi.StringOutput) +func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { + return o } -// The Azure AD client secret. -func (o GetDremioInstanceAuthenticationAzureadOutput) ClientSecret() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.ClientSecret }).(pulumi.StringOutput) +func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { + return o } -// The Azure AD redirect URL. -func (o GetDremioInstanceAuthenticationAzureadOutput) RedirectUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.RedirectUrl }).(pulumi.StringOutput) +func (o GetCdnDistributionConfigOptimizerOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfigOptimizer) bool { return v.Enabled }).(pulumi.BoolOutput) } -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"` +type GetCdnDistributionConfigRedirects struct { + // A list of redirect rules. The order of rules matters for evaluation + Rules []GetCdnDistributionConfigRedirectsRule `pulumi:"rules"` } -// GetDremioInstanceAuthenticationOauthInput is an input type that accepts GetDremioInstanceAuthenticationOauthArgs and GetDremioInstanceAuthenticationOauthOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthInput` via: +// GetCdnDistributionConfigRedirectsInput is an input type that accepts GetCdnDistributionConfigRedirectsArgs and GetCdnDistributionConfigRedirectsOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsInput` via: // -// GetDremioInstanceAuthenticationOauthArgs{...} -type GetDremioInstanceAuthenticationOauthInput interface { +// GetCdnDistributionConfigRedirectsArgs{...} +type GetCdnDistributionConfigRedirectsInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput - ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthOutput + ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput + ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsOutput } -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"` +type GetCdnDistributionConfigRedirectsArgs struct { + // A list of redirect rules. The order of rules matters for evaluation + Rules GetCdnDistributionConfigRedirectsRuleArrayInput `pulumi:"rules"` } -func (GetDremioInstanceAuthenticationOauthArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { - return i.ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { + return i.ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthOutput) +func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsOutput) } -type GetDremioInstanceAuthenticationOauthOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigRedirectsOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceAuthenticationOauthOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { +func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { return o } -func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { +func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { 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) +// A list of redirect rules. The order of rules matters for evaluation +func (o GetCdnDistributionConfigRedirectsOutput) Rules() GetCdnDistributionConfigRedirectsRuleArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirects) []GetCdnDistributionConfigRedirectsRule { return v.Rules }).(GetCdnDistributionConfigRedirectsRuleArrayOutput) } -// 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) +type GetCdnDistributionConfigRedirectsRule struct { + // An optional description for the redirect rule + Description string `pulumi:"description"` + // A toggle to enable or disable the redirect rule. Default to true + Enabled bool `pulumi:"enabled"` + // A list of matchers that define when this rule should apply. At least one matcher is required + Matchers []GetCdnDistributionConfigRedirectsRuleMatcher `pulumi:"matchers"` + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + RuleMatchCondition string `pulumi:"ruleMatchCondition"` + // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. + StatusCode int `pulumi:"statusCode"` + // The target URL to redirect to. Must be a valid URI + TargetUrl string `pulumi:"targetUrl"` } -// 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) -} +// GetCdnDistributionConfigRedirectsRuleInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArgs and GetCdnDistributionConfigRedirectsRuleOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleInput` via: +// +// GetCdnDistributionConfigRedirectsRuleArgs{...} +type GetCdnDistributionConfigRedirectsRuleInput interface { + pulumi.Input -// 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) + ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput + ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleOutput } -// Any additional parameters the Identity Provider requires. -func (o GetDremioInstanceAuthenticationOauthOutput) Parameters() GetDremioInstanceAuthenticationOauthParameterArrayOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) []GetDremioInstanceAuthenticationOauthParameter { - return v.Parameters - }).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) +type GetCdnDistributionConfigRedirectsRuleArgs struct { + // An optional description for the redirect rule + Description pulumi.StringInput `pulumi:"description"` + // A toggle to enable or disable the redirect rule. Default to true + Enabled pulumi.BoolInput `pulumi:"enabled"` + // A list of matchers that define when this rule should apply. At least one matcher is required + Matchers GetCdnDistributionConfigRedirectsRuleMatcherArrayInput `pulumi:"matchers"` + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + RuleMatchCondition pulumi.StringInput `pulumi:"ruleMatchCondition"` + // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. + StatusCode pulumi.IntInput `pulumi:"statusCode"` + // The target URL to redirect to. Must be a valid URI + TargetUrl pulumi.StringInput `pulumi:"targetUrl"` } -// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. -func (o GetDremioInstanceAuthenticationOauthOutput) RedirectUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.RedirectUrl }).(pulumi.StringOutput) +func (GetCdnDistributionConfigRedirectsRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -// A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. -func (o GetDremioInstanceAuthenticationOauthOutput) Scope() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.Scope }).(pulumi.StringOutput) +func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Background()) } -type GetDremioInstanceAuthenticationOauthJwtClaims struct { - // Mapped user name claim (e.g. email). - UserName string `pulumi:"userName"` +func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleOutput) } -// GetDremioInstanceAuthenticationOauthJwtClaimsInput is an input type that accepts GetDremioInstanceAuthenticationOauthJwtClaimsArgs and GetDremioInstanceAuthenticationOauthJwtClaimsOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthJwtClaimsInput` via: +// GetCdnDistributionConfigRedirectsRuleArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArray and GetCdnDistributionConfigRedirectsRuleArrayOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleArrayInput` via: // -// GetDremioInstanceAuthenticationOauthJwtClaimsArgs{...} -type GetDremioInstanceAuthenticationOauthJwtClaimsInput interface { +// GetCdnDistributionConfigRedirectsRuleArray{ GetCdnDistributionConfigRedirectsRuleArgs{...} } +type GetCdnDistributionConfigRedirectsRuleArrayInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput - ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput + ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput + ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput } -type GetDremioInstanceAuthenticationOauthJwtClaimsArgs struct { - // Mapped user name claim (e.g. email). - UserName pulumi.StringInput `pulumi:"userName"` -} +type GetCdnDistributionConfigRedirectsRuleArray []GetCdnDistributionConfigRedirectsRuleInput -func (GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { - return i.ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthJwtClaimsOutput) +func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleArrayOutput) } -type GetDremioInstanceAuthenticationOauthJwtClaimsOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigRedirectsRuleOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { +func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { return o } -func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { +func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { 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) +// An optional description for the redirect rule +func (o GetCdnDistributionConfigRedirectsRuleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.Description }).(pulumi.StringOutput) } -type GetDremioInstanceAuthenticationOauthParameter struct { - // Parameter name. - Name string `pulumi:"name"` - // Parameter value. - Value string `pulumi:"value"` +// A toggle to enable or disable the redirect rule. Default to true +func (o GetCdnDistributionConfigRedirectsRuleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) bool { return v.Enabled }).(pulumi.BoolOutput) } -// 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 +// A list of matchers that define when this rule should apply. At least one matcher is required +func (o GetCdnDistributionConfigRedirectsRuleOutput) Matchers() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) []GetCdnDistributionConfigRedirectsRuleMatcher { + return v.Matchers + }).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) +} - ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput - ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterOutput +// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. +func (o GetCdnDistributionConfigRedirectsRuleOutput) RuleMatchCondition() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.RuleMatchCondition }).(pulumi.StringOutput) } -type GetDremioInstanceAuthenticationOauthParameterArgs struct { - // Parameter name. - Name pulumi.StringInput `pulumi:"name"` - // Parameter value. - Value pulumi.StringInput `pulumi:"value"` +// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. +func (o GetCdnDistributionConfigRedirectsRuleOutput) StatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) int { return v.StatusCode }).(pulumi.IntOutput) } -func (GetDremioInstanceAuthenticationOauthParameterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +// The target URL to redirect to. Must be a valid URI +func (o GetCdnDistributionConfigRedirectsRuleOutput) TargetUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.TargetUrl }).(pulumi.StringOutput) } -func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { - return i.ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Background()) +type GetCdnDistributionConfigRedirectsRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCdnDistributionConfigRedirectsRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterOutput) +func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { + return o } -// GetDremioInstanceAuthenticationOauthParameterArrayInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArray and GetDremioInstanceAuthenticationOauthParameterArrayOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterArrayInput` via: +func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { + return o +} + +func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRule { + return vs[0].([]GetCdnDistributionConfigRedirectsRule)[vs[1].(int)] + }).(GetCdnDistributionConfigRedirectsRuleOutput) +} + +type GetCdnDistributionConfigRedirectsRuleMatcher struct { + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + ValueMatchCondition string `pulumi:"valueMatchCondition"` + // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" + Values []string `pulumi:"values"` +} + +// GetCdnDistributionConfigRedirectsRuleMatcherInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArgs and GetCdnDistributionConfigRedirectsRuleMatcherOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherInput` via: // -// GetDremioInstanceAuthenticationOauthParameterArray{ GetDremioInstanceAuthenticationOauthParameterArgs{...} } -type GetDremioInstanceAuthenticationOauthParameterArrayInput interface { +// GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} +type GetCdnDistributionConfigRedirectsRuleMatcherInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput - ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput + ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput + ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput } -type GetDremioInstanceAuthenticationOauthParameterArray []GetDremioInstanceAuthenticationOauthParameterInput +type GetCdnDistributionConfigRedirectsRuleMatcherArgs struct { + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + ValueMatchCondition pulumi.StringInput `pulumi:"valueMatchCondition"` + // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" + Values pulumi.StringArrayInput `pulumi:"values"` +} -func (GetDremioInstanceAuthenticationOauthParameterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsRuleMatcherArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { - return i.ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) +func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) } -type GetDremioInstanceAuthenticationOauthParameterOutput struct{ *pulumi.OutputState } +// GetCdnDistributionConfigRedirectsRuleMatcherArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArray and GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherArrayInput` via: +// +// GetCdnDistributionConfigRedirectsRuleMatcherArray{ GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} } +type GetCdnDistributionConfigRedirectsRuleMatcherArrayInput interface { + pulumi.Input -func (GetDremioInstanceAuthenticationOauthParameterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() + ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput + ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput } -func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { +type GetCdnDistributionConfigRedirectsRuleMatcherArray []GetCdnDistributionConfigRedirectsRuleMatcherInput + +func (GetCdnDistributionConfigRedirectsRuleMatcherArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +} + +func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Background()) +} + +func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) +} + +type GetCdnDistributionConfigRedirectsRuleMatcherOutput struct{ *pulumi.OutputState } + +func (GetCdnDistributionConfigRedirectsRuleMatcherOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +} + +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { return o } -func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { return o } -// Parameter name. -func (o GetDremioInstanceAuthenticationOauthParameterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Name }).(pulumi.StringOutput) +// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ValueMatchCondition() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) string { return v.ValueMatchCondition }).(pulumi.StringOutput) } -// Parameter value. -func (o GetDremioInstanceAuthenticationOauthParameterOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Value }).(pulumi.StringOutput) +// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetDremioInstanceAuthenticationOauthParameterArrayOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceAuthenticationOauthParameterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { +func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { return o } -func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { +func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { return o } -func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) Index(i pulumi.IntInput) GetDremioInstanceAuthenticationOauthParameterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDremioInstanceAuthenticationOauthParameter { - return vs[0].([]GetDremioInstanceAuthenticationOauthParameter)[vs[1].(int)] - }).(GetDremioInstanceAuthenticationOauthParameterOutput) +func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRuleMatcher { + return vs[0].([]GetCdnDistributionConfigRedirectsRuleMatcher)[vs[1].(int)] + }).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) } -type 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"` +type GetCdnDistributionConfigTls struct { + // If set to true, the distribution will accept connections using TLS 1.1. + EnableTls10 bool `pulumi:"enableTls10"` + // If set to true, the distribution will accept connections using TLS 1.0. + EnableTls11 bool `pulumi:"enableTls11"` } -// GetDremioInstanceEndpointsInput is an input type that accepts GetDremioInstanceEndpointsArgs and GetDremioInstanceEndpointsOutput values. -// You can construct a concrete instance of `GetDremioInstanceEndpointsInput` via: +// GetCdnDistributionConfigTlsInput is an input type that accepts GetCdnDistributionConfigTlsArgs and GetCdnDistributionConfigTlsOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigTlsInput` via: // -// GetDremioInstanceEndpointsArgs{...} -type GetDremioInstanceEndpointsInput interface { +// GetCdnDistributionConfigTlsArgs{...} +type GetCdnDistributionConfigTlsInput interface { pulumi.Input - ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput - ToGetDremioInstanceEndpointsOutputWithContext(context.Context) GetDremioInstanceEndpointsOutput + ToGetCdnDistributionConfigTlsOutput() GetCdnDistributionConfigTlsOutput + ToGetCdnDistributionConfigTlsOutputWithContext(context.Context) GetCdnDistributionConfigTlsOutput } -type GetDremioInstanceEndpointsArgs struct { - // The arrow flight endpoint of the Dremio instance. - ArrowFlight pulumi.StringInput `pulumi:"arrowFlight"` - // The Apache Iceberg endpoint of the Dremio instance. - Catalog pulumi.StringInput `pulumi:"catalog"` - // The UI endpoint of the Dremio instance. - Ui pulumi.StringInput `pulumi:"ui"` +type GetCdnDistributionConfigTlsArgs struct { + // If set to true, the distribution will accept connections using TLS 1.1. + EnableTls10 pulumi.BoolInput `pulumi:"enableTls10"` + // If set to true, the distribution will accept connections using TLS 1.0. + EnableTls11 pulumi.BoolInput `pulumi:"enableTls11"` } -func (GetDremioInstanceEndpointsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() +func (GetCdnDistributionConfigTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigTls)(nil)).Elem() } -func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { - return i.ToGetDremioInstanceEndpointsOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigTlsArgs) ToGetCdnDistributionConfigTlsOutput() GetCdnDistributionConfigTlsOutput { + return i.ToGetCdnDistributionConfigTlsOutputWithContext(context.Background()) } -func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceEndpointsOutput) +func (i GetCdnDistributionConfigTlsArgs) ToGetCdnDistributionConfigTlsOutputWithContext(ctx context.Context) GetCdnDistributionConfigTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigTlsOutput) } -type GetDremioInstanceEndpointsOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigTlsOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceEndpointsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() +func (GetCdnDistributionConfigTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigTls)(nil)).Elem() } -func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { +func (o GetCdnDistributionConfigTlsOutput) ToGetCdnDistributionConfigTlsOutput() GetCdnDistributionConfigTlsOutput { return o } -func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { +func (o GetCdnDistributionConfigTlsOutput) ToGetCdnDistributionConfigTlsOutputWithContext(ctx context.Context) GetCdnDistributionConfigTlsOutput { 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) +// If set to true, the distribution will accept connections using TLS 1.1. +func (o GetCdnDistributionConfigTlsOutput) EnableTls10() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfigTls) bool { return v.EnableTls10 }).(pulumi.BoolOutput) } -// 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) +// If set to true, the distribution will accept connections using TLS 1.0. +func (o GetCdnDistributionConfigTlsOutput) EnableTls11() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfigTls) bool { return v.EnableTls11 }).(pulumi.BoolOutput) } -// 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 GetCdnDistributionConfigWaf struct { + // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + AllowedHttpMethods []string `pulumi:"allowedHttpMethods"` + // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. + AllowedHttpVersions []string `pulumi:"allowedHttpVersions"` + // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. + AllowedRequestContentTypes []string `pulumi:"allowedRequestContentTypes"` + // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleCollectionIds []string `pulumi:"disabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleGroupIds []string `pulumi:"disabledRuleGroupIds"` + // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleIds []string `pulumi:"disabledRuleIds"` + // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleCollectionIds []string `pulumi:"enabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleGroupIds []string `pulumi:"enabledRuleGroupIds"` + // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleIds []string `pulumi:"enabledRuleIds"` + // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleCollectionIds []string `pulumi:"logOnlyRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleGroupIds []string `pulumi:"logOnlyRuleGroupIds"` + // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleIds []string `pulumi:"logOnlyRuleIds"` + // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. + Mode string `pulumi:"mode"` + // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. + ParanoiaLevel string `pulumi:"paranoiaLevel"` + // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + Type string `pulumi:"type"` } -type GetEdgecloudInstancesInstance struct { - // The date and time the instance was created. - Created string `pulumi:"created"` - // Description of the instance. - Description string `pulumi:"description"` - // The display name of the instance. - DisplayName string `pulumi:"displayName"` - // Frontend URL for the Edge Cloud instance. - FrontendUrl string `pulumi:"frontendUrl"` - // The ID of the instance. - InstanceId string `pulumi:"instanceId"` - // The plan ID for the instance. - PlanId string `pulumi:"planId"` - // The region where the instance is located. - Region string `pulumi:"region"` - // The status of the instance. - Status string `pulumi:"status"` -} - -// GetEdgecloudInstancesInstanceInput is an input type that accepts GetEdgecloudInstancesInstanceArgs and GetEdgecloudInstancesInstanceOutput values. -// You can construct a concrete instance of `GetEdgecloudInstancesInstanceInput` via: +// GetCdnDistributionConfigWafInput is an input type that accepts GetCdnDistributionConfigWafArgs and GetCdnDistributionConfigWafOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigWafInput` via: // -// GetEdgecloudInstancesInstanceArgs{...} -type GetEdgecloudInstancesInstanceInput interface { +// GetCdnDistributionConfigWafArgs{...} +type GetCdnDistributionConfigWafInput interface { pulumi.Input - ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput - ToGetEdgecloudInstancesInstanceOutputWithContext(context.Context) GetEdgecloudInstancesInstanceOutput -} - -type GetEdgecloudInstancesInstanceArgs struct { - // The date and time the instance was created. - Created pulumi.StringInput `pulumi:"created"` - // Description of the instance. - Description pulumi.StringInput `pulumi:"description"` - // The display name of the instance. - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Frontend URL for the Edge Cloud instance. - FrontendUrl pulumi.StringInput `pulumi:"frontendUrl"` - // The ID of the instance. - InstanceId pulumi.StringInput `pulumi:"instanceId"` - // The plan ID for the instance. - PlanId pulumi.StringInput `pulumi:"planId"` - // The region where the instance is located. - Region pulumi.StringInput `pulumi:"region"` - // The status of the instance. - Status pulumi.StringInput `pulumi:"status"` + ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput + ToGetCdnDistributionConfigWafOutputWithContext(context.Context) GetCdnDistributionConfigWafOutput } -func (GetEdgecloudInstancesInstanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() +type GetCdnDistributionConfigWafArgs struct { + // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + AllowedHttpMethods pulumi.StringArrayInput `pulumi:"allowedHttpMethods"` + // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. + AllowedHttpVersions pulumi.StringArrayInput `pulumi:"allowedHttpVersions"` + // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. + AllowedRequestContentTypes pulumi.StringArrayInput `pulumi:"allowedRequestContentTypes"` + // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"disabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleGroupIds pulumi.StringArrayInput `pulumi:"disabledRuleGroupIds"` + // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleIds pulumi.StringArrayInput `pulumi:"disabledRuleIds"` + // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"enabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleGroupIds pulumi.StringArrayInput `pulumi:"enabledRuleGroupIds"` + // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleIds pulumi.StringArrayInput `pulumi:"enabledRuleIds"` + // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleCollectionIds pulumi.StringArrayInput `pulumi:"logOnlyRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleGroupIds pulumi.StringArrayInput `pulumi:"logOnlyRuleGroupIds"` + // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleIds pulumi.StringArrayInput `pulumi:"logOnlyRuleIds"` + // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. + Mode pulumi.StringInput `pulumi:"mode"` + // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. + ParanoiaLevel pulumi.StringInput `pulumi:"paranoiaLevel"` + // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + Type pulumi.StringInput `pulumi:"type"` } -func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { - return i.ToGetEdgecloudInstancesInstanceOutputWithContext(context.Background()) +func (GetCdnDistributionConfigWafArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() } -func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceOutput) +func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { + return i.ToGetCdnDistributionConfigWafOutputWithContext(context.Background()) } -// GetEdgecloudInstancesInstanceArrayInput is an input type that accepts GetEdgecloudInstancesInstanceArray and GetEdgecloudInstancesInstanceArrayOutput values. -// You can construct a concrete instance of `GetEdgecloudInstancesInstanceArrayInput` via: -// -// GetEdgecloudInstancesInstanceArray{ GetEdgecloudInstancesInstanceArgs{...} } -type GetEdgecloudInstancesInstanceArrayInput interface { - pulumi.Input - - ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput - ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Context) GetEdgecloudInstancesInstanceArrayOutput +func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigWafOutput) } -type GetEdgecloudInstancesInstanceArray []GetEdgecloudInstancesInstanceInput +type GetCdnDistributionConfigWafOutput struct{ *pulumi.OutputState } -func (GetEdgecloudInstancesInstanceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() +func (GetCdnDistributionConfigWafOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() } -func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { - return i.ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Background()) +func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { + return o } -func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceArrayOutput) +func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { + return o } -type GetEdgecloudInstancesInstanceOutput struct{ *pulumi.OutputState } - -func (GetEdgecloudInstancesInstanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() +// Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. +func (o GetCdnDistributionConfigWafOutput) AllowedHttpMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpMethods }).(pulumi.StringArrayOutput) } -func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { - return o +// Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. +func (o GetCdnDistributionConfigWafOutput) AllowedHttpVersions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpVersions }).(pulumi.StringArrayOutput) } -func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { - return o +// Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. +func (o GetCdnDistributionConfigWafOutput) AllowedRequestContentTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedRequestContentTypes }).(pulumi.StringArrayOutput) } -// The date and time the instance was created. -func (o GetEdgecloudInstancesInstanceOutput) Created() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Created }).(pulumi.StringOutput) +// Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) DisabledRuleCollectionIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleCollectionIds }).(pulumi.StringArrayOutput) } -// Description of the instance. -func (o GetEdgecloudInstancesInstanceOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Description }).(pulumi.StringOutput) +// Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) DisabledRuleGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleGroupIds }).(pulumi.StringArrayOutput) } -// The display name of the instance. -func (o GetEdgecloudInstancesInstanceOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.DisplayName }).(pulumi.StringOutput) +// Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) DisabledRuleIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleIds }).(pulumi.StringArrayOutput) } -// Frontend URL for the Edge Cloud instance. -func (o GetEdgecloudInstancesInstanceOutput) FrontendUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.FrontendUrl }).(pulumi.StringOutput) +// Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) EnabledRuleCollectionIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleCollectionIds }).(pulumi.StringArrayOutput) } -// The ID of the instance. -func (o GetEdgecloudInstancesInstanceOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.InstanceId }).(pulumi.StringOutput) +// Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) EnabledRuleGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleGroupIds }).(pulumi.StringArrayOutput) } -// The plan ID for the instance. -func (o GetEdgecloudInstancesInstanceOutput) PlanId() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.PlanId }).(pulumi.StringOutput) +// Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) EnabledRuleIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleIds }).(pulumi.StringArrayOutput) } -// The region where the instance is located. -func (o GetEdgecloudInstancesInstanceOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Region }).(pulumi.StringOutput) +// Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleCollectionIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleCollectionIds }).(pulumi.StringArrayOutput) } -// The status of the instance. -func (o GetEdgecloudInstancesInstanceOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Status }).(pulumi.StringOutput) +// Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleGroupIds }).(pulumi.StringArrayOutput) } -type GetEdgecloudInstancesInstanceArrayOutput struct{ *pulumi.OutputState } - -func (GetEdgecloudInstancesInstanceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() +// Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleIds }).(pulumi.StringArrayOutput) } -func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { - return o +// The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. +func (o GetCdnDistributionConfigWafOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Mode }).(pulumi.StringOutput) } -func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { - return o +// Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. +func (o GetCdnDistributionConfigWafOutput) ParanoiaLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.ParanoiaLevel }).(pulumi.StringOutput) } -func (o GetEdgecloudInstancesInstanceArrayOutput) Index(i pulumi.IntInput) GetEdgecloudInstancesInstanceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudInstancesInstance { - return vs[0].([]GetEdgecloudInstancesInstance)[vs[1].(int)] - }).(GetEdgecloudInstancesInstanceOutput) +// The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. +func (o GetCdnDistributionConfigWafOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Type }).(pulumi.StringOutput) } -type GetEdgecloudPlansPlan struct { - // Description of the plan. - Description string `pulumi:"description"` - // The ID of the plan. - Id string `pulumi:"id"` - // Maximum number of Edge Cloud hosts that can be used. - MaxEdgeHosts int `pulumi:"maxEdgeHosts"` - // Minimum number of Edge Cloud hosts charged. - MinEdgeHosts int `pulumi:"minEdgeHosts"` - // The name of the plan. +type GetCdnDistributionDomain struct { + // List of domain errors + Errors []string `pulumi:"errors"` + // The name of the domain Name string `pulumi:"name"` + // The status of the domain + Status string `pulumi:"status"` + // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user + Type string `pulumi:"type"` } -// GetEdgecloudPlansPlanInput is an input type that accepts GetEdgecloudPlansPlanArgs and GetEdgecloudPlansPlanOutput values. -// You can construct a concrete instance of `GetEdgecloudPlansPlanInput` via: +// GetCdnDistributionDomainInput is an input type that accepts GetCdnDistributionDomainArgs and GetCdnDistributionDomainOutput values. +// You can construct a concrete instance of `GetCdnDistributionDomainInput` via: // -// GetEdgecloudPlansPlanArgs{...} -type GetEdgecloudPlansPlanInput interface { +// GetCdnDistributionDomainArgs{...} +type GetCdnDistributionDomainInput interface { pulumi.Input - ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput - ToGetEdgecloudPlansPlanOutputWithContext(context.Context) GetEdgecloudPlansPlanOutput + ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput + ToGetCdnDistributionDomainOutputWithContext(context.Context) GetCdnDistributionDomainOutput } -type GetEdgecloudPlansPlanArgs struct { - // Description of the plan. - Description pulumi.StringInput `pulumi:"description"` - // The ID of the plan. - Id pulumi.StringInput `pulumi:"id"` - // Maximum number of Edge Cloud hosts that can be used. - MaxEdgeHosts pulumi.IntInput `pulumi:"maxEdgeHosts"` - // Minimum number of Edge Cloud hosts charged. - MinEdgeHosts pulumi.IntInput `pulumi:"minEdgeHosts"` - // The name of the plan. +type GetCdnDistributionDomainArgs struct { + // List of domain errors + Errors pulumi.StringArrayInput `pulumi:"errors"` + // The name of the domain Name pulumi.StringInput `pulumi:"name"` + // The status of the domain + Status pulumi.StringInput `pulumi:"status"` + // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user + Type pulumi.StringInput `pulumi:"type"` } -func (GetEdgecloudPlansPlanArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() +func (GetCdnDistributionDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() } -func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { - return i.ToGetEdgecloudPlansPlanOutputWithContext(context.Background()) +func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { + return i.ToGetCdnDistributionDomainOutputWithContext(context.Background()) } -func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanOutput) +func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainOutput) } -// GetEdgecloudPlansPlanArrayInput is an input type that accepts GetEdgecloudPlansPlanArray and GetEdgecloudPlansPlanArrayOutput values. -// You can construct a concrete instance of `GetEdgecloudPlansPlanArrayInput` via: -// -// GetEdgecloudPlansPlanArray{ GetEdgecloudPlansPlanArgs{...} } -type GetEdgecloudPlansPlanArrayInput interface { +// GetCdnDistributionDomainArrayInput is an input type that accepts GetCdnDistributionDomainArray and GetCdnDistributionDomainArrayOutput values. +// You can construct a concrete instance of `GetCdnDistributionDomainArrayInput` via: +// +// GetCdnDistributionDomainArray{ GetCdnDistributionDomainArgs{...} } +type GetCdnDistributionDomainArrayInput interface { pulumi.Input - ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput - ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Context) GetEdgecloudPlansPlanArrayOutput + ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput + ToGetCdnDistributionDomainArrayOutputWithContext(context.Context) GetCdnDistributionDomainArrayOutput } -type GetEdgecloudPlansPlanArray []GetEdgecloudPlansPlanInput +type GetCdnDistributionDomainArray []GetCdnDistributionDomainInput -func (GetEdgecloudPlansPlanArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() +func (GetCdnDistributionDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() } -func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { - return i.ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Background()) +func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { + return i.ToGetCdnDistributionDomainArrayOutputWithContext(context.Background()) } -func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanArrayOutput) +func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainArrayOutput) } -type GetEdgecloudPlansPlanOutput struct{ *pulumi.OutputState } +type GetCdnDistributionDomainOutput struct{ *pulumi.OutputState } -func (GetEdgecloudPlansPlanOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() +func (GetCdnDistributionDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() } -func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { +func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { return o } -func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { +func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { return o } -// Description of the plan. -func (o GetEdgecloudPlansPlanOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Description }).(pulumi.StringOutput) -} - -// The ID of the plan. -func (o GetEdgecloudPlansPlanOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Id }).(pulumi.StringOutput) +// List of domain errors +func (o GetCdnDistributionDomainOutput) Errors() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) []string { return v.Errors }).(pulumi.StringArrayOutput) } -// Maximum number of Edge Cloud hosts that can be used. -func (o GetEdgecloudPlansPlanOutput) MaxEdgeHosts() pulumi.IntOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MaxEdgeHosts }).(pulumi.IntOutput) +// The name of the domain +func (o GetCdnDistributionDomainOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Name }).(pulumi.StringOutput) } -// Minimum number of Edge Cloud hosts charged. -func (o GetEdgecloudPlansPlanOutput) MinEdgeHosts() pulumi.IntOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MinEdgeHosts }).(pulumi.IntOutput) +// The status of the domain +func (o GetCdnDistributionDomainOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Status }).(pulumi.StringOutput) } -// The name of the plan. -func (o GetEdgecloudPlansPlanOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Name }).(pulumi.StringOutput) +// The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user +func (o GetCdnDistributionDomainOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Type }).(pulumi.StringOutput) } -type GetEdgecloudPlansPlanArrayOutput struct{ *pulumi.OutputState } +type GetCdnDistributionDomainArrayOutput struct{ *pulumi.OutputState } -func (GetEdgecloudPlansPlanArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() +func (GetCdnDistributionDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() } -func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { +func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { return o } -func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { +func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { return o } -func (o GetEdgecloudPlansPlanArrayOutput) Index(i pulumi.IntInput) GetEdgecloudPlansPlanOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudPlansPlan { - return vs[0].([]GetEdgecloudPlansPlan)[vs[1].(int)] - }).(GetEdgecloudPlansPlanOutput) +func (o GetCdnDistributionDomainArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionDomain { + return vs[0].([]GetCdnDistributionDomain)[vs[1].(int)] + }).(GetCdnDistributionDomainOutput) } -type GetImageChecksum struct { - // Algorithm for the checksum of the image data. - Algorithm string `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest string `pulumi:"digest"` +type GetDnsRecordSetTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` } -// GetImageChecksumInput is an input type that accepts GetImageChecksumArgs and GetImageChecksumOutput values. -// You can construct a concrete instance of `GetImageChecksumInput` via: +// GetDnsRecordSetTimeoutsInput is an input type that accepts GetDnsRecordSetTimeoutsArgs and GetDnsRecordSetTimeoutsOutput values. +// You can construct a concrete instance of `GetDnsRecordSetTimeoutsInput` via: // -// GetImageChecksumArgs{...} -type GetImageChecksumInput interface { +// GetDnsRecordSetTimeoutsArgs{...} +type GetDnsRecordSetTimeoutsInput interface { pulumi.Input - ToGetImageChecksumOutput() GetImageChecksumOutput - ToGetImageChecksumOutputWithContext(context.Context) GetImageChecksumOutput -} - -type GetImageChecksumArgs struct { - // Algorithm for the checksum of the image data. - Algorithm pulumi.StringInput `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest pulumi.StringInput `pulumi:"digest"` -} - -func (GetImageChecksumArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() -} - -func (i GetImageChecksumArgs) ToGetImageChecksumOutput() GetImageChecksumOutput { - return i.ToGetImageChecksumOutputWithContext(context.Background()) -} - -func (i GetImageChecksumArgs) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageChecksumOutput) + ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput + ToGetDnsRecordSetTimeoutsOutputWithContext(context.Context) GetDnsRecordSetTimeoutsOutput } -type GetImageChecksumOutput struct{ *pulumi.OutputState } - -func (GetImageChecksumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() +type GetDnsRecordSetTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` } -func (o GetImageChecksumOutput) ToGetImageChecksumOutput() GetImageChecksumOutput { - return o +func (GetDnsRecordSetTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() } -func (o GetImageChecksumOutput) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { - return o +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { + return i.ToGetDnsRecordSetTimeoutsOutputWithContext(context.Background()) } -// Algorithm for the checksum of the image data. -func (o GetImageChecksumOutput) Algorithm() pulumi.StringOutput { - return o.ApplyT(func(v GetImageChecksum) string { return v.Algorithm }).(pulumi.StringOutput) +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput) } -// Hexdigest of the checksum of the image data. -func (o GetImageChecksumOutput) Digest() pulumi.StringOutput { - return o.ApplyT(func(v GetImageChecksum) string { return v.Digest }).(pulumi.StringOutput) +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) } -type GetImageConfig struct { - // Enables the BIOS bootmenu. - BootMenu bool `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus string `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus string `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel string `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem string `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro string `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion string `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus string `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice string `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot bool `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi bool `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel string `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi bool `pulumi:"virtioScsi"` +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput).ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx) } -// GetImageConfigInput is an input type that accepts GetImageConfigArgs and GetImageConfigOutput values. -// You can construct a concrete instance of `GetImageConfigInput` via: +// GetDnsRecordSetTimeoutsPtrInput is an input type that accepts GetDnsRecordSetTimeoutsArgs, GetDnsRecordSetTimeoutsPtr and GetDnsRecordSetTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetDnsRecordSetTimeoutsPtrInput` via: // -// GetImageConfigArgs{...} -type GetImageConfigInput interface { +// GetDnsRecordSetTimeoutsArgs{...} +// +// or: +// +// nil +type GetDnsRecordSetTimeoutsPtrInput interface { pulumi.Input - ToGetImageConfigOutput() GetImageConfigOutput - ToGetImageConfigOutputWithContext(context.Context) GetImageConfigOutput + ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput + ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Context) GetDnsRecordSetTimeoutsPtrOutput } -type GetImageConfigArgs struct { - // Enables the BIOS bootmenu. - BootMenu pulumi.BoolInput `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus pulumi.StringInput `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus pulumi.StringInput `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel pulumi.StringInput `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus pulumi.StringInput `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi pulumi.BoolInput `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel pulumi.StringInput `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` +type getDnsRecordSetTimeoutsPtrType GetDnsRecordSetTimeoutsArgs + +func GetDnsRecordSetTimeoutsPtr(v *GetDnsRecordSetTimeoutsArgs) GetDnsRecordSetTimeoutsPtrInput { + return (*getDnsRecordSetTimeoutsPtrType)(v) } -func (GetImageConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageConfig)(nil)).Elem() +func (*getDnsRecordSetTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() } -func (i GetImageConfigArgs) ToGetImageConfigOutput() GetImageConfigOutput { - return i.ToGetImageConfigOutputWithContext(context.Background()) +func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) } -func (i GetImageConfigArgs) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageConfigOutput) +func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsPtrOutput) } -type GetImageConfigOutput struct{ *pulumi.OutputState } +type GetDnsRecordSetTimeoutsOutput struct{ *pulumi.OutputState } -func (GetImageConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageConfig)(nil)).Elem() +func (GetDnsRecordSetTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() } -func (o GetImageConfigOutput) ToGetImageConfigOutput() GetImageConfigOutput { +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { return o } -func (o GetImageConfigOutput) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { return o } -// Enables the BIOS bootmenu. -func (o GetImageConfigOutput) BootMenu() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.BootMenu }).(pulumi.BoolOutput) +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return o.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) } -// Sets CDROM bus controller type. -func (o GetImageConfigOutput) CdromBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.CdromBus }).(pulumi.StringOutput) +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsRecordSetTimeouts) *GetDnsRecordSetTimeouts { + return &v + }).(GetDnsRecordSetTimeoutsPtrOutput) } -// Sets Disk bus controller type. -func (o GetImageConfigOutput) DiskBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.DiskBus }).(pulumi.StringOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsRecordSetTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDnsRecordSetTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -// Sets virtual network interface model. -func (o GetImageConfigOutput) NicModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.NicModel }).(pulumi.StringOutput) -} +type GetDnsRecordSetTimeoutsPtrOutput struct{ *pulumi.OutputState } -// Enables operating system specific optimizations. -func (o GetImageConfigOutput) OperatingSystem() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystem }).(pulumi.StringOutput) +func (GetDnsRecordSetTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() } -// Operating system distribution. -func (o GetImageConfigOutput) OperatingSystemDistro() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) +func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return o } -// Version of the operating system. -func (o GetImageConfigOutput) OperatingSystemVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) +func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return o } -// Sets the device bus when the image is used as a rescue image. -func (o GetImageConfigOutput) RescueBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.RescueBus }).(pulumi.StringOutput) +func (o GetDnsRecordSetTimeoutsPtrOutput) Elem() GetDnsRecordSetTimeoutsOutput { + return o.ApplyT(func(v *GetDnsRecordSetTimeouts) GetDnsRecordSetTimeouts { + if v != nil { + return *v + } + var ret GetDnsRecordSetTimeouts + return ret + }).(GetDnsRecordSetTimeoutsOutput) } -// Sets the device when the image is used as a rescue image. -func (o GetImageConfigOutput) RescueDevice() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.RescueDevice }).(pulumi.StringOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsRecordSetTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetDnsRecordSetTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) } -// Enables Secure Boot. -func (o GetImageConfigOutput) SecureBoot() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.SecureBoot }).(pulumi.BoolOutput) +type GetDnsZoneTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` } -// Enables UEFI boot. -func (o GetImageConfigOutput) Uefi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.Uefi }).(pulumi.BoolOutput) -} +// GetDnsZoneTimeoutsInput is an input type that accepts GetDnsZoneTimeoutsArgs and GetDnsZoneTimeoutsOutput values. +// You can construct a concrete instance of `GetDnsZoneTimeoutsInput` via: +// +// GetDnsZoneTimeoutsArgs{...} +type GetDnsZoneTimeoutsInput interface { + pulumi.Input -// Sets Graphic device model. -func (o GetImageConfigOutput) VideoModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.VideoModel }).(pulumi.StringOutput) + ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput + ToGetDnsZoneTimeoutsOutputWithContext(context.Context) GetDnsZoneTimeoutsOutput } -// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. -func (o GetImageConfigOutput) VirtioScsi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.VirtioScsi }).(pulumi.BoolOutput) +type GetDnsZoneTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` } -type GetImageV2Checksum struct { - // Algorithm for the checksum of the image data. - Algorithm string `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest string `pulumi:"digest"` +func (GetDnsZoneTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() } -// GetImageV2ChecksumInput is an input type that accepts GetImageV2ChecksumArgs and GetImageV2ChecksumOutput values. -// You can construct a concrete instance of `GetImageV2ChecksumInput` via: -// -// GetImageV2ChecksumArgs{...} -type GetImageV2ChecksumInput interface { - pulumi.Input - - ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput - ToGetImageV2ChecksumOutputWithContext(context.Context) GetImageV2ChecksumOutput +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { + return i.ToGetDnsZoneTimeoutsOutputWithContext(context.Background()) } -type GetImageV2ChecksumArgs struct { - // Algorithm for the checksum of the image data. - Algorithm pulumi.StringInput `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest pulumi.StringInput `pulumi:"digest"` +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput) } -func (GetImageV2ChecksumArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { + return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) } -func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { - return i.ToGetImageV2ChecksumOutputWithContext(context.Background()) +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput).ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx) } -func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ChecksumOutput) +// GetDnsZoneTimeoutsPtrInput is an input type that accepts GetDnsZoneTimeoutsArgs, GetDnsZoneTimeoutsPtr and GetDnsZoneTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetDnsZoneTimeoutsPtrInput` via: +// +// GetDnsZoneTimeoutsArgs{...} +// +// or: +// +// nil +type GetDnsZoneTimeoutsPtrInput interface { + pulumi.Input + + ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput + ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Context) GetDnsZoneTimeoutsPtrOutput } -type GetImageV2ChecksumOutput struct{ *pulumi.OutputState } +type getDnsZoneTimeoutsPtrType GetDnsZoneTimeoutsArgs -func (GetImageV2ChecksumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() +func GetDnsZoneTimeoutsPtr(v *GetDnsZoneTimeoutsArgs) GetDnsZoneTimeoutsPtrInput { + return (*getDnsZoneTimeoutsPtrType)(v) } -func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { - return o +func (*getDnsZoneTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() } -func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { - return o +func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { + return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) } -// Algorithm for the checksum of the image data. -func (o GetImageV2ChecksumOutput) Algorithm() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Checksum) string { return v.Algorithm }).(pulumi.StringOutput) +func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsPtrOutput) } -// Hexdigest of the checksum of the image data. -func (o GetImageV2ChecksumOutput) Digest() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Checksum) string { return v.Digest }).(pulumi.StringOutput) -} +type GetDnsZoneTimeoutsOutput struct{ *pulumi.OutputState } -type GetImageV2Config struct { - // Enables the BIOS bootmenu. - BootMenu bool `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus string `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus string `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel string `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem string `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro string `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion string `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus string `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice string `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot bool `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi bool `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel string `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi bool `pulumi:"virtioScsi"` +func (GetDnsZoneTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() } -// GetImageV2ConfigInput is an input type that accepts GetImageV2ConfigArgs and GetImageV2ConfigOutput values. -// You can construct a concrete instance of `GetImageV2ConfigInput` via: -// -// GetImageV2ConfigArgs{...} -type GetImageV2ConfigInput interface { - pulumi.Input - - ToGetImageV2ConfigOutput() GetImageV2ConfigOutput - ToGetImageV2ConfigOutputWithContext(context.Context) GetImageV2ConfigOutput +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { + return o } -type GetImageV2ConfigArgs struct { - // Enables the BIOS bootmenu. - BootMenu pulumi.BoolInput `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus pulumi.StringInput `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus pulumi.StringInput `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel pulumi.StringInput `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus pulumi.StringInput `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi pulumi.BoolInput `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel pulumi.StringInput `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { + return o } -func (GetImageV2ConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { + return o.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) } -func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { - return i.ToGetImageV2ConfigOutputWithContext(context.Background()) +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsZoneTimeouts) *GetDnsZoneTimeouts { + return &v + }).(GetDnsZoneTimeoutsPtrOutput) } -func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ConfigOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsZoneTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDnsZoneTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -type GetImageV2ConfigOutput struct{ *pulumi.OutputState } +type GetDnsZoneTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (GetImageV2ConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() +func (GetDnsZoneTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() } -func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { +func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { return o } -func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { +func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { return o } -// Enables the BIOS bootmenu. -func (o GetImageV2ConfigOutput) BootMenu() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.BootMenu }).(pulumi.BoolOutput) +func (o GetDnsZoneTimeoutsPtrOutput) Elem() GetDnsZoneTimeoutsOutput { + return o.ApplyT(func(v *GetDnsZoneTimeouts) GetDnsZoneTimeouts { + if v != nil { + return *v + } + var ret GetDnsZoneTimeouts + return ret + }).(GetDnsZoneTimeoutsOutput) } -// Sets CDROM bus controller type. -func (o GetImageV2ConfigOutput) CdromBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.CdromBus }).(pulumi.StringOutput) -} +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsZoneTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetDnsZoneTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) +} -// Sets Disk bus controller type. -func (o GetImageV2ConfigOutput) DiskBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.DiskBus }).(pulumi.StringOutput) +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"` } -// Sets virtual network interface model. -func (o GetImageV2ConfigOutput) NicModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.NicModel }).(pulumi.StringOutput) +// 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 } -// Enables operating system specific optimizations. -func (o GetImageV2ConfigOutput) OperatingSystem() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystem }).(pulumi.StringOutput) +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"` } -// Operating system distribution. -func (o GetImageV2ConfigOutput) OperatingSystemDistro() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) +func (GetDremioInstanceAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() } -// Version of the operating system. -func (o GetImageV2ConfigOutput) OperatingSystemVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) +func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { + return i.ToGetDremioInstanceAuthenticationOutputWithContext(context.Background()) } -// Sets the device bus when the image is used as a rescue image. -func (o GetImageV2ConfigOutput) RescueBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.RescueBus }).(pulumi.StringOutput) +func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOutput) } -// Sets the device when the image is used as a rescue image. -func (o GetImageV2ConfigOutput) RescueDevice() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.RescueDevice }).(pulumi.StringOutput) +type GetDremioInstanceAuthenticationOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() } -// Enables Secure Boot. -func (o GetImageV2ConfigOutput) SecureBoot() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.SecureBoot }).(pulumi.BoolOutput) +func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { + return o } -// Enables UEFI boot. -func (o GetImageV2ConfigOutput) Uefi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.Uefi }).(pulumi.BoolOutput) +func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { + return o } -// Sets Graphic device model. -func (o GetImageV2ConfigOutput) VideoModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.VideoModel }).(pulumi.StringOutput) +// Azure Active Directory authentication configuration. +func (o GetDremioInstanceAuthenticationOutput) Azuread() GetDremioInstanceAuthenticationAzureadOutput { + return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationAzuread { return v.Azuread }).(GetDremioInstanceAuthenticationAzureadOutput) } -// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. -func (o GetImageV2ConfigOutput) VirtioScsi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.VirtioScsi }).(pulumi.BoolOutput) +// OIDC authentication configuration. +func (o GetDremioInstanceAuthenticationOutput) Oauth() GetDremioInstanceAuthenticationOauthOutput { + return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationOauth { return v.Oauth }).(GetDremioInstanceAuthenticationOauthOutput) } -type GetImageV2Filter struct { - // Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. - Distro *string `pulumi:"distro"` - // Filter images by operating system type, such as `linux` or `windows`. - Os *string `pulumi:"os"` - // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. - SecureBoot *bool `pulumi:"secureBoot"` - // Filter images based on UEFI support. Set to `true` to match images that support UEFI. - Uefi *bool `pulumi:"uefi"` - // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. - Version *string `pulumi:"version"` +// 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) } -// GetImageV2FilterInput is an input type that accepts GetImageV2FilterArgs and GetImageV2FilterOutput values. -// You can construct a concrete instance of `GetImageV2FilterInput` via: +type GetDremioInstanceAuthenticationAzuread struct { + // The Azure AD authority URL. + AuthorityUrl string `pulumi:"authorityUrl"` + // The Azure AD client ID. + ClientId string `pulumi:"clientId"` + // 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: // -// GetImageV2FilterArgs{...} -type GetImageV2FilterInput interface { +// GetDremioInstanceAuthenticationAzureadArgs{...} +type GetDremioInstanceAuthenticationAzureadInput interface { pulumi.Input - ToGetImageV2FilterOutput() GetImageV2FilterOutput - ToGetImageV2FilterOutputWithContext(context.Context) GetImageV2FilterOutput + ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput + ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Context) GetDremioInstanceAuthenticationAzureadOutput } -type GetImageV2FilterArgs struct { - // Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. - Distro pulumi.StringPtrInput `pulumi:"distro"` - // Filter images by operating system type, such as `linux` or `windows`. - Os pulumi.StringPtrInput `pulumi:"os"` - // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. - SecureBoot pulumi.BoolPtrInput `pulumi:"secureBoot"` - // Filter images based on UEFI support. Set to `true` to match images that support UEFI. - Uefi pulumi.BoolPtrInput `pulumi:"uefi"` - // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. - Version pulumi.StringPtrInput `pulumi:"version"` +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 redirect URL. + RedirectUrl pulumi.StringInput `pulumi:"redirectUrl"` } -func (GetImageV2FilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() +func (GetDremioInstanceAuthenticationAzureadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (i GetImageV2FilterArgs) ToGetImageV2FilterOutput() GetImageV2FilterOutput { - return i.ToGetImageV2FilterOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { + return i.ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Background()) } -func (i GetImageV2FilterArgs) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput) +func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationAzureadOutput) } -func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { - return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +type GetDremioInstanceAuthenticationAzureadOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationAzureadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput).ToGetImageV2FilterPtrOutputWithContext(ctx) +func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { + return o } -// GetImageV2FilterPtrInput is an input type that accepts GetImageV2FilterArgs, GetImageV2FilterPtr and GetImageV2FilterPtrOutput values. -// You can construct a concrete instance of `GetImageV2FilterPtrInput` via: -// -// GetImageV2FilterArgs{...} -// -// or: +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 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"` + // 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: // -// nil -type GetImageV2FilterPtrInput interface { +// GetDremioInstanceAuthenticationOauthArgs{...} +type GetDremioInstanceAuthenticationOauthInput interface { pulumi.Input - ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput - ToGetImageV2FilterPtrOutputWithContext(context.Context) GetImageV2FilterPtrOutput + ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput + ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthOutput } -type getImageV2FilterPtrType GetImageV2FilterArgs - -func GetImageV2FilterPtr(v *GetImageV2FilterArgs) GetImageV2FilterPtrInput { - return (*getImageV2FilterPtrType)(v) +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"` + // 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 (*getImageV2FilterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() } -func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { - return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { + return i.ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Background()) } -func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterPtrOutput) +func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthOutput) } -type GetImageV2FilterOutput struct{ *pulumi.OutputState } +type GetDremioInstanceAuthenticationOauthOutput struct{ *pulumi.OutputState } -func (GetImageV2FilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() } -func (o GetImageV2FilterOutput) ToGetImageV2FilterOutput() GetImageV2FilterOutput { +func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { return o } -func (o GetImageV2FilterOutput) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { +func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { return o } -func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { - return o.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +// The Issuer location URI, where the OIDC provider configuration can be found. +func (o GetDremioInstanceAuthenticationOauthOutput) AuthorityUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.AuthorityUrl }).(pulumi.StringOutput) } -func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetImageV2Filter) *GetImageV2Filter { - return &v - }).(GetImageV2FilterPtrOutput) +// 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) } -// Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. -func (o GetImageV2FilterOutput) Distro() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *string { return v.Distro }).(pulumi.StringPtrOutput) +// 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) } -// Filter images by operating system type, such as `linux` or `windows`. -func (o GetImageV2FilterOutput) Os() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *string { return v.Os }).(pulumi.StringPtrOutput) +// Any additional parameters the Identity Provider requires. +func (o GetDremioInstanceAuthenticationOauthOutput) Parameters() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) []GetDremioInstanceAuthenticationOauthParameter { + return v.Parameters + }).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) } -// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. -func (o GetImageV2FilterOutput) SecureBoot() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *bool { return v.SecureBoot }).(pulumi.BoolPtrOutput) +// 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) } -// Filter images based on UEFI support. Set to `true` to match images that support UEFI. -func (o GetImageV2FilterOutput) Uefi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *bool { return v.Uefi }).(pulumi.BoolPtrOutput) +// 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) } -// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. -func (o GetImageV2FilterOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *string { return v.Version }).(pulumi.StringPtrOutput) +type GetDremioInstanceAuthenticationOauthJwtClaims struct { + // Mapped user name claim (e.g. email). + UserName string `pulumi:"userName"` } -type GetImageV2FilterPtrOutput struct{ *pulumi.OutputState } +// 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 -func (GetImageV2FilterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() + ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput + ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput } -func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { - return o +type GetDremioInstanceAuthenticationOauthJwtClaimsArgs struct { + // Mapped user name claim (e.g. email). + UserName pulumi.StringInput `pulumi:"userName"` } -func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { - return o +func (GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -func (o GetImageV2FilterPtrOutput) Elem() GetImageV2FilterOutput { - return o.ApplyT(func(v *GetImageV2Filter) GetImageV2Filter { - if v != nil { - return *v - } - var ret GetImageV2Filter - return ret - }).(GetImageV2FilterOutput) +func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return i.ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Background()) } -// Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. -func (o GetImageV2FilterPtrOutput) Distro() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *string { - if v == nil { - return nil - } - return v.Distro - }).(pulumi.StringPtrOutput) +func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthJwtClaimsOutput) } -// Filter images by operating system type, such as `linux` or `windows`. -func (o GetImageV2FilterPtrOutput) Os() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *string { - if v == nil { - return nil - } - return v.Os - }).(pulumi.StringPtrOutput) +type GetDremioInstanceAuthenticationOauthJwtClaimsOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. -func (o GetImageV2FilterPtrOutput) SecureBoot() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *bool { - if v == nil { - return nil - } - return v.SecureBoot - }).(pulumi.BoolPtrOutput) +func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return o } -// Filter images based on UEFI support. Set to `true` to match images that support UEFI. -func (o GetImageV2FilterPtrOutput) Uefi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *bool { - if v == nil { - return nil - } - return v.Uefi - }).(pulumi.BoolPtrOutput) +func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return o } -// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. -func (o GetImageV2FilterPtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *string { - if v == nil { - return nil - } - return v.Version - }).(pulumi.StringPtrOutput) +// 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 GetLoadbalancerListener struct { - DisplayName string `pulumi:"displayName"` - // Port number where we listen for traffic. - Port int `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. - Protocol string `pulumi:"protocol"` - // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener - // - // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 - ServerNameIndicators []GetLoadbalancerListenerServerNameIndicator `pulumi:"serverNameIndicators"` - // Reference target pool by target pool name. - TargetPool string `pulumi:"targetPool"` - // Options that are specific to the TCP protocol. - Tcp GetLoadbalancerListenerTcp `pulumi:"tcp"` - // Options that are specific to the UDP protocol. - Udp GetLoadbalancerListenerUdp `pulumi:"udp"` +type GetDremioInstanceAuthenticationOauthParameter struct { + // Parameter name. + Name string `pulumi:"name"` + // Parameter value. + Value string `pulumi:"value"` } -// GetLoadbalancerListenerInput is an input type that accepts GetLoadbalancerListenerArgs and GetLoadbalancerListenerOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerInput` via: +// GetDremioInstanceAuthenticationOauthParameterInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArgs and GetDremioInstanceAuthenticationOauthParameterOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterInput` via: // -// GetLoadbalancerListenerArgs{...} -type GetLoadbalancerListenerInput interface { +// GetDremioInstanceAuthenticationOauthParameterArgs{...} +type GetDremioInstanceAuthenticationOauthParameterInput interface { pulumi.Input - ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput - ToGetLoadbalancerListenerOutputWithContext(context.Context) GetLoadbalancerListenerOutput + ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput + ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterOutput } -type GetLoadbalancerListenerArgs struct { - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Port number where we listen for traffic. - Port pulumi.IntInput `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. - Protocol pulumi.StringInput `pulumi:"protocol"` - // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener - // - // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 - ServerNameIndicators GetLoadbalancerListenerServerNameIndicatorArrayInput `pulumi:"serverNameIndicators"` - // Reference target pool by target pool name. - TargetPool pulumi.StringInput `pulumi:"targetPool"` - // Options that are specific to the TCP protocol. - Tcp GetLoadbalancerListenerTcpInput `pulumi:"tcp"` - // Options that are specific to the UDP protocol. - Udp GetLoadbalancerListenerUdpInput `pulumi:"udp"` +type GetDremioInstanceAuthenticationOauthParameterArgs struct { + // Parameter name. + Name pulumi.StringInput `pulumi:"name"` + // Parameter value. + Value pulumi.StringInput `pulumi:"value"` } -func (GetLoadbalancerListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { - return i.ToGetLoadbalancerListenerOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { + return i.ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Background()) } -func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerOutput) +func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterOutput) } -// GetLoadbalancerListenerArrayInput is an input type that accepts GetLoadbalancerListenerArray and GetLoadbalancerListenerArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerArrayInput` via: +// GetDremioInstanceAuthenticationOauthParameterArrayInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArray and GetDremioInstanceAuthenticationOauthParameterArrayOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterArrayInput` via: // -// GetLoadbalancerListenerArray{ GetLoadbalancerListenerArgs{...} } -type GetLoadbalancerListenerArrayInput interface { +// GetDremioInstanceAuthenticationOauthParameterArray{ GetDremioInstanceAuthenticationOauthParameterArgs{...} } +type GetDremioInstanceAuthenticationOauthParameterArrayInput interface { pulumi.Input - ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput - ToGetLoadbalancerListenerArrayOutputWithContext(context.Context) GetLoadbalancerListenerArrayOutput + ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput + ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput } -type GetLoadbalancerListenerArray []GetLoadbalancerListenerInput +type GetDremioInstanceAuthenticationOauthParameterArray []GetDremioInstanceAuthenticationOauthParameterInput -func (GetLoadbalancerListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { - return i.ToGetLoadbalancerListenerArrayOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return i.ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Background()) } -func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerArrayOutput) +func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) } -type GetLoadbalancerListenerOutput struct{ *pulumi.OutputState } +type GetDremioInstanceAuthenticationOauthParameterOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { +func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { return o } -func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { +func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { return o } -func (o GetLoadbalancerListenerOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListener) string { return v.DisplayName }).(pulumi.StringOutput) +// Parameter name. +func (o GetDremioInstanceAuthenticationOauthParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Name }).(pulumi.StringOutput) } -// Port number where we listen for traffic. -func (o GetLoadbalancerListenerOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerListener) int { return v.Port }).(pulumi.IntOutput) +// Parameter value. +func (o GetDremioInstanceAuthenticationOauthParameterOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Value }).(pulumi.StringOutput) } -// Protocol is the highest network protocol we understand to load balance. -func (o GetLoadbalancerListenerOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListener) string { return v.Protocol }).(pulumi.StringOutput) +type GetDremioInstanceAuthenticationOauthParameterArrayOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOauthParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -// A list of domain names to match in order to pass TLS traffic to the target pool in the current listener -// -// Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 -func (o GetLoadbalancerListenerOutput) ServerNameIndicators() GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return o.ApplyT(func(v GetLoadbalancerListener) []GetLoadbalancerListenerServerNameIndicator { - return v.ServerNameIndicators - }).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o } -// Reference target pool by target pool name. -func (o GetLoadbalancerListenerOutput) TargetPool() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListener) string { return v.TargetPool }).(pulumi.StringOutput) +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o } -// Options that are specific to the TCP protocol. -func (o GetLoadbalancerListenerOutput) Tcp() GetLoadbalancerListenerTcpOutput { - return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerTcp { return v.Tcp }).(GetLoadbalancerListenerTcpOutput) +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) Index(i pulumi.IntInput) GetDremioInstanceAuthenticationOauthParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDremioInstanceAuthenticationOauthParameter { + return vs[0].([]GetDremioInstanceAuthenticationOauthParameter)[vs[1].(int)] + }).(GetDremioInstanceAuthenticationOauthParameterOutput) } -// Options that are specific to the UDP protocol. -func (o GetLoadbalancerListenerOutput) Udp() GetLoadbalancerListenerUdpOutput { - return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerUdp { return v.Udp }).(GetLoadbalancerListenerUdpOutput) +type 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"` } -type GetLoadbalancerListenerArrayOutput struct{ *pulumi.OutputState } +// 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 -func (GetLoadbalancerListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() + ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput + ToGetDremioInstanceEndpointsOutputWithContext(context.Context) GetDremioInstanceEndpointsOutput } -func (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { - return o +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 (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { - return o +func (GetDremioInstanceEndpointsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() } -func (o GetLoadbalancerListenerArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListener { - return vs[0].([]GetLoadbalancerListener)[vs[1].(int)] - }).(GetLoadbalancerListenerOutput) +func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { + return i.ToGetDremioInstanceEndpointsOutputWithContext(context.Background()) } -type GetLoadbalancerListenerServerNameIndicator struct { - // A domain name to match in order to pass TLS traffic to the target pool in the current listener - Name *string `pulumi:"name"` +func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceEndpointsOutput) } -// GetLoadbalancerListenerServerNameIndicatorInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArgs and GetLoadbalancerListenerServerNameIndicatorOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorInput` via: -// -// GetLoadbalancerListenerServerNameIndicatorArgs{...} -type GetLoadbalancerListenerServerNameIndicatorInput interface { - pulumi.Input +type GetDremioInstanceEndpointsOutput struct{ *pulumi.OutputState } - ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput - ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorOutput +func (GetDremioInstanceEndpointsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() } -type GetLoadbalancerListenerServerNameIndicatorArgs struct { - // A domain name to match in order to pass TLS traffic to the target pool in the current listener - Name pulumi.StringPtrInput `pulumi:"name"` +func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { + return o } -func (GetLoadbalancerListenerServerNameIndicatorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() +func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { + return o } -func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { - return i.ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Background()) +// The arrow flight endpoint of the Dremio instance. +func (o GetDremioInstanceEndpointsOutput) ArrowFlight() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.ArrowFlight }).(pulumi.StringOutput) } -func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorOutput) +// 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) } -// GetLoadbalancerListenerServerNameIndicatorArrayInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArray and GetLoadbalancerListenerServerNameIndicatorArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorArrayInput` via: +// 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"` + // Description of the instance. + Description string `pulumi:"description"` + // The display name of the instance. + DisplayName string `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl string `pulumi:"frontendUrl"` + // The ID of the instance. + InstanceId string `pulumi:"instanceId"` + // The plan ID for the instance. + PlanId string `pulumi:"planId"` + // The region where the instance is located. + Region string `pulumi:"region"` + // The status of the instance. + Status string `pulumi:"status"` +} + +// GetEdgecloudInstancesInstanceInput is an input type that accepts GetEdgecloudInstancesInstanceArgs and GetEdgecloudInstancesInstanceOutput values. +// You can construct a concrete instance of `GetEdgecloudInstancesInstanceInput` via: // -// GetLoadbalancerListenerServerNameIndicatorArray{ GetLoadbalancerListenerServerNameIndicatorArgs{...} } -type GetLoadbalancerListenerServerNameIndicatorArrayInput interface { +// GetEdgecloudInstancesInstanceArgs{...} +type GetEdgecloudInstancesInstanceInput interface { pulumi.Input - ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput - ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput + ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput + ToGetEdgecloudInstancesInstanceOutputWithContext(context.Context) GetEdgecloudInstancesInstanceOutput } -type GetLoadbalancerListenerServerNameIndicatorArray []GetLoadbalancerListenerServerNameIndicatorInput +type GetEdgecloudInstancesInstanceArgs struct { + // The date and time the instance was created. + Created pulumi.StringInput `pulumi:"created"` + // Description of the instance. + Description pulumi.StringInput `pulumi:"description"` + // The display name of the instance. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl pulumi.StringInput `pulumi:"frontendUrl"` + // The ID of the instance. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // The plan ID for the instance. + PlanId pulumi.StringInput `pulumi:"planId"` + // The region where the instance is located. + Region pulumi.StringInput `pulumi:"region"` + // The status of the instance. + Status pulumi.StringInput `pulumi:"status"` +} -func (GetLoadbalancerListenerServerNameIndicatorArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() +func (GetEdgecloudInstancesInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() } -func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return i.ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Background()) +func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { + return i.ToGetEdgecloudInstancesInstanceOutputWithContext(context.Background()) } -func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) +func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceOutput) } -type GetLoadbalancerListenerServerNameIndicatorOutput struct{ *pulumi.OutputState } +// GetEdgecloudInstancesInstanceArrayInput is an input type that accepts GetEdgecloudInstancesInstanceArray and GetEdgecloudInstancesInstanceArrayOutput values. +// You can construct a concrete instance of `GetEdgecloudInstancesInstanceArrayInput` via: +// +// GetEdgecloudInstancesInstanceArray{ GetEdgecloudInstancesInstanceArgs{...} } +type GetEdgecloudInstancesInstanceArrayInput interface { + pulumi.Input -func (GetLoadbalancerListenerServerNameIndicatorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() + ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput + ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Context) GetEdgecloudInstancesInstanceArrayOutput } -func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { - return o +type GetEdgecloudInstancesInstanceArray []GetEdgecloudInstancesInstanceInput + +func (GetEdgecloudInstancesInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() } -func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { - return o +func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { + return i.ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Background()) } -// A domain name to match in order to pass TLS traffic to the target pool in the current listener -func (o GetLoadbalancerListenerServerNameIndicatorOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetLoadbalancerListenerServerNameIndicator) *string { return v.Name }).(pulumi.StringPtrOutput) +func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceArrayOutput) } -type GetLoadbalancerListenerServerNameIndicatorArrayOutput struct{ *pulumi.OutputState } +type GetEdgecloudInstancesInstanceOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerListenerServerNameIndicatorArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() +func (GetEdgecloudInstancesInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() } -func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { +func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { return o } -func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { +func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { return o } -func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerServerNameIndicatorOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListenerServerNameIndicator { - return vs[0].([]GetLoadbalancerListenerServerNameIndicator)[vs[1].(int)] - }).(GetLoadbalancerListenerServerNameIndicatorOutput) +// The date and time the instance was created. +func (o GetEdgecloudInstancesInstanceOutput) Created() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Created }).(pulumi.StringOutput) } -type GetLoadbalancerListenerTcp struct { - // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. - IdleTimeout string `pulumi:"idleTimeout"` +// Description of the instance. +func (o GetEdgecloudInstancesInstanceOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Description }).(pulumi.StringOutput) } -// GetLoadbalancerListenerTcpInput is an input type that accepts GetLoadbalancerListenerTcpArgs and GetLoadbalancerListenerTcpOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerTcpInput` via: -// -// GetLoadbalancerListenerTcpArgs{...} -type GetLoadbalancerListenerTcpInput interface { - pulumi.Input +// The display name of the instance. +func (o GetEdgecloudInstancesInstanceOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.DisplayName }).(pulumi.StringOutput) +} - ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput - ToGetLoadbalancerListenerTcpOutputWithContext(context.Context) GetLoadbalancerListenerTcpOutput +// Frontend URL for the Edge Cloud instance. +func (o GetEdgecloudInstancesInstanceOutput) FrontendUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.FrontendUrl }).(pulumi.StringOutput) } -type GetLoadbalancerListenerTcpArgs struct { - // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. - IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` +// The ID of the instance. +func (o GetEdgecloudInstancesInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.InstanceId }).(pulumi.StringOutput) } -func (GetLoadbalancerListenerTcpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() +// The plan ID for the instance. +func (o GetEdgecloudInstancesInstanceOutput) PlanId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.PlanId }).(pulumi.StringOutput) } -func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { - return i.ToGetLoadbalancerListenerTcpOutputWithContext(context.Background()) +// The region where the instance is located. +func (o GetEdgecloudInstancesInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Region }).(pulumi.StringOutput) } -func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerTcpOutput) +// The status of the instance. +func (o GetEdgecloudInstancesInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Status }).(pulumi.StringOutput) } -type GetLoadbalancerListenerTcpOutput struct{ *pulumi.OutputState } +type GetEdgecloudInstancesInstanceArrayOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerListenerTcpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() +func (GetEdgecloudInstancesInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() } -func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { +func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { return o } -func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { +func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { return o } -// Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. -func (o GetLoadbalancerListenerTcpOutput) IdleTimeout() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListenerTcp) string { return v.IdleTimeout }).(pulumi.StringOutput) -} - -type GetLoadbalancerListenerUdp struct { - // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. - IdleTimeout string `pulumi:"idleTimeout"` +func (o GetEdgecloudInstancesInstanceArrayOutput) Index(i pulumi.IntInput) GetEdgecloudInstancesInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudInstancesInstance { + return vs[0].([]GetEdgecloudInstancesInstance)[vs[1].(int)] + }).(GetEdgecloudInstancesInstanceOutput) } -// GetLoadbalancerListenerUdpInput is an input type that accepts GetLoadbalancerListenerUdpArgs and GetLoadbalancerListenerUdpOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerUdpInput` via: -// -// GetLoadbalancerListenerUdpArgs{...} -type GetLoadbalancerListenerUdpInput interface { - pulumi.Input - - ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput - ToGetLoadbalancerListenerUdpOutputWithContext(context.Context) GetLoadbalancerListenerUdpOutput -} - -type GetLoadbalancerListenerUdpArgs struct { - // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. - IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` -} - -func (GetLoadbalancerListenerUdpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() -} - -func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { - return i.ToGetLoadbalancerListenerUdpOutputWithContext(context.Background()) -} - -func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerUdpOutput) +type GetEdgecloudPlansPlan struct { + // Description of the plan. + Description string `pulumi:"description"` + // The ID of the plan. + Id string `pulumi:"id"` + // Maximum number of Edge Cloud hosts that can be used. + MaxEdgeHosts int `pulumi:"maxEdgeHosts"` + // Minimum number of Edge Cloud hosts charged. + MinEdgeHosts int `pulumi:"minEdgeHosts"` + // The name of the plan. + Name string `pulumi:"name"` } -type GetLoadbalancerListenerUdpOutput struct{ *pulumi.OutputState } +// GetEdgecloudPlansPlanInput is an input type that accepts GetEdgecloudPlansPlanArgs and GetEdgecloudPlansPlanOutput values. +// You can construct a concrete instance of `GetEdgecloudPlansPlanInput` via: +// +// GetEdgecloudPlansPlanArgs{...} +type GetEdgecloudPlansPlanInput interface { + pulumi.Input -func (GetLoadbalancerListenerUdpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() + ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput + ToGetEdgecloudPlansPlanOutputWithContext(context.Context) GetEdgecloudPlansPlanOutput } -func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { - return o +type GetEdgecloudPlansPlanArgs struct { + // Description of the plan. + Description pulumi.StringInput `pulumi:"description"` + // The ID of the plan. + Id pulumi.StringInput `pulumi:"id"` + // Maximum number of Edge Cloud hosts that can be used. + MaxEdgeHosts pulumi.IntInput `pulumi:"maxEdgeHosts"` + // Minimum number of Edge Cloud hosts charged. + MinEdgeHosts pulumi.IntInput `pulumi:"minEdgeHosts"` + // The name of the plan. + Name pulumi.StringInput `pulumi:"name"` } -func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { - return o +func (GetEdgecloudPlansPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() } -// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. -func (o GetLoadbalancerListenerUdpOutput) IdleTimeout() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListenerUdp) string { return v.IdleTimeout }).(pulumi.StringOutput) +func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { + return i.ToGetEdgecloudPlansPlanOutputWithContext(context.Background()) } -type GetLoadbalancerNetwork struct { - // Openstack network ID. - NetworkId string `pulumi:"networkId"` - // The role defines how the load balancer is using the network. - Role string `pulumi:"role"` +func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanOutput) } -// GetLoadbalancerNetworkInput is an input type that accepts GetLoadbalancerNetworkArgs and GetLoadbalancerNetworkOutput values. -// You can construct a concrete instance of `GetLoadbalancerNetworkInput` via: +// GetEdgecloudPlansPlanArrayInput is an input type that accepts GetEdgecloudPlansPlanArray and GetEdgecloudPlansPlanArrayOutput values. +// You can construct a concrete instance of `GetEdgecloudPlansPlanArrayInput` via: // -// GetLoadbalancerNetworkArgs{...} -type GetLoadbalancerNetworkInput interface { +// GetEdgecloudPlansPlanArray{ GetEdgecloudPlansPlanArgs{...} } +type GetEdgecloudPlansPlanArrayInput interface { pulumi.Input - ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput - ToGetLoadbalancerNetworkOutputWithContext(context.Context) GetLoadbalancerNetworkOutput -} - -type GetLoadbalancerNetworkArgs struct { - // Openstack network ID. - NetworkId pulumi.StringInput `pulumi:"networkId"` - // The role defines how the load balancer is using the network. - Role pulumi.StringInput `pulumi:"role"` + ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput + ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Context) GetEdgecloudPlansPlanArrayOutput } -func (GetLoadbalancerNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() -} +type GetEdgecloudPlansPlanArray []GetEdgecloudPlansPlanInput -func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { - return i.ToGetLoadbalancerNetworkOutputWithContext(context.Background()) +func (GetEdgecloudPlansPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() } -func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkOutput) +func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { + return i.ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Background()) } -// GetLoadbalancerNetworkArrayInput is an input type that accepts GetLoadbalancerNetworkArray and GetLoadbalancerNetworkArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerNetworkArrayInput` via: -// -// GetLoadbalancerNetworkArray{ GetLoadbalancerNetworkArgs{...} } -type GetLoadbalancerNetworkArrayInput interface { - pulumi.Input - - ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput - ToGetLoadbalancerNetworkArrayOutputWithContext(context.Context) GetLoadbalancerNetworkArrayOutput +func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanArrayOutput) } -type GetLoadbalancerNetworkArray []GetLoadbalancerNetworkInput +type GetEdgecloudPlansPlanOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerNetworkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() +func (GetEdgecloudPlansPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() } -func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { - return i.ToGetLoadbalancerNetworkArrayOutputWithContext(context.Background()) +func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { + return o } -func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkArrayOutput) +func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { + return o } -type GetLoadbalancerNetworkOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() +// Description of the plan. +func (o GetEdgecloudPlansPlanOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Description }).(pulumi.StringOutput) } -func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { - return o +// The ID of the plan. +func (o GetEdgecloudPlansPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Id }).(pulumi.StringOutput) } -func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { - return o +// Maximum number of Edge Cloud hosts that can be used. +func (o GetEdgecloudPlansPlanOutput) MaxEdgeHosts() pulumi.IntOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MaxEdgeHosts }).(pulumi.IntOutput) } -// Openstack network ID. -func (o GetLoadbalancerNetworkOutput) NetworkId() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +// Minimum number of Edge Cloud hosts charged. +func (o GetEdgecloudPlansPlanOutput) MinEdgeHosts() pulumi.IntOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MinEdgeHosts }).(pulumi.IntOutput) } -// The role defines how the load balancer is using the network. -func (o GetLoadbalancerNetworkOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.Role }).(pulumi.StringOutput) +// The name of the plan. +func (o GetEdgecloudPlansPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Name }).(pulumi.StringOutput) } -type GetLoadbalancerNetworkArrayOutput struct{ *pulumi.OutputState } +type GetEdgecloudPlansPlanArrayOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerNetworkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() +func (GetEdgecloudPlansPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() } -func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { +func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { return o } -func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { +func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { return o } -func (o GetLoadbalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerNetworkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerNetwork { - return vs[0].([]GetLoadbalancerNetwork)[vs[1].(int)] - }).(GetLoadbalancerNetworkOutput) +func (o GetEdgecloudPlansPlanArrayOutput) Index(i pulumi.IntInput) GetEdgecloudPlansPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudPlansPlan { + return vs[0].([]GetEdgecloudPlansPlan)[vs[1].(int)] + }).(GetEdgecloudPlansPlanOutput) } -type GetLoadbalancerOptions struct { - // Load Balancer is accessible only from an IP address in this range. - Acls []string `pulumi:"acls"` - // We offer Load Balancer metrics observability via ARGUS or external solutions. - Observability GetLoadbalancerOptionsObservability `pulumi:"observability"` - // If true, Load Balancer is accessible only via a private network IP address. - PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` +type GetImageChecksum struct { + // Algorithm for the checksum of the image data. + Algorithm string `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest string `pulumi:"digest"` } -// GetLoadbalancerOptionsInput is an input type that accepts GetLoadbalancerOptionsArgs and GetLoadbalancerOptionsOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsInput` via: +// GetImageChecksumInput is an input type that accepts GetImageChecksumArgs and GetImageChecksumOutput values. +// You can construct a concrete instance of `GetImageChecksumInput` via: // -// GetLoadbalancerOptionsArgs{...} -type GetLoadbalancerOptionsInput interface { +// GetImageChecksumArgs{...} +type GetImageChecksumInput interface { pulumi.Input - ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput - ToGetLoadbalancerOptionsOutputWithContext(context.Context) GetLoadbalancerOptionsOutput + ToGetImageChecksumOutput() GetImageChecksumOutput + ToGetImageChecksumOutputWithContext(context.Context) GetImageChecksumOutput } -type GetLoadbalancerOptionsArgs struct { - // Load Balancer is accessible only from an IP address in this range. - Acls pulumi.StringArrayInput `pulumi:"acls"` - // We offer Load Balancer metrics observability via ARGUS or external solutions. - Observability GetLoadbalancerOptionsObservabilityInput `pulumi:"observability"` - // If true, Load Balancer is accessible only via a private network IP address. - PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` +type GetImageChecksumArgs struct { + // Algorithm for the checksum of the image data. + Algorithm pulumi.StringInput `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest pulumi.StringInput `pulumi:"digest"` } -func (GetLoadbalancerOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() +func (GetImageChecksumArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() } -func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { - return i.ToGetLoadbalancerOptionsOutputWithContext(context.Background()) +func (i GetImageChecksumArgs) ToGetImageChecksumOutput() GetImageChecksumOutput { + return i.ToGetImageChecksumOutputWithContext(context.Background()) } -func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsOutput) +func (i GetImageChecksumArgs) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageChecksumOutput) } -type GetLoadbalancerOptionsOutput struct{ *pulumi.OutputState } +type GetImageChecksumOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() +func (GetImageChecksumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() } -func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { +func (o GetImageChecksumOutput) ToGetImageChecksumOutput() GetImageChecksumOutput { return o } -func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { +func (o GetImageChecksumOutput) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { return o } -// Load Balancer is accessible only from an IP address in this range. -func (o GetLoadbalancerOptionsOutput) Acls() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLoadbalancerOptions) []string { return v.Acls }).(pulumi.StringArrayOutput) -} - -// We offer Load Balancer metrics observability via ARGUS or external solutions. -func (o GetLoadbalancerOptionsOutput) Observability() GetLoadbalancerOptionsObservabilityOutput { - return o.ApplyT(func(v GetLoadbalancerOptions) GetLoadbalancerOptionsObservability { return v.Observability }).(GetLoadbalancerOptionsObservabilityOutput) +// Algorithm for the checksum of the image data. +func (o GetImageChecksumOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetImageChecksum) string { return v.Algorithm }).(pulumi.StringOutput) } -// If true, Load Balancer is accessible only via a private network IP address. -func (o GetLoadbalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetLoadbalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) +// Hexdigest of the checksum of the image data. +func (o GetImageChecksumOutput) Digest() pulumi.StringOutput { + return o.ApplyT(func(v GetImageChecksum) string { return v.Digest }).(pulumi.StringOutput) } -type GetLoadbalancerOptionsObservability struct { - // Observability logs configuration. - Logs GetLoadbalancerOptionsObservabilityLogs `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetLoadbalancerOptionsObservabilityMetrics `pulumi:"metrics"` +type GetImageConfig struct { + // Enables the BIOS bootmenu. + BootMenu bool `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus string `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus string `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel string `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem string `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro string `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion string `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus string `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice string `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot bool `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi bool `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel string `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi bool `pulumi:"virtioScsi"` } -// GetLoadbalancerOptionsObservabilityInput is an input type that accepts GetLoadbalancerOptionsObservabilityArgs and GetLoadbalancerOptionsObservabilityOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityInput` via: +// GetImageConfigInput is an input type that accepts GetImageConfigArgs and GetImageConfigOutput values. +// You can construct a concrete instance of `GetImageConfigInput` via: // -// GetLoadbalancerOptionsObservabilityArgs{...} -type GetLoadbalancerOptionsObservabilityInput interface { +// GetImageConfigArgs{...} +type GetImageConfigInput interface { pulumi.Input - ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput - ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityOutput + ToGetImageConfigOutput() GetImageConfigOutput + ToGetImageConfigOutputWithContext(context.Context) GetImageConfigOutput } -type GetLoadbalancerOptionsObservabilityArgs struct { - // Observability logs configuration. - Logs GetLoadbalancerOptionsObservabilityLogsInput `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetLoadbalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` +type GetImageConfigArgs struct { + // Enables the BIOS bootmenu. + BootMenu pulumi.BoolInput `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus pulumi.StringInput `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus pulumi.StringInput `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel pulumi.StringInput `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus pulumi.StringInput `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi pulumi.BoolInput `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel pulumi.StringInput `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` } -func (GetLoadbalancerOptionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() +func (GetImageConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageConfig)(nil)).Elem() } -func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { - return i.ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Background()) +func (i GetImageConfigArgs) ToGetImageConfigOutput() GetImageConfigOutput { + return i.ToGetImageConfigOutputWithContext(context.Background()) } -func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityOutput) +func (i GetImageConfigArgs) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageConfigOutput) } -type GetLoadbalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } +type GetImageConfigOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerOptionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() +func (GetImageConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageConfig)(nil)).Elem() } -func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { +func (o GetImageConfigOutput) ToGetImageConfigOutput() GetImageConfigOutput { return o } -func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { +func (o GetImageConfigOutput) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { return o } -// Observability logs configuration. -func (o GetLoadbalancerOptionsObservabilityOutput) Logs() GetLoadbalancerOptionsObservabilityLogsOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityLogs { return v.Logs }).(GetLoadbalancerOptionsObservabilityLogsOutput) +// Enables the BIOS bootmenu. +func (o GetImageConfigOutput) BootMenu() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.BootMenu }).(pulumi.BoolOutput) } -// Observability metrics configuration. -func (o GetLoadbalancerOptionsObservabilityOutput) Metrics() GetLoadbalancerOptionsObservabilityMetricsOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityMetrics { - return v.Metrics - }).(GetLoadbalancerOptionsObservabilityMetricsOutput) +// Sets CDROM bus controller type. +func (o GetImageConfigOutput) CdromBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.CdromBus }).(pulumi.StringOutput) } -type GetLoadbalancerOptionsObservabilityLogs struct { - // Credentials reference for logs. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for logs. - PushUrl string `pulumi:"pushUrl"` +// Sets Disk bus controller type. +func (o GetImageConfigOutput) DiskBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.DiskBus }).(pulumi.StringOutput) } -// GetLoadbalancerOptionsObservabilityLogsInput is an input type that accepts GetLoadbalancerOptionsObservabilityLogsArgs and GetLoadbalancerOptionsObservabilityLogsOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityLogsInput` via: -// -// GetLoadbalancerOptionsObservabilityLogsArgs{...} -type GetLoadbalancerOptionsObservabilityLogsInput interface { - pulumi.Input - - ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput - ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityLogsOutput +// Sets virtual network interface model. +func (o GetImageConfigOutput) NicModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.NicModel }).(pulumi.StringOutput) } -type GetLoadbalancerOptionsObservabilityLogsArgs struct { - // Credentials reference for logs. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for logs. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` +// Enables operating system specific optimizations. +func (o GetImageConfigOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystem }).(pulumi.StringOutput) } -func (GetLoadbalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() +// Operating system distribution. +func (o GetImageConfigOutput) OperatingSystemDistro() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) } -func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { - return i.ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Background()) +// Version of the operating system. +func (o GetImageConfigOutput) OperatingSystemVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) } -func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityLogsOutput) +// Sets the device bus when the image is used as a rescue image. +func (o GetImageConfigOutput) RescueBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.RescueBus }).(pulumi.StringOutput) } -type GetLoadbalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() +// Sets the device when the image is used as a rescue image. +func (o GetImageConfigOutput) RescueDevice() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.RescueDevice }).(pulumi.StringOutput) } -func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { - return o +// Enables Secure Boot. +func (o GetImageConfigOutput) SecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.SecureBoot }).(pulumi.BoolOutput) } -func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { - return o +// Enables UEFI boot. +func (o GetImageConfigOutput) Uefi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.Uefi }).(pulumi.BoolOutput) } -// Credentials reference for logs. -func (o GetLoadbalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) +// Sets Graphic device model. +func (o GetImageConfigOutput) VideoModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.VideoModel }).(pulumi.StringOutput) } -// Credentials reference for logs. -func (o GetLoadbalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) +// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. +func (o GetImageConfigOutput) VirtioScsi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.VirtioScsi }).(pulumi.BoolOutput) } -type GetLoadbalancerOptionsObservabilityMetrics struct { - // Credentials reference for metrics. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for metrics. - PushUrl string `pulumi:"pushUrl"` +type GetImageV2Checksum struct { + // Algorithm for the checksum of the image data. + Algorithm string `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest string `pulumi:"digest"` } -// GetLoadbalancerOptionsObservabilityMetricsInput is an input type that accepts GetLoadbalancerOptionsObservabilityMetricsArgs and GetLoadbalancerOptionsObservabilityMetricsOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityMetricsInput` via: +// GetImageV2ChecksumInput is an input type that accepts GetImageV2ChecksumArgs and GetImageV2ChecksumOutput values. +// You can construct a concrete instance of `GetImageV2ChecksumInput` via: // -// GetLoadbalancerOptionsObservabilityMetricsArgs{...} -type GetLoadbalancerOptionsObservabilityMetricsInput interface { +// GetImageV2ChecksumArgs{...} +type GetImageV2ChecksumInput interface { pulumi.Input - ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput - ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput + ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput + ToGetImageV2ChecksumOutputWithContext(context.Context) GetImageV2ChecksumOutput } -type GetLoadbalancerOptionsObservabilityMetricsArgs struct { - // Credentials reference for metrics. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for metrics. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` +type GetImageV2ChecksumArgs struct { + // Algorithm for the checksum of the image data. + Algorithm pulumi.StringInput `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest pulumi.StringInput `pulumi:"digest"` } -func (GetLoadbalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +func (GetImageV2ChecksumArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() } -func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { - return i.ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) +func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { + return i.ToGetImageV2ChecksumOutputWithContext(context.Background()) } -func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityMetricsOutput) +func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ChecksumOutput) } -type GetLoadbalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } +type GetImageV2ChecksumOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +func (GetImageV2ChecksumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() } -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { +func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { return o } -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { +func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { return o } -// Credentials reference for metrics. -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) +// Algorithm for the checksum of the image data. +func (o GetImageV2ChecksumOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Checksum) string { return v.Algorithm }).(pulumi.StringOutput) } -// Credentials reference for metrics. -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) +// Hexdigest of the checksum of the image data. +func (o GetImageV2ChecksumOutput) Digest() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Checksum) string { return v.Digest }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPool struct { - ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` - // Target pool name. - Name string `pulumi:"name"` - // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. - SessionPersistence GetLoadbalancerTargetPoolSessionPersistence `pulumi:"sessionPersistence"` - // Identical port number where each target listens for traffic. - TargetPort int `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 1000. - Targets []GetLoadbalancerTargetPoolTarget `pulumi:"targets"` +type GetImageV2Config struct { + // Enables the BIOS bootmenu. + BootMenu bool `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus string `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus string `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel string `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem string `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro string `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion string `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus string `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice string `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot bool `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi bool `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel string `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi bool `pulumi:"virtioScsi"` } -// GetLoadbalancerTargetPoolInput is an input type that accepts GetLoadbalancerTargetPoolArgs and GetLoadbalancerTargetPoolOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolInput` via: +// GetImageV2ConfigInput is an input type that accepts GetImageV2ConfigArgs and GetImageV2ConfigOutput values. +// You can construct a concrete instance of `GetImageV2ConfigInput` via: // -// GetLoadbalancerTargetPoolArgs{...} -type GetLoadbalancerTargetPoolInput interface { +// GetImageV2ConfigArgs{...} +type GetImageV2ConfigInput interface { pulumi.Input - ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput - ToGetLoadbalancerTargetPoolOutputWithContext(context.Context) GetLoadbalancerTargetPoolOutput + ToGetImageV2ConfigOutput() GetImageV2ConfigOutput + ToGetImageV2ConfigOutputWithContext(context.Context) GetImageV2ConfigOutput } -type GetLoadbalancerTargetPoolArgs struct { - ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` - // Target pool name. - Name pulumi.StringInput `pulumi:"name"` - // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. - SessionPersistence GetLoadbalancerTargetPoolSessionPersistenceInput `pulumi:"sessionPersistence"` - // Identical port number where each target listens for traffic. - TargetPort pulumi.IntInput `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 1000. - Targets GetLoadbalancerTargetPoolTargetArrayInput `pulumi:"targets"` +type GetImageV2ConfigArgs struct { + // Enables the BIOS bootmenu. + BootMenu pulumi.BoolInput `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus pulumi.StringInput `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus pulumi.StringInput `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel pulumi.StringInput `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus pulumi.StringInput `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi pulumi.BoolInput `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel pulumi.StringInput `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` } -func (GetLoadbalancerTargetPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() +func (GetImageV2ConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() } -func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { - return i.ToGetLoadbalancerTargetPoolOutputWithContext(context.Background()) +func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { + return i.ToGetImageV2ConfigOutputWithContext(context.Background()) } -func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolOutput) +func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ConfigOutput) } -// GetLoadbalancerTargetPoolArrayInput is an input type that accepts GetLoadbalancerTargetPoolArray and GetLoadbalancerTargetPoolArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolArrayInput` via: -// -// GetLoadbalancerTargetPoolArray{ GetLoadbalancerTargetPoolArgs{...} } -type GetLoadbalancerTargetPoolArrayInput interface { - pulumi.Input +type GetImageV2ConfigOutput struct{ *pulumi.OutputState } - ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput - ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolArrayOutput +func (GetImageV2ConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() } -type GetLoadbalancerTargetPoolArray []GetLoadbalancerTargetPoolInput - -func (GetLoadbalancerTargetPoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() +func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { + return o } -func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { - return i.ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Background()) +func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { + return o } -func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolArrayOutput) +// Enables the BIOS bootmenu. +func (o GetImageV2ConfigOutput) BootMenu() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.BootMenu }).(pulumi.BoolOutput) } -type GetLoadbalancerTargetPoolOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerTargetPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() +// Sets CDROM bus controller type. +func (o GetImageV2ConfigOutput) CdromBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.CdromBus }).(pulumi.StringOutput) } -func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { - return o +// Sets Disk bus controller type. +func (o GetImageV2ConfigOutput) DiskBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.DiskBus }).(pulumi.StringOutput) } -func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { - return o +// Sets virtual network interface model. +func (o GetImageV2ConfigOutput) NicModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.NicModel }).(pulumi.StringOutput) } -func (o GetLoadbalancerTargetPoolOutput) ActiveHealthCheck() GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolActiveHealthCheck { - return v.ActiveHealthCheck - }).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) +// Enables operating system specific optimizations. +func (o GetImageV2ConfigOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystem }).(pulumi.StringOutput) } -// Target pool name. -func (o GetLoadbalancerTargetPoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) +// Operating system distribution. +func (o GetImageV2ConfigOutput) OperatingSystemDistro() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) } -// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. -func (o GetLoadbalancerTargetPoolOutput) SessionPersistence() GetLoadbalancerTargetPoolSessionPersistenceOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolSessionPersistence { - return v.SessionPersistence - }).(GetLoadbalancerTargetPoolSessionPersistenceOutput) +// Version of the operating system. +func (o GetImageV2ConfigOutput) OperatingSystemVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) } -// Identical port number where each target listens for traffic. -func (o GetLoadbalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) +// Sets the device bus when the image is used as a rescue image. +func (o GetImageV2ConfigOutput) RescueBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.RescueBus }).(pulumi.StringOutput) } -// List of all targets which will be used in the pool. Limited to 1000. -func (o GetLoadbalancerTargetPoolOutput) Targets() GetLoadbalancerTargetPoolTargetArrayOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) []GetLoadbalancerTargetPoolTarget { return v.Targets }).(GetLoadbalancerTargetPoolTargetArrayOutput) +// Sets the device when the image is used as a rescue image. +func (o GetImageV2ConfigOutput) RescueDevice() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.RescueDevice }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerTargetPoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() +// Enables Secure Boot. +func (o GetImageV2ConfigOutput) SecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.SecureBoot }).(pulumi.BoolOutput) } -func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { - return o +// Enables UEFI boot. +func (o GetImageV2ConfigOutput) Uefi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.Uefi }).(pulumi.BoolOutput) } -func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { - return o +// Sets Graphic device model. +func (o GetImageV2ConfigOutput) VideoModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.VideoModel }).(pulumi.StringOutput) } -func (o GetLoadbalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPool { - return vs[0].([]GetLoadbalancerTargetPool)[vs[1].(int)] - }).(GetLoadbalancerTargetPoolOutput) +// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. +func (o GetImageV2ConfigOutput) VirtioScsi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.VirtioScsi }).(pulumi.BoolOutput) } -type GetLoadbalancerTargetPoolActiveHealthCheck struct { - // Healthy threshold of the health checking. - HealthyThreshold int `pulumi:"healthyThreshold"` - // Interval duration of health checking in seconds. - Interval string `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter string `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout string `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +type GetImageV2Filter struct { + // Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. + Distro *string `pulumi:"distro"` + // Filter images by operating system type, such as `linux` or `windows`. + Os *string `pulumi:"os"` + // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. + SecureBoot *bool `pulumi:"secureBoot"` + // Filter images based on UEFI support. Set to `true` to match images that support UEFI. + Uefi *bool `pulumi:"uefi"` + // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + Version *string `pulumi:"version"` } -// GetLoadbalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetLoadbalancerTargetPoolActiveHealthCheckArgs and GetLoadbalancerTargetPoolActiveHealthCheckOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolActiveHealthCheckInput` via: +// GetImageV2FilterInput is an input type that accepts GetImageV2FilterArgs and GetImageV2FilterOutput values. +// You can construct a concrete instance of `GetImageV2FilterInput` via: // -// GetLoadbalancerTargetPoolActiveHealthCheckArgs{...} -type GetLoadbalancerTargetPoolActiveHealthCheckInput interface { +// GetImageV2FilterArgs{...} +type GetImageV2FilterInput interface { pulumi.Input - ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput - ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput + ToGetImageV2FilterOutput() GetImageV2FilterOutput + ToGetImageV2FilterOutputWithContext(context.Context) GetImageV2FilterOutput } -type GetLoadbalancerTargetPoolActiveHealthCheckArgs struct { - // Healthy threshold of the health checking. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // Interval duration of health checking in seconds. - Interval pulumi.StringInput `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout pulumi.StringInput `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +type GetImageV2FilterArgs struct { + // Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. + Distro pulumi.StringPtrInput `pulumi:"distro"` + // Filter images by operating system type, such as `linux` or `windows`. + Os pulumi.StringPtrInput `pulumi:"os"` + // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. + SecureBoot pulumi.BoolPtrInput `pulumi:"secureBoot"` + // Filter images based on UEFI support. Set to `true` to match images that support UEFI. + Uefi pulumi.BoolPtrInput `pulumi:"uefi"` + // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + Version pulumi.StringPtrInput `pulumi:"version"` } -func (GetLoadbalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (GetImageV2FilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() } -func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return i.ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) +func (i GetImageV2FilterArgs) ToGetImageV2FilterOutput() GetImageV2FilterOutput { + return i.ToGetImageV2FilterOutputWithContext(context.Background()) } -func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) +func (i GetImageV2FilterArgs) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput) } -type GetLoadbalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } +func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { + return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +} -func (GetLoadbalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput).ToGetImageV2FilterPtrOutputWithContext(ctx) } -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return o +// GetImageV2FilterPtrInput is an input type that accepts GetImageV2FilterArgs, GetImageV2FilterPtr and GetImageV2FilterPtrOutput values. +// You can construct a concrete instance of `GetImageV2FilterPtrInput` via: +// +// GetImageV2FilterArgs{...} +// +// or: +// +// nil +type GetImageV2FilterPtrInput interface { + pulumi.Input + + ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput + ToGetImageV2FilterPtrOutputWithContext(context.Context) GetImageV2FilterPtrOutput } -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return o +type getImageV2FilterPtrType GetImageV2FilterArgs + +func GetImageV2FilterPtr(v *GetImageV2FilterArgs) GetImageV2FilterPtrInput { + return (*getImageV2FilterPtrType)(v) } -// Healthy threshold of the health checking. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) +func (*getImageV2FilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() } -// Interval duration of health checking in seconds. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) +func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { + return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) } -// Interval duration threshold of the health checking in seconds. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) +func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterPtrOutput) } -// Active health checking timeout duration in seconds. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) +type GetImageV2FilterOutput struct{ *pulumi.OutputState } + +func (GetImageV2FilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() } -// Unhealthy threshold of the health checking. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +func (o GetImageV2FilterOutput) ToGetImageV2FilterOutput() GetImageV2FilterOutput { + return o } -type GetLoadbalancerTargetPoolSessionPersistence struct { - // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. - UseSourceIpAddress bool `pulumi:"useSourceIpAddress"` +func (o GetImageV2FilterOutput) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { + return o } -// GetLoadbalancerTargetPoolSessionPersistenceInput is an input type that accepts GetLoadbalancerTargetPoolSessionPersistenceArgs and GetLoadbalancerTargetPoolSessionPersistenceOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolSessionPersistenceInput` via: -// -// GetLoadbalancerTargetPoolSessionPersistenceArgs{...} -type GetLoadbalancerTargetPoolSessionPersistenceInput interface { - pulumi.Input +func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { + return o.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +} - ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput - ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput +func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetImageV2Filter) *GetImageV2Filter { + return &v + }).(GetImageV2FilterPtrOutput) } -type GetLoadbalancerTargetPoolSessionPersistenceArgs struct { - // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. - UseSourceIpAddress pulumi.BoolInput `pulumi:"useSourceIpAddress"` +// Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. +func (o GetImageV2FilterOutput) Distro() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *string { return v.Distro }).(pulumi.StringPtrOutput) } -func (GetLoadbalancerTargetPoolSessionPersistenceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +// Filter images by operating system type, such as `linux` or `windows`. +func (o GetImageV2FilterOutput) Os() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *string { return v.Os }).(pulumi.StringPtrOutput) } -func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { - return i.ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Background()) +// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. +func (o GetImageV2FilterOutput) SecureBoot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *bool { return v.SecureBoot }).(pulumi.BoolPtrOutput) } -func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolSessionPersistenceOutput) +// Filter images based on UEFI support. Set to `true` to match images that support UEFI. +func (o GetImageV2FilterOutput) Uefi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *bool { return v.Uefi }).(pulumi.BoolPtrOutput) } -type GetLoadbalancerTargetPoolSessionPersistenceOutput struct{ *pulumi.OutputState } +// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. +func (o GetImageV2FilterOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *string { return v.Version }).(pulumi.StringPtrOutput) +} -func (GetLoadbalancerTargetPoolSessionPersistenceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +type GetImageV2FilterPtrOutput struct{ *pulumi.OutputState } + +func (GetImageV2FilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() } -func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { +func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { return o } -func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { +func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { return o } -// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. -func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolSessionPersistence) bool { return v.UseSourceIpAddress }).(pulumi.BoolOutput) +func (o GetImageV2FilterPtrOutput) Elem() GetImageV2FilterOutput { + return o.ApplyT(func(v *GetImageV2Filter) GetImageV2Filter { + if v != nil { + return *v + } + var ret GetImageV2Filter + return ret + }).(GetImageV2FilterOutput) } -type GetLoadbalancerTargetPoolTarget struct { - // Target display name - DisplayName string `pulumi:"displayName"` - // Target IP - Ip string `pulumi:"ip"` +// Filter images by operating system distribution. For example: `ubuntu`, `debian`, `rhel`, etc. +func (o GetImageV2FilterPtrOutput) Distro() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *string { + if v == nil { + return nil + } + return v.Distro + }).(pulumi.StringPtrOutput) } -// GetLoadbalancerTargetPoolTargetInput is an input type that accepts GetLoadbalancerTargetPoolTargetArgs and GetLoadbalancerTargetPoolTargetOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetInput` via: -// -// GetLoadbalancerTargetPoolTargetArgs{...} -type GetLoadbalancerTargetPoolTargetInput interface { - pulumi.Input - - ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput - ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetOutput +// Filter images by operating system type, such as `linux` or `windows`. +func (o GetImageV2FilterPtrOutput) Os() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *string { + if v == nil { + return nil + } + return v.Os + }).(pulumi.StringPtrOutput) } -type GetLoadbalancerTargetPoolTargetArgs struct { - // Target display name - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Target IP - Ip pulumi.StringInput `pulumi:"ip"` +// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. +func (o GetImageV2FilterPtrOutput) SecureBoot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *bool { + if v == nil { + return nil + } + return v.SecureBoot + }).(pulumi.BoolPtrOutput) } -func (GetLoadbalancerTargetPoolTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() +// Filter images based on UEFI support. Set to `true` to match images that support UEFI. +func (o GetImageV2FilterPtrOutput) Uefi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *bool { + if v == nil { + return nil + } + return v.Uefi + }).(pulumi.BoolPtrOutput) } -func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { - return i.ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Background()) +// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. +func (o GetImageV2FilterPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) } -func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetOutput) +type GetLoadbalancerListener struct { + DisplayName string `pulumi:"displayName"` + // Port number where we listen for traffic. + Port int `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. + Protocol string `pulumi:"protocol"` + // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + // + // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 + ServerNameIndicators []GetLoadbalancerListenerServerNameIndicator `pulumi:"serverNameIndicators"` + // Reference target pool by target pool name. + TargetPool string `pulumi:"targetPool"` + // Options that are specific to the TCP protocol. + Tcp GetLoadbalancerListenerTcp `pulumi:"tcp"` + // Options that are specific to the UDP protocol. + Udp GetLoadbalancerListenerUdp `pulumi:"udp"` } -// GetLoadbalancerTargetPoolTargetArrayInput is an input type that accepts GetLoadbalancerTargetPoolTargetArray and GetLoadbalancerTargetPoolTargetArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetArrayInput` via: +// GetLoadbalancerListenerInput is an input type that accepts GetLoadbalancerListenerArgs and GetLoadbalancerListenerOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerInput` via: // -// GetLoadbalancerTargetPoolTargetArray{ GetLoadbalancerTargetPoolTargetArgs{...} } -type GetLoadbalancerTargetPoolTargetArrayInput interface { +// GetLoadbalancerListenerArgs{...} +type GetLoadbalancerListenerInput interface { pulumi.Input - ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput - ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetArrayOutput + ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput + ToGetLoadbalancerListenerOutputWithContext(context.Context) GetLoadbalancerListenerOutput } -type GetLoadbalancerTargetPoolTargetArray []GetLoadbalancerTargetPoolTargetInput - -func (GetLoadbalancerTargetPoolTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() +type GetLoadbalancerListenerArgs struct { + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Port number where we listen for traffic. + Port pulumi.IntInput `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. + Protocol pulumi.StringInput `pulumi:"protocol"` + // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + // + // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 + ServerNameIndicators GetLoadbalancerListenerServerNameIndicatorArrayInput `pulumi:"serverNameIndicators"` + // Reference target pool by target pool name. + TargetPool pulumi.StringInput `pulumi:"targetPool"` + // Options that are specific to the TCP protocol. + Tcp GetLoadbalancerListenerTcpInput `pulumi:"tcp"` + // Options that are specific to the UDP protocol. + Udp GetLoadbalancerListenerUdpInput `pulumi:"udp"` } -func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { - return i.ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Background()) +func (GetLoadbalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() } -func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetArrayOutput) +func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { + return i.ToGetLoadbalancerListenerOutputWithContext(context.Background()) } -type GetLoadbalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerTargetPoolTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() +func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerOutput) } -func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { - return o -} +// GetLoadbalancerListenerArrayInput is an input type that accepts GetLoadbalancerListenerArray and GetLoadbalancerListenerArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerArrayInput` via: +// +// GetLoadbalancerListenerArray{ GetLoadbalancerListenerArgs{...} } +type GetLoadbalancerListenerArrayInput interface { + pulumi.Input -func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { - return o + ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput + ToGetLoadbalancerListenerArrayOutputWithContext(context.Context) GetLoadbalancerListenerArrayOutput } -// Target display name -func (o GetLoadbalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) +type GetLoadbalancerListenerArray []GetLoadbalancerListenerInput + +func (GetLoadbalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() } -// Target IP -func (o GetLoadbalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) +func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { + return i.ToGetLoadbalancerListenerArrayOutputWithContext(context.Background()) } -type GetLoadbalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } +func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerArrayOutput) +} -func (GetLoadbalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() +type GetLoadbalancerListenerOutput struct{ *pulumi.OutputState } + +func (GetLoadbalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() } -func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { +func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { return o } -func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { +func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { return o } -func (o GetLoadbalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPoolTarget { - return vs[0].([]GetLoadbalancerTargetPoolTarget)[vs[1].(int)] - }).(GetLoadbalancerTargetPoolTargetOutput) +func (o GetLoadbalancerListenerOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListener) string { return v.DisplayName }).(pulumi.StringOutput) } -type GetLogmeInstanceParameters struct { - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - FluentdTcp int `pulumi:"fluentdTcp"` - FluentdTls int `pulumi:"fluentdTls"` - FluentdTlsCiphers string `pulumi:"fluentdTlsCiphers"` - FluentdTlsMaxVersion string `pulumi:"fluentdTlsMaxVersion"` - FluentdTlsMinVersion string `pulumi:"fluentdTlsMinVersion"` - FluentdTlsVersion string `pulumi:"fluentdTlsVersion"` - FluentdUdp int `pulumi:"fluentdUdp"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite string `pulumi:"graphite"` - // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. - IsmDeletionAfter string `pulumi:"ismDeletionAfter"` - IsmJitter float64 `pulumi:"ismJitter"` - // Jitter of the execution time. - IsmJobInterval int `pulumi:"ismJobInterval"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace int `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - OpensearchTlsCiphers []string `pulumi:"opensearchTlsCiphers"` - OpensearchTlsProtocols []string `pulumi:"opensearchTlsProtocols"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` +// Port number where we listen for traffic. +func (o GetLoadbalancerListenerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerListener) int { return v.Port }).(pulumi.IntOutput) } -// GetLogmeInstanceParametersInput is an input type that accepts GetLogmeInstanceParametersArgs and GetLogmeInstanceParametersOutput values. -// You can construct a concrete instance of `GetLogmeInstanceParametersInput` via: -// -// GetLogmeInstanceParametersArgs{...} -type GetLogmeInstanceParametersInput interface { - pulumi.Input - - ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput - ToGetLogmeInstanceParametersOutputWithContext(context.Context) GetLogmeInstanceParametersOutput +// Protocol is the highest network protocol we understand to load balance. +func (o GetLoadbalancerListenerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListener) string { return v.Protocol }).(pulumi.StringOutput) } -type GetLogmeInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - FluentdTcp pulumi.IntInput `pulumi:"fluentdTcp"` - FluentdTls pulumi.IntInput `pulumi:"fluentdTls"` - FluentdTlsCiphers pulumi.StringInput `pulumi:"fluentdTlsCiphers"` - FluentdTlsMaxVersion pulumi.StringInput `pulumi:"fluentdTlsMaxVersion"` - FluentdTlsMinVersion pulumi.StringInput `pulumi:"fluentdTlsMinVersion"` - FluentdTlsVersion pulumi.StringInput `pulumi:"fluentdTlsVersion"` - FluentdUdp pulumi.IntInput `pulumi:"fluentdUdp"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite pulumi.StringInput `pulumi:"graphite"` - // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. - IsmDeletionAfter pulumi.StringInput `pulumi:"ismDeletionAfter"` - IsmJitter pulumi.Float64Input `pulumi:"ismJitter"` - // Jitter of the execution time. - IsmJobInterval pulumi.IntInput `pulumi:"ismJobInterval"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - OpensearchTlsCiphers pulumi.StringArrayInput `pulumi:"opensearchTlsCiphers"` - OpensearchTlsProtocols pulumi.StringArrayInput `pulumi:"opensearchTlsProtocols"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` +// A list of domain names to match in order to pass TLS traffic to the target pool in the current listener +// +// Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 +func (o GetLoadbalancerListenerOutput) ServerNameIndicators() GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return o.ApplyT(func(v GetLoadbalancerListener) []GetLoadbalancerListenerServerNameIndicator { + return v.ServerNameIndicators + }).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) } -func (GetLogmeInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() +// Reference target pool by target pool name. +func (o GetLoadbalancerListenerOutput) TargetPool() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListener) string { return v.TargetPool }).(pulumi.StringOutput) } -func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { - return i.ToGetLogmeInstanceParametersOutputWithContext(context.Background()) +// Options that are specific to the TCP protocol. +func (o GetLoadbalancerListenerOutput) Tcp() GetLoadbalancerListenerTcpOutput { + return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerTcp { return v.Tcp }).(GetLoadbalancerListenerTcpOutput) } -func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLogmeInstanceParametersOutput) +// Options that are specific to the UDP protocol. +func (o GetLoadbalancerListenerOutput) Udp() GetLoadbalancerListenerUdpOutput { + return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerUdp { return v.Udp }).(GetLoadbalancerListenerUdpOutput) } -type GetLogmeInstanceParametersOutput struct{ *pulumi.OutputState } +type GetLoadbalancerListenerArrayOutput struct{ *pulumi.OutputState } -func (GetLogmeInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() +func (GetLoadbalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() } -func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { +func (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { return o } -func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { +func (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { return o } -// Enable monitoring. -func (o GetLogmeInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +func (o GetLoadbalancerListenerArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListener { + return vs[0].([]GetLoadbalancerListener)[vs[1].(int)] + }).(GetLoadbalancerListenerOutput) } -func (o GetLogmeInstanceParametersOutput) FluentdTcp() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTcp }).(pulumi.IntOutput) +type GetLoadbalancerListenerServerNameIndicator struct { + // A domain name to match in order to pass TLS traffic to the target pool in the current listener + Name *string `pulumi:"name"` } -func (o GetLogmeInstanceParametersOutput) FluentdTls() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTls }).(pulumi.IntOutput) -} +// GetLoadbalancerListenerServerNameIndicatorInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArgs and GetLoadbalancerListenerServerNameIndicatorOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorInput` via: +// +// GetLoadbalancerListenerServerNameIndicatorArgs{...} +type GetLoadbalancerListenerServerNameIndicatorInput interface { + pulumi.Input -func (o GetLogmeInstanceParametersOutput) FluentdTlsCiphers() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsCiphers }).(pulumi.StringOutput) + ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput + ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorOutput } -func (o GetLogmeInstanceParametersOutput) FluentdTlsMaxVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMaxVersion }).(pulumi.StringOutput) +type GetLoadbalancerListenerServerNameIndicatorArgs struct { + // A domain name to match in order to pass TLS traffic to the target pool in the current listener + Name pulumi.StringPtrInput `pulumi:"name"` } -func (o GetLogmeInstanceParametersOutput) FluentdTlsMinVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMinVersion }).(pulumi.StringOutput) +func (GetLoadbalancerListenerServerNameIndicatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (o GetLogmeInstanceParametersOutput) FluentdTlsVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsVersion }).(pulumi.StringOutput) +func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { + return i.ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Background()) } -func (o GetLogmeInstanceParametersOutput) FluentdUdp() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdUdp }).(pulumi.IntOutput) +func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorOutput) } -// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). -func (o GetLogmeInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) -} +// GetLoadbalancerListenerServerNameIndicatorArrayInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArray and GetLoadbalancerListenerServerNameIndicatorArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorArrayInput` via: +// +// GetLoadbalancerListenerServerNameIndicatorArray{ GetLoadbalancerListenerServerNameIndicatorArgs{...} } +type GetLoadbalancerListenerServerNameIndicatorArrayInput interface { + pulumi.Input -// Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. -func (o GetLogmeInstanceParametersOutput) IsmDeletionAfter() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.IsmDeletionAfter }).(pulumi.StringOutput) + ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput + ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput } -func (o GetLogmeInstanceParametersOutput) IsmJitter() pulumi.Float64Output { - return o.ApplyT(func(v GetLogmeInstanceParameters) float64 { return v.IsmJitter }).(pulumi.Float64Output) -} +type GetLoadbalancerListenerServerNameIndicatorArray []GetLoadbalancerListenerServerNameIndicatorInput -// Jitter of the execution time. -func (o GetLogmeInstanceParametersOutput) IsmJobInterval() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.IsmJobInterval }).(pulumi.IntOutput) +func (GetLoadbalancerListenerServerNameIndicatorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o GetLogmeInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) +func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return i.ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Background()) } -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o GetLogmeInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) +func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetLogmeInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) -} +type GetLoadbalancerListenerServerNameIndicatorOutput struct{ *pulumi.OutputState } -// The frequency in seconds at which metrics are emitted (in seconds). -func (o GetLogmeInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +func (GetLoadbalancerListenerServerNameIndicatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. -func (o GetLogmeInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { + return o } -// The ID of the STACKIT monitoring instance. -func (o GetLogmeInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { + return o } -func (o GetLogmeInstanceParametersOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsCiphers }).(pulumi.StringArrayOutput) +// A domain name to match in order to pass TLS traffic to the target pool in the current listener +func (o GetLoadbalancerListenerServerNameIndicatorOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetLoadbalancerListenerServerNameIndicator) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o GetLogmeInstanceParametersOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsProtocols }).(pulumi.StringArrayOutput) +type GetLoadbalancerListenerServerNameIndicatorArrayOutput struct{ *pulumi.OutputState } + +func (GetLoadbalancerListenerServerNameIndicatorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetLogmeInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return o } -// List of syslog servers to send logs to. -func (o GetLogmeInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return o } -type GetMariadbInstanceParameters struct { - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - Graphite string `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` +func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerServerNameIndicatorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListenerServerNameIndicator { + return vs[0].([]GetLoadbalancerListenerServerNameIndicator)[vs[1].(int)] + }).(GetLoadbalancerListenerServerNameIndicatorOutput) } -// GetMariadbInstanceParametersInput is an input type that accepts GetMariadbInstanceParametersArgs and GetMariadbInstanceParametersOutput values. -// You can construct a concrete instance of `GetMariadbInstanceParametersInput` via: +type GetLoadbalancerListenerTcp struct { + // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + IdleTimeout string `pulumi:"idleTimeout"` +} + +// GetLoadbalancerListenerTcpInput is an input type that accepts GetLoadbalancerListenerTcpArgs and GetLoadbalancerListenerTcpOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerTcpInput` via: // -// GetMariadbInstanceParametersArgs{...} -type GetMariadbInstanceParametersInput interface { +// GetLoadbalancerListenerTcpArgs{...} +type GetLoadbalancerListenerTcpInput interface { pulumi.Input - ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput - ToGetMariadbInstanceParametersOutputWithContext(context.Context) GetMariadbInstanceParametersOutput + ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput + ToGetLoadbalancerListenerTcpOutputWithContext(context.Context) GetLoadbalancerListenerTcpOutput } -type GetMariadbInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - Graphite pulumi.StringInput `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` +type GetLoadbalancerListenerTcpArgs struct { + // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` } -func (GetMariadbInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() +func (GetLoadbalancerListenerTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() } -func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { - return i.ToGetMariadbInstanceParametersOutputWithContext(context.Background()) +func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { + return i.ToGetLoadbalancerListenerTcpOutputWithContext(context.Background()) } -func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMariadbInstanceParametersOutput) +func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerTcpOutput) } -type GetMariadbInstanceParametersOutput struct{ *pulumi.OutputState } +type GetLoadbalancerListenerTcpOutput struct{ *pulumi.OutputState } -func (GetMariadbInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() +func (GetLoadbalancerListenerTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() } -func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { +func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { return o } -func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { +func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { return o } -// Enable monitoring. -func (o GetMariadbInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +// Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. +func (o GetLoadbalancerListenerTcpOutput) IdleTimeout() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListenerTcp) string { return v.IdleTimeout }).(pulumi.StringOutput) } -func (o GetMariadbInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +type GetLoadbalancerListenerUdp struct { + // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + IdleTimeout string `pulumi:"idleTimeout"` } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetMariadbInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +// GetLoadbalancerListenerUdpInput is an input type that accepts GetLoadbalancerListenerUdpArgs and GetLoadbalancerListenerUdpOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerUdpInput` via: +// +// GetLoadbalancerListenerUdpArgs{...} +type GetLoadbalancerListenerUdpInput interface { + pulumi.Input + + ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput + ToGetLoadbalancerListenerUdpOutputWithContext(context.Context) GetLoadbalancerListenerUdpOutput } -// The frequency in seconds at which metrics are emitted. -func (o GetMariadbInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +type GetLoadbalancerListenerUdpArgs struct { + // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key -func (o GetMariadbInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +func (GetLoadbalancerListenerUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() } -// The ID of the STACKIT monitoring instance. -func (o GetMariadbInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { + return i.ToGetLoadbalancerListenerUdpOutputWithContext(context.Background()) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetMariadbInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerUdpOutput) } -// List of syslog servers to send logs to. -func (o GetMariadbInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +type GetLoadbalancerListenerUdpOutput struct{ *pulumi.OutputState } + +func (GetLoadbalancerListenerUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() } -type GetMongodbflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description string `pulumi:"description"` - Id string `pulumi:"id"` - Ram int `pulumi:"ram"` +func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { + return o } -// GetMongodbflexInstanceFlavorInput is an input type that accepts GetMongodbflexInstanceFlavorArgs and GetMongodbflexInstanceFlavorOutput values. -// You can construct a concrete instance of `GetMongodbflexInstanceFlavorInput` via: +func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { + return o +} + +// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. +func (o GetLoadbalancerListenerUdpOutput) IdleTimeout() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListenerUdp) string { return v.IdleTimeout }).(pulumi.StringOutput) +} + +type GetLoadbalancerNetwork struct { + // Openstack network ID. + NetworkId string `pulumi:"networkId"` + // The role defines how the load balancer is using the network. + Role string `pulumi:"role"` +} + +// GetLoadbalancerNetworkInput is an input type that accepts GetLoadbalancerNetworkArgs and GetLoadbalancerNetworkOutput values. +// You can construct a concrete instance of `GetLoadbalancerNetworkInput` via: // -// GetMongodbflexInstanceFlavorArgs{...} -type GetMongodbflexInstanceFlavorInput interface { +// GetLoadbalancerNetworkArgs{...} +type GetLoadbalancerNetworkInput interface { pulumi.Input - ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput - ToGetMongodbflexInstanceFlavorOutputWithContext(context.Context) GetMongodbflexInstanceFlavorOutput + ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput + ToGetLoadbalancerNetworkOutputWithContext(context.Context) GetLoadbalancerNetworkOutput } -type GetMongodbflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringInput `pulumi:"description"` - Id pulumi.StringInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` +type GetLoadbalancerNetworkArgs struct { + // Openstack network ID. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // The role defines how the load balancer is using the network. + Role pulumi.StringInput `pulumi:"role"` } -func (GetMongodbflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() +func (GetLoadbalancerNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() } -func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { - return i.ToGetMongodbflexInstanceFlavorOutputWithContext(context.Background()) +func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { + return i.ToGetLoadbalancerNetworkOutputWithContext(context.Background()) } -func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceFlavorOutput) +func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkOutput) } -type GetMongodbflexInstanceFlavorOutput struct{ *pulumi.OutputState } +// GetLoadbalancerNetworkArrayInput is an input type that accepts GetLoadbalancerNetworkArray and GetLoadbalancerNetworkArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerNetworkArrayInput` via: +// +// GetLoadbalancerNetworkArray{ GetLoadbalancerNetworkArgs{...} } +type GetLoadbalancerNetworkArrayInput interface { + pulumi.Input -func (GetMongodbflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() + ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput + ToGetLoadbalancerNetworkArrayOutputWithContext(context.Context) GetLoadbalancerNetworkArrayOutput } -func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { - return o -} +type GetLoadbalancerNetworkArray []GetLoadbalancerNetworkInput -func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { - return o +func (GetLoadbalancerNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() } -func (o GetMongodbflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { + return i.ToGetLoadbalancerNetworkArrayOutputWithContext(context.Background()) } -func (o GetMongodbflexInstanceFlavorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkArrayOutput) } -func (o GetMongodbflexInstanceFlavorOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) -} +type GetLoadbalancerNetworkOutput struct{ *pulumi.OutputState } -func (o GetMongodbflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +func (GetLoadbalancerNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() } -type GetMongodbflexInstanceOptions struct { - // The number of days that daily backups will be retained. - DailySnapshotRetentionDays int `pulumi:"dailySnapshotRetentionDays"` - // The number of months that monthly backups will be retained. - MonthlySnapshotRetentionMonths int `pulumi:"monthlySnapshotRetentionMonths"` - // The number of hours back in time the point-in-time recovery feature will be able to recover. - PointInTimeWindowHours int `pulumi:"pointInTimeWindowHours"` - // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. - SnapshotRetentionDays int `pulumi:"snapshotRetentionDays"` - // Type of the MongoDB Flex instance. - Type string `pulumi:"type"` - // The number of weeks that weekly backups will be retained. - WeeklySnapshotRetentionWeeks int `pulumi:"weeklySnapshotRetentionWeeks"` +func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { + return o } -// GetMongodbflexInstanceOptionsInput is an input type that accepts GetMongodbflexInstanceOptionsArgs and GetMongodbflexInstanceOptionsOutput values. -// You can construct a concrete instance of `GetMongodbflexInstanceOptionsInput` via: -// -// GetMongodbflexInstanceOptionsArgs{...} -type GetMongodbflexInstanceOptionsInput interface { - pulumi.Input - - ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput - ToGetMongodbflexInstanceOptionsOutputWithContext(context.Context) GetMongodbflexInstanceOptionsOutput -} - -type GetMongodbflexInstanceOptionsArgs struct { - // The number of days that daily backups will be retained. - DailySnapshotRetentionDays pulumi.IntInput `pulumi:"dailySnapshotRetentionDays"` - // The number of months that monthly backups will be retained. - MonthlySnapshotRetentionMonths pulumi.IntInput `pulumi:"monthlySnapshotRetentionMonths"` - // The number of hours back in time the point-in-time recovery feature will be able to recover. - PointInTimeWindowHours pulumi.IntInput `pulumi:"pointInTimeWindowHours"` - // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. - SnapshotRetentionDays pulumi.IntInput `pulumi:"snapshotRetentionDays"` - // Type of the MongoDB Flex instance. - Type pulumi.StringInput `pulumi:"type"` - // The number of weeks that weekly backups will be retained. - WeeklySnapshotRetentionWeeks pulumi.IntInput `pulumi:"weeklySnapshotRetentionWeeks"` -} - -func (GetMongodbflexInstanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() +func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { + return o } -func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { - return i.ToGetMongodbflexInstanceOptionsOutputWithContext(context.Background()) +// Openstack network ID. +func (o GetLoadbalancerNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) } -func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceOptionsOutput) +// The role defines how the load balancer is using the network. +func (o GetLoadbalancerNetworkOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.Role }).(pulumi.StringOutput) } -type GetMongodbflexInstanceOptionsOutput struct{ *pulumi.OutputState } +type GetLoadbalancerNetworkArrayOutput struct{ *pulumi.OutputState } -func (GetMongodbflexInstanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() +func (GetLoadbalancerNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() } -func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { +func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { return o } -func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { +func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { return o } -// The number of days that daily backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.DailySnapshotRetentionDays }).(pulumi.IntOutput) +func (o GetLoadbalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerNetwork { + return vs[0].([]GetLoadbalancerNetwork)[vs[1].(int)] + }).(GetLoadbalancerNetworkOutput) } -// The number of months that monthly backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntOutput) +type GetLoadbalancerOptions struct { + // Load Balancer is accessible only from an IP address in this range. + Acls []string `pulumi:"acls"` + // We offer Load Balancer metrics observability via ARGUS or external solutions. + Observability GetLoadbalancerOptionsObservability `pulumi:"observability"` + // If true, Load Balancer is accessible only via a private network IP address. + PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` } -// The number of hours back in time the point-in-time recovery feature will be able to recover. -func (o GetMongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) +// GetLoadbalancerOptionsInput is an input type that accepts GetLoadbalancerOptionsArgs and GetLoadbalancerOptionsOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsInput` via: +// +// GetLoadbalancerOptionsArgs{...} +type GetLoadbalancerOptionsInput interface { + pulumi.Input + + ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput + ToGetLoadbalancerOptionsOutputWithContext(context.Context) GetLoadbalancerOptionsOutput } -// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. -func (o GetMongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.SnapshotRetentionDays }).(pulumi.IntOutput) +type GetLoadbalancerOptionsArgs struct { + // Load Balancer is accessible only from an IP address in this range. + Acls pulumi.StringArrayInput `pulumi:"acls"` + // We offer Load Balancer metrics observability via ARGUS or external solutions. + Observability GetLoadbalancerOptionsObservabilityInput `pulumi:"observability"` + // If true, Load Balancer is accessible only via a private network IP address. + PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` } -// Type of the MongoDB Flex instance. -func (o GetMongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) +func (GetLoadbalancerOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() } -// The number of weeks that weekly backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntOutput) +func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { + return i.ToGetLoadbalancerOptionsOutputWithContext(context.Background()) } -type GetMongodbflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsOutput) } -// GetMongodbflexInstanceStorageInput is an input type that accepts GetMongodbflexInstanceStorageArgs and GetMongodbflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetMongodbflexInstanceStorageInput` via: -// -// GetMongodbflexInstanceStorageArgs{...} -type GetMongodbflexInstanceStorageInput interface { - pulumi.Input +type GetLoadbalancerOptionsOutput struct{ *pulumi.OutputState } - ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput - ToGetMongodbflexInstanceStorageOutputWithContext(context.Context) GetMongodbflexInstanceStorageOutput +func (GetLoadbalancerOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() } -type GetMongodbflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { + return o } -func (GetMongodbflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { + return o } -func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { - return i.ToGetMongodbflexInstanceStorageOutputWithContext(context.Background()) +// Load Balancer is accessible only from an IP address in this range. +func (o GetLoadbalancerOptionsOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLoadbalancerOptions) []string { return v.Acls }).(pulumi.StringArrayOutput) } -func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceStorageOutput) +// We offer Load Balancer metrics observability via ARGUS or external solutions. +func (o GetLoadbalancerOptionsOutput) Observability() GetLoadbalancerOptionsObservabilityOutput { + return o.ApplyT(func(v GetLoadbalancerOptions) GetLoadbalancerOptionsObservability { return v.Observability }).(GetLoadbalancerOptionsObservabilityOutput) } -type GetMongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } +// If true, Load Balancer is accessible only via a private network IP address. +func (o GetLoadbalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetLoadbalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) +} -func (GetMongodbflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +type GetLoadbalancerOptionsObservability struct { + // Observability logs configuration. + Logs GetLoadbalancerOptionsObservabilityLogs `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetLoadbalancerOptionsObservabilityMetrics `pulumi:"metrics"` } -func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { - return o +// GetLoadbalancerOptionsObservabilityInput is an input type that accepts GetLoadbalancerOptionsObservabilityArgs and GetLoadbalancerOptionsObservabilityOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityInput` via: +// +// GetLoadbalancerOptionsObservabilityArgs{...} +type GetLoadbalancerOptionsObservabilityInput interface { + pulumi.Input + + ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput + ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityOutput } -func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { - return o +type GetLoadbalancerOptionsObservabilityArgs struct { + // Observability logs configuration. + Logs GetLoadbalancerOptionsObservabilityLogsInput `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetLoadbalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` } -func (o GetMongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +func (GetLoadbalancerOptionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() } -func (o GetMongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { + return i.ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Background()) } -type GetNetworkAreaNetworkRange struct { - NetworkRangeId string `pulumi:"networkRangeId"` - Prefix string `pulumi:"prefix"` +func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityOutput) } -// GetNetworkAreaNetworkRangeInput is an input type that accepts GetNetworkAreaNetworkRangeArgs and GetNetworkAreaNetworkRangeOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeInput` via: -// -// GetNetworkAreaNetworkRangeArgs{...} -type GetNetworkAreaNetworkRangeInput interface { - pulumi.Input +type GetLoadbalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } - ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput - ToGetNetworkAreaNetworkRangeOutputWithContext(context.Context) GetNetworkAreaNetworkRangeOutput +func (GetLoadbalancerOptionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() } -type GetNetworkAreaNetworkRangeArgs struct { - NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` - Prefix pulumi.StringInput `pulumi:"prefix"` +func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { + return o } -func (GetNetworkAreaNetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { + return o } -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { - return i.ToGetNetworkAreaNetworkRangeOutputWithContext(context.Background()) +// Observability logs configuration. +func (o GetLoadbalancerOptionsObservabilityOutput) Logs() GetLoadbalancerOptionsObservabilityLogsOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityLogs { return v.Logs }).(GetLoadbalancerOptionsObservabilityLogsOutput) } -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeOutput) +// Observability metrics configuration. +func (o GetLoadbalancerOptionsObservabilityOutput) Metrics() GetLoadbalancerOptionsObservabilityMetricsOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityMetrics { + return v.Metrics + }).(GetLoadbalancerOptionsObservabilityMetricsOutput) } -// GetNetworkAreaNetworkRangeArrayInput is an input type that accepts GetNetworkAreaNetworkRangeArray and GetNetworkAreaNetworkRangeArrayOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeArrayInput` via: +type GetLoadbalancerOptionsObservabilityLogs struct { + // Credentials reference for logs. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for logs. + PushUrl string `pulumi:"pushUrl"` +} + +// GetLoadbalancerOptionsObservabilityLogsInput is an input type that accepts GetLoadbalancerOptionsObservabilityLogsArgs and GetLoadbalancerOptionsObservabilityLogsOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityLogsInput` via: // -// GetNetworkAreaNetworkRangeArray{ GetNetworkAreaNetworkRangeArgs{...} } -type GetNetworkAreaNetworkRangeArrayInput interface { +// GetLoadbalancerOptionsObservabilityLogsArgs{...} +type GetLoadbalancerOptionsObservabilityLogsInput interface { pulumi.Input - ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput - ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaNetworkRangeArrayOutput + ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput + ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityLogsOutput } -type GetNetworkAreaNetworkRangeArray []GetNetworkAreaNetworkRangeInput +type GetLoadbalancerOptionsObservabilityLogsArgs struct { + // Credentials reference for logs. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for logs. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` +} -func (GetNetworkAreaNetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetLoadbalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() } -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { - return i.ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) +func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { + return i.ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Background()) } -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeArrayOutput) +func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityLogsOutput) } -type GetNetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } +type GetLoadbalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaNetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetLoadbalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() } -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { +func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { return o } -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { - return o -} - -func (o GetNetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) -} - -func (o GetNetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) -} - -type GetNetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } - -func (GetNetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() -} - -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { +func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { return o } -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { - return o +// Credentials reference for logs. +func (o GetLoadbalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) } -func (o GetNetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaNetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaNetworkRange { - return vs[0].([]GetNetworkAreaNetworkRange)[vs[1].(int)] - }).(GetNetworkAreaNetworkRangeOutput) +// Credentials reference for logs. +func (o GetLoadbalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) } -type GetNetworkAreaRegionIpv4 struct { - // List of DNS Servers/Nameservers. - DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. - DefaultPrefixLength int `pulumi:"defaultPrefixLength"` - // The maximal prefix length for networks in the network area. - MaxPrefixLength int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. - MinPrefixLength int `pulumi:"minPrefixLength"` - // List of Network ranges. - NetworkRanges []GetNetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` - // IPv4 Classless Inter-Domain Routing (CIDR). - TransferNetwork string `pulumi:"transferNetwork"` +type GetLoadbalancerOptionsObservabilityMetrics struct { + // Credentials reference for metrics. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for metrics. + PushUrl string `pulumi:"pushUrl"` } -// GetNetworkAreaRegionIpv4Input is an input type that accepts GetNetworkAreaRegionIpv4Args and GetNetworkAreaRegionIpv4Output values. -// You can construct a concrete instance of `GetNetworkAreaRegionIpv4Input` via: +// GetLoadbalancerOptionsObservabilityMetricsInput is an input type that accepts GetLoadbalancerOptionsObservabilityMetricsArgs and GetLoadbalancerOptionsObservabilityMetricsOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityMetricsInput` via: // -// GetNetworkAreaRegionIpv4Args{...} -type GetNetworkAreaRegionIpv4Input interface { +// GetLoadbalancerOptionsObservabilityMetricsArgs{...} +type GetLoadbalancerOptionsObservabilityMetricsInput interface { pulumi.Input - ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output - ToGetNetworkAreaRegionIpv4OutputWithContext(context.Context) GetNetworkAreaRegionIpv4Output + ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput + ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput } -type GetNetworkAreaRegionIpv4Args struct { - // List of DNS Servers/Nameservers. - DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. - DefaultPrefixLength pulumi.IntInput `pulumi:"defaultPrefixLength"` - // The maximal prefix length for networks in the network area. - MaxPrefixLength pulumi.IntInput `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. - MinPrefixLength pulumi.IntInput `pulumi:"minPrefixLength"` - // List of Network ranges. - NetworkRanges GetNetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` - // IPv4 Classless Inter-Domain Routing (CIDR). - TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` +type GetLoadbalancerOptionsObservabilityMetricsArgs struct { + // Credentials reference for metrics. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for metrics. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` } -func (GetNetworkAreaRegionIpv4Args) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() +func (GetLoadbalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { - return i.ToGetNetworkAreaRegionIpv4OutputWithContext(context.Background()) +func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { + return i.ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) } -func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4Output) +func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityMetricsOutput) } -type GetNetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } +type GetLoadbalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaRegionIpv4Output) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() +func (GetLoadbalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { return o } -func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { return o } -// List of DNS Servers/Nameservers. -func (o GetNetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) -} - -// The default prefix length for networks in the network area. -func (o GetNetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) -} - -// The maximal prefix length for networks in the network area. -func (o GetNetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MaxPrefixLength }).(pulumi.IntOutput) -} - -// The minimal prefix length for networks in the network area. -func (o GetNetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MinPrefixLength }).(pulumi.IntOutput) -} - -// List of Network ranges. -func (o GetNetworkAreaRegionIpv4Output) NetworkRanges() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []GetNetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) +// Credentials reference for metrics. +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) } -// IPv4 Classless Inter-Domain Routing (CIDR). -func (o GetNetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) +// Credentials reference for metrics. +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) } -type GetNetworkAreaRegionIpv4NetworkRange struct { - NetworkRangeId string `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - Prefix string `pulumi:"prefix"` +type GetLoadbalancerTargetPool struct { + ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` + // Target pool name. + Name string `pulumi:"name"` + // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. + SessionPersistence GetLoadbalancerTargetPoolSessionPersistence `pulumi:"sessionPersistence"` + // Identical port number where each target listens for traffic. + TargetPort int `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 1000. + Targets []GetLoadbalancerTargetPoolTarget `pulumi:"targets"` } -// GetNetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArgs and GetNetworkAreaRegionIpv4NetworkRangeOutput values. -// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeInput` via: +// GetLoadbalancerTargetPoolInput is an input type that accepts GetLoadbalancerTargetPoolArgs and GetLoadbalancerTargetPoolOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolInput` via: // -// GetNetworkAreaRegionIpv4NetworkRangeArgs{...} -type GetNetworkAreaRegionIpv4NetworkRangeInput interface { +// GetLoadbalancerTargetPoolArgs{...} +type GetLoadbalancerTargetPoolInput interface { pulumi.Input - ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput - ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput + ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput + ToGetLoadbalancerTargetPoolOutputWithContext(context.Context) GetLoadbalancerTargetPoolOutput } -type GetNetworkAreaRegionIpv4NetworkRangeArgs struct { - NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - Prefix pulumi.StringInput `pulumi:"prefix"` +type GetLoadbalancerTargetPoolArgs struct { + ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` + // Target pool name. + Name pulumi.StringInput `pulumi:"name"` + // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. + SessionPersistence GetLoadbalancerTargetPoolSessionPersistenceInput `pulumi:"sessionPersistence"` + // Identical port number where each target listens for traffic. + TargetPort pulumi.IntInput `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 1000. + Targets GetLoadbalancerTargetPoolTargetArrayInput `pulumi:"targets"` } -func (GetNetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (GetLoadbalancerTargetPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() } -func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { - return i.ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { + return i.ToGetLoadbalancerTargetPoolOutputWithContext(context.Background()) } -func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeOutput) +func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolOutput) } -// GetNetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArray and GetNetworkAreaRegionIpv4NetworkRangeArrayOutput values. -// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeArrayInput` via: +// GetLoadbalancerTargetPoolArrayInput is an input type that accepts GetLoadbalancerTargetPoolArray and GetLoadbalancerTargetPoolArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolArrayInput` via: // -// GetNetworkAreaRegionIpv4NetworkRangeArray{ GetNetworkAreaRegionIpv4NetworkRangeArgs{...} } -type GetNetworkAreaRegionIpv4NetworkRangeArrayInput interface { +// GetLoadbalancerTargetPoolArray{ GetLoadbalancerTargetPoolArgs{...} } +type GetLoadbalancerTargetPoolArrayInput interface { pulumi.Input - ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput - ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput + ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput + ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolArrayOutput } -type GetNetworkAreaRegionIpv4NetworkRangeArray []GetNetworkAreaRegionIpv4NetworkRangeInput +type GetLoadbalancerTargetPoolArray []GetLoadbalancerTargetPoolInput -func (GetNetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (GetLoadbalancerTargetPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() } -func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return i.ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { + return i.ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Background()) } -func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) +func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolArrayOutput) } -type GetNetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (GetLoadbalancerTargetPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() } -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { +func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { return o } -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { +func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { return o } -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) +func (o GetLoadbalancerTargetPoolOutput) ActiveHealthCheck() GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolActiveHealthCheck { + return v.ActiveHealthCheck + }).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) } -// Classless Inter-Domain Routing (CIDR). -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +// Target pool name. +func (o GetLoadbalancerTargetPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) } -type GetNetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } +// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. +func (o GetLoadbalancerTargetPoolOutput) SessionPersistence() GetLoadbalancerTargetPoolSessionPersistenceOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolSessionPersistence { + return v.SessionPersistence + }).(GetLoadbalancerTargetPoolSessionPersistenceOutput) +} -func (GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +// Identical port number where each target listens for traffic. +func (o GetLoadbalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) } -func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o +// List of all targets which will be used in the pool. Limited to 1000. +func (o GetLoadbalancerTargetPoolOutput) Targets() GetLoadbalancerTargetPoolTargetArrayOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) []GetLoadbalancerTargetPoolTarget { return v.Targets }).(GetLoadbalancerTargetPoolTargetArrayOutput) } -func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o +type GetLoadbalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetLoadbalancerTargetPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() } -func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaRegionIpv4NetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaRegionIpv4NetworkRange { - return vs[0].([]GetNetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] - }).(GetNetworkAreaRegionIpv4NetworkRangeOutput) +func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { + return o } -type GetNetworkAreaRouteDestination struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. - Type string `pulumi:"type"` - // An CIDR string. - Value string `pulumi:"value"` +func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { + return o } -// GetNetworkAreaRouteDestinationInput is an input type that accepts GetNetworkAreaRouteDestinationArgs and GetNetworkAreaRouteDestinationOutput values. -// You can construct a concrete instance of `GetNetworkAreaRouteDestinationInput` via: +func (o GetLoadbalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPool { + return vs[0].([]GetLoadbalancerTargetPool)[vs[1].(int)] + }).(GetLoadbalancerTargetPoolOutput) +} + +type GetLoadbalancerTargetPoolActiveHealthCheck struct { + // Healthy threshold of the health checking. + HealthyThreshold int `pulumi:"healthyThreshold"` + // Interval duration of health checking in seconds. + Interval string `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter string `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout string `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +} + +// GetLoadbalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetLoadbalancerTargetPoolActiveHealthCheckArgs and GetLoadbalancerTargetPoolActiveHealthCheckOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolActiveHealthCheckInput` via: // -// GetNetworkAreaRouteDestinationArgs{...} -type GetNetworkAreaRouteDestinationInput interface { +// GetLoadbalancerTargetPoolActiveHealthCheckArgs{...} +type GetLoadbalancerTargetPoolActiveHealthCheckInput interface { pulumi.Input - ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput - ToGetNetworkAreaRouteDestinationOutputWithContext(context.Context) GetNetworkAreaRouteDestinationOutput + ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput + ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput } -type GetNetworkAreaRouteDestinationArgs struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. - Type pulumi.StringInput `pulumi:"type"` - // An CIDR string. - Value pulumi.StringInput `pulumi:"value"` +type GetLoadbalancerTargetPoolActiveHealthCheckArgs struct { + // Healthy threshold of the health checking. + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + // Interval duration of health checking in seconds. + Interval pulumi.StringInput `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout pulumi.StringInput `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (GetNetworkAreaRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() +func (GetLoadbalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { - return i.ToGetNetworkAreaRouteDestinationOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return i.ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) } -func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteDestinationOutput) +func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) } -type GetNetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() +func (GetLoadbalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { return o } -func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { return o } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. -func (o GetNetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) +// Healthy threshold of the health checking. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) } -// An CIDR string. -func (o GetNetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) +// Interval duration of health checking in seconds. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) } -type GetNetworkAreaRouteNextHop struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type string `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). - Value string `pulumi:"value"` +// Interval duration threshold of the health checking in seconds. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) } -// GetNetworkAreaRouteNextHopInput is an input type that accepts GetNetworkAreaRouteNextHopArgs and GetNetworkAreaRouteNextHopOutput values. -// You can construct a concrete instance of `GetNetworkAreaRouteNextHopInput` via: +// Active health checking timeout duration in seconds. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) +} + +// Unhealthy threshold of the health checking. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +} + +type GetLoadbalancerTargetPoolSessionPersistence struct { + // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. + UseSourceIpAddress bool `pulumi:"useSourceIpAddress"` +} + +// GetLoadbalancerTargetPoolSessionPersistenceInput is an input type that accepts GetLoadbalancerTargetPoolSessionPersistenceArgs and GetLoadbalancerTargetPoolSessionPersistenceOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolSessionPersistenceInput` via: // -// GetNetworkAreaRouteNextHopArgs{...} -type GetNetworkAreaRouteNextHopInput interface { +// GetLoadbalancerTargetPoolSessionPersistenceArgs{...} +type GetLoadbalancerTargetPoolSessionPersistenceInput interface { pulumi.Input - ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput - ToGetNetworkAreaRouteNextHopOutputWithContext(context.Context) GetNetworkAreaRouteNextHopOutput + ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput + ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput } -type GetNetworkAreaRouteNextHopArgs struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type pulumi.StringInput `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). - Value pulumi.StringInput `pulumi:"value"` +type GetLoadbalancerTargetPoolSessionPersistenceArgs struct { + // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. + UseSourceIpAddress pulumi.BoolInput `pulumi:"useSourceIpAddress"` } -func (GetNetworkAreaRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() +func (GetLoadbalancerTargetPoolSessionPersistenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { - return i.ToGetNetworkAreaRouteNextHopOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { + return i.ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Background()) } -func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteNextHopOutput) +func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolSessionPersistenceOutput) } -type GetNetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolSessionPersistenceOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() +func (GetLoadbalancerTargetPoolSessionPersistenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { +func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { return o } -func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { +func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { return o } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o GetNetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) -} - -// Either IPv4 or IPv6 (not set for blackhole and internet). -func (o GetNetworkAreaRouteNextHopOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. +func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolSessionPersistence) bool { return v.UseSourceIpAddress }).(pulumi.BoolOutput) } -type GetObservabilityAlertgroupRule struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert string `pulumi:"alert"` - // A map of key:value. Annotations to add or overwrite for each alert - Annotations map[string]string `pulumi:"annotations"` - // The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. - Expression string `pulumi:"expression"` - // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s - For string `pulumi:"for"` - // A map of key:value. Labels to add or overwrite for each alert - Labels map[string]string `pulumi:"labels"` - // The name of the metric. It's the identifier and must be unique in the group. - Record string `pulumi:"record"` +type GetLoadbalancerTargetPoolTarget struct { + // Target display name + DisplayName string `pulumi:"displayName"` + // Target IP + Ip string `pulumi:"ip"` } -// GetObservabilityAlertgroupRuleInput is an input type that accepts GetObservabilityAlertgroupRuleArgs and GetObservabilityAlertgroupRuleOutput values. -// You can construct a concrete instance of `GetObservabilityAlertgroupRuleInput` via: +// GetLoadbalancerTargetPoolTargetInput is an input type that accepts GetLoadbalancerTargetPoolTargetArgs and GetLoadbalancerTargetPoolTargetOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetInput` via: // -// GetObservabilityAlertgroupRuleArgs{...} -type GetObservabilityAlertgroupRuleInput interface { +// GetLoadbalancerTargetPoolTargetArgs{...} +type GetLoadbalancerTargetPoolTargetInput interface { pulumi.Input - ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput - ToGetObservabilityAlertgroupRuleOutputWithContext(context.Context) GetObservabilityAlertgroupRuleOutput + ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput + ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetOutput } -type GetObservabilityAlertgroupRuleArgs struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert pulumi.StringInput `pulumi:"alert"` - // A map of key:value. Annotations to add or overwrite for each alert - Annotations pulumi.StringMapInput `pulumi:"annotations"` - // The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. - Expression pulumi.StringInput `pulumi:"expression"` - // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s - For pulumi.StringInput `pulumi:"for"` - // A map of key:value. Labels to add or overwrite for each alert - Labels pulumi.StringMapInput `pulumi:"labels"` - // The name of the metric. It's the identifier and must be unique in the group. - Record pulumi.StringInput `pulumi:"record"` +type GetLoadbalancerTargetPoolTargetArgs struct { + // Target display name + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Target IP + Ip pulumi.StringInput `pulumi:"ip"` } -func (GetObservabilityAlertgroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { - return i.ToGetObservabilityAlertgroupRuleOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { + return i.ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Background()) } -func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleOutput) +func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetOutput) } -// GetObservabilityAlertgroupRuleArrayInput is an input type that accepts GetObservabilityAlertgroupRuleArray and GetObservabilityAlertgroupRuleArrayOutput values. -// You can construct a concrete instance of `GetObservabilityAlertgroupRuleArrayInput` via: +// GetLoadbalancerTargetPoolTargetArrayInput is an input type that accepts GetLoadbalancerTargetPoolTargetArray and GetLoadbalancerTargetPoolTargetArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetArrayInput` via: // -// GetObservabilityAlertgroupRuleArray{ GetObservabilityAlertgroupRuleArgs{...} } -type GetObservabilityAlertgroupRuleArrayInput interface { +// GetLoadbalancerTargetPoolTargetArray{ GetLoadbalancerTargetPoolTargetArgs{...} } +type GetLoadbalancerTargetPoolTargetArrayInput interface { pulumi.Input - ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput - ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityAlertgroupRuleArrayOutput + ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput + ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetArrayOutput } -type GetObservabilityAlertgroupRuleArray []GetObservabilityAlertgroupRuleInput +type GetLoadbalancerTargetPoolTargetArray []GetLoadbalancerTargetPoolTargetInput -func (GetObservabilityAlertgroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { - return i.ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { + return i.ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Background()) } -func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleArrayOutput) +func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetArrayOutput) } -type GetObservabilityAlertgroupRuleOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } -func (GetObservabilityAlertgroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { +func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { return o } -func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { +func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { return o } -// The name of the alert rule. Is the identifier and must be unique in the group. -func (o GetObservabilityAlertgroupRuleOutput) Alert() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Alert }).(pulumi.StringOutput) -} - -// A map of key:value. Annotations to add or overwrite for each alert -func (o GetObservabilityAlertgroupRuleOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) -} - -// The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. -func (o GetObservabilityAlertgroupRuleOutput) Expression() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Expression }).(pulumi.StringOutput) -} - -// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s -func (o GetObservabilityAlertgroupRuleOutput) For() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.For }).(pulumi.StringOutput) -} - -// A map of key:value. Labels to add or overwrite for each alert -func (o GetObservabilityAlertgroupRuleOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +// Target display name +func (o GetLoadbalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) } -// The name of the metric. It's the identifier and must be unique in the group. -func (o GetObservabilityAlertgroupRuleOutput) Record() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Record }).(pulumi.StringOutput) +// Target IP +func (o GetLoadbalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) } -type GetObservabilityAlertgroupRuleArrayOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } -func (GetObservabilityAlertgroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { +func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { return o } -func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { +func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { return o } -func (o GetObservabilityAlertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityAlertgroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityAlertgroupRule { - return vs[0].([]GetObservabilityAlertgroupRule)[vs[1].(int)] - }).(GetObservabilityAlertgroupRuleOutput) +func (o GetLoadbalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPoolTarget { + return vs[0].([]GetLoadbalancerTargetPoolTarget)[vs[1].(int)] + }).(GetLoadbalancerTargetPoolTargetOutput) } -type GetObservabilityInstanceAlertConfig struct { - // Global configuration for the alerts. - Global GetObservabilityInstanceAlertConfigGlobal `pulumi:"global"` - // List of alert receivers. - Receivers []GetObservabilityInstanceAlertConfigReceiver `pulumi:"receivers"` - // The route for the alert. - Route GetObservabilityInstanceAlertConfigRoute `pulumi:"route"` +type GetLogmeInstanceParameters struct { + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + FluentdTcp int `pulumi:"fluentdTcp"` + FluentdTls int `pulumi:"fluentdTls"` + FluentdTlsCiphers string `pulumi:"fluentdTlsCiphers"` + FluentdTlsMaxVersion string `pulumi:"fluentdTlsMaxVersion"` + FluentdTlsMinVersion string `pulumi:"fluentdTlsMinVersion"` + FluentdTlsVersion string `pulumi:"fluentdTlsVersion"` + FluentdUdp int `pulumi:"fluentdUdp"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite string `pulumi:"graphite"` + // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. + IsmDeletionAfter string `pulumi:"ismDeletionAfter"` + IsmJitter float64 `pulumi:"ismJitter"` + // Jitter of the execution time. + IsmJobInterval int `pulumi:"ismJobInterval"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace int `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + OpensearchTlsCiphers []string `pulumi:"opensearchTlsCiphers"` + OpensearchTlsProtocols []string `pulumi:"opensearchTlsProtocols"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` } -// GetObservabilityInstanceAlertConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigArgs and GetObservabilityInstanceAlertConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigInput` via: +// GetLogmeInstanceParametersInput is an input type that accepts GetLogmeInstanceParametersArgs and GetLogmeInstanceParametersOutput values. +// You can construct a concrete instance of `GetLogmeInstanceParametersInput` via: // -// GetObservabilityInstanceAlertConfigArgs{...} -type GetObservabilityInstanceAlertConfigInput interface { +// GetLogmeInstanceParametersArgs{...} +type GetLogmeInstanceParametersInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput - ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigOutput + ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput + ToGetLogmeInstanceParametersOutputWithContext(context.Context) GetLogmeInstanceParametersOutput } -type GetObservabilityInstanceAlertConfigArgs struct { - // Global configuration for the alerts. - Global GetObservabilityInstanceAlertConfigGlobalInput `pulumi:"global"` - // List of alert receivers. - Receivers GetObservabilityInstanceAlertConfigReceiverArrayInput `pulumi:"receivers"` - // The route for the alert. - Route GetObservabilityInstanceAlertConfigRouteInput `pulumi:"route"` +type GetLogmeInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + FluentdTcp pulumi.IntInput `pulumi:"fluentdTcp"` + FluentdTls pulumi.IntInput `pulumi:"fluentdTls"` + FluentdTlsCiphers pulumi.StringInput `pulumi:"fluentdTlsCiphers"` + FluentdTlsMaxVersion pulumi.StringInput `pulumi:"fluentdTlsMaxVersion"` + FluentdTlsMinVersion pulumi.StringInput `pulumi:"fluentdTlsMinVersion"` + FluentdTlsVersion pulumi.StringInput `pulumi:"fluentdTlsVersion"` + FluentdUdp pulumi.IntInput `pulumi:"fluentdUdp"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite pulumi.StringInput `pulumi:"graphite"` + // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. + IsmDeletionAfter pulumi.StringInput `pulumi:"ismDeletionAfter"` + IsmJitter pulumi.Float64Input `pulumi:"ismJitter"` + // Jitter of the execution time. + IsmJobInterval pulumi.IntInput `pulumi:"ismJobInterval"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + OpensearchTlsCiphers pulumi.StringArrayInput `pulumi:"opensearchTlsCiphers"` + OpensearchTlsProtocols pulumi.StringArrayInput `pulumi:"opensearchTlsProtocols"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` } -func (GetObservabilityInstanceAlertConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() +func (GetLogmeInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Background()) +func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { + return i.ToGetLogmeInstanceParametersOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigOutput) +func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogmeInstanceParametersOutput) } -type GetObservabilityInstanceAlertConfigOutput struct{ *pulumi.OutputState } +type GetLogmeInstanceParametersOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() +func (GetLogmeInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { +func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { return o } -func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { +func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { return o } -// Global configuration for the alerts. -func (o GetObservabilityInstanceAlertConfigOutput) Global() GetObservabilityInstanceAlertConfigGlobalOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigGlobal { return v.Global }).(GetObservabilityInstanceAlertConfigGlobalOutput) +// Enable monitoring. +func (o GetLogmeInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) } -// List of alert receivers. -func (o GetObservabilityInstanceAlertConfigOutput) Receivers() GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) []GetObservabilityInstanceAlertConfigReceiver { - return v.Receivers - }).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) +func (o GetLogmeInstanceParametersOutput) FluentdTcp() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTcp }).(pulumi.IntOutput) } -// The route for the alert. -func (o GetObservabilityInstanceAlertConfigOutput) Route() GetObservabilityInstanceAlertConfigRouteOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigRoute { return v.Route }).(GetObservabilityInstanceAlertConfigRouteOutput) +func (o GetLogmeInstanceParametersOutput) FluentdTls() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTls }).(pulumi.IntOutput) } -type GetObservabilityInstanceAlertConfigGlobal struct { - // The API key for OpsGenie. - OpsgenieApiKey string `pulumi:"opsgenieApiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - OpsgenieApiUrl string `pulumi:"opsgenieApiUrl"` - // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. - ResolveTimeout string `pulumi:"resolveTimeout"` - // SMTP authentication information. Must be a valid email address - SmtpAuthIdentity string `pulumi:"smtpAuthIdentity"` - // SMTP Auth using LOGIN and PLAIN. - SmtpAuthPassword string `pulumi:"smtpAuthPassword"` - // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. - SmtpAuthUsername string `pulumi:"smtpAuthUsername"` - // The default SMTP From header field. Must be a valid email address - SmtpFrom string `pulumi:"smtpFrom"` - // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). - SmtpSmartHost string `pulumi:"smtpSmartHost"` +func (o GetLogmeInstanceParametersOutput) FluentdTlsCiphers() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsCiphers }).(pulumi.StringOutput) } -// GetObservabilityInstanceAlertConfigGlobalInput is an input type that accepts GetObservabilityInstanceAlertConfigGlobalArgs and GetObservabilityInstanceAlertConfigGlobalOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigGlobalInput` via: -// -// GetObservabilityInstanceAlertConfigGlobalArgs{...} -type GetObservabilityInstanceAlertConfigGlobalInput interface { - pulumi.Input +func (o GetLogmeInstanceParametersOutput) FluentdTlsMaxVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMaxVersion }).(pulumi.StringOutput) +} - ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput - ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigGlobalOutput +func (o GetLogmeInstanceParametersOutput) FluentdTlsMinVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMinVersion }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigGlobalArgs struct { - // The API key for OpsGenie. - OpsgenieApiKey pulumi.StringInput `pulumi:"opsgenieApiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - OpsgenieApiUrl pulumi.StringInput `pulumi:"opsgenieApiUrl"` - // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. - ResolveTimeout pulumi.StringInput `pulumi:"resolveTimeout"` - // SMTP authentication information. Must be a valid email address - SmtpAuthIdentity pulumi.StringInput `pulumi:"smtpAuthIdentity"` - // SMTP Auth using LOGIN and PLAIN. - SmtpAuthPassword pulumi.StringInput `pulumi:"smtpAuthPassword"` - // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. - SmtpAuthUsername pulumi.StringInput `pulumi:"smtpAuthUsername"` - // The default SMTP From header field. Must be a valid email address - SmtpFrom pulumi.StringInput `pulumi:"smtpFrom"` - // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). - SmtpSmartHost pulumi.StringInput `pulumi:"smtpSmartHost"` +func (o GetLogmeInstanceParametersOutput) FluentdTlsVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsVersion }).(pulumi.StringOutput) } -func (GetObservabilityInstanceAlertConfigGlobalArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +func (o GetLogmeInstanceParametersOutput) FluentdUdp() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdUdp }).(pulumi.IntOutput) } -func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { - return i.ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Background()) +// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). +func (o GetLogmeInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) } -func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigGlobalOutput) +// Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. +func (o GetLogmeInstanceParametersOutput) IsmDeletionAfter() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.IsmDeletionAfter }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigGlobalOutput struct{ *pulumi.OutputState } +func (o GetLogmeInstanceParametersOutput) IsmJitter() pulumi.Float64Output { + return o.ApplyT(func(v GetLogmeInstanceParameters) float64 { return v.IsmJitter }).(pulumi.Float64Output) +} -func (GetObservabilityInstanceAlertConfigGlobalOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +// Jitter of the execution time. +func (o GetLogmeInstanceParametersOutput) IsmJobInterval() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.IsmJobInterval }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { - return o +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o GetLogmeInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { - return o +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o GetLogmeInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) } -// The API key for OpsGenie. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiKey() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiKey }).(pulumi.StringOutput) +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetLogmeInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) } -// The host to send OpsGenie API requests to. Must be a valid URL -func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiUrl }).(pulumi.StringOutput) +// The frequency in seconds at which metrics are emitted (in seconds). +func (o GetLogmeInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) } -// The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) ResolveTimeout() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.ResolveTimeout }).(pulumi.StringOutput) +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. +func (o GetLogmeInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) } -// SMTP authentication information. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthIdentity() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthIdentity }).(pulumi.StringOutput) +// The ID of the STACKIT monitoring instance. +func (o GetLogmeInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) } -// SMTP Auth using LOGIN and PLAIN. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthPassword() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthPassword }).(pulumi.StringOutput) +func (o GetLogmeInstanceParametersOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsCiphers }).(pulumi.StringArrayOutput) } -// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthUsername() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthUsername }).(pulumi.StringOutput) +func (o GetLogmeInstanceParametersOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsProtocols }).(pulumi.StringArrayOutput) } -// The default SMTP From header field. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpFrom() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpFrom }).(pulumi.StringOutput) +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetLogmeInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) } -// The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpSmartHost() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpSmartHost }).(pulumi.StringOutput) +// List of syslog servers to send logs to. +func (o GetLogmeInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) } -type GetObservabilityInstanceAlertConfigReceiver struct { - // List of email configurations. - EmailConfigs []GetObservabilityInstanceAlertConfigReceiverEmailConfig `pulumi:"emailConfigs"` - // Name of the receiver. - Name string `pulumi:"name"` - // List of OpsGenie configurations. - OpsgenieConfigs []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig `pulumi:"opsgenieConfigs"` - // List of Webhooks configurations. - WebhooksConfigs []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig `pulumi:"webhooksConfigs"` +type GetMariadbInstanceParameters struct { + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + Graphite string `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` } -// GetObservabilityInstanceAlertConfigReceiverInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArgs and GetObservabilityInstanceAlertConfigReceiverOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverInput` via: +// GetMariadbInstanceParametersInput is an input type that accepts GetMariadbInstanceParametersArgs and GetMariadbInstanceParametersOutput values. +// You can construct a concrete instance of `GetMariadbInstanceParametersInput` via: // -// GetObservabilityInstanceAlertConfigReceiverArgs{...} -type GetObservabilityInstanceAlertConfigReceiverInput interface { +// GetMariadbInstanceParametersArgs{...} +type GetMariadbInstanceParametersInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput - ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOutput + ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput + ToGetMariadbInstanceParametersOutputWithContext(context.Context) GetMariadbInstanceParametersOutput } -type GetObservabilityInstanceAlertConfigReceiverArgs struct { - // List of email configurations. - EmailConfigs GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput `pulumi:"emailConfigs"` - // Name of the receiver. - Name pulumi.StringInput `pulumi:"name"` - // List of OpsGenie configurations. - OpsgenieConfigs GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput `pulumi:"opsgenieConfigs"` - // List of Webhooks configurations. - WebhooksConfigs GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput `pulumi:"webhooksConfigs"` +type GetMariadbInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + Graphite pulumi.StringInput `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` } -func (GetObservabilityInstanceAlertConfigReceiverArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (GetMariadbInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Background()) +func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { + return i.ToGetMariadbInstanceParametersOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOutput) +func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMariadbInstanceParametersOutput) } -// GetObservabilityInstanceAlertConfigReceiverArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArray and GetObservabilityInstanceAlertConfigReceiverArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverArrayInput` via: -// -// GetObservabilityInstanceAlertConfigReceiverArray{ GetObservabilityInstanceAlertConfigReceiverArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverArrayInput interface { - pulumi.Input +type GetMariadbInstanceParametersOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput +func (GetMariadbInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigReceiverArray []GetObservabilityInstanceAlertConfigReceiverInput - -func (GetObservabilityInstanceAlertConfigReceiverArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Background()) +func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) +// Enable monitoring. +func (o GetMariadbInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) } -type GetObservabilityInstanceAlertConfigReceiverOutput struct{ *pulumi.OutputState } +func (o GetMariadbInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +} -func (GetObservabilityInstanceAlertConfigReceiverOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetMariadbInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { - return o +// The frequency in seconds at which metrics are emitted. +func (o GetMariadbInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { - 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 GetMariadbInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) } -// List of email configurations. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) EmailConfigs() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverEmailConfig { - return v.EmailConfigs - }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) +// The ID of the STACKIT monitoring instance. +func (o GetMariadbInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) } -// Name of the receiver. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) string { return v.Name }).(pulumi.StringOutput) +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetMariadbInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) } -// List of OpsGenie configurations. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) OpsgenieConfigs() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { - return v.OpsgenieConfigs - }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +// List of syslog servers to send logs to. +func (o GetMariadbInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) } -// List of Webhooks configurations. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) WebhooksConfigs() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { - return v.WebhooksConfigs - }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) +type GetMongodbflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Ram int `pulumi:"ram"` } -type GetObservabilityInstanceAlertConfigReceiverArrayOutput struct{ *pulumi.OutputState } +// GetMongodbflexInstanceFlavorInput is an input type that accepts GetMongodbflexInstanceFlavorArgs and GetMongodbflexInstanceFlavorOutput values. +// You can construct a concrete instance of `GetMongodbflexInstanceFlavorInput` via: +// +// GetMongodbflexInstanceFlavorArgs{...} +type GetMongodbflexInstanceFlavorInput interface { + pulumi.Input -func (GetObservabilityInstanceAlertConfigReceiverArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() + ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput + ToGetMongodbflexInstanceFlavorOutputWithContext(context.Context) GetMongodbflexInstanceFlavorOutput } -func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return o +type GetMongodbflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` } -func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return o +func (GetMongodbflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiver { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiver)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverOutput) +func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { + return i.ToGetMongodbflexInstanceFlavorOutputWithContext(context.Background()) } -type GetObservabilityInstanceAlertConfigReceiverEmailConfig struct { - // SMTP authentication information. Must be a valid email address - AuthIdentity string `pulumi:"authIdentity"` - // SMTP authentication password. - AuthPassword string `pulumi:"authPassword"` - // SMTP authentication username. - AuthUsername string `pulumi:"authUsername"` - // The sender email address. Must be a valid email address - From string `pulumi:"from"` - // Whether to notify about resolved alerts. - SendResolved bool `pulumi:"sendResolved"` - // The SMTP host through which emails are sent. - SmartHost string `pulumi:"smartHost"` - // The email address to send notifications to. Must be a valid email address - To string `pulumi:"to"` +func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceFlavorOutput) } -// GetObservabilityInstanceAlertConfigReceiverEmailConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs and GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigInput` via: -// -// GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} -type GetObservabilityInstanceAlertConfigReceiverEmailConfigInput interface { - pulumi.Input +type GetMongodbflexInstanceFlavorOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput +func (GetMongodbflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs struct { - // SMTP authentication information. Must be a valid email address - AuthIdentity pulumi.StringInput `pulumi:"authIdentity"` - // SMTP authentication password. - AuthPassword pulumi.StringInput `pulumi:"authPassword"` - // SMTP authentication username. - AuthUsername pulumi.StringInput `pulumi:"authUsername"` - // The sender email address. Must be a valid email address - From pulumi.StringInput `pulumi:"from"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolInput `pulumi:"sendResolved"` - // The SMTP host through which emails are sent. - SmartHost pulumi.StringInput `pulumi:"smartHost"` - // The email address to send notifications to. Must be a valid email address - To pulumi.StringInput `pulumi:"to"` +func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { + return o } -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Background()) +func (o GetMongodbflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +func (o GetMongodbflexInstanceFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) } -// GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArray and GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput` via: +func (o GetMongodbflexInstanceFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetMongodbflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +} + +type GetMongodbflexInstanceOptions struct { + // The number of days that daily backups will be retained. + DailySnapshotRetentionDays int `pulumi:"dailySnapshotRetentionDays"` + // The number of months that monthly backups will be retained. + MonthlySnapshotRetentionMonths int `pulumi:"monthlySnapshotRetentionMonths"` + // The number of hours back in time the point-in-time recovery feature will be able to recover. + PointInTimeWindowHours int `pulumi:"pointInTimeWindowHours"` + // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. + SnapshotRetentionDays int `pulumi:"snapshotRetentionDays"` + // Type of the MongoDB Flex instance. + Type string `pulumi:"type"` + // The number of weeks that weekly backups will be retained. + WeeklySnapshotRetentionWeeks int `pulumi:"weeklySnapshotRetentionWeeks"` +} + +// GetMongodbflexInstanceOptionsInput is an input type that accepts GetMongodbflexInstanceOptionsArgs and GetMongodbflexInstanceOptionsOutput values. +// You can construct a concrete instance of `GetMongodbflexInstanceOptionsInput` via: // -// GetObservabilityInstanceAlertConfigReceiverEmailConfigArray{ GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput interface { +// GetMongodbflexInstanceOptionsArgs{...} +type GetMongodbflexInstanceOptionsInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput + ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput + ToGetMongodbflexInstanceOptionsOutputWithContext(context.Context) GetMongodbflexInstanceOptionsOutput } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArray []GetObservabilityInstanceAlertConfigReceiverEmailConfigInput +type GetMongodbflexInstanceOptionsArgs struct { + // The number of days that daily backups will be retained. + DailySnapshotRetentionDays pulumi.IntInput `pulumi:"dailySnapshotRetentionDays"` + // The number of months that monthly backups will be retained. + MonthlySnapshotRetentionMonths pulumi.IntInput `pulumi:"monthlySnapshotRetentionMonths"` + // The number of hours back in time the point-in-time recovery feature will be able to recover. + PointInTimeWindowHours pulumi.IntInput `pulumi:"pointInTimeWindowHours"` + // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. + SnapshotRetentionDays pulumi.IntInput `pulumi:"snapshotRetentionDays"` + // Type of the MongoDB Flex instance. + Type pulumi.StringInput `pulumi:"type"` + // The number of weeks that weekly backups will be retained. + WeeklySnapshotRetentionWeeks pulumi.IntInput `pulumi:"weeklySnapshotRetentionWeeks"` +} -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (GetMongodbflexInstanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Background()) +func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { + return i.ToGetMongodbflexInstanceOptionsOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) +func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceOptionsOutput) } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput struct{ *pulumi.OutputState } +type GetMongodbflexInstanceOptionsOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (GetMongodbflexInstanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { +func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { +func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { return o } -// SMTP authentication information. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthIdentity() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthIdentity }).(pulumi.StringOutput) +// The number of days that daily backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.DailySnapshotRetentionDays }).(pulumi.IntOutput) } -// SMTP authentication password. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthPassword() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthPassword }).(pulumi.StringOutput) +// The number of months that monthly backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntOutput) } -// SMTP authentication username. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthUsername() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthUsername }).(pulumi.StringOutput) +// The number of hours back in time the point-in-time recovery feature will be able to recover. +func (o GetMongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) } -// The sender email address. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) From() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.From }).(pulumi.StringOutput) +// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. +func (o GetMongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.SnapshotRetentionDays }).(pulumi.IntOutput) } -// Whether to notify about resolved alerts. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SendResolved() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +// Type of the MongoDB Flex instance. +func (o GetMongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) } -// The SMTP host through which emails are sent. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SmartHost() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.SmartHost }).(pulumi.StringOutput) +// The number of weeks that weekly backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntOutput) } -// The email address to send notifications to. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) To() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.To }).(pulumi.StringOutput) +type GetMongodbflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput struct{ *pulumi.OutputState } +// GetMongodbflexInstanceStorageInput is an input type that accepts GetMongodbflexInstanceStorageArgs and GetMongodbflexInstanceStorageOutput values. +// You can construct a concrete instance of `GetMongodbflexInstanceStorageInput` via: +// +// GetMongodbflexInstanceStorageArgs{...} +type GetMongodbflexInstanceStorageInput interface { + pulumi.Input -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() + ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput + ToGetMongodbflexInstanceStorageOutputWithContext(context.Context) GetMongodbflexInstanceStorageOutput } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return o +type GetMongodbflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return o +func (GetMongodbflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverEmailConfig { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiverEmailConfig)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { + return i.ToGetMongodbflexInstanceStorageOutputWithContext(context.Background()) } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig struct { - // The API key for OpsGenie. - ApiKey string `pulumi:"apiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - ApiUrl string `pulumi:"apiUrl"` - // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. - Priority string `pulumi:"priority"` - // Whether to notify about resolved alerts. - SendResolved bool `pulumi:"sendResolved"` - // Comma separated list of tags attached to the notifications. - Tags string `pulumi:"tags"` +func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceStorageOutput) } -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput` via: -// -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput interface { - pulumi.Input +type GetMongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput +func (GetMongodbflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs struct { - // The API key for OpsGenie. - ApiKey pulumi.StringInput `pulumi:"apiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - ApiUrl pulumi.StringInput `pulumi:"apiUrl"` - // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. - Priority pulumi.StringInput `pulumi:"priority"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolInput `pulumi:"sendResolved"` - // Comma separated list of tags attached to the notifications. - Tags pulumi.StringInput `pulumi:"tags"` +func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { + return o } -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Background()) +func (o GetMongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) } -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +func (o GetMongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) } -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput` via: +type GetNetworkAreaNetworkRange struct { + NetworkRangeId string `pulumi:"networkRangeId"` + Prefix string `pulumi:"prefix"` +} + +// GetNetworkAreaNetworkRangeInput is an input type that accepts GetNetworkAreaNetworkRangeArgs and GetNetworkAreaNetworkRangeOutput values. +// You can construct a concrete instance of `GetNetworkAreaNetworkRangeInput` via: // -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray{ GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput interface { +// GetNetworkAreaNetworkRangeArgs{...} +type GetNetworkAreaNetworkRangeInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput + ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput + ToGetNetworkAreaNetworkRangeOutputWithContext(context.Context) GetNetworkAreaNetworkRangeOutput } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput - -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() -} - -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Background()) +type GetNetworkAreaNetworkRangeArgs struct { + NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` + Prefix pulumi.StringInput `pulumi:"prefix"` } -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +func (GetNetworkAreaNetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput struct{ *pulumi.OutputState } - -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { + return i.ToGetNetworkAreaNetworkRangeOutputWithContext(context.Background()) } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return o +func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return o -} +// GetNetworkAreaNetworkRangeArrayInput is an input type that accepts GetNetworkAreaNetworkRangeArray and GetNetworkAreaNetworkRangeArrayOutput values. +// You can construct a concrete instance of `GetNetworkAreaNetworkRangeArrayInput` via: +// +// GetNetworkAreaNetworkRangeArray{ GetNetworkAreaNetworkRangeArgs{...} } +type GetNetworkAreaNetworkRangeArrayInput interface { + pulumi.Input -// The API key for OpsGenie. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiKey() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiKey }).(pulumi.StringOutput) + ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput + ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaNetworkRangeArrayOutput } -// The host to send OpsGenie API requests to. Must be a valid URL -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiUrl }).(pulumi.StringOutput) -} +type GetNetworkAreaNetworkRangeArray []GetNetworkAreaNetworkRangeInput -// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Priority() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Priority }).(pulumi.StringOutput) +func (GetNetworkAreaNetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() } -// Whether to notify about resolved alerts. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) SendResolved() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { + return i.ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) } -// Comma separated list of tags attached to the notifications. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Tags() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Tags }).(pulumi.StringOutput) +func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeArrayOutput) } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput struct{ *pulumi.OutputState } +type GetNetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (GetNetworkAreaNetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { +func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { +func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +func (o GetNetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfig struct { - // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. - GoogleChat bool `pulumi:"googleChat"` - // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. - MsTeams bool `pulumi:"msTeams"` - // Whether to notify about resolved alerts. - SendResolved bool `pulumi:"sendResolved"` - // The endpoint to send HTTP POST requests to. Must be a valid URL - Url string `pulumi:"url"` +func (o GetNetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) } -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput` via: -// -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput interface { - pulumi.Input +type GetNetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput +func (GetNetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs struct { - // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. - GoogleChat pulumi.BoolInput `pulumi:"googleChat"` - // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. - MsTeams pulumi.BoolInput `pulumi:"msTeams"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolInput `pulumi:"sendResolved"` - // The endpoint to send HTTP POST requests to. Must be a valid URL - Url pulumi.StringInput `pulumi:"url"` +func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { + return o } -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Background()) +func (o GetNetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaNetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaNetworkRange { + return vs[0].([]GetNetworkAreaNetworkRange)[vs[1].(int)] + }).(GetNetworkAreaNetworkRangeOutput) } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +type GetNetworkAreaRegionIpv4 struct { + // List of DNS Servers/Nameservers. + DefaultNameservers []string `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength int `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength int `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength int `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges []GetNetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork string `pulumi:"transferNetwork"` } -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput` via: +// GetNetworkAreaRegionIpv4Input is an input type that accepts GetNetworkAreaRegionIpv4Args and GetNetworkAreaRegionIpv4Output values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4Input` via: // -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray{ GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput interface { +// GetNetworkAreaRegionIpv4Args{...} +type GetNetworkAreaRegionIpv4Input interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput + ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output + ToGetNetworkAreaRegionIpv4OutputWithContext(context.Context) GetNetworkAreaRegionIpv4Output } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray []GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput +type GetNetworkAreaRegionIpv4Args struct { + // List of DNS Servers/Nameservers. + DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength pulumi.IntInput `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength pulumi.IntInput `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength pulumi.IntInput `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges GetNetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` +} -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (GetNetworkAreaRegionIpv4Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Background()) +func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { + return i.ToGetNetworkAreaRegionIpv4OutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) +func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4Output) } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (GetNetworkAreaRegionIpv4Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { +func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { return o } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { +func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { return o } -// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) GoogleChat() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.GoogleChat }).(pulumi.BoolOutput) +// List of DNS Servers/Nameservers. +func (o GetNetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) } -// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) MsTeams() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.MsTeams }).(pulumi.BoolOutput) +// The default prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) } -// Whether to notify about resolved alerts. -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) SendResolved() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +// The maximal prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MaxPrefixLength }).(pulumi.IntOutput) } -// The endpoint to send HTTP POST requests to. Must be a valid URL -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) string { return v.Url }).(pulumi.StringOutput) +// The minimal prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MinPrefixLength }).(pulumi.IntOutput) } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput struct{ *pulumi.OutputState } - -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +// List of Network ranges. +func (o GetNetworkAreaRegionIpv4Output) NetworkRanges() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []GetNetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o +// IPv4 Classless Inter-Domain Routing (CIDR). +func (o GetNetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o +type GetNetworkAreaRegionIpv4NetworkRange struct { + NetworkRangeId string `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix string `pulumi:"prefix"` } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +// GetNetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArgs and GetNetworkAreaRegionIpv4NetworkRangeOutput values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeInput` via: +// +// GetNetworkAreaRegionIpv4NetworkRangeArgs{...} +type GetNetworkAreaRegionIpv4NetworkRangeInput interface { + pulumi.Input + + ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput + ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput } -type GetObservabilityInstanceAlertConfigRoute struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue bool `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies []string `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval string `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . - GroupWait string `pulumi:"groupWait"` - // The name of the receiver to route the alerts to. - Receiver string `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval string `pulumi:"repeatInterval"` - // List of child routes. - Routes []GetObservabilityInstanceAlertConfigRouteRoute `pulumi:"routes"` +type GetNetworkAreaRegionIpv4NetworkRangeArgs struct { + NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix pulumi.StringInput `pulumi:"prefix"` } -// GetObservabilityInstanceAlertConfigRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteArgs and GetObservabilityInstanceAlertConfigRouteOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteInput` via: +func (GetNetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +} + +func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { + return i.ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) +} + +func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeOutput) +} + +// GetNetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArray and GetNetworkAreaRegionIpv4NetworkRangeArrayOutput values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeArrayInput` via: // -// GetObservabilityInstanceAlertConfigRouteArgs{...} -type GetObservabilityInstanceAlertConfigRouteInput interface { +// GetNetworkAreaRegionIpv4NetworkRangeArray{ GetNetworkAreaRegionIpv4NetworkRangeArgs{...} } +type GetNetworkAreaRegionIpv4NetworkRangeArrayInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput - ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteOutput + ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput + ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput } -type GetObservabilityInstanceAlertConfigRouteArgs struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue pulumi.BoolInput `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval pulumi.StringInput `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . - GroupWait pulumi.StringInput `pulumi:"groupWait"` - // The name of the receiver to route the alerts to. - Receiver pulumi.StringInput `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` - // List of child routes. - Routes GetObservabilityInstanceAlertConfigRouteRouteArrayInput `pulumi:"routes"` -} +type GetNetworkAreaRegionIpv4NetworkRangeArray []GetNetworkAreaRegionIpv4NetworkRangeInput -func (GetObservabilityInstanceAlertConfigRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() +func (GetNetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { - return i.ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Background()) +func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return i.ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteOutput) +func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) } -type GetObservabilityInstanceAlertConfigRouteOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() +func (GetNetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { return o } -func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { return o } -// Whether an alert should continue matching subsequent sibling nodes. -func (o GetObservabilityInstanceAlertConfigRouteOutput) Continue() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) bool { return v.Continue }).(pulumi.BoolOutput) +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) } -// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. -func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupBies() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +// Classless Inter-Domain Routing (CIDR). +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) } -// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) -func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupInterval }).(pulumi.StringOutput) -} +type GetNetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } -// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . -func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupWait() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupWait }).(pulumi.StringOutput) +func (GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -// The name of the receiver to route the alerts to. -func (o GetObservabilityInstanceAlertConfigRouteOutput) Receiver() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.Receiver }).(pulumi.StringOutput) +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + 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 GetObservabilityInstanceAlertConfigRouteOutput) RepeatInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o } -// List of child routes. -func (o GetObservabilityInstanceAlertConfigRouteOutput) Routes() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []GetObservabilityInstanceAlertConfigRouteRoute { - return v.Routes - }).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaRegionIpv4NetworkRange { + return vs[0].([]GetNetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] + }).(GetNetworkAreaRegionIpv4NetworkRangeOutput) } -type GetObservabilityInstanceAlertConfigRouteRoute struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue bool `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies []string `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval string `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) - GroupWait string `pulumi:"groupWait"` - // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - Match map[string]string `pulumi:"match"` - // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - MatchRegex map[string]string `pulumi:"matchRegex"` - // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. - Matchers []string `pulumi:"matchers"` - // The name of the receiver to route the alerts to. - Receiver string `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval string `pulumi:"repeatInterval"` +type GetNetworkAreaRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` } -// GetObservabilityInstanceAlertConfigRouteRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArgs and GetObservabilityInstanceAlertConfigRouteRouteOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteInput` via: +// GetNetworkAreaRouteDestinationInput is an input type that accepts GetNetworkAreaRouteDestinationArgs and GetNetworkAreaRouteDestinationOutput values. +// You can construct a concrete instance of `GetNetworkAreaRouteDestinationInput` via: // -// GetObservabilityInstanceAlertConfigRouteRouteArgs{...} -type GetObservabilityInstanceAlertConfigRouteRouteInput interface { +// GetNetworkAreaRouteDestinationArgs{...} +type GetNetworkAreaRouteDestinationInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput - ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput + ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput + ToGetNetworkAreaRouteDestinationOutputWithContext(context.Context) GetNetworkAreaRouteDestinationOutput } -type GetObservabilityInstanceAlertConfigRouteRouteArgs struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue pulumi.BoolInput `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval pulumi.StringInput `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) - GroupWait pulumi.StringInput `pulumi:"groupWait"` - // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - Match pulumi.StringMapInput `pulumi:"match"` - // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - MatchRegex pulumi.StringMapInput `pulumi:"matchRegex"` - // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. - Matchers pulumi.StringArrayInput `pulumi:"matchers"` - // The name of the receiver to route the alerts to. - Receiver pulumi.StringInput `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` +type GetNetworkAreaRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` } -func (GetObservabilityInstanceAlertConfigRouteRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +func (GetNetworkAreaRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { - return i.ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Background()) +func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { + return i.ToGetNetworkAreaRouteDestinationOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteDestinationOutput) } -// GetObservabilityInstanceAlertConfigRouteRouteArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArray and GetObservabilityInstanceAlertConfigRouteRouteArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteArrayInput` via: -// -// GetObservabilityInstanceAlertConfigRouteRouteArray{ GetObservabilityInstanceAlertConfigRouteRouteArgs{...} } -type GetObservabilityInstanceAlertConfigRouteRouteArrayInput interface { - pulumi.Input +type GetNetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput - ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput +func (GetNetworkAreaRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigRouteRouteArray []GetObservabilityInstanceAlertConfigRouteRouteInput - -func (GetObservabilityInstanceAlertConfigRouteRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { + return o } -func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Background()) +func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { + return o } -func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. +func (o GetNetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigRouteRouteOutput struct{ *pulumi.OutputState } - -func (GetObservabilityInstanceAlertConfigRouteRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +// An CIDR string. +func (o GetNetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { - return o +type GetNetworkAreaRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). + Value string `pulumi:"value"` } -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { - return o -} +// GetNetworkAreaRouteNextHopInput is an input type that accepts GetNetworkAreaRouteNextHopArgs and GetNetworkAreaRouteNextHopOutput values. +// You can construct a concrete instance of `GetNetworkAreaRouteNextHopInput` via: +// +// GetNetworkAreaRouteNextHopArgs{...} +type GetNetworkAreaRouteNextHopInput interface { + pulumi.Input -// Whether an alert should continue matching subsequent sibling nodes. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Continue() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) bool { return v.Continue }).(pulumi.BoolOutput) + ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput + ToGetNetworkAreaRouteNextHopOutputWithContext(context.Context) GetNetworkAreaRouteNextHopOutput } -// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupBies() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +type GetNetworkAreaRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). + Value pulumi.StringInput `pulumi:"value"` } -// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupInterval }).(pulumi.StringOutput) +func (GetNetworkAreaRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() } -// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupWait() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupWait }).(pulumi.StringOutput) +func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { + return i.ToGetNetworkAreaRouteNextHopOutputWithContext(context.Background()) } -// A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead -// -// Deprecated: Use `matchers` in the `routes` instead. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Match() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.Match }).(pulumi.StringMapOutput) -} - -// A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead -// -// Deprecated: Use `matchers` in the `routes` instead. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) MatchRegex() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.MatchRegex }).(pulumi.StringMapOutput) -} - -// A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Matchers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.Matchers }).(pulumi.StringArrayOutput) +func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteNextHopOutput) } -// The name of the receiver to route the alerts to. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Receiver() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.Receiver }).(pulumi.StringOutput) -} +type GetNetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } -// How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) RepeatInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) +func (GetNetworkAreaRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigRouteRouteArrayOutput struct{ *pulumi.OutputState } - -func (GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { + return o } -func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { +func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { return o } -func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o GetNetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigRouteRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigRouteRoute { - return vs[0].([]GetObservabilityInstanceAlertConfigRouteRoute)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +// Either IPv4 or IPv6 (not set for blackhole and internet). +func (o GetNetworkAreaRouteNextHopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Value }).(pulumi.StringOutput) } -type GetObservabilityLogalertgroupRule struct { +type GetObservabilityAlertgroupRule struct { // The name of the alert rule. Is the identifier and must be unique in the group. Alert string `pulumi:"alert"` // A map of key:value. Annotations to add or overwrite for each alert Annotations map[string]string `pulumi:"annotations"` - // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + // 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"` } -// GetObservabilityLogalertgroupRuleInput is an input type that accepts GetObservabilityLogalertgroupRuleArgs and GetObservabilityLogalertgroupRuleOutput values. -// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleInput` via: +// GetObservabilityAlertgroupRuleInput is an input type that accepts GetObservabilityAlertgroupRuleArgs and GetObservabilityAlertgroupRuleOutput values. +// You can construct a concrete instance of `GetObservabilityAlertgroupRuleInput` via: // -// GetObservabilityLogalertgroupRuleArgs{...} -type GetObservabilityLogalertgroupRuleInput interface { +// GetObservabilityAlertgroupRuleArgs{...} +type GetObservabilityAlertgroupRuleInput interface { pulumi.Input - ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput - ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleOutput + ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput + ToGetObservabilityAlertgroupRuleOutputWithContext(context.Context) GetObservabilityAlertgroupRuleOutput } -type GetObservabilityLogalertgroupRuleArgs struct { +type GetObservabilityAlertgroupRuleArgs struct { // The name of the alert rule. Is the identifier and must be unique in the group. Alert pulumi.StringInput `pulumi:"alert"` // A map of key:value. Annotations to add or overwrite for each alert Annotations pulumi.StringMapInput `pulumi:"annotations"` - // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + // The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. Expression pulumi.StringInput `pulumi:"expression"` // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s For pulumi.StringInput `pulumi:"for"` // A map of key:value. Labels to add or overwrite for each alert Labels pulumi.StringMapInput `pulumi:"labels"` + // The name of the metric. It's the identifier and must be unique in the group. + Record pulumi.StringInput `pulumi:"record"` } -func (GetObservabilityLogalertgroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +func (GetObservabilityAlertgroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() } -func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { - return i.ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Background()) +func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { + return i.ToGetObservabilityAlertgroupRuleOutputWithContext(context.Background()) } -func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleOutput) +func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleOutput) } -// GetObservabilityLogalertgroupRuleArrayInput is an input type that accepts GetObservabilityLogalertgroupRuleArray and GetObservabilityLogalertgroupRuleArrayOutput values. -// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleArrayInput` via: +// GetObservabilityAlertgroupRuleArrayInput is an input type that accepts GetObservabilityAlertgroupRuleArray and GetObservabilityAlertgroupRuleArrayOutput values. +// You can construct a concrete instance of `GetObservabilityAlertgroupRuleArrayInput` via: // -// GetObservabilityLogalertgroupRuleArray{ GetObservabilityLogalertgroupRuleArgs{...} } -type GetObservabilityLogalertgroupRuleArrayInput interface { +// GetObservabilityAlertgroupRuleArray{ GetObservabilityAlertgroupRuleArgs{...} } +type GetObservabilityAlertgroupRuleArrayInput interface { pulumi.Input - ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput - ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleArrayOutput + ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput + ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityAlertgroupRuleArrayOutput } -type GetObservabilityLogalertgroupRuleArray []GetObservabilityLogalertgroupRuleInput +type GetObservabilityAlertgroupRuleArray []GetObservabilityAlertgroupRuleInput -func (GetObservabilityLogalertgroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +func (GetObservabilityAlertgroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() } -func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { - return i.ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Background()) +func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { + return i.ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Background()) } -func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleArrayOutput) +func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleArrayOutput) } -type GetObservabilityLogalertgroupRuleOutput struct{ *pulumi.OutputState } +type GetObservabilityAlertgroupRuleOutput struct{ *pulumi.OutputState } -func (GetObservabilityLogalertgroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +func (GetObservabilityAlertgroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() } -func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { +func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { return o } -func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { +func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { return o } // The name of the alert rule. Is the identifier and must be unique in the group. -func (o GetObservabilityLogalertgroupRuleOutput) Alert() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Alert }).(pulumi.StringOutput) +func (o GetObservabilityAlertgroupRuleOutput) Alert() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Alert }).(pulumi.StringOutput) } // A map of key:value. Annotations to add or overwrite for each alert -func (o GetObservabilityLogalertgroupRuleOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o GetObservabilityAlertgroupRuleOutput) Annotations() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) } -// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. -func (o GetObservabilityLogalertgroupRuleOutput) Expression() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Expression }).(pulumi.StringOutput) +// The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. +func (o GetObservabilityAlertgroupRuleOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Expression }).(pulumi.StringOutput) } // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s -func (o GetObservabilityLogalertgroupRuleOutput) For() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.For }).(pulumi.StringOutput) +func (o GetObservabilityAlertgroupRuleOutput) For() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.For }).(pulumi.StringOutput) } // A map of key:value. Labels to add or overwrite for each alert -func (o GetObservabilityLogalertgroupRuleOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o GetObservabilityAlertgroupRuleOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -type GetObservabilityLogalertgroupRuleArrayOutput struct{ *pulumi.OutputState } +// The name of the metric. It's the identifier and must be unique in the group. +func (o GetObservabilityAlertgroupRuleOutput) Record() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Record }).(pulumi.StringOutput) +} -func (GetObservabilityLogalertgroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +type GetObservabilityAlertgroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityAlertgroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() } -func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { +func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { return o } -func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { +func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { return o } -func (o GetObservabilityLogalertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityLogalertgroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityLogalertgroupRule { - return vs[0].([]GetObservabilityLogalertgroupRule)[vs[1].(int)] - }).(GetObservabilityLogalertgroupRuleOutput) +func (o GetObservabilityAlertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityAlertgroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityAlertgroupRule { + return vs[0].([]GetObservabilityAlertgroupRule)[vs[1].(int)] + }).(GetObservabilityAlertgroupRuleOutput) } -type GetObservabilityScrapeconfigBasicAuth struct { - // Specifies basic auth password. - Password string `pulumi:"password"` - // Specifies basic auth username. - Username string `pulumi:"username"` +type GetObservabilityInstanceAlertConfig struct { + // Global configuration for the alerts. + Global GetObservabilityInstanceAlertConfigGlobal `pulumi:"global"` + // List of alert receivers. + Receivers []GetObservabilityInstanceAlertConfigReceiver `pulumi:"receivers"` + // The route for the alert. + Route GetObservabilityInstanceAlertConfigRoute `pulumi:"route"` } -// GetObservabilityScrapeconfigBasicAuthInput is an input type that accepts GetObservabilityScrapeconfigBasicAuthArgs and GetObservabilityScrapeconfigBasicAuthOutput values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigBasicAuthInput` via: +// GetObservabilityInstanceAlertConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigArgs and GetObservabilityInstanceAlertConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigInput` via: // -// GetObservabilityScrapeconfigBasicAuthArgs{...} -type GetObservabilityScrapeconfigBasicAuthInput interface { +// GetObservabilityInstanceAlertConfigArgs{...} +type GetObservabilityInstanceAlertConfigInput interface { pulumi.Input - ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput - ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Context) GetObservabilityScrapeconfigBasicAuthOutput + ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput + ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigOutput } -type GetObservabilityScrapeconfigBasicAuthArgs struct { - // Specifies basic auth password. - Password pulumi.StringInput `pulumi:"password"` - // Specifies basic auth username. - Username pulumi.StringInput `pulumi:"username"` +type GetObservabilityInstanceAlertConfigArgs struct { + // Global configuration for the alerts. + Global GetObservabilityInstanceAlertConfigGlobalInput `pulumi:"global"` + // List of alert receivers. + Receivers GetObservabilityInstanceAlertConfigReceiverArrayInput `pulumi:"receivers"` + // The route for the alert. + Route GetObservabilityInstanceAlertConfigRouteInput `pulumi:"route"` } -func (GetObservabilityScrapeconfigBasicAuthArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() } -func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { - return i.ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Background()) } -func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigBasicAuthOutput) +func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigOutput) } -type GetObservabilityScrapeconfigBasicAuthOutput struct{ *pulumi.OutputState } +type GetObservabilityInstanceAlertConfigOutput struct{ *pulumi.OutputState } -func (GetObservabilityScrapeconfigBasicAuthOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() } -func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { +func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { return o } -func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { +func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { return o } -// Specifies basic auth password. -func (o GetObservabilityScrapeconfigBasicAuthOutput) Password() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Password }).(pulumi.StringOutput) -} - -// Specifies basic auth username. -func (o GetObservabilityScrapeconfigBasicAuthOutput) Username() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Username }).(pulumi.StringOutput) +// Global configuration for the alerts. +func (o GetObservabilityInstanceAlertConfigOutput) Global() GetObservabilityInstanceAlertConfigGlobalOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigGlobal { return v.Global }).(GetObservabilityInstanceAlertConfigGlobalOutput) } -type GetObservabilityScrapeconfigSaml2 struct { - // Specifies if URL parameters are enabled - EnableUrlParameters bool `pulumi:"enableUrlParameters"` +// List of alert receivers. +func (o GetObservabilityInstanceAlertConfigOutput) Receivers() GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) []GetObservabilityInstanceAlertConfigReceiver { + return v.Receivers + }).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) } -// GetObservabilityScrapeconfigSaml2Input is an input type that accepts GetObservabilityScrapeconfigSaml2Args and GetObservabilityScrapeconfigSaml2Output values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigSaml2Input` via: -// -// GetObservabilityScrapeconfigSaml2Args{...} -type GetObservabilityScrapeconfigSaml2Input interface { - pulumi.Input - - ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output - ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Context) GetObservabilityScrapeconfigSaml2Output +// The route for the alert. +func (o GetObservabilityInstanceAlertConfigOutput) Route() GetObservabilityInstanceAlertConfigRouteOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigRoute { return v.Route }).(GetObservabilityInstanceAlertConfigRouteOutput) } -type GetObservabilityScrapeconfigSaml2Args struct { - // Specifies if URL parameters are enabled - EnableUrlParameters pulumi.BoolInput `pulumi:"enableUrlParameters"` +type GetObservabilityInstanceAlertConfigGlobal struct { + // The API key for OpsGenie. + OpsgenieApiKey string `pulumi:"opsgenieApiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + OpsgenieApiUrl string `pulumi:"opsgenieApiUrl"` + // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. + ResolveTimeout string `pulumi:"resolveTimeout"` + // SMTP authentication information. Must be a valid email address + SmtpAuthIdentity string `pulumi:"smtpAuthIdentity"` + // SMTP Auth using LOGIN and PLAIN. + SmtpAuthPassword string `pulumi:"smtpAuthPassword"` + // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + SmtpAuthUsername string `pulumi:"smtpAuthUsername"` + // The default SMTP From header field. Must be a valid email address + SmtpFrom string `pulumi:"smtpFrom"` + // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). + SmtpSmartHost string `pulumi:"smtpSmartHost"` } -func (GetObservabilityScrapeconfigSaml2Args) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() +// GetObservabilityInstanceAlertConfigGlobalInput is an input type that accepts GetObservabilityInstanceAlertConfigGlobalArgs and GetObservabilityInstanceAlertConfigGlobalOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigGlobalInput` via: +// +// GetObservabilityInstanceAlertConfigGlobalArgs{...} +type GetObservabilityInstanceAlertConfigGlobalInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput + ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigGlobalOutput } -func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { - return i.ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Background()) +type GetObservabilityInstanceAlertConfigGlobalArgs struct { + // The API key for OpsGenie. + OpsgenieApiKey pulumi.StringInput `pulumi:"opsgenieApiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + OpsgenieApiUrl pulumi.StringInput `pulumi:"opsgenieApiUrl"` + // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. + ResolveTimeout pulumi.StringInput `pulumi:"resolveTimeout"` + // SMTP authentication information. Must be a valid email address + SmtpAuthIdentity pulumi.StringInput `pulumi:"smtpAuthIdentity"` + // SMTP Auth using LOGIN and PLAIN. + SmtpAuthPassword pulumi.StringInput `pulumi:"smtpAuthPassword"` + // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + SmtpAuthUsername pulumi.StringInput `pulumi:"smtpAuthUsername"` + // The default SMTP From header field. Must be a valid email address + SmtpFrom pulumi.StringInput `pulumi:"smtpFrom"` + // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). + SmtpSmartHost pulumi.StringInput `pulumi:"smtpSmartHost"` } -func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigSaml2Output) +func (GetObservabilityInstanceAlertConfigGlobalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() } -type GetObservabilityScrapeconfigSaml2Output struct{ *pulumi.OutputState } +func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { + return i.ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Background()) +} -func (GetObservabilityScrapeconfigSaml2Output) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() +func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigGlobalOutput) } -func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { +type GetObservabilityInstanceAlertConfigGlobalOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigGlobalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { return o } -func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { +func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { return o } -// Specifies if URL parameters are enabled -func (o GetObservabilityScrapeconfigSaml2Output) EnableUrlParameters() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigSaml2) bool { return v.EnableUrlParameters }).(pulumi.BoolOutput) +// The API key for OpsGenie. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiKey }).(pulumi.StringOutput) } -type GetObservabilityScrapeconfigTarget struct { - // Specifies labels. - Labels map[string]string `pulumi:"labels"` - // Specifies target URLs. - Urls []string `pulumi:"urls"` +// The host to send OpsGenie API requests to. Must be a valid URL +func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiUrl }).(pulumi.StringOutput) } -// GetObservabilityScrapeconfigTargetInput is an input type that accepts GetObservabilityScrapeconfigTargetArgs and GetObservabilityScrapeconfigTargetOutput values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetInput` via: +// The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) ResolveTimeout() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.ResolveTimeout }).(pulumi.StringOutput) +} + +// SMTP authentication information. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthIdentity }).(pulumi.StringOutput) +} + +// SMTP Auth using LOGIN and PLAIN. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthPassword() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthPassword }).(pulumi.StringOutput) +} + +// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthUsername() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthUsername }).(pulumi.StringOutput) +} + +// The default SMTP From header field. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpFrom() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpFrom }).(pulumi.StringOutput) +} + +// The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpSmartHost() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpSmartHost }).(pulumi.StringOutput) +} + +type GetObservabilityInstanceAlertConfigReceiver struct { + // List of email configurations. + EmailConfigs []GetObservabilityInstanceAlertConfigReceiverEmailConfig `pulumi:"emailConfigs"` + // Name of the receiver. + Name string `pulumi:"name"` + // List of OpsGenie configurations. + OpsgenieConfigs []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig `pulumi:"opsgenieConfigs"` + // List of Webhooks configurations. + WebhooksConfigs []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig `pulumi:"webhooksConfigs"` +} + +// GetObservabilityInstanceAlertConfigReceiverInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArgs and GetObservabilityInstanceAlertConfigReceiverOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverInput` via: // -// GetObservabilityScrapeconfigTargetArgs{...} -type GetObservabilityScrapeconfigTargetInput interface { +// GetObservabilityInstanceAlertConfigReceiverArgs{...} +type GetObservabilityInstanceAlertConfigReceiverInput interface { pulumi.Input - ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput - ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetOutput + ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput + ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOutput } -type GetObservabilityScrapeconfigTargetArgs struct { - // Specifies labels. - Labels pulumi.StringMapInput `pulumi:"labels"` - // Specifies target URLs. - Urls pulumi.StringArrayInput `pulumi:"urls"` +type GetObservabilityInstanceAlertConfigReceiverArgs struct { + // List of email configurations. + EmailConfigs GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput `pulumi:"emailConfigs"` + // Name of the receiver. + Name pulumi.StringInput `pulumi:"name"` + // List of OpsGenie configurations. + OpsgenieConfigs GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput `pulumi:"opsgenieConfigs"` + // List of Webhooks configurations. + WebhooksConfigs GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput `pulumi:"webhooksConfigs"` } -func (GetObservabilityScrapeconfigTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { - return i.ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Background()) } -func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetOutput) +func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOutput) } -// GetObservabilityScrapeconfigTargetArrayInput is an input type that accepts GetObservabilityScrapeconfigTargetArray and GetObservabilityScrapeconfigTargetArrayOutput values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetArrayInput` via: +// GetObservabilityInstanceAlertConfigReceiverArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArray and GetObservabilityInstanceAlertConfigReceiverArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverArrayInput` via: // -// GetObservabilityScrapeconfigTargetArray{ GetObservabilityScrapeconfigTargetArgs{...} } -type GetObservabilityScrapeconfigTargetArrayInput interface { +// GetObservabilityInstanceAlertConfigReceiverArray{ GetObservabilityInstanceAlertConfigReceiverArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverArrayInput interface { pulumi.Input - ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput - ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput } -type GetObservabilityScrapeconfigTargetArray []GetObservabilityScrapeconfigTargetInput +type GetObservabilityInstanceAlertConfigReceiverArray []GetObservabilityInstanceAlertConfigReceiverInput -func (GetObservabilityScrapeconfigTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { - return i.ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Background()) } -func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetArrayOutput) +func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) } -type GetObservabilityScrapeconfigTargetOutput struct{ *pulumi.OutputState } +type GetObservabilityInstanceAlertConfigReceiverOutput struct{ *pulumi.OutputState } -func (GetObservabilityScrapeconfigTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { +func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { return o } -func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { +func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { return o } -// Specifies labels. -func (o GetObservabilityScrapeconfigTargetOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +// List of email configurations. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) EmailConfigs() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverEmailConfig { + return v.EmailConfigs + }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) } -// Specifies target URLs. -func (o GetObservabilityScrapeconfigTargetOutput) Urls() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) []string { return v.Urls }).(pulumi.StringArrayOutput) +// Name of the receiver. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) string { return v.Name }).(pulumi.StringOutput) } -type GetObservabilityScrapeconfigTargetArrayOutput struct{ *pulumi.OutputState } +// List of OpsGenie configurations. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) OpsgenieConfigs() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { + return v.OpsgenieConfigs + }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +} -func (GetObservabilityScrapeconfigTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +// List of Webhooks configurations. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) WebhooksConfigs() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { + return v.WebhooksConfigs + }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) } -func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { +type GetObservabilityInstanceAlertConfigReceiverArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { return o } -func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { +func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { return o } -func (o GetObservabilityScrapeconfigTargetArrayOutput) Index(i pulumi.IntInput) GetObservabilityScrapeconfigTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityScrapeconfigTarget { - return vs[0].([]GetObservabilityScrapeconfigTarget)[vs[1].(int)] - }).(GetObservabilityScrapeconfigTargetOutput) +func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiver { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiver)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverOutput) } -type GetOpensearchInstanceParameters struct { - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite string `pulumi:"graphite"` - // The garbage collector to use for OpenSearch. - JavaGarbageCollector string `pulumi:"javaGarbageCollector"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace int `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. - Plugins []string `pulumi:"plugins"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers []string `pulumi:"tlsCiphers"` - // List of TLS protocols to use. - TlsProtocols []string `pulumi:"tlsProtocols"` +type GetObservabilityInstanceAlertConfigReceiverEmailConfig struct { + // SMTP authentication information. Must be a valid email address + AuthIdentity string `pulumi:"authIdentity"` + // SMTP authentication password. + AuthPassword string `pulumi:"authPassword"` + // SMTP authentication username. + AuthUsername string `pulumi:"authUsername"` + // The sender email address. Must be a valid email address + From string `pulumi:"from"` + // Whether to notify about resolved alerts. + SendResolved bool `pulumi:"sendResolved"` + // The SMTP host through which emails are sent. + SmartHost string `pulumi:"smartHost"` + // The email address to send notifications to. Must be a valid email address + To string `pulumi:"to"` } -// GetOpensearchInstanceParametersInput is an input type that accepts GetOpensearchInstanceParametersArgs and GetOpensearchInstanceParametersOutput values. -// You can construct a concrete instance of `GetOpensearchInstanceParametersInput` via: +// GetObservabilityInstanceAlertConfigReceiverEmailConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs and GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigInput` via: // -// GetOpensearchInstanceParametersArgs{...} -type GetOpensearchInstanceParametersInput interface { +// GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} +type GetObservabilityInstanceAlertConfigReceiverEmailConfigInput interface { pulumi.Input - ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput - ToGetOpensearchInstanceParametersOutputWithContext(context.Context) GetOpensearchInstanceParametersOutput -} - -type GetOpensearchInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite pulumi.StringInput `pulumi:"graphite"` - // The garbage collector to use for OpenSearch. - JavaGarbageCollector pulumi.StringInput `pulumi:"javaGarbageCollector"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. - Plugins pulumi.StringArrayInput `pulumi:"plugins"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` - // List of TLS protocols to use. - TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput } -func (GetOpensearchInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs struct { + // SMTP authentication information. Must be a valid email address + AuthIdentity pulumi.StringInput `pulumi:"authIdentity"` + // SMTP authentication password. + AuthPassword pulumi.StringInput `pulumi:"authPassword"` + // SMTP authentication username. + AuthUsername pulumi.StringInput `pulumi:"authUsername"` + // The sender email address. Must be a valid email address + From pulumi.StringInput `pulumi:"from"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolInput `pulumi:"sendResolved"` + // The SMTP host through which emails are sent. + SmartHost pulumi.StringInput `pulumi:"smartHost"` + // The email address to send notifications to. Must be a valid email address + To pulumi.StringInput `pulumi:"to"` } -func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { - return i.ToGetOpensearchInstanceParametersOutputWithContext(context.Background()) +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetOpensearchInstanceParametersOutput) +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Background()) } -type GetOpensearchInstanceParametersOutput struct{ *pulumi.OutputState } - -func (GetOpensearchInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) } -func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { - return o -} +// GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArray and GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverEmailConfigArray{ GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput interface { + pulumi.Input -func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { - return o + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput } -// Enable monitoring. -func (o GetOpensearchInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) -} +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArray []GetObservabilityInstanceAlertConfigReceiverEmailConfigInput -// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). -func (o GetOpensearchInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -// The garbage collector to use for OpenSearch. -func (o GetOpensearchInstanceParametersOutput) JavaGarbageCollector() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.JavaGarbageCollector }).(pulumi.StringOutput) +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Background()) } -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o GetOpensearchInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) } -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o GetOpensearchInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) -} +type GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput struct{ *pulumi.OutputState } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetOpensearchInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -// The frequency in seconds at which metrics are emitted (in seconds). -func (o GetOpensearchInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + 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 GetOpensearchInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return o } -// The ID of the STACKIT monitoring instance. -func (o GetOpensearchInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +// SMTP authentication information. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthIdentity }).(pulumi.StringOutput) } -// List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. -func (o GetOpensearchInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +// SMTP authentication password. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthPassword() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthPassword }).(pulumi.StringOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetOpensearchInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +// SMTP authentication username. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthUsername() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthUsername }).(pulumi.StringOutput) } -// List of syslog servers to send logs to. -func (o GetOpensearchInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +// The sender email address. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) From() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.From }).(pulumi.StringOutput) } -// List of TLS ciphers to use. -func (o GetOpensearchInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +// Whether to notify about resolved alerts. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SendResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) } -// List of TLS protocols to use. -func (o GetOpensearchInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +// The SMTP host through which emails are sent. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SmartHost() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.SmartHost }).(pulumi.StringOutput) } -type GetPostgresflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description string `pulumi:"description"` - Id string `pulumi:"id"` - Ram int `pulumi:"ram"` +// The email address to send notifications to. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) To() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.To }).(pulumi.StringOutput) } -// GetPostgresflexInstanceFlavorInput is an input type that accepts GetPostgresflexInstanceFlavorArgs and GetPostgresflexInstanceFlavorOutput values. -// You can construct a concrete instance of `GetPostgresflexInstanceFlavorInput` via: -// -// GetPostgresflexInstanceFlavorArgs{...} -type GetPostgresflexInstanceFlavorInput interface { - pulumi.Input +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput struct{ *pulumi.OutputState } - ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput - ToGetPostgresflexInstanceFlavorOutputWithContext(context.Context) GetPostgresflexInstanceFlavorOutput +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -type GetPostgresflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringInput `pulumi:"description"` - Id pulumi.StringInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o } -func (GetPostgresflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o } -func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { - return i.ToGetPostgresflexInstanceFlavorOutputWithContext(context.Background()) +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverEmailConfig { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiverEmailConfig)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) } -func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceFlavorOutput) +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig struct { + // The API key for OpsGenie. + ApiKey string `pulumi:"apiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + ApiUrl string `pulumi:"apiUrl"` + // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. + Priority string `pulumi:"priority"` + // Whether to notify about resolved alerts. + SendResolved bool `pulumi:"sendResolved"` + // Comma separated list of tags attached to the notifications. + Tags string `pulumi:"tags"` } -type GetPostgresflexInstanceFlavorOutput struct{ *pulumi.OutputState } +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput interface { + pulumi.Input -func (GetPostgresflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput } -func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { - return o +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs struct { + // The API key for OpsGenie. + ApiKey pulumi.StringInput `pulumi:"apiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + ApiUrl pulumi.StringInput `pulumi:"apiUrl"` + // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. + Priority pulumi.StringInput `pulumi:"priority"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolInput `pulumi:"sendResolved"` + // Comma separated list of tags attached to the notifications. + Tags pulumi.StringInput `pulumi:"tags"` } -func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { - return o +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() } -func (o GetPostgresflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Background()) } -func (o GetPostgresflexInstanceFlavorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) } -func (o GetPostgresflexInstanceFlavorOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray{ GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput } -func (o GetPostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput + +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() } -type GetPostgresflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Background()) } -// GetPostgresflexInstanceStorageInput is an input type that accepts GetPostgresflexInstanceStorageArgs and GetPostgresflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetPostgresflexInstanceStorageInput` via: -// -// GetPostgresflexInstanceStorageArgs{...} -type GetPostgresflexInstanceStorageInput interface { - pulumi.Input +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +} - ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput - ToGetPostgresflexInstanceStorageOutputWithContext(context.Context) GetPostgresflexInstanceStorageOutput +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() } -type GetPostgresflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return o } -func (GetPostgresflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return o } -func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { - return i.ToGetPostgresflexInstanceStorageOutputWithContext(context.Background()) +// The API key for OpsGenie. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiKey }).(pulumi.StringOutput) } -func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceStorageOutput) +// The host to send OpsGenie API requests to. Must be a valid URL +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiUrl }).(pulumi.StringOutput) } -type GetPostgresflexInstanceStorageOutput struct{ *pulumi.OutputState } +// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Priority() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Priority }).(pulumi.StringOutput) +} -func (GetPostgresflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +// Whether to notify about resolved alerts. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) SendResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) } -func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { - return o +// Comma separated list of tags attached to the notifications. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Tags() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Tags }).(pulumi.StringOutput) } -func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { return o } -func (o GetPostgresflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetPostgresflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return o } -func (o GetPostgresflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetPostgresflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) } -type GetPublicIpRangesPublicIpRange struct { - // Classless Inter-Domain Routing (CIDR) - Cidr string `pulumi:"cidr"` +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfig struct { + // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. + GoogleChat bool `pulumi:"googleChat"` + // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. + MsTeams bool `pulumi:"msTeams"` + // Whether to notify about resolved alerts. + SendResolved bool `pulumi:"sendResolved"` + // The endpoint to send HTTP POST requests to. Must be a valid URL + Url string `pulumi:"url"` } -// GetPublicIpRangesPublicIpRangeInput is an input type that accepts GetPublicIpRangesPublicIpRangeArgs and GetPublicIpRangesPublicIpRangeOutput values. -// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeInput` via: +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput` via: // -// GetPublicIpRangesPublicIpRangeArgs{...} -type GetPublicIpRangesPublicIpRangeInput interface { +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput interface { pulumi.Input - ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput - ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeOutput + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput } -type GetPublicIpRangesPublicIpRangeArgs struct { - // Classless Inter-Domain Routing (CIDR) - Cidr pulumi.StringInput `pulumi:"cidr"` +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs struct { + // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. + GoogleChat pulumi.BoolInput `pulumi:"googleChat"` + // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. + MsTeams pulumi.BoolInput `pulumi:"msTeams"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolInput `pulumi:"sendResolved"` + // The endpoint to send HTTP POST requests to. Must be a valid URL + Url pulumi.StringInput `pulumi:"url"` } -func (GetPublicIpRangesPublicIpRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() } -func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { - return i.ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Background()) } -func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeOutput) +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) } -// GetPublicIpRangesPublicIpRangeArrayInput is an input type that accepts GetPublicIpRangesPublicIpRangeArray and GetPublicIpRangesPublicIpRangeArrayOutput values. -// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeArrayInput` via: +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput` via: // -// GetPublicIpRangesPublicIpRangeArray{ GetPublicIpRangesPublicIpRangeArgs{...} } -type GetPublicIpRangesPublicIpRangeArrayInput interface { +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray{ GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput interface { pulumi.Input - ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput - ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput } -type GetPublicIpRangesPublicIpRangeArray []GetPublicIpRangesPublicIpRangeInput +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray []GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput -func (GetPublicIpRangesPublicIpRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() } -func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { - return i.ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Background()) } -func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeArrayOutput) +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) } -type GetPublicIpRangesPublicIpRangeOutput struct{ *pulumi.OutputState } +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput struct{ *pulumi.OutputState } -func (GetPublicIpRangesPublicIpRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() } -func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { return o } -func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { return o } -// Classless Inter-Domain Routing (CIDR) -func (o GetPublicIpRangesPublicIpRangeOutput) Cidr() pulumi.StringOutput { - return o.ApplyT(func(v GetPublicIpRangesPublicIpRange) string { return v.Cidr }).(pulumi.StringOutput) +// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) GoogleChat() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.GoogleChat }).(pulumi.BoolOutput) } -type GetPublicIpRangesPublicIpRangeArrayOutput struct{ *pulumi.OutputState } +// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) MsTeams() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.MsTeams }).(pulumi.BoolOutput) +} -func (GetPublicIpRangesPublicIpRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() +// Whether to notify about resolved alerts. +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) SendResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) } -func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { +// The endpoint to send HTTP POST requests to. Must be a valid URL +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { return o } -func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { return o } -func (o GetPublicIpRangesPublicIpRangeArrayOutput) Index(i pulumi.IntInput) GetPublicIpRangesPublicIpRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPublicIpRangesPublicIpRange { - return vs[0].([]GetPublicIpRangesPublicIpRange)[vs[1].(int)] - }).(GetPublicIpRangesPublicIpRangeOutput) +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) } -type GetRabbitmqInstanceParameters struct { - // The timeout in milliseconds for the consumer. - ConsumerTimeout int `pulumi:"consumerTimeout"` - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite string `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // List of plugins to install. Must be a supported plugin name. - Plugins []string `pulumi:"plugins"` - // List of roles to assign to the instance. - Roles []string `pulumi:"roles"` +type GetObservabilityInstanceAlertConfigRoute struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue bool `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies []string `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval string `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . + GroupWait string `pulumi:"groupWait"` + // The name of the receiver to route the alerts to. + Receiver string `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval string `pulumi:"repeatInterval"` + // List of child routes. + Routes []GetObservabilityInstanceAlertConfigRouteRoute `pulumi:"routes"` +} + +// GetObservabilityInstanceAlertConfigRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteArgs and GetObservabilityInstanceAlertConfigRouteOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteInput` via: +// +// GetObservabilityInstanceAlertConfigRouteArgs{...} +type GetObservabilityInstanceAlertConfigRouteInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput + ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteOutput +} + +type GetObservabilityInstanceAlertConfigRouteArgs struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue pulumi.BoolInput `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval pulumi.StringInput `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . + GroupWait pulumi.StringInput `pulumi:"groupWait"` + // The name of the receiver to route the alerts to. + Receiver pulumi.StringInput `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` + // List of child routes. + Routes GetObservabilityInstanceAlertConfigRouteRouteArrayInput `pulumi:"routes"` +} + +func (GetObservabilityInstanceAlertConfigRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { + return i.ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteOutput) +} + +type GetObservabilityInstanceAlertConfigRouteOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { + return o +} + +// Whether an alert should continue matching subsequent sibling nodes. +func (o GetObservabilityInstanceAlertConfigRouteOutput) Continue() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) bool { return v.Continue }).(pulumi.BoolOutput) +} + +// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. +func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupBies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +} + +// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) +func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupInterval }).(pulumi.StringOutput) +} + +// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . +func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupWait() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupWait }).(pulumi.StringOutput) +} + +// The name of the receiver to route the alerts to. +func (o GetObservabilityInstanceAlertConfigRouteOutput) Receiver() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.Receiver }).(pulumi.StringOutput) +} + +// How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). +func (o GetObservabilityInstanceAlertConfigRouteOutput) RepeatInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) +} + +// List of child routes. +func (o GetObservabilityInstanceAlertConfigRouteOutput) Routes() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []GetObservabilityInstanceAlertConfigRouteRoute { + return v.Routes + }).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +} + +type GetObservabilityInstanceAlertConfigRouteRoute struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue bool `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies []string `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval string `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) + GroupWait string `pulumi:"groupWait"` + // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + Match map[string]string `pulumi:"match"` + // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + MatchRegex map[string]string `pulumi:"matchRegex"` + // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. + Matchers []string `pulumi:"matchers"` + // The name of the receiver to route the alerts to. + Receiver string `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval string `pulumi:"repeatInterval"` +} + +// GetObservabilityInstanceAlertConfigRouteRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArgs and GetObservabilityInstanceAlertConfigRouteRouteOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteInput` via: +// +// GetObservabilityInstanceAlertConfigRouteRouteArgs{...} +type GetObservabilityInstanceAlertConfigRouteRouteInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput + ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput +} + +type GetObservabilityInstanceAlertConfigRouteRouteArgs struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue pulumi.BoolInput `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval pulumi.StringInput `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) + GroupWait pulumi.StringInput `pulumi:"groupWait"` + // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + Match pulumi.StringMapInput `pulumi:"match"` + // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + MatchRegex pulumi.StringMapInput `pulumi:"matchRegex"` + // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. + Matchers pulumi.StringArrayInput `pulumi:"matchers"` + // The name of the receiver to route the alerts to. + Receiver pulumi.StringInput `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` +} + +func (GetObservabilityInstanceAlertConfigRouteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { + return i.ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +} + +// GetObservabilityInstanceAlertConfigRouteRouteArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArray and GetObservabilityInstanceAlertConfigRouteRouteArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteArrayInput` via: +// +// GetObservabilityInstanceAlertConfigRouteRouteArray{ GetObservabilityInstanceAlertConfigRouteRouteArgs{...} } +type GetObservabilityInstanceAlertConfigRouteRouteArrayInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput + ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput +} + +type GetObservabilityInstanceAlertConfigRouteRouteArray []GetObservabilityInstanceAlertConfigRouteRouteInput + +func (GetObservabilityInstanceAlertConfigRouteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +} + +type GetObservabilityInstanceAlertConfigRouteRouteOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigRouteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { + return o +} + +// Whether an alert should continue matching subsequent sibling nodes. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Continue() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) bool { return v.Continue }).(pulumi.BoolOutput) +} + +// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupBies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +} + +// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupInterval }).(pulumi.StringOutput) +} + +// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupWait() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupWait }).(pulumi.StringOutput) +} + +// A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead +// +// Deprecated: Use `matchers` in the `routes` instead. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Match() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.Match }).(pulumi.StringMapOutput) +} + +// A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead +// +// Deprecated: Use `matchers` in the `routes` instead. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) MatchRegex() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.MatchRegex }).(pulumi.StringMapOutput) +} + +// A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Matchers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.Matchers }).(pulumi.StringArrayOutput) +} + +// The name of the receiver to route the alerts to. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Receiver() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.Receiver }).(pulumi.StringOutput) +} + +// How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) RepeatInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) +} + +type GetObservabilityInstanceAlertConfigRouteRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigRouteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigRouteRoute { + return vs[0].([]GetObservabilityInstanceAlertConfigRouteRoute)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +} + +type GetObservabilityLogalertgroupRule struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert string `pulumi:"alert"` + // A map of key:value. Annotations to add or overwrite for each alert + Annotations map[string]string `pulumi:"annotations"` + // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + Expression string `pulumi:"expression"` + // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + For string `pulumi:"for"` + // A map of key:value. Labels to add or overwrite for each alert + Labels map[string]string `pulumi:"labels"` +} + +// GetObservabilityLogalertgroupRuleInput is an input type that accepts GetObservabilityLogalertgroupRuleArgs and GetObservabilityLogalertgroupRuleOutput values. +// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleInput` via: +// +// GetObservabilityLogalertgroupRuleArgs{...} +type GetObservabilityLogalertgroupRuleInput interface { + pulumi.Input + + ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput + ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleOutput +} + +type GetObservabilityLogalertgroupRuleArgs struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert pulumi.StringInput `pulumi:"alert"` + // A map of key:value. Annotations to add or overwrite for each alert + Annotations pulumi.StringMapInput `pulumi:"annotations"` + // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + Expression pulumi.StringInput `pulumi:"expression"` + // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + For pulumi.StringInput `pulumi:"for"` + // A map of key:value. Labels to add or overwrite for each alert + Labels pulumi.StringMapInput `pulumi:"labels"` +} + +func (GetObservabilityLogalertgroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { + return i.ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Background()) +} + +func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleOutput) +} + +// GetObservabilityLogalertgroupRuleArrayInput is an input type that accepts GetObservabilityLogalertgroupRuleArray and GetObservabilityLogalertgroupRuleArrayOutput values. +// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleArrayInput` via: +// +// GetObservabilityLogalertgroupRuleArray{ GetObservabilityLogalertgroupRuleArgs{...} } +type GetObservabilityLogalertgroupRuleArrayInput interface { + pulumi.Input + + ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput + ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleArrayOutput +} + +type GetObservabilityLogalertgroupRuleArray []GetObservabilityLogalertgroupRuleInput + +func (GetObservabilityLogalertgroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { + return i.ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleArrayOutput) +} + +type GetObservabilityLogalertgroupRuleOutput struct{ *pulumi.OutputState } + +func (GetObservabilityLogalertgroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { + return o +} + +func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { + return o +} + +// The name of the alert rule. Is the identifier and must be unique in the group. +func (o GetObservabilityLogalertgroupRuleOutput) Alert() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Alert }).(pulumi.StringOutput) +} + +// A map of key:value. Annotations to add or overwrite for each alert +func (o GetObservabilityLogalertgroupRuleOutput) Annotations() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +} + +// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. +func (o GetObservabilityLogalertgroupRuleOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Expression }).(pulumi.StringOutput) +} + +// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s +func (o GetObservabilityLogalertgroupRuleOutput) For() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.For }).(pulumi.StringOutput) +} + +// A map of key:value. Labels to add or overwrite for each alert +func (o GetObservabilityLogalertgroupRuleOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +type GetObservabilityLogalertgroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityLogalertgroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { + return o +} + +func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { + return o +} + +func (o GetObservabilityLogalertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityLogalertgroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityLogalertgroupRule { + return vs[0].([]GetObservabilityLogalertgroupRule)[vs[1].(int)] + }).(GetObservabilityLogalertgroupRuleOutput) +} + +type GetObservabilityScrapeconfigBasicAuth struct { + // Specifies basic auth password. + Password string `pulumi:"password"` + // Specifies basic auth username. + Username string `pulumi:"username"` +} + +// GetObservabilityScrapeconfigBasicAuthInput is an input type that accepts GetObservabilityScrapeconfigBasicAuthArgs and GetObservabilityScrapeconfigBasicAuthOutput values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigBasicAuthInput` via: +// +// GetObservabilityScrapeconfigBasicAuthArgs{...} +type GetObservabilityScrapeconfigBasicAuthInput interface { + pulumi.Input + + ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput + ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Context) GetObservabilityScrapeconfigBasicAuthOutput +} + +type GetObservabilityScrapeconfigBasicAuthArgs struct { + // Specifies basic auth password. + Password pulumi.StringInput `pulumi:"password"` + // Specifies basic auth username. + Username pulumi.StringInput `pulumi:"username"` +} + +func (GetObservabilityScrapeconfigBasicAuthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { + return i.ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigBasicAuthOutput) +} + +type GetObservabilityScrapeconfigBasicAuthOutput struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigBasicAuthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { + return o +} + +func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { + return o +} + +// Specifies basic auth password. +func (o GetObservabilityScrapeconfigBasicAuthOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Password }).(pulumi.StringOutput) +} + +// Specifies basic auth username. +func (o GetObservabilityScrapeconfigBasicAuthOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Username }).(pulumi.StringOutput) +} + +type GetObservabilityScrapeconfigSaml2 struct { + // Specifies if URL parameters are enabled + EnableUrlParameters bool `pulumi:"enableUrlParameters"` +} + +// GetObservabilityScrapeconfigSaml2Input is an input type that accepts GetObservabilityScrapeconfigSaml2Args and GetObservabilityScrapeconfigSaml2Output values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigSaml2Input` via: +// +// GetObservabilityScrapeconfigSaml2Args{...} +type GetObservabilityScrapeconfigSaml2Input interface { + pulumi.Input + + ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output + ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Context) GetObservabilityScrapeconfigSaml2Output +} + +type GetObservabilityScrapeconfigSaml2Args struct { + // Specifies if URL parameters are enabled + EnableUrlParameters pulumi.BoolInput `pulumi:"enableUrlParameters"` +} + +func (GetObservabilityScrapeconfigSaml2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { + return i.ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigSaml2Output) +} + +type GetObservabilityScrapeconfigSaml2Output struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigSaml2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { + return o +} + +func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { + return o +} + +// Specifies if URL parameters are enabled +func (o GetObservabilityScrapeconfigSaml2Output) EnableUrlParameters() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigSaml2) bool { return v.EnableUrlParameters }).(pulumi.BoolOutput) +} + +type GetObservabilityScrapeconfigTarget struct { + // Specifies labels. + Labels map[string]string `pulumi:"labels"` + // Specifies target URLs. + Urls []string `pulumi:"urls"` +} + +// GetObservabilityScrapeconfigTargetInput is an input type that accepts GetObservabilityScrapeconfigTargetArgs and GetObservabilityScrapeconfigTargetOutput values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetInput` via: +// +// GetObservabilityScrapeconfigTargetArgs{...} +type GetObservabilityScrapeconfigTargetInput interface { + pulumi.Input + + ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput + ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetOutput +} + +type GetObservabilityScrapeconfigTargetArgs struct { + // Specifies labels. + Labels pulumi.StringMapInput `pulumi:"labels"` + // Specifies target URLs. + Urls pulumi.StringArrayInput `pulumi:"urls"` +} + +func (GetObservabilityScrapeconfigTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { + return i.ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetOutput) +} + +// GetObservabilityScrapeconfigTargetArrayInput is an input type that accepts GetObservabilityScrapeconfigTargetArray and GetObservabilityScrapeconfigTargetArrayOutput values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetArrayInput` via: +// +// GetObservabilityScrapeconfigTargetArray{ GetObservabilityScrapeconfigTargetArgs{...} } +type GetObservabilityScrapeconfigTargetArrayInput interface { + pulumi.Input + + ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput + ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetArrayOutput +} + +type GetObservabilityScrapeconfigTargetArray []GetObservabilityScrapeconfigTargetInput + +func (GetObservabilityScrapeconfigTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { + return i.ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetArrayOutput) +} + +type GetObservabilityScrapeconfigTargetOutput struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { + return o +} + +func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { + return o +} + +// Specifies labels. +func (o GetObservabilityScrapeconfigTargetOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Specifies target URLs. +func (o GetObservabilityScrapeconfigTargetOutput) Urls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) []string { return v.Urls }).(pulumi.StringArrayOutput) +} + +type GetObservabilityScrapeconfigTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { + return o +} + +func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { + return o +} + +func (o GetObservabilityScrapeconfigTargetArrayOutput) Index(i pulumi.IntInput) GetObservabilityScrapeconfigTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityScrapeconfigTarget { + return vs[0].([]GetObservabilityScrapeconfigTarget)[vs[1].(int)] + }).(GetObservabilityScrapeconfigTargetOutput) +} + +type GetOpensearchInstanceParameters struct { + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite string `pulumi:"graphite"` + // The garbage collector to use for OpenSearch. + JavaGarbageCollector string `pulumi:"javaGarbageCollector"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace int `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. + Plugins []string `pulumi:"plugins"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers []string `pulumi:"tlsCiphers"` + // List of TLS protocols to use. + TlsProtocols []string `pulumi:"tlsProtocols"` +} + +// GetOpensearchInstanceParametersInput is an input type that accepts GetOpensearchInstanceParametersArgs and GetOpensearchInstanceParametersOutput values. +// You can construct a concrete instance of `GetOpensearchInstanceParametersInput` via: +// +// GetOpensearchInstanceParametersArgs{...} +type GetOpensearchInstanceParametersInput interface { + pulumi.Input + + ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput + ToGetOpensearchInstanceParametersOutputWithContext(context.Context) GetOpensearchInstanceParametersOutput +} + +type GetOpensearchInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite pulumi.StringInput `pulumi:"graphite"` + // The garbage collector to use for OpenSearch. + JavaGarbageCollector pulumi.StringInput `pulumi:"javaGarbageCollector"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. + Plugins pulumi.StringArrayInput `pulumi:"plugins"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` + // List of TLS protocols to use. + TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +} + +func (GetOpensearchInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +} + +func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { + return i.ToGetOpensearchInstanceParametersOutputWithContext(context.Background()) +} + +func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetOpensearchInstanceParametersOutput) +} + +type GetOpensearchInstanceParametersOutput struct{ *pulumi.OutputState } + +func (GetOpensearchInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +} + +func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { + return o +} + +func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { + return o +} + +// Enable monitoring. +func (o GetOpensearchInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +} + +// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). +func (o GetOpensearchInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +} + +// The garbage collector to use for OpenSearch. +func (o GetOpensearchInstanceParametersOutput) JavaGarbageCollector() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.JavaGarbageCollector }).(pulumi.StringOutput) +} + +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o GetOpensearchInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) +} + +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o GetOpensearchInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetOpensearchInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +} + +// The frequency in seconds at which metrics are emitted (in seconds). +func (o GetOpensearchInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +} + +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. +func (o GetOpensearchInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o GetOpensearchInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +} + +// List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. +func (o GetOpensearchInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetOpensearchInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +} + +// List of syslog servers to send logs to. +func (o GetOpensearchInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o GetOpensearchInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// List of TLS protocols to use. +func (o GetOpensearchInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +} + +type GetPostgresflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Ram int `pulumi:"ram"` +} + +// GetPostgresflexInstanceFlavorInput is an input type that accepts GetPostgresflexInstanceFlavorArgs and GetPostgresflexInstanceFlavorOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceFlavorInput` via: +// +// GetPostgresflexInstanceFlavorArgs{...} +type GetPostgresflexInstanceFlavorInput interface { + pulumi.Input + + ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput + ToGetPostgresflexInstanceFlavorOutputWithContext(context.Context) GetPostgresflexInstanceFlavorOutput +} + +type GetPostgresflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` +} + +func (GetPostgresflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() +} + +func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { + return i.ToGetPostgresflexInstanceFlavorOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceFlavorOutput) +} + +type GetPostgresflexInstanceFlavorOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() +} + +func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { + return o +} + +func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { + return o +} + +func (o GetPostgresflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +} + +func (o GetPostgresflexInstanceFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +} + +type GetPostgresflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` +} + +// GetPostgresflexInstanceStorageInput is an input type that accepts GetPostgresflexInstanceStorageArgs and GetPostgresflexInstanceStorageOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceStorageInput` via: +// +// GetPostgresflexInstanceStorageArgs{...} +type GetPostgresflexInstanceStorageInput interface { + pulumi.Input + + ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput + ToGetPostgresflexInstanceStorageOutputWithContext(context.Context) GetPostgresflexInstanceStorageOutput +} + +type GetPostgresflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetPostgresflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +} + +func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { + return i.ToGetPostgresflexInstanceStorageOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceStorageOutput) +} + +type GetPostgresflexInstanceStorageOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +} + +func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { + return o +} + +func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { + return o +} + +func (o GetPostgresflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +} + +type GetPublicIpRangesPublicIpRange struct { + // Classless Inter-Domain Routing (CIDR) + Cidr string `pulumi:"cidr"` +} + +// GetPublicIpRangesPublicIpRangeInput is an input type that accepts GetPublicIpRangesPublicIpRangeArgs and GetPublicIpRangesPublicIpRangeOutput values. +// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeInput` via: +// +// GetPublicIpRangesPublicIpRangeArgs{...} +type GetPublicIpRangesPublicIpRangeInput interface { + pulumi.Input + + ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput + ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeOutput +} + +type GetPublicIpRangesPublicIpRangeArgs struct { + // Classless Inter-Domain Routing (CIDR) + Cidr pulumi.StringInput `pulumi:"cidr"` +} + +func (GetPublicIpRangesPublicIpRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { + return i.ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Background()) +} + +func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeOutput) +} + +// GetPublicIpRangesPublicIpRangeArrayInput is an input type that accepts GetPublicIpRangesPublicIpRangeArray and GetPublicIpRangesPublicIpRangeArrayOutput values. +// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeArrayInput` via: +// +// GetPublicIpRangesPublicIpRangeArray{ GetPublicIpRangesPublicIpRangeArgs{...} } +type GetPublicIpRangesPublicIpRangeArrayInput interface { + pulumi.Input + + ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput + ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeArrayOutput +} + +type GetPublicIpRangesPublicIpRangeArray []GetPublicIpRangesPublicIpRangeInput + +func (GetPublicIpRangesPublicIpRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { + return i.ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Background()) +} + +func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeArrayOutput) +} + +type GetPublicIpRangesPublicIpRangeOutput struct{ *pulumi.OutputState } + +func (GetPublicIpRangesPublicIpRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { + return o +} + +func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { + return o +} + +// Classless Inter-Domain Routing (CIDR) +func (o GetPublicIpRangesPublicIpRangeOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetPublicIpRangesPublicIpRange) string { return v.Cidr }).(pulumi.StringOutput) +} + +type GetPublicIpRangesPublicIpRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetPublicIpRangesPublicIpRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { + return o +} + +func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { + return o +} + +func (o GetPublicIpRangesPublicIpRangeArrayOutput) Index(i pulumi.IntInput) GetPublicIpRangesPublicIpRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPublicIpRangesPublicIpRange { + return vs[0].([]GetPublicIpRangesPublicIpRange)[vs[1].(int)] + }).(GetPublicIpRangesPublicIpRangeOutput) +} + +type GetRabbitmqInstanceParameters struct { + // The timeout in milliseconds for the consumer. + ConsumerTimeout int `pulumi:"consumerTimeout"` + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite string `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. + Plugins []string `pulumi:"plugins"` + // List of roles to assign to the instance. + Roles []string `pulumi:"roles"` // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. SgwAcl string `pulumi:"sgwAcl"` // List of syslog servers to send logs to. @@ -33040,5171 +34110,5829 @@ type GetRabbitmqInstanceParameters struct { // GetRabbitmqInstanceParametersInput is an input type that accepts GetRabbitmqInstanceParametersArgs and GetRabbitmqInstanceParametersOutput values. // You can construct a concrete instance of `GetRabbitmqInstanceParametersInput` via: // -// GetRabbitmqInstanceParametersArgs{...} -type GetRabbitmqInstanceParametersInput interface { +// GetRabbitmqInstanceParametersArgs{...} +type GetRabbitmqInstanceParametersInput interface { + pulumi.Input + + ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput + ToGetRabbitmqInstanceParametersOutputWithContext(context.Context) GetRabbitmqInstanceParametersOutput +} + +type GetRabbitmqInstanceParametersArgs struct { + // The timeout in milliseconds for the consumer. + ConsumerTimeout pulumi.IntInput `pulumi:"consumerTimeout"` + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite pulumi.StringInput `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. + Plugins pulumi.StringArrayInput `pulumi:"plugins"` + // List of roles to assign to the instance. + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` + // TLS protocol versions to use. + TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +} + +func (GetRabbitmqInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +} + +func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { + return i.ToGetRabbitmqInstanceParametersOutputWithContext(context.Background()) +} + +func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRabbitmqInstanceParametersOutput) +} + +type GetRabbitmqInstanceParametersOutput struct{ *pulumi.OutputState } + +func (GetRabbitmqInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +} + +func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { + return o +} + +func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { + return o +} + +// The timeout in milliseconds for the consumer. +func (o GetRabbitmqInstanceParametersOutput) ConsumerTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.ConsumerTimeout }).(pulumi.IntOutput) +} + +// Enable monitoring. +func (o GetRabbitmqInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o GetRabbitmqInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetRabbitmqInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o GetRabbitmqInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +} + +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key +func (o GetRabbitmqInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o GetRabbitmqInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +} + +// List of plugins to install. Must be a supported plugin name. +func (o GetRabbitmqInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +} + +// List of roles to assign to the instance. +func (o GetRabbitmqInstanceParametersOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetRabbitmqInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +} + +// List of syslog servers to send logs to. +func (o GetRabbitmqInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o GetRabbitmqInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// TLS protocol versions to use. +func (o GetRabbitmqInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +} + +type GetRedisInstanceParameters struct { + // The number of milliseconds after which the instance is considered down. + DownAfterMilliseconds int `pulumi:"downAfterMilliseconds"` + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + // The failover timeout in milliseconds. + FailoverTimeout int `pulumi:"failoverTimeout"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite string `pulumi:"graphite"` + // The lazy eviction enablement (yes or no). + LazyfreeLazyEviction string `pulumi:"lazyfreeLazyEviction"` + // The lazy expire enablement (yes or no). + LazyfreeLazyExpire string `pulumi:"lazyfreeLazyExpire"` + // The Lua time limit. + LuaTimeLimit int `pulumi:"luaTimeLimit"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The maximum number of clients. + Maxclients int `pulumi:"maxclients"` + // The policy to handle the maximum memory (volatile-lru, noeviction, etc). + MaxmemoryPolicy string `pulumi:"maxmemoryPolicy"` + // The maximum memory samples. + MaxmemorySamples int `pulumi:"maxmemorySamples"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix string `pulumi:"metricsPrefix"` + // The minimum replicas maximum lag. + MinReplicasMaxLag int `pulumi:"minReplicasMaxLag"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // The notify keyspace events. + NotifyKeyspaceEvents string `pulumi:"notifyKeyspaceEvents"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // The snapshot configuration. + Snapshot string `pulumi:"snapshot"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers []string `pulumi:"tlsCiphers"` + // TLS cipher suites to use. + TlsCiphersuites string `pulumi:"tlsCiphersuites"` + // TLS protocol to use. + TlsProtocols string `pulumi:"tlsProtocols"` +} + +// GetRedisInstanceParametersInput is an input type that accepts GetRedisInstanceParametersArgs and GetRedisInstanceParametersOutput values. +// You can construct a concrete instance of `GetRedisInstanceParametersInput` via: +// +// GetRedisInstanceParametersArgs{...} +type GetRedisInstanceParametersInput interface { pulumi.Input - ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput - ToGetRabbitmqInstanceParametersOutputWithContext(context.Context) GetRabbitmqInstanceParametersOutput + ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput + ToGetRedisInstanceParametersOutputWithContext(context.Context) GetRedisInstanceParametersOutput } -type GetRabbitmqInstanceParametersArgs struct { - // The timeout in milliseconds for the consumer. - ConsumerTimeout pulumi.IntInput `pulumi:"consumerTimeout"` +type GetRedisInstanceParametersArgs struct { + // The number of milliseconds after which the instance is considered down. + DownAfterMilliseconds pulumi.IntInput `pulumi:"downAfterMilliseconds"` // Enable monitoring. EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + // The failover timeout in milliseconds. + FailoverTimeout pulumi.IntInput `pulumi:"failoverTimeout"` // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. Graphite pulumi.StringInput `pulumi:"graphite"` + // The lazy eviction enablement (yes or no). + LazyfreeLazyEviction pulumi.StringInput `pulumi:"lazyfreeLazyEviction"` + // The lazy expire enablement (yes or no). + LazyfreeLazyExpire pulumi.StringInput `pulumi:"lazyfreeLazyExpire"` + // The Lua time limit. + LuaTimeLimit pulumi.IntInput `pulumi:"luaTimeLimit"` // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The maximum number of clients. + Maxclients pulumi.IntInput `pulumi:"maxclients"` + // The policy to handle the maximum memory (volatile-lru, noeviction, etc). + MaxmemoryPolicy pulumi.StringInput `pulumi:"maxmemoryPolicy"` + // The maximum memory samples. + MaxmemorySamples pulumi.IntInput `pulumi:"maxmemorySamples"` // The frequency in seconds at which metrics are emitted. MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The minimum replicas maximum lag. + MinReplicasMaxLag pulumi.IntInput `pulumi:"minReplicasMaxLag"` // The ID of the STACKIT monitoring instance. MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // 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"` + // The notify keyspace events. + NotifyKeyspaceEvents pulumi.StringInput `pulumi:"notifyKeyspaceEvents"` // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // The snapshot configuration. + Snapshot pulumi.StringInput `pulumi:"snapshot"` // List of syslog servers to send logs to. Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` // List of TLS ciphers to use. TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` - // TLS protocol versions to use. - TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` + // TLS cipher suites to use. + TlsCiphersuites pulumi.StringInput `pulumi:"tlsCiphersuites"` + // TLS protocol to use. + TlsProtocols pulumi.StringInput `pulumi:"tlsProtocols"` +} + +func (GetRedisInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +} + +func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { + return i.ToGetRedisInstanceParametersOutputWithContext(context.Background()) +} + +func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRedisInstanceParametersOutput) +} + +type GetRedisInstanceParametersOutput struct{ *pulumi.OutputState } + +func (GetRedisInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +} + +func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { + return o +} + +func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { + return o +} + +// The number of milliseconds after which the instance is considered down. +func (o GetRedisInstanceParametersOutput) DownAfterMilliseconds() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.DownAfterMilliseconds }).(pulumi.IntOutput) +} + +// Enable monitoring. +func (o GetRedisInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +} + +// The failover timeout in milliseconds. +func (o GetRedisInstanceParametersOutput) FailoverTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.FailoverTimeout }).(pulumi.IntOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o GetRedisInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +} + +// The lazy eviction enablement (yes or no). +func (o GetRedisInstanceParametersOutput) LazyfreeLazyEviction() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyEviction }).(pulumi.StringOutput) +} + +// The lazy expire enablement (yes or no). +func (o GetRedisInstanceParametersOutput) LazyfreeLazyExpire() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyExpire }).(pulumi.StringOutput) +} + +// The Lua time limit. +func (o GetRedisInstanceParametersOutput) LuaTimeLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.LuaTimeLimit }).(pulumi.IntOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetRedisInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +} + +// The maximum number of clients. +func (o GetRedisInstanceParametersOutput) Maxclients() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.Maxclients }).(pulumi.IntOutput) +} + +// The policy to handle the maximum memory (volatile-lru, noeviction, etc). +func (o GetRedisInstanceParametersOutput) MaxmemoryPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MaxmemoryPolicy }).(pulumi.StringOutput) +} + +// The maximum memory samples. +func (o GetRedisInstanceParametersOutput) MaxmemorySamples() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxmemorySamples }).(pulumi.IntOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o GetRedisInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +} + +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key +func (o GetRedisInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +} + +// The minimum replicas maximum lag. +func (o GetRedisInstanceParametersOutput) MinReplicasMaxLag() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MinReplicasMaxLag }).(pulumi.IntOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o GetRedisInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +} + +// The notify keyspace events. +func (o GetRedisInstanceParametersOutput) NotifyKeyspaceEvents() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.NotifyKeyspaceEvents }).(pulumi.StringOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetRedisInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +} + +// The snapshot configuration. +func (o GetRedisInstanceParametersOutput) Snapshot() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Snapshot }).(pulumi.StringOutput) +} + +// List of syslog servers to send logs to. +func (o GetRedisInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o GetRedisInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// TLS cipher suites to use. +func (o GetRedisInstanceParametersOutput) TlsCiphersuites() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsCiphersuites }).(pulumi.StringOutput) +} + +// TLS protocol to use. +func (o GetRedisInstanceParametersOutput) TlsProtocols() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsProtocols }).(pulumi.StringOutput) +} + +type GetRoutingTableRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` +} + +// GetRoutingTableRouteDestinationInput is an input type that accepts GetRoutingTableRouteDestinationArgs and GetRoutingTableRouteDestinationOutput values. +// You can construct a concrete instance of `GetRoutingTableRouteDestinationInput` via: +// +// GetRoutingTableRouteDestinationArgs{...} +type GetRoutingTableRouteDestinationInput interface { + pulumi.Input + + ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput + ToGetRoutingTableRouteDestinationOutputWithContext(context.Context) GetRoutingTableRouteDestinationOutput +} + +type GetRoutingTableRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetRoutingTableRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() +} + +func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { + return i.ToGetRoutingTableRouteDestinationOutputWithContext(context.Background()) +} + +func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteDestinationOutput) +} + +type GetRoutingTableRouteDestinationOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() +} + +func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { + return o +} + +func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { + return o +} + +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. +func (o GetRoutingTableRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Type }).(pulumi.StringOutput) +} + +// An CIDR string. +func (o GetRoutingTableRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Value }).(pulumi.StringOutput) +} + +type GetRoutingTableRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value string `pulumi:"value"` +} + +// GetRoutingTableRouteNextHopInput is an input type that accepts GetRoutingTableRouteNextHopArgs and GetRoutingTableRouteNextHopOutput values. +// You can construct a concrete instance of `GetRoutingTableRouteNextHopInput` via: +// +// GetRoutingTableRouteNextHopArgs{...} +type GetRoutingTableRouteNextHopInput interface { + pulumi.Input + + ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput + ToGetRoutingTableRouteNextHopOutputWithContext(context.Context) GetRoutingTableRouteNextHopOutput } -func (GetRabbitmqInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +type GetRoutingTableRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value pulumi.StringInput `pulumi:"value"` } -func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { - return i.ToGetRabbitmqInstanceParametersOutputWithContext(context.Background()) +func (GetRoutingTableRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() } -func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRabbitmqInstanceParametersOutput) +func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { + return i.ToGetRoutingTableRouteNextHopOutputWithContext(context.Background()) } -type GetRabbitmqInstanceParametersOutput struct{ *pulumi.OutputState } +func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteNextHopOutput) +} -func (GetRabbitmqInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +type GetRoutingTableRouteNextHopOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() } -func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { +func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { return o } -func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { +func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { return o } -// The timeout in milliseconds for the consumer. -func (o GetRabbitmqInstanceParametersOutput) ConsumerTimeout() pulumi.IntOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.ConsumerTimeout }).(pulumi.IntOutput) +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o GetRoutingTableRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Type }).(pulumi.StringOutput) } -// Enable monitoring. -func (o GetRabbitmqInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. +func (o GetRoutingTableRouteNextHopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Value }).(pulumi.StringOutput) } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o GetRabbitmqInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +type GetRoutingTableRoutesRoute struct { + // Date-time when the route was created + CreatedAt string `pulumi:"createdAt"` + // Destination of the route. + Destination GetRoutingTableRoutesRouteDestination `pulumi:"destination"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // Next hop destination. + NextHop GetRoutingTableRoutesRouteNextHop `pulumi:"nextHop"` + // Route ID. + RouteId string `pulumi:"routeId"` + // Date-time when the route was updated + UpdatedAt string `pulumi:"updatedAt"` } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetRabbitmqInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +// GetRoutingTableRoutesRouteInput is an input type that accepts GetRoutingTableRoutesRouteArgs and GetRoutingTableRoutesRouteOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteInput` via: +// +// GetRoutingTableRoutesRouteArgs{...} +type GetRoutingTableRoutesRouteInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput + ToGetRoutingTableRoutesRouteOutputWithContext(context.Context) GetRoutingTableRoutesRouteOutput } -// The frequency in seconds at which metrics are emitted. -func (o GetRabbitmqInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +type GetRoutingTableRoutesRouteArgs struct { + // Date-time when the route was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Destination of the route. + Destination GetRoutingTableRoutesRouteDestinationInput `pulumi:"destination"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput `pulumi:"labels"` + // Next hop destination. + NextHop GetRoutingTableRoutesRouteNextHopInput `pulumi:"nextHop"` + // Route ID. + RouteId pulumi.StringInput `pulumi:"routeId"` + // Date-time when the route was updated + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key -func (o GetRabbitmqInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +func (GetRoutingTableRoutesRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() } -// The ID of the STACKIT monitoring instance. -func (o GetRabbitmqInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { + return i.ToGetRoutingTableRoutesRouteOutputWithContext(context.Background()) } -// List of plugins to install. Must be a supported plugin name. -func (o GetRabbitmqInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteOutput) } -// List of roles to assign to the instance. -func (o GetRabbitmqInstanceParametersOutput) Roles() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Roles }).(pulumi.StringArrayOutput) +// GetRoutingTableRoutesRouteArrayInput is an input type that accepts GetRoutingTableRoutesRouteArray and GetRoutingTableRoutesRouteArrayOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteArrayInput` via: +// +// GetRoutingTableRoutesRouteArray{ GetRoutingTableRoutesRouteArgs{...} } +type GetRoutingTableRoutesRouteArrayInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput + ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Context) GetRoutingTableRoutesRouteArrayOutput } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetRabbitmqInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +type GetRoutingTableRoutesRouteArray []GetRoutingTableRoutesRouteInput + +func (GetRoutingTableRoutesRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() } -// List of syslog servers to send logs to. -func (o GetRabbitmqInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { + return i.ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Background()) } -// List of TLS ciphers to use. -func (o GetRabbitmqInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteArrayOutput) } -// TLS protocol versions to use. -func (o GetRabbitmqInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +type GetRoutingTableRoutesRouteOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRoutesRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() } -type GetRedisInstanceParameters struct { - // The number of milliseconds after which the instance is considered down. - DownAfterMilliseconds int `pulumi:"downAfterMilliseconds"` - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - // The failover timeout in milliseconds. - FailoverTimeout int `pulumi:"failoverTimeout"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite string `pulumi:"graphite"` - // The lazy eviction enablement (yes or no). - LazyfreeLazyEviction string `pulumi:"lazyfreeLazyEviction"` - // The lazy expire enablement (yes or no). - LazyfreeLazyExpire string `pulumi:"lazyfreeLazyExpire"` - // The Lua time limit. - LuaTimeLimit int `pulumi:"luaTimeLimit"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The maximum number of clients. - Maxclients int `pulumi:"maxclients"` - // The policy to handle the maximum memory (volatile-lru, noeviction, etc). - MaxmemoryPolicy string `pulumi:"maxmemoryPolicy"` - // The maximum memory samples. - MaxmemorySamples int `pulumi:"maxmemorySamples"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix string `pulumi:"metricsPrefix"` - // The minimum replicas maximum lag. - MinReplicasMaxLag int `pulumi:"minReplicasMaxLag"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // The notify keyspace events. - NotifyKeyspaceEvents string `pulumi:"notifyKeyspaceEvents"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // The snapshot configuration. - Snapshot string `pulumi:"snapshot"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers []string `pulumi:"tlsCiphers"` - // TLS cipher suites to use. - TlsCiphersuites string `pulumi:"tlsCiphersuites"` - // TLS protocol to use. - TlsProtocols string `pulumi:"tlsProtocols"` +func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { + return o } -// GetRedisInstanceParametersInput is an input type that accepts GetRedisInstanceParametersArgs and GetRedisInstanceParametersOutput values. -// You can construct a concrete instance of `GetRedisInstanceParametersInput` via: -// -// GetRedisInstanceParametersArgs{...} -type GetRedisInstanceParametersInput interface { - pulumi.Input +func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { + return o +} - ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput - ToGetRedisInstanceParametersOutputWithContext(context.Context) GetRedisInstanceParametersOutput +// Date-time when the route was created +func (o GetRoutingTableRoutesRouteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.CreatedAt }).(pulumi.StringOutput) } -type GetRedisInstanceParametersArgs struct { - // The number of milliseconds after which the instance is considered down. - DownAfterMilliseconds pulumi.IntInput `pulumi:"downAfterMilliseconds"` - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - // The failover timeout in milliseconds. - FailoverTimeout pulumi.IntInput `pulumi:"failoverTimeout"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite pulumi.StringInput `pulumi:"graphite"` - // The lazy eviction enablement (yes or no). - LazyfreeLazyEviction pulumi.StringInput `pulumi:"lazyfreeLazyEviction"` - // The lazy expire enablement (yes or no). - LazyfreeLazyExpire pulumi.StringInput `pulumi:"lazyfreeLazyExpire"` - // The Lua time limit. - LuaTimeLimit pulumi.IntInput `pulumi:"luaTimeLimit"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The maximum number of clients. - Maxclients pulumi.IntInput `pulumi:"maxclients"` - // The policy to handle the maximum memory (volatile-lru, noeviction, etc). - MaxmemoryPolicy pulumi.StringInput `pulumi:"maxmemoryPolicy"` - // The maximum memory samples. - MaxmemorySamples pulumi.IntInput `pulumi:"maxmemorySamples"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The minimum replicas maximum lag. - MinReplicasMaxLag pulumi.IntInput `pulumi:"minReplicasMaxLag"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // The notify keyspace events. - NotifyKeyspaceEvents pulumi.StringInput `pulumi:"notifyKeyspaceEvents"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // The snapshot configuration. - Snapshot pulumi.StringInput `pulumi:"snapshot"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` - // TLS cipher suites to use. - TlsCiphersuites pulumi.StringInput `pulumi:"tlsCiphersuites"` - // TLS protocol to use. - TlsProtocols pulumi.StringInput `pulumi:"tlsProtocols"` +// Destination of the route. +func (o GetRoutingTableRoutesRouteOutput) Destination() GetRoutingTableRoutesRouteDestinationOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteDestination { return v.Destination }).(GetRoutingTableRoutesRouteDestinationOutput) } -func (GetRedisInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +// Labels are key-value string pairs which can be attached to a resource container +func (o GetRoutingTableRoutesRouteOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Next hop destination. +func (o GetRoutingTableRoutesRouteOutput) NextHop() GetRoutingTableRoutesRouteNextHopOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteNextHop { return v.NextHop }).(GetRoutingTableRoutesRouteNextHopOutput) } -func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { - return i.ToGetRedisInstanceParametersOutputWithContext(context.Background()) +// Route ID. +func (o GetRoutingTableRoutesRouteOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.RouteId }).(pulumi.StringOutput) } -func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRedisInstanceParametersOutput) +// Date-time when the route was updated +func (o GetRoutingTableRoutesRouteOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.UpdatedAt }).(pulumi.StringOutput) } -type GetRedisInstanceParametersOutput struct{ *pulumi.OutputState } +type GetRoutingTableRoutesRouteArrayOutput struct{ *pulumi.OutputState } -func (GetRedisInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +func (GetRoutingTableRoutesRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() } -func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { +func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { return o } -func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { +func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { return o } -// The number of milliseconds after which the instance is considered down. -func (o GetRedisInstanceParametersOutput) DownAfterMilliseconds() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.DownAfterMilliseconds }).(pulumi.IntOutput) +func (o GetRoutingTableRoutesRouteArrayOutput) Index(i pulumi.IntInput) GetRoutingTableRoutesRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTableRoutesRoute { + return vs[0].([]GetRoutingTableRoutesRoute)[vs[1].(int)] + }).(GetRoutingTableRoutesRouteOutput) } -// Enable monitoring. -func (o GetRedisInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +type GetRoutingTableRoutesRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` } -// The failover timeout in milliseconds. -func (o GetRedisInstanceParametersOutput) FailoverTimeout() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.FailoverTimeout }).(pulumi.IntOutput) +// GetRoutingTableRoutesRouteDestinationInput is an input type that accepts GetRoutingTableRoutesRouteDestinationArgs and GetRoutingTableRoutesRouteDestinationOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteDestinationInput` via: +// +// GetRoutingTableRoutesRouteDestinationArgs{...} +type GetRoutingTableRoutesRouteDestinationInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput + ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Context) GetRoutingTableRoutesRouteDestinationOutput } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o GetRedisInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +type GetRoutingTableRoutesRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` } -// The lazy eviction enablement (yes or no). -func (o GetRedisInstanceParametersOutput) LazyfreeLazyEviction() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyEviction }).(pulumi.StringOutput) +func (GetRoutingTableRoutesRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() } -// The lazy expire enablement (yes or no). -func (o GetRedisInstanceParametersOutput) LazyfreeLazyExpire() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyExpire }).(pulumi.StringOutput) +func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { + return i.ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Background()) } -// The Lua time limit. -func (o GetRedisInstanceParametersOutput) LuaTimeLimit() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.LuaTimeLimit }).(pulumi.IntOutput) +func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteDestinationOutput) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetRedisInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +type GetRoutingTableRoutesRouteDestinationOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRoutesRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() } -// The maximum number of clients. -func (o GetRedisInstanceParametersOutput) Maxclients() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.Maxclients }).(pulumi.IntOutput) +func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { + return o } -// The policy to handle the maximum memory (volatile-lru, noeviction, etc). -func (o GetRedisInstanceParametersOutput) MaxmemoryPolicy() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MaxmemoryPolicy }).(pulumi.StringOutput) +func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { + return o } -// The maximum memory samples. -func (o GetRedisInstanceParametersOutput) MaxmemorySamples() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxmemorySamples }).(pulumi.IntOutput) +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. +func (o GetRoutingTableRoutesRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Type }).(pulumi.StringOutput) } -// The frequency in seconds at which metrics are emitted. -func (o GetRedisInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +// An CIDR string. +func (o GetRoutingTableRoutesRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Value }).(pulumi.StringOutput) } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key -func (o GetRedisInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +type GetRoutingTableRoutesRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value string `pulumi:"value"` } -// The minimum replicas maximum lag. -func (o GetRedisInstanceParametersOutput) MinReplicasMaxLag() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MinReplicasMaxLag }).(pulumi.IntOutput) +// GetRoutingTableRoutesRouteNextHopInput is an input type that accepts GetRoutingTableRoutesRouteNextHopArgs and GetRoutingTableRoutesRouteNextHopOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteNextHopInput` via: +// +// GetRoutingTableRoutesRouteNextHopArgs{...} +type GetRoutingTableRoutesRouteNextHopInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput + ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Context) GetRoutingTableRoutesRouteNextHopOutput } -// The ID of the STACKIT monitoring instance. -func (o GetRedisInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +type GetRoutingTableRoutesRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value pulumi.StringInput `pulumi:"value"` } -// The notify keyspace events. -func (o GetRedisInstanceParametersOutput) NotifyKeyspaceEvents() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.NotifyKeyspaceEvents }).(pulumi.StringOutput) +func (GetRoutingTableRoutesRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetRedisInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { + return i.ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Background()) } -// The snapshot configuration. -func (o GetRedisInstanceParametersOutput) Snapshot() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Snapshot }).(pulumi.StringOutput) +func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteNextHopOutput) } -// List of syslog servers to send logs to. -func (o GetRedisInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +type GetRoutingTableRoutesRouteNextHopOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRoutesRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() } -// List of TLS ciphers to use. -func (o GetRedisInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { + return o } -// TLS cipher suites to use. -func (o GetRedisInstanceParametersOutput) TlsCiphersuites() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsCiphersuites }).(pulumi.StringOutput) +func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { + return o } -// TLS protocol to use. -func (o GetRedisInstanceParametersOutput) TlsProtocols() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsProtocols }).(pulumi.StringOutput) +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o GetRoutingTableRoutesRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Type }).(pulumi.StringOutput) } -type GetRoutingTableRouteDestination struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type string `pulumi:"type"` - // An CIDR string. - Value string `pulumi:"value"` +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. +func (o GetRoutingTableRoutesRouteNextHopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Value }).(pulumi.StringOutput) } -// GetRoutingTableRouteDestinationInput is an input type that accepts GetRoutingTableRouteDestinationArgs and GetRoutingTableRouteDestinationOutput values. -// You can construct a concrete instance of `GetRoutingTableRouteDestinationInput` via: +type GetRoutingTablesItem struct { + // Date-time when the routing table was created + CreatedAt string `pulumi:"createdAt"` + // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. + Default bool `pulumi:"default"` + // Description of the routing table. + Description string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes bool `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the routing table. + Name string `pulumi:"name"` + // The routing tables ID. + RoutingTableId string `pulumi:"routingTableId"` + // This controls whether the routes for project-to-project communication are created automatically or not. + SystemRoutes bool `pulumi:"systemRoutes"` + // Date-time when the routing table was updated + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetRoutingTablesItemInput is an input type that accepts GetRoutingTablesItemArgs and GetRoutingTablesItemOutput values. +// You can construct a concrete instance of `GetRoutingTablesItemInput` via: // -// GetRoutingTableRouteDestinationArgs{...} -type GetRoutingTableRouteDestinationInput interface { +// GetRoutingTablesItemArgs{...} +type GetRoutingTablesItemInput interface { pulumi.Input - ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput - ToGetRoutingTableRouteDestinationOutputWithContext(context.Context) GetRoutingTableRouteDestinationOutput + ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput + ToGetRoutingTablesItemOutputWithContext(context.Context) GetRoutingTablesItemOutput } -type GetRoutingTableRouteDestinationArgs struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type pulumi.StringInput `pulumi:"type"` - // An CIDR string. - Value pulumi.StringInput `pulumi:"value"` +type GetRoutingTablesItemArgs struct { + // Date-time when the routing table was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. + Default pulumi.BoolInput `pulumi:"default"` + // Description of the routing table. + Description pulumi.StringInput `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes pulumi.BoolInput `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput `pulumi:"labels"` + // The name of the routing table. + Name pulumi.StringInput `pulumi:"name"` + // The routing tables ID. + RoutingTableId pulumi.StringInput `pulumi:"routingTableId"` + // This controls whether the routes for project-to-project communication are created automatically or not. + SystemRoutes pulumi.BoolInput `pulumi:"systemRoutes"` + // Date-time when the routing table was updated + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetRoutingTablesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() +} + +func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { + return i.ToGetRoutingTablesItemOutputWithContext(context.Background()) +} + +func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemOutput) +} + +// GetRoutingTablesItemArrayInput is an input type that accepts GetRoutingTablesItemArray and GetRoutingTablesItemArrayOutput values. +// You can construct a concrete instance of `GetRoutingTablesItemArrayInput` via: +// +// GetRoutingTablesItemArray{ GetRoutingTablesItemArgs{...} } +type GetRoutingTablesItemArrayInput interface { + pulumi.Input + + ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput + ToGetRoutingTablesItemArrayOutputWithContext(context.Context) GetRoutingTablesItemArrayOutput } -func (GetRoutingTableRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() +type GetRoutingTablesItemArray []GetRoutingTablesItemInput + +func (GetRoutingTablesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() } -func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { - return i.ToGetRoutingTableRouteDestinationOutputWithContext(context.Background()) +func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { + return i.ToGetRoutingTablesItemArrayOutputWithContext(context.Background()) } -func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteDestinationOutput) +func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemArrayOutput) } -type GetRoutingTableRouteDestinationOutput struct{ *pulumi.OutputState } +type GetRoutingTablesItemOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() +func (GetRoutingTablesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() } -func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { +func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { return o } -func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { +func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { return o } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. -func (o GetRoutingTableRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Type }).(pulumi.StringOutput) +// Date-time when the routing table was created +func (o GetRoutingTablesItemOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.CreatedAt }).(pulumi.StringOutput) } -// An CIDR string. -func (o GetRoutingTableRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Value }).(pulumi.StringOutput) +// When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. +func (o GetRoutingTablesItemOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.Default }).(pulumi.BoolOutput) } -type GetRoutingTableRouteNextHop struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type string `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value string `pulumi:"value"` +// Description of the routing table. +func (o GetRoutingTablesItemOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Description }).(pulumi.StringOutput) } -// GetRoutingTableRouteNextHopInput is an input type that accepts GetRoutingTableRouteNextHopArgs and GetRoutingTableRouteNextHopOutput values. -// You can construct a concrete instance of `GetRoutingTableRouteNextHopInput` via: -// -// GetRoutingTableRouteNextHopArgs{...} -type GetRoutingTableRouteNextHopInput interface { - pulumi.Input +// This controls whether dynamic routes are propagated to this routing table +func (o GetRoutingTablesItemOutput) DynamicRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.DynamicRoutes }).(pulumi.BoolOutput) +} - ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput - ToGetRoutingTableRouteNextHopOutputWithContext(context.Context) GetRoutingTableRouteNextHopOutput +// Labels are key-value string pairs which can be attached to a resource container +func (o GetRoutingTablesItemOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetRoutingTablesItem) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -type GetRoutingTableRouteNextHopArgs struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type pulumi.StringInput `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value pulumi.StringInput `pulumi:"value"` +// The name of the routing table. +func (o GetRoutingTablesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Name }).(pulumi.StringOutput) } -func (GetRoutingTableRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() +// The routing tables ID. +func (o GetRoutingTablesItemOutput) RoutingTableId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.RoutingTableId }).(pulumi.StringOutput) } -func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { - return i.ToGetRoutingTableRouteNextHopOutputWithContext(context.Background()) +// This controls whether the routes for project-to-project communication are created automatically or not. +func (o GetRoutingTablesItemOutput) SystemRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.SystemRoutes }).(pulumi.BoolOutput) } -func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteNextHopOutput) +// Date-time when the routing table was updated +func (o GetRoutingTablesItemOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.UpdatedAt }).(pulumi.StringOutput) } -type GetRoutingTableRouteNextHopOutput struct{ *pulumi.OutputState } +type GetRoutingTablesItemArrayOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() +func (GetRoutingTablesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() } -func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { +func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { return o } -func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { +func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { return o } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o GetRoutingTableRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Type }).(pulumi.StringOutput) -} - -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. -func (o GetRoutingTableRouteNextHopOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +func (o GetRoutingTablesItemArrayOutput) Index(i pulumi.IntInput) GetRoutingTablesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTablesItem { + return vs[0].([]GetRoutingTablesItem)[vs[1].(int)] + }).(GetRoutingTablesItemOutput) } -type GetRoutingTableRoutesRoute struct { - // Date-time when the route was created - CreatedAt string `pulumi:"createdAt"` - // Destination of the route. - Destination GetRoutingTableRoutesRouteDestination `pulumi:"destination"` - // Labels are key-value string pairs which can be attached to a resource container - Labels map[string]string `pulumi:"labels"` - // Next hop destination. - NextHop GetRoutingTableRoutesRouteNextHop `pulumi:"nextHop"` - // Route ID. - RouteId string `pulumi:"routeId"` - // Date-time when the route was updated - UpdatedAt string `pulumi:"updatedAt"` +type GetSecretsmanagerInstanceKmsKey struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KeyId string `pulumi:"keyId"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KeyRingId string `pulumi:"keyRingId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KeyVersion int `pulumi:"keyVersion"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccountEmail string `pulumi:"serviceAccountEmail"` } -// GetRoutingTableRoutesRouteInput is an input type that accepts GetRoutingTableRoutesRouteArgs and GetRoutingTableRoutesRouteOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteInput` via: +// GetSecretsmanagerInstanceKmsKeyInput is an input type that accepts GetSecretsmanagerInstanceKmsKeyArgs and GetSecretsmanagerInstanceKmsKeyOutput values. +// You can construct a concrete instance of `GetSecretsmanagerInstanceKmsKeyInput` via: // -// GetRoutingTableRoutesRouteArgs{...} -type GetRoutingTableRoutesRouteInput interface { +// GetSecretsmanagerInstanceKmsKeyArgs{...} +type GetSecretsmanagerInstanceKmsKeyInput interface { pulumi.Input - ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput - ToGetRoutingTableRoutesRouteOutputWithContext(context.Context) GetRoutingTableRoutesRouteOutput + ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput + ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Context) GetSecretsmanagerInstanceKmsKeyOutput } -type GetRoutingTableRoutesRouteArgs struct { - // Date-time when the route was created - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // Destination of the route. - Destination GetRoutingTableRoutesRouteDestinationInput `pulumi:"destination"` - // Labels are key-value string pairs which can be attached to a resource container - Labels pulumi.StringMapInput `pulumi:"labels"` - // Next hop destination. - NextHop GetRoutingTableRoutesRouteNextHopInput `pulumi:"nextHop"` - // Route ID. - RouteId pulumi.StringInput `pulumi:"routeId"` - // Date-time when the route was updated - UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +type GetSecretsmanagerInstanceKmsKeyArgs struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KeyId pulumi.StringInput `pulumi:"keyId"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KeyRingId pulumi.StringInput `pulumi:"keyRingId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KeyVersion pulumi.IntInput `pulumi:"keyVersion"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"` } -func (GetRoutingTableRoutesRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() +func (GetSecretsmanagerInstanceKmsKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() } -func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { - return i.ToGetRoutingTableRoutesRouteOutputWithContext(context.Background()) +func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { + return i.ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Background()) } -func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteOutput) +func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceKmsKeyOutput) } -// GetRoutingTableRoutesRouteArrayInput is an input type that accepts GetRoutingTableRoutesRouteArray and GetRoutingTableRoutesRouteArrayOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteArrayInput` via: -// -// GetRoutingTableRoutesRouteArray{ GetRoutingTableRoutesRouteArgs{...} } -type GetRoutingTableRoutesRouteArrayInput interface { - pulumi.Input +type GetSecretsmanagerInstanceKmsKeyOutput struct{ *pulumi.OutputState } - ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput - ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Context) GetRoutingTableRoutesRouteArrayOutput +func (GetSecretsmanagerInstanceKmsKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() } -type GetRoutingTableRoutesRouteArray []GetRoutingTableRoutesRouteInput +func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { + return o +} -func (GetRoutingTableRoutesRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() +func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { + return o } -func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { - return i.ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Background()) +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyId }).(pulumi.StringOutput) } -func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteArrayOutput) +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyRingId() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyRingId }).(pulumi.StringOutput) } -type GetRoutingTableRoutesRouteOutput struct{ *pulumi.OutputState } +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyVersion() pulumi.IntOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) int { return v.KeyVersion }).(pulumi.IntOutput) +} -func (GetRoutingTableRoutesRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() +// Service-Account linked to the Key within the STACKIT-KMS. +func (o GetSecretsmanagerInstanceKmsKeyOutput) ServiceAccountEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.ServiceAccountEmail }).(pulumi.StringOutput) } -func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { - return o +type GetSecretsmanagerInstanceRoleBindingsV1RoleBinding struct { + // A valid role defined for the resource. + Role string `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject string `pulumi:"subject"` } -func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { - return o +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput values. +// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput` via: +// +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput interface { + pulumi.Input + + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput } -// Date-time when the route was created -func (o GetRoutingTableRoutesRouteOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.CreatedAt }).(pulumi.StringOutput) +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs struct { + // A valid role defined for the resource. + Role pulumi.StringInput `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject pulumi.StringInput `pulumi:"subject"` +} + +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +} + +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Background()) +} + +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) } -// Destination of the route. -func (o GetRoutingTableRoutesRouteOutput) Destination() GetRoutingTableRoutesRouteDestinationOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteDestination { return v.Destination }).(GetRoutingTableRoutesRouteDestinationOutput) +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput values. +// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput` via: +// +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray{ GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} } +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput interface { + pulumi.Input + + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput } -// Labels are key-value string pairs which can be attached to a resource container -func (o GetRoutingTableRoutesRouteOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) map[string]string { return v.Labels }).(pulumi.StringMapOutput) -} +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray []GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput -// Next hop destination. -func (o GetRoutingTableRoutesRouteOutput) NextHop() GetRoutingTableRoutesRouteNextHopOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteNextHop { return v.NextHop }).(GetRoutingTableRoutesRouteNextHopOutput) +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() } -// Route ID. -func (o GetRoutingTableRoutesRouteOutput) RouteId() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.RouteId }).(pulumi.StringOutput) +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { + return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) } -// Date-time when the route was updated -func (o GetRoutingTableRoutesRouteOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.UpdatedAt }).(pulumi.StringOutput) +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) } -type GetRoutingTableRoutesRouteArrayOutput struct{ *pulumi.OutputState } +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRoutesRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() } -func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { return o } -func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { return o } -func (o GetRoutingTableRoutesRouteArrayOutput) Index(i pulumi.IntInput) GetRoutingTableRoutesRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTableRoutesRoute { - return vs[0].([]GetRoutingTableRoutesRoute)[vs[1].(int)] - }).(GetRoutingTableRoutesRouteOutput) +// A valid role defined for the resource. +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) } -type GetRoutingTableRoutesRouteDestination struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type string `pulumi:"type"` - // An CIDR string. - Value string `pulumi:"value"` +// Identifier of user, service account or client. Usually email address or name in case of clients. +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) } -// GetRoutingTableRoutesRouteDestinationInput is an input type that accepts GetRoutingTableRoutesRouteDestinationArgs and GetRoutingTableRoutesRouteDestinationOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteDestinationInput` via: -// -// GetRoutingTableRoutesRouteDestinationArgs{...} -type GetRoutingTableRoutesRouteDestinationInput interface { - pulumi.Input +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } - ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput - ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Context) GetRoutingTableRoutesRouteDestinationOutput +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() } -type GetRoutingTableRoutesRouteDestinationArgs struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type pulumi.StringInput `pulumi:"type"` - // An CIDR string. - Value pulumi.StringInput `pulumi:"value"` +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { + return o } -func (GetRoutingTableRoutesRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { + return o } -func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { - return i.ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Background()) +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerInstanceRoleBindingsV1RoleBinding { + return vs[0].([]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)[vs[1].(int)] + }).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) } -func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteDestinationOutput) +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding struct { + // A valid role defined for the resource. + Role string `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject string `pulumi:"subject"` } -type GetRoutingTableRoutesRouteDestinationOutput struct{ *pulumi.OutputState } - -func (GetRoutingTableRoutesRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() -} +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput values. +// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput` via: +// +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput interface { + pulumi.Input -func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { - return o + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput } -func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { - return o +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs struct { + // A valid role defined for the resource. + Role pulumi.StringInput `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject pulumi.StringInput `pulumi:"subject"` } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. -func (o GetRoutingTableRoutesRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Type }).(pulumi.StringOutput) +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -// An CIDR string. -func (o GetRoutingTableRoutesRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Value }).(pulumi.StringOutput) +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { + return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Background()) } -type GetRoutingTableRoutesRouteNextHop struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type string `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value string `pulumi:"value"` +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) } -// GetRoutingTableRoutesRouteNextHopInput is an input type that accepts GetRoutingTableRoutesRouteNextHopArgs and GetRoutingTableRoutesRouteNextHopOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteNextHopInput` via: +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput values. +// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput` via: // -// GetRoutingTableRoutesRouteNextHopArgs{...} -type GetRoutingTableRoutesRouteNextHopInput interface { +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray{ GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} } +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput interface { pulumi.Input - ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput - ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Context) GetRoutingTableRoutesRouteNextHopOutput + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput } -type GetRoutingTableRoutesRouteNextHopArgs struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type pulumi.StringInput `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value pulumi.StringInput `pulumi:"value"` -} +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray []GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput -func (GetRoutingTableRoutesRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { - return i.ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Background()) +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { + return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) } -func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteNextHopOutput) +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) } -type GetRoutingTableRoutesRouteNextHopOutput struct{ *pulumi.OutputState } +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRoutesRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { return o } -func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { return o } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o GetRoutingTableRoutesRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Type }).(pulumi.StringOutput) -} - -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. -func (o GetRoutingTableRoutesRouteNextHopOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +// A valid role defined for the resource. +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) } -type GetRoutingTablesItem struct { - // Date-time when the routing table was created - CreatedAt string `pulumi:"createdAt"` - // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. - Default bool `pulumi:"default"` - // Description of the routing table. - Description string `pulumi:"description"` - // This controls whether dynamic routes are propagated to this routing table - DynamicRoutes bool `pulumi:"dynamicRoutes"` - // Labels are key-value string pairs which can be attached to a resource container - Labels map[string]string `pulumi:"labels"` - // The name of the routing table. - Name string `pulumi:"name"` - // The routing tables ID. - RoutingTableId string `pulumi:"routingTableId"` - // This controls whether the routes for project-to-project communication are created automatically or not. - SystemRoutes bool `pulumi:"systemRoutes"` - // Date-time when the routing table was updated - UpdatedAt string `pulumi:"updatedAt"` +// Identifier of user, service account or client. Usually email address or name in case of clients. +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) } -// GetRoutingTablesItemInput is an input type that accepts GetRoutingTablesItemArgs and GetRoutingTablesItemOutput values. -// You can construct a concrete instance of `GetRoutingTablesItemInput` via: -// -// GetRoutingTablesItemArgs{...} -type GetRoutingTablesItemInput interface { - pulumi.Input +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } - ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput - ToGetRoutingTablesItemOutputWithContext(context.Context) GetRoutingTablesItemOutput +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -type GetRoutingTablesItemArgs struct { - // Date-time when the routing table was created - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. - Default pulumi.BoolInput `pulumi:"default"` - // Description of the routing table. - Description pulumi.StringInput `pulumi:"description"` - // This controls whether dynamic routes are propagated to this routing table - DynamicRoutes pulumi.BoolInput `pulumi:"dynamicRoutes"` - // Labels are key-value string pairs which can be attached to a resource container - Labels pulumi.StringMapInput `pulumi:"labels"` - // The name of the routing table. - Name pulumi.StringInput `pulumi:"name"` - // The routing tables ID. - RoutingTableId pulumi.StringInput `pulumi:"routingTableId"` - // This controls whether the routes for project-to-project communication are created automatically or not. - SystemRoutes pulumi.BoolInput `pulumi:"systemRoutes"` - // Date-time when the routing table was updated - UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { + return o } -func (GetRoutingTablesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { + return o } -func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { - return i.ToGetRoutingTablesItemOutputWithContext(context.Background()) +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding { + return vs[0].([]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)[vs[1].(int)] + }).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) } -func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemOutput) +type GetSecurityGroupRuleIcmpParameters struct { + // ICMP code. Can be set if the protocol is ICMP. + Code int `pulumi:"code"` + // ICMP type. Can be set if the protocol is ICMP. + Type int `pulumi:"type"` } -// GetRoutingTablesItemArrayInput is an input type that accepts GetRoutingTablesItemArray and GetRoutingTablesItemArrayOutput values. -// You can construct a concrete instance of `GetRoutingTablesItemArrayInput` via: +// GetSecurityGroupRuleIcmpParametersInput is an input type that accepts GetSecurityGroupRuleIcmpParametersArgs and GetSecurityGroupRuleIcmpParametersOutput values. +// You can construct a concrete instance of `GetSecurityGroupRuleIcmpParametersInput` via: // -// GetRoutingTablesItemArray{ GetRoutingTablesItemArgs{...} } -type GetRoutingTablesItemArrayInput interface { +// GetSecurityGroupRuleIcmpParametersArgs{...} +type GetSecurityGroupRuleIcmpParametersInput interface { pulumi.Input - ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput - ToGetRoutingTablesItemArrayOutputWithContext(context.Context) GetRoutingTablesItemArrayOutput + ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput + ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Context) GetSecurityGroupRuleIcmpParametersOutput } -type GetRoutingTablesItemArray []GetRoutingTablesItemInput +type GetSecurityGroupRuleIcmpParametersArgs struct { + // ICMP code. Can be set if the protocol is ICMP. + Code pulumi.IntInput `pulumi:"code"` + // ICMP type. Can be set if the protocol is ICMP. + Type pulumi.IntInput `pulumi:"type"` +} -func (GetRoutingTablesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() +func (GetSecurityGroupRuleIcmpParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() } -func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { - return i.ToGetRoutingTablesItemArrayOutputWithContext(context.Background()) +func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { + return i.ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Background()) } -func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemArrayOutput) +func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleIcmpParametersOutput) } -type GetRoutingTablesItemOutput struct{ *pulumi.OutputState } +type GetSecurityGroupRuleIcmpParametersOutput struct{ *pulumi.OutputState } -func (GetRoutingTablesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() +func (GetSecurityGroupRuleIcmpParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() } -func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { +func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { return o } -func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { +func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { return o } -// Date-time when the routing table was created -func (o GetRoutingTablesItemOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.CreatedAt }).(pulumi.StringOutput) +// ICMP code. Can be set if the protocol is ICMP. +func (o GetSecurityGroupRuleIcmpParametersOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Code }).(pulumi.IntOutput) } -// When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. -func (o GetRoutingTablesItemOutput) Default() pulumi.BoolOutput { - return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.Default }).(pulumi.BoolOutput) +// ICMP type. Can be set if the protocol is ICMP. +func (o GetSecurityGroupRuleIcmpParametersOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Type }).(pulumi.IntOutput) } -// Description of the routing table. -func (o GetRoutingTablesItemOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Description }).(pulumi.StringOutput) +type GetSecurityGroupRulePortRange struct { + // The maximum port number. Should be greater or equal to the minimum. + Max int `pulumi:"max"` + // The minimum port number. Should be less or equal to the minimum. + Min int `pulumi:"min"` } -// This controls whether dynamic routes are propagated to this routing table -func (o GetRoutingTablesItemOutput) DynamicRoutes() pulumi.BoolOutput { - return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.DynamicRoutes }).(pulumi.BoolOutput) -} +// GetSecurityGroupRulePortRangeInput is an input type that accepts GetSecurityGroupRulePortRangeArgs and GetSecurityGroupRulePortRangeOutput values. +// You can construct a concrete instance of `GetSecurityGroupRulePortRangeInput` via: +// +// GetSecurityGroupRulePortRangeArgs{...} +type GetSecurityGroupRulePortRangeInput interface { + pulumi.Input -// Labels are key-value string pairs which can be attached to a resource container -func (o GetRoutingTablesItemOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetRoutingTablesItem) map[string]string { return v.Labels }).(pulumi.StringMapOutput) + ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput + ToGetSecurityGroupRulePortRangeOutputWithContext(context.Context) GetSecurityGroupRulePortRangeOutput } -// The name of the routing table. -func (o GetRoutingTablesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Name }).(pulumi.StringOutput) +type GetSecurityGroupRulePortRangeArgs struct { + // The maximum port number. Should be greater or equal to the minimum. + Max pulumi.IntInput `pulumi:"max"` + // The minimum port number. Should be less or equal to the minimum. + Min pulumi.IntInput `pulumi:"min"` } -// The routing tables ID. -func (o GetRoutingTablesItemOutput) RoutingTableId() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.RoutingTableId }).(pulumi.StringOutput) +func (GetSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() } -// This controls whether the routes for project-to-project communication are created automatically or not. -func (o GetRoutingTablesItemOutput) SystemRoutes() pulumi.BoolOutput { - return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.SystemRoutes }).(pulumi.BoolOutput) +func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { + return i.ToGetSecurityGroupRulePortRangeOutputWithContext(context.Background()) } -// Date-time when the routing table was updated -func (o GetRoutingTablesItemOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.UpdatedAt }).(pulumi.StringOutput) +func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRulePortRangeOutput) } -type GetRoutingTablesItemArrayOutput struct{ *pulumi.OutputState } +type GetSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } -func (GetRoutingTablesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() +func (GetSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() } -func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { +func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { return o } -func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { +func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { return o } -func (o GetRoutingTablesItemArrayOutput) Index(i pulumi.IntInput) GetRoutingTablesItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTablesItem { - return vs[0].([]GetRoutingTablesItem)[vs[1].(int)] - }).(GetRoutingTablesItemOutput) +// The maximum port number. Should be greater or equal to the minimum. +func (o GetSecurityGroupRulePortRangeOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Max }).(pulumi.IntOutput) } -type GetSecretsmanagerInstanceKmsKey struct { - // UUID of the key within the STACKIT-KMS to use for the encryption. - KeyId string `pulumi:"keyId"` - // UUID of the keyring where the key is located within the STACKTI-KMS. - KeyRingId string `pulumi:"keyRingId"` - // Version of the key within the STACKIT-KMS to use for the encryption. - KeyVersion int `pulumi:"keyVersion"` - // Service-Account linked to the Key within the STACKIT-KMS. - ServiceAccountEmail string `pulumi:"serviceAccountEmail"` +// The minimum port number. Should be less or equal to the minimum. +func (o GetSecurityGroupRulePortRangeOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Min }).(pulumi.IntOutput) } -// GetSecretsmanagerInstanceKmsKeyInput is an input type that accepts GetSecretsmanagerInstanceKmsKeyArgs and GetSecretsmanagerInstanceKmsKeyOutput values. -// You can construct a concrete instance of `GetSecretsmanagerInstanceKmsKeyInput` via: +type GetSecurityGroupRuleProtocol struct { + // The protocol name which the rule should match. + Name string `pulumi:"name"` + // The protocol number which the rule should match. + Number int `pulumi:"number"` +} + +// GetSecurityGroupRuleProtocolInput is an input type that accepts GetSecurityGroupRuleProtocolArgs and GetSecurityGroupRuleProtocolOutput values. +// You can construct a concrete instance of `GetSecurityGroupRuleProtocolInput` via: // -// GetSecretsmanagerInstanceKmsKeyArgs{...} -type GetSecretsmanagerInstanceKmsKeyInput interface { +// GetSecurityGroupRuleProtocolArgs{...} +type GetSecurityGroupRuleProtocolInput interface { pulumi.Input - ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput - ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Context) GetSecretsmanagerInstanceKmsKeyOutput + ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput + ToGetSecurityGroupRuleProtocolOutputWithContext(context.Context) GetSecurityGroupRuleProtocolOutput } -type GetSecretsmanagerInstanceKmsKeyArgs struct { - // UUID of the key within the STACKIT-KMS to use for the encryption. - KeyId pulumi.StringInput `pulumi:"keyId"` - // UUID of the keyring where the key is located within the STACKTI-KMS. - KeyRingId pulumi.StringInput `pulumi:"keyRingId"` - // Version of the key within the STACKIT-KMS to use for the encryption. - KeyVersion pulumi.IntInput `pulumi:"keyVersion"` - // Service-Account linked to the Key within the STACKIT-KMS. - ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"` +type GetSecurityGroupRuleProtocolArgs struct { + // The protocol name which the rule should match. + Name pulumi.StringInput `pulumi:"name"` + // The protocol number which the rule should match. + Number pulumi.IntInput `pulumi:"number"` } -func (GetSecretsmanagerInstanceKmsKeyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() +func (GetSecurityGroupRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() } -func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { - return i.ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Background()) +func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { + return i.ToGetSecurityGroupRuleProtocolOutputWithContext(context.Background()) } -func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceKmsKeyOutput) +func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleProtocolOutput) } -type GetSecretsmanagerInstanceKmsKeyOutput struct{ *pulumi.OutputState } +type GetSecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } -func (GetSecretsmanagerInstanceKmsKeyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() +func (GetSecurityGroupRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() } -func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { +func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { return o } -func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { +func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { return o } -// UUID of the key within the STACKIT-KMS to use for the encryption. -func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyId() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyId }).(pulumi.StringOutput) -} - -// UUID of the keyring where the key is located within the STACKTI-KMS. -func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyRingId() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyRingId }).(pulumi.StringOutput) -} - -// Version of the key within the STACKIT-KMS to use for the encryption. -func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyVersion() pulumi.IntOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) int { return v.KeyVersion }).(pulumi.IntOutput) +// The protocol name which the rule should match. +func (o GetSecurityGroupRuleProtocolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSecurityGroupRuleProtocol) string { return v.Name }).(pulumi.StringOutput) } -// Service-Account linked to the Key within the STACKIT-KMS. -func (o GetSecretsmanagerInstanceKmsKeyOutput) ServiceAccountEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.ServiceAccountEmail }).(pulumi.StringOutput) +// The protocol number which the rule should match. +func (o GetSecurityGroupRuleProtocolOutput) Number() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRuleProtocol) int { return v.Number }).(pulumi.IntOutput) } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBinding struct { - // A valid role defined for the resource. - Role string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject string `pulumi:"subject"` +type GetServerAgent struct { + // Whether a STACKIT Server Agent is provisioned at the server + Provisioned bool `pulumi:"provisioned"` } -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput values. -// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput` via: +// GetServerAgentInput is an input type that accepts GetServerAgentArgs and GetServerAgentOutput values. +// You can construct a concrete instance of `GetServerAgentInput` via: // -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput interface { +// GetServerAgentArgs{...} +type GetServerAgentInput interface { pulumi.Input - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput + ToGetServerAgentOutput() GetServerAgentOutput + ToGetServerAgentOutputWithContext(context.Context) GetServerAgentOutput } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs struct { - // A valid role defined for the resource. - Role pulumi.StringInput `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject pulumi.StringInput `pulumi:"subject"` +type GetServerAgentArgs struct { + // Whether a STACKIT Server Agent is provisioned at the server + Provisioned pulumi.BoolInput `pulumi:"provisioned"` } -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerAgentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerAgent)(nil)).Elem() } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Background()) +func (i GetServerAgentArgs) ToGetServerAgentOutput() GetServerAgentOutput { + return i.ToGetServerAgentOutputWithContext(context.Background()) } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) +func (i GetServerAgentArgs) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerAgentOutput) } -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput values. -// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput` via: -// -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray{ GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput interface { - pulumi.Input +type GetServerAgentOutput struct{ *pulumi.OutputState } - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput +func (GetServerAgentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerAgent)(nil)).Elem() } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray []GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput +func (o GetServerAgentOutput) ToGetServerAgentOutput() GetServerAgentOutput { + return o +} -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +func (o GetServerAgentOutput) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { + return o } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { - return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) +// Whether a STACKIT Server Agent is provisioned at the server +func (o GetServerAgentOutput) Provisioned() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerAgent) bool { return v.Provisioned }).(pulumi.BoolOutput) } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) +type GetServerBackupScheduleBackupProperties struct { + Name string `pulumi:"name"` + RetentionPeriod int `pulumi:"retentionPeriod"` + VolumeIds []string `pulumi:"volumeIds"` } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } +// GetServerBackupScheduleBackupPropertiesInput is an input type that accepts GetServerBackupScheduleBackupPropertiesArgs and GetServerBackupScheduleBackupPropertiesOutput values. +// You can construct a concrete instance of `GetServerBackupScheduleBackupPropertiesInput` via: +// +// GetServerBackupScheduleBackupPropertiesArgs{...} +type GetServerBackupScheduleBackupPropertiesInput interface { + pulumi.Input -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() + ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput + ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Context) GetServerBackupScheduleBackupPropertiesOutput } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return o +type GetServerBackupScheduleBackupPropertiesArgs struct { + Name pulumi.StringInput `pulumi:"name"` + RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return o +func (GetServerBackupScheduleBackupPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() } -// A valid role defined for the resource. -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) +func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { + return i.ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Background()) } -// Identifier of user, service account or client. Usually email address or name in case of clients. -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) +func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupScheduleBackupPropertiesOutput) } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } +type GetServerBackupScheduleBackupPropertiesOutput struct{ *pulumi.OutputState } -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupScheduleBackupPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { +func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { return o } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { +func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { return o } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerInstanceRoleBindingsV1RoleBinding { - return vs[0].([]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)[vs[1].(int)] - }).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) +func (o GetServerBackupScheduleBackupPropertiesOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) string { return v.Name }).(pulumi.StringOutput) } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding struct { - // A valid role defined for the resource. - Role string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject string `pulumi:"subject"` +func (o GetServerBackupScheduleBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { + return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) } -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput values. -// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput` via: +func (o GetServerBackupScheduleBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type GetServerBackupSchedulesItem struct { + // Backup schedule details for the backups. + BackupProperties GetServerBackupSchedulesItemBackupProperties `pulumi:"backupProperties"` + BackupScheduleId int `pulumi:"backupScheduleId"` + // Is the backup schedule enabled or disabled. + Enabled bool `pulumi:"enabled"` + // The backup schedule name. + Name string `pulumi:"name"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule string `pulumi:"rrule"` +} + +// GetServerBackupSchedulesItemInput is an input type that accepts GetServerBackupSchedulesItemArgs and GetServerBackupSchedulesItemOutput values. +// You can construct a concrete instance of `GetServerBackupSchedulesItemInput` via: // -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput interface { +// GetServerBackupSchedulesItemArgs{...} +type GetServerBackupSchedulesItemInput interface { pulumi.Input - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput + ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput + ToGetServerBackupSchedulesItemOutputWithContext(context.Context) GetServerBackupSchedulesItemOutput } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs struct { - // A valid role defined for the resource. - Role pulumi.StringInput `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject pulumi.StringInput `pulumi:"subject"` +type GetServerBackupSchedulesItemArgs struct { + // Backup schedule details for the backups. + BackupProperties GetServerBackupSchedulesItemBackupPropertiesInput `pulumi:"backupProperties"` + BackupScheduleId pulumi.IntInput `pulumi:"backupScheduleId"` + // Is the backup schedule enabled or disabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The backup schedule name. + Name pulumi.StringInput `pulumi:"name"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule pulumi.StringInput `pulumi:"rrule"` } -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupSchedulesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { - return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Background()) +func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { + return i.ToGetServerBackupSchedulesItemOutputWithContext(context.Background()) } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) +func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemOutput) } -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput values. -// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput` via: +// GetServerBackupSchedulesItemArrayInput is an input type that accepts GetServerBackupSchedulesItemArray and GetServerBackupSchedulesItemArrayOutput values. +// You can construct a concrete instance of `GetServerBackupSchedulesItemArrayInput` via: // -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray{ GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput interface { +// GetServerBackupSchedulesItemArray{ GetServerBackupSchedulesItemArgs{...} } +type GetServerBackupSchedulesItemArrayInput interface { pulumi.Input - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput + ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput + ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Context) GetServerBackupSchedulesItemArrayOutput } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray []GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput +type GetServerBackupSchedulesItemArray []GetServerBackupSchedulesItemInput -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupSchedulesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { - return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) +func (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { + return i.ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Background()) } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) +func (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemArrayOutput) } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } +type GetServerBackupSchedulesItemOutput struct{ *pulumi.OutputState } -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupSchedulesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { +func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { return o } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { +func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { return o } -// A valid role defined for the resource. -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) +// Backup schedule details for the backups. +func (o GetServerBackupSchedulesItemOutput) BackupProperties() GetServerBackupSchedulesItemBackupPropertiesOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) GetServerBackupSchedulesItemBackupProperties { + return v.BackupProperties + }).(GetServerBackupSchedulesItemBackupPropertiesOutput) } -// Identifier of user, service account or client. Usually email address or name in case of clients. -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) +func (o GetServerBackupSchedulesItemOutput) BackupScheduleId() pulumi.IntOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) int { return v.BackupScheduleId }).(pulumi.IntOutput) } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } +// Is the backup schedule enabled or disabled. +func (o GetServerBackupSchedulesItemOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) +} -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +// The backup schedule name. +func (o GetServerBackupSchedulesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Name }).(pulumi.StringOutput) } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { +// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. +func (o GetServerBackupSchedulesItemOutput) Rrule() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) +} + +type GetServerBackupSchedulesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetServerBackupSchedulesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() +} + +func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { return o } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { +func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { return o } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding { - return vs[0].([]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)[vs[1].(int)] - }).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) +func (o GetServerBackupSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerBackupSchedulesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerBackupSchedulesItem { + return vs[0].([]GetServerBackupSchedulesItem)[vs[1].(int)] + }).(GetServerBackupSchedulesItemOutput) } -type GetSecurityGroupRuleIcmpParameters struct { - // ICMP code. Can be set if the protocol is ICMP. - Code int `pulumi:"code"` - // ICMP type. Can be set if the protocol is ICMP. - Type int `pulumi:"type"` +type GetServerBackupSchedulesItemBackupProperties struct { + Name string `pulumi:"name"` + RetentionPeriod int `pulumi:"retentionPeriod"` + VolumeIds []string `pulumi:"volumeIds"` } -// GetSecurityGroupRuleIcmpParametersInput is an input type that accepts GetSecurityGroupRuleIcmpParametersArgs and GetSecurityGroupRuleIcmpParametersOutput values. -// You can construct a concrete instance of `GetSecurityGroupRuleIcmpParametersInput` via: +// GetServerBackupSchedulesItemBackupPropertiesInput is an input type that accepts GetServerBackupSchedulesItemBackupPropertiesArgs and GetServerBackupSchedulesItemBackupPropertiesOutput values. +// You can construct a concrete instance of `GetServerBackupSchedulesItemBackupPropertiesInput` via: // -// GetSecurityGroupRuleIcmpParametersArgs{...} -type GetSecurityGroupRuleIcmpParametersInput interface { +// GetServerBackupSchedulesItemBackupPropertiesArgs{...} +type GetServerBackupSchedulesItemBackupPropertiesInput interface { pulumi.Input - ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput - ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Context) GetSecurityGroupRuleIcmpParametersOutput + ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput + ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput } -type GetSecurityGroupRuleIcmpParametersArgs struct { - // ICMP code. Can be set if the protocol is ICMP. - Code pulumi.IntInput `pulumi:"code"` - // ICMP type. Can be set if the protocol is ICMP. - Type pulumi.IntInput `pulumi:"type"` +type GetServerBackupSchedulesItemBackupPropertiesArgs struct { + Name pulumi.StringInput `pulumi:"name"` + RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` } -func (GetSecurityGroupRuleIcmpParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() +func (GetServerBackupSchedulesItemBackupPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(nil)).Elem() } -func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { - return i.ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Background()) +func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { + return i.ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Background()) } -func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleIcmpParametersOutput) +func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemBackupPropertiesOutput) } -type GetSecurityGroupRuleIcmpParametersOutput struct{ *pulumi.OutputState } +type GetServerBackupSchedulesItemBackupPropertiesOutput struct{ *pulumi.OutputState } -func (GetSecurityGroupRuleIcmpParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() +func (GetServerBackupSchedulesItemBackupPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(nil)).Elem() } -func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { return o } -func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { return o } -// ICMP code. Can be set if the protocol is ICMP. -func (o GetSecurityGroupRuleIcmpParametersOutput) Code() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Code }).(pulumi.IntOutput) +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) } -// ICMP type. Can be set if the protocol is ICMP. -func (o GetSecurityGroupRuleIcmpParametersOutput) Type() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Type }).(pulumi.IntOutput) +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) } -type GetSecurityGroupRulePortRange struct { - // The maximum port number. Should be greater or equal to the minimum. - Max int `pulumi:"max"` - // The minimum port number. Should be less or equal to the minimum. - Min int `pulumi:"min"` +type GetServerBootVolume struct { + // Delete the volume during the termination of the server. + DeleteOnTermination bool `pulumi:"deleteOnTermination"` + // The ID of the boot volume + Id string `pulumi:"id"` } -// GetSecurityGroupRulePortRangeInput is an input type that accepts GetSecurityGroupRulePortRangeArgs and GetSecurityGroupRulePortRangeOutput values. -// You can construct a concrete instance of `GetSecurityGroupRulePortRangeInput` via: +// GetServerBootVolumeInput is an input type that accepts GetServerBootVolumeArgs and GetServerBootVolumeOutput values. +// You can construct a concrete instance of `GetServerBootVolumeInput` via: // -// GetSecurityGroupRulePortRangeArgs{...} -type GetSecurityGroupRulePortRangeInput interface { +// GetServerBootVolumeArgs{...} +type GetServerBootVolumeInput interface { pulumi.Input - ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput - ToGetSecurityGroupRulePortRangeOutputWithContext(context.Context) GetSecurityGroupRulePortRangeOutput + ToGetServerBootVolumeOutput() GetServerBootVolumeOutput + ToGetServerBootVolumeOutputWithContext(context.Context) GetServerBootVolumeOutput } -type GetSecurityGroupRulePortRangeArgs struct { - // The maximum port number. Should be greater or equal to the minimum. - Max pulumi.IntInput `pulumi:"max"` - // The minimum port number. Should be less or equal to the minimum. - Min pulumi.IntInput `pulumi:"min"` +type GetServerBootVolumeArgs struct { + // Delete the volume during the termination of the server. + DeleteOnTermination pulumi.BoolInput `pulumi:"deleteOnTermination"` + // The ID of the boot volume + Id pulumi.StringInput `pulumi:"id"` } -func (GetSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() +func (GetServerBootVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() } -func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { - return i.ToGetSecurityGroupRulePortRangeOutputWithContext(context.Background()) +func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { + return i.ToGetServerBootVolumeOutputWithContext(context.Background()) } -func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRulePortRangeOutput) +func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBootVolumeOutput) } -type GetSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } +type GetServerBootVolumeOutput struct{ *pulumi.OutputState } -func (GetSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() +func (GetServerBootVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() } -func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { +func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { return o } -func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { +func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { return o } -// The maximum port number. Should be greater or equal to the minimum. -func (o GetSecurityGroupRulePortRangeOutput) Max() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Max }).(pulumi.IntOutput) +// Delete the volume during the termination of the server. +func (o GetServerBootVolumeOutput) DeleteOnTermination() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerBootVolume) bool { return v.DeleteOnTermination }).(pulumi.BoolOutput) } -// The minimum port number. Should be less or equal to the minimum. -func (o GetSecurityGroupRulePortRangeOutput) Min() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Min }).(pulumi.IntOutput) +// The ID of the boot volume +func (o GetServerBootVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBootVolume) string { return v.Id }).(pulumi.StringOutput) } -type GetSecurityGroupRuleProtocol struct { - // The protocol name which the rule should match. +type GetServerUpdateSchedulesItem struct { + // Is the update schedule enabled or disabled. + Enabled bool `pulumi:"enabled"` + // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. + MaintenanceWindow int `pulumi:"maintenanceWindow"` + // The update schedule name. Name string `pulumi:"name"` - // The protocol number which the rule should match. - Number int `pulumi:"number"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule string `pulumi:"rrule"` + UpdateScheduleId int `pulumi:"updateScheduleId"` } -// GetSecurityGroupRuleProtocolInput is an input type that accepts GetSecurityGroupRuleProtocolArgs and GetSecurityGroupRuleProtocolOutput values. -// You can construct a concrete instance of `GetSecurityGroupRuleProtocolInput` via: +// GetServerUpdateSchedulesItemInput is an input type that accepts GetServerUpdateSchedulesItemArgs and GetServerUpdateSchedulesItemOutput values. +// You can construct a concrete instance of `GetServerUpdateSchedulesItemInput` via: // -// GetSecurityGroupRuleProtocolArgs{...} -type GetSecurityGroupRuleProtocolInput interface { +// GetServerUpdateSchedulesItemArgs{...} +type GetServerUpdateSchedulesItemInput interface { pulumi.Input - ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput - ToGetSecurityGroupRuleProtocolOutputWithContext(context.Context) GetSecurityGroupRuleProtocolOutput + ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput + ToGetServerUpdateSchedulesItemOutputWithContext(context.Context) GetServerUpdateSchedulesItemOutput } -type GetSecurityGroupRuleProtocolArgs struct { - // The protocol name which the rule should match. +type GetServerUpdateSchedulesItemArgs struct { + // Is the update schedule enabled or disabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. + MaintenanceWindow pulumi.IntInput `pulumi:"maintenanceWindow"` + // The update schedule name. Name pulumi.StringInput `pulumi:"name"` - // The protocol number which the rule should match. - Number pulumi.IntInput `pulumi:"number"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule pulumi.StringInput `pulumi:"rrule"` + UpdateScheduleId pulumi.IntInput `pulumi:"updateScheduleId"` } -func (GetSecurityGroupRuleProtocolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() +func (GetServerUpdateSchedulesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() } -func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { - return i.ToGetSecurityGroupRuleProtocolOutputWithContext(context.Background()) +func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { + return i.ToGetServerUpdateSchedulesItemOutputWithContext(context.Background()) } -func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleProtocolOutput) +func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemOutput) } -type GetSecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } +// GetServerUpdateSchedulesItemArrayInput is an input type that accepts GetServerUpdateSchedulesItemArray and GetServerUpdateSchedulesItemArrayOutput values. +// You can construct a concrete instance of `GetServerUpdateSchedulesItemArrayInput` via: +// +// GetServerUpdateSchedulesItemArray{ GetServerUpdateSchedulesItemArgs{...} } +type GetServerUpdateSchedulesItemArrayInput interface { + pulumi.Input -func (GetSecurityGroupRuleProtocolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() + ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput + ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Context) GetServerUpdateSchedulesItemArrayOutput } -func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { - return o +type GetServerUpdateSchedulesItemArray []GetServerUpdateSchedulesItemInput + +func (GetServerUpdateSchedulesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() } -func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { - return o +func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { + return i.ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Background()) } -// The protocol name which the rule should match. -func (o GetSecurityGroupRuleProtocolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSecurityGroupRuleProtocol) string { return v.Name }).(pulumi.StringOutput) +func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemArrayOutput) } -// The protocol number which the rule should match. -func (o GetSecurityGroupRuleProtocolOutput) Number() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRuleProtocol) int { return v.Number }).(pulumi.IntOutput) +type GetServerUpdateSchedulesItemOutput struct{ *pulumi.OutputState } + +func (GetServerUpdateSchedulesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() } -type GetServerAgent struct { - // Whether a STACKIT Server Agent is provisioned at the server - Provisioned bool `pulumi:"provisioned"` +func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { + return o } -// GetServerAgentInput is an input type that accepts GetServerAgentArgs and GetServerAgentOutput values. -// You can construct a concrete instance of `GetServerAgentInput` via: -// -// GetServerAgentArgs{...} -type GetServerAgentInput interface { - pulumi.Input +func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { + return o +} - ToGetServerAgentOutput() GetServerAgentOutput - ToGetServerAgentOutputWithContext(context.Context) GetServerAgentOutput +// Is the update schedule enabled or disabled. +func (o GetServerUpdateSchedulesItemOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetServerAgentArgs struct { - // Whether a STACKIT Server Agent is provisioned at the server - Provisioned pulumi.BoolInput `pulumi:"provisioned"` +// Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. +func (o GetServerUpdateSchedulesItemOutput) MaintenanceWindow() pulumi.IntOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.MaintenanceWindow }).(pulumi.IntOutput) } -func (GetServerAgentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerAgent)(nil)).Elem() +// The update schedule name. +func (o GetServerUpdateSchedulesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Name }).(pulumi.StringOutput) } -func (i GetServerAgentArgs) ToGetServerAgentOutput() GetServerAgentOutput { - return i.ToGetServerAgentOutputWithContext(context.Background()) +// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. +func (o GetServerUpdateSchedulesItemOutput) Rrule() pulumi.StringOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) } -func (i GetServerAgentArgs) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerAgentOutput) +func (o GetServerUpdateSchedulesItemOutput) UpdateScheduleId() pulumi.IntOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.UpdateScheduleId }).(pulumi.IntOutput) } -type GetServerAgentOutput struct{ *pulumi.OutputState } +type GetServerUpdateSchedulesItemArrayOutput struct{ *pulumi.OutputState } -func (GetServerAgentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerAgent)(nil)).Elem() +func (GetServerUpdateSchedulesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() } -func (o GetServerAgentOutput) ToGetServerAgentOutput() GetServerAgentOutput { +func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { return o } -func (o GetServerAgentOutput) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { +func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { return o } -// Whether a STACKIT Server Agent is provisioned at the server -func (o GetServerAgentOutput) Provisioned() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerAgent) bool { return v.Provisioned }).(pulumi.BoolOutput) +func (o GetServerUpdateSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerUpdateSchedulesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerUpdateSchedulesItem { + return vs[0].([]GetServerUpdateSchedulesItem)[vs[1].(int)] + }).(GetServerUpdateSchedulesItemOutput) } -type GetServerBackupScheduleBackupProperties struct { - Name string `pulumi:"name"` - RetentionPeriod int `pulumi:"retentionPeriod"` - VolumeIds []string `pulumi:"volumeIds"` +type GetServiceAccountFederatedIdentityProviderAssertion struct { + // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + Item string `pulumi:"item"` + // The assertion operator. Currently, the only supported operator is "equals". + Operator string `pulumi:"operator"` + // The assertion value. + Value string `pulumi:"value"` +} + +// GetServiceAccountFederatedIdentityProviderAssertionInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArgs and GetServiceAccountFederatedIdentityProviderAssertionOutput values. +// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionInput` via: +// +// GetServiceAccountFederatedIdentityProviderAssertionArgs{...} +type GetServiceAccountFederatedIdentityProviderAssertionInput interface { + pulumi.Input + + ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput + ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput +} + +type GetServiceAccountFederatedIdentityProviderAssertionArgs struct { + // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + Item pulumi.StringInput `pulumi:"item"` + // The assertion operator. Currently, the only supported operator is "equals". + Operator pulumi.StringInput `pulumi:"operator"` + // The assertion value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetServiceAccountFederatedIdentityProviderAssertionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +} + +func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { + return i.ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Background()) } -// GetServerBackupScheduleBackupPropertiesInput is an input type that accepts GetServerBackupScheduleBackupPropertiesArgs and GetServerBackupScheduleBackupPropertiesOutput values. -// You can construct a concrete instance of `GetServerBackupScheduleBackupPropertiesInput` via: +func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionOutput) +} + +// GetServiceAccountFederatedIdentityProviderAssertionArrayInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArray and GetServiceAccountFederatedIdentityProviderAssertionArrayOutput values. +// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionArrayInput` via: // -// GetServerBackupScheduleBackupPropertiesArgs{...} -type GetServerBackupScheduleBackupPropertiesInput interface { +// GetServiceAccountFederatedIdentityProviderAssertionArray{ GetServiceAccountFederatedIdentityProviderAssertionArgs{...} } +type GetServiceAccountFederatedIdentityProviderAssertionArrayInput interface { pulumi.Input - ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput - ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Context) GetServerBackupScheduleBackupPropertiesOutput + ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput + ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput } -type GetServerBackupScheduleBackupPropertiesArgs struct { - Name pulumi.StringInput `pulumi:"name"` - RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` - VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` -} +type GetServiceAccountFederatedIdentityProviderAssertionArray []GetServiceAccountFederatedIdentityProviderAssertionInput -func (GetServerBackupScheduleBackupPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() +func (GetServiceAccountFederatedIdentityProviderAssertionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { - return i.ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Background()) +func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return i.ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Background()) } -func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupScheduleBackupPropertiesOutput) +func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) } -type GetServerBackupScheduleBackupPropertiesOutput struct{ *pulumi.OutputState } +type GetServiceAccountFederatedIdentityProviderAssertionOutput struct{ *pulumi.OutputState } -func (GetServerBackupScheduleBackupPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() +func (GetServiceAccountFederatedIdentityProviderAssertionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { return o } -func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { return o } -func (o GetServerBackupScheduleBackupPropertiesOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) string { return v.Name }).(pulumi.StringOutput) -} - -func (o GetServerBackupScheduleBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { - return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) +// 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) } -func (o GetServerBackupScheduleBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +// The assertion operator. Currently, the only supported operator is "equals". +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Operator }).(pulumi.StringOutput) } -type GetServerBackupSchedulesItem struct { - // Backup schedule details for the backups. - BackupProperties GetServerBackupSchedulesItemBackupProperties `pulumi:"backupProperties"` - BackupScheduleId int `pulumi:"backupScheduleId"` - // Is the backup schedule enabled or disabled. - Enabled bool `pulumi:"enabled"` - // The backup schedule name. - Name string `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule string `pulumi:"rrule"` +// The assertion value. +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) } -// GetServerBackupSchedulesItemInput is an input type that accepts GetServerBackupSchedulesItemArgs and GetServerBackupSchedulesItemOutput values. -// You can construct a concrete instance of `GetServerBackupSchedulesItemInput` via: -// -// GetServerBackupSchedulesItemArgs{...} -type GetServerBackupSchedulesItemInput interface { - pulumi.Input +type GetServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } - ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput - ToGetServerBackupSchedulesItemOutputWithContext(context.Context) GetServerBackupSchedulesItemOutput +func (GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -type GetServerBackupSchedulesItemArgs struct { - // Backup schedule details for the backups. - BackupProperties GetServerBackupSchedulesItemBackupPropertiesInput `pulumi:"backupProperties"` - BackupScheduleId pulumi.IntInput `pulumi:"backupScheduleId"` - // Is the backup schedule enabled or disabled. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // The backup schedule name. - Name pulumi.StringInput `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule pulumi.StringInput `pulumi:"rrule"` +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return o } -func (GetServerBackupSchedulesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return o } -func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { - return i.ToGetServerBackupSchedulesItemOutputWithContext(context.Background()) +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) Index(i pulumi.IntInput) GetServiceAccountFederatedIdentityProviderAssertionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServiceAccountFederatedIdentityProviderAssertion { + return vs[0].([]GetServiceAccountFederatedIdentityProviderAssertion)[vs[1].(int)] + }).(GetServiceAccountFederatedIdentityProviderAssertionOutput) } -func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemOutput) +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"` } -// GetServerBackupSchedulesItemArrayInput is an input type that accepts GetServerBackupSchedulesItemArray and GetServerBackupSchedulesItemArrayOutput values. -// You can construct a concrete instance of `GetServerBackupSchedulesItemArrayInput` via: +// GetServiceAccountsItemInput is an input type that accepts GetServiceAccountsItemArgs and GetServiceAccountsItemOutput values. +// You can construct a concrete instance of `GetServiceAccountsItemInput` via: // -// GetServerBackupSchedulesItemArray{ GetServerBackupSchedulesItemArgs{...} } -type GetServerBackupSchedulesItemArrayInput interface { +// GetServiceAccountsItemArgs{...} +type GetServiceAccountsItemInput interface { pulumi.Input - ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput - ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Context) GetServerBackupSchedulesItemArrayOutput -} - -type GetServerBackupSchedulesItemArray []GetServerBackupSchedulesItemInput - -func (GetServerBackupSchedulesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() + ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput + ToGetServiceAccountsItemOutputWithContext(context.Context) GetServiceAccountsItemOutput } -func (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { - return i.ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Background()) +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 (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemArrayOutput) +func (GetServiceAccountsItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() } -type GetServerBackupSchedulesItemOutput struct{ *pulumi.OutputState } - -func (GetServerBackupSchedulesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() +func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { + return i.ToGetServiceAccountsItemOutputWithContext(context.Background()) } -func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { - return o +func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemOutput) } -func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { - return o -} +// 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 -// Backup schedule details for the backups. -func (o GetServerBackupSchedulesItemOutput) BackupProperties() GetServerBackupSchedulesItemBackupPropertiesOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) GetServerBackupSchedulesItemBackupProperties { - return v.BackupProperties - }).(GetServerBackupSchedulesItemBackupPropertiesOutput) + ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput + ToGetServiceAccountsItemArrayOutputWithContext(context.Context) GetServiceAccountsItemArrayOutput } -func (o GetServerBackupSchedulesItemOutput) BackupScheduleId() pulumi.IntOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) int { return v.BackupScheduleId }).(pulumi.IntOutput) -} +type GetServiceAccountsItemArray []GetServiceAccountsItemInput -// Is the backup schedule enabled or disabled. -func (o GetServerBackupSchedulesItemOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) +func (GetServiceAccountsItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() } -// The backup schedule name. -func (o GetServerBackupSchedulesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Name }).(pulumi.StringOutput) +func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { + return i.ToGetServiceAccountsItemArrayOutputWithContext(context.Background()) } -// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. -func (o GetServerBackupSchedulesItemOutput) Rrule() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) +func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemArrayOutput) } -type GetServerBackupSchedulesItemArrayOutput struct{ *pulumi.OutputState } +type GetServiceAccountsItemOutput struct{ *pulumi.OutputState } -func (GetServerBackupSchedulesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() +func (GetServiceAccountsItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() } -func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { +func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { return o } -func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { +func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { return o } -func (o GetServerBackupSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerBackupSchedulesItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerBackupSchedulesItem { - return vs[0].([]GetServerBackupSchedulesItem)[vs[1].(int)] - }).(GetServerBackupSchedulesItemOutput) +// Email of the service account. +func (o GetServiceAccountsItemOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Email }).(pulumi.StringOutput) } -type GetServerBackupSchedulesItemBackupProperties struct { - Name string `pulumi:"name"` - RetentionPeriod int `pulumi:"retentionPeriod"` - VolumeIds []string `pulumi:"volumeIds"` +// Name of the service account. +func (o GetServiceAccountsItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Name }).(pulumi.StringOutput) } -// GetServerBackupSchedulesItemBackupPropertiesInput is an input type that accepts GetServerBackupSchedulesItemBackupPropertiesArgs and GetServerBackupSchedulesItemBackupPropertiesOutput values. -// You can construct a concrete instance of `GetServerBackupSchedulesItemBackupPropertiesInput` via: -// -// GetServerBackupSchedulesItemBackupPropertiesArgs{...} -type GetServerBackupSchedulesItemBackupPropertiesInput interface { - pulumi.Input - - ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput - ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput +// 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 GetServerBackupSchedulesItemBackupPropertiesArgs struct { - Name pulumi.StringInput `pulumi:"name"` - RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` - VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` -} +type GetServiceAccountsItemArrayOutput struct{ *pulumi.OutputState } -func (GetServerBackupSchedulesItemBackupPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(nil)).Elem() +func (GetServiceAccountsItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() } -func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { - return i.ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Background()) +func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { + return o } -func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemBackupPropertiesOutput) +func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { + return o } -type GetServerBackupSchedulesItemBackupPropertiesOutput struct{ *pulumi.OutputState } +func (o GetServiceAccountsItemArrayOutput) Index(i pulumi.IntInput) GetServiceAccountsItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServiceAccountsItem { + return vs[0].([]GetServiceAccountsItem)[vs[1].(int)] + }).(GetServiceAccountsItemOutput) +} -func (GetServerBackupSchedulesItemBackupPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(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 GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { - 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 GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { - return o + ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput + ToGetSfsExportPolicyRuleOutputWithContext(context.Context) GetSfsExportPolicyRuleOutput } -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) string { return v.Name }).(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"` } -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) +func (GetSfsExportPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() } -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { + return i.ToGetSfsExportPolicyRuleOutputWithContext(context.Background()) } -type GetServerBootVolume struct { - // Delete the volume during the termination of the server. - DeleteOnTermination bool `pulumi:"deleteOnTermination"` - // The ID of the boot volume - Id string `pulumi:"id"` +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleOutput) } -// GetServerBootVolumeInput is an input type that accepts GetServerBootVolumeArgs and GetServerBootVolumeOutput values. -// You can construct a concrete instance of `GetServerBootVolumeInput` via: +// GetSfsExportPolicyRuleArrayInput is an input type that accepts GetSfsExportPolicyRuleArray and GetSfsExportPolicyRuleArrayOutput values. +// You can construct a concrete instance of `GetSfsExportPolicyRuleArrayInput` via: // -// GetServerBootVolumeArgs{...} -type GetServerBootVolumeInput interface { +// GetSfsExportPolicyRuleArray{ GetSfsExportPolicyRuleArgs{...} } +type GetSfsExportPolicyRuleArrayInput interface { pulumi.Input - ToGetServerBootVolumeOutput() GetServerBootVolumeOutput - ToGetServerBootVolumeOutputWithContext(context.Context) GetServerBootVolumeOutput + ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput + ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Context) GetSfsExportPolicyRuleArrayOutput } -type GetServerBootVolumeArgs struct { - // Delete the volume during the termination of the server. - DeleteOnTermination pulumi.BoolInput `pulumi:"deleteOnTermination"` - // The ID of the boot volume - Id pulumi.StringInput `pulumi:"id"` -} +type GetSfsExportPolicyRuleArray []GetSfsExportPolicyRuleInput -func (GetServerBootVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() +func (GetSfsExportPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() } -func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { - return i.ToGetServerBootVolumeOutputWithContext(context.Background()) +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { + return i.ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Background()) } -func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBootVolumeOutput) +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleArrayOutput) } -type GetServerBootVolumeOutput struct{ *pulumi.OutputState } +type GetSfsExportPolicyRuleOutput struct{ *pulumi.OutputState } -func (GetServerBootVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() +func (GetSfsExportPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() } -func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { return o } -func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { return o } -// Delete the volume during the termination of the server. -func (o GetServerBootVolumeOutput) DeleteOnTermination() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerBootVolume) bool { return v.DeleteOnTermination }).(pulumi.BoolOutput) -} - -// The ID of the boot volume -func (o GetServerBootVolumeOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBootVolume) string { return v.Id }).(pulumi.StringOutput) -} - -type GetServerUpdateSchedulesItem struct { - // Is the update schedule enabled or disabled. - Enabled bool `pulumi:"enabled"` - // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. - MaintenanceWindow int `pulumi:"maintenanceWindow"` - // The update schedule name. - Name string `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule string `pulumi:"rrule"` - UpdateScheduleId int `pulumi:"updateScheduleId"` -} - -// GetServerUpdateSchedulesItemInput is an input type that accepts GetServerUpdateSchedulesItemArgs and GetServerUpdateSchedulesItemOutput values. -// You can construct a concrete instance of `GetServerUpdateSchedulesItemInput` via: -// -// GetServerUpdateSchedulesItemArgs{...} -type GetServerUpdateSchedulesItemInput interface { - pulumi.Input - - ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput - ToGetServerUpdateSchedulesItemOutputWithContext(context.Context) GetServerUpdateSchedulesItemOutput +// Description of the Rule +func (o GetSfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) } -type GetServerUpdateSchedulesItemArgs struct { - // Is the update schedule enabled or disabled. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. - MaintenanceWindow pulumi.IntInput `pulumi:"maintenanceWindow"` - // The update schedule name. - Name pulumi.StringInput `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule pulumi.StringInput `pulumi:"rrule"` - UpdateScheduleId pulumi.IntInput `pulumi:"updateScheduleId"` +// 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 (GetServerUpdateSchedulesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() +// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied +func (o GetSfsExportPolicyRuleOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) } -func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { - return i.ToGetServerUpdateSchedulesItemOutputWithContext(context.Background()) +// Flag to indicate if client IPs matching this rule can only mount the share in read only mode +func (o GetSfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.ReadOnly }).(pulumi.BoolOutput) } -func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemOutput) +// Flag to honor set UUID +func (o GetSfsExportPolicyRuleOutput) SetUuid() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SetUuid }).(pulumi.BoolOutput) } -// GetServerUpdateSchedulesItemArrayInput is an input type that accepts GetServerUpdateSchedulesItemArray and GetServerUpdateSchedulesItemArrayOutput values. -// You can construct a concrete instance of `GetServerUpdateSchedulesItemArrayInput` via: -// -// GetServerUpdateSchedulesItemArray{ GetServerUpdateSchedulesItemArgs{...} } -type GetServerUpdateSchedulesItemArrayInput interface { - pulumi.Input - - ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput - ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Context) GetServerUpdateSchedulesItemArrayOutput +// 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 GetServerUpdateSchedulesItemArray []GetServerUpdateSchedulesItemInput +type GetSfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } -func (GetServerUpdateSchedulesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() +func (GetSfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() } -func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { - return i.ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Background()) +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { + return o } -func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemArrayOutput) +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { + return o } -type GetServerUpdateSchedulesItemOutput struct{ *pulumi.OutputState } - -func (GetServerUpdateSchedulesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() +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) } -func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { - return o +type GetSfsResourcePoolSnapshotPolicy struct { + // ID of the snapshot policy. + Id string `pulumi:"id"` + // Name of the snapshot policy. + Name string `pulumi:"name"` } -func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { - return o -} +// 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 -// Is the update schedule enabled or disabled. -func (o GetServerUpdateSchedulesItemOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) + ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput + ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Context) GetSfsResourcePoolSnapshotPolicyOutput } -// Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. -func (o GetServerUpdateSchedulesItemOutput) MaintenanceWindow() pulumi.IntOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.MaintenanceWindow }).(pulumi.IntOutput) +type GetSfsResourcePoolSnapshotPolicyArgs struct { + // ID of the snapshot policy. + Id pulumi.StringInput `pulumi:"id"` + // Name of the snapshot policy. + Name pulumi.StringInput `pulumi:"name"` } -// The update schedule name. -func (o GetServerUpdateSchedulesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Name }).(pulumi.StringOutput) +func (GetSfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() } -// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. -func (o GetServerUpdateSchedulesItemOutput) Rrule() pulumi.StringOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) +func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { + return i.ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) } -func (o GetServerUpdateSchedulesItemOutput) UpdateScheduleId() pulumi.IntOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.UpdateScheduleId }).(pulumi.IntOutput) +func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotPolicyOutput) } -type GetServerUpdateSchedulesItemArrayOutput struct{ *pulumi.OutputState } +type GetSfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } -func (GetServerUpdateSchedulesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() +func (GetSfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { +func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { return o } -func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { +func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { return o } -func (o GetServerUpdateSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerUpdateSchedulesItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerUpdateSchedulesItem { - return vs[0].([]GetServerUpdateSchedulesItem)[vs[1].(int)] - }).(GetServerUpdateSchedulesItemOutput) +// ID of the snapshot policy. +func (o GetSfsResourcePoolSnapshotPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Id }).(pulumi.StringOutput) } -type GetServiceAccountFederatedIdentityProviderAssertion struct { - // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. - Item string `pulumi:"item"` - // The assertion operator. Currently, the only supported operator is "equals". - Operator string `pulumi:"operator"` - // The assertion value. - Value string `pulumi:"value"` +// Name of the snapshot policy. +func (o GetSfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Name }).(pulumi.StringOutput) } -// GetServiceAccountFederatedIdentityProviderAssertionInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArgs and GetServiceAccountFederatedIdentityProviderAssertionOutput values. -// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionInput` via: +type GetSfsResourcePoolSnapshotSnapshot struct { + // (optional) A comment to add more information about a snapshot + Comment string `pulumi:"comment"` + // creation date of the snapshot + CreatedAt string `pulumi:"createdAt"` + // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + LogicalSizeGigabytes int `pulumi:"logicalSizeGigabytes"` + // ID of the Resource Pool of the Snapshot + ResourcePoolId string `pulumi:"resourcePoolId"` + // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + SizeGigabytes int `pulumi:"sizeGigabytes"` + // Name of the Resource Pool Snapshot + SnapshotName string `pulumi:"snapshotName"` +} + +// GetSfsResourcePoolSnapshotSnapshotInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArgs and GetSfsResourcePoolSnapshotSnapshotOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotInput` via: // -// GetServiceAccountFederatedIdentityProviderAssertionArgs{...} -type GetServiceAccountFederatedIdentityProviderAssertionInput interface { +// GetSfsResourcePoolSnapshotSnapshotArgs{...} +type GetSfsResourcePoolSnapshotSnapshotInput interface { pulumi.Input - ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput - ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput + ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput + ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotOutput } -type GetServiceAccountFederatedIdentityProviderAssertionArgs struct { - // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. - Item pulumi.StringInput `pulumi:"item"` - // The assertion operator. Currently, the only supported operator is "equals". - Operator pulumi.StringInput `pulumi:"operator"` - // The assertion value. - Value pulumi.StringInput `pulumi:"value"` +type 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 (GetServiceAccountFederatedIdentityProviderAssertionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (GetSfsResourcePoolSnapshotSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { - return i.ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Background()) +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Background()) } -func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionOutput) +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotOutput) } -// GetServiceAccountFederatedIdentityProviderAssertionArrayInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArray and GetServiceAccountFederatedIdentityProviderAssertionArrayOutput values. -// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionArrayInput` via: +// GetSfsResourcePoolSnapshotSnapshotArrayInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArray and GetSfsResourcePoolSnapshotSnapshotArrayOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotArrayInput` via: // -// GetServiceAccountFederatedIdentityProviderAssertionArray{ GetServiceAccountFederatedIdentityProviderAssertionArgs{...} } -type GetServiceAccountFederatedIdentityProviderAssertionArrayInput interface { +// GetSfsResourcePoolSnapshotSnapshotArray{ GetSfsResourcePoolSnapshotSnapshotArgs{...} } +type GetSfsResourcePoolSnapshotSnapshotArrayInput interface { pulumi.Input - ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput - ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput + ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput + ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput } -type GetServiceAccountFederatedIdentityProviderAssertionArray []GetServiceAccountFederatedIdentityProviderAssertionInput +type GetSfsResourcePoolSnapshotSnapshotArray []GetSfsResourcePoolSnapshotSnapshotInput -func (GetServiceAccountFederatedIdentityProviderAssertionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (GetSfsResourcePoolSnapshotSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { - return i.ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Background()) +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Background()) } -func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) } -type GetServiceAccountFederatedIdentityProviderAssertionOutput struct{ *pulumi.OutputState } +type GetSfsResourcePoolSnapshotSnapshotOutput struct{ *pulumi.OutputState } -func (GetServiceAccountFederatedIdentityProviderAssertionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (GetSfsResourcePoolSnapshotSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { return o } -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { 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) +// (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) } -// 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) +// creation date of the snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) } -// The assertion value. -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) +// Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) +func (o GetSfsResourcePoolSnapshotSnapshotOutput) LogicalSizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.LogicalSizeGigabytes }).(pulumi.IntOutput) } -type GetServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } +// 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 (GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +// Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) +func (o GetSfsResourcePoolSnapshotSnapshotOutput) SizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.SizeGigabytes }).(pulumi.IntOutput) } -func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { +// Name of the Resource Pool Snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) SnapshotName() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.SnapshotName }).(pulumi.StringOutput) +} + +type GetSfsResourcePoolSnapshotSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetSfsResourcePoolSnapshotSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +} + +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { return o } -func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { 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 GetSfsResourcePoolSnapshotSnapshotArrayOutput) Index(i pulumi.IntInput) GetSfsResourcePoolSnapshotSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsResourcePoolSnapshotSnapshot { + return vs[0].([]GetSfsResourcePoolSnapshotSnapshot)[vs[1].(int)] + }).(GetSfsResourcePoolSnapshotSnapshotOutput) } -type GetServiceAccountsItem struct { - // Email of the service account. - Email string `pulumi:"email"` - // Name of the service account. - Name string `pulumi:"name"` - // The internal UUID of the service account. - ServiceAccountId string `pulumi:"serviceAccountId"` +type 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"` } -// GetServiceAccountsItemInput is an input type that accepts GetServiceAccountsItemArgs and GetServiceAccountsItemOutput values. -// You can construct a concrete instance of `GetServiceAccountsItemInput` via: +// GetSfsSnapshotPoliciesItemInput is an input type that accepts GetSfsSnapshotPoliciesItemArgs and GetSfsSnapshotPoliciesItemOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemInput` via: // -// GetServiceAccountsItemArgs{...} -type GetServiceAccountsItemInput interface { +// GetSfsSnapshotPoliciesItemArgs{...} +type GetSfsSnapshotPoliciesItemInput interface { pulumi.Input - ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput - ToGetServiceAccountsItemOutputWithContext(context.Context) GetServiceAccountsItemOutput + ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput + ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemOutput } -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"` +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 (GetServiceAccountsItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { - return i.ToGetServiceAccountsItemOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { + return i.ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Background()) } -func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemOutput) +func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemOutput) } -// GetServiceAccountsItemArrayInput is an input type that accepts GetServiceAccountsItemArray and GetServiceAccountsItemArrayOutput values. -// You can construct a concrete instance of `GetServiceAccountsItemArrayInput` via: +// GetSfsSnapshotPoliciesItemArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemArray and GetSfsSnapshotPoliciesItemArrayOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemArrayInput` via: // -// GetServiceAccountsItemArray{ GetServiceAccountsItemArgs{...} } -type GetServiceAccountsItemArrayInput interface { +// GetSfsSnapshotPoliciesItemArray{ GetSfsSnapshotPoliciesItemArgs{...} } +type GetSfsSnapshotPoliciesItemArrayInput interface { pulumi.Input - ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput - ToGetServiceAccountsItemArrayOutputWithContext(context.Context) GetServiceAccountsItemArrayOutput + ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput + ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemArrayOutput } -type GetServiceAccountsItemArray []GetServiceAccountsItemInput +type GetSfsSnapshotPoliciesItemArray []GetSfsSnapshotPoliciesItemInput -func (GetServiceAccountsItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { - return i.ToGetServiceAccountsItemArrayOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { + return i.ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Background()) } -func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemArrayOutput) +func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemArrayOutput) } -type GetServiceAccountsItemOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemOutput struct{ *pulumi.OutputState } -func (GetServiceAccountsItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { +func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { + return o +} + +func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { return o } -func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { - 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) +} + +// Created At timestamp. +func (o GetSfsSnapshotPoliciesItemOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Wether the Snapshot Policy is enabled. +func (o GetSfsSnapshotPoliciesItemOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) bool { return v.Enabled }).(pulumi.BoolOutput) } -// Email of the service account. -func (o GetServiceAccountsItemOutput) Email() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Email }).(pulumi.StringOutput) +// ID of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Id }).(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) +// Name of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) 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) +func (o GetSfsSnapshotPoliciesItemOutput) SnapshotSchedules() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) []GetSfsSnapshotPoliciesItemSnapshotSchedule { + return v.SnapshotSchedules + }).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) } -type GetServiceAccountsItemArrayOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemArrayOutput struct{ *pulumi.OutputState } -func (GetServiceAccountsItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { +func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { return o } -func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { +func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { 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) +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 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"` +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"` } -// GetSfsExportPolicyRuleInput is an input type that accepts GetSfsExportPolicyRuleArgs and GetSfsExportPolicyRuleOutput values. -// You can construct a concrete instance of `GetSfsExportPolicyRuleInput` via: +// GetSfsSnapshotPoliciesItemSnapshotScheduleInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArgs and GetSfsSnapshotPoliciesItemSnapshotScheduleOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleInput` via: // -// GetSfsExportPolicyRuleArgs{...} -type GetSfsExportPolicyRuleInput interface { +// GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} +type GetSfsSnapshotPoliciesItemSnapshotScheduleInput interface { pulumi.Input - ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput - ToGetSfsExportPolicyRuleOutputWithContext(context.Context) GetSfsExportPolicyRuleOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput } -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"` +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 (GetSfsExportPolicyRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { - return i.ToGetSfsExportPolicyRuleOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { + return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Background()) } -func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleOutput) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) } -// GetSfsExportPolicyRuleArrayInput is an input type that accepts GetSfsExportPolicyRuleArray and GetSfsExportPolicyRuleArrayOutput values. -// You can construct a concrete instance of `GetSfsExportPolicyRuleArrayInput` via: +// GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArray and GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput` via: // -// GetSfsExportPolicyRuleArray{ GetSfsExportPolicyRuleArgs{...} } -type GetSfsExportPolicyRuleArrayInput interface { +// GetSfsSnapshotPoliciesItemSnapshotScheduleArray{ GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} } +type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput interface { pulumi.Input - ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput - ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Context) GetSfsExportPolicyRuleArrayOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput } -type GetSfsExportPolicyRuleArray []GetSfsExportPolicyRuleInput +type GetSfsSnapshotPoliciesItemSnapshotScheduleArray []GetSfsSnapshotPoliciesItemSnapshotScheduleInput -func (GetSfsExportPolicyRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { - return i.ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Background()) } -func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleArrayOutput) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) } -type GetSfsExportPolicyRuleOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemSnapshotScheduleOutput struct{ *pulumi.OutputState } -func (GetSfsExportPolicyRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { return o } -func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { return o } -// Description of the Rule -func (o GetSfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) -} - -// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). -func (o GetSfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) -} - -// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied -func (o GetSfsExportPolicyRuleOutput) Order() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) -} - -// Flag to indicate if client IPs matching this rule can only mount the share in read only mode -func (o GetSfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.ReadOnly }).(pulumi.BoolOutput) -} - -// Flag to honor set UUID -func (o GetSfsExportPolicyRuleOutput) SetUuid() pulumi.BoolOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SetUuid }).(pulumi.BoolOutput) +// Created At timestamp. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.CreatedAt }).(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) +// ID of the Snapshot Schedule. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Id }).(pulumi.StringOutput) } -type GetSfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } - -func (GetSfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +// Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Interval }).(pulumi.StringOutput) } -func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { - return o +// Name of the Snapshot Schedule. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Name }).(pulumi.StringOutput) } -func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { - 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 GetSfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) GetSfsExportPolicyRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsExportPolicyRule { - return vs[0].([]GetSfsExportPolicyRule)[vs[1].(int)] - }).(GetSfsExportPolicyRuleOutput) +// Retention Count. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionCount() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) int { return v.RetentionCount }).(pulumi.IntOutput) } -type GetSfsResourcePoolSnapshotPolicy struct { - // ID of the snapshot policy. - Id string `pulumi:"id"` - // Name of the snapshot policy. - Name string `pulumi:"name"` +// 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) } -// 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 -} +type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput struct{ *pulumi.OutputState } -type GetSfsResourcePoolSnapshotPolicyArgs struct { - // ID of the snapshot policy. - Id pulumi.StringInput `pulumi:"id"` - // Name of the snapshot policy. - Name pulumi.StringInput `pulumi:"name"` +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (GetSfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return o } -func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { - return i.ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return o } -func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotPolicyOutput) +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 GetSfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } - -func (GetSfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() +type GetSkeClusterAccess struct { + // Configure IDP + Idp GetSkeClusterAccessIdp `pulumi:"idp"` } -func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { - return o +// GetSkeClusterAccessInput is an input type that accepts GetSkeClusterAccessArgs and GetSkeClusterAccessOutput values. +// You can construct a concrete instance of `GetSkeClusterAccessInput` via: +// +// GetSkeClusterAccessArgs{...} +type GetSkeClusterAccessInput interface { + pulumi.Input + + ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput + ToGetSkeClusterAccessOutputWithContext(context.Context) GetSkeClusterAccessOutput } -func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { - return o +type GetSkeClusterAccessArgs struct { + // Configure IDP + Idp GetSkeClusterAccessIdpInput `pulumi:"idp"` } -// ID of the snapshot policy. -func (o GetSfsResourcePoolSnapshotPolicyOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Id }).(pulumi.StringOutput) +func (GetSkeClusterAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccess)(nil)).Elem() } -// Name of the snapshot policy. -func (o GetSfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Name }).(pulumi.StringOutput) +func (i GetSkeClusterAccessArgs) ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput { + return i.ToGetSkeClusterAccessOutputWithContext(context.Background()) } -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 (i GetSkeClusterAccessArgs) ToGetSkeClusterAccessOutputWithContext(ctx context.Context) GetSkeClusterAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterAccessOutput) } -// 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 +type GetSkeClusterAccessOutput struct{ *pulumi.OutputState } - ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput - ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotOutput +func (GetSkeClusterAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccess)(nil)).Elem() } -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 GetSkeClusterAccessOutput) ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput { + return o } -func (GetSfsResourcePoolSnapshotSnapshotArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (o GetSkeClusterAccessOutput) ToGetSkeClusterAccessOutputWithContext(ctx context.Context) GetSkeClusterAccessOutput { + return o } -func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { - return i.ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Background()) +// Configure IDP +func (o GetSkeClusterAccessOutput) Idp() GetSkeClusterAccessIdpOutput { + return o.ApplyT(func(v GetSkeClusterAccess) GetSkeClusterAccessIdp { return v.Idp }).(GetSkeClusterAccessIdpOutput) } -func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotOutput) +type GetSkeClusterAccessIdp struct { + // Enable IDP integration for the cluster. + Enabled bool `pulumi:"enabled"` + // The IDP type. Possible values: 'stackit'. + Type string `pulumi:"type"` } -// GetSfsResourcePoolSnapshotSnapshotArrayInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArray and GetSfsResourcePoolSnapshotSnapshotArrayOutput values. -// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotArrayInput` via: +// GetSkeClusterAccessIdpInput is an input type that accepts GetSkeClusterAccessIdpArgs and GetSkeClusterAccessIdpOutput values. +// You can construct a concrete instance of `GetSkeClusterAccessIdpInput` via: // -// GetSfsResourcePoolSnapshotSnapshotArray{ GetSfsResourcePoolSnapshotSnapshotArgs{...} } -type GetSfsResourcePoolSnapshotSnapshotArrayInput interface { +// GetSkeClusterAccessIdpArgs{...} +type GetSkeClusterAccessIdpInput interface { pulumi.Input - ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput - ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput + ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput + ToGetSkeClusterAccessIdpOutputWithContext(context.Context) GetSkeClusterAccessIdpOutput } -type GetSfsResourcePoolSnapshotSnapshotArray []GetSfsResourcePoolSnapshotSnapshotInput +type GetSkeClusterAccessIdpArgs struct { + // Enable IDP integration for the cluster. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The IDP type. Possible values: 'stackit'. + Type pulumi.StringInput `pulumi:"type"` +} -func (GetSfsResourcePoolSnapshotSnapshotArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (GetSkeClusterAccessIdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccessIdp)(nil)).Elem() } -func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { - return i.ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Background()) +func (i GetSkeClusterAccessIdpArgs) ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput { + return i.ToGetSkeClusterAccessIdpOutputWithContext(context.Background()) } -func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) +func (i GetSkeClusterAccessIdpArgs) ToGetSkeClusterAccessIdpOutputWithContext(ctx context.Context) GetSkeClusterAccessIdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterAccessIdpOutput) } -type GetSfsResourcePoolSnapshotSnapshotOutput struct{ *pulumi.OutputState } +type GetSkeClusterAccessIdpOutput struct{ *pulumi.OutputState } -func (GetSfsResourcePoolSnapshotSnapshotOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (GetSkeClusterAccessIdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccessIdp)(nil)).Elem() } -func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { +func (o GetSkeClusterAccessIdpOutput) ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput { return o } -func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { +func (o GetSkeClusterAccessIdpOutput) ToGetSkeClusterAccessIdpOutputWithContext(ctx context.Context) GetSkeClusterAccessIdpOutput { 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) +// Enable IDP integration for the cluster. +func (o GetSkeClusterAccessIdpOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterAccessIdp) bool { return v.Enabled }).(pulumi.BoolOutput) } -// creation date of the snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) +// The IDP type. Possible values: 'stackit'. +func (o GetSkeClusterAccessIdpOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterAccessIdp) string { return v.Type }).(pulumi.StringOutput) } -// Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) -func (o GetSfsResourcePoolSnapshotSnapshotOutput) LogicalSizeGigabytes() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.LogicalSizeGigabytes }).(pulumi.IntOutput) +type 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"` } -// 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) +// GetSkeClusterExtensionsInput is an input type that accepts GetSkeClusterExtensionsArgs and GetSkeClusterExtensionsOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsInput` via: +// +// GetSkeClusterExtensionsArgs{...} +type GetSkeClusterExtensionsInput interface { + pulumi.Input + + ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput + ToGetSkeClusterExtensionsOutputWithContext(context.Context) GetSkeClusterExtensionsOutput } -// Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) -func (o GetSfsResourcePoolSnapshotSnapshotOutput) SizeGigabytes() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.SizeGigabytes }).(pulumi.IntOutput) +type 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"` } -// Name of the Resource Pool Snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) SnapshotName() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.SnapshotName }).(pulumi.StringOutput) +func (GetSkeClusterExtensionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() } -type GetSfsResourcePoolSnapshotSnapshotArrayOutput struct{ *pulumi.OutputState } +func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { + return i.ToGetSkeClusterExtensionsOutputWithContext(context.Background()) +} -func (GetSfsResourcePoolSnapshotSnapshotArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsOutput) } -func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { - return o +type GetSkeClusterExtensionsOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() } -func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { +func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { 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 GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { + return o } -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"` +// Cluster access control configuration +func (o GetSkeClusterExtensionsOutput) Acl() GetSkeClusterExtensionsAclOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsAcl { return v.Acl }).(GetSkeClusterExtensionsAclOutput) } -// GetSfsSnapshotPoliciesItemInput is an input type that accepts GetSfsSnapshotPoliciesItemArgs and GetSfsSnapshotPoliciesItemOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemInput` via: +// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. // -// GetSfsSnapshotPoliciesItemArgs{...} -type GetSfsSnapshotPoliciesItemInput interface { - pulumi.Input - - ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput - ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemOutput -} - -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"` +// Deprecated: Use observability instead. +func (o GetSkeClusterExtensionsOutput) Argus() GetSkeClusterExtensionsArgusOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsArgus { return v.Argus }).(GetSkeClusterExtensionsArgusOutput) } -func (GetSfsSnapshotPoliciesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() +// DNS extension configuration +func (o GetSkeClusterExtensionsOutput) Dns() GetSkeClusterExtensionsDnsOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsDns { return v.Dns }).(GetSkeClusterExtensionsDnsOutput) } -func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { - return i.ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Background()) +// A single observability block as defined below. +func (o GetSkeClusterExtensionsOutput) Observability() GetSkeClusterExtensionsObservabilityOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsObservability { return v.Observability }).(GetSkeClusterExtensionsObservabilityOutput) } -func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemOutput) +type GetSkeClusterExtensionsAcl struct { + // Specify a list of CIDRs to whitelist + AllowedCidrs []string `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled bool `pulumi:"enabled"` } -// GetSfsSnapshotPoliciesItemArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemArray and GetSfsSnapshotPoliciesItemArrayOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemArrayInput` via: +// GetSkeClusterExtensionsAclInput is an input type that accepts GetSkeClusterExtensionsAclArgs and GetSkeClusterExtensionsAclOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsAclInput` via: // -// GetSfsSnapshotPoliciesItemArray{ GetSfsSnapshotPoliciesItemArgs{...} } -type GetSfsSnapshotPoliciesItemArrayInput interface { +// GetSkeClusterExtensionsAclArgs{...} +type GetSkeClusterExtensionsAclInput interface { pulumi.Input - ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput - ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemArrayOutput + ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput + ToGetSkeClusterExtensionsAclOutputWithContext(context.Context) GetSkeClusterExtensionsAclOutput } -type GetSfsSnapshotPoliciesItemArray []GetSfsSnapshotPoliciesItemInput +type GetSkeClusterExtensionsAclArgs struct { + // Specify a list of CIDRs to whitelist + AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled pulumi.BoolInput `pulumi:"enabled"` +} -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: +type GetSkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() +} + +func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { + return o +} + +func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { + 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) +} + +// 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 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"` +} + +// GetSkeClusterExtensionsObservabilityInput is an input type that accepts GetSkeClusterExtensionsObservabilityArgs and GetSkeClusterExtensionsObservabilityOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsObservabilityInput` via: // -// GetSfsSnapshotPoliciesItemSnapshotScheduleArray{ GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput interface { +// GetSkeClusterExtensionsObservabilityArgs{...} +type GetSkeClusterExtensionsObservabilityInput interface { pulumi.Input - ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput - ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput + ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput + ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Context) GetSkeClusterExtensionsObservabilityOutput } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArray []GetSfsSnapshotPoliciesItemSnapshotScheduleInput +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 (GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (GetSkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Background()) +func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { + return i.ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) +func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsObservabilityOutput) } -type GetSfsSnapshotPoliciesItemSnapshotScheduleOutput struct{ *pulumi.OutputState } +type GetSkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } -func (GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (GetSkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { +func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { return o } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { +func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { return o } -// Created At timestamp. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.CreatedAt }).(pulumi.StringOutput) +// Flag to enable/disable Observability extensions. +func (o GetSkeClusterExtensionsObservabilityOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsObservability) bool { return v.Enabled }).(pulumi.BoolOutput) } -// ID of the Snapshot Schedule. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Id }).(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) } -// 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 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"` } -// Name of the Snapshot Schedule. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Name }).(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 -// 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) + ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput + ToGetSkeClusterHibernationOutputWithContext(context.Context) GetSkeClusterHibernationOutput } -// Retention Count. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionCount() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) int { return v.RetentionCount }).(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"` } -// 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 (GetSkeClusterHibernationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput struct{ *pulumi.OutputState } +func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { + return i.ToGetSkeClusterHibernationOutputWithContext(context.Background()) +} -func (GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationOutput) } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return o +// 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 + + ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput + ToGetSkeClusterHibernationArrayOutputWithContext(context.Context) GetSkeClusterHibernationArrayOutput } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return o +type GetSkeClusterHibernationArray []GetSkeClusterHibernationInput + +func (GetSkeClusterHibernationArray) 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 GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { + return i.ToGetSkeClusterHibernationArrayOutputWithContext(context.Background()) } -type GetSkeClusterAccess struct { - // Configure IDP - Idp GetSkeClusterAccessIdp `pulumi:"idp"` +func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationArrayOutput) } -// GetSkeClusterAccessInput is an input type that accepts GetSkeClusterAccessArgs and GetSkeClusterAccessOutput values. -// You can construct a concrete instance of `GetSkeClusterAccessInput` via: -// -// GetSkeClusterAccessArgs{...} -type GetSkeClusterAccessInput interface { - pulumi.Input +type GetSkeClusterHibernationOutput struct{ *pulumi.OutputState } - ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput - ToGetSkeClusterAccessOutputWithContext(context.Context) GetSkeClusterAccessOutput +func (GetSkeClusterHibernationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() } -type GetSkeClusterAccessArgs struct { - // Configure IDP - Idp GetSkeClusterAccessIdpInput `pulumi:"idp"` +func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { + return o } -func (GetSkeClusterAccessArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterAccess)(nil)).Elem() +func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { + return o } -func (i GetSkeClusterAccessArgs) ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput { - return i.ToGetSkeClusterAccessOutputWithContext(context.Background()) +// End time of hibernation, in crontab syntax. +func (o GetSkeClusterHibernationOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.End }).(pulumi.StringOutput) } -func (i GetSkeClusterAccessArgs) ToGetSkeClusterAccessOutputWithContext(ctx context.Context) GetSkeClusterAccessOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterAccessOutput) +// Start time of cluster hibernation in crontab syntax. +func (o GetSkeClusterHibernationOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.Start }).(pulumi.StringOutput) } -type GetSkeClusterAccessOutput struct{ *pulumi.OutputState } +// Timezone name corresponding to a file in the IANA Time Zone database. +func (o GetSkeClusterHibernationOutput) Timezone() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.Timezone }).(pulumi.StringOutput) +} -func (GetSkeClusterAccessOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterAccess)(nil)).Elem() +type GetSkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterHibernationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() } -func (o GetSkeClusterAccessOutput) ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput { +func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { return o } -func (o GetSkeClusterAccessOutput) ToGetSkeClusterAccessOutputWithContext(ctx context.Context) GetSkeClusterAccessOutput { +func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { return o } -// Configure IDP -func (o GetSkeClusterAccessOutput) Idp() GetSkeClusterAccessIdpOutput { - return o.ApplyT(func(v GetSkeClusterAccess) GetSkeClusterAccessIdp { return v.Idp }).(GetSkeClusterAccessIdpOutput) +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 GetSkeClusterAccessIdp struct { - // Enable IDP integration for the cluster. - Enabled bool `pulumi:"enabled"` - // The IDP type. Possible values: 'stackit'. - Type string `pulumi:"type"` +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"` } -// GetSkeClusterAccessIdpInput is an input type that accepts GetSkeClusterAccessIdpArgs and GetSkeClusterAccessIdpOutput values. -// You can construct a concrete instance of `GetSkeClusterAccessIdpInput` via: +// GetSkeClusterMaintenanceInput is an input type that accepts GetSkeClusterMaintenanceArgs and GetSkeClusterMaintenanceOutput values. +// You can construct a concrete instance of `GetSkeClusterMaintenanceInput` via: // -// GetSkeClusterAccessIdpArgs{...} -type GetSkeClusterAccessIdpInput interface { +// GetSkeClusterMaintenanceArgs{...} +type GetSkeClusterMaintenanceInput interface { pulumi.Input - ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput - ToGetSkeClusterAccessIdpOutputWithContext(context.Context) GetSkeClusterAccessIdpOutput + ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput + ToGetSkeClusterMaintenanceOutputWithContext(context.Context) GetSkeClusterMaintenanceOutput } -type GetSkeClusterAccessIdpArgs struct { - // Enable IDP integration for the cluster. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // The IDP type. Possible values: 'stackit'. - Type pulumi.StringInput `pulumi:"type"` +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 (GetSkeClusterAccessIdpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterAccessIdp)(nil)).Elem() +func (GetSkeClusterMaintenanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() } -func (i GetSkeClusterAccessIdpArgs) ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput { - return i.ToGetSkeClusterAccessIdpOutputWithContext(context.Background()) +func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { + return i.ToGetSkeClusterMaintenanceOutputWithContext(context.Background()) } -func (i GetSkeClusterAccessIdpArgs) ToGetSkeClusterAccessIdpOutputWithContext(ctx context.Context) GetSkeClusterAccessIdpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterAccessIdpOutput) +func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterMaintenanceOutput) } -type GetSkeClusterAccessIdpOutput struct{ *pulumi.OutputState } +type GetSkeClusterMaintenanceOutput struct{ *pulumi.OutputState } -func (GetSkeClusterAccessIdpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterAccessIdp)(nil)).Elem() +func (GetSkeClusterMaintenanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() } -func (o GetSkeClusterAccessIdpOutput) ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput { +func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { return o } -func (o GetSkeClusterAccessIdpOutput) ToGetSkeClusterAccessIdpOutputWithContext(ctx context.Context) GetSkeClusterAccessIdpOutput { +func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { return o } -// Enable IDP integration for the cluster. -func (o GetSkeClusterAccessIdpOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterAccessIdp) bool { return v.Enabled }).(pulumi.BoolOutput) +// 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 IDP type. Possible values: 'stackit'. -func (o GetSkeClusterAccessIdpOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterAccessIdp) string { return v.Type }).(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) } -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"` +// Date time for maintenance window end. +func (o GetSkeClusterMaintenanceOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.End }).(pulumi.StringOutput) } -// GetSkeClusterExtensionsInput is an input type that accepts GetSkeClusterExtensionsArgs and GetSkeClusterExtensionsOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsInput` via: -// -// GetSkeClusterExtensionsArgs{...} -type GetSkeClusterExtensionsInput interface { +// Date time for maintenance window start. +func (o GetSkeClusterMaintenanceOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.Start }).(pulumi.StringOutput) +} + +type GetSkeClusterNetwork struct { + // Control plane for the cluster. + ControlPlane GetSkeClusterNetworkControlPlane `pulumi:"controlPlane"` + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + Id string `pulumi:"id"` +} + +// GetSkeClusterNetworkInput is an input type that accepts GetSkeClusterNetworkArgs and GetSkeClusterNetworkOutput values. +// You can construct a concrete instance of `GetSkeClusterNetworkInput` via: +// +// GetSkeClusterNetworkArgs{...} +type GetSkeClusterNetworkInput interface { pulumi.Input - ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput - ToGetSkeClusterExtensionsOutputWithContext(context.Context) GetSkeClusterExtensionsOutput + ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput + ToGetSkeClusterNetworkOutputWithContext(context.Context) GetSkeClusterNetworkOutput } -type GetSkeClusterExtensionsArgs struct { - // Cluster access control configuration - Acl GetSkeClusterExtensionsAclInput `pulumi:"acl"` - // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. - // - // Deprecated: Use observability instead. - Argus GetSkeClusterExtensionsArgusInput `pulumi:"argus"` - // DNS extension configuration - Dns GetSkeClusterExtensionsDnsInput `pulumi:"dns"` - // A single observability block as defined below. - Observability GetSkeClusterExtensionsObservabilityInput `pulumi:"observability"` +type GetSkeClusterNetworkArgs struct { + // Control plane for the cluster. + ControlPlane GetSkeClusterNetworkControlPlaneInput `pulumi:"controlPlane"` + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + Id pulumi.StringInput `pulumi:"id"` } -func (GetSkeClusterExtensionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() +func (GetSkeClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() } -func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { - return i.ToGetSkeClusterExtensionsOutputWithContext(context.Background()) +func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { + return i.ToGetSkeClusterNetworkOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsOutput) +func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkOutput) } -type GetSkeClusterExtensionsOutput struct{ *pulumi.OutputState } +type GetSkeClusterNetworkOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() +func (GetSkeClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() } -func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { +func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { return o } -func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { +func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { return o } -// Cluster access control configuration -func (o GetSkeClusterExtensionsOutput) Acl() GetSkeClusterExtensionsAclOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsAcl { return v.Acl }).(GetSkeClusterExtensionsAclOutput) -} - -// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. -// -// Deprecated: Use observability instead. -func (o GetSkeClusterExtensionsOutput) Argus() GetSkeClusterExtensionsArgusOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsArgus { return v.Argus }).(GetSkeClusterExtensionsArgusOutput) -} - -// DNS extension configuration -func (o GetSkeClusterExtensionsOutput) Dns() GetSkeClusterExtensionsDnsOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsDns { return v.Dns }).(GetSkeClusterExtensionsDnsOutput) +// Control plane for the cluster. +func (o GetSkeClusterNetworkOutput) ControlPlane() GetSkeClusterNetworkControlPlaneOutput { + return o.ApplyT(func(v GetSkeClusterNetwork) GetSkeClusterNetworkControlPlane { return v.ControlPlane }).(GetSkeClusterNetworkControlPlaneOutput) } -// A single observability block as defined below. -func (o GetSkeClusterExtensionsOutput) Observability() GetSkeClusterExtensionsObservabilityOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsObservability { return v.Observability }).(GetSkeClusterExtensionsObservabilityOutput) +// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. +func (o GetSkeClusterNetworkOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNetwork) string { return v.Id }).(pulumi.StringOutput) } -type GetSkeClusterExtensionsAcl struct { - // Specify a list of CIDRs to whitelist - AllowedCidrs []string `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled bool `pulumi:"enabled"` +type GetSkeClusterNetworkControlPlane struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope string `pulumi:"accessScope"` } -// GetSkeClusterExtensionsAclInput is an input type that accepts GetSkeClusterExtensionsAclArgs and GetSkeClusterExtensionsAclOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsAclInput` via: +// GetSkeClusterNetworkControlPlaneInput is an input type that accepts GetSkeClusterNetworkControlPlaneArgs and GetSkeClusterNetworkControlPlaneOutput values. +// You can construct a concrete instance of `GetSkeClusterNetworkControlPlaneInput` via: // -// GetSkeClusterExtensionsAclArgs{...} -type GetSkeClusterExtensionsAclInput interface { +// GetSkeClusterNetworkControlPlaneArgs{...} +type GetSkeClusterNetworkControlPlaneInput interface { pulumi.Input - ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput - ToGetSkeClusterExtensionsAclOutputWithContext(context.Context) GetSkeClusterExtensionsAclOutput + ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput + ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Context) GetSkeClusterNetworkControlPlaneOutput } -type GetSkeClusterExtensionsAclArgs struct { - // Specify a list of CIDRs to whitelist - AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled pulumi.BoolInput `pulumi:"enabled"` +type GetSkeClusterNetworkControlPlaneArgs struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope pulumi.StringInput `pulumi:"accessScope"` } -func (GetSkeClusterExtensionsAclArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() +func (GetSkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() } -func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { - return i.ToGetSkeClusterExtensionsAclOutputWithContext(context.Background()) +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { + return i.ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsAclOutput) +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkControlPlaneOutput) } -type GetSkeClusterExtensionsAclOutput struct{ *pulumi.OutputState } +type GetSkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsAclOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() +func (GetSkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() } -func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { return o } -func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { return o } -// Specify a list of CIDRs to whitelist -func (o GetSkeClusterExtensionsAclOutput) AllowedCidrs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsAcl) []string { return v.AllowedCidrs }).(pulumi.StringArrayOutput) +// 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) } -// Is ACL enabled? -func (o GetSkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsAcl) bool { return v.Enabled }).(pulumi.BoolOutput) +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 GetSkeClusterExtensionsArgus struct { - // Instance ID of argus - ArgusInstanceId string `pulumi:"argusInstanceId"` - // Flag to enable/disable argus extensions. - Enabled bool `pulumi:"enabled"` +// 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 } -// GetSkeClusterExtensionsArgusInput is an input type that accepts GetSkeClusterExtensionsArgusArgs and GetSkeClusterExtensionsArgusOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsArgusInput` 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: // -// GetSkeClusterExtensionsArgusArgs{...} -type GetSkeClusterExtensionsArgusInput interface { +// GetSkeClusterNodePoolArray{ GetSkeClusterNodePoolArgs{...} } +type GetSkeClusterNodePoolArrayInput interface { pulumi.Input - ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput - ToGetSkeClusterExtensionsArgusOutputWithContext(context.Context) GetSkeClusterExtensionsArgusOutput + ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput + ToGetSkeClusterNodePoolArrayOutputWithContext(context.Context) GetSkeClusterNodePoolArrayOutput } -type GetSkeClusterExtensionsArgusArgs struct { - // Instance ID of argus - ArgusInstanceId pulumi.StringInput `pulumi:"argusInstanceId"` - // Flag to enable/disable argus extensions. - Enabled pulumi.BoolInput `pulumi:"enabled"` -} +type GetSkeClusterNodePoolArray []GetSkeClusterNodePoolInput -func (GetSkeClusterExtensionsArgusArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() +func (GetSkeClusterNodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() } -func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { - return i.ToGetSkeClusterExtensionsArgusOutputWithContext(context.Background()) +func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { + return i.ToGetSkeClusterNodePoolArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsArgusOutput) +func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolArrayOutput) } -type GetSkeClusterExtensionsArgusOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsArgusOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() +func (GetSkeClusterNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() } -func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { +func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { return o } -func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { +func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { return o } -// Instance ID of argus -func (o GetSkeClusterExtensionsArgusOutput) ArgusInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsArgus) string { return v.ArgusInstanceId }).(pulumi.StringOutput) +// 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) } -// Flag to enable/disable argus extensions. -func (o GetSkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsArgus) bool { return v.Enabled }).(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) } -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"` +// Specifies the container runtime. +func (o GetSkeClusterNodePoolOutput) Cri() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Cri }).(pulumi.StringOutput) } -// GetSkeClusterExtensionsDnsInput is an input type that accepts GetSkeClusterExtensionsDnsArgs and GetSkeClusterExtensionsDnsOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsDnsInput` via: -// -// GetSkeClusterExtensionsDnsArgs{...} -type GetSkeClusterExtensionsDnsInput interface { - pulumi.Input - - ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput - ToGetSkeClusterExtensionsDnsOutputWithContext(context.Context) GetSkeClusterExtensionsDnsOutput +// Labels to add to each node. +func (o GetSkeClusterNodePoolOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -type 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"` +// The machine type. +func (o GetSkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) } -func (GetSkeClusterExtensionsDnsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() +// The maximum number of nodes upgraded simultaneously. +func (o GetSkeClusterNodePoolOutput) MaxSurge() pulumi.IntOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.MaxSurge }).(pulumi.IntOutput) } -func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { - return i.ToGetSkeClusterExtensionsDnsOutputWithContext(context.Background()) +// 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 (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsDnsOutput) +// 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 GetSkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } - -func (GetSkeClusterExtensionsDnsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsDns)(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 (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { - return o +// 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 (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { - return o +// The name of the OS image. +func (o GetSkeClusterNodePoolOutput) OsName() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsName }).(pulumi.StringOutput) } -// Flag to enable/disable DNS extensions -func (o GetSkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) +// The OS image version. +func (o GetSkeClusterNodePoolOutput) OsVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersion }).(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) +// 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 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"` +// 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) } -// 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 +// Specifies a taint list as defined below. +func (o GetSkeClusterNodePoolOutput) Taints() GetSkeClusterNodePoolTaintArrayOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) []GetSkeClusterNodePoolTaint { return v.Taints }).(GetSkeClusterNodePoolTaintArrayOutput) +} - ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput - ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Context) GetSkeClusterExtensionsObservabilityOutput +// The volume size in GB. +func (o GetSkeClusterNodePoolOutput) VolumeSize() pulumi.IntOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.VolumeSize }).(pulumi.IntOutput) } -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"` +// Specifies the volume type. +func (o GetSkeClusterNodePoolOutput) VolumeType() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.VolumeType }).(pulumi.StringOutput) } -func (GetSkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() +type GetSkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterNodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() } -func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { - return i.ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) +func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { + return o } -func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsObservabilityOutput) +func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { + return o } -type GetSkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } +func (o GetSkeClusterNodePoolArrayOutput) Index(i pulumi.IntInput) GetSkeClusterNodePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterNodePool { + return vs[0].([]GetSkeClusterNodePool)[vs[1].(int)] + }).(GetSkeClusterNodePoolOutput) +} -func (GetSkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() +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"` } -func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { - return o +// 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 } -func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { - 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"` } -// Flag to enable/disable Observability extensions. -func (o GetSkeClusterExtensionsObservabilityOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsObservability) bool { return v.Enabled }).(pulumi.BoolOutput) +func (GetSkeClusterNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() } -// Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. -func (o GetSkeClusterExtensionsObservabilityOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsObservability) string { return v.InstanceId }).(pulumi.StringOutput) +func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { + return i.ToGetSkeClusterNodePoolTaintOutputWithContext(context.Background()) } -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"` +func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintOutput) } -// GetSkeClusterHibernationInput is an input type that accepts GetSkeClusterHibernationArgs and GetSkeClusterHibernationOutput values. -// You can construct a concrete instance of `GetSkeClusterHibernationInput` via: +// GetSkeClusterNodePoolTaintArrayInput is an input type that accepts GetSkeClusterNodePoolTaintArray and GetSkeClusterNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolTaintArrayInput` via: // -// GetSkeClusterHibernationArgs{...} -type GetSkeClusterHibernationInput interface { +// GetSkeClusterNodePoolTaintArray{ GetSkeClusterNodePoolTaintArgs{...} } +type GetSkeClusterNodePoolTaintArrayInput interface { pulumi.Input - ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput - ToGetSkeClusterHibernationOutputWithContext(context.Context) GetSkeClusterHibernationOutput + ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput + ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) GetSkeClusterNodePoolTaintArrayOutput } -type GetSkeClusterHibernationArgs struct { - // End time of hibernation, in crontab syntax. - End pulumi.StringInput `pulumi:"end"` - // Start time of cluster hibernation in crontab syntax. - Start pulumi.StringInput `pulumi:"start"` - // Timezone name corresponding to a file in the IANA Time Zone database. - Timezone pulumi.StringInput `pulumi:"timezone"` -} +type GetSkeClusterNodePoolTaintArray []GetSkeClusterNodePoolTaintInput -func (GetSkeClusterHibernationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() +func (GetSkeClusterNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { - return i.ToGetSkeClusterHibernationOutputWithContext(context.Background()) +func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { + return i.ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationOutput) +func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintArrayOutput) } -// 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 +type GetSkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } - ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput - ToGetSkeClusterHibernationArrayOutputWithContext(context.Context) GetSkeClusterHibernationArrayOutput +func (GetSkeClusterNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() } -type GetSkeClusterHibernationArray []GetSkeClusterHibernationInput +func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { + return o +} -func (GetSkeClusterHibernationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() +func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { + return o } -func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { - return i.ToGetSkeClusterHibernationArrayOutputWithContext(context.Background()) +// The taint effect. +func (o GetSkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +} + +// Taint key to be applied to a node. +func (o GetSkeClusterNodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) } -func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationArrayOutput) +// Taint value corresponding to the taint key. +func (o GetSkeClusterNodePoolTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) } -type GetSkeClusterHibernationOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } -func (GetSkeClusterHibernationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() +func (GetSkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { +func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { return o } -func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { +func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { 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 GetSkeClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) GetSkeClusterNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterNodePoolTaint { + return vs[0].([]GetSkeClusterNodePoolTaint)[vs[1].(int)] + }).(GetSkeClusterNodePoolTaintOutput) } -// 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 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"` } -type GetSkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } +// 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 (GetSkeClusterHibernationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() + ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput + ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput } -func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { - return o +type GetSkeKubernetesVersionsKubernetesVersionArgs struct { + // Expiration date of the version in RFC3339 format. + ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` + // Map of available feature gates for this version. + FeatureGates pulumi.StringMapInput `pulumi:"featureGates"` + // State of the kubernetes version. + State pulumi.StringInput `pulumi:"state"` + // Kubernetes version string (e.g., `1.33.6`). + Version pulumi.StringInput `pulumi:"version"` } -func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { - return o +func (GetSkeKubernetesVersionsKubernetesVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(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 GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(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 GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionOutput) } -// GetSkeClusterMaintenanceInput is an input type that accepts GetSkeClusterMaintenanceArgs and GetSkeClusterMaintenanceOutput values. -// You can construct a concrete instance of `GetSkeClusterMaintenanceInput` via: +// GetSkeKubernetesVersionsKubernetesVersionArrayInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArray and GetSkeKubernetesVersionsKubernetesVersionArrayOutput values. +// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionArrayInput` via: // -// GetSkeClusterMaintenanceArgs{...} -type GetSkeClusterMaintenanceInput interface { +// GetSkeKubernetesVersionsKubernetesVersionArray{ GetSkeKubernetesVersionsKubernetesVersionArgs{...} } +type GetSkeKubernetesVersionsKubernetesVersionArrayInput interface { pulumi.Input - ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput - ToGetSkeClusterMaintenanceOutputWithContext(context.Context) GetSkeClusterMaintenanceOutput + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput } -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 GetSkeKubernetesVersionsKubernetesVersionArray []GetSkeKubernetesVersionsKubernetesVersionInput -func (GetSkeClusterMaintenanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() +func (GetSkeKubernetesVersionsKubernetesVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { - return i.ToGetSkeClusterMaintenanceOutputWithContext(context.Background()) +func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterMaintenanceOutput) +func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) } -type GetSkeClusterMaintenanceOutput struct{ *pulumi.OutputState } +type GetSkeKubernetesVersionsKubernetesVersionOutput struct{ *pulumi.OutputState } -func (GetSkeClusterMaintenanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() +func (GetSkeKubernetesVersionsKubernetesVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { return o } -func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { return o } -// Flag to enable/disable auto-updates of the Kubernetes version. -func (o GetSkeClusterMaintenanceOutput) EnableKubernetesVersionUpdates() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) bool { return v.EnableKubernetesVersionUpdates }).(pulumi.BoolOutput) +// 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) } -// 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) +// Map of available feature gates for this version. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) FeatureGates() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) map[string]string { return v.FeatureGates }).(pulumi.StringMapOutput) } -// Date time for maintenance window end. -func (o GetSkeClusterMaintenanceOutput) End() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.End }).(pulumi.StringOutput) +// State of the kubernetes version. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.State }).(pulumi.StringOutput) } -// Date time for maintenance window start. -func (o GetSkeClusterMaintenanceOutput) Start() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.Start }).(pulumi.StringOutput) +// 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 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 GetSkeKubernetesVersionsKubernetesVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -// 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 +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return o +} - ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput - ToGetSkeClusterNetworkOutputWithContext(context.Context) GetSkeClusterNetworkOutput +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return o } -type GetSkeClusterNetworkArgs struct { - // Control plane for the cluster. - ControlPlane GetSkeClusterNetworkControlPlaneInput `pulumi:"controlPlane"` - // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - Id pulumi.StringInput `pulumi:"id"` +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) Index(i pulumi.IntInput) GetSkeKubernetesVersionsKubernetesVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeKubernetesVersionsKubernetesVersion { + return vs[0].([]GetSkeKubernetesVersionsKubernetesVersion)[vs[1].(int)] + }).(GetSkeKubernetesVersionsKubernetesVersionOutput) } -func (GetSkeClusterNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() +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 (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { - return i.ToGetSkeClusterNetworkOutputWithContext(context.Background()) +// GetSkeMachineImageVersionsMachineImageInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArgs and GetSkeMachineImageVersionsMachineImageOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageInput` via: +// +// GetSkeMachineImageVersionsMachineImageArgs{...} +type GetSkeMachineImageVersionsMachineImageInput interface { + pulumi.Input + + ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput + ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageOutput } -func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkOutput) +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 GetSkeClusterNetworkOutput struct{ *pulumi.OutputState } +func (GetSkeMachineImageVersionsMachineImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +} -func (GetSkeClusterNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { + return i.ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Background()) } -func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { - return o +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageOutput) } -func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { - return o +// 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 + + ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput + ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput } -// Control plane for the cluster. -func (o GetSkeClusterNetworkOutput) ControlPlane() GetSkeClusterNetworkControlPlaneOutput { - return o.ApplyT(func(v GetSkeClusterNetwork) GetSkeClusterNetworkControlPlane { return v.ControlPlane }).(GetSkeClusterNetworkControlPlaneOutput) +type GetSkeMachineImageVersionsMachineImageArray []GetSkeMachineImageVersionsMachineImageInput + +func (GetSkeMachineImageVersionsMachineImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. -func (o GetSkeClusterNetworkOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNetwork) string { return v.Id }).(pulumi.StringOutput) +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Background()) } -type GetSkeClusterNetworkControlPlane struct { - // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! - AccessScope string `pulumi:"accessScope"` +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageArrayOutput) } -// 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 +type GetSkeMachineImageVersionsMachineImageOutput struct{ *pulumi.OutputState } - ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput - ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Context) GetSkeClusterNetworkControlPlaneOutput +func (GetSkeMachineImageVersionsMachineImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -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 (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { + return o } -func (GetSkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() +func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { + return o } -func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { - return i.ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) +// Name of the OS image (e.g., `ubuntu` or `flatcar`). +func (o GetSkeMachineImageVersionsMachineImageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) string { return v.Name }).(pulumi.StringOutput) } -func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkControlPlaneOutput) +// Supported versions of the image. +func (o GetSkeMachineImageVersionsMachineImageOutput) Versions() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) []GetSkeMachineImageVersionsMachineImageVersion { + return v.Versions + }).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) } -type GetSkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } +type GetSkeMachineImageVersionsMachineImageArrayOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { return o } -func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { 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 GetSkeMachineImageVersionsMachineImageArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImage { + return vs[0].([]GetSkeMachineImageVersionsMachineImage)[vs[1].(int)] + }).(GetSkeMachineImageVersionsMachineImageOutput) } -type 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 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"` } -// GetSkeClusterNodePoolInput is an input type that accepts GetSkeClusterNodePoolArgs and GetSkeClusterNodePoolOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolInput` via: +// GetSkeMachineImageVersionsMachineImageVersionInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArgs and GetSkeMachineImageVersionsMachineImageVersionOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionInput` via: // -// GetSkeClusterNodePoolArgs{...} -type GetSkeClusterNodePoolInput interface { +// GetSkeMachineImageVersionsMachineImageVersionArgs{...} +type GetSkeMachineImageVersionsMachineImageVersionInput interface { pulumi.Input - ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput - ToGetSkeClusterNodePoolOutputWithContext(context.Context) GetSkeClusterNodePoolOutput + ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput + ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput } -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"` +type GetSkeMachineImageVersionsMachineImageVersionArgs struct { + // Container runtimes supported (e.g., `containerd`). + Cris pulumi.StringArrayInput `pulumi:"cris"` + // Expiration date of the version in RFC3339 format. + ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` + // State of the image version. + State pulumi.StringInput `pulumi:"state"` + // Machine image version string. + Version pulumi.StringInput `pulumi:"version"` } -func (GetSkeClusterNodePoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { - return i.ToGetSkeClusterNodePoolOutputWithContext(context.Background()) +func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Background()) } -func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolOutput) +func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionOutput) } -// GetSkeClusterNodePoolArrayInput is an input type that accepts GetSkeClusterNodePoolArray and GetSkeClusterNodePoolArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolArrayInput` via: +// GetSkeMachineImageVersionsMachineImageVersionArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArray and GetSkeMachineImageVersionsMachineImageVersionArrayOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionArrayInput` via: // -// GetSkeClusterNodePoolArray{ GetSkeClusterNodePoolArgs{...} } -type GetSkeClusterNodePoolArrayInput interface { +// GetSkeMachineImageVersionsMachineImageVersionArray{ GetSkeMachineImageVersionsMachineImageVersionArgs{...} } +type GetSkeMachineImageVersionsMachineImageVersionArrayInput interface { pulumi.Input - ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput - ToGetSkeClusterNodePoolArrayOutputWithContext(context.Context) GetSkeClusterNodePoolArrayOutput + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput } -type GetSkeClusterNodePoolArray []GetSkeClusterNodePoolInput +type GetSkeMachineImageVersionsMachineImageVersionArray []GetSkeMachineImageVersionsMachineImageVersionInput -func (GetSkeClusterNodePoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { - return i.ToGetSkeClusterNodePoolArrayOutputWithContext(context.Background()) +func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolArrayOutput) +func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) } -type GetSkeClusterNodePoolOutput struct{ *pulumi.OutputState } +type GetSkeMachineImageVersionsMachineImageVersionOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNodePoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { return o } -func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { return o } -// Allow system components to run on this node pool. -func (o GetSkeClusterNodePoolOutput) AllowSystemComponents() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) bool { return v.AllowSystemComponents }).(pulumi.BoolOutput) +// Container runtimes supported (e.g., `containerd`). +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Cris() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) []string { return v.Cris }).(pulumi.StringArrayOutput) } -// Specify a list of availability zones. -func (o GetSkeClusterNodePoolOutput) AvailabilityZones() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) +// Expiration date of the version in RFC3339 format. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ExpirationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) } -// Specifies the container runtime. -func (o GetSkeClusterNodePoolOutput) Cri() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Cri }).(pulumi.StringOutput) +// State of the image version. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.State }).(pulumi.StringOutput) } -// Labels to add to each node. -func (o GetSkeClusterNodePoolOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +// Machine image version string. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.Version }).(pulumi.StringOutput) } -// The machine type. -func (o GetSkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) +type GetSkeMachineImageVersionsMachineImageVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -// The maximum number of nodes upgraded simultaneously. -func (o GetSkeClusterNodePoolOutput) MaxSurge() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.MaxSurge }).(pulumi.IntOutput) +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + 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 GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o } -// Maximum number of nodes in the pool. -func (o GetSkeClusterNodePoolOutput) Maximum() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.Maximum }).(pulumi.IntOutput) +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImageVersion { + return vs[0].([]GetSkeMachineImageVersionsMachineImageVersion)[vs[1].(int)] + }).(GetSkeMachineImageVersionsMachineImageVersionOutput) } -// 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) +type GetSqlserverflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Ram int `pulumi:"ram"` } -// 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) +// GetSqlserverflexInstanceFlavorInput is an input type that accepts GetSqlserverflexInstanceFlavorArgs and GetSqlserverflexInstanceFlavorOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceFlavorInput` via: +// +// GetSqlserverflexInstanceFlavorArgs{...} +type GetSqlserverflexInstanceFlavorInput interface { + pulumi.Input + + ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput + ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Context) GetSqlserverflexInstanceFlavorOutput } -// The name of the OS image. -func (o GetSkeClusterNodePoolOutput) OsName() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsName }).(pulumi.StringOutput) +type GetSqlserverflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` } -// The OS image version. -func (o GetSkeClusterNodePoolOutput) OsVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersion }).(pulumi.StringOutput) +func (GetSqlserverflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() } -// 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 GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { + return i.ToGetSqlserverflexInstanceFlavorOutputWithContext(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 GetSkeClusterNodePoolOutput) OsVersionUsed() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersionUsed }).(pulumi.StringOutput) +func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceFlavorOutput) } -// Specifies a taint list as defined below. -func (o GetSkeClusterNodePoolOutput) Taints() GetSkeClusterNodePoolTaintArrayOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) []GetSkeClusterNodePoolTaint { return v.Taints }).(GetSkeClusterNodePoolTaintArrayOutput) -} +type GetSqlserverflexInstanceFlavorOutput struct{ *pulumi.OutputState } -// The volume size in GB. -func (o GetSkeClusterNodePoolOutput) VolumeSize() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.VolumeSize }).(pulumi.IntOutput) +func (GetSqlserverflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() } -// Specifies the volume type. -func (o GetSkeClusterNodePoolOutput) VolumeType() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.VolumeType }).(pulumi.StringOutput) +func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { + return o } -type GetSkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } +func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { + return o +} -func (GetSkeClusterNodePoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() +func (o GetSqlserverflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) } -func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { - return o +func (o GetSqlserverflexInstanceFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) } -func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { - return o +func (o GetSqlserverflexInstanceFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) } -func (o GetSkeClusterNodePoolArrayOutput) Index(i pulumi.IntInput) GetSkeClusterNodePoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterNodePool { - return vs[0].([]GetSkeClusterNodePool)[vs[1].(int)] - }).(GetSkeClusterNodePoolOutput) +func (o GetSqlserverflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } -type GetSkeClusterNodePoolTaint struct { - // The taint effect. - Effect string `pulumi:"effect"` - // Taint key to be applied to a node. - Key string `pulumi:"key"` - // Taint value corresponding to the taint key. - Value string `pulumi:"value"` +type GetSqlserverflexInstanceNetwork struct { + // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. + AccessScope *string `pulumi:"accessScope"` + // List of IPV4 cidr. + Acls []string `pulumi:"acls"` } -// GetSkeClusterNodePoolTaintInput is an input type that accepts GetSkeClusterNodePoolTaintArgs and GetSkeClusterNodePoolTaintOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolTaintInput` via: +// GetSqlserverflexInstanceNetworkInput is an input type that accepts GetSqlserverflexInstanceNetworkArgs and GetSqlserverflexInstanceNetworkOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceNetworkInput` via: // -// GetSkeClusterNodePoolTaintArgs{...} -type GetSkeClusterNodePoolTaintInput interface { +// GetSqlserverflexInstanceNetworkArgs{...} +type GetSqlserverflexInstanceNetworkInput interface { pulumi.Input - ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput - ToGetSkeClusterNodePoolTaintOutputWithContext(context.Context) GetSkeClusterNodePoolTaintOutput + ToGetSqlserverflexInstanceNetworkOutput() GetSqlserverflexInstanceNetworkOutput + ToGetSqlserverflexInstanceNetworkOutputWithContext(context.Context) GetSqlserverflexInstanceNetworkOutput } -type GetSkeClusterNodePoolTaintArgs struct { - // The taint effect. - Effect pulumi.StringInput `pulumi:"effect"` - // Taint key to be applied to a node. - Key pulumi.StringInput `pulumi:"key"` - // Taint value corresponding to the taint key. - Value pulumi.StringInput `pulumi:"value"` +type GetSqlserverflexInstanceNetworkArgs struct { + // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. + AccessScope pulumi.StringPtrInput `pulumi:"accessScope"` + // List of IPV4 cidr. + Acls pulumi.StringArrayInput `pulumi:"acls"` } -func (GetSkeClusterNodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() +func (GetSqlserverflexInstanceNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceNetwork)(nil)).Elem() } -func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { - return i.ToGetSkeClusterNodePoolTaintOutputWithContext(context.Background()) +func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkOutput() GetSqlserverflexInstanceNetworkOutput { + return i.ToGetSqlserverflexInstanceNetworkOutputWithContext(context.Background()) } -func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintOutput) +func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceNetworkOutput) } -// GetSkeClusterNodePoolTaintArrayInput is an input type that accepts GetSkeClusterNodePoolTaintArray and GetSkeClusterNodePoolTaintArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolTaintArrayInput` via: +func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { + return i.ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceNetworkOutput).ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx) +} + +// GetSqlserverflexInstanceNetworkPtrInput is an input type that accepts GetSqlserverflexInstanceNetworkArgs, GetSqlserverflexInstanceNetworkPtr and GetSqlserverflexInstanceNetworkPtrOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceNetworkPtrInput` via: // -// GetSkeClusterNodePoolTaintArray{ GetSkeClusterNodePoolTaintArgs{...} } -type GetSkeClusterNodePoolTaintArrayInput interface { +// GetSqlserverflexInstanceNetworkArgs{...} +// +// or: +// +// nil +type GetSqlserverflexInstanceNetworkPtrInput interface { pulumi.Input - ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput - ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) GetSkeClusterNodePoolTaintArrayOutput + ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput + ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(context.Context) GetSqlserverflexInstanceNetworkPtrOutput } -type GetSkeClusterNodePoolTaintArray []GetSkeClusterNodePoolTaintInput +type getSqlserverflexInstanceNetworkPtrType GetSqlserverflexInstanceNetworkArgs -func (GetSkeClusterNodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() +func GetSqlserverflexInstanceNetworkPtr(v *GetSqlserverflexInstanceNetworkArgs) GetSqlserverflexInstanceNetworkPtrInput { + return (*getSqlserverflexInstanceNetworkPtrType)(v) } -func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { - return i.ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) +func (*getSqlserverflexInstanceNetworkPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetSqlserverflexInstanceNetwork)(nil)).Elem() } -func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintArrayOutput) +func (i *getSqlserverflexInstanceNetworkPtrType) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { + return i.ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(context.Background()) } -type GetSkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } - -func (GetSkeClusterNodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() +func (i *getSqlserverflexInstanceNetworkPtrType) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceNetworkPtrOutput) } -func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { - return o +type GetSqlserverflexInstanceNetworkOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexInstanceNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceNetwork)(nil)).Elem() } -func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { +func (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkOutput() GetSqlserverflexInstanceNetworkOutput { return o } -// The taint effect. -func (o GetSkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +func (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkOutput { + return o } -// Taint key to be applied to a node. -func (o GetSkeClusterNodePoolTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +func (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { + return o.ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(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 (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetSqlserverflexInstanceNetwork) *GetSqlserverflexInstanceNetwork { + return &v + }).(GetSqlserverflexInstanceNetworkPtrOutput) } -type GetSkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } - -func (GetSkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() +// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. +func (o GetSqlserverflexInstanceNetworkOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceNetwork) *string { return v.AccessScope }).(pulumi.StringPtrOutput) } -func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { - return o +// List of IPV4 cidr. +func (o GetSqlserverflexInstanceNetworkOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceNetwork) []string { return v.Acls }).(pulumi.StringArrayOutput) } -func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { - return o -} +type GetSqlserverflexInstanceNetworkPtrOutput struct{ *pulumi.OutputState } -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 (GetSqlserverflexInstanceNetworkPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetSqlserverflexInstanceNetwork)(nil)).Elem() } -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 GetSqlserverflexInstanceNetworkPtrOutput) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { + return o } -// 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 - - ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput - ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput +func (o GetSqlserverflexInstanceNetworkPtrOutput) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { + return o } -type GetSkeKubernetesVersionsKubernetesVersionArgs struct { - // Expiration date of the version in RFC3339 format. - ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` - // Map of available feature gates for this version. - FeatureGates pulumi.StringMapInput `pulumi:"featureGates"` - // State of the kubernetes version. - State pulumi.StringInput `pulumi:"state"` - // Kubernetes version string (e.g., `1.33.6`). - Version pulumi.StringInput `pulumi:"version"` +func (o GetSqlserverflexInstanceNetworkPtrOutput) Elem() GetSqlserverflexInstanceNetworkOutput { + return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) GetSqlserverflexInstanceNetwork { + if v != nil { + return *v + } + var ret GetSqlserverflexInstanceNetwork + return ret + }).(GetSqlserverflexInstanceNetworkOutput) } -func (GetSkeKubernetesVersionsKubernetesVersionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. +func (o GetSqlserverflexInstanceNetworkPtrOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) *string { + if v == nil { + return nil + } + return v.AccessScope + }).(pulumi.StringPtrOutput) } -func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { - return i.ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Background()) +// List of IPV4 cidr. +func (o GetSqlserverflexInstanceNetworkPtrOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) []string { + if v == nil { + return nil + } + return v.Acls + }).(pulumi.StringArrayOutput) } -func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionOutput) +type GetSqlserverflexInstanceOptions struct { + Edition string `pulumi:"edition"` + RetentionDays int `pulumi:"retentionDays"` } -// GetSkeKubernetesVersionsKubernetesVersionArrayInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArray and GetSkeKubernetesVersionsKubernetesVersionArrayOutput values. -// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionArrayInput` via: +// GetSqlserverflexInstanceOptionsInput is an input type that accepts GetSqlserverflexInstanceOptionsArgs and GetSqlserverflexInstanceOptionsOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceOptionsInput` via: // -// GetSkeKubernetesVersionsKubernetesVersionArray{ GetSkeKubernetesVersionsKubernetesVersionArgs{...} } -type GetSkeKubernetesVersionsKubernetesVersionArrayInput interface { +// GetSqlserverflexInstanceOptionsArgs{...} +type GetSqlserverflexInstanceOptionsInput interface { pulumi.Input - ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput - ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput + ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput + ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Context) GetSqlserverflexInstanceOptionsOutput } -type GetSkeKubernetesVersionsKubernetesVersionArray []GetSkeKubernetesVersionsKubernetesVersionInput +type GetSqlserverflexInstanceOptionsArgs struct { + Edition pulumi.StringInput `pulumi:"edition"` + RetentionDays pulumi.IntInput `pulumi:"retentionDays"` +} -func (GetSkeKubernetesVersionsKubernetesVersionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetSqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() } -func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return i.ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Background()) +func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { + return i.ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Background()) } -func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) +func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceOptionsOutput) } -type GetSkeKubernetesVersionsKubernetesVersionOutput struct{ *pulumi.OutputState } +type GetSqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } -func (GetSkeKubernetesVersionsKubernetesVersionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetSqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() } -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { +func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { return o } -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { +func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { return o } -// Expiration date of the version in RFC3339 format. -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ExpirationDate() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) +func (o GetSqlserverflexInstanceOptionsOutput) Edition() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceOptions) string { return v.Edition }).(pulumi.StringOutput) } -// Map of available feature gates for this version. -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) FeatureGates() pulumi.StringMapOutput { - return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) map[string]string { return v.FeatureGates }).(pulumi.StringMapOutput) +func (o GetSqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceOptions) int { return v.RetentionDays }).(pulumi.IntOutput) } -// State of the kubernetes version. -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.State }).(pulumi.StringOutput) +type GetSqlserverflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` } -// 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) +// 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 } -type GetSkeKubernetesVersionsKubernetesVersionArrayOutput struct{ *pulumi.OutputState } +type GetSqlserverflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` +} -func (GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetSqlserverflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() } -func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { +func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { + return i.ToGetSqlserverflexInstanceStorageOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceStorageOutput) +} + +type GetSqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() +} + +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 { - return o +type GetTelemetryrouterDestinationConfigFilterOutput struct{ *pulumi.OutputState } + +func (GetTelemetryrouterDestinationConfigFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() } -func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { +func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutput() 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) +func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { + return o +} + +// 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 GetSqlserverflexInstanceNetwork struct { - // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. - AccessScope *string `pulumi:"accessScope"` - // List of IPV4 cidr. - Acls []string `pulumi:"acls"` +func (GetTelemetryrouterDestinationConfigS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() } -// GetSqlserverflexInstanceNetworkInput is an input type that accepts GetSqlserverflexInstanceNetworkArgs and GetSqlserverflexInstanceNetworkOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceNetworkInput` via: -// -// GetSqlserverflexInstanceNetworkArgs{...} -type GetSqlserverflexInstanceNetworkInput interface { - pulumi.Input +func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { + return i.ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Background()) +} - ToGetSqlserverflexInstanceNetworkOutput() GetSqlserverflexInstanceNetworkOutput - ToGetSqlserverflexInstanceNetworkOutputWithContext(context.Context) GetSqlserverflexInstanceNetworkOutput +func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigS3Output) } -type GetSqlserverflexInstanceNetworkArgs struct { - // The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. - AccessScope pulumi.StringPtrInput `pulumi:"accessScope"` - // List of IPV4 cidr. - Acls pulumi.StringArrayInput `pulumi:"acls"` +type GetTelemetryrouterDestinationConfigS3Output struct{ *pulumi.OutputState } + +func (GetTelemetryrouterDestinationConfigS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() } -func (GetSqlserverflexInstanceNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceNetwork)(nil)).Elem() +func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { + return o } -func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkOutput() GetSqlserverflexInstanceNetworkOutput { - return i.ToGetSqlserverflexInstanceNetworkOutputWithContext(context.Background()) +func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { + return o } -func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceNetworkOutput) +// S3 bucket name +func (o GetTelemetryrouterDestinationConfigS3Output) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Bucket }).(pulumi.StringOutput) } -func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { - return i.ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(context.Background()) +// S3 endpoint +func (o GetTelemetryrouterDestinationConfigS3Output) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Endpoint }).(pulumi.StringOutput) } -func (i GetSqlserverflexInstanceNetworkArgs) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceNetworkOutput).ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx) +type GetTelemetryrouterInstanceFilter struct { + // The TelemetryRouter global filter attributes + Attributes []GetTelemetryrouterInstanceFilterAttribute `pulumi:"attributes"` } -// GetSqlserverflexInstanceNetworkPtrInput is an input type that accepts GetSqlserverflexInstanceNetworkArgs, GetSqlserverflexInstanceNetworkPtr and GetSqlserverflexInstanceNetworkPtrOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceNetworkPtrInput` via: -// -// GetSqlserverflexInstanceNetworkArgs{...} -// -// or: +// GetTelemetryrouterInstanceFilterInput is an input type that accepts GetTelemetryrouterInstanceFilterArgs and GetTelemetryrouterInstanceFilterOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterInput` via: // -// nil -type GetSqlserverflexInstanceNetworkPtrInput interface { +// GetTelemetryrouterInstanceFilterArgs{...} +type GetTelemetryrouterInstanceFilterInput interface { pulumi.Input - ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput - ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(context.Context) GetSqlserverflexInstanceNetworkPtrOutput + ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput + ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterOutput } -type getSqlserverflexInstanceNetworkPtrType GetSqlserverflexInstanceNetworkArgs - -func GetSqlserverflexInstanceNetworkPtr(v *GetSqlserverflexInstanceNetworkArgs) GetSqlserverflexInstanceNetworkPtrInput { - return (*getSqlserverflexInstanceNetworkPtrType)(v) +type GetTelemetryrouterInstanceFilterArgs struct { + // The TelemetryRouter global filter attributes + Attributes GetTelemetryrouterInstanceFilterAttributeArrayInput `pulumi:"attributes"` } -func (*getSqlserverflexInstanceNetworkPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetSqlserverflexInstanceNetwork)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() } -func (i *getSqlserverflexInstanceNetworkPtrType) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { - return i.ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(context.Background()) +func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { + return i.ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Background()) } -func (i *getSqlserverflexInstanceNetworkPtrType) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceNetworkPtrOutput) +func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterOutput) } -type GetSqlserverflexInstanceNetworkOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterInstanceFilterOutput struct{ *pulumi.OutputState } -func (GetSqlserverflexInstanceNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceNetwork)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() } -func (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkOutput() GetSqlserverflexInstanceNetworkOutput { +func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { return o } -func (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkOutput { +func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { return o } -func (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { - return o.ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(context.Background()) +// The TelemetryRouter global filter attributes +func (o GetTelemetryrouterInstanceFilterOutput) Attributes() GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilter) []GetTelemetryrouterInstanceFilterAttribute { + return v.Attributes + }).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) } -func (o GetSqlserverflexInstanceNetworkOutput) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetSqlserverflexInstanceNetwork) *GetSqlserverflexInstanceNetwork { - return &v - }).(GetSqlserverflexInstanceNetworkPtrOutput) +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"` } -// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. -func (o GetSqlserverflexInstanceNetworkOutput) AccessScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceNetwork) *string { return v.AccessScope }).(pulumi.StringPtrOutput) -} +// 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 -// List of IPV4 cidr. -func (o GetSqlserverflexInstanceNetworkOutput) Acls() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceNetwork) []string { return v.Acls }).(pulumi.StringArrayOutput) + ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput + ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeOutput } -type GetSqlserverflexInstanceNetworkPtrOutput struct{ *pulumi.OutputState } +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 (GetSqlserverflexInstanceNetworkPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetSqlserverflexInstanceNetwork)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (o GetSqlserverflexInstanceNetworkPtrOutput) ToGetSqlserverflexInstanceNetworkPtrOutput() GetSqlserverflexInstanceNetworkPtrOutput { - return o +func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { + return i.ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Background()) } -func (o GetSqlserverflexInstanceNetworkPtrOutput) ToGetSqlserverflexInstanceNetworkPtrOutputWithContext(ctx context.Context) GetSqlserverflexInstanceNetworkPtrOutput { - return o +func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeOutput) } -func (o GetSqlserverflexInstanceNetworkPtrOutput) Elem() GetSqlserverflexInstanceNetworkOutput { - return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) GetSqlserverflexInstanceNetwork { - if v != nil { - return *v - } - var ret GetSqlserverflexInstanceNetwork - return ret - }).(GetSqlserverflexInstanceNetworkOutput) +// GetTelemetryrouterInstanceFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArray and GetTelemetryrouterInstanceFilterAttributeArrayOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeArrayInput` via: +// +// GetTelemetryrouterInstanceFilterAttributeArray{ GetTelemetryrouterInstanceFilterAttributeArgs{...} } +type GetTelemetryrouterInstanceFilterAttributeArrayInput interface { + pulumi.Input + + ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput + ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput } -// The network access scope of the instance. This feature is in private preview. Supplying this object is only permitted for enabled accounts. If your account does not have access, the request will be rejected. -func (o GetSqlserverflexInstanceNetworkPtrOutput) AccessScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) *string { - if v == nil { - return nil - } - return v.AccessScope - }).(pulumi.StringPtrOutput) +type GetTelemetryrouterInstanceFilterAttributeArray []GetTelemetryrouterInstanceFilterAttributeInput + +func (GetTelemetryrouterInstanceFilterAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -// List of IPV4 cidr. -func (o GetSqlserverflexInstanceNetworkPtrOutput) Acls() pulumi.StringArrayOutput { - return o.ApplyT(func(v *GetSqlserverflexInstanceNetwork) []string { - if v == nil { - return nil - } - return v.Acls - }).(pulumi.StringArrayOutput) +func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return i.ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Background()) } -type GetSqlserverflexInstanceOptions struct { - Edition string `pulumi:"edition"` - RetentionDays int `pulumi:"retentionDays"` +func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) } -// 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 +type GetTelemetryrouterInstanceFilterAttributeOutput struct{ *pulumi.OutputState } - ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput - ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Context) GetSqlserverflexInstanceOptionsOutput +func (GetTelemetryrouterInstanceFilterAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -type GetSqlserverflexInstanceOptionsArgs struct { - Edition pulumi.StringInput `pulumi:"edition"` - RetentionDays pulumi.IntInput `pulumi:"retentionDays"` +func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { + return o } -func (GetSqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() +func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { + return o } -func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { - return i.ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Background()) +// 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 (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceOptionsOutput) +// 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) } -type GetSqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } +// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. +func (o GetTelemetryrouterInstanceFilterAttributeOutput) Matcher() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) +} -func (GetSqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() +// The TelemetryRouter global filter attributes +func (o GetTelemetryrouterInstanceFilterAttributeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) } -func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { - return o +type GetTelemetryrouterInstanceFilterAttributeArrayOutput struct{ *pulumi.OutputState } + +func (GetTelemetryrouterInstanceFilterAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { return o } -func (o GetSqlserverflexInstanceOptionsOutput) Edition() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceOptions) string { return v.Edition }).(pulumi.StringOutput) +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return o } -func (o GetSqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceOptions) int { return v.RetentionDays }).(pulumi.IntOutput) +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) Index(i pulumi.IntInput) GetTelemetryrouterInstanceFilterAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTelemetryrouterInstanceFilterAttribute { + return vs[0].([]GetTelemetryrouterInstanceFilterAttribute)[vs[1].(int)] + }).(GetTelemetryrouterInstanceFilterAttributeOutput) } -type GetSqlserverflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +type GetVolumeSource struct { + // The ID of the source, e.g. image ID + Id string `pulumi:"id"` + // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. + Type string `pulumi:"type"` } -// GetSqlserverflexInstanceStorageInput is an input type that accepts GetSqlserverflexInstanceStorageArgs and GetSqlserverflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceStorageInput` via: +// GetVolumeSourceInput is an input type that accepts GetVolumeSourceArgs and GetVolumeSourceOutput values. +// You can construct a concrete instance of `GetVolumeSourceInput` via: // -// GetSqlserverflexInstanceStorageArgs{...} -type GetSqlserverflexInstanceStorageInput interface { +// GetVolumeSourceArgs{...} +type GetVolumeSourceInput interface { pulumi.Input - ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput - ToGetSqlserverflexInstanceStorageOutputWithContext(context.Context) GetSqlserverflexInstanceStorageOutput + ToGetVolumeSourceOutput() GetVolumeSourceOutput + ToGetVolumeSourceOutputWithContext(context.Context) GetVolumeSourceOutput } -type GetSqlserverflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +type GetVolumeSourceArgs struct { + // The ID of the source, e.g. image ID + Id pulumi.StringInput `pulumi:"id"` + // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. + Type pulumi.StringInput `pulumi:"type"` } -func (GetSqlserverflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() +func (GetVolumeSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() } -func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { - return i.ToGetSqlserverflexInstanceStorageOutputWithContext(context.Background()) +func (i GetVolumeSourceArgs) ToGetVolumeSourceOutput() GetVolumeSourceOutput { + return i.ToGetVolumeSourceOutputWithContext(context.Background()) } -func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceStorageOutput) +func (i GetVolumeSourceArgs) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVolumeSourceOutput) } -type GetSqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } +type GetVolumeSourceOutput struct{ *pulumi.OutputState } -func (GetSqlserverflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() +func (GetVolumeSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() } -func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { +func (o GetVolumeSourceOutput) ToGetVolumeSourceOutput() GetVolumeSourceOutput { return o } -func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { +func (o GetVolumeSourceOutput) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { return o } -func (o GetSqlserverflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +// The ID of the source, e.g. image ID +func (o GetVolumeSourceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeSource) string { return v.Id }).(pulumi.StringOutput) } -func (o GetSqlserverflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. +func (o GetVolumeSourceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeSource) string { return v.Type }).(pulumi.StringOutput) } -type GetTelemetryrouterDestinationConfig struct { - // The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. - ConfigType string `pulumi:"configType"` - // The TelemetryRouter destination's filter settings - Filter GetTelemetryrouterDestinationConfigFilter `pulumi:"filter"` - // OpenTelemetry configuration - Opentelemetry GetTelemetryrouterDestinationConfigOpentelemetry `pulumi:"opentelemetry"` - // S3 configuration - S3 GetTelemetryrouterDestinationConfigS3 `pulumi:"s3"` +type GetVpcNetworkRangeTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` } -// GetTelemetryrouterDestinationConfigInput is an input type that accepts GetTelemetryrouterDestinationConfigArgs and GetTelemetryrouterDestinationConfigOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigInput` via: +// GetVpcNetworkRangeTimeoutsInput is an input type that accepts GetVpcNetworkRangeTimeoutsArgs and GetVpcNetworkRangeTimeoutsOutput values. +// You can construct a concrete instance of `GetVpcNetworkRangeTimeoutsInput` via: // -// GetTelemetryrouterDestinationConfigArgs{...} -type GetTelemetryrouterDestinationConfigInput interface { +// GetVpcNetworkRangeTimeoutsArgs{...} +type GetVpcNetworkRangeTimeoutsInput interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput - ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOutput + ToGetVpcNetworkRangeTimeoutsOutput() GetVpcNetworkRangeTimeoutsOutput + ToGetVpcNetworkRangeTimeoutsOutputWithContext(context.Context) GetVpcNetworkRangeTimeoutsOutput } -type GetTelemetryrouterDestinationConfigArgs struct { - // The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. - ConfigType pulumi.StringInput `pulumi:"configType"` - // The TelemetryRouter destination's filter settings - Filter GetTelemetryrouterDestinationConfigFilterInput `pulumi:"filter"` - // OpenTelemetry configuration - Opentelemetry GetTelemetryrouterDestinationConfigOpentelemetryInput `pulumi:"opentelemetry"` - // S3 configuration - S3 GetTelemetryrouterDestinationConfigS3Input `pulumi:"s3"` +type GetVpcNetworkRangeTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` } -func (GetTelemetryrouterDestinationConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() +func (GetVpcNetworkRangeTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcNetworkRangeTimeouts)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { - return i.ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Background()) +func (i GetVpcNetworkRangeTimeoutsArgs) ToGetVpcNetworkRangeTimeoutsOutput() GetVpcNetworkRangeTimeoutsOutput { + return i.ToGetVpcNetworkRangeTimeoutsOutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOutput) +func (i GetVpcNetworkRangeTimeoutsArgs) ToGetVpcNetworkRangeTimeoutsOutputWithContext(ctx context.Context) GetVpcNetworkRangeTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcNetworkRangeTimeoutsOutput) } -type GetTelemetryrouterDestinationConfigOutput struct{ *pulumi.OutputState } - -func (GetTelemetryrouterDestinationConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() +func (i GetVpcNetworkRangeTimeoutsArgs) ToGetVpcNetworkRangeTimeoutsPtrOutput() GetVpcNetworkRangeTimeoutsPtrOutput { + return i.ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Background()) } -func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { - return o +func (i GetVpcNetworkRangeTimeoutsArgs) ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcNetworkRangeTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcNetworkRangeTimeoutsOutput).ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx) } -func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { - return o -} +// GetVpcNetworkRangeTimeoutsPtrInput is an input type that accepts GetVpcNetworkRangeTimeoutsArgs, GetVpcNetworkRangeTimeoutsPtr and GetVpcNetworkRangeTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetVpcNetworkRangeTimeoutsPtrInput` via: +// +// GetVpcNetworkRangeTimeoutsArgs{...} +// +// or: +// +// nil +type GetVpcNetworkRangeTimeoutsPtrInput interface { + pulumi.Input -// 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) + ToGetVpcNetworkRangeTimeoutsPtrOutput() GetVpcNetworkRangeTimeoutsPtrOutput + ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Context) GetVpcNetworkRangeTimeoutsPtrOutput } -// The TelemetryRouter destination's filter settings -func (o GetTelemetryrouterDestinationConfigOutput) Filter() GetTelemetryrouterDestinationConfigFilterOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigFilter { return v.Filter }).(GetTelemetryrouterDestinationConfigFilterOutput) +type getVpcNetworkRangeTimeoutsPtrType GetVpcNetworkRangeTimeoutsArgs + +func GetVpcNetworkRangeTimeoutsPtr(v *GetVpcNetworkRangeTimeoutsArgs) GetVpcNetworkRangeTimeoutsPtrInput { + return (*getVpcNetworkRangeTimeoutsPtrType)(v) } -// OpenTelemetry configuration -func (o GetTelemetryrouterDestinationConfigOutput) Opentelemetry() GetTelemetryrouterDestinationConfigOpentelemetryOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigOpentelemetry { - return v.Opentelemetry - }).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) +func (*getVpcNetworkRangeTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcNetworkRangeTimeouts)(nil)).Elem() } -// S3 configuration -func (o GetTelemetryrouterDestinationConfigOutput) S3() GetTelemetryrouterDestinationConfigS3Output { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigS3 { return v.S3 }).(GetTelemetryrouterDestinationConfigS3Output) +func (i *getVpcNetworkRangeTimeoutsPtrType) ToGetVpcNetworkRangeTimeoutsPtrOutput() GetVpcNetworkRangeTimeoutsPtrOutput { + return i.ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Background()) } -type GetTelemetryrouterDestinationConfigFilter struct { - // The TelemetryRouter destination's filter attributes - Attributes []GetTelemetryrouterDestinationConfigFilterAttribute `pulumi:"attributes"` +func (i *getVpcNetworkRangeTimeoutsPtrType) ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcNetworkRangeTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcNetworkRangeTimeoutsPtrOutput) } -// 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 +type GetVpcNetworkRangeTimeoutsOutput struct{ *pulumi.OutputState } - ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput - ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterOutput +func (GetVpcNetworkRangeTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcNetworkRangeTimeouts)(nil)).Elem() } -type GetTelemetryrouterDestinationConfigFilterArgs struct { - // The TelemetryRouter destination's filter attributes - Attributes GetTelemetryrouterDestinationConfigFilterAttributeArrayInput `pulumi:"attributes"` +func (o GetVpcNetworkRangeTimeoutsOutput) ToGetVpcNetworkRangeTimeoutsOutput() GetVpcNetworkRangeTimeoutsOutput { + return o } -func (GetTelemetryrouterDestinationConfigFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() +func (o GetVpcNetworkRangeTimeoutsOutput) ToGetVpcNetworkRangeTimeoutsOutputWithContext(ctx context.Context) GetVpcNetworkRangeTimeoutsOutput { + return o } -func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { - return i.ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Background()) +func (o GetVpcNetworkRangeTimeoutsOutput) ToGetVpcNetworkRangeTimeoutsPtrOutput() GetVpcNetworkRangeTimeoutsPtrOutput { + return o.ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterOutput) +func (o GetVpcNetworkRangeTimeoutsOutput) ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcNetworkRangeTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetVpcNetworkRangeTimeouts) *GetVpcNetworkRangeTimeouts { + return &v + }).(GetVpcNetworkRangeTimeoutsPtrOutput) } -type GetTelemetryrouterDestinationConfigFilterOutput 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 GetVpcNetworkRangeTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetVpcNetworkRangeTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} -func (GetTelemetryrouterDestinationConfigFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() +type GetVpcNetworkRangeTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GetVpcNetworkRangeTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcNetworkRangeTimeouts)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { +func (o GetVpcNetworkRangeTimeoutsPtrOutput) ToGetVpcNetworkRangeTimeoutsPtrOutput() GetVpcNetworkRangeTimeoutsPtrOutput { return o } -func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { +func (o GetVpcNetworkRangeTimeoutsPtrOutput) ToGetVpcNetworkRangeTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcNetworkRangeTimeoutsPtrOutput { return o } -// The TelemetryRouter destination's filter attributes -func (o GetTelemetryrouterDestinationConfigFilterOutput) Attributes() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilter) []GetTelemetryrouterDestinationConfigFilterAttribute { - return v.Attributes - }).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) +func (o GetVpcNetworkRangeTimeoutsPtrOutput) Elem() GetVpcNetworkRangeTimeoutsOutput { + return o.ApplyT(func(v *GetVpcNetworkRangeTimeouts) GetVpcNetworkRangeTimeouts { + if v != nil { + return *v + } + var ret GetVpcNetworkRangeTimeouts + return ret + }).(GetVpcNetworkRangeTimeoutsOutput) } -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"` +// 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 GetVpcNetworkRangeTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetVpcNetworkRangeTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) } -// GetTelemetryrouterDestinationConfigFilterAttributeInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArgs and GetTelemetryrouterDestinationConfigFilterAttributeOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeInput` via: +type GetVpcRegionTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` +} + +// GetVpcRegionTimeoutsInput is an input type that accepts GetVpcRegionTimeoutsArgs and GetVpcRegionTimeoutsOutput values. +// You can construct a concrete instance of `GetVpcRegionTimeoutsInput` via: // -// GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} -type GetTelemetryrouterDestinationConfigFilterAttributeInput interface { +// GetVpcRegionTimeoutsArgs{...} +type GetVpcRegionTimeoutsInput interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput - ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput + ToGetVpcRegionTimeoutsOutput() GetVpcRegionTimeoutsOutput + ToGetVpcRegionTimeoutsOutputWithContext(context.Context) GetVpcRegionTimeoutsOutput } -type GetTelemetryrouterDestinationConfigFilterAttributeArgs struct { - // The TelemetryRouter destination's filter attribute key - Key pulumi.StringInput `pulumi:"key"` - // The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. - Level pulumi.StringInput `pulumi:"level"` - // The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. - Matcher pulumi.StringInput `pulumi:"matcher"` - // The TelemetryRouter destination's filter attribute values - Values pulumi.StringArrayInput `pulumi:"values"` +type GetVpcRegionTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` } -func (GetTelemetryrouterDestinationConfigFilterAttributeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +func (GetVpcRegionTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRegionTimeouts)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return i.ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Background()) +func (i GetVpcRegionTimeoutsArgs) ToGetVpcRegionTimeoutsOutput() GetVpcRegionTimeoutsOutput { + return i.ToGetVpcRegionTimeoutsOutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeOutput) +func (i GetVpcRegionTimeoutsArgs) ToGetVpcRegionTimeoutsOutputWithContext(ctx context.Context) GetVpcRegionTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRegionTimeoutsOutput) } -// GetTelemetryrouterDestinationConfigFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArray and GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeArrayInput` via: +func (i GetVpcRegionTimeoutsArgs) ToGetVpcRegionTimeoutsPtrOutput() GetVpcRegionTimeoutsPtrOutput { + return i.ToGetVpcRegionTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i GetVpcRegionTimeoutsArgs) ToGetVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRegionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRegionTimeoutsOutput).ToGetVpcRegionTimeoutsPtrOutputWithContext(ctx) +} + +// GetVpcRegionTimeoutsPtrInput is an input type that accepts GetVpcRegionTimeoutsArgs, GetVpcRegionTimeoutsPtr and GetVpcRegionTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetVpcRegionTimeoutsPtrInput` via: // -// GetTelemetryrouterDestinationConfigFilterAttributeArray{ GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} } -type GetTelemetryrouterDestinationConfigFilterAttributeArrayInput interface { +// GetVpcRegionTimeoutsArgs{...} +// +// or: +// +// nil +type GetVpcRegionTimeoutsPtrInput interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput - ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput + ToGetVpcRegionTimeoutsPtrOutput() GetVpcRegionTimeoutsPtrOutput + ToGetVpcRegionTimeoutsPtrOutputWithContext(context.Context) GetVpcRegionTimeoutsPtrOutput } -type GetTelemetryrouterDestinationConfigFilterAttributeArray []GetTelemetryrouterDestinationConfigFilterAttributeInput +type getVpcRegionTimeoutsPtrType GetVpcRegionTimeoutsArgs -func (GetTelemetryrouterDestinationConfigFilterAttributeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +func GetVpcRegionTimeoutsPtr(v *GetVpcRegionTimeoutsArgs) GetVpcRegionTimeoutsPtrInput { + return (*getVpcRegionTimeoutsPtrType)(v) } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { - return i.ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Background()) +func (*getVpcRegionTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcRegionTimeouts)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) +func (i *getVpcRegionTimeoutsPtrType) ToGetVpcRegionTimeoutsPtrOutput() GetVpcRegionTimeoutsPtrOutput { + return i.ToGetVpcRegionTimeoutsPtrOutputWithContext(context.Background()) } -type GetTelemetryrouterDestinationConfigFilterAttributeOutput struct{ *pulumi.OutputState } - -func (GetTelemetryrouterDestinationConfigFilterAttributeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +func (i *getVpcRegionTimeoutsPtrType) ToGetVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRegionTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRegionTimeoutsPtrOutput) } -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return o +type GetVpcRegionTimeoutsOutput struct{ *pulumi.OutputState } + +func (GetVpcRegionTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRegionTimeouts)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { +func (o GetVpcRegionTimeoutsOutput) ToGetVpcRegionTimeoutsOutput() GetVpcRegionTimeoutsOutput { return o } -// The TelemetryRouter destination's filter attribute key -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Key }).(pulumi.StringOutput) +func (o GetVpcRegionTimeoutsOutput) ToGetVpcRegionTimeoutsOutputWithContext(ctx context.Context) GetVpcRegionTimeoutsOutput { + return o } -// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Level() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Level }).(pulumi.StringOutput) +func (o GetVpcRegionTimeoutsOutput) ToGetVpcRegionTimeoutsPtrOutput() GetVpcRegionTimeoutsPtrOutput { + return o.ToGetVpcRegionTimeoutsPtrOutputWithContext(context.Background()) } -// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Matcher() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) +func (o GetVpcRegionTimeoutsOutput) ToGetVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRegionTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetVpcRegionTimeouts) *GetVpcRegionTimeouts { + return &v + }).(GetVpcRegionTimeoutsPtrOutput) } -// 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) +// 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 GetVpcRegionTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetVpcRegionTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -type GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput struct{ *pulumi.OutputState } +type GetVpcRegionTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +func (GetVpcRegionTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcRegionTimeouts)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { +func (o GetVpcRegionTimeoutsPtrOutput) ToGetVpcRegionTimeoutsPtrOutput() GetVpcRegionTimeoutsPtrOutput { return o } -func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { +func (o GetVpcRegionTimeoutsPtrOutput) ToGetVpcRegionTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRegionTimeoutsPtrOutput { return o } -func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) Index(i pulumi.IntInput) GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTelemetryrouterDestinationConfigFilterAttribute { - return vs[0].([]GetTelemetryrouterDestinationConfigFilterAttribute)[vs[1].(int)] - }).(GetTelemetryrouterDestinationConfigFilterAttributeOutput) +func (o GetVpcRegionTimeoutsPtrOutput) Elem() GetVpcRegionTimeoutsOutput { + return o.ApplyT(func(v *GetVpcRegionTimeouts) GetVpcRegionTimeouts { + if v != nil { + return *v + } + var ret GetVpcRegionTimeouts + return ret + }).(GetVpcRegionTimeoutsOutput) } -type GetTelemetryrouterDestinationConfigOpentelemetry struct { - // OpenTelemetry destination URI - Uri string `pulumi:"uri"` +// 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 GetVpcRegionTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetVpcRegionTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) } -// GetTelemetryrouterDestinationConfigOpentelemetryInput is an input type that accepts GetTelemetryrouterDestinationConfigOpentelemetryArgs and GetTelemetryrouterDestinationConfigOpentelemetryOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigOpentelemetryInput` via: +type GetVpcRoutingTableStaticRouteDestination struct { + Type string `pulumi:"type"` + Value string `pulumi:"value"` +} + +// GetVpcRoutingTableStaticRouteDestinationInput is an input type that accepts GetVpcRoutingTableStaticRouteDestinationArgs and GetVpcRoutingTableStaticRouteDestinationOutput values. +// You can construct a concrete instance of `GetVpcRoutingTableStaticRouteDestinationInput` via: // -// GetTelemetryrouterDestinationConfigOpentelemetryArgs{...} -type GetTelemetryrouterDestinationConfigOpentelemetryInput interface { +// GetVpcRoutingTableStaticRouteDestinationArgs{...} +type GetVpcRoutingTableStaticRouteDestinationInput interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput - ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput + ToGetVpcRoutingTableStaticRouteDestinationOutput() GetVpcRoutingTableStaticRouteDestinationOutput + ToGetVpcRoutingTableStaticRouteDestinationOutputWithContext(context.Context) GetVpcRoutingTableStaticRouteDestinationOutput } -type GetTelemetryrouterDestinationConfigOpentelemetryArgs struct { - // OpenTelemetry destination URI - Uri pulumi.StringInput `pulumi:"uri"` +type GetVpcRoutingTableStaticRouteDestinationArgs struct { + Type pulumi.StringInput `pulumi:"type"` + Value pulumi.StringInput `pulumi:"value"` } -func (GetTelemetryrouterDestinationConfigOpentelemetryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() +func (GetVpcRoutingTableStaticRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRoutingTableStaticRouteDestination)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { - return i.ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Background()) +func (i GetVpcRoutingTableStaticRouteDestinationArgs) ToGetVpcRoutingTableStaticRouteDestinationOutput() GetVpcRoutingTableStaticRouteDestinationOutput { + return i.ToGetVpcRoutingTableStaticRouteDestinationOutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) +func (i GetVpcRoutingTableStaticRouteDestinationArgs) ToGetVpcRoutingTableStaticRouteDestinationOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRoutingTableStaticRouteDestinationOutput) } -type GetTelemetryrouterDestinationConfigOpentelemetryOutput struct{ *pulumi.OutputState } +type GetVpcRoutingTableStaticRouteDestinationOutput struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigOpentelemetryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() +func (GetVpcRoutingTableStaticRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRoutingTableStaticRouteDestination)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { +func (o GetVpcRoutingTableStaticRouteDestinationOutput) ToGetVpcRoutingTableStaticRouteDestinationOutput() GetVpcRoutingTableStaticRouteDestinationOutput { return o } -func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { +func (o GetVpcRoutingTableStaticRouteDestinationOutput) ToGetVpcRoutingTableStaticRouteDestinationOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteDestinationOutput { return o } -// OpenTelemetry destination URI -func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) Uri() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigOpentelemetry) string { return v.Uri }).(pulumi.StringOutput) +func (o GetVpcRoutingTableStaticRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcRoutingTableStaticRouteDestination) string { return v.Type }).(pulumi.StringOutput) } -type GetTelemetryrouterDestinationConfigS3 struct { - // S3 bucket name - Bucket string `pulumi:"bucket"` - // S3 endpoint - Endpoint string `pulumi:"endpoint"` +func (o GetVpcRoutingTableStaticRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcRoutingTableStaticRouteDestination) string { return v.Value }).(pulumi.StringOutput) } -// GetTelemetryrouterDestinationConfigS3Input is an input type that accepts GetTelemetryrouterDestinationConfigS3Args and GetTelemetryrouterDestinationConfigS3Output values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigS3Input` via: +type GetVpcRoutingTableStaticRouteNexthop struct { + Type string `pulumi:"type"` + Value string `pulumi:"value"` +} + +// GetVpcRoutingTableStaticRouteNexthopInput is an input type that accepts GetVpcRoutingTableStaticRouteNexthopArgs and GetVpcRoutingTableStaticRouteNexthopOutput values. +// You can construct a concrete instance of `GetVpcRoutingTableStaticRouteNexthopInput` via: // -// GetTelemetryrouterDestinationConfigS3Args{...} -type GetTelemetryrouterDestinationConfigS3Input interface { +// GetVpcRoutingTableStaticRouteNexthopArgs{...} +type GetVpcRoutingTableStaticRouteNexthopInput interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output - ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Context) GetTelemetryrouterDestinationConfigS3Output + ToGetVpcRoutingTableStaticRouteNexthopOutput() GetVpcRoutingTableStaticRouteNexthopOutput + ToGetVpcRoutingTableStaticRouteNexthopOutputWithContext(context.Context) GetVpcRoutingTableStaticRouteNexthopOutput } -type GetTelemetryrouterDestinationConfigS3Args struct { - // S3 bucket name - Bucket pulumi.StringInput `pulumi:"bucket"` - // S3 endpoint - Endpoint pulumi.StringInput `pulumi:"endpoint"` +type GetVpcRoutingTableStaticRouteNexthopArgs struct { + Type pulumi.StringInput `pulumi:"type"` + Value pulumi.StringInput `pulumi:"value"` } -func (GetTelemetryrouterDestinationConfigS3Args) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() +func (GetVpcRoutingTableStaticRouteNexthopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRoutingTableStaticRouteNexthop)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { - return i.ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Background()) +func (i GetVpcRoutingTableStaticRouteNexthopArgs) ToGetVpcRoutingTableStaticRouteNexthopOutput() GetVpcRoutingTableStaticRouteNexthopOutput { + return i.ToGetVpcRoutingTableStaticRouteNexthopOutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigS3Output) +func (i GetVpcRoutingTableStaticRouteNexthopArgs) ToGetVpcRoutingTableStaticRouteNexthopOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteNexthopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRoutingTableStaticRouteNexthopOutput) } -type GetTelemetryrouterDestinationConfigS3Output struct{ *pulumi.OutputState } +type GetVpcRoutingTableStaticRouteNexthopOutput struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigS3Output) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() +func (GetVpcRoutingTableStaticRouteNexthopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRoutingTableStaticRouteNexthop)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { +func (o GetVpcRoutingTableStaticRouteNexthopOutput) ToGetVpcRoutingTableStaticRouteNexthopOutput() GetVpcRoutingTableStaticRouteNexthopOutput { return o } -func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { +func (o GetVpcRoutingTableStaticRouteNexthopOutput) ToGetVpcRoutingTableStaticRouteNexthopOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteNexthopOutput { return o } -// S3 bucket name -func (o GetTelemetryrouterDestinationConfigS3Output) Bucket() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Bucket }).(pulumi.StringOutput) +func (o GetVpcRoutingTableStaticRouteNexthopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcRoutingTableStaticRouteNexthop) string { return v.Type }).(pulumi.StringOutput) } -// S3 endpoint -func (o GetTelemetryrouterDestinationConfigS3Output) Endpoint() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Endpoint }).(pulumi.StringOutput) +func (o GetVpcRoutingTableStaticRouteNexthopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetVpcRoutingTableStaticRouteNexthop) string { return v.Value }).(pulumi.StringOutput) } -type GetTelemetryrouterInstanceFilter struct { - // The TelemetryRouter global filter attributes - Attributes []GetTelemetryrouterInstanceFilterAttribute `pulumi:"attributes"` +type GetVpcRoutingTableStaticRouteTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` } -// GetTelemetryrouterInstanceFilterInput is an input type that accepts GetTelemetryrouterInstanceFilterArgs and GetTelemetryrouterInstanceFilterOutput values. -// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterInput` via: +// GetVpcRoutingTableStaticRouteTimeoutsInput is an input type that accepts GetVpcRoutingTableStaticRouteTimeoutsArgs and GetVpcRoutingTableStaticRouteTimeoutsOutput values. +// You can construct a concrete instance of `GetVpcRoutingTableStaticRouteTimeoutsInput` via: // -// GetTelemetryrouterInstanceFilterArgs{...} -type GetTelemetryrouterInstanceFilterInput interface { +// GetVpcRoutingTableStaticRouteTimeoutsArgs{...} +type GetVpcRoutingTableStaticRouteTimeoutsInput interface { pulumi.Input - ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput - ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterOutput + ToGetVpcRoutingTableStaticRouteTimeoutsOutput() GetVpcRoutingTableStaticRouteTimeoutsOutput + ToGetVpcRoutingTableStaticRouteTimeoutsOutputWithContext(context.Context) GetVpcRoutingTableStaticRouteTimeoutsOutput } -type GetTelemetryrouterInstanceFilterArgs struct { - // The TelemetryRouter global filter attributes - Attributes GetTelemetryrouterInstanceFilterAttributeArrayInput `pulumi:"attributes"` +type GetVpcRoutingTableStaticRouteTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` } -func (GetTelemetryrouterInstanceFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() +func (GetVpcRoutingTableStaticRouteTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { - return i.ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Background()) +func (i GetVpcRoutingTableStaticRouteTimeoutsArgs) ToGetVpcRoutingTableStaticRouteTimeoutsOutput() GetVpcRoutingTableStaticRouteTimeoutsOutput { + return i.ToGetVpcRoutingTableStaticRouteTimeoutsOutputWithContext(context.Background()) } -func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterOutput) +func (i GetVpcRoutingTableStaticRouteTimeoutsArgs) ToGetVpcRoutingTableStaticRouteTimeoutsOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRoutingTableStaticRouteTimeoutsOutput) } -type GetTelemetryrouterInstanceFilterOutput struct{ *pulumi.OutputState } +func (i GetVpcRoutingTableStaticRouteTimeoutsArgs) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutput() GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return i.ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Background()) +} -func (GetTelemetryrouterInstanceFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() +func (i GetVpcRoutingTableStaticRouteTimeoutsArgs) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRoutingTableStaticRouteTimeoutsOutput).ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx) } -func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { - return o +// GetVpcRoutingTableStaticRouteTimeoutsPtrInput is an input type that accepts GetVpcRoutingTableStaticRouteTimeoutsArgs, GetVpcRoutingTableStaticRouteTimeoutsPtr and GetVpcRoutingTableStaticRouteTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetVpcRoutingTableStaticRouteTimeoutsPtrInput` via: +// +// GetVpcRoutingTableStaticRouteTimeoutsArgs{...} +// +// or: +// +// nil +type GetVpcRoutingTableStaticRouteTimeoutsPtrInput interface { + pulumi.Input + + ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutput() GetVpcRoutingTableStaticRouteTimeoutsPtrOutput + ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Context) GetVpcRoutingTableStaticRouteTimeoutsPtrOutput } -func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { - return o +type getVpcRoutingTableStaticRouteTimeoutsPtrType GetVpcRoutingTableStaticRouteTimeoutsArgs + +func GetVpcRoutingTableStaticRouteTimeoutsPtr(v *GetVpcRoutingTableStaticRouteTimeoutsArgs) GetVpcRoutingTableStaticRouteTimeoutsPtrInput { + return (*getVpcRoutingTableStaticRouteTimeoutsPtrType)(v) } -// The TelemetryRouter global filter attributes -func (o GetTelemetryrouterInstanceFilterOutput) Attributes() GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilter) []GetTelemetryrouterInstanceFilterAttribute { - return v.Attributes - }).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) +func (*getVpcRoutingTableStaticRouteTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -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"` +func (i *getVpcRoutingTableStaticRouteTimeoutsPtrType) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutput() GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return i.ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Background()) } -// 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 +func (i *getVpcRoutingTableStaticRouteTimeoutsPtrType) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) +} - ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput - ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeOutput +type GetVpcRoutingTableStaticRouteTimeoutsOutput struct{ *pulumi.OutputState } + +func (GetVpcRoutingTableStaticRouteTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -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 (o GetVpcRoutingTableStaticRouteTimeoutsOutput) ToGetVpcRoutingTableStaticRouteTimeoutsOutput() GetVpcRoutingTableStaticRouteTimeoutsOutput { + return o } -func (GetTelemetryrouterInstanceFilterAttributeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +func (o GetVpcRoutingTableStaticRouteTimeoutsOutput) ToGetVpcRoutingTableStaticRouteTimeoutsOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteTimeoutsOutput { + return o } -func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { - return i.ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Background()) +func (o GetVpcRoutingTableStaticRouteTimeoutsOutput) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutput() GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o.ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(context.Background()) } -func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeOutput) +func (o GetVpcRoutingTableStaticRouteTimeoutsOutput) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetVpcRoutingTableStaticRouteTimeouts) *GetVpcRoutingTableStaticRouteTimeouts { + return &v + }).(GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) } -// GetTelemetryrouterInstanceFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArray and GetTelemetryrouterInstanceFilterAttributeArrayOutput values. -// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeArrayInput` via: -// -// GetTelemetryrouterInstanceFilterAttributeArray{ GetTelemetryrouterInstanceFilterAttributeArgs{...} } -type GetTelemetryrouterInstanceFilterAttributeArrayInput interface { - pulumi.Input +// 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 GetVpcRoutingTableStaticRouteTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetVpcRoutingTableStaticRouteTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} - ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput - ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput +type GetVpcRoutingTableStaticRouteTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcRoutingTableStaticRouteTimeouts)(nil)).Elem() } -type GetTelemetryrouterInstanceFilterAttributeArray []GetTelemetryrouterInstanceFilterAttributeInput +func (o GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutput() GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o +} -func (GetTelemetryrouterInstanceFilterAttributeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +func (o GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) ToGetVpcRoutingTableStaticRouteTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o } -func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return i.ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Background()) +func (o GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) Elem() GetVpcRoutingTableStaticRouteTimeoutsOutput { + return o.ApplyT(func(v *GetVpcRoutingTableStaticRouteTimeouts) GetVpcRoutingTableStaticRouteTimeouts { + if v != nil { + return *v + } + var ret GetVpcRoutingTableStaticRouteTimeouts + return ret + }).(GetVpcRoutingTableStaticRouteTimeoutsOutput) } -func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) +// 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 GetVpcRoutingTableStaticRouteTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetVpcRoutingTableStaticRouteTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) } -type GetTelemetryrouterInstanceFilterAttributeOutput struct{ *pulumi.OutputState } +type GetVpcTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` +} -func (GetTelemetryrouterInstanceFilterAttributeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +// GetVpcTimeoutsInput is an input type that accepts GetVpcTimeoutsArgs and GetVpcTimeoutsOutput values. +// You can construct a concrete instance of `GetVpcTimeoutsInput` via: +// +// GetVpcTimeoutsArgs{...} +type GetVpcTimeoutsInput interface { + pulumi.Input + + ToGetVpcTimeoutsOutput() GetVpcTimeoutsOutput + ToGetVpcTimeoutsOutputWithContext(context.Context) GetVpcTimeoutsOutput } -func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { - return o +type GetVpcTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` } -func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { - return o +func (GetVpcTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcTimeouts)(nil)).Elem() } -// 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 (i GetVpcTimeoutsArgs) ToGetVpcTimeoutsOutput() GetVpcTimeoutsOutput { + return i.ToGetVpcTimeoutsOutputWithContext(context.Background()) } -// The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. -func (o GetTelemetryrouterInstanceFilterAttributeOutput) Level() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Level }).(pulumi.StringOutput) +func (i GetVpcTimeoutsArgs) ToGetVpcTimeoutsOutputWithContext(ctx context.Context) GetVpcTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcTimeoutsOutput) } -// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. -func (o GetTelemetryrouterInstanceFilterAttributeOutput) Matcher() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) +func (i GetVpcTimeoutsArgs) ToGetVpcTimeoutsPtrOutput() GetVpcTimeoutsPtrOutput { + return i.ToGetVpcTimeoutsPtrOutputWithContext(context.Background()) } -// The TelemetryRouter global filter attributes -func (o GetTelemetryrouterInstanceFilterAttributeOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) +func (i GetVpcTimeoutsArgs) ToGetVpcTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcTimeoutsOutput).ToGetVpcTimeoutsPtrOutputWithContext(ctx) } -type GetTelemetryrouterInstanceFilterAttributeArrayOutput struct{ *pulumi.OutputState } +// GetVpcTimeoutsPtrInput is an input type that accepts GetVpcTimeoutsArgs, GetVpcTimeoutsPtr and GetVpcTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetVpcTimeoutsPtrInput` via: +// +// GetVpcTimeoutsArgs{...} +// +// or: +// +// nil +type GetVpcTimeoutsPtrInput interface { + pulumi.Input -func (GetTelemetryrouterInstanceFilterAttributeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() + ToGetVpcTimeoutsPtrOutput() GetVpcTimeoutsPtrOutput + ToGetVpcTimeoutsPtrOutputWithContext(context.Context) GetVpcTimeoutsPtrOutput } -func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return o +type getVpcTimeoutsPtrType GetVpcTimeoutsArgs + +func GetVpcTimeoutsPtr(v *GetVpcTimeoutsArgs) GetVpcTimeoutsPtrInput { + return (*getVpcTimeoutsPtrType)(v) } -func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return o +func (*getVpcTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcTimeouts)(nil)).Elem() } -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) +func (i *getVpcTimeoutsPtrType) ToGetVpcTimeoutsPtrOutput() GetVpcTimeoutsPtrOutput { + return i.ToGetVpcTimeoutsPtrOutputWithContext(context.Background()) } -type GetVolumeSource struct { - // The ID of the source, e.g. image ID - Id string `pulumi:"id"` - // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. - Type string `pulumi:"type"` +func (i *getVpcTimeoutsPtrType) ToGetVpcTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpcTimeoutsPtrOutput) } -// GetVolumeSourceInput is an input type that accepts GetVolumeSourceArgs and GetVolumeSourceOutput values. -// You can construct a concrete instance of `GetVolumeSourceInput` via: -// -// GetVolumeSourceArgs{...} -type GetVolumeSourceInput interface { - pulumi.Input +type GetVpcTimeoutsOutput struct{ *pulumi.OutputState } - ToGetVolumeSourceOutput() GetVolumeSourceOutput - ToGetVolumeSourceOutputWithContext(context.Context) GetVolumeSourceOutput +func (GetVpcTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpcTimeouts)(nil)).Elem() } -type GetVolumeSourceArgs struct { - // The ID of the source, e.g. image ID - Id pulumi.StringInput `pulumi:"id"` - // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. - Type pulumi.StringInput `pulumi:"type"` +func (o GetVpcTimeoutsOutput) ToGetVpcTimeoutsOutput() GetVpcTimeoutsOutput { + return o } -func (GetVolumeSourceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() +func (o GetVpcTimeoutsOutput) ToGetVpcTimeoutsOutputWithContext(ctx context.Context) GetVpcTimeoutsOutput { + return o } -func (i GetVolumeSourceArgs) ToGetVolumeSourceOutput() GetVolumeSourceOutput { - return i.ToGetVolumeSourceOutputWithContext(context.Background()) +func (o GetVpcTimeoutsOutput) ToGetVpcTimeoutsPtrOutput() GetVpcTimeoutsPtrOutput { + return o.ToGetVpcTimeoutsPtrOutputWithContext(context.Background()) } -func (i GetVolumeSourceArgs) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVolumeSourceOutput) +func (o GetVpcTimeoutsOutput) ToGetVpcTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetVpcTimeouts) *GetVpcTimeouts { + return &v + }).(GetVpcTimeoutsPtrOutput) } -type GetVolumeSourceOutput 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 GetVpcTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetVpcTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +} -func (GetVolumeSourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() +type GetVpcTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GetVpcTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetVpcTimeouts)(nil)).Elem() } -func (o GetVolumeSourceOutput) ToGetVolumeSourceOutput() GetVolumeSourceOutput { +func (o GetVpcTimeoutsPtrOutput) ToGetVpcTimeoutsPtrOutput() GetVpcTimeoutsPtrOutput { return o } -func (o GetVolumeSourceOutput) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { +func (o GetVpcTimeoutsPtrOutput) ToGetVpcTimeoutsPtrOutputWithContext(ctx context.Context) GetVpcTimeoutsPtrOutput { return o } -// The ID of the source, e.g. image ID -func (o GetVolumeSourceOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetVolumeSource) string { return v.Id }).(pulumi.StringOutput) +func (o GetVpcTimeoutsPtrOutput) Elem() GetVpcTimeoutsOutput { + return o.ApplyT(func(v *GetVpcTimeouts) GetVpcTimeouts { + if v != nil { + return *v + } + var ret GetVpcTimeouts + return ret + }).(GetVpcTimeoutsOutput) } -// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. -func (o GetVolumeSourceOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetVolumeSource) string { return v.Type }).(pulumi.StringOutput) +// 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 GetVpcTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetVpcTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) } type GetVpnConnectionTunnel1 struct { @@ -39569,6 +41297,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VolumeEncryptionParametersPtrInput)(nil)).Elem(), VolumeEncryptionParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourceInput)(nil)).Elem(), VolumeSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourcePtrInput)(nil)).Elem(), VolumeSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkRangeTimeoutsInput)(nil)).Elem(), VpcNetworkRangeTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkRangeTimeoutsPtrInput)(nil)).Elem(), VpcNetworkRangeTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRegionTimeoutsInput)(nil)).Elem(), VpcRegionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRegionTimeoutsPtrInput)(nil)).Elem(), VpcRegionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteDestinationInput)(nil)).Elem(), VpcRoutingTableStaticRouteDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteDestinationPtrInput)(nil)).Elem(), VpcRoutingTableStaticRouteDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteNexthopInput)(nil)).Elem(), VpcRoutingTableStaticRouteNexthopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteNexthopPtrInput)(nil)).Elem(), VpcRoutingTableStaticRouteNexthopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteTimeoutsInput)(nil)).Elem(), VpcRoutingTableStaticRouteTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteTimeoutsPtrInput)(nil)).Elem(), VpcRoutingTableStaticRouteTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcTimeoutsInput)(nil)).Elem(), VpcTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcTimeoutsPtrInput)(nil)).Elem(), VpcTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1Input)(nil)).Elem(), VpnConnectionTunnel1Args{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1PtrInput)(nil)).Elem(), VpnConnectionTunnel1Args{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1BgpInput)(nil)).Elem(), VpnConnectionTunnel1BgpArgs{}) @@ -39793,6 +41533,16 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttributeInput)(nil)).Elem(), GetTelemetryrouterInstanceFilterAttributeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttributeArrayInput)(nil)).Elem(), GetTelemetryrouterInstanceFilterAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVolumeSourceInput)(nil)).Elem(), GetVolumeSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcNetworkRangeTimeoutsInput)(nil)).Elem(), GetVpcNetworkRangeTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcNetworkRangeTimeoutsPtrInput)(nil)).Elem(), GetVpcNetworkRangeTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcRegionTimeoutsInput)(nil)).Elem(), GetVpcRegionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcRegionTimeoutsPtrInput)(nil)).Elem(), GetVpcRegionTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcRoutingTableStaticRouteDestinationInput)(nil)).Elem(), GetVpcRoutingTableStaticRouteDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcRoutingTableStaticRouteNexthopInput)(nil)).Elem(), GetVpcRoutingTableStaticRouteNexthopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcRoutingTableStaticRouteTimeoutsInput)(nil)).Elem(), GetVpcRoutingTableStaticRouteTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcRoutingTableStaticRouteTimeoutsPtrInput)(nil)).Elem(), GetVpcRoutingTableStaticRouteTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcTimeoutsInput)(nil)).Elem(), GetVpcTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpcTimeoutsPtrInput)(nil)).Elem(), GetVpcTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1Input)(nil)).Elem(), GetVpnConnectionTunnel1Args{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1BgpInput)(nil)).Elem(), GetVpnConnectionTunnel1BgpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1PeeringInput)(nil)).Elem(), GetVpnConnectionTunnel1PeeringArgs{}) @@ -40064,6 +41814,18 @@ func init() { pulumi.RegisterOutputType(VolumeEncryptionParametersPtrOutput{}) pulumi.RegisterOutputType(VolumeSourceOutput{}) pulumi.RegisterOutputType(VolumeSourcePtrOutput{}) + pulumi.RegisterOutputType(VpcNetworkRangeTimeoutsOutput{}) + pulumi.RegisterOutputType(VpcNetworkRangeTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(VpcRegionTimeoutsOutput{}) + pulumi.RegisterOutputType(VpcRegionTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteDestinationOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteDestinationPtrOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteNexthopOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteNexthopPtrOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteTimeoutsOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(VpcTimeoutsOutput{}) + pulumi.RegisterOutputType(VpcTimeoutsPtrOutput{}) pulumi.RegisterOutputType(VpnConnectionTunnel1Output{}) pulumi.RegisterOutputType(VpnConnectionTunnel1PtrOutput{}) pulumi.RegisterOutputType(VpnConnectionTunnel1BgpOutput{}) @@ -40288,6 +42050,16 @@ func init() { pulumi.RegisterOutputType(GetTelemetryrouterInstanceFilterAttributeOutput{}) pulumi.RegisterOutputType(GetTelemetryrouterInstanceFilterAttributeArrayOutput{}) pulumi.RegisterOutputType(GetVolumeSourceOutput{}) + pulumi.RegisterOutputType(GetVpcNetworkRangeTimeoutsOutput{}) + pulumi.RegisterOutputType(GetVpcNetworkRangeTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetVpcRegionTimeoutsOutput{}) + pulumi.RegisterOutputType(GetVpcRegionTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetVpcRoutingTableStaticRouteDestinationOutput{}) + pulumi.RegisterOutputType(GetVpcRoutingTableStaticRouteNexthopOutput{}) + pulumi.RegisterOutputType(GetVpcRoutingTableStaticRouteTimeoutsOutput{}) + pulumi.RegisterOutputType(GetVpcRoutingTableStaticRouteTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetVpcTimeoutsOutput{}) + pulumi.RegisterOutputType(GetVpcTimeoutsPtrOutput{}) pulumi.RegisterOutputType(GetVpnConnectionTunnel1Output{}) pulumi.RegisterOutputType(GetVpnConnectionTunnel1BgpOutput{}) pulumi.RegisterOutputType(GetVpnConnectionTunnel1PeeringOutput{}) diff --git a/sdk/go/stackit/routingTable.go b/sdk/go/stackit/routingTable.go index 6506ef1..e0b8431 100644 --- a/sdk/go/stackit/routingTable.go +++ b/sdk/go/stackit/routingTable.go @@ -16,7 +16,7 @@ import ( // // This resource is for SNA, not VPC, based networks. // -// > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/routingTableRoute.go b/sdk/go/stackit/routingTableRoute.go index 1f74d81..9a7d84e 100644 --- a/sdk/go/stackit/routingTableRoute.go +++ b/sdk/go/stackit/routingTableRoute.go @@ -16,7 +16,7 @@ import ( // // This resource is for SNA, not VPC, based networks. // -// > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/secretsmanagerInstanceRoleBindingV1.go b/sdk/go/stackit/secretsmanagerInstanceRoleBindingV1.go index ab5c46f..a5ae33b 100644 --- a/sdk/go/stackit/secretsmanagerInstanceRoleBindingV1.go +++ b/sdk/go/stackit/secretsmanagerInstanceRoleBindingV1.go @@ -14,7 +14,7 @@ import ( // IAM role binding resource schema. // -// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/secretsmanagerSecretGroupRoleBindingV1.go b/sdk/go/stackit/secretsmanagerSecretGroupRoleBindingV1.go index 18a85fb..a4dbe00 100644 --- a/sdk/go/stackit/secretsmanagerSecretGroupRoleBindingV1.go +++ b/sdk/go/stackit/secretsmanagerSecretGroupRoleBindingV1.go @@ -14,7 +14,7 @@ import ( // IAM role binding resource schema. // -// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. // // ## Example Usage // diff --git a/sdk/go/stackit/vpc.go b/sdk/go/stackit/vpc.go new file mode 100644 index 0000000..6e4616d --- /dev/null +++ b/sdk/go/stackit/vpc.go @@ -0,0 +1,295 @@ +// 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" +) + +// VPC resource schema. +// +// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type Vpc struct { + pulumi.CustomResourceState + + // The description of the VPC. + Description pulumi.StringOutput `pulumi:"description"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapOutput `pulumi:"labels"` + // The name of the VPC. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT project ID to which the VPC is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + Timeouts VpcTimeoutsPtrOutput `pulumi:"timeouts"` + // The VPC ID. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewVpc registers a new resource with the given unique name, arguments, and options. +func NewVpc(ctx *pulumi.Context, + name string, args *VpcArgs, opts ...pulumi.ResourceOption) (*Vpc, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Vpc + err := ctx.RegisterResource("stackit:index/vpc:Vpc", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpc gets an existing Vpc 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 GetVpc(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcState, opts ...pulumi.ResourceOption) (*Vpc, error) { + var resource Vpc + err := ctx.ReadResource("stackit:index/vpc:Vpc", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Vpc resources. +type vpcState struct { + // The description of the VPC. + Description *string `pulumi:"description"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the VPC. + Name *string `pulumi:"name"` + // STACKIT project ID to which the VPC is associated. + ProjectId *string `pulumi:"projectId"` + Timeouts *VpcTimeouts `pulumi:"timeouts"` + // The VPC ID. + VpcId *string `pulumi:"vpcId"` +} + +type VpcState struct { + // The description of the VPC. + Description pulumi.StringPtrInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // The name of the VPC. + Name pulumi.StringPtrInput + // STACKIT project ID to which the VPC is associated. + ProjectId pulumi.StringPtrInput + Timeouts VpcTimeoutsPtrInput + // The VPC ID. + VpcId pulumi.StringPtrInput +} + +func (VpcState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcState)(nil)).Elem() +} + +type vpcArgs struct { + // The description of the VPC. + Description string `pulumi:"description"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the VPC. + Name *string `pulumi:"name"` + // STACKIT project ID to which the VPC is associated. + ProjectId string `pulumi:"projectId"` + Timeouts *VpcTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a Vpc resource. +type VpcArgs struct { + // The description of the VPC. + Description pulumi.StringInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // The name of the VPC. + Name pulumi.StringPtrInput + // STACKIT project ID to which the VPC is associated. + ProjectId pulumi.StringInput + Timeouts VpcTimeoutsPtrInput +} + +func (VpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcArgs)(nil)).Elem() +} + +type VpcInput interface { + pulumi.Input + + ToVpcOutput() VpcOutput + ToVpcOutputWithContext(ctx context.Context) VpcOutput +} + +func (*Vpc) ElementType() reflect.Type { + return reflect.TypeOf((**Vpc)(nil)).Elem() +} + +func (i *Vpc) ToVpcOutput() VpcOutput { + return i.ToVpcOutputWithContext(context.Background()) +} + +func (i *Vpc) ToVpcOutputWithContext(ctx context.Context) VpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcOutput) +} + +// VpcArrayInput is an input type that accepts VpcArray and VpcArrayOutput values. +// You can construct a concrete instance of `VpcArrayInput` via: +// +// VpcArray{ VpcArgs{...} } +type VpcArrayInput interface { + pulumi.Input + + ToVpcArrayOutput() VpcArrayOutput + ToVpcArrayOutputWithContext(context.Context) VpcArrayOutput +} + +type VpcArray []VpcInput + +func (VpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Vpc)(nil)).Elem() +} + +func (i VpcArray) ToVpcArrayOutput() VpcArrayOutput { + return i.ToVpcArrayOutputWithContext(context.Background()) +} + +func (i VpcArray) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcArrayOutput) +} + +// VpcMapInput is an input type that accepts VpcMap and VpcMapOutput values. +// You can construct a concrete instance of `VpcMapInput` via: +// +// VpcMap{ "key": VpcArgs{...} } +type VpcMapInput interface { + pulumi.Input + + ToVpcMapOutput() VpcMapOutput + ToVpcMapOutputWithContext(context.Context) VpcMapOutput +} + +type VpcMap map[string]VpcInput + +func (VpcMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Vpc)(nil)).Elem() +} + +func (i VpcMap) ToVpcMapOutput() VpcMapOutput { + return i.ToVpcMapOutputWithContext(context.Background()) +} + +func (i VpcMap) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcMapOutput) +} + +type VpcOutput struct{ *pulumi.OutputState } + +func (VpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Vpc)(nil)).Elem() +} + +func (o VpcOutput) ToVpcOutput() VpcOutput { + return o +} + +func (o VpcOutput) ToVpcOutputWithContext(ctx context.Context) VpcOutput { + return o +} + +// The description of the VPC. +func (o VpcOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *Vpc) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o VpcOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *Vpc) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// The name of the VPC. +func (o VpcOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *Vpc) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the VPC is associated. +func (o VpcOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *Vpc) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +func (o VpcOutput) Timeouts() VpcTimeoutsPtrOutput { + return o.ApplyT(func(v *Vpc) VpcTimeoutsPtrOutput { return v.Timeouts }).(VpcTimeoutsPtrOutput) +} + +// The VPC ID. +func (o VpcOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *Vpc) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +type VpcArrayOutput struct{ *pulumi.OutputState } + +func (VpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Vpc)(nil)).Elem() +} + +func (o VpcArrayOutput) ToVpcArrayOutput() VpcArrayOutput { + return o +} + +func (o VpcArrayOutput) ToVpcArrayOutputWithContext(ctx context.Context) VpcArrayOutput { + return o +} + +func (o VpcArrayOutput) Index(i pulumi.IntInput) VpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Vpc { + return vs[0].([]*Vpc)[vs[1].(int)] + }).(VpcOutput) +} + +type VpcMapOutput struct{ *pulumi.OutputState } + +func (VpcMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Vpc)(nil)).Elem() +} + +func (o VpcMapOutput) ToVpcMapOutput() VpcMapOutput { + return o +} + +func (o VpcMapOutput) ToVpcMapOutputWithContext(ctx context.Context) VpcMapOutput { + return o +} + +func (o VpcMapOutput) MapIndex(k pulumi.StringInput) VpcOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Vpc { + return vs[0].(map[string]*Vpc)[vs[1].(string)] + }).(VpcOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcInput)(nil)).Elem(), &Vpc{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcArrayInput)(nil)).Elem(), VpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcMapInput)(nil)).Elem(), VpcMap{}) + pulumi.RegisterOutputType(VpcOutput{}) + pulumi.RegisterOutputType(VpcArrayOutput{}) + pulumi.RegisterOutputType(VpcMapOutput{}) +} diff --git a/sdk/go/stackit/vpcNetworkRange.go b/sdk/go/stackit/vpcNetworkRange.go new file mode 100644 index 0000000..4ec4b5b --- /dev/null +++ b/sdk/go/stackit/vpcNetworkRange.go @@ -0,0 +1,405 @@ +// 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" +) + +// VPC network range resource schema +// +// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type VpcNetworkRange struct { + pulumi.CustomResourceState + + // Default prefix length for the VPC network range + DefaultPrefixLength pulumi.IntOutput `pulumi:"defaultPrefixLength"` + // Description of the VPC network range + Description pulumi.StringOutput `pulumi:"description"` + // IP version of the VPC network range. Possible values are: `ipv4`. + IpVersion pulumi.StringOutput `pulumi:"ipVersion"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapOutput `pulumi:"labels"` + // Maximum prefix length for the VPC network range + MaxPrefixLength pulumi.IntOutput `pulumi:"maxPrefixLength"` + // Minimum prefix length for the VPC network range + MinPrefixLength pulumi.IntOutput `pulumi:"minPrefixLength"` + // List of nameservers for the VPC network range + Nameservers pulumi.StringArrayOutput `pulumi:"nameservers"` + NetworkRangeId pulumi.StringOutput `pulumi:"networkRangeId"` + // The IP prefix for the VPC network range + Prefix pulumi.StringOutput `pulumi:"prefix"` + // STACKIT project ID to which the VPC network range is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + Timeouts VpcNetworkRangeTimeoutsPtrOutput `pulumi:"timeouts"` + // The VPC ID to which the VPC network range is associated. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewVpcNetworkRange registers a new resource with the given unique name, arguments, and options. +func NewVpcNetworkRange(ctx *pulumi.Context, + name string, args *VpcNetworkRangeArgs, opts ...pulumi.ResourceOption) (*VpcNetworkRange, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.IpVersion == nil { + return nil, errors.New("invalid value for required argument 'IpVersion'") + } + if args.Prefix == nil { + return nil, errors.New("invalid value for required argument 'Prefix'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcNetworkRange + err := ctx.RegisterResource("stackit:index/vpcNetworkRange:VpcNetworkRange", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcNetworkRange gets an existing VpcNetworkRange 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 GetVpcNetworkRange(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcNetworkRangeState, opts ...pulumi.ResourceOption) (*VpcNetworkRange, error) { + var resource VpcNetworkRange + err := ctx.ReadResource("stackit:index/vpcNetworkRange:VpcNetworkRange", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcNetworkRange resources. +type vpcNetworkRangeState struct { + // Default prefix length for the VPC network range + DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` + // Description of the VPC network range + Description *string `pulumi:"description"` + // IP version of the VPC network range. Possible values are: `ipv4`. + IpVersion *string `pulumi:"ipVersion"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // Maximum prefix length for the VPC network range + MaxPrefixLength *int `pulumi:"maxPrefixLength"` + // Minimum prefix length for the VPC network range + MinPrefixLength *int `pulumi:"minPrefixLength"` + // List of nameservers for the VPC network range + Nameservers []string `pulumi:"nameservers"` + NetworkRangeId *string `pulumi:"networkRangeId"` + // The IP prefix for the VPC network range + Prefix *string `pulumi:"prefix"` + // STACKIT project ID to which the VPC network range is associated. + ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *VpcNetworkRangeTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC network range is associated. + VpcId *string `pulumi:"vpcId"` +} + +type VpcNetworkRangeState struct { + // Default prefix length for the VPC network range + DefaultPrefixLength pulumi.IntPtrInput + // Description of the VPC network range + Description pulumi.StringPtrInput + // IP version of the VPC network range. Possible values are: `ipv4`. + IpVersion pulumi.StringPtrInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // Maximum prefix length for the VPC network range + MaxPrefixLength pulumi.IntPtrInput + // Minimum prefix length for the VPC network range + MinPrefixLength pulumi.IntPtrInput + // List of nameservers for the VPC network range + Nameservers pulumi.StringArrayInput + NetworkRangeId pulumi.StringPtrInput + // The IP prefix for the VPC network range + Prefix pulumi.StringPtrInput + // STACKIT project ID to which the VPC network range is associated. + ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts VpcNetworkRangeTimeoutsPtrInput + // The VPC ID to which the VPC network range is associated. + VpcId pulumi.StringPtrInput +} + +func (VpcNetworkRangeState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcNetworkRangeState)(nil)).Elem() +} + +type vpcNetworkRangeArgs struct { + // Default prefix length for the VPC network range + DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` + // Description of the VPC network range + Description string `pulumi:"description"` + // IP version of the VPC network range. Possible values are: `ipv4`. + IpVersion string `pulumi:"ipVersion"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // Maximum prefix length for the VPC network range + MaxPrefixLength *int `pulumi:"maxPrefixLength"` + // Minimum prefix length for the VPC network range + MinPrefixLength *int `pulumi:"minPrefixLength"` + // List of nameservers for the VPC network range + Nameservers []string `pulumi:"nameservers"` + // The IP prefix for the VPC network range + Prefix string `pulumi:"prefix"` + // STACKIT project ID to which the VPC network range is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *VpcNetworkRangeTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC network range is associated. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a VpcNetworkRange resource. +type VpcNetworkRangeArgs struct { + // Default prefix length for the VPC network range + DefaultPrefixLength pulumi.IntPtrInput + // Description of the VPC network range + Description pulumi.StringInput + // IP version of the VPC network range. Possible values are: `ipv4`. + IpVersion pulumi.StringInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // Maximum prefix length for the VPC network range + MaxPrefixLength pulumi.IntPtrInput + // Minimum prefix length for the VPC network range + MinPrefixLength pulumi.IntPtrInput + // List of nameservers for the VPC network range + Nameservers pulumi.StringArrayInput + // The IP prefix for the VPC network range + Prefix pulumi.StringInput + // STACKIT project ID to which the VPC network range is associated. + ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts VpcNetworkRangeTimeoutsPtrInput + // The VPC ID to which the VPC network range is associated. + VpcId pulumi.StringInput +} + +func (VpcNetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcNetworkRangeArgs)(nil)).Elem() +} + +type VpcNetworkRangeInput interface { + pulumi.Input + + ToVpcNetworkRangeOutput() VpcNetworkRangeOutput + ToVpcNetworkRangeOutputWithContext(ctx context.Context) VpcNetworkRangeOutput +} + +func (*VpcNetworkRange) ElementType() reflect.Type { + return reflect.TypeOf((**VpcNetworkRange)(nil)).Elem() +} + +func (i *VpcNetworkRange) ToVpcNetworkRangeOutput() VpcNetworkRangeOutput { + return i.ToVpcNetworkRangeOutputWithContext(context.Background()) +} + +func (i *VpcNetworkRange) ToVpcNetworkRangeOutputWithContext(ctx context.Context) VpcNetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkRangeOutput) +} + +// VpcNetworkRangeArrayInput is an input type that accepts VpcNetworkRangeArray and VpcNetworkRangeArrayOutput values. +// You can construct a concrete instance of `VpcNetworkRangeArrayInput` via: +// +// VpcNetworkRangeArray{ VpcNetworkRangeArgs{...} } +type VpcNetworkRangeArrayInput interface { + pulumi.Input + + ToVpcNetworkRangeArrayOutput() VpcNetworkRangeArrayOutput + ToVpcNetworkRangeArrayOutputWithContext(context.Context) VpcNetworkRangeArrayOutput +} + +type VpcNetworkRangeArray []VpcNetworkRangeInput + +func (VpcNetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcNetworkRange)(nil)).Elem() +} + +func (i VpcNetworkRangeArray) ToVpcNetworkRangeArrayOutput() VpcNetworkRangeArrayOutput { + return i.ToVpcNetworkRangeArrayOutputWithContext(context.Background()) +} + +func (i VpcNetworkRangeArray) ToVpcNetworkRangeArrayOutputWithContext(ctx context.Context) VpcNetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkRangeArrayOutput) +} + +// VpcNetworkRangeMapInput is an input type that accepts VpcNetworkRangeMap and VpcNetworkRangeMapOutput values. +// You can construct a concrete instance of `VpcNetworkRangeMapInput` via: +// +// VpcNetworkRangeMap{ "key": VpcNetworkRangeArgs{...} } +type VpcNetworkRangeMapInput interface { + pulumi.Input + + ToVpcNetworkRangeMapOutput() VpcNetworkRangeMapOutput + ToVpcNetworkRangeMapOutputWithContext(context.Context) VpcNetworkRangeMapOutput +} + +type VpcNetworkRangeMap map[string]VpcNetworkRangeInput + +func (VpcNetworkRangeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcNetworkRange)(nil)).Elem() +} + +func (i VpcNetworkRangeMap) ToVpcNetworkRangeMapOutput() VpcNetworkRangeMapOutput { + return i.ToVpcNetworkRangeMapOutputWithContext(context.Background()) +} + +func (i VpcNetworkRangeMap) ToVpcNetworkRangeMapOutputWithContext(ctx context.Context) VpcNetworkRangeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcNetworkRangeMapOutput) +} + +type VpcNetworkRangeOutput struct{ *pulumi.OutputState } + +func (VpcNetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcNetworkRange)(nil)).Elem() +} + +func (o VpcNetworkRangeOutput) ToVpcNetworkRangeOutput() VpcNetworkRangeOutput { + return o +} + +func (o VpcNetworkRangeOutput) ToVpcNetworkRangeOutputWithContext(ctx context.Context) VpcNetworkRangeOutput { + return o +} + +// Default prefix length for the VPC network range +func (o VpcNetworkRangeOutput) DefaultPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.IntOutput { return v.DefaultPrefixLength }).(pulumi.IntOutput) +} + +// Description of the VPC network range +func (o VpcNetworkRangeOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// IP version of the VPC network range. Possible values are: `ipv4`. +func (o VpcNetworkRangeOutput) IpVersion() pulumi.StringOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringOutput { return v.IpVersion }).(pulumi.StringOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o VpcNetworkRangeOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// Maximum prefix length for the VPC network range +func (o VpcNetworkRangeOutput) MaxPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.IntOutput { return v.MaxPrefixLength }).(pulumi.IntOutput) +} + +// Minimum prefix length for the VPC network range +func (o VpcNetworkRangeOutput) MinPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.IntOutput { return v.MinPrefixLength }).(pulumi.IntOutput) +} + +// List of nameservers for the VPC network range +func (o VpcNetworkRangeOutput) Nameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringArrayOutput { return v.Nameservers }).(pulumi.StringArrayOutput) +} + +func (o VpcNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringOutput { return v.NetworkRangeId }).(pulumi.StringOutput) +} + +// The IP prefix for the VPC network range +func (o VpcNetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringOutput { return v.Prefix }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the VPC network range is associated. +func (o VpcNetworkRangeOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o VpcNetworkRangeOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o VpcNetworkRangeOutput) Timeouts() VpcNetworkRangeTimeoutsPtrOutput { + return o.ApplyT(func(v *VpcNetworkRange) VpcNetworkRangeTimeoutsPtrOutput { return v.Timeouts }).(VpcNetworkRangeTimeoutsPtrOutput) +} + +// The VPC ID to which the VPC network range is associated. +func (o VpcNetworkRangeOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcNetworkRange) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +type VpcNetworkRangeArrayOutput struct{ *pulumi.OutputState } + +func (VpcNetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcNetworkRange)(nil)).Elem() +} + +func (o VpcNetworkRangeArrayOutput) ToVpcNetworkRangeArrayOutput() VpcNetworkRangeArrayOutput { + return o +} + +func (o VpcNetworkRangeArrayOutput) ToVpcNetworkRangeArrayOutputWithContext(ctx context.Context) VpcNetworkRangeArrayOutput { + return o +} + +func (o VpcNetworkRangeArrayOutput) Index(i pulumi.IntInput) VpcNetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcNetworkRange { + return vs[0].([]*VpcNetworkRange)[vs[1].(int)] + }).(VpcNetworkRangeOutput) +} + +type VpcNetworkRangeMapOutput struct{ *pulumi.OutputState } + +func (VpcNetworkRangeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcNetworkRange)(nil)).Elem() +} + +func (o VpcNetworkRangeMapOutput) ToVpcNetworkRangeMapOutput() VpcNetworkRangeMapOutput { + return o +} + +func (o VpcNetworkRangeMapOutput) ToVpcNetworkRangeMapOutputWithContext(ctx context.Context) VpcNetworkRangeMapOutput { + return o +} + +func (o VpcNetworkRangeMapOutput) MapIndex(k pulumi.StringInput) VpcNetworkRangeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcNetworkRange { + return vs[0].(map[string]*VpcNetworkRange)[vs[1].(string)] + }).(VpcNetworkRangeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkRangeInput)(nil)).Elem(), &VpcNetworkRange{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkRangeArrayInput)(nil)).Elem(), VpcNetworkRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcNetworkRangeMapInput)(nil)).Elem(), VpcNetworkRangeMap{}) + pulumi.RegisterOutputType(VpcNetworkRangeOutput{}) + pulumi.RegisterOutputType(VpcNetworkRangeArrayOutput{}) + pulumi.RegisterOutputType(VpcNetworkRangeMapOutput{}) +} diff --git a/sdk/go/stackit/vpcRegion.go b/sdk/go/stackit/vpcRegion.go new file mode 100644 index 0000000..ea2385b --- /dev/null +++ b/sdk/go/stackit/vpcRegion.go @@ -0,0 +1,269 @@ +// 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" +) + +// VPC region resource schema +// +// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type VpcRegion struct { + pulumi.CustomResourceState + + // STACKIT project ID to which the VPC region is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + Timeouts VpcRegionTimeoutsPtrOutput `pulumi:"timeouts"` + // The VPC ID to which the VPC region is associated. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewVpcRegion registers a new resource with the given unique name, arguments, and options. +func NewVpcRegion(ctx *pulumi.Context, + name string, args *VpcRegionArgs, opts ...pulumi.ResourceOption) (*VpcRegion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcRegion + err := ctx.RegisterResource("stackit:index/vpcRegion:VpcRegion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcRegion gets an existing VpcRegion 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 GetVpcRegion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcRegionState, opts ...pulumi.ResourceOption) (*VpcRegion, error) { + var resource VpcRegion + err := ctx.ReadResource("stackit:index/vpcRegion:VpcRegion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcRegion resources. +type vpcRegionState struct { + // STACKIT project ID to which the VPC region is associated. + ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *VpcRegionTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC region is associated. + VpcId *string `pulumi:"vpcId"` +} + +type VpcRegionState struct { + // STACKIT project ID to which the VPC region is associated. + ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts VpcRegionTimeoutsPtrInput + // The VPC ID to which the VPC region is associated. + VpcId pulumi.StringPtrInput +} + +func (VpcRegionState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcRegionState)(nil)).Elem() +} + +type vpcRegionArgs struct { + // STACKIT project ID to which the VPC region is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *VpcRegionTimeouts `pulumi:"timeouts"` + // The VPC ID to which the VPC region is associated. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a VpcRegion resource. +type VpcRegionArgs struct { + // STACKIT project ID to which the VPC region is associated. + ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts VpcRegionTimeoutsPtrInput + // The VPC ID to which the VPC region is associated. + VpcId pulumi.StringInput +} + +func (VpcRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcRegionArgs)(nil)).Elem() +} + +type VpcRegionInput interface { + pulumi.Input + + ToVpcRegionOutput() VpcRegionOutput + ToVpcRegionOutputWithContext(ctx context.Context) VpcRegionOutput +} + +func (*VpcRegion) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRegion)(nil)).Elem() +} + +func (i *VpcRegion) ToVpcRegionOutput() VpcRegionOutput { + return i.ToVpcRegionOutputWithContext(context.Background()) +} + +func (i *VpcRegion) ToVpcRegionOutputWithContext(ctx context.Context) VpcRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRegionOutput) +} + +// VpcRegionArrayInput is an input type that accepts VpcRegionArray and VpcRegionArrayOutput values. +// You can construct a concrete instance of `VpcRegionArrayInput` via: +// +// VpcRegionArray{ VpcRegionArgs{...} } +type VpcRegionArrayInput interface { + pulumi.Input + + ToVpcRegionArrayOutput() VpcRegionArrayOutput + ToVpcRegionArrayOutputWithContext(context.Context) VpcRegionArrayOutput +} + +type VpcRegionArray []VpcRegionInput + +func (VpcRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcRegion)(nil)).Elem() +} + +func (i VpcRegionArray) ToVpcRegionArrayOutput() VpcRegionArrayOutput { + return i.ToVpcRegionArrayOutputWithContext(context.Background()) +} + +func (i VpcRegionArray) ToVpcRegionArrayOutputWithContext(ctx context.Context) VpcRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRegionArrayOutput) +} + +// VpcRegionMapInput is an input type that accepts VpcRegionMap and VpcRegionMapOutput values. +// You can construct a concrete instance of `VpcRegionMapInput` via: +// +// VpcRegionMap{ "key": VpcRegionArgs{...} } +type VpcRegionMapInput interface { + pulumi.Input + + ToVpcRegionMapOutput() VpcRegionMapOutput + ToVpcRegionMapOutputWithContext(context.Context) VpcRegionMapOutput +} + +type VpcRegionMap map[string]VpcRegionInput + +func (VpcRegionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcRegion)(nil)).Elem() +} + +func (i VpcRegionMap) ToVpcRegionMapOutput() VpcRegionMapOutput { + return i.ToVpcRegionMapOutputWithContext(context.Background()) +} + +func (i VpcRegionMap) ToVpcRegionMapOutputWithContext(ctx context.Context) VpcRegionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRegionMapOutput) +} + +type VpcRegionOutput struct{ *pulumi.OutputState } + +func (VpcRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRegion)(nil)).Elem() +} + +func (o VpcRegionOutput) ToVpcRegionOutput() VpcRegionOutput { + return o +} + +func (o VpcRegionOutput) ToVpcRegionOutputWithContext(ctx context.Context) VpcRegionOutput { + return o +} + +// STACKIT project ID to which the VPC region is associated. +func (o VpcRegionOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRegion) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o VpcRegionOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRegion) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o VpcRegionOutput) Timeouts() VpcRegionTimeoutsPtrOutput { + return o.ApplyT(func(v *VpcRegion) VpcRegionTimeoutsPtrOutput { return v.Timeouts }).(VpcRegionTimeoutsPtrOutput) +} + +// The VPC ID to which the VPC region is associated. +func (o VpcRegionOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRegion) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +type VpcRegionArrayOutput struct{ *pulumi.OutputState } + +func (VpcRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcRegion)(nil)).Elem() +} + +func (o VpcRegionArrayOutput) ToVpcRegionArrayOutput() VpcRegionArrayOutput { + return o +} + +func (o VpcRegionArrayOutput) ToVpcRegionArrayOutputWithContext(ctx context.Context) VpcRegionArrayOutput { + return o +} + +func (o VpcRegionArrayOutput) Index(i pulumi.IntInput) VpcRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcRegion { + return vs[0].([]*VpcRegion)[vs[1].(int)] + }).(VpcRegionOutput) +} + +type VpcRegionMapOutput struct{ *pulumi.OutputState } + +func (VpcRegionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcRegion)(nil)).Elem() +} + +func (o VpcRegionMapOutput) ToVpcRegionMapOutput() VpcRegionMapOutput { + return o +} + +func (o VpcRegionMapOutput) ToVpcRegionMapOutputWithContext(ctx context.Context) VpcRegionMapOutput { + return o +} + +func (o VpcRegionMapOutput) MapIndex(k pulumi.StringInput) VpcRegionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcRegion { + return vs[0].(map[string]*VpcRegion)[vs[1].(string)] + }).(VpcRegionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcRegionInput)(nil)).Elem(), &VpcRegion{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRegionArrayInput)(nil)).Elem(), VpcRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRegionMapInput)(nil)).Elem(), VpcRegionMap{}) + pulumi.RegisterOutputType(VpcRegionOutput{}) + pulumi.RegisterOutputType(VpcRegionArrayOutput{}) + pulumi.RegisterOutputType(VpcRegionMapOutput{}) +} diff --git a/sdk/go/stackit/vpcRoutingTable.go b/sdk/go/stackit/vpcRoutingTable.go new file mode 100644 index 0000000..0d70be8 --- /dev/null +++ b/sdk/go/stackit/vpcRoutingTable.go @@ -0,0 +1,346 @@ +// 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" +) + +// VPC Regional routing table resource schema. Must have a `region` specified in the provider configuration. +// +// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type VpcRoutingTable struct { + pulumi.CustomResourceState + + // Description of the regional routing table. + Description pulumi.StringOutput `pulumi:"description"` + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes pulumi.BoolOutput `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapOutput `pulumi:"labels"` + // The name of the regional routing table. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT project ID to which the regional routing table is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // The regional routing tables ID. + RoutingTableId pulumi.StringOutput `pulumi:"routingTableId"` + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes pulumi.BoolOutput `pulumi:"systemRoutes"` + // The vpc ID to which the regional routing table is associated. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewVpcRoutingTable registers a new resource with the given unique name, arguments, and options. +func NewVpcRoutingTable(ctx *pulumi.Context, + name string, args *VpcRoutingTableArgs, opts ...pulumi.ResourceOption) (*VpcRoutingTable, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcRoutingTable + err := ctx.RegisterResource("stackit:index/vpcRoutingTable:VpcRoutingTable", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcRoutingTable gets an existing VpcRoutingTable 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 GetVpcRoutingTable(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcRoutingTableState, opts ...pulumi.ResourceOption) (*VpcRoutingTable, error) { + var resource VpcRoutingTable + err := ctx.ReadResource("stackit:index/vpcRoutingTable:VpcRoutingTable", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcRoutingTable resources. +type vpcRoutingTableState struct { + // Description of the regional routing table. + Description *string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes *bool `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the regional routing table. + Name *string `pulumi:"name"` + // STACKIT project ID to which the regional routing table is associated. + ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The regional routing tables ID. + RoutingTableId *string `pulumi:"routingTableId"` + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes *bool `pulumi:"systemRoutes"` + // The vpc ID to which the regional routing table is associated. + VpcId *string `pulumi:"vpcId"` +} + +type VpcRoutingTableState struct { + // Description of the regional routing table. + Description pulumi.StringPtrInput + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes pulumi.BoolPtrInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // The name of the regional routing table. + Name pulumi.StringPtrInput + // STACKIT project ID to which the regional routing table is associated. + ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The regional routing tables ID. + RoutingTableId pulumi.StringPtrInput + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes pulumi.BoolPtrInput + // The vpc ID to which the regional routing table is associated. + VpcId pulumi.StringPtrInput +} + +func (VpcRoutingTableState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcRoutingTableState)(nil)).Elem() +} + +type vpcRoutingTableArgs struct { + // Description of the regional routing table. + Description *string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes *bool `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the regional routing table. + Name *string `pulumi:"name"` + // STACKIT project ID to which the regional routing table is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes *bool `pulumi:"systemRoutes"` + // The vpc ID to which the regional routing table is associated. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a VpcRoutingTable resource. +type VpcRoutingTableArgs struct { + // Description of the regional routing table. + Description pulumi.StringPtrInput + // This controls whether dynamic routes are propagated to this regional routing table + DynamicRoutes pulumi.BoolPtrInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // The name of the regional routing table. + Name pulumi.StringPtrInput + // STACKIT project ID to which the regional routing table is associated. + ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // This allows installation of automatic system routes for connectivity between projects in the same VPC. + SystemRoutes pulumi.BoolPtrInput + // The vpc ID to which the regional routing table is associated. + VpcId pulumi.StringInput +} + +func (VpcRoutingTableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcRoutingTableArgs)(nil)).Elem() +} + +type VpcRoutingTableInput interface { + pulumi.Input + + ToVpcRoutingTableOutput() VpcRoutingTableOutput + ToVpcRoutingTableOutputWithContext(ctx context.Context) VpcRoutingTableOutput +} + +func (*VpcRoutingTable) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTable)(nil)).Elem() +} + +func (i *VpcRoutingTable) ToVpcRoutingTableOutput() VpcRoutingTableOutput { + return i.ToVpcRoutingTableOutputWithContext(context.Background()) +} + +func (i *VpcRoutingTable) ToVpcRoutingTableOutputWithContext(ctx context.Context) VpcRoutingTableOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableOutput) +} + +// VpcRoutingTableArrayInput is an input type that accepts VpcRoutingTableArray and VpcRoutingTableArrayOutput values. +// You can construct a concrete instance of `VpcRoutingTableArrayInput` via: +// +// VpcRoutingTableArray{ VpcRoutingTableArgs{...} } +type VpcRoutingTableArrayInput interface { + pulumi.Input + + ToVpcRoutingTableArrayOutput() VpcRoutingTableArrayOutput + ToVpcRoutingTableArrayOutputWithContext(context.Context) VpcRoutingTableArrayOutput +} + +type VpcRoutingTableArray []VpcRoutingTableInput + +func (VpcRoutingTableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcRoutingTable)(nil)).Elem() +} + +func (i VpcRoutingTableArray) ToVpcRoutingTableArrayOutput() VpcRoutingTableArrayOutput { + return i.ToVpcRoutingTableArrayOutputWithContext(context.Background()) +} + +func (i VpcRoutingTableArray) ToVpcRoutingTableArrayOutputWithContext(ctx context.Context) VpcRoutingTableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableArrayOutput) +} + +// VpcRoutingTableMapInput is an input type that accepts VpcRoutingTableMap and VpcRoutingTableMapOutput values. +// You can construct a concrete instance of `VpcRoutingTableMapInput` via: +// +// VpcRoutingTableMap{ "key": VpcRoutingTableArgs{...} } +type VpcRoutingTableMapInput interface { + pulumi.Input + + ToVpcRoutingTableMapOutput() VpcRoutingTableMapOutput + ToVpcRoutingTableMapOutputWithContext(context.Context) VpcRoutingTableMapOutput +} + +type VpcRoutingTableMap map[string]VpcRoutingTableInput + +func (VpcRoutingTableMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcRoutingTable)(nil)).Elem() +} + +func (i VpcRoutingTableMap) ToVpcRoutingTableMapOutput() VpcRoutingTableMapOutput { + return i.ToVpcRoutingTableMapOutputWithContext(context.Background()) +} + +func (i VpcRoutingTableMap) ToVpcRoutingTableMapOutputWithContext(ctx context.Context) VpcRoutingTableMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableMapOutput) +} + +type VpcRoutingTableOutput struct{ *pulumi.OutputState } + +func (VpcRoutingTableOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTable)(nil)).Elem() +} + +func (o VpcRoutingTableOutput) ToVpcRoutingTableOutput() VpcRoutingTableOutput { + return o +} + +func (o VpcRoutingTableOutput) ToVpcRoutingTableOutputWithContext(ctx context.Context) VpcRoutingTableOutput { + return o +} + +// Description of the regional routing table. +func (o VpcRoutingTableOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// This controls whether dynamic routes are propagated to this regional routing table +func (o VpcRoutingTableOutput) DynamicRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.BoolOutput { return v.DynamicRoutes }).(pulumi.BoolOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o VpcRoutingTableOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// The name of the regional routing table. +func (o VpcRoutingTableOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the regional routing table is associated. +func (o VpcRoutingTableOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o VpcRoutingTableOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The regional routing tables ID. +func (o VpcRoutingTableOutput) RoutingTableId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.StringOutput { return v.RoutingTableId }).(pulumi.StringOutput) +} + +// This allows installation of automatic system routes for connectivity between projects in the same VPC. +func (o VpcRoutingTableOutput) SystemRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.BoolOutput { return v.SystemRoutes }).(pulumi.BoolOutput) +} + +// The vpc ID to which the regional routing table is associated. +func (o VpcRoutingTableOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTable) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +type VpcRoutingTableArrayOutput struct{ *pulumi.OutputState } + +func (VpcRoutingTableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcRoutingTable)(nil)).Elem() +} + +func (o VpcRoutingTableArrayOutput) ToVpcRoutingTableArrayOutput() VpcRoutingTableArrayOutput { + return o +} + +func (o VpcRoutingTableArrayOutput) ToVpcRoutingTableArrayOutputWithContext(ctx context.Context) VpcRoutingTableArrayOutput { + return o +} + +func (o VpcRoutingTableArrayOutput) Index(i pulumi.IntInput) VpcRoutingTableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcRoutingTable { + return vs[0].([]*VpcRoutingTable)[vs[1].(int)] + }).(VpcRoutingTableOutput) +} + +type VpcRoutingTableMapOutput struct{ *pulumi.OutputState } + +func (VpcRoutingTableMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcRoutingTable)(nil)).Elem() +} + +func (o VpcRoutingTableMapOutput) ToVpcRoutingTableMapOutput() VpcRoutingTableMapOutput { + return o +} + +func (o VpcRoutingTableMapOutput) ToVpcRoutingTableMapOutputWithContext(ctx context.Context) VpcRoutingTableMapOutput { + return o +} + +func (o VpcRoutingTableMapOutput) MapIndex(k pulumi.StringInput) VpcRoutingTableOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcRoutingTable { + return vs[0].(map[string]*VpcRoutingTable)[vs[1].(string)] + }).(VpcRoutingTableOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableInput)(nil)).Elem(), &VpcRoutingTable{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableArrayInput)(nil)).Elem(), VpcRoutingTableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableMapInput)(nil)).Elem(), VpcRoutingTableMap{}) + pulumi.RegisterOutputType(VpcRoutingTableOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableArrayOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableMapOutput{}) +} diff --git a/sdk/go/stackit/vpcRoutingTableStaticRoute.go b/sdk/go/stackit/vpcRoutingTableStaticRoute.go new file mode 100644 index 0000000..fca79a1 --- /dev/null +++ b/sdk/go/stackit/vpcRoutingTableStaticRoute.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" +) + +// VPC Routing table static route resource schema. Must have a `region` specified in the provider configuration. +// +// > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +// +// ## Import +// +// In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: +type VpcRoutingTableStaticRoute struct { + pulumi.CustomResourceState + + // The destination of the static route. + Destination VpcRoutingTableStaticRouteDestinationOutput `pulumi:"destination"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapOutput `pulumi:"labels"` + // The nexthop of the static route. + Nexthop VpcRoutingTableStaticRouteNexthopOutput `pulumi:"nexthop"` + // STACKIT Project ID to which the static route is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The region of the static route. + Region pulumi.StringOutput `pulumi:"region"` + // The static route ID. + RouteId pulumi.StringOutput `pulumi:"routeId"` + // The routing table ID to which the static route is associated. + RoutingTableId pulumi.StringOutput `pulumi:"routingTableId"` + Timeouts VpcRoutingTableStaticRouteTimeoutsPtrOutput `pulumi:"timeouts"` + // The VPC ID to which the static route is associated. + VpcId pulumi.StringOutput `pulumi:"vpcId"` +} + +// NewVpcRoutingTableStaticRoute registers a new resource with the given unique name, arguments, and options. +func NewVpcRoutingTableStaticRoute(ctx *pulumi.Context, + name string, args *VpcRoutingTableStaticRouteArgs, opts ...pulumi.ResourceOption) (*VpcRoutingTableStaticRoute, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Destination == nil { + return nil, errors.New("invalid value for required argument 'Destination'") + } + if args.Nexthop == nil { + return nil, errors.New("invalid value for required argument 'Nexthop'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.RoutingTableId == nil { + return nil, errors.New("invalid value for required argument 'RoutingTableId'") + } + if args.VpcId == nil { + return nil, errors.New("invalid value for required argument 'VpcId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpcRoutingTableStaticRoute + err := ctx.RegisterResource("stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpcRoutingTableStaticRoute gets an existing VpcRoutingTableStaticRoute 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 GetVpcRoutingTableStaticRoute(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpcRoutingTableStaticRouteState, opts ...pulumi.ResourceOption) (*VpcRoutingTableStaticRoute, error) { + var resource VpcRoutingTableStaticRoute + err := ctx.ReadResource("stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpcRoutingTableStaticRoute resources. +type vpcRoutingTableStaticRouteState struct { + // The destination of the static route. + Destination *VpcRoutingTableStaticRouteDestination `pulumi:"destination"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The nexthop of the static route. + Nexthop *VpcRoutingTableStaticRouteNexthop `pulumi:"nexthop"` + // STACKIT Project ID to which the static route is associated. + ProjectId *string `pulumi:"projectId"` + // The region of the static route. + Region *string `pulumi:"region"` + // The static route ID. + RouteId *string `pulumi:"routeId"` + // The routing table ID to which the static route is associated. + RoutingTableId *string `pulumi:"routingTableId"` + Timeouts *VpcRoutingTableStaticRouteTimeouts `pulumi:"timeouts"` + // The VPC ID to which the static route is associated. + VpcId *string `pulumi:"vpcId"` +} + +type VpcRoutingTableStaticRouteState struct { + // The destination of the static route. + Destination VpcRoutingTableStaticRouteDestinationPtrInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // The nexthop of the static route. + Nexthop VpcRoutingTableStaticRouteNexthopPtrInput + // STACKIT Project ID to which the static route is associated. + ProjectId pulumi.StringPtrInput + // The region of the static route. + Region pulumi.StringPtrInput + // The static route ID. + RouteId pulumi.StringPtrInput + // The routing table ID to which the static route is associated. + RoutingTableId pulumi.StringPtrInput + Timeouts VpcRoutingTableStaticRouteTimeoutsPtrInput + // The VPC ID to which the static route is associated. + VpcId pulumi.StringPtrInput +} + +func (VpcRoutingTableStaticRouteState) ElementType() reflect.Type { + return reflect.TypeOf((*vpcRoutingTableStaticRouteState)(nil)).Elem() +} + +type vpcRoutingTableStaticRouteArgs struct { + // The destination of the static route. + Destination VpcRoutingTableStaticRouteDestination `pulumi:"destination"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The nexthop of the static route. + Nexthop VpcRoutingTableStaticRouteNexthop `pulumi:"nexthop"` + // STACKIT Project ID to which the static route is associated. + ProjectId string `pulumi:"projectId"` + // The region of the static route. + Region *string `pulumi:"region"` + // The routing table ID to which the static route is associated. + RoutingTableId string `pulumi:"routingTableId"` + Timeouts *VpcRoutingTableStaticRouteTimeouts `pulumi:"timeouts"` + // The VPC ID to which the static route is associated. + VpcId string `pulumi:"vpcId"` +} + +// The set of arguments for constructing a VpcRoutingTableStaticRoute resource. +type VpcRoutingTableStaticRouteArgs struct { + // The destination of the static route. + Destination VpcRoutingTableStaticRouteDestinationInput + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput + // The nexthop of the static route. + Nexthop VpcRoutingTableStaticRouteNexthopInput + // STACKIT Project ID to which the static route is associated. + ProjectId pulumi.StringInput + // The region of the static route. + Region pulumi.StringPtrInput + // The routing table ID to which the static route is associated. + RoutingTableId pulumi.StringInput + Timeouts VpcRoutingTableStaticRouteTimeoutsPtrInput + // The VPC ID to which the static route is associated. + VpcId pulumi.StringInput +} + +func (VpcRoutingTableStaticRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpcRoutingTableStaticRouteArgs)(nil)).Elem() +} + +type VpcRoutingTableStaticRouteInput interface { + pulumi.Input + + ToVpcRoutingTableStaticRouteOutput() VpcRoutingTableStaticRouteOutput + ToVpcRoutingTableStaticRouteOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteOutput +} + +func (*VpcRoutingTableStaticRoute) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRoute)(nil)).Elem() +} + +func (i *VpcRoutingTableStaticRoute) ToVpcRoutingTableStaticRouteOutput() VpcRoutingTableStaticRouteOutput { + return i.ToVpcRoutingTableStaticRouteOutputWithContext(context.Background()) +} + +func (i *VpcRoutingTableStaticRoute) ToVpcRoutingTableStaticRouteOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteOutput) +} + +// VpcRoutingTableStaticRouteArrayInput is an input type that accepts VpcRoutingTableStaticRouteArray and VpcRoutingTableStaticRouteArrayOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteArrayInput` via: +// +// VpcRoutingTableStaticRouteArray{ VpcRoutingTableStaticRouteArgs{...} } +type VpcRoutingTableStaticRouteArrayInput interface { + pulumi.Input + + ToVpcRoutingTableStaticRouteArrayOutput() VpcRoutingTableStaticRouteArrayOutput + ToVpcRoutingTableStaticRouteArrayOutputWithContext(context.Context) VpcRoutingTableStaticRouteArrayOutput +} + +type VpcRoutingTableStaticRouteArray []VpcRoutingTableStaticRouteInput + +func (VpcRoutingTableStaticRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcRoutingTableStaticRoute)(nil)).Elem() +} + +func (i VpcRoutingTableStaticRouteArray) ToVpcRoutingTableStaticRouteArrayOutput() VpcRoutingTableStaticRouteArrayOutput { + return i.ToVpcRoutingTableStaticRouteArrayOutputWithContext(context.Background()) +} + +func (i VpcRoutingTableStaticRouteArray) ToVpcRoutingTableStaticRouteArrayOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteArrayOutput) +} + +// VpcRoutingTableStaticRouteMapInput is an input type that accepts VpcRoutingTableStaticRouteMap and VpcRoutingTableStaticRouteMapOutput values. +// You can construct a concrete instance of `VpcRoutingTableStaticRouteMapInput` via: +// +// VpcRoutingTableStaticRouteMap{ "key": VpcRoutingTableStaticRouteArgs{...} } +type VpcRoutingTableStaticRouteMapInput interface { + pulumi.Input + + ToVpcRoutingTableStaticRouteMapOutput() VpcRoutingTableStaticRouteMapOutput + ToVpcRoutingTableStaticRouteMapOutputWithContext(context.Context) VpcRoutingTableStaticRouteMapOutput +} + +type VpcRoutingTableStaticRouteMap map[string]VpcRoutingTableStaticRouteInput + +func (VpcRoutingTableStaticRouteMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcRoutingTableStaticRoute)(nil)).Elem() +} + +func (i VpcRoutingTableStaticRouteMap) ToVpcRoutingTableStaticRouteMapOutput() VpcRoutingTableStaticRouteMapOutput { + return i.ToVpcRoutingTableStaticRouteMapOutputWithContext(context.Background()) +} + +func (i VpcRoutingTableStaticRouteMap) ToVpcRoutingTableStaticRouteMapOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpcRoutingTableStaticRouteMapOutput) +} + +type VpcRoutingTableStaticRouteOutput struct{ *pulumi.OutputState } + +func (VpcRoutingTableStaticRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpcRoutingTableStaticRoute)(nil)).Elem() +} + +func (o VpcRoutingTableStaticRouteOutput) ToVpcRoutingTableStaticRouteOutput() VpcRoutingTableStaticRouteOutput { + return o +} + +func (o VpcRoutingTableStaticRouteOutput) ToVpcRoutingTableStaticRouteOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteOutput { + return o +} + +// The destination of the static route. +func (o VpcRoutingTableStaticRouteOutput) Destination() VpcRoutingTableStaticRouteDestinationOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) VpcRoutingTableStaticRouteDestinationOutput { return v.Destination }).(VpcRoutingTableStaticRouteDestinationOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o VpcRoutingTableStaticRouteOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// The nexthop of the static route. +func (o VpcRoutingTableStaticRouteOutput) Nexthop() VpcRoutingTableStaticRouteNexthopOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) VpcRoutingTableStaticRouteNexthopOutput { return v.Nexthop }).(VpcRoutingTableStaticRouteNexthopOutput) +} + +// STACKIT Project ID to which the static route is associated. +func (o VpcRoutingTableStaticRouteOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The region of the static route. +func (o VpcRoutingTableStaticRouteOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The static route ID. +func (o VpcRoutingTableStaticRouteOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) pulumi.StringOutput { return v.RouteId }).(pulumi.StringOutput) +} + +// The routing table ID to which the static route is associated. +func (o VpcRoutingTableStaticRouteOutput) RoutingTableId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) pulumi.StringOutput { return v.RoutingTableId }).(pulumi.StringOutput) +} + +func (o VpcRoutingTableStaticRouteOutput) Timeouts() VpcRoutingTableStaticRouteTimeoutsPtrOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) VpcRoutingTableStaticRouteTimeoutsPtrOutput { return v.Timeouts }).(VpcRoutingTableStaticRouteTimeoutsPtrOutput) +} + +// The VPC ID to which the static route is associated. +func (o VpcRoutingTableStaticRouteOutput) VpcId() pulumi.StringOutput { + return o.ApplyT(func(v *VpcRoutingTableStaticRoute) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput) +} + +type VpcRoutingTableStaticRouteArrayOutput struct{ *pulumi.OutputState } + +func (VpcRoutingTableStaticRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpcRoutingTableStaticRoute)(nil)).Elem() +} + +func (o VpcRoutingTableStaticRouteArrayOutput) ToVpcRoutingTableStaticRouteArrayOutput() VpcRoutingTableStaticRouteArrayOutput { + return o +} + +func (o VpcRoutingTableStaticRouteArrayOutput) ToVpcRoutingTableStaticRouteArrayOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteArrayOutput { + return o +} + +func (o VpcRoutingTableStaticRouteArrayOutput) Index(i pulumi.IntInput) VpcRoutingTableStaticRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcRoutingTableStaticRoute { + return vs[0].([]*VpcRoutingTableStaticRoute)[vs[1].(int)] + }).(VpcRoutingTableStaticRouteOutput) +} + +type VpcRoutingTableStaticRouteMapOutput struct{ *pulumi.OutputState } + +func (VpcRoutingTableStaticRouteMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpcRoutingTableStaticRoute)(nil)).Elem() +} + +func (o VpcRoutingTableStaticRouteMapOutput) ToVpcRoutingTableStaticRouteMapOutput() VpcRoutingTableStaticRouteMapOutput { + return o +} + +func (o VpcRoutingTableStaticRouteMapOutput) ToVpcRoutingTableStaticRouteMapOutputWithContext(ctx context.Context) VpcRoutingTableStaticRouteMapOutput { + return o +} + +func (o VpcRoutingTableStaticRouteMapOutput) MapIndex(k pulumi.StringInput) VpcRoutingTableStaticRouteOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcRoutingTableStaticRoute { + return vs[0].(map[string]*VpcRoutingTableStaticRoute)[vs[1].(string)] + }).(VpcRoutingTableStaticRouteOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteInput)(nil)).Elem(), &VpcRoutingTableStaticRoute{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteArrayInput)(nil)).Elem(), VpcRoutingTableStaticRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpcRoutingTableStaticRouteMapInput)(nil)).Elem(), VpcRoutingTableStaticRouteMap{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteArrayOutput{}) + pulumi.RegisterOutputType(VpcRoutingTableStaticRouteMapOutput{}) +} diff --git a/sdk/nodejs/authorizationFolderRoleAssignment.ts b/sdk/nodejs/authorizationFolderRoleAssignment.ts index 781a2ee..01fef08 100644 --- a/sdk/nodejs/authorizationFolderRoleAssignment.ts +++ b/sdk/nodejs/authorizationFolderRoleAssignment.ts @@ -7,7 +7,7 @@ import * as utilities from "./utilities"; /** * Folder Role Assignment resource schema. * - * > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/authorizationOrganizationRoleAssignment.ts b/sdk/nodejs/authorizationOrganizationRoleAssignment.ts index fc17e55..022bf0e 100644 --- a/sdk/nodejs/authorizationOrganizationRoleAssignment.ts +++ b/sdk/nodejs/authorizationOrganizationRoleAssignment.ts @@ -7,7 +7,7 @@ import * as utilities from "./utilities"; /** * Organization Role Assignment resource schema. * - * > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/authorizationProjectRoleAssignment.ts b/sdk/nodejs/authorizationProjectRoleAssignment.ts index 3722ad8..388f860 100644 --- a/sdk/nodejs/authorizationProjectRoleAssignment.ts +++ b/sdk/nodejs/authorizationProjectRoleAssignment.ts @@ -7,7 +7,7 @@ import * as utilities from "./utilities"; /** * Project Role Assignment resource schema. * - * > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/authorizationServiceAccountRoleAssignment.ts b/sdk/nodejs/authorizationServiceAccountRoleAssignment.ts index be41686..1913a0f 100644 --- a/sdk/nodejs/authorizationServiceAccountRoleAssignment.ts +++ b/sdk/nodejs/authorizationServiceAccountRoleAssignment.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. * - * > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index f83f697..8d20d9d 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -118,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: dremio, 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, network, routing-tables, vpc */ export declare const experiments: string[] | undefined; Object.defineProperty(exports, "experiments", { diff --git a/sdk/nodejs/dremioInstance.ts b/sdk/nodejs/dremioInstance.ts index 9a17bdf..9712d44 100644 --- a/sdk/nodejs/dremioInstance.ts +++ b/sdk/nodejs/dremioInstance.ts @@ -9,7 +9,7 @@ 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. + * > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/dremioUser.ts b/sdk/nodejs/dremioUser.ts index a406577..435c8d7 100644 --- a/sdk/nodejs/dremioUser.ts +++ b/sdk/nodejs/dremioUser.ts @@ -9,7 +9,7 @@ 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. + * > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/getDremioInstance.ts b/sdk/nodejs/getDremioInstance.ts index bba8be4..f57deb8 100644 --- a/sdk/nodejs/getDremioInstance.ts +++ b/sdk/nodejs/getDremioInstance.ts @@ -9,7 +9,7 @@ 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. + * > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -85,7 +85,7 @@ export interface 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. + * > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getDremioUser.ts b/sdk/nodejs/getDremioUser.ts index 3b0b175..bde9e32 100644 --- a/sdk/nodejs/getDremioUser.ts +++ b/sdk/nodejs/getDremioUser.ts @@ -7,7 +7,7 @@ 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. + * > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -96,7 +96,7 @@ export interface 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. + * > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getRoutingTable.ts b/sdk/nodejs/getRoutingTable.ts index 4a454b3..328cc49 100644 --- a/sdk/nodejs/getRoutingTable.ts +++ b/sdk/nodejs/getRoutingTable.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * This datasource is for SNA, not VPC, based networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -107,7 +107,7 @@ export interface GetRoutingTableResult { * * This datasource is for SNA, not VPC, based networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getRoutingTableRoute.ts b/sdk/nodejs/getRoutingTableRoute.ts index 910d8ad..41e3b8e 100644 --- a/sdk/nodejs/getRoutingTableRoute.ts +++ b/sdk/nodejs/getRoutingTableRoute.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * This datasource is for SNA, not VPC, networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -106,7 +106,7 @@ export interface GetRoutingTableRouteResult { * * This datasource is for SNA, not VPC, networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getRoutingTableRoutes.ts b/sdk/nodejs/getRoutingTableRoutes.ts index 3ba4712..09a1e85 100644 --- a/sdk/nodejs/getRoutingTableRoutes.ts +++ b/sdk/nodejs/getRoutingTableRoutes.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * This datasource is for SNA, not VPC, based networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -81,7 +81,7 @@ export interface GetRoutingTableRoutesResult { * * This datasource is for SNA, not VPC, based networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getRoutingTables.ts b/sdk/nodejs/getRoutingTables.ts index 917fa5c..904e00a 100644 --- a/sdk/nodejs/getRoutingTables.ts +++ b/sdk/nodejs/getRoutingTables.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * This datasource is for SNA, not VPC, based networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -72,7 +72,7 @@ export interface GetRoutingTablesResult { * * This datasource is for SNA, not VPC, based networks. * - * > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getSecretsmanagerInstanceRoleBindingsV1.ts b/sdk/nodejs/getSecretsmanagerInstanceRoleBindingsV1.ts index c94b92f..2669683 100644 --- a/sdk/nodejs/getSecretsmanagerInstanceRoleBindingsV1.ts +++ b/sdk/nodejs/getSecretsmanagerInstanceRoleBindingsV1.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; /** * IAM role binding datasource schema. * - * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -59,7 +59,7 @@ export interface GetSecretsmanagerInstanceRoleBindingsV1Result { /** * IAM role binding datasource schema. * - * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getSecretsmanagerSecretGroupRoleBindingsV1.ts b/sdk/nodejs/getSecretsmanagerSecretGroupRoleBindingsV1.ts index e720e48..f23ed6a 100644 --- a/sdk/nodejs/getSecretsmanagerSecretGroupRoleBindingsV1.ts +++ b/sdk/nodejs/getSecretsmanagerSecretGroupRoleBindingsV1.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; /** * IAM role binding datasource schema. * - * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ @@ -59,7 +59,7 @@ export interface GetSecretsmanagerSecretGroupRoleBindingsV1Result { /** * IAM role binding datasource schema. * - * > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage */ diff --git a/sdk/nodejs/getVpc.ts b/sdk/nodejs/getVpc.ts new file mode 100644 index 0000000..7d1e9b9 --- /dev/null +++ b/sdk/nodejs/getVpc.ts @@ -0,0 +1,99 @@ +// *** 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"; + +/** + * VPC datasource schema. + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpc(args: GetVpcArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpc:getVpc", { + "projectId": args.projectId, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpc. + */ +export interface GetVpcArgs { + /** + * STACKIT project ID to which the VPC is associated. + */ + projectId: string; + timeouts?: inputs.GetVpcTimeouts; + /** + * The VPC ID. + */ + vpcId: string; +} + +/** + * A collection of values returned by getVpc. + */ +export interface GetVpcResult { + /** + * The description of the VPC. + */ + readonly description: string; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`vpcId`". + */ + readonly id: string; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + readonly labels: {[key: string]: string}; + /** + * The name of the VPC. + */ + readonly name: string; + /** + * STACKIT project ID to which the VPC is associated. + */ + readonly projectId: string; + readonly timeouts?: outputs.GetVpcTimeouts; + /** + * The VPC ID. + */ + readonly vpcId: string; +} +/** + * VPC datasource schema. + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpcOutput(args: GetVpcOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpc:getVpc", { + "projectId": args.projectId, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpc. + */ +export interface GetVpcOutputArgs { + /** + * STACKIT project ID to which the VPC is associated. + */ + projectId: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/getVpcNetworkRange.ts b/sdk/nodejs/getVpcNetworkRange.ts new file mode 100644 index 0000000..9c0766b --- /dev/null +++ b/sdk/nodejs/getVpcNetworkRange.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 inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * VPC network range datasource schema + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpcNetworkRange(args: GetVpcNetworkRangeArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpcNetworkRange:getVpcNetworkRange", { + "networkRangeId": args.networkRangeId, + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcNetworkRange. + */ +export interface GetVpcNetworkRangeArgs { + networkRangeId: string; + /** + * STACKIT project ID to which the VPC network range is associated. + */ + projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; + timeouts?: inputs.GetVpcNetworkRangeTimeouts; + /** + * The VPC ID to which the VPC network range is associated. + */ + vpcId: string; +} + +/** + * A collection of values returned by getVpcNetworkRange. + */ +export interface GetVpcNetworkRangeResult { + /** + * Default prefix length for the VPC network range + */ + readonly defaultPrefixLength: number; + /** + * Description of the VPC network range + */ + readonly description: string; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`vpcId`,`region`,`networkRangeId`". + */ + readonly id: string; + /** + * IP version of the VPC network range. Possible values are: `ipv4`. + */ + readonly ipVersion: string; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + readonly labels: {[key: string]: string}; + /** + * Maximum prefix length for the VPC network range + */ + readonly maxPrefixLength: number; + /** + * Minimum prefix length for the VPC network range + */ + readonly minPrefixLength: number; + /** + * List of nameservers for the VPC network range + */ + readonly nameservers: string[]; + readonly networkRangeId: string; + /** + * The IP prefix for the VPC network range + */ + readonly prefix: string; + /** + * STACKIT project ID to which the VPC network range is associated. + */ + readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; + readonly timeouts?: outputs.GetVpcNetworkRangeTimeouts; + /** + * The VPC ID to which the VPC network range is associated. + */ + readonly vpcId: string; +} +/** + * VPC network range datasource schema + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpcNetworkRangeOutput(args: GetVpcNetworkRangeOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpcNetworkRange:getVpcNetworkRange", { + "networkRangeId": args.networkRangeId, + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcNetworkRange. + */ +export interface GetVpcNetworkRangeOutputArgs { + networkRangeId: pulumi.Input; + /** + * STACKIT project ID to which the VPC network range is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the VPC network range is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/getVpcRegion.ts b/sdk/nodejs/getVpcRegion.ts new file mode 100644 index 0000000..929c859 --- /dev/null +++ b/sdk/nodejs/getVpcRegion.ts @@ -0,0 +1,101 @@ +// *** 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"; + +/** + * VPC region datasource schema + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpcRegion(args: GetVpcRegionArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpcRegion:getVpcRegion", { + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcRegion. + */ +export interface GetVpcRegionArgs { + /** + * STACKIT project ID to which the VPC region is associated. + */ + projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; + timeouts?: inputs.GetVpcRegionTimeouts; + /** + * The VPC ID to which the VPC region is associated. + */ + vpcId: string; +} + +/** + * A collection of values returned by getVpcRegion. + */ +export interface GetVpcRegionResult { + /** + * Terraform's internal resource ID. It is structured as "`projectId`, `vpcId`, `region`". + */ + readonly id: string; + /** + * STACKIT project ID to which the VPC region is associated. + */ + readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; + readonly timeouts?: outputs.GetVpcRegionTimeouts; + /** + * The VPC ID to which the VPC region is associated. + */ + readonly vpcId: string; +} +/** + * VPC region datasource schema + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpcRegionOutput(args: GetVpcRegionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpcRegion:getVpcRegion", { + "projectId": args.projectId, + "region": args.region, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcRegion. + */ +export interface GetVpcRegionOutputArgs { + /** + * STACKIT project ID to which the VPC region is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the VPC region is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/getVpcRoutingTable.ts b/sdk/nodejs/getVpcRoutingTable.ts new file mode 100644 index 0000000..987088a --- /dev/null +++ b/sdk/nodejs/getVpcRoutingTable.ts @@ -0,0 +1,168 @@ +// *** 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"; + +/** + * VPC Regional routing table datasource schema. Must have a `region` specified in the provider configuration. + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpcRoutingTable(args: GetVpcRoutingTableArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpcRoutingTable:getVpcRoutingTable", { + "description": args.description, + "dynamicRoutes": args.dynamicRoutes, + "labels": args.labels, + "projectId": args.projectId, + "region": args.region, + "routingTableId": args.routingTableId, + "systemRoutes": args.systemRoutes, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcRoutingTable. + */ +export interface GetVpcRoutingTableArgs { + /** + * Description of the regional routing table. + */ + description?: string; + /** + * This controls whether dynamic routes are propagated to this regional routing table + */ + dynamicRoutes?: boolean; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: {[key: string]: string}; + /** + * STACKIT project ID to which the regional routing table is associated. + */ + projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; + /** + * The regional routing tables ID. + */ + routingTableId: string; + /** + * This allows installation of automatic system routes for connectivity between projects in the same VPC. + */ + systemRoutes?: boolean; + /** + * The vpc ID to which the regional routing table is associated. + */ + vpcId: string; +} + +/** + * A collection of values returned by getVpcRoutingTable. + */ +export interface GetVpcRoutingTableResult { + /** + * Description of the regional routing table. + */ + readonly description: string; + /** + * This controls whether dynamic routes are propagated to this regional routing table + */ + readonly dynamicRoutes: boolean; + /** + * Terraform's internal resource ID. It is structured as "`projectId`,`vpcId`,`region`,`routingTableId`". + */ + readonly id: string; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + readonly labels?: {[key: string]: string}; + /** + * The name of the regional routing table. + */ + readonly name: string; + /** + * STACKIT project ID to which the regional routing table is associated. + */ + readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; + /** + * The regional routing tables ID. + */ + readonly routingTableId: string; + /** + * This allows installation of automatic system routes for connectivity between projects in the same VPC. + */ + readonly systemRoutes: boolean; + /** + * The vpc ID to which the regional routing table is associated. + */ + readonly vpcId: string; +} +/** + * VPC Regional routing table datasource schema. Must have a `region` specified in the provider configuration. + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getVpcRoutingTableOutput(args: GetVpcRoutingTableOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpcRoutingTable:getVpcRoutingTable", { + "description": args.description, + "dynamicRoutes": args.dynamicRoutes, + "labels": args.labels, + "projectId": args.projectId, + "region": args.region, + "routingTableId": args.routingTableId, + "systemRoutes": args.systemRoutes, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcRoutingTable. + */ +export interface GetVpcRoutingTableOutputArgs { + /** + * Description of the regional routing table. + */ + description?: pulumi.Input; + /** + * This controls whether dynamic routes are propagated to this regional routing table + */ + dynamicRoutes?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * STACKIT project ID to which the regional routing table is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The regional routing tables ID. + */ + routingTableId: pulumi.Input; + /** + * This allows installation of automatic system routes for connectivity between projects in the same VPC. + */ + systemRoutes?: pulumi.Input; + /** + * The vpc ID to which the regional routing table is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/getVpcRoutingTableStaticRoute.ts b/sdk/nodejs/getVpcRoutingTableStaticRoute.ts new file mode 100644 index 0000000..6c17862 --- /dev/null +++ b/sdk/nodejs/getVpcRoutingTableStaticRoute.ts @@ -0,0 +1,137 @@ +// *** 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"; + +/** + * VPC Routing table static route datasource schema. Must have a `region` specified in the provider configuration. + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + */ +export function getVpcRoutingTableStaticRoute(args: GetVpcRoutingTableStaticRouteArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute", { + "projectId": args.projectId, + "region": args.region, + "routeId": args.routeId, + "routingTableId": args.routingTableId, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcRoutingTableStaticRoute. + */ +export interface GetVpcRoutingTableStaticRouteArgs { + /** + * STACKIT Project ID to which the static route is associated. + */ + projectId: string; + /** + * The region of the static route. + */ + region?: string; + /** + * The static route ID. + */ + routeId: string; + /** + * The routing table ID to which the static route is associated. + */ + routingTableId: string; + timeouts?: inputs.GetVpcRoutingTableStaticRouteTimeouts; + /** + * The VPC ID to which the static route is associated. + */ + vpcId: string; +} + +/** + * A collection of values returned by getVpcRoutingTableStaticRoute. + */ +export interface GetVpcRoutingTableStaticRouteResult { + /** + * The destination of the static route. + */ + readonly destination: outputs.GetVpcRoutingTableStaticRouteDestination; + /** + * Terraform's internal resource ID. It is structured as "`projectId`,`vpcId`,`region`,`routingTableId`,`routeId`". + */ + readonly id: string; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + readonly labels: {[key: string]: string}; + /** + * The nexthop of the static route. + */ + readonly nexthop: outputs.GetVpcRoutingTableStaticRouteNexthop; + /** + * STACKIT Project ID to which the static route is associated. + */ + readonly projectId: string; + /** + * The region of the static route. + */ + readonly region: string; + /** + * The static route ID. + */ + readonly routeId: string; + /** + * The routing table ID to which the static route is associated. + */ + readonly routingTableId: string; + readonly timeouts?: outputs.GetVpcRoutingTableStaticRouteTimeouts; + /** + * The VPC ID to which the static route is associated. + */ + readonly vpcId: string; +} +/** + * VPC Routing table static route datasource schema. Must have a `region` specified in the provider configuration. + * + * > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + */ +export function getVpcRoutingTableStaticRouteOutput(args: GetVpcRoutingTableStaticRouteOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute", { + "projectId": args.projectId, + "region": args.region, + "routeId": args.routeId, + "routingTableId": args.routingTableId, + "timeouts": args.timeouts, + "vpcId": args.vpcId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpcRoutingTableStaticRoute. + */ +export interface GetVpcRoutingTableStaticRouteOutputArgs { + /** + * STACKIT Project ID to which the static route is associated. + */ + projectId: pulumi.Input; + /** + * The region of the static route. + */ + region?: pulumi.Input; + /** + * The static route ID. + */ + routeId: pulumi.Input; + /** + * The routing table ID to which the static route is associated. + */ + routingTableId: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the static route is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 2ef414b..11d56ca 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -595,6 +595,31 @@ 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 { GetVpcArgs, GetVpcResult, GetVpcOutputArgs } from "./getVpc"; +export const getVpc: typeof import("./getVpc").getVpc = null as any; +export const getVpcOutput: typeof import("./getVpc").getVpcOutput = null as any; +utilities.lazyLoad(exports, ["getVpc","getVpcOutput"], () => require("./getVpc")); + +export { GetVpcNetworkRangeArgs, GetVpcNetworkRangeResult, GetVpcNetworkRangeOutputArgs } from "./getVpcNetworkRange"; +export const getVpcNetworkRange: typeof import("./getVpcNetworkRange").getVpcNetworkRange = null as any; +export const getVpcNetworkRangeOutput: typeof import("./getVpcNetworkRange").getVpcNetworkRangeOutput = null as any; +utilities.lazyLoad(exports, ["getVpcNetworkRange","getVpcNetworkRangeOutput"], () => require("./getVpcNetworkRange")); + +export { GetVpcRegionArgs, GetVpcRegionResult, GetVpcRegionOutputArgs } from "./getVpcRegion"; +export const getVpcRegion: typeof import("./getVpcRegion").getVpcRegion = null as any; +export const getVpcRegionOutput: typeof import("./getVpcRegion").getVpcRegionOutput = null as any; +utilities.lazyLoad(exports, ["getVpcRegion","getVpcRegionOutput"], () => require("./getVpcRegion")); + +export { GetVpcRoutingTableArgs, GetVpcRoutingTableResult, GetVpcRoutingTableOutputArgs } from "./getVpcRoutingTable"; +export const getVpcRoutingTable: typeof import("./getVpcRoutingTable").getVpcRoutingTable = null as any; +export const getVpcRoutingTableOutput: typeof import("./getVpcRoutingTable").getVpcRoutingTableOutput = null as any; +utilities.lazyLoad(exports, ["getVpcRoutingTable","getVpcRoutingTableOutput"], () => require("./getVpcRoutingTable")); + +export { GetVpcRoutingTableStaticRouteArgs, GetVpcRoutingTableStaticRouteResult, GetVpcRoutingTableStaticRouteOutputArgs } from "./getVpcRoutingTableStaticRoute"; +export const getVpcRoutingTableStaticRoute: typeof import("./getVpcRoutingTableStaticRoute").getVpcRoutingTableStaticRoute = null as any; +export const getVpcRoutingTableStaticRouteOutput: typeof import("./getVpcRoutingTableStaticRoute").getVpcRoutingTableStaticRouteOutput = null as any; +utilities.lazyLoad(exports, ["getVpcRoutingTableStaticRoute","getVpcRoutingTableStaticRouteOutput"], () => require("./getVpcRoutingTableStaticRoute")); + export { GetVpnConnectionArgs, GetVpnConnectionResult, GetVpnConnectionOutputArgs } from "./getVpnConnection"; export const getVpnConnection: typeof import("./getVpnConnection").getVpnConnection = null as any; export const getVpnConnectionOutput: typeof import("./getVpnConnection").getVpnConnectionOutput = null as any; @@ -1013,6 +1038,31 @@ export type Volume = import("./volume").Volume; export const Volume: typeof import("./volume").Volume = null as any; utilities.lazyLoad(exports, ["Volume"], () => require("./volume")); +export { VpcArgs, VpcState } from "./vpc"; +export type Vpc = import("./vpc").Vpc; +export const Vpc: typeof import("./vpc").Vpc = null as any; +utilities.lazyLoad(exports, ["Vpc"], () => require("./vpc")); + +export { VpcNetworkRangeArgs, VpcNetworkRangeState } from "./vpcNetworkRange"; +export type VpcNetworkRange = import("./vpcNetworkRange").VpcNetworkRange; +export const VpcNetworkRange: typeof import("./vpcNetworkRange").VpcNetworkRange = null as any; +utilities.lazyLoad(exports, ["VpcNetworkRange"], () => require("./vpcNetworkRange")); + +export { VpcRegionArgs, VpcRegionState } from "./vpcRegion"; +export type VpcRegion = import("./vpcRegion").VpcRegion; +export const VpcRegion: typeof import("./vpcRegion").VpcRegion = null as any; +utilities.lazyLoad(exports, ["VpcRegion"], () => require("./vpcRegion")); + +export { VpcRoutingTableArgs, VpcRoutingTableState } from "./vpcRoutingTable"; +export type VpcRoutingTable = import("./vpcRoutingTable").VpcRoutingTable; +export const VpcRoutingTable: typeof import("./vpcRoutingTable").VpcRoutingTable = null as any; +utilities.lazyLoad(exports, ["VpcRoutingTable"], () => require("./vpcRoutingTable")); + +export { VpcRoutingTableStaticRouteArgs, VpcRoutingTableStaticRouteState } from "./vpcRoutingTableStaticRoute"; +export type VpcRoutingTableStaticRoute = import("./vpcRoutingTableStaticRoute").VpcRoutingTableStaticRoute; +export const VpcRoutingTableStaticRoute: typeof import("./vpcRoutingTableStaticRoute").VpcRoutingTableStaticRoute = null as any; +utilities.lazyLoad(exports, ["VpcRoutingTableStaticRoute"], () => require("./vpcRoutingTableStaticRoute")); + export { VpnConnectionArgs, VpnConnectionState } from "./vpnConnection"; export type VpnConnection = import("./vpnConnection").VpnConnection; export const VpnConnection: typeof import("./vpnConnection").VpnConnection = null as any; @@ -1235,6 +1285,16 @@ const _module = { return new TelemetryrouterInstance(name, undefined, { urn }) case "stackit:index/volume:Volume": return new Volume(name, undefined, { urn }) + case "stackit:index/vpc:Vpc": + return new Vpc(name, undefined, { urn }) + case "stackit:index/vpcNetworkRange:VpcNetworkRange": + return new VpcNetworkRange(name, undefined, { urn }) + case "stackit:index/vpcRegion:VpcRegion": + return new VpcRegion(name, undefined, { urn }) + case "stackit:index/vpcRoutingTable:VpcRoutingTable": + return new VpcRoutingTable(name, undefined, { urn }) + case "stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute": + return new VpcRoutingTableStaticRoute(name, undefined, { urn }) case "stackit:index/vpnConnection:VpnConnection": return new VpnConnection(name, undefined, { urn }) case "stackit:index/vpnGateway:VpnGateway": @@ -1343,6 +1403,11 @@ pulumi.runtime.registerResourceModule("stackit", "index/telemetryrouterAccessTok pulumi.runtime.registerResourceModule("stackit", "index/telemetryrouterDestination", _module) pulumi.runtime.registerResourceModule("stackit", "index/telemetryrouterInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/volume", _module) +pulumi.runtime.registerResourceModule("stackit", "index/vpc", _module) +pulumi.runtime.registerResourceModule("stackit", "index/vpcNetworkRange", _module) +pulumi.runtime.registerResourceModule("stackit", "index/vpcRegion", _module) +pulumi.runtime.registerResourceModule("stackit", "index/vpcRoutingTable", _module) +pulumi.runtime.registerResourceModule("stackit", "index/vpcRoutingTableStaticRoute", _module) pulumi.runtime.registerResourceModule("stackit", "index/vpnConnection", _module) pulumi.runtime.registerResourceModule("stackit", "index/vpnGateway", _module) pulumi.runtime.registerResourcePackage("stackit", { diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index bdcbfc8..4085600 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -354,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: dremio, 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, network, routing-tables, vpc */ experiments?: pulumi.Input[] | undefined>; /** diff --git a/sdk/nodejs/routingTable.ts b/sdk/nodejs/routingTable.ts index b2d25c7..53f7e10 100644 --- a/sdk/nodejs/routingTable.ts +++ b/sdk/nodejs/routingTable.ts @@ -9,7 +9,7 @@ import * as utilities from "./utilities"; * * This resource is for SNA, not VPC, based networks. * - * > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/routingTableRoute.ts b/sdk/nodejs/routingTableRoute.ts index 1739691..b2cb980 100644 --- a/sdk/nodejs/routingTableRoute.ts +++ b/sdk/nodejs/routingTableRoute.ts @@ -11,7 +11,7 @@ import * as utilities from "./utilities"; * * This resource is for SNA, not VPC, based networks. * - * > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/secretsmanagerInstanceRoleBindingV1.ts b/sdk/nodejs/secretsmanagerInstanceRoleBindingV1.ts index 910e00e..28d763a 100644 --- a/sdk/nodejs/secretsmanagerInstanceRoleBindingV1.ts +++ b/sdk/nodejs/secretsmanagerInstanceRoleBindingV1.ts @@ -7,7 +7,7 @@ import * as utilities from "./utilities"; /** * IAM role binding resource schema. * - * > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/secretsmanagerSecretGroupRoleBindingV1.ts b/sdk/nodejs/secretsmanagerSecretGroupRoleBindingV1.ts index c64c629..db28973 100644 --- a/sdk/nodejs/secretsmanagerSecretGroupRoleBindingV1.ts +++ b/sdk/nodejs/secretsmanagerSecretGroupRoleBindingV1.ts @@ -7,7 +7,7 @@ import * as utilities from "./utilities"; /** * IAM role binding resource schema. * - * > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. * * ## Example Usage * diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 18c5199..a94586a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -139,6 +139,11 @@ "getTelemetryrouterDestination.ts", "getTelemetryrouterInstance.ts", "getVolume.ts", + "getVpc.ts", + "getVpcNetworkRange.ts", + "getVpcRegion.ts", + "getVpcRoutingTable.ts", + "getVpcRoutingTableStaticRoute.ts", "getVpnConnection.ts", "getVpnGateway.ts", "getVpnGatewayStatus.ts", @@ -228,6 +233,11 @@ "types/output.ts", "utilities.ts", "volume.ts", + "vpc.ts", + "vpcNetworkRange.ts", + "vpcRegion.ts", + "vpcRoutingTable.ts", + "vpcRoutingTableStaticRoute.ts", "vpnConnection.ts", "vpnGateway.ts" ] diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 90172ee..8a7d42f 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -844,6 +844,62 @@ export interface GetSqlserverflexInstanceNetworkArgs { acls?: pulumi.Input[] | undefined>; } +export interface GetVpcNetworkRangeTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetVpcNetworkRangeTimeoutsArgs { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: pulumi.Input; +} + +export interface GetVpcRegionTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetVpcRegionTimeoutsArgs { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: pulumi.Input; +} + +export interface GetVpcRoutingTableStaticRouteTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetVpcRoutingTableStaticRouteTimeoutsArgs { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: pulumi.Input; +} + +export interface GetVpcTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetVpcTimeoutsArgs { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: pulumi.Input; +} + export interface ImageChecksum { /** * Algorithm for the checksum of the image data. @@ -2415,6 +2471,104 @@ export interface VolumeSource { type: pulumi.Input; } +export interface VpcNetworkRangeTimeouts { + /** + * 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 VpcRegionTimeouts { + /** + * 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 VpcRoutingTableStaticRouteDestination { + /** + * CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + */ + type: pulumi.Input; + /** + * CIDR value. + */ + value: pulumi.Input; +} + +export interface VpcRoutingTableStaticRouteNexthop { + /** + * Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + */ + type: pulumi.Input; + /** + * Value of the nexthop + */ + value?: pulumi.Input; +} + +export interface VpcRoutingTableStaticRouteTimeouts { + /** + * 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 VpcTimeouts { + /** + * 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 VpnConnectionTunnel1 { bgp?: pulumi.Input; peering?: pulumi.Input; diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 7e526ab..aa7a6cc 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1304,10 +1304,6 @@ export interface GetDremioInstanceAuthenticationAzuread { * The Azure AD client ID. */ clientId: string; - /** - * The Azure AD client secret. - */ - clientSecret: string; /** * The Azure AD redirect URL. */ @@ -1323,10 +1319,6 @@ export interface GetDremioInstanceAuthenticationOauth { * 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. */ @@ -3277,6 +3269,44 @@ export interface GetVolumeSource { type: string; } +export interface GetVpcNetworkRangeTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetVpcRegionTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetVpcRoutingTableStaticRouteDestination { + type: string; + value: string; +} + +export interface GetVpcRoutingTableStaticRouteNexthop { + type: string; + value: string; +} + +export interface GetVpcRoutingTableStaticRouteTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + +export interface GetVpcTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + read?: string; +} + export interface GetVpnConnectionTunnel1 { /** * BGP configuration for this tunnel. @@ -5074,6 +5104,104 @@ export interface VolumeSource { type: string; } +export interface VpcNetworkRangeTimeouts { + /** + * 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 VpcRegionTimeouts { + /** + * 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 VpcRoutingTableStaticRouteDestination { + /** + * CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + */ + type: string; + /** + * CIDR value. + */ + value: string; +} + +export interface VpcRoutingTableStaticRouteNexthop { + /** + * Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + */ + type: string; + /** + * Value of the nexthop + */ + value?: string; +} + +export interface VpcRoutingTableStaticRouteTimeouts { + /** + * 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 VpcTimeouts { + /** + * 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 VpnConnectionTunnel1 { bgp?: outputs.VpnConnectionTunnel1Bgp; peering?: outputs.VpnConnectionTunnel1Peering; diff --git a/sdk/nodejs/vpc.ts b/sdk/nodejs/vpc.ts new file mode 100644 index 0000000..ca2fa39 --- /dev/null +++ b/sdk/nodejs/vpc.ts @@ -0,0 +1,157 @@ +// *** 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"; + +/** + * VPC resource schema. + * + * > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class Vpc extends pulumi.CustomResource { + /** + * Get an existing Vpc 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?: VpcState, opts?: pulumi.CustomResourceOptions): Vpc { + return new Vpc(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/vpc:Vpc'; + + /** + * Returns true if the given object is an instance of Vpc. 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 Vpc { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Vpc.__pulumiType; + } + + /** + * The description of the VPC. + */ + declare public readonly description: pulumi.Output; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The name of the VPC. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT project ID to which the VPC is associated. + */ + declare public readonly projectId: pulumi.Output; + declare public readonly timeouts: pulumi.Output; + /** + * The VPC ID. + */ + declare public /*out*/ readonly vpcId: pulumi.Output; + + /** + * Create a Vpc 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: VpcArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcArgs | VpcState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcState | undefined; + resourceInputs["description"] = state?.description; + resourceInputs["labels"] = state?.labels; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["timeouts"] = state?.timeouts; + resourceInputs["vpcId"] = state?.vpcId; + } else { + const args = argsOrState as VpcArgs | undefined; + if (args?.description === undefined && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["labels"] = args?.labels; + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["timeouts"] = args?.timeouts; + resourceInputs["vpcId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Vpc.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Vpc resources. + */ +export interface VpcState { + /** + * The description of the VPC. + */ + description?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The name of the VPC. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the VPC is associated. + */ + projectId?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Vpc resource. + */ +export interface VpcArgs { + /** + * The description of the VPC. + */ + description: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The name of the VPC. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the VPC is associated. + */ + projectId: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/vpcNetworkRange.ts b/sdk/nodejs/vpcNetworkRange.ts new file mode 100644 index 0000000..f2ce304 --- /dev/null +++ b/sdk/nodejs/vpcNetworkRange.ts @@ -0,0 +1,258 @@ +// *** 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"; + +/** + * VPC network range resource schema + * + * > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class VpcNetworkRange extends pulumi.CustomResource { + /** + * Get an existing VpcNetworkRange 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?: VpcNetworkRangeState, opts?: pulumi.CustomResourceOptions): VpcNetworkRange { + return new VpcNetworkRange(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/vpcNetworkRange:VpcNetworkRange'; + + /** + * Returns true if the given object is an instance of VpcNetworkRange. 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 VpcNetworkRange { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcNetworkRange.__pulumiType; + } + + /** + * Default prefix length for the VPC network range + */ + declare public readonly defaultPrefixLength: pulumi.Output; + /** + * Description of the VPC network range + */ + declare public readonly description: pulumi.Output; + /** + * IP version of the VPC network range. Possible values are: `ipv4`. + */ + declare public readonly ipVersion: pulumi.Output; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * Maximum prefix length for the VPC network range + */ + declare public readonly maxPrefixLength: pulumi.Output; + /** + * Minimum prefix length for the VPC network range + */ + declare public readonly minPrefixLength: pulumi.Output; + /** + * List of nameservers for the VPC network range + */ + declare public readonly nameservers: pulumi.Output; + declare public /*out*/ readonly networkRangeId: pulumi.Output; + /** + * The IP prefix for the VPC network range + */ + declare public readonly prefix: pulumi.Output; + /** + * STACKIT project ID to which the VPC network range is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + declare public readonly timeouts: pulumi.Output; + /** + * The VPC ID to which the VPC network range is associated. + */ + declare public readonly vpcId: pulumi.Output; + + /** + * Create a VpcNetworkRange 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: VpcNetworkRangeArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcNetworkRangeArgs | VpcNetworkRangeState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcNetworkRangeState | undefined; + resourceInputs["defaultPrefixLength"] = state?.defaultPrefixLength; + resourceInputs["description"] = state?.description; + resourceInputs["ipVersion"] = state?.ipVersion; + resourceInputs["labels"] = state?.labels; + resourceInputs["maxPrefixLength"] = state?.maxPrefixLength; + resourceInputs["minPrefixLength"] = state?.minPrefixLength; + resourceInputs["nameservers"] = state?.nameservers; + resourceInputs["networkRangeId"] = state?.networkRangeId; + resourceInputs["prefix"] = state?.prefix; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["timeouts"] = state?.timeouts; + resourceInputs["vpcId"] = state?.vpcId; + } else { + const args = argsOrState as VpcNetworkRangeArgs | undefined; + if (args?.description === undefined && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if (args?.ipVersion === undefined && !opts.urn) { + throw new Error("Missing required property 'ipVersion'"); + } + if (args?.prefix === undefined && !opts.urn) { + throw new Error("Missing required property 'prefix'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.vpcId === undefined && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + resourceInputs["defaultPrefixLength"] = args?.defaultPrefixLength; + resourceInputs["description"] = args?.description; + resourceInputs["ipVersion"] = args?.ipVersion; + resourceInputs["labels"] = args?.labels; + resourceInputs["maxPrefixLength"] = args?.maxPrefixLength; + resourceInputs["minPrefixLength"] = args?.minPrefixLength; + resourceInputs["nameservers"] = args?.nameservers; + resourceInputs["prefix"] = args?.prefix; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["timeouts"] = args?.timeouts; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["networkRangeId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcNetworkRange.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpcNetworkRange resources. + */ +export interface VpcNetworkRangeState { + /** + * Default prefix length for the VPC network range + */ + defaultPrefixLength?: pulumi.Input; + /** + * Description of the VPC network range + */ + description?: pulumi.Input; + /** + * IP version of the VPC network range. Possible values are: `ipv4`. + */ + ipVersion?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * Maximum prefix length for the VPC network range + */ + maxPrefixLength?: pulumi.Input; + /** + * Minimum prefix length for the VPC network range + */ + minPrefixLength?: pulumi.Input; + /** + * List of nameservers for the VPC network range + */ + nameservers?: pulumi.Input[] | undefined>; + networkRangeId?: pulumi.Input; + /** + * The IP prefix for the VPC network range + */ + prefix?: pulumi.Input; + /** + * STACKIT project ID to which the VPC network range is associated. + */ + projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the VPC network range is associated. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpcNetworkRange resource. + */ +export interface VpcNetworkRangeArgs { + /** + * Default prefix length for the VPC network range + */ + defaultPrefixLength?: pulumi.Input; + /** + * Description of the VPC network range + */ + description: pulumi.Input; + /** + * IP version of the VPC network range. Possible values are: `ipv4`. + */ + ipVersion: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * Maximum prefix length for the VPC network range + */ + maxPrefixLength?: pulumi.Input; + /** + * Minimum prefix length for the VPC network range + */ + minPrefixLength?: pulumi.Input; + /** + * List of nameservers for the VPC network range + */ + nameservers?: pulumi.Input[] | undefined>; + /** + * The IP prefix for the VPC network range + */ + prefix: pulumi.Input; + /** + * STACKIT project ID to which the VPC network range is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the VPC network range is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/vpcRegion.ts b/sdk/nodejs/vpcRegion.ts new file mode 100644 index 0000000..df43bdb --- /dev/null +++ b/sdk/nodejs/vpcRegion.ts @@ -0,0 +1,133 @@ +// *** 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"; + +/** + * VPC region resource schema + * + * > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class VpcRegion extends pulumi.CustomResource { + /** + * Get an existing VpcRegion 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?: VpcRegionState, opts?: pulumi.CustomResourceOptions): VpcRegion { + return new VpcRegion(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/vpcRegion:VpcRegion'; + + /** + * Returns true if the given object is an instance of VpcRegion. 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 VpcRegion { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcRegion.__pulumiType; + } + + /** + * STACKIT project ID to which the VPC region is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + declare public readonly timeouts: pulumi.Output; + /** + * The VPC ID to which the VPC region is associated. + */ + declare public readonly vpcId: pulumi.Output; + + /** + * Create a VpcRegion 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: VpcRegionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcRegionArgs | VpcRegionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcRegionState | undefined; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["timeouts"] = state?.timeouts; + resourceInputs["vpcId"] = state?.vpcId; + } else { + const args = argsOrState as VpcRegionArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.vpcId === undefined && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["timeouts"] = args?.timeouts; + resourceInputs["vpcId"] = args?.vpcId; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcRegion.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpcRegion resources. + */ +export interface VpcRegionState { + /** + * STACKIT project ID to which the VPC region is associated. + */ + projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the VPC region is associated. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpcRegion resource. + */ +export interface VpcRegionArgs { + /** + * STACKIT project ID to which the VPC region is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the VPC region is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/vpcRoutingTable.ts b/sdk/nodejs/vpcRoutingTable.ts new file mode 100644 index 0000000..37cd021 --- /dev/null +++ b/sdk/nodejs/vpcRoutingTable.ts @@ -0,0 +1,206 @@ +// *** 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"; + +/** + * VPC Regional routing table resource schema. Must have a `region` specified in the provider configuration. + * + * > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class VpcRoutingTable extends pulumi.CustomResource { + /** + * Get an existing VpcRoutingTable 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?: VpcRoutingTableState, opts?: pulumi.CustomResourceOptions): VpcRoutingTable { + return new VpcRoutingTable(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/vpcRoutingTable:VpcRoutingTable'; + + /** + * Returns true if the given object is an instance of VpcRoutingTable. 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 VpcRoutingTable { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcRoutingTable.__pulumiType; + } + + /** + * Description of the regional routing table. + */ + declare public readonly description: pulumi.Output; + /** + * This controls whether dynamic routes are propagated to this regional routing table + */ + declare public readonly dynamicRoutes: pulumi.Output; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The name of the regional routing table. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT project ID to which the regional routing table is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * The regional routing tables ID. + */ + declare public /*out*/ readonly routingTableId: pulumi.Output; + /** + * This allows installation of automatic system routes for connectivity between projects in the same VPC. + */ + declare public readonly systemRoutes: pulumi.Output; + /** + * The vpc ID to which the regional routing table is associated. + */ + declare public readonly vpcId: pulumi.Output; + + /** + * Create a VpcRoutingTable 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: VpcRoutingTableArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcRoutingTableArgs | VpcRoutingTableState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcRoutingTableState | undefined; + resourceInputs["description"] = state?.description; + resourceInputs["dynamicRoutes"] = state?.dynamicRoutes; + resourceInputs["labels"] = state?.labels; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["routingTableId"] = state?.routingTableId; + resourceInputs["systemRoutes"] = state?.systemRoutes; + resourceInputs["vpcId"] = state?.vpcId; + } else { + const args = argsOrState as VpcRoutingTableArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.vpcId === undefined && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["dynamicRoutes"] = args?.dynamicRoutes; + resourceInputs["labels"] = args?.labels; + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["systemRoutes"] = args?.systemRoutes; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["routingTableId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcRoutingTable.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpcRoutingTable resources. + */ +export interface VpcRoutingTableState { + /** + * Description of the regional routing table. + */ + description?: pulumi.Input; + /** + * This controls whether dynamic routes are propagated to this regional routing table + */ + dynamicRoutes?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The name of the regional routing table. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the regional routing table is associated. + */ + projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The regional routing tables ID. + */ + routingTableId?: pulumi.Input; + /** + * This allows installation of automatic system routes for connectivity between projects in the same VPC. + */ + systemRoutes?: pulumi.Input; + /** + * The vpc ID to which the regional routing table is associated. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpcRoutingTable resource. + */ +export interface VpcRoutingTableArgs { + /** + * Description of the regional routing table. + */ + description?: pulumi.Input; + /** + * This controls whether dynamic routes are propagated to this regional routing table + */ + dynamicRoutes?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The name of the regional routing table. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the regional routing table is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * This allows installation of automatic system routes for connectivity between projects in the same VPC. + */ + systemRoutes?: pulumi.Input; + /** + * The vpc ID to which the regional routing table is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/nodejs/vpcRoutingTableStaticRoute.ts b/sdk/nodejs/vpcRoutingTableStaticRoute.ts new file mode 100644 index 0000000..08933d6 --- /dev/null +++ b/sdk/nodejs/vpcRoutingTableStaticRoute.ts @@ -0,0 +1,208 @@ +// *** 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"; + +/** + * VPC Routing table static route resource schema. Must have a `region` specified in the provider configuration. + * + * > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + * + * ## Import + * + * In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + */ +export class VpcRoutingTableStaticRoute extends pulumi.CustomResource { + /** + * Get an existing VpcRoutingTableStaticRoute 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?: VpcRoutingTableStaticRouteState, opts?: pulumi.CustomResourceOptions): VpcRoutingTableStaticRoute { + return new VpcRoutingTableStaticRoute(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute'; + + /** + * Returns true if the given object is an instance of VpcRoutingTableStaticRoute. 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 VpcRoutingTableStaticRoute { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpcRoutingTableStaticRoute.__pulumiType; + } + + /** + * The destination of the static route. + */ + declare public readonly destination: pulumi.Output; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The nexthop of the static route. + */ + declare public readonly nexthop: pulumi.Output; + /** + * STACKIT Project ID to which the static route is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The region of the static route. + */ + declare public readonly region: pulumi.Output; + /** + * The static route ID. + */ + declare public /*out*/ readonly routeId: pulumi.Output; + /** + * The routing table ID to which the static route is associated. + */ + declare public readonly routingTableId: pulumi.Output; + declare public readonly timeouts: pulumi.Output; + /** + * The VPC ID to which the static route is associated. + */ + declare public readonly vpcId: pulumi.Output; + + /** + * Create a VpcRoutingTableStaticRoute 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: VpcRoutingTableStaticRouteArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpcRoutingTableStaticRouteArgs | VpcRoutingTableStaticRouteState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpcRoutingTableStaticRouteState | undefined; + resourceInputs["destination"] = state?.destination; + resourceInputs["labels"] = state?.labels; + resourceInputs["nexthop"] = state?.nexthop; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["routeId"] = state?.routeId; + resourceInputs["routingTableId"] = state?.routingTableId; + resourceInputs["timeouts"] = state?.timeouts; + resourceInputs["vpcId"] = state?.vpcId; + } else { + const args = argsOrState as VpcRoutingTableStaticRouteArgs | undefined; + if (args?.destination === undefined && !opts.urn) { + throw new Error("Missing required property 'destination'"); + } + if (args?.nexthop === undefined && !opts.urn) { + throw new Error("Missing required property 'nexthop'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.routingTableId === undefined && !opts.urn) { + throw new Error("Missing required property 'routingTableId'"); + } + if (args?.vpcId === undefined && !opts.urn) { + throw new Error("Missing required property 'vpcId'"); + } + resourceInputs["destination"] = args?.destination; + resourceInputs["labels"] = args?.labels; + resourceInputs["nexthop"] = args?.nexthop; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["routingTableId"] = args?.routingTableId; + resourceInputs["timeouts"] = args?.timeouts; + resourceInputs["vpcId"] = args?.vpcId; + resourceInputs["routeId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpcRoutingTableStaticRoute.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpcRoutingTableStaticRoute resources. + */ +export interface VpcRoutingTableStaticRouteState { + /** + * The destination of the static route. + */ + destination?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The nexthop of the static route. + */ + nexthop?: pulumi.Input; + /** + * STACKIT Project ID to which the static route is associated. + */ + projectId?: pulumi.Input; + /** + * The region of the static route. + */ + region?: pulumi.Input; + /** + * The static route ID. + */ + routeId?: pulumi.Input; + /** + * The routing table ID to which the static route is associated. + */ + routingTableId?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the static route is associated. + */ + vpcId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpcRoutingTableStaticRoute resource. + */ +export interface VpcRoutingTableStaticRouteArgs { + /** + * The destination of the static route. + */ + destination: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to a resource container + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The nexthop of the static route. + */ + nexthop: pulumi.Input; + /** + * STACKIT Project ID to which the static route is associated. + */ + projectId: pulumi.Input; + /** + * The region of the static route. + */ + region?: pulumi.Input; + /** + * The routing table ID to which the static route is associated. + */ + routingTableId: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The VPC ID to which the static route is associated. + */ + vpcId: pulumi.Input; +} diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index b40ed89..55cb013 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -124,6 +124,11 @@ from .get_telemetryrouter_destination import * from .get_telemetryrouter_instance import * from .get_volume import * +from .get_vpc import * +from .get_vpc_network_range import * +from .get_vpc_region import * +from .get_vpc_routing_table import * +from .get_vpc_routing_table_static_route import * from .get_vpn_connection import * from .get_vpn_gateway import * from .get_vpn_gateway_status import * @@ -208,6 +213,11 @@ from .telemetryrouter_destination import * from .telemetryrouter_instance import * from .volume import * +from .vpc import * +from .vpc_network_range import * +from .vpc_region import * +from .vpc_routing_table import * +from .vpc_routing_table_static_route import * from .vpn_connection import * from .vpn_gateway import * from ._inputs import * @@ -1015,6 +1025,46 @@ "stackit:index/volume:Volume": "Volume" } }, + { + "pkg": "stackit", + "mod": "index/vpc", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/vpc:Vpc": "Vpc" + } + }, + { + "pkg": "stackit", + "mod": "index/vpcNetworkRange", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/vpcNetworkRange:VpcNetworkRange": "VpcNetworkRange" + } + }, + { + "pkg": "stackit", + "mod": "index/vpcRegion", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/vpcRegion:VpcRegion": "VpcRegion" + } + }, + { + "pkg": "stackit", + "mod": "index/vpcRoutingTable", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/vpcRoutingTable:VpcRoutingTable": "VpcRoutingTable" + } + }, + { + "pkg": "stackit", + "mod": "index/vpcRoutingTableStaticRoute", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute": "VpcRoutingTableStaticRoute" + } + }, { "pkg": "stackit", "mod": "index/vpnConnection", diff --git a/sdk/python/pulumi_stackit/_inputs.py b/sdk/python/pulumi_stackit/_inputs.py index fc7351a..4566cd7 100644 --- a/sdk/python/pulumi_stackit/_inputs.py +++ b/sdk/python/pulumi_stackit/_inputs.py @@ -271,6 +271,18 @@ 'VolumeEncryptionParametersArgsDict', 'VolumeSourceArgs', 'VolumeSourceArgsDict', + 'VpcNetworkRangeTimeoutsArgs', + 'VpcNetworkRangeTimeoutsArgsDict', + 'VpcRegionTimeoutsArgs', + 'VpcRegionTimeoutsArgsDict', + 'VpcRoutingTableStaticRouteDestinationArgs', + 'VpcRoutingTableStaticRouteDestinationArgsDict', + 'VpcRoutingTableStaticRouteNexthopArgs', + 'VpcRoutingTableStaticRouteNexthopArgsDict', + 'VpcRoutingTableStaticRouteTimeoutsArgs', + 'VpcRoutingTableStaticRouteTimeoutsArgsDict', + 'VpcTimeoutsArgs', + 'VpcTimeoutsArgsDict', 'VpnConnectionTunnel1Args', 'VpnConnectionTunnel1ArgsDict', 'VpnConnectionTunnel1BgpArgs', @@ -305,6 +317,14 @@ 'GetImageV2FilterArgsDict', 'GetSqlserverflexInstanceNetworkArgs', 'GetSqlserverflexInstanceNetworkArgsDict', + 'GetVpcNetworkRangeTimeoutsArgs', + 'GetVpcNetworkRangeTimeoutsArgsDict', + 'GetVpcRegionTimeoutsArgs', + 'GetVpcRegionTimeoutsArgsDict', + 'GetVpcRoutingTableStaticRouteTimeoutsArgs', + 'GetVpcRoutingTableStaticRouteTimeoutsArgsDict', + 'GetVpcTimeoutsArgs', + 'GetVpcTimeoutsArgsDict', ] class ApplicationLoadBalancerErrorArgsDict(TypedDict): @@ -11062,6 +11082,457 @@ def type(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "type", value) +class VpcNetworkRangeTimeoutsArgsDict(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). + """ + +@pulumi.input_type +class VpcNetworkRangeTimeoutsArgs: + 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): + """ + :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 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) -> 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, "create") + + @create.setter + def create(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create", value) + + @_builtins.property + @pulumi.getter + def delete(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). 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") + + @delete.setter + def delete(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "delete", value) + + @_builtins.property + @pulumi.getter + def read(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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + 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 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") + + @update.setter + def update(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "update", value) + + +class VpcRegionTimeoutsArgsDict(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). + """ + +@pulumi.input_type +class VpcRegionTimeoutsArgs: + 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): + """ + :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 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) -> 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, "create") + + @create.setter + def create(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create", value) + + @_builtins.property + @pulumi.getter + def delete(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). 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") + + @delete.setter + def delete(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "delete", value) + + @_builtins.property + @pulumi.getter + def read(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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + 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 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") + + @update.setter + def update(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "update", value) + + +class VpcRoutingTableStaticRouteDestinationArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + """ + value: pulumi.Input[_builtins.str] + """ + CIDR value. + """ + +@pulumi.input_type +class VpcRoutingTableStaticRouteDestinationArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] type: CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + :param pulumi.Input[_builtins.str] value: CIDR value. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: + """ + CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> pulumi.Input[_builtins.str]: + """ + CIDR value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "value", value) + + +class VpcRoutingTableStaticRouteNexthopArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + """ + value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Value of the nexthop + """ + +@pulumi.input_type +class VpcRoutingTableStaticRouteNexthopArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] type: Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + :param pulumi.Input[_builtins.str] value: Value of the nexthop + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: + """ + Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Value of the nexthop + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "value", value) + + +class VpcRoutingTableStaticRouteTimeoutsArgsDict(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). + """ + +@pulumi.input_type +class VpcRoutingTableStaticRouteTimeoutsArgs: + 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): + """ + :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 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) -> 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, "create") + + @create.setter + def create(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create", value) + + @_builtins.property + @pulumi.getter + def delete(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). 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") + + @delete.setter + def delete(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "delete", value) + + @_builtins.property + @pulumi.getter + def read(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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + 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 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") + + @update.setter + def update(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "update", value) + + +class VpcTimeoutsArgsDict(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). + """ + +@pulumi.input_type +class VpcTimeoutsArgs: + 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): + """ + :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 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) -> 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, "create") + + @create.setter + def create(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create", value) + + @_builtins.property + @pulumi.getter + def delete(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). 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") + + @delete.setter + def delete(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "delete", value) + + @_builtins.property + @pulumi.getter + def read(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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + 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 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") + + @update.setter + def update(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "update", value) + + class VpnConnectionTunnel1ArgsDict(TypedDict): phase1: pulumi.Input['VpnConnectionTunnel1Phase1ArgsDict'] phase2: pulumi.Input['VpnConnectionTunnel1Phase2ArgsDict'] @@ -12260,3 +12731,119 @@ def access_scope(self, value: Optional[_builtins.str]): pulumi.set(self, "access_scope", value) +class GetVpcNetworkRangeTimeoutsArgsDict(TypedDict): + read: NotRequired[_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 GetVpcNetworkRangeTimeoutsArgs: + 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") + + @read.setter + def read(self, value: Optional[_builtins.str]): + pulumi.set(self, "read", value) + + +class GetVpcRegionTimeoutsArgsDict(TypedDict): + read: NotRequired[_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 GetVpcRegionTimeoutsArgs: + 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") + + @read.setter + def read(self, value: Optional[_builtins.str]): + pulumi.set(self, "read", value) + + +class GetVpcRoutingTableStaticRouteTimeoutsArgsDict(TypedDict): + read: NotRequired[_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 GetVpcRoutingTableStaticRouteTimeoutsArgs: + 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") + + @read.setter + def read(self, value: Optional[_builtins.str]): + pulumi.set(self, "read", value) + + +class GetVpcTimeoutsArgsDict(TypedDict): + read: NotRequired[_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 GetVpcTimeoutsArgs: + 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") + + @read.setter + def read(self, value: Optional[_builtins.str]): + pulumi.set(self, "read", value) + + diff --git a/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py b/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py index 28c126d..b5128ec 100644 --- a/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py +++ b/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py @@ -140,7 +140,7 @@ def __init__(__self__, """ Folder Role Assignment resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -164,7 +164,7 @@ def __init__(__self__, """ Folder Role Assignment resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py b/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py index 02b4cd9..f926f07 100644 --- a/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py +++ b/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py @@ -140,7 +140,7 @@ def __init__(__self__, """ Organization Role Assignment resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -164,7 +164,7 @@ def __init__(__self__, """ Organization Role Assignment resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/authorization_project_role_assignment.py b/sdk/python/pulumi_stackit/authorization_project_role_assignment.py index 37f4ccd..2e986d7 100644 --- a/sdk/python/pulumi_stackit/authorization_project_role_assignment.py +++ b/sdk/python/pulumi_stackit/authorization_project_role_assignment.py @@ -140,7 +140,7 @@ def __init__(__self__, """ Project Role Assignment resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -164,7 +164,7 @@ def __init__(__self__, """ Project Role Assignment resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py b/sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py index 2c1942e..ceddba8 100644 --- a/sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py +++ b/sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py @@ -142,7 +142,7 @@ def __init__(__self__, > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -168,7 +168,7 @@ def __init__(__self__, > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/config/__init__.pyi b/sdk/python/pulumi_stackit/config/__init__.pyi index f0f7a8c..b368b14 100644 --- a/sdk/python/pulumi_stackit/config/__init__.pyi +++ b/sdk/python/pulumi_stackit/config/__init__.pyi @@ -66,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: dremio, 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, network, routing-tables, vpc """ gitCustomEndpoint: Optional[str] diff --git a/sdk/python/pulumi_stackit/config/vars.py b/sdk/python/pulumi_stackit/config/vars.py index 4fcc446..9bd18f1 100644 --- a/sdk/python/pulumi_stackit/config/vars.py +++ b/sdk/python/pulumi_stackit/config/vars.py @@ -93,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: dremio, 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, network, routing-tables, vpc """ return __config__.get('experiments') diff --git a/sdk/python/pulumi_stackit/dremio_instance.py b/sdk/python/pulumi_stackit/dremio_instance.py index bef8180..f3b5252 100644 --- a/sdk/python/pulumi_stackit/dremio_instance.py +++ b/sdk/python/pulumi_stackit/dremio_instance.py @@ -265,7 +265,7 @@ def __init__(__self__, """ 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. + > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -291,7 +291,7 @@ def __init__(__self__, """ 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. + > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/dremio_user.py b/sdk/python/pulumi_stackit/dremio_user.py index 90e5c2b..ae1bbe5 100644 --- a/sdk/python/pulumi_stackit/dremio_user.py +++ b/sdk/python/pulumi_stackit/dremio_user.py @@ -378,7 +378,7 @@ def __init__(__self__, """ 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. + > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -408,7 +408,7 @@ def __init__(__self__, """ 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. + > This resource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_dremio_instance.py b/sdk/python/pulumi_stackit/get_dremio_instance.py index 9883b77..d26f19c 100644 --- a/sdk/python/pulumi_stackit/get_dremio_instance.py +++ b/sdk/python/pulumi_stackit/get_dremio_instance.py @@ -142,7 +142,7 @@ def get_dremio_instance(description: Optional[_builtins.str] = None, """ 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. + > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -177,7 +177,7 @@ def get_dremio_instance_output(description: pulumi.Input[Optional[Optional[_buil """ 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. + > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_dremio_user.py b/sdk/python/pulumi_stackit/get_dremio_user.py index 2f63e56..1338589 100644 --- a/sdk/python/pulumi_stackit/get_dremio_user.py +++ b/sdk/python/pulumi_stackit/get_dremio_user.py @@ -166,7 +166,7 @@ def get_dremio_user(description: Optional[_builtins.str] = None, """ 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. + > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -206,7 +206,7 @@ def get_dremio_user_output(description: pulumi.Input[Optional[Optional[_builtins """ 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. + > This datasource is part of the experimental feature dremio and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_routing_table.py b/sdk/python/pulumi_stackit/get_routing_table.py index 6ba4d59..a06e5d5 100644 --- a/sdk/python/pulumi_stackit/get_routing_table.py +++ b/sdk/python/pulumi_stackit/get_routing_table.py @@ -203,7 +203,7 @@ def get_routing_table(network_area_id: Optional[_builtins.str] = None, This datasource is for SNA, not VPC, based networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -245,7 +245,7 @@ def get_routing_table_output(network_area_id: pulumi.Input[Optional[_builtins.st This datasource is for SNA, not VPC, based networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_routing_table_route.py b/sdk/python/pulumi_stackit/get_routing_table_route.py index f0e604e..d856eb6 100644 --- a/sdk/python/pulumi_stackit/get_routing_table_route.py +++ b/sdk/python/pulumi_stackit/get_routing_table_route.py @@ -181,7 +181,7 @@ def get_routing_table_route(network_area_id: Optional[_builtins.str] = None, This datasource is for SNA, not VPC, networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -224,7 +224,7 @@ def get_routing_table_route_output(network_area_id: pulumi.Input[Optional[_built This datasource is for SNA, not VPC, networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_routing_table_routes.py b/sdk/python/pulumi_stackit/get_routing_table_routes.py index 8a0d41b..1b11389 100644 --- a/sdk/python/pulumi_stackit/get_routing_table_routes.py +++ b/sdk/python/pulumi_stackit/get_routing_table_routes.py @@ -120,7 +120,7 @@ def get_routing_table_routes(network_area_id: Optional[_builtins.str] = None, This datasource is for SNA, not VPC, based networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -155,7 +155,7 @@ def get_routing_table_routes_output(network_area_id: pulumi.Input[Optional[_buil This datasource is for SNA, not VPC, based networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_routing_tables.py b/sdk/python/pulumi_stackit/get_routing_tables.py index fe4c05b..41ad2b4 100644 --- a/sdk/python/pulumi_stackit/get_routing_tables.py +++ b/sdk/python/pulumi_stackit/get_routing_tables.py @@ -107,7 +107,7 @@ def get_routing_tables(network_area_id: Optional[_builtins.str] = None, This datasource is for SNA, not VPC, based networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -138,7 +138,7 @@ def get_routing_tables_output(network_area_id: pulumi.Input[Optional[_builtins.s This datasource is for SNA, not VPC, based networks. - > This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_secretsmanager_instance_role_bindings_v1.py b/sdk/python/pulumi_stackit/get_secretsmanager_instance_role_bindings_v1.py index 255cfc1..3d66c26 100644 --- a/sdk/python/pulumi_stackit/get_secretsmanager_instance_role_bindings_v1.py +++ b/sdk/python/pulumi_stackit/get_secretsmanager_instance_role_bindings_v1.py @@ -92,7 +92,7 @@ def get_secretsmanager_instance_role_bindings_v1(region: Optional[_builtins.str] """ IAM role binding datasource schema. - > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -117,7 +117,7 @@ def get_secretsmanager_instance_role_bindings_v1_output(region: pulumi.Input[Opt """ IAM role binding datasource schema. - > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_secretsmanager_secret_group_role_bindings_v1.py b/sdk/python/pulumi_stackit/get_secretsmanager_secret_group_role_bindings_v1.py index 4562933..a83b371 100644 --- a/sdk/python/pulumi_stackit/get_secretsmanager_secret_group_role_bindings_v1.py +++ b/sdk/python/pulumi_stackit/get_secretsmanager_secret_group_role_bindings_v1.py @@ -92,7 +92,7 @@ def get_secretsmanager_secret_group_role_bindings_v1(region: Optional[_builtins. """ IAM role binding datasource schema. - > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -117,7 +117,7 @@ def get_secretsmanager_secret_group_role_bindings_v1_output(region: pulumi.Input """ IAM role binding datasource schema. - > This datasource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This datasource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_vpc.py b/sdk/python/pulumi_stackit/get_vpc.py new file mode 100644 index 0000000..1494dba --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpc.py @@ -0,0 +1,181 @@ +# 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__ = [ + 'GetVpcResult', + 'AwaitableGetVpcResult', + 'get_vpc', + 'get_vpc_output', +] + +@pulumi.output_type +class GetVpcResult: + """ + A collection of values returned by getVpc. + """ + def __init__(__self__, description=None, id=None, labels=None, name=None, project_id=None, timeouts=None, vpc_id=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + 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) + 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 timeouts and not isinstance(timeouts, dict): + raise TypeError("Expected argument 'timeouts' to be a dict") + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id and not isinstance(vpc_id, str): + raise TypeError("Expected argument 'vpc_id' to be a str") + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description of the VPC. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`vpc_id`". + """ + 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 resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The name of the VPC. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the VPC is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> Optional['outputs.GetVpcTimeoutsResult']: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> _builtins.str: + """ + The VPC ID. + """ + return pulumi.get(self, "vpc_id") + + +class AwaitableGetVpcResult(GetVpcResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcResult( + description=self.description, + id=self.id, + labels=self.labels, + name=self.name, + project_id=self.project_id, + timeouts=self.timeouts, + vpc_id=self.vpc_id) + + +def get_vpc(project_id: Optional[_builtins.str] = None, + timeouts: Optional[Union['GetVpcTimeoutsArgs', 'GetVpcTimeoutsArgsDict']] = None, + vpc_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcResult: + """ + VPC datasource schema. + + > This datasource is part of the experimental feature vpc 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 project_id: STACKIT project ID to which the VPC is associated. + :param _builtins.str vpc_id: The VPC ID. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getVpc:getVpc', __args__, opts=opts, typ=GetVpcResult).value + + return AwaitableGetVpcResult( + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + timeouts=pulumi.get(__ret__, 'timeouts'), + vpc_id=pulumi.get(__ret__, 'vpc_id')) +def get_vpc_output(project_id: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Optional[Union['GetVpcTimeoutsArgs', 'GetVpcTimeoutsArgsDict']]]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcResult]: + """ + VPC datasource schema. + + > This datasource is part of the experimental feature vpc 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 project_id: STACKIT project ID to which the VPC is associated. + :param _builtins.str vpc_id: The VPC ID. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getVpc:getVpc', __args__, opts=opts, typ=GetVpcResult) + return __ret__.apply(lambda __response__: GetVpcResult( + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + timeouts=pulumi.get(__response__, 'timeouts'), + vpc_id=pulumi.get(__response__, 'vpc_id'))) diff --git a/sdk/python/pulumi_stackit/get_vpc_network_range.py b/sdk/python/pulumi_stackit/get_vpc_network_range.py new file mode 100644 index 0000000..c58b280 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpc_network_range.py @@ -0,0 +1,286 @@ +# 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__ = [ + 'GetVpcNetworkRangeResult', + 'AwaitableGetVpcNetworkRangeResult', + 'get_vpc_network_range', + 'get_vpc_network_range_output', +] + +@pulumi.output_type +class GetVpcNetworkRangeResult: + """ + A collection of values returned by getVpcNetworkRange. + """ + def __init__(__self__, default_prefix_length=None, description=None, id=None, ip_version=None, labels=None, max_prefix_length=None, min_prefix_length=None, nameservers=None, network_range_id=None, prefix=None, project_id=None, region=None, timeouts=None, vpc_id=None): + if default_prefix_length and not isinstance(default_prefix_length, int): + raise TypeError("Expected argument 'default_prefix_length' to be a int") + pulumi.set(__self__, "default_prefix_length", default_prefix_length) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ip_version and not isinstance(ip_version, str): + raise TypeError("Expected argument 'ip_version' to be a str") + pulumi.set(__self__, "ip_version", ip_version) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) + if max_prefix_length and not isinstance(max_prefix_length, int): + raise TypeError("Expected argument 'max_prefix_length' to be a int") + pulumi.set(__self__, "max_prefix_length", max_prefix_length) + if min_prefix_length and not isinstance(min_prefix_length, int): + raise TypeError("Expected argument 'min_prefix_length' to be a int") + pulumi.set(__self__, "min_prefix_length", min_prefix_length) + if nameservers and not isinstance(nameservers, list): + raise TypeError("Expected argument 'nameservers' to be a list") + pulumi.set(__self__, "nameservers", nameservers) + if network_range_id and not isinstance(network_range_id, str): + raise TypeError("Expected argument 'network_range_id' to be a str") + pulumi.set(__self__, "network_range_id", network_range_id) + if prefix and not isinstance(prefix, str): + raise TypeError("Expected argument 'prefix' to be a str") + pulumi.set(__self__, "prefix", prefix) + 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 timeouts and not isinstance(timeouts, dict): + raise TypeError("Expected argument 'timeouts' to be a dict") + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id and not isinstance(vpc_id, str): + raise TypeError("Expected argument 'vpc_id' to be a str") + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> _builtins.int: + """ + Default prefix length for the VPC network range + """ + return pulumi.get(self, "default_prefix_length") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + Description of the VPC network range + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`vpc_id`,`region`,`network_range_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="ipVersion") + def ip_version(self) -> _builtins.str: + """ + IP version of the VPC network range. Possible values are: `ipv4`. + """ + return pulumi.get(self, "ip_version") + + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + Labels are key-value string pairs which can be attached to a resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="maxPrefixLength") + def max_prefix_length(self) -> _builtins.int: + """ + Maximum prefix length for the VPC network range + """ + return pulumi.get(self, "max_prefix_length") + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> _builtins.int: + """ + Minimum prefix length for the VPC network range + """ + return pulumi.get(self, "min_prefix_length") + + @_builtins.property + @pulumi.getter + def nameservers(self) -> Sequence[_builtins.str]: + """ + List of nameservers for the VPC network range + """ + return pulumi.get(self, "nameservers") + + @_builtins.property + @pulumi.getter(name="networkRangeId") + def network_range_id(self) -> _builtins.str: + return pulumi.get(self, "network_range_id") + + @_builtins.property + @pulumi.getter + def prefix(self) -> _builtins.str: + """ + The IP prefix for the VPC network range + """ + return pulumi.get(self, "prefix") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the VPC network range is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> Optional['outputs.GetVpcNetworkRangeTimeoutsResult']: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> _builtins.str: + """ + The VPC ID to which the VPC network range is associated. + """ + return pulumi.get(self, "vpc_id") + + +class AwaitableGetVpcNetworkRangeResult(GetVpcNetworkRangeResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcNetworkRangeResult( + default_prefix_length=self.default_prefix_length, + description=self.description, + id=self.id, + ip_version=self.ip_version, + labels=self.labels, + max_prefix_length=self.max_prefix_length, + min_prefix_length=self.min_prefix_length, + nameservers=self.nameservers, + network_range_id=self.network_range_id, + prefix=self.prefix, + project_id=self.project_id, + region=self.region, + timeouts=self.timeouts, + vpc_id=self.vpc_id) + + +def get_vpc_network_range(network_range_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + timeouts: Optional[Union['GetVpcNetworkRangeTimeoutsArgs', 'GetVpcNetworkRangeTimeoutsArgsDict']] = None, + vpc_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcNetworkRangeResult: + """ + VPC network range datasource schema + + > This datasource is part of the experimental feature vpc 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 project_id: STACKIT project ID to which the VPC network range is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str vpc_id: The VPC ID to which the VPC network range is associated. + """ + __args__ = dict() + __args__['networkRangeId'] = network_range_id + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getVpcNetworkRange:getVpcNetworkRange', __args__, opts=opts, typ=GetVpcNetworkRangeResult).value + + return AwaitableGetVpcNetworkRangeResult( + default_prefix_length=pulumi.get(__ret__, 'default_prefix_length'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + ip_version=pulumi.get(__ret__, 'ip_version'), + labels=pulumi.get(__ret__, 'labels'), + max_prefix_length=pulumi.get(__ret__, 'max_prefix_length'), + min_prefix_length=pulumi.get(__ret__, 'min_prefix_length'), + nameservers=pulumi.get(__ret__, 'nameservers'), + network_range_id=pulumi.get(__ret__, 'network_range_id'), + prefix=pulumi.get(__ret__, 'prefix'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + timeouts=pulumi.get(__ret__, 'timeouts'), + vpc_id=pulumi.get(__ret__, 'vpc_id')) +def get_vpc_network_range_output(network_range_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + timeouts: pulumi.Input[Optional[Optional[Union['GetVpcNetworkRangeTimeoutsArgs', 'GetVpcNetworkRangeTimeoutsArgsDict']]]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcNetworkRangeResult]: + """ + VPC network range datasource schema + + > This datasource is part of the experimental feature vpc 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 project_id: STACKIT project ID to which the VPC network range is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str vpc_id: The VPC ID to which the VPC network range is associated. + """ + __args__ = dict() + __args__['networkRangeId'] = network_range_id + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getVpcNetworkRange:getVpcNetworkRange', __args__, opts=opts, typ=GetVpcNetworkRangeResult) + return __ret__.apply(lambda __response__: GetVpcNetworkRangeResult( + default_prefix_length=pulumi.get(__response__, 'default_prefix_length'), + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + ip_version=pulumi.get(__response__, 'ip_version'), + labels=pulumi.get(__response__, 'labels'), + max_prefix_length=pulumi.get(__response__, 'max_prefix_length'), + min_prefix_length=pulumi.get(__response__, 'min_prefix_length'), + nameservers=pulumi.get(__response__, 'nameservers'), + network_range_id=pulumi.get(__response__, 'network_range_id'), + prefix=pulumi.get(__response__, 'prefix'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + timeouts=pulumi.get(__response__, 'timeouts'), + vpc_id=pulumi.get(__response__, 'vpc_id'))) diff --git a/sdk/python/pulumi_stackit/get_vpc_region.py b/sdk/python/pulumi_stackit/get_vpc_region.py new file mode 100644 index 0000000..cefc630 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpc_region.py @@ -0,0 +1,159 @@ +# 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__ = [ + 'GetVpcRegionResult', + 'AwaitableGetVpcRegionResult', + 'get_vpc_region', + 'get_vpc_region_output', +] + +@pulumi.output_type +class GetVpcRegionResult: + """ + A collection of values returned by getVpcRegion. + """ + def __init__(__self__, id=None, project_id=None, region=None, timeouts=None, vpc_id=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if timeouts and not isinstance(timeouts, dict): + raise TypeError("Expected argument 'timeouts' to be a dict") + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id and not isinstance(vpc_id, str): + raise TypeError("Expected argument 'vpc_id' to be a str") + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource ID. It is structured as "`project_id`, `vpc_id`, `region`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the VPC region is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> Optional['outputs.GetVpcRegionTimeoutsResult']: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> _builtins.str: + """ + The VPC ID to which the VPC region is associated. + """ + return pulumi.get(self, "vpc_id") + + +class AwaitableGetVpcRegionResult(GetVpcRegionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcRegionResult( + id=self.id, + project_id=self.project_id, + region=self.region, + timeouts=self.timeouts, + vpc_id=self.vpc_id) + + +def get_vpc_region(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + timeouts: Optional[Union['GetVpcRegionTimeoutsArgs', 'GetVpcRegionTimeoutsArgsDict']] = None, + vpc_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcRegionResult: + """ + VPC region datasource schema + + > This datasource is part of the experimental feature vpc 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 project_id: STACKIT project ID to which the VPC region is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str vpc_id: The VPC ID to which the VPC region is associated. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getVpcRegion:getVpcRegion', __args__, opts=opts, typ=GetVpcRegionResult).value + + return AwaitableGetVpcRegionResult( + id=pulumi.get(__ret__, 'id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + timeouts=pulumi.get(__ret__, 'timeouts'), + vpc_id=pulumi.get(__ret__, 'vpc_id')) +def get_vpc_region_output(project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + timeouts: pulumi.Input[Optional[Optional[Union['GetVpcRegionTimeoutsArgs', 'GetVpcRegionTimeoutsArgsDict']]]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcRegionResult]: + """ + VPC region datasource schema + + > This datasource is part of the experimental feature vpc 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 project_id: STACKIT project ID to which the VPC region is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str vpc_id: The VPC ID to which the VPC region is associated. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getVpcRegion:getVpcRegion', __args__, opts=opts, typ=GetVpcRegionResult) + return __ret__.apply(lambda __response__: GetVpcRegionResult( + id=pulumi.get(__response__, 'id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + timeouts=pulumi.get(__response__, 'timeouts'), + vpc_id=pulumi.get(__response__, 'vpc_id'))) diff --git a/sdk/python/pulumi_stackit/get_vpc_routing_table.py b/sdk/python/pulumi_stackit/get_vpc_routing_table.py new file mode 100644 index 0000000..b95fe2d --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpc_routing_table.py @@ -0,0 +1,256 @@ +# 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__ = [ + 'GetVpcRoutingTableResult', + 'AwaitableGetVpcRoutingTableResult', + 'get_vpc_routing_table', + 'get_vpc_routing_table_output', +] + +@pulumi.output_type +class GetVpcRoutingTableResult: + """ + A collection of values returned by getVpcRoutingTable. + """ + def __init__(__self__, description=None, dynamic_routes=None, id=None, labels=None, name=None, project_id=None, region=None, routing_table_id=None, system_routes=None, vpc_id=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if dynamic_routes and not isinstance(dynamic_routes, bool): + raise TypeError("Expected argument 'dynamic_routes' to be a bool") + pulumi.set(__self__, "dynamic_routes", dynamic_routes) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + 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) + 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_table_id and not isinstance(routing_table_id, str): + raise TypeError("Expected argument 'routing_table_id' to be a str") + pulumi.set(__self__, "routing_table_id", routing_table_id) + if system_routes and not isinstance(system_routes, bool): + raise TypeError("Expected argument 'system_routes' to be a bool") + pulumi.set(__self__, "system_routes", system_routes) + if vpc_id and not isinstance(vpc_id, str): + raise TypeError("Expected argument 'vpc_id' to be a str") + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + Description of the regional routing table. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> _builtins.bool: + """ + This controls whether dynamic routes are propagated to this regional routing table + """ + return pulumi.get(self, "dynamic_routes") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource ID. It is structured as "`project_id`,`vpc_id`,`region`,`routing_table_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def labels(self) -> Optional[Mapping[str, _builtins.str]]: + """ + Labels are key-value string pairs which can be attached to a resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The name of the regional routing table. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the regional routing table is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="routingTableId") + def routing_table_id(self) -> _builtins.str: + """ + The regional routing tables ID. + """ + return pulumi.get(self, "routing_table_id") + + @_builtins.property + @pulumi.getter(name="systemRoutes") + def system_routes(self) -> _builtins.bool: + """ + This allows installation of automatic system routes for connectivity between projects in the same VPC. + """ + return pulumi.get(self, "system_routes") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> _builtins.str: + """ + The vpc ID to which the regional routing table is associated. + """ + return pulumi.get(self, "vpc_id") + + +class AwaitableGetVpcRoutingTableResult(GetVpcRoutingTableResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcRoutingTableResult( + description=self.description, + dynamic_routes=self.dynamic_routes, + id=self.id, + labels=self.labels, + name=self.name, + project_id=self.project_id, + region=self.region, + routing_table_id=self.routing_table_id, + system_routes=self.system_routes, + vpc_id=self.vpc_id) + + +def get_vpc_routing_table(description: Optional[_builtins.str] = None, + dynamic_routes: Optional[_builtins.bool] = None, + labels: Optional[Mapping[str, _builtins.str]] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + routing_table_id: Optional[_builtins.str] = None, + system_routes: Optional[_builtins.bool] = None, + vpc_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcRoutingTableResult: + """ + VPC Regional routing table datasource schema. Must have a `region` specified in the provider configuration. + + > This datasource is part of the experimental feature vpc 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: Description of the regional routing table. + :param _builtins.bool dynamic_routes: This controls whether dynamic routes are propagated to this regional routing table + :param Mapping[str, _builtins.str] labels: Labels are key-value string pairs which can be attached to a resource container + :param _builtins.str project_id: STACKIT project ID to which the regional routing table is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str routing_table_id: The regional routing tables ID. + :param _builtins.bool system_routes: This allows installation of automatic system routes for connectivity between projects in the same VPC. + :param _builtins.str vpc_id: The vpc ID to which the regional routing table is associated. + """ + __args__ = dict() + __args__['description'] = description + __args__['dynamicRoutes'] = dynamic_routes + __args__['labels'] = labels + __args__['projectId'] = project_id + __args__['region'] = region + __args__['routingTableId'] = routing_table_id + __args__['systemRoutes'] = system_routes + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getVpcRoutingTable:getVpcRoutingTable', __args__, opts=opts, typ=GetVpcRoutingTableResult).value + + return AwaitableGetVpcRoutingTableResult( + description=pulumi.get(__ret__, 'description'), + dynamic_routes=pulumi.get(__ret__, 'dynamic_routes'), + id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + routing_table_id=pulumi.get(__ret__, 'routing_table_id'), + system_routes=pulumi.get(__ret__, 'system_routes'), + vpc_id=pulumi.get(__ret__, 'vpc_id')) +def get_vpc_routing_table_output(description: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + dynamic_routes: pulumi.Input[Optional[Optional[_builtins.bool]]] = None, + labels: pulumi.Input[Optional[Optional[Mapping[str, _builtins.str]]]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + system_routes: pulumi.Input[Optional[Optional[_builtins.bool]]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcRoutingTableResult]: + """ + VPC Regional routing table datasource schema. Must have a `region` specified in the provider configuration. + + > This datasource is part of the experimental feature vpc 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: Description of the regional routing table. + :param _builtins.bool dynamic_routes: This controls whether dynamic routes are propagated to this regional routing table + :param Mapping[str, _builtins.str] labels: Labels are key-value string pairs which can be attached to a resource container + :param _builtins.str project_id: STACKIT project ID to which the regional routing table is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + :param _builtins.str routing_table_id: The regional routing tables ID. + :param _builtins.bool system_routes: This allows installation of automatic system routes for connectivity between projects in the same VPC. + :param _builtins.str vpc_id: The vpc ID to which the regional routing table is associated. + """ + __args__ = dict() + __args__['description'] = description + __args__['dynamicRoutes'] = dynamic_routes + __args__['labels'] = labels + __args__['projectId'] = project_id + __args__['region'] = region + __args__['routingTableId'] = routing_table_id + __args__['systemRoutes'] = system_routes + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getVpcRoutingTable:getVpcRoutingTable', __args__, opts=opts, typ=GetVpcRoutingTableResult) + return __ret__.apply(lambda __response__: GetVpcRoutingTableResult( + description=pulumi.get(__response__, 'description'), + dynamic_routes=pulumi.get(__response__, 'dynamic_routes'), + id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + routing_table_id=pulumi.get(__response__, 'routing_table_id'), + system_routes=pulumi.get(__response__, 'system_routes'), + vpc_id=pulumi.get(__response__, 'vpc_id'))) diff --git a/sdk/python/pulumi_stackit/get_vpc_routing_table_static_route.py b/sdk/python/pulumi_stackit/get_vpc_routing_table_static_route.py new file mode 100644 index 0000000..9491ab0 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpc_routing_table_static_route.py @@ -0,0 +1,237 @@ +# 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__ = [ + 'GetVpcRoutingTableStaticRouteResult', + 'AwaitableGetVpcRoutingTableStaticRouteResult', + 'get_vpc_routing_table_static_route', + 'get_vpc_routing_table_static_route_output', +] + +@pulumi.output_type +class GetVpcRoutingTableStaticRouteResult: + """ + A collection of values returned by getVpcRoutingTableStaticRoute. + """ + def __init__(__self__, destination=None, id=None, labels=None, nexthop=None, project_id=None, region=None, route_id=None, routing_table_id=None, timeouts=None, vpc_id=None): + if destination and not isinstance(destination, dict): + raise TypeError("Expected argument 'destination' to be a dict") + pulumi.set(__self__, "destination", destination) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) + if nexthop and not isinstance(nexthop, dict): + raise TypeError("Expected argument 'nexthop' to be a dict") + pulumi.set(__self__, "nexthop", nexthop) + 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 route_id and not isinstance(route_id, str): + raise TypeError("Expected argument 'route_id' to be a str") + pulumi.set(__self__, "route_id", route_id) + if routing_table_id and not isinstance(routing_table_id, str): + raise TypeError("Expected argument 'routing_table_id' to be a str") + pulumi.set(__self__, "routing_table_id", routing_table_id) + if timeouts and not isinstance(timeouts, dict): + raise TypeError("Expected argument 'timeouts' to be a dict") + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id and not isinstance(vpc_id, str): + raise TypeError("Expected argument 'vpc_id' to be a str") + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter + def destination(self) -> 'outputs.GetVpcRoutingTableStaticRouteDestinationResult': + """ + The destination of the static route. + """ + return pulumi.get(self, "destination") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource ID. It is structured as "`project_id`,`vpc_id`,`region`,`routing_table_id`,`route_id`". + """ + 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 resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def nexthop(self) -> 'outputs.GetVpcRoutingTableStaticRouteNexthopResult': + """ + The nexthop of the static route. + """ + return pulumi.get(self, "nexthop") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT Project ID to which the static route is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The region of the static route. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="routeId") + def route_id(self) -> _builtins.str: + """ + The static route ID. + """ + return pulumi.get(self, "route_id") + + @_builtins.property + @pulumi.getter(name="routingTableId") + def routing_table_id(self) -> _builtins.str: + """ + The routing table ID to which the static route is associated. + """ + return pulumi.get(self, "routing_table_id") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> Optional['outputs.GetVpcRoutingTableStaticRouteTimeoutsResult']: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> _builtins.str: + """ + The VPC ID to which the static route is associated. + """ + return pulumi.get(self, "vpc_id") + + +class AwaitableGetVpcRoutingTableStaticRouteResult(GetVpcRoutingTableStaticRouteResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpcRoutingTableStaticRouteResult( + destination=self.destination, + id=self.id, + labels=self.labels, + nexthop=self.nexthop, + project_id=self.project_id, + region=self.region, + route_id=self.route_id, + routing_table_id=self.routing_table_id, + timeouts=self.timeouts, + vpc_id=self.vpc_id) + + +def get_vpc_routing_table_static_route(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + route_id: Optional[_builtins.str] = None, + routing_table_id: Optional[_builtins.str] = None, + timeouts: Optional[Union['GetVpcRoutingTableStaticRouteTimeoutsArgs', 'GetVpcRoutingTableStaticRouteTimeoutsArgsDict']] = None, + vpc_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpcRoutingTableStaticRouteResult: + """ + VPC Routing table static route datasource schema. Must have a `region` specified in the provider configuration. + + > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + + :param _builtins.str project_id: STACKIT Project ID to which the static route is associated. + :param _builtins.str region: The region of the static route. + :param _builtins.str route_id: The static route ID. + :param _builtins.str routing_table_id: The routing table ID to which the static route is associated. + :param _builtins.str vpc_id: The VPC ID to which the static route is associated. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['routeId'] = route_id + __args__['routingTableId'] = routing_table_id + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute', __args__, opts=opts, typ=GetVpcRoutingTableStaticRouteResult).value + + return AwaitableGetVpcRoutingTableStaticRouteResult( + destination=pulumi.get(__ret__, 'destination'), + id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), + nexthop=pulumi.get(__ret__, 'nexthop'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + route_id=pulumi.get(__ret__, 'route_id'), + routing_table_id=pulumi.get(__ret__, 'routing_table_id'), + timeouts=pulumi.get(__ret__, 'timeouts'), + vpc_id=pulumi.get(__ret__, 'vpc_id')) +def get_vpc_routing_table_static_route_output(project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + route_id: pulumi.Input[Optional[_builtins.str]] = None, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Optional[Union['GetVpcRoutingTableStaticRouteTimeoutsArgs', 'GetVpcRoutingTableStaticRouteTimeoutsArgsDict']]]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpcRoutingTableStaticRouteResult]: + """ + VPC Routing table static route datasource schema. Must have a `region` specified in the provider configuration. + + > This datasource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + + :param _builtins.str project_id: STACKIT Project ID to which the static route is associated. + :param _builtins.str region: The region of the static route. + :param _builtins.str route_id: The static route ID. + :param _builtins.str routing_table_id: The routing table ID to which the static route is associated. + :param _builtins.str vpc_id: The VPC ID to which the static route is associated. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['routeId'] = route_id + __args__['routingTableId'] = routing_table_id + __args__['timeouts'] = timeouts + __args__['vpcId'] = vpc_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getVpcRoutingTableStaticRoute:getVpcRoutingTableStaticRoute', __args__, opts=opts, typ=GetVpcRoutingTableStaticRouteResult) + return __ret__.apply(lambda __response__: GetVpcRoutingTableStaticRouteResult( + destination=pulumi.get(__response__, 'destination'), + id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), + nexthop=pulumi.get(__response__, 'nexthop'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + route_id=pulumi.get(__response__, 'route_id'), + routing_table_id=pulumi.get(__response__, 'routing_table_id'), + timeouts=pulumi.get(__response__, 'timeouts'), + vpc_id=pulumi.get(__response__, 'vpc_id'))) diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index 6e46282..995e75b 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -144,6 +144,12 @@ 'TelemetryrouterInstanceFilterAttribute', 'VolumeEncryptionParameters', 'VolumeSource', + 'VpcNetworkRangeTimeouts', + 'VpcRegionTimeouts', + 'VpcRoutingTableStaticRouteDestination', + 'VpcRoutingTableStaticRouteNexthop', + 'VpcRoutingTableStaticRouteTimeouts', + 'VpcTimeouts', 'VpnConnectionTunnel1', 'VpnConnectionTunnel1Bgp', 'VpnConnectionTunnel1Peering', @@ -300,6 +306,12 @@ 'GetTelemetryrouterInstanceFilterResult', 'GetTelemetryrouterInstanceFilterAttributeResult', 'GetVolumeSourceResult', + 'GetVpcNetworkRangeTimeoutsResult', + 'GetVpcRegionTimeoutsResult', + 'GetVpcRoutingTableStaticRouteDestinationResult', + 'GetVpcRoutingTableStaticRouteNexthopResult', + 'GetVpcRoutingTableStaticRouteTimeoutsResult', + 'GetVpcTimeoutsResult', 'GetVpnConnectionTunnel1Result', 'GetVpnConnectionTunnel1BgpResult', 'GetVpnConnectionTunnel1PeeringResult', @@ -8663,6 +8675,285 @@ def type(self) -> _builtins.str: return pulumi.get(self, "type") +@pulumi.output_type +class VpcNetworkRangeTimeouts(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 VpcRegionTimeouts(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 VpcRoutingTableStaticRouteDestination(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + :param _builtins.str value: CIDR value. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + CIDR type. Possible values are: `cidrv4`, `cidrv6`. Currently cidrv6 is unsupported. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + CIDR value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class VpcRoutingTableStaticRouteNexthop(dict): + def __init__(__self__, *, + type: _builtins.str, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str type: Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + :param _builtins.str value: Value of the nexthop + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + Type of the nexthop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Currently ipv6 is unsupported. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + Value of the nexthop + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class VpcRoutingTableStaticRouteTimeouts(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 VpcTimeouts(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 VpnConnectionTunnel1(dict): @staticmethod @@ -10996,17 +11287,14 @@ 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 @@ -11025,14 +11313,6 @@ def client_id(self) -> _builtins.str: """ 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: @@ -11047,7 +11327,6 @@ 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, @@ -11055,7 +11334,6 @@ def __init__(__self__, *, """ :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. @@ -11063,7 +11341,6 @@ def __init__(__self__, *, """ 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) @@ -11085,14 +11362,6 @@ def client_id(self) -> _builtins.str: """ 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.GetDremioInstanceAuthenticationOauthJwtClaimsResult': @@ -16470,6 +16739,120 @@ def type(self) -> _builtins.str: return pulumi.get(self, "type") +@pulumi.output_type +class GetVpcNetworkRangeTimeoutsResult(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 GetVpcRegionTimeoutsResult(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 GetVpcRoutingTableStaticRouteDestinationResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVpcRoutingTableStaticRouteNexthopResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVpcRoutingTableStaticRouteTimeoutsResult(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 GetVpcTimeoutsResult(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 GetVpnConnectionTunnel1Result(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_stackit/provider.py b/sdk/python/pulumi_stackit/provider.py index fba0443..61e15b8 100644 --- a/sdk/python/pulumi_stackit/provider.py +++ b/sdk/python/pulumi_stackit/provider.py @@ -85,7 +85,7 @@ def __init__(__self__, *, :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: dremio, 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, network, routing-tables, vpc :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 @@ -366,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: dremio, 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, network, routing-tables, vpc """ return pulumi.get(self, "experiments") @@ -960,7 +960,7 @@ def __init__(__self__, :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: dremio, 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, network, routing-tables, vpc :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 diff --git a/sdk/python/pulumi_stackit/routing_table.py b/sdk/python/pulumi_stackit/routing_table.py index 88086ba..02efce5 100644 --- a/sdk/python/pulumi_stackit/routing_table.py +++ b/sdk/python/pulumi_stackit/routing_table.py @@ -356,7 +356,7 @@ def __init__(__self__, This resource is for SNA, not VPC, based networks. - > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -387,7 +387,7 @@ def __init__(__self__, This resource is for SNA, not VPC, based networks. - > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/routing_table_route.py b/sdk/python/pulumi_stackit/routing_table_route.py index 9ec1acb..9ea0689 100644 --- a/sdk/python/pulumi_stackit/routing_table_route.py +++ b/sdk/python/pulumi_stackit/routing_table_route.py @@ -322,7 +322,7 @@ def __init__(__self__, This resource is for SNA, not VPC, based networks. - > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -352,7 +352,7 @@ def __init__(__self__, This resource is for SNA, not VPC, based networks. - > This resource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature routing-tables and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/secretsmanager_instance_role_binding_v1.py b/sdk/python/pulumi_stackit/secretsmanager_instance_role_binding_v1.py index 2e2b076..e09b591 100644 --- a/sdk/python/pulumi_stackit/secretsmanager_instance_role_binding_v1.py +++ b/sdk/python/pulumi_stackit/secretsmanager_instance_role_binding_v1.py @@ -173,7 +173,7 @@ def __init__(__self__, """ IAM role binding resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -196,7 +196,7 @@ def __init__(__self__, """ IAM role binding resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/secretsmanager_secret_group_role_binding_v1.py b/sdk/python/pulumi_stackit/secretsmanager_secret_group_role_binding_v1.py index 6de2f08..2924a94 100644 --- a/sdk/python/pulumi_stackit/secretsmanager_secret_group_role_binding_v1.py +++ b/sdk/python/pulumi_stackit/secretsmanager_secret_group_role_binding_v1.py @@ -173,7 +173,7 @@ def __init__(__self__, """ IAM role binding resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage @@ -196,7 +196,7 @@ def __init__(__self__, """ IAM role binding resource schema. - > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + > This resource is part of the experimental feature iam and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. ## Example Usage diff --git a/sdk/python/pulumi_stackit/vpc.py b/sdk/python/pulumi_stackit/vpc.py new file mode 100644 index 0000000..ec16e24 --- /dev/null +++ b/sdk/python/pulumi_stackit/vpc.py @@ -0,0 +1,378 @@ +# 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__ = ['VpcArgs', 'Vpc'] + +@pulumi.input_type +class VpcArgs: + def __init__(__self__, *, + description: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['VpcTimeoutsArgs']] = None): + """ + The set of arguments for constructing a Vpc resource. + + :param pulumi.Input[_builtins.str] description: The description of the VPC. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the VPC. + """ + pulumi.set(__self__, "description", description) + 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 timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[_builtins.str]: + """ + The description of the VPC. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the VPC 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 labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Labels are key-value string pairs which can be attached to a resource container + """ + 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]]: + """ + The name of the VPC. + """ + 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 timeouts(self) -> pulumi.Input[Optional['VpcTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _VpcState: + def __init__(__self__, *, + description: 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, + timeouts: pulumi.Input[Optional['VpcTimeoutsArgs']] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering Vpc resources. + + :param pulumi.Input[_builtins.str] description: The description of the VPC. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the VPC. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the VPC. + """ + 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 labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Labels are key-value string pairs which can be attached to a resource container + """ + 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]]: + """ + The name of the VPC. + """ + 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(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID to which the VPC 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 timeouts(self) -> pulumi.Input[Optional['VpcTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The VPC ID. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + +@pulumi.type_token("stackit:index/vpc:Vpc") +class Vpc(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: 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, + timeouts: pulumi.Input[Optional[Union['VpcTimeoutsArgs', 'VpcTimeoutsArgsDict']]] = None, + __props__=None): + """ + VPC resource schema. + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :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 VPC. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the VPC. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC is associated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + VPC resource schema. + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param VpcArgs 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(VpcArgs, 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, + 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, + timeouts: pulumi.Input[Optional[Union['VpcTimeoutsArgs', 'VpcTimeoutsArgsDict']]] = 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__ = VpcArgs.__new__(VpcArgs) + + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_id"] = None + super(Vpc, __self__).__init__( + 'stackit:index/vpc:Vpc', + 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, + 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, + timeouts: pulumi.Input[Optional[Union['VpcTimeoutsArgs', 'VpcTimeoutsArgsDict']]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Vpc': + """ + Get an existing Vpc 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 VPC. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the VPC. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcState.__new__(_VpcState) + + __props__.__dict__["description"] = description + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_id"] = vpc_id + return Vpc(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[_builtins.str]: + """ + The description of the VPC. + """ + return pulumi.get(self, "description") + + @_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 a resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + The name of the VPC. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the VPC is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.VpcTimeouts']]: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[_builtins.str]: + """ + The VPC ID. + """ + return pulumi.get(self, "vpc_id") + diff --git a/sdk/python/pulumi_stackit/vpc_network_range.py b/sdk/python/pulumi_stackit/vpc_network_range.py new file mode 100644 index 0000000..bd5770e --- /dev/null +++ b/sdk/python/pulumi_stackit/vpc_network_range.py @@ -0,0 +1,702 @@ +# 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__ = ['VpcNetworkRangeArgs', 'VpcNetworkRange'] + +@pulumi.input_type +class VpcNetworkRangeArgs: + def __init__(__self__, *, + description: pulumi.Input[_builtins.str], + ip_version: pulumi.Input[_builtins.str], + prefix: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + vpc_id: pulumi.Input[_builtins.str], + default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['VpcNetworkRangeTimeoutsArgs']] = None): + """ + The set of arguments for constructing a VpcNetworkRange resource. + + :param pulumi.Input[_builtins.str] description: Description of the VPC network range + :param pulumi.Input[_builtins.str] ip_version: IP version of the VPC network range. Possible values are: `ipv4`. + :param pulumi.Input[_builtins.str] prefix: The IP prefix for the VPC network range + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC network range is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC network range is associated. + :param pulumi.Input[_builtins.int] default_prefix_length: Default prefix length for the VPC network range + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.int] max_prefix_length: Maximum prefix length for the VPC network range + :param pulumi.Input[_builtins.int] min_prefix_length: Minimum prefix length for the VPC network range + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] nameservers: List of nameservers for the VPC network range + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "ip_version", ip_version) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "vpc_id", vpc_id) + if default_prefix_length is not None: + pulumi.set(__self__, "default_prefix_length", default_prefix_length) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if max_prefix_length is not None: + pulumi.set(__self__, "max_prefix_length", max_prefix_length) + if min_prefix_length is not None: + pulumi.set(__self__, "min_prefix_length", min_prefix_length) + if nameservers is not None: + pulumi.set(__self__, "nameservers", nameservers) + 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 description(self) -> pulumi.Input[_builtins.str]: + """ + Description of the VPC network range + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="ipVersion") + def ip_version(self) -> pulumi.Input[_builtins.str]: + """ + IP version of the VPC network range. Possible values are: `ipv4`. + """ + return pulumi.get(self, "ip_version") + + @ip_version.setter + def ip_version(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "ip_version", value) + + @_builtins.property + @pulumi.getter + def prefix(self) -> pulumi.Input[_builtins.str]: + """ + The IP prefix for the VPC network range + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "prefix", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the VPC network range is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[_builtins.str]: + """ + The VPC ID to which the VPC network range is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Default prefix length for the VPC network range + """ + return pulumi.get(self, "default_prefix_length") + + @default_prefix_length.setter + def default_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "default_prefix_length", 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 a resource container + """ + 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="maxPrefixLength") + def max_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Maximum prefix length for the VPC network range + """ + return pulumi.get(self, "max_prefix_length") + + @max_prefix_length.setter + def max_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "max_prefix_length", value) + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Minimum prefix length for the VPC network range + """ + return pulumi.get(self, "min_prefix_length") + + @min_prefix_length.setter + def min_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "min_prefix_length", value) + + @_builtins.property + @pulumi.getter + def nameservers(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of nameservers for the VPC network range + """ + return pulumi.get(self, "nameservers") + + @nameservers.setter + def nameservers(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "nameservers", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. 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['VpcNetworkRangeTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcNetworkRangeTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _VpcNetworkRangeState: + def __init__(__self__, *, + default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + ip_version: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + network_range_id: pulumi.Input[Optional[_builtins.str]] = None, + prefix: 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['VpcNetworkRangeTimeoutsArgs']] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering VpcNetworkRange resources. + + :param pulumi.Input[_builtins.int] default_prefix_length: Default prefix length for the VPC network range + :param pulumi.Input[_builtins.str] description: Description of the VPC network range + :param pulumi.Input[_builtins.str] ip_version: IP version of the VPC network range. Possible values are: `ipv4`. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.int] max_prefix_length: Maximum prefix length for the VPC network range + :param pulumi.Input[_builtins.int] min_prefix_length: Minimum prefix length for the VPC network range + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] nameservers: List of nameservers for the VPC network range + :param pulumi.Input[_builtins.str] prefix: The IP prefix for the VPC network range + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC network range is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC network range is associated. + """ + if default_prefix_length is not None: + pulumi.set(__self__, "default_prefix_length", default_prefix_length) + if description is not None: + pulumi.set(__self__, "description", description) + if ip_version is not None: + pulumi.set(__self__, "ip_version", ip_version) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if max_prefix_length is not None: + pulumi.set(__self__, "max_prefix_length", max_prefix_length) + if min_prefix_length is not None: + pulumi.set(__self__, "min_prefix_length", min_prefix_length) + if nameservers is not None: + pulumi.set(__self__, "nameservers", nameservers) + if network_range_id is not None: + pulumi.set(__self__, "network_range_id", network_range_id) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + 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 vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Default prefix length for the VPC network range + """ + return pulumi.get(self, "default_prefix_length") + + @default_prefix_length.setter + def default_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "default_prefix_length", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Description of the VPC network range + """ + 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="ipVersion") + def ip_version(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + IP version of the VPC network range. Possible values are: `ipv4`. + """ + return pulumi.get(self, "ip_version") + + @ip_version.setter + def ip_version(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ip_version", 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 a resource container + """ + 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="maxPrefixLength") + def max_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Maximum prefix length for the VPC network range + """ + return pulumi.get(self, "max_prefix_length") + + @max_prefix_length.setter + def max_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "max_prefix_length", value) + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Minimum prefix length for the VPC network range + """ + return pulumi.get(self, "min_prefix_length") + + @min_prefix_length.setter + def min_prefix_length(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "min_prefix_length", value) + + @_builtins.property + @pulumi.getter + def nameservers(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of nameservers for the VPC network range + """ + return pulumi.get(self, "nameservers") + + @nameservers.setter + def nameservers(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "nameservers", value) + + @_builtins.property + @pulumi.getter(name="networkRangeId") + def network_range_id(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "network_range_id") + + @network_range_id.setter + def network_range_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "network_range_id", value) + + @_builtins.property + @pulumi.getter + def prefix(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The IP prefix for the VPC network range + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "prefix", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID to which the VPC network range 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 resource region. 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['VpcNetworkRangeTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcNetworkRangeTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The VPC ID to which the VPC network range is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + +@pulumi.type_token("stackit:index/vpcNetworkRange:VpcNetworkRange") +class VpcNetworkRange(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + ip_version: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + prefix: 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['VpcNetworkRangeTimeoutsArgs', 'VpcNetworkRangeTimeoutsArgsDict']]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + VPC network range resource schema + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.int] default_prefix_length: Default prefix length for the VPC network range + :param pulumi.Input[_builtins.str] description: Description of the VPC network range + :param pulumi.Input[_builtins.str] ip_version: IP version of the VPC network range. Possible values are: `ipv4`. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.int] max_prefix_length: Maximum prefix length for the VPC network range + :param pulumi.Input[_builtins.int] min_prefix_length: Minimum prefix length for the VPC network range + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] nameservers: List of nameservers for the VPC network range + :param pulumi.Input[_builtins.str] prefix: The IP prefix for the VPC network range + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC network range is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC network range is associated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcNetworkRangeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + VPC network range resource schema + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param VpcNetworkRangeArgs 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(VpcNetworkRangeArgs, 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, + default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + ip_version: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + prefix: 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['VpcNetworkRangeTimeoutsArgs', 'VpcNetworkRangeTimeoutsArgsDict']]] = None, + vpc_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__ = VpcNetworkRangeArgs.__new__(VpcNetworkRangeArgs) + + __props__.__dict__["default_prefix_length"] = default_prefix_length + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + if ip_version is None and not opts.urn: + raise TypeError("Missing required property 'ip_version'") + __props__.__dict__["ip_version"] = ip_version + __props__.__dict__["labels"] = labels + __props__.__dict__["max_prefix_length"] = max_prefix_length + __props__.__dict__["min_prefix_length"] = min_prefix_length + __props__.__dict__["nameservers"] = nameservers + if prefix is None and not opts.urn: + raise TypeError("Missing required property 'prefix'") + __props__.__dict__["prefix"] = prefix + 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 + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["network_range_id"] = None + super(VpcNetworkRange, __self__).__init__( + 'stackit:index/vpcNetworkRange:VpcNetworkRange', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + default_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + ip_version: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + max_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + min_prefix_length: pulumi.Input[Optional[_builtins.int]] = None, + nameservers: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + network_range_id: pulumi.Input[Optional[_builtins.str]] = None, + prefix: 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['VpcNetworkRangeTimeoutsArgs', 'VpcNetworkRangeTimeoutsArgsDict']]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'VpcNetworkRange': + """ + Get an existing VpcNetworkRange 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.int] default_prefix_length: Default prefix length for the VPC network range + :param pulumi.Input[_builtins.str] description: Description of the VPC network range + :param pulumi.Input[_builtins.str] ip_version: IP version of the VPC network range. Possible values are: `ipv4`. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.int] max_prefix_length: Maximum prefix length for the VPC network range + :param pulumi.Input[_builtins.int] min_prefix_length: Minimum prefix length for the VPC network range + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] nameservers: List of nameservers for the VPC network range + :param pulumi.Input[_builtins.str] prefix: The IP prefix for the VPC network range + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC network range is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC network range is associated. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcNetworkRangeState.__new__(_VpcNetworkRangeState) + + __props__.__dict__["default_prefix_length"] = default_prefix_length + __props__.__dict__["description"] = description + __props__.__dict__["ip_version"] = ip_version + __props__.__dict__["labels"] = labels + __props__.__dict__["max_prefix_length"] = max_prefix_length + __props__.__dict__["min_prefix_length"] = min_prefix_length + __props__.__dict__["nameservers"] = nameservers + __props__.__dict__["network_range_id"] = network_range_id + __props__.__dict__["prefix"] = prefix + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_id"] = vpc_id + return VpcNetworkRange(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> pulumi.Output[_builtins.int]: + """ + Default prefix length for the VPC network range + """ + return pulumi.get(self, "default_prefix_length") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[_builtins.str]: + """ + Description of the VPC network range + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="ipVersion") + def ip_version(self) -> pulumi.Output[_builtins.str]: + """ + IP version of the VPC network range. Possible values are: `ipv4`. + """ + return pulumi.get(self, "ip_version") + + @_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 a resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="maxPrefixLength") + def max_prefix_length(self) -> pulumi.Output[_builtins.int]: + """ + Maximum prefix length for the VPC network range + """ + return pulumi.get(self, "max_prefix_length") + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> pulumi.Output[_builtins.int]: + """ + Minimum prefix length for the VPC network range + """ + return pulumi.get(self, "min_prefix_length") + + @_builtins.property + @pulumi.getter + def nameservers(self) -> pulumi.Output[Sequence[_builtins.str]]: + """ + List of nameservers for the VPC network range + """ + return pulumi.get(self, "nameservers") + + @_builtins.property + @pulumi.getter(name="networkRangeId") + def network_range_id(self) -> pulumi.Output[_builtins.str]: + return pulumi.get(self, "network_range_id") + + @_builtins.property + @pulumi.getter + def prefix(self) -> pulumi.Output[_builtins.str]: + """ + The IP prefix for the VPC network range + """ + return pulumi.get(self, "prefix") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the VPC network range is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.VpcNetworkRangeTimeouts']]: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[_builtins.str]: + """ + The VPC ID to which the VPC network range is associated. + """ + return pulumi.get(self, "vpc_id") + diff --git a/sdk/python/pulumi_stackit/vpc_region.py b/sdk/python/pulumi_stackit/vpc_region.py new file mode 100644 index 0000000..b2736f6 --- /dev/null +++ b/sdk/python/pulumi_stackit/vpc_region.py @@ -0,0 +1,303 @@ +# 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__ = ['VpcRegionArgs', 'VpcRegion'] + +@pulumi.input_type +class VpcRegionArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + vpc_id: pulumi.Input[_builtins.str], + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['VpcRegionTimeoutsArgs']] = None): + """ + The set of arguments for constructing a VpcRegion resource. + + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC region is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC region is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "vpc_id", vpc_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(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the VPC region is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[_builtins.str]: + """ + The VPC ID to which the VPC region is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource region. 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['VpcRegionTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcRegionTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _VpcRegionState: + def __init__(__self__, *, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['VpcRegionTimeoutsArgs']] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering VpcRegion resources. + + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC region is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC region is associated. + """ + 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 vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID to which the VPC region 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 resource region. 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['VpcRegionTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcRegionTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The VPC ID to which the VPC region is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + +@pulumi.type_token("stackit:index/vpcRegion:VpcRegion") +class VpcRegion(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['VpcRegionTimeoutsArgs', 'VpcRegionTimeoutsArgsDict']]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + VPC region resource schema + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the VPC region is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC region is associated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcRegionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + VPC region resource schema + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param VpcRegionArgs 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(VpcRegionArgs, 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, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['VpcRegionTimeoutsArgs', 'VpcRegionTimeoutsArgsDict']]] = None, + vpc_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__ = VpcRegionArgs.__new__(VpcRegionArgs) + + 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 + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + super(VpcRegion, __self__).__init__( + 'stackit:index/vpcRegion:VpcRegion', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['VpcRegionTimeoutsArgs', 'VpcRegionTimeoutsArgsDict']]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'VpcRegion': + """ + Get an existing VpcRegion 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] project_id: STACKIT project ID to which the VPC region is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the VPC region is associated. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcRegionState.__new__(_VpcRegionState) + + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_id"] = vpc_id + return VpcRegion(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the VPC region is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.VpcRegionTimeouts']]: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[_builtins.str]: + """ + The VPC ID to which the VPC region is associated. + """ + return pulumi.get(self, "vpc_id") + diff --git a/sdk/python/pulumi_stackit/vpc_routing_table.py b/sdk/python/pulumi_stackit/vpc_routing_table.py new file mode 100644 index 0000000..235dda5 --- /dev/null +++ b/sdk/python/pulumi_stackit/vpc_routing_table.py @@ -0,0 +1,530 @@ +# 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__ = ['VpcRoutingTableArgs', 'VpcRoutingTable'] + +@pulumi.input_type +class VpcRoutingTableArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + vpc_id: pulumi.Input[_builtins.str], + description: pulumi.Input[Optional[_builtins.str]] = None, + dynamic_routes: pulumi.Input[Optional[_builtins.bool]] = 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, + system_routes: pulumi.Input[Optional[_builtins.bool]] = None): + """ + The set of arguments for constructing a VpcRoutingTable resource. + + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the regional routing table is associated. + :param pulumi.Input[_builtins.str] vpc_id: The vpc ID to which the regional routing table is associated. + :param pulumi.Input[_builtins.str] description: Description of the regional routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this regional routing table + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the regional routing table. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.bool] system_routes: This allows installation of automatic system routes for connectivity between projects in the same VPC. + """ + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "vpc_id", vpc_id) + if description is not None: + pulumi.set(__self__, "description", description) + if dynamic_routes is not None: + pulumi.set(__self__, "dynamic_routes", dynamic_routes) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + if system_routes is not None: + pulumi.set(__self__, "system_routes", system_routes) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the regional routing table is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[_builtins.str]: + """ + The vpc ID to which the regional routing table is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "vpc_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Description of the regional routing table. + """ + 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="dynamicRoutes") + def dynamic_routes(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + This controls whether dynamic routes are propagated to this regional routing table + """ + return pulumi.get(self, "dynamic_routes") + + @dynamic_routes.setter + def dynamic_routes(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "dynamic_routes", 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 a resource container + """ + 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]]: + """ + The name of the regional routing table. + """ + 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 resource region. 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="systemRoutes") + def system_routes(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + This allows installation of automatic system routes for connectivity between projects in the same VPC. + """ + return pulumi.get(self, "system_routes") + + @system_routes.setter + def system_routes(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "system_routes", value) + + +@pulumi.input_type +class _VpcRoutingTableState: + def __init__(__self__, *, + description: pulumi.Input[Optional[_builtins.str]] = None, + dynamic_routes: pulumi.Input[Optional[_builtins.bool]] = 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, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + system_routes: pulumi.Input[Optional[_builtins.bool]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering VpcRoutingTable resources. + + :param pulumi.Input[_builtins.str] description: Description of the regional routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this regional routing table + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the regional routing table. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the regional routing table is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] routing_table_id: The regional routing tables ID. + :param pulumi.Input[_builtins.bool] system_routes: This allows installation of automatic system routes for connectivity between projects in the same VPC. + :param pulumi.Input[_builtins.str] vpc_id: The vpc ID to which the regional routing table is associated. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if dynamic_routes is not None: + pulumi.set(__self__, "dynamic_routes", dynamic_routes) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if routing_table_id is not None: + pulumi.set(__self__, "routing_table_id", routing_table_id) + if system_routes is not None: + pulumi.set(__self__, "system_routes", system_routes) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Description of the regional routing table. + """ + 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="dynamicRoutes") + def dynamic_routes(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + This controls whether dynamic routes are propagated to this regional routing table + """ + return pulumi.get(self, "dynamic_routes") + + @dynamic_routes.setter + def dynamic_routes(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "dynamic_routes", 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 a resource container + """ + 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]]: + """ + The name of the regional routing table. + """ + 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(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID to which the regional routing table 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 resource region. 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="routingTableId") + def routing_table_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The regional routing tables ID. + """ + return pulumi.get(self, "routing_table_id") + + @routing_table_id.setter + def routing_table_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "routing_table_id", value) + + @_builtins.property + @pulumi.getter(name="systemRoutes") + def system_routes(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + This allows installation of automatic system routes for connectivity between projects in the same VPC. + """ + return pulumi.get(self, "system_routes") + + @system_routes.setter + def system_routes(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "system_routes", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The vpc ID to which the regional routing table is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + +@pulumi.type_token("stackit:index/vpcRoutingTable:VpcRoutingTable") +class VpcRoutingTable(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + dynamic_routes: pulumi.Input[Optional[_builtins.bool]] = 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, + system_routes: pulumi.Input[Optional[_builtins.bool]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + VPC Regional routing table resource schema. Must have a `region` specified in the provider configuration. + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] description: Description of the regional routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this regional routing table + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the regional routing table. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the regional routing table is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.bool] system_routes: This allows installation of automatic system routes for connectivity between projects in the same VPC. + :param pulumi.Input[_builtins.str] vpc_id: The vpc ID to which the regional routing table is associated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcRoutingTableArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + VPC Regional routing table resource schema. Must have a `region` specified in the provider configuration. + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param VpcRoutingTableArgs 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(VpcRoutingTableArgs, 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, + dynamic_routes: pulumi.Input[Optional[_builtins.bool]] = 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, + system_routes: pulumi.Input[Optional[_builtins.bool]] = None, + vpc_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__ = VpcRoutingTableArgs.__new__(VpcRoutingTableArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["dynamic_routes"] = dynamic_routes + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["system_routes"] = system_routes + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["routing_table_id"] = None + super(VpcRoutingTable, __self__).__init__( + 'stackit:index/vpcRoutingTable:VpcRoutingTable', + 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, + dynamic_routes: pulumi.Input[Optional[_builtins.bool]] = 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, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + system_routes: pulumi.Input[Optional[_builtins.bool]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'VpcRoutingTable': + """ + Get an existing VpcRoutingTable 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: Description of the regional routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this regional routing table + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] name: The name of the regional routing table. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the regional routing table is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] routing_table_id: The regional routing tables ID. + :param pulumi.Input[_builtins.bool] system_routes: This allows installation of automatic system routes for connectivity between projects in the same VPC. + :param pulumi.Input[_builtins.str] vpc_id: The vpc ID to which the regional routing table is associated. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcRoutingTableState.__new__(_VpcRoutingTableState) + + __props__.__dict__["description"] = description + __props__.__dict__["dynamic_routes"] = dynamic_routes + __props__.__dict__["labels"] = labels + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["routing_table_id"] = routing_table_id + __props__.__dict__["system_routes"] = system_routes + __props__.__dict__["vpc_id"] = vpc_id + return VpcRoutingTable(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[_builtins.str]: + """ + Description of the regional routing table. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> pulumi.Output[_builtins.bool]: + """ + This controls whether dynamic routes are propagated to this regional routing table + """ + return pulumi.get(self, "dynamic_routes") + + @_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 a resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + The name of the regional routing table. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the regional routing table is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="routingTableId") + def routing_table_id(self) -> pulumi.Output[_builtins.str]: + """ + The regional routing tables ID. + """ + return pulumi.get(self, "routing_table_id") + + @_builtins.property + @pulumi.getter(name="systemRoutes") + def system_routes(self) -> pulumi.Output[_builtins.bool]: + """ + This allows installation of automatic system routes for connectivity between projects in the same VPC. + """ + return pulumi.get(self, "system_routes") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[_builtins.str]: + """ + The vpc ID to which the regional routing table is associated. + """ + return pulumi.get(self, "vpc_id") + diff --git a/sdk/python/pulumi_stackit/vpc_routing_table_static_route.py b/sdk/python/pulumi_stackit/vpc_routing_table_static_route.py new file mode 100644 index 0000000..df52a7a --- /dev/null +++ b/sdk/python/pulumi_stackit/vpc_routing_table_static_route.py @@ -0,0 +1,522 @@ +# 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__ = ['VpcRoutingTableStaticRouteArgs', 'VpcRoutingTableStaticRoute'] + +@pulumi.input_type +class VpcRoutingTableStaticRouteArgs: + def __init__(__self__, *, + destination: pulumi.Input['VpcRoutingTableStaticRouteDestinationArgs'], + nexthop: pulumi.Input['VpcRoutingTableStaticRouteNexthopArgs'], + project_id: pulumi.Input[_builtins.str], + routing_table_id: pulumi.Input[_builtins.str], + vpc_id: pulumi.Input[_builtins.str], + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['VpcRoutingTableStaticRouteTimeoutsArgs']] = None): + """ + The set of arguments for constructing a VpcRoutingTableStaticRoute resource. + + :param pulumi.Input['VpcRoutingTableStaticRouteDestinationArgs'] destination: The destination of the static route. + :param pulumi.Input['VpcRoutingTableStaticRouteNexthopArgs'] nexthop: The nexthop of the static route. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the static route is associated. + :param pulumi.Input[_builtins.str] routing_table_id: The routing table ID to which the static route is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the static route is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[_builtins.str] region: The region of the static route. + """ + pulumi.set(__self__, "destination", destination) + pulumi.set(__self__, "nexthop", nexthop) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "routing_table_id", routing_table_id) + pulumi.set(__self__, "vpc_id", vpc_id) + if labels is not None: + pulumi.set(__self__, "labels", labels) + 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 destination(self) -> pulumi.Input['VpcRoutingTableStaticRouteDestinationArgs']: + """ + The destination of the static route. + """ + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: pulumi.Input['VpcRoutingTableStaticRouteDestinationArgs']): + pulumi.set(self, "destination", value) + + @_builtins.property + @pulumi.getter + def nexthop(self) -> pulumi.Input['VpcRoutingTableStaticRouteNexthopArgs']: + """ + The nexthop of the static route. + """ + return pulumi.get(self, "nexthop") + + @nexthop.setter + def nexthop(self, value: pulumi.Input['VpcRoutingTableStaticRouteNexthopArgs']): + pulumi.set(self, "nexthop", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT Project ID to which the static route is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="routingTableId") + def routing_table_id(self) -> pulumi.Input[_builtins.str]: + """ + The routing table ID to which the static route is associated. + """ + return pulumi.get(self, "routing_table_id") + + @routing_table_id.setter + def routing_table_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "routing_table_id", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[_builtins.str]: + """ + The VPC ID to which the static route is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "vpc_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 a resource container + """ + 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]]: + """ + The region of the static route. + """ + 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['VpcRoutingTableStaticRouteTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcRoutingTableStaticRouteTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _VpcRoutingTableStaticRouteState: + def __init__(__self__, *, + destination: pulumi.Input[Optional['VpcRoutingTableStaticRouteDestinationArgs']] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + nexthop: pulumi.Input[Optional['VpcRoutingTableStaticRouteNexthopArgs']] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + route_id: pulumi.Input[Optional[_builtins.str]] = None, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['VpcRoutingTableStaticRouteTimeoutsArgs']] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering VpcRoutingTableStaticRoute resources. + + :param pulumi.Input['VpcRoutingTableStaticRouteDestinationArgs'] destination: The destination of the static route. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input['VpcRoutingTableStaticRouteNexthopArgs'] nexthop: The nexthop of the static route. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the static route is associated. + :param pulumi.Input[_builtins.str] region: The region of the static route. + :param pulumi.Input[_builtins.str] route_id: The static route ID. + :param pulumi.Input[_builtins.str] routing_table_id: The routing table ID to which the static route is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the static route is associated. + """ + if destination is not None: + pulumi.set(__self__, "destination", destination) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if nexthop is not None: + pulumi.set(__self__, "nexthop", nexthop) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if route_id is not None: + pulumi.set(__self__, "route_id", route_id) + if routing_table_id is not None: + pulumi.set(__self__, "routing_table_id", routing_table_id) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if vpc_id is not None: + pulumi.set(__self__, "vpc_id", vpc_id) + + @_builtins.property + @pulumi.getter + def destination(self) -> pulumi.Input[Optional['VpcRoutingTableStaticRouteDestinationArgs']]: + """ + The destination of the static route. + """ + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: pulumi.Input[Optional['VpcRoutingTableStaticRouteDestinationArgs']]): + pulumi.set(self, "destination", 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 a resource container + """ + 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 nexthop(self) -> pulumi.Input[Optional['VpcRoutingTableStaticRouteNexthopArgs']]: + """ + The nexthop of the static route. + """ + return pulumi.get(self, "nexthop") + + @nexthop.setter + def nexthop(self, value: pulumi.Input[Optional['VpcRoutingTableStaticRouteNexthopArgs']]): + pulumi.set(self, "nexthop", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT Project ID to which the static route 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 region of the static route. + """ + 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="routeId") + def route_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The static route ID. + """ + return pulumi.get(self, "route_id") + + @route_id.setter + def route_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "route_id", value) + + @_builtins.property + @pulumi.getter(name="routingTableId") + def routing_table_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The routing table ID to which the static route is associated. + """ + return pulumi.get(self, "routing_table_id") + + @routing_table_id.setter + def routing_table_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "routing_table_id", value) + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Input[Optional['VpcRoutingTableStaticRouteTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['VpcRoutingTableStaticRouteTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The VPC ID to which the static route is associated. + """ + return pulumi.get(self, "vpc_id") + + @vpc_id.setter + def vpc_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpc_id", value) + + +@pulumi.type_token("stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute") +class VpcRoutingTableStaticRoute(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + destination: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteDestinationArgs', 'VpcRoutingTableStaticRouteDestinationArgsDict']]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + nexthop: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteNexthopArgs', 'VpcRoutingTableStaticRouteNexthopArgsDict']]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteTimeoutsArgs', 'VpcRoutingTableStaticRouteTimeoutsArgsDict']]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + VPC Routing table static route resource schema. Must have a `region` specified in the provider configuration. + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['VpcRoutingTableStaticRouteDestinationArgs', 'VpcRoutingTableStaticRouteDestinationArgsDict']] destination: The destination of the static route. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[Union['VpcRoutingTableStaticRouteNexthopArgs', 'VpcRoutingTableStaticRouteNexthopArgsDict']] nexthop: The nexthop of the static route. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the static route is associated. + :param pulumi.Input[_builtins.str] region: The region of the static route. + :param pulumi.Input[_builtins.str] routing_table_id: The routing table ID to which the static route is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the static route is associated. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpcRoutingTableStaticRouteArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + VPC Routing table static route resource schema. Must have a `region` specified in the provider configuration. + + > This resource is part of the experimental feature vpc and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + ## Import + + In Terraform v1.5.0 and later, the ` + " `" + `import` + "` " + ` block can be used with the ` + " `" + `id` + "` " + ` attribute, for example: + + + :param str resource_name: The name of the resource. + :param VpcRoutingTableStaticRouteArgs 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(VpcRoutingTableStaticRouteArgs, 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, + destination: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteDestinationArgs', 'VpcRoutingTableStaticRouteDestinationArgsDict']]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + nexthop: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteNexthopArgs', 'VpcRoutingTableStaticRouteNexthopArgsDict']]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteTimeoutsArgs', 'VpcRoutingTableStaticRouteTimeoutsArgsDict']]] = None, + vpc_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__ = VpcRoutingTableStaticRouteArgs.__new__(VpcRoutingTableStaticRouteArgs) + + if destination is None and not opts.urn: + raise TypeError("Missing required property 'destination'") + __props__.__dict__["destination"] = destination + __props__.__dict__["labels"] = labels + if nexthop is None and not opts.urn: + raise TypeError("Missing required property 'nexthop'") + __props__.__dict__["nexthop"] = nexthop + 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_table_id is None and not opts.urn: + raise TypeError("Missing required property 'routing_table_id'") + __props__.__dict__["routing_table_id"] = routing_table_id + __props__.__dict__["timeouts"] = timeouts + if vpc_id is None and not opts.urn: + raise TypeError("Missing required property 'vpc_id'") + __props__.__dict__["vpc_id"] = vpc_id + __props__.__dict__["route_id"] = None + super(VpcRoutingTableStaticRoute, __self__).__init__( + 'stackit:index/vpcRoutingTableStaticRoute:VpcRoutingTableStaticRoute', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + destination: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteDestinationArgs', 'VpcRoutingTableStaticRouteDestinationArgsDict']]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + nexthop: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteNexthopArgs', 'VpcRoutingTableStaticRouteNexthopArgsDict']]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + route_id: pulumi.Input[Optional[_builtins.str]] = None, + routing_table_id: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['VpcRoutingTableStaticRouteTimeoutsArgs', 'VpcRoutingTableStaticRouteTimeoutsArgsDict']]] = None, + vpc_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'VpcRoutingTableStaticRoute': + """ + Get an existing VpcRoutingTableStaticRoute 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['VpcRoutingTableStaticRouteDestinationArgs', 'VpcRoutingTableStaticRouteDestinationArgsDict']] destination: The destination of the static route. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container + :param pulumi.Input[Union['VpcRoutingTableStaticRouteNexthopArgs', 'VpcRoutingTableStaticRouteNexthopArgsDict']] nexthop: The nexthop of the static route. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the static route is associated. + :param pulumi.Input[_builtins.str] region: The region of the static route. + :param pulumi.Input[_builtins.str] route_id: The static route ID. + :param pulumi.Input[_builtins.str] routing_table_id: The routing table ID to which the static route is associated. + :param pulumi.Input[_builtins.str] vpc_id: The VPC ID to which the static route is associated. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpcRoutingTableStaticRouteState.__new__(_VpcRoutingTableStaticRouteState) + + __props__.__dict__["destination"] = destination + __props__.__dict__["labels"] = labels + __props__.__dict__["nexthop"] = nexthop + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["route_id"] = route_id + __props__.__dict__["routing_table_id"] = routing_table_id + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["vpc_id"] = vpc_id + return VpcRoutingTableStaticRoute(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def destination(self) -> pulumi.Output['outputs.VpcRoutingTableStaticRouteDestination']: + """ + The destination of the static route. + """ + return pulumi.get(self, "destination") + + @_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 a resource container + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def nexthop(self) -> pulumi.Output['outputs.VpcRoutingTableStaticRouteNexthop']: + """ + The nexthop of the static route. + """ + return pulumi.get(self, "nexthop") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT Project ID to which the static route is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The region of the static route. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="routeId") + def route_id(self) -> pulumi.Output[_builtins.str]: + """ + The static route ID. + """ + return pulumi.get(self, "route_id") + + @_builtins.property + @pulumi.getter(name="routingTableId") + def routing_table_id(self) -> pulumi.Output[_builtins.str]: + """ + The routing table ID to which the static route is associated. + """ + return pulumi.get(self, "routing_table_id") + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.VpcRoutingTableStaticRouteTimeouts']]: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="vpcId") + def vpc_id(self) -> pulumi.Output[_builtins.str]: + """ + The VPC ID to which the static route is associated. + """ + return pulumi.get(self, "vpc_id") +