diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
index ba563cac..a66dc30a 100644
--- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
+++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
@@ -28,6 +28,9 @@
"fields": {
"config": {
"fields": {
+ "blocked_countries": {
+ "maxItemsOne": false
+ },
"regions": {
"maxItemsOne": false
}
@@ -65,7 +68,12 @@
}
},
"stackit_git": {
- "current": "stackit:index/git:Git"
+ "current": "stackit:index/git:Git",
+ "fields": {
+ "acl": {
+ "maxItemsOne": false
+ }
+ }
},
"stackit_image": {
"current": "stackit:index/image:Image"
@@ -274,6 +282,9 @@
"fields": {
"group_by": {
"maxItemsOne": false
+ },
+ "matchers": {
+ "maxItemsOne": false
}
}
}
@@ -328,6 +339,9 @@
},
"tls_ciphers": {
"maxItemsOne": false
+ },
+ "tls_protocols": {
+ "maxItemsOne": false
}
}
}
@@ -416,9 +430,24 @@
}
}
},
+ "stackit_resourcemanager_folder": {
+ "current": "stackit:index/resourcemanagerFolder:ResourcemanagerFolder"
+ },
"stackit_resourcemanager_project": {
"current": "stackit:index/resourcemanagerProject:ResourcemanagerProject"
},
+ "stackit_routing_table": {
+ "current": "stackit:index/routingTable:RoutingTable"
+ },
+ "stackit_routing_table_route": {
+ "current": "stackit:index/routingTableRoute:RoutingTableRoute"
+ },
+ "stackit_scf_organization": {
+ "current": "stackit:index/scfOrganization:ScfOrganization"
+ },
+ "stackit_scf_organization_manager": {
+ "current": "stackit:index/scfOrganizationManager:ScfOrganizationManager"
+ },
"stackit_secretsmanager_instance": {
"current": "stackit:index/secretsmanagerInstance:SecretsmanagerInstance",
"fields": {
@@ -516,6 +545,9 @@
}
}
}
+ },
+ "pod_address_ranges": {
+ "maxItemsOne": false
}
}
},
@@ -564,6 +596,9 @@
"fields": {
"config": {
"fields": {
+ "blocked_countries": {
+ "maxItemsOne": false
+ },
"regions": {
"maxItemsOne": false
}
@@ -601,11 +636,22 @@
}
},
"stackit_git": {
- "current": "stackit:index/getGit:getGit"
+ "current": "stackit:index/getGit:getGit",
+ "fields": {
+ "acl": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "stackit_iaas_project": {
+ "current": "stackit:index/getIaasProject:getIaasProject"
},
"stackit_image": {
"current": "stackit:index/getImage:getImage"
},
+ "stackit_image_v2": {
+ "current": "stackit:index/getImageV2:getImageV2"
+ },
"stackit_key_pair": {
"current": "stackit:index/getKeyPair:getKeyPair"
},
@@ -665,6 +711,9 @@
}
}
},
+ "stackit_machine_type": {
+ "current": "stackit:index/getMachineType:getMachineType"
+ },
"stackit_mariadb_credential": {
"current": "stackit:index/getMariadbCredential:getMariadbCredential",
"fields": {
@@ -801,6 +850,9 @@
"fields": {
"group_by": {
"maxItemsOne": false
+ },
+ "matchers": {
+ "maxItemsOne": false
}
}
}
@@ -885,6 +937,9 @@
"stackit_public_ip_ranges": {
"current": "stackit:index/getPublicIpRanges:getPublicIpRanges",
"fields": {
+ "cidr_list": {
+ "maxItemsOne": false
+ },
"public_ip_ranges": {
"maxItemsOne": false
}
@@ -948,9 +1003,43 @@
}
}
},
+ "stackit_resourcemanager_folder": {
+ "current": "stackit:index/getResourcemanagerFolder:getResourcemanagerFolder"
+ },
"stackit_resourcemanager_project": {
"current": "stackit:index/getResourcemanagerProject:getResourcemanagerProject"
},
+ "stackit_routing_table": {
+ "current": "stackit:index/getRoutingTable:getRoutingTable"
+ },
+ "stackit_routing_table_route": {
+ "current": "stackit:index/getRoutingTableRoute:getRoutingTableRoute"
+ },
+ "stackit_routing_table_routes": {
+ "current": "stackit:index/getRoutingTableRoutes:getRoutingTableRoutes",
+ "fields": {
+ "routes": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "stackit_routing_tables": {
+ "current": "stackit:index/getRoutingTables:getRoutingTables",
+ "fields": {
+ "items": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "stackit_scf_organization": {
+ "current": "stackit:index/getScfOrganization:getScfOrganization"
+ },
+ "stackit_scf_organization_manager": {
+ "current": "stackit:index/getScfOrganizationManager:getScfOrganizationManager"
+ },
+ "stackit_scf_platform": {
+ "current": "stackit:index/getScfPlatform:getScfPlatform"
+ },
"stackit_secretsmanager_instance": {
"current": "stackit:index/getSecretsmanagerInstance:getSecretsmanagerInstance",
"fields": {
@@ -1060,6 +1149,9 @@
}
}
}
+ },
+ "pod_address_ranges": {
+ "maxItemsOne": false
}
}
},
diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json
index 22e01f2d..979d8d15 100644
--- a/provider/cmd/pulumi-resource-stackit/schema.json
+++ b/provider/cmd/pulumi-resource-stackit/schema.json
@@ -54,169 +54,206 @@
},
"config": {
"variables": {
- "argusCustomEndpoint": {
- "type": "string",
- "description": "Custom endpoint for the Argus service\n",
- "deprecationMessage": "Argus service has been deprecated and integration will be removed after February 26th 2025. Please use `observability_custom_endpoint` and `observability` resources instead, which offer the exact same functionality."
- },
"authorizationCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Membership service\n"
+ "description": "Custom endpoint for the Membership service"
},
"cdnCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the CDN service\n"
+ "description": "Custom endpoint for the CDN service"
},
"credentialsPath": {
"type": "string",
- "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default\nvalue is `~/.stackit/credentials.json`.\n"
+ "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`."
},
"defaultRegion": {
"type": "string",
- "description": "Region will be used as the default location for regional services. Not all services require a region, some are global\n"
+ "description": "Region will be used as the default location for regional services. Not all services require a region, some are global"
},
"dnsCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the DNS service\n"
+ "description": "Custom endpoint for the DNS service"
},
"enableBetaResources": {
"type": "boolean",
- "description": "Enable beta resources. Default is false.\n"
+ "description": "Enable beta resources. Default is false."
},
"experiments": {
"type": "array",
"items": {
"type": "string"
},
- "description": "Enables experiments. These are unstable features without official support. More information can be found in the README.\nAvailable Experiments: [iam]\n"
+ "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network"
},
"gitCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Git service\n"
+ "description": "Custom endpoint for the Git service"
},
"iaasCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the IaaS service\n"
+ "description": "Custom endpoint for the IaaS service"
},
"loadbalancerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Load Balancer service\n"
+ "description": "Custom endpoint for the Load Balancer service"
},
"logmeCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the LogMe service\n"
+ "description": "Custom endpoint for the LogMe service"
},
"mariadbCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the MariaDB service\n"
+ "description": "Custom endpoint for the MariaDB service"
},
"modelservingCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the AI Model Serving service\n"
+ "description": "Custom endpoint for the AI Model Serving service"
},
"mongodbflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the MongoDB Flex service\n"
+ "description": "Custom endpoint for the MongoDB Flex service"
},
"objectstorageCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Object Storage service\n"
+ "description": "Custom endpoint for the Object Storage service"
},
"observabilityCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Observability service\n"
+ "description": "Custom endpoint for the Observability service"
},
"opensearchCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the OpenSearch service\n"
+ "description": "Custom endpoint for the OpenSearch service"
},
"postgresflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the PostgresFlex service\n"
+ "description": "Custom endpoint for the PostgresFlex service"
},
"privateKey": {
"type": "string",
- "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is\nincluded in the service account key.\n"
+ "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key."
},
"privateKeyPath": {
"type": "string",
- "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private\nkey that is included in the service account key.\n"
+ "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key."
},
"rabbitmqCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the RabbitMQ service\n"
+ "description": "Custom endpoint for the RabbitMQ service"
},
"redisCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Redis service\n"
+ "description": "Custom endpoint for the Redis service"
},
"region": {
"type": "string",
- "description": "Region will be used as the default location for regional services. Not all services require a region, some are global\n",
+ "description": "Region will be used as the default location for regional services. Not all services require a region, some are global",
"deprecationMessage": "This attribute is deprecated. Use 'default_region' instead"
},
"resourcemanagerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Resource Manager service\n"
+ "description": "Custom endpoint for the Resource Manager service"
+ },
+ "scfCustomEndpoint": {
+ "type": "string",
+ "description": "Custom endpoint for the Cloud Foundry (SCF) service"
},
"secretsmanagerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Secrets Manager service\n"
+ "description": "Custom endpoint for the Secrets Manager service"
},
"serverBackupCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Server Backup service\n"
+ "description": "Custom endpoint for the Server Backup service"
},
"serverUpdateCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Server Update service\n"
+ "description": "Custom endpoint for the Server Update service"
},
"serviceAccountCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Service Account service\n"
+ "description": "Custom endpoint for the Service Account service"
},
"serviceAccountEmail": {
"type": "string",
- "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required\nif you want to use the resource manager project resource.\n",
+ "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required if you want to use the resource manager project resource.",
"deprecationMessage": "The `service_account_email` field has been deprecated because it is not required. Will be removed after June 12th 2025."
},
"serviceAccountKey": {
"type": "string",
- "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations.\n"
+ "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations."
},
"serviceAccountKeyPath": {
"type": "string",
- "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all\noperations.\n"
+ "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations."
},
"serviceAccountToken": {
"type": "string",
- "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.\n"
+ "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.",
+ "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html"
},
"serviceEnablementCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Service Enablement API\n"
+ "description": "Custom endpoint for the Service Enablement API"
},
"skeCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Kubernetes Engine (SKE) service\n"
+ "description": "Custom endpoint for the Kubernetes Engine (SKE) service"
},
"sqlserverflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the SQL Server Flex service\n"
+ "description": "Custom endpoint for the SQL Server Flex service"
},
"tokenCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow\n"
+ "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow"
}
}
},
"types": {
+ "stackit:index/CdnCustomDomainCertificate:CdnCustomDomainCertificate": {
+ "properties": {
+ "certificate": {
+ "type": "string",
+ "description": "The PEM-encoded TLS certificate. Required for custom certificates.\n",
+ "secret": true
+ },
+ "privateKey": {
+ "type": "string",
+ "description": "The PEM-encoded private key for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.\n",
+ "secret": true
+ },
+ "version": {
+ "type": "integer",
+ "description": "A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.\n"
+ }
+ },
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "version"
+ ]
+ }
+ }
+ },
"stackit:index/CdnDistributionConfig:CdnDistributionConfig": {
"properties": {
"backend": {
"$ref": "#/types/stackit:index/CdnDistributionConfigBackend:CdnDistributionConfigBackend",
"description": "The configured backend for the distribution\n"
},
+ "blockedCountries": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The configured countries where distribution of content is blocked\n"
+ },
+ "optimizer": {
+ "$ref": "#/types/stackit:index/CdnDistributionConfigOptimizer:CdnDistributionConfigOptimizer",
+ "description": "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.\n"
+ },
"regions": {
"type": "array",
"items": {
@@ -229,7 +266,16 @@
"required": [
"backend",
"regions"
- ]
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "backend",
+ "optimizer",
+ "regions"
+ ]
+ }
+ }
},
"stackit:index/CdnDistributionConfigBackend:CdnDistributionConfigBackend": {
"properties": {
@@ -255,6 +301,21 @@
"type"
]
},
+ "stackit:index/CdnDistributionConfigOptimizer:CdnDistributionConfigOptimizer": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "enabled"
+ ]
+ }
+ }
+ },
"stackit:index/CdnDistributionDomain:CdnDistributionDomain": {
"properties": {
"errors": {
@@ -977,7 +1038,7 @@
"properties": {
"global": {
"$ref": "#/types/stackit:index/ObservabilityInstanceAlertConfigGlobal:ObservabilityInstanceAlertConfigGlobal",
- "description": "Global configuration for the alerts.\n"
+ "description": "Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes.\n"
},
"receivers": {
"type": "array",
@@ -1094,7 +1155,8 @@
},
"authPassword": {
"type": "string",
- "description": "SMTP authentication password.\n"
+ "description": "SMTP authentication password.\n",
+ "secret": true
},
"authUsername": {
"type": "string",
@@ -1104,6 +1166,10 @@
"type": "string",
"description": "The sender email address. Must be a valid email address\n"
},
+ "sendResolved": {
+ "type": "boolean",
+ "description": "Whether to notify about resolved alerts.\n"
+ },
"smartHost": {
"type": "string",
"description": "The SMTP host through which emails are sent.\n"
@@ -1125,6 +1191,14 @@
"type": "string",
"description": "The host to send OpsGenie API requests to. Must be a valid URL\n"
},
+ "priority": {
+ "type": "string",
+ "description": "Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`.\n"
+ },
+ "sendResolved": {
+ "type": "boolean",
+ "description": "Whether to notify about resolved alerts.\n"
+ },
"tags": {
"type": "string",
"description": "Comma separated list of tags attached to the notifications.\n"
@@ -1134,16 +1208,33 @@
},
"stackit:index/ObservabilityInstanceAlertConfigReceiverWebhooksConfig:ObservabilityInstanceAlertConfigReceiverWebhooksConfig": {
"properties": {
+ "googleChat": {
+ "type": "boolean",
+ "description": "Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat.\n"
+ },
"msTeams": {
"type": "boolean",
"description": "Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.\n"
},
+ "sendResolved": {
+ "type": "boolean",
+ "description": "Whether to notify about resolved alerts.\n"
+ },
"url": {
"type": "string",
- "description": "The endpoint to send HTTP POST requests to. Must be a valid URL\n"
+ "description": "The endpoint to send HTTP POST requests to. Must be a valid URL\n",
+ "secret": true
}
},
- "type": "object"
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "googleChat",
+ "msTeams"
+ ]
+ }
+ }
},
"stackit:index/ObservabilityInstanceAlertConfigRoute:ObservabilityInstanceAlertConfigRoute": {
"properties": {
@@ -1162,20 +1253,6 @@
"type": "string",
"description": "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.)\n"
},
- "match": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "A set of equality matchers an alert has to fulfill to match the node.\n"
- },
- "matchRegex": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "A set of regex-matchers an alert has to fulfill to match the node.\n"
- },
"receiver": {
"type": "string",
"description": "The name of the receiver to route the alerts to.\n"
@@ -1209,6 +1286,10 @@
},
"stackit:index/ObservabilityInstanceAlertConfigRouteRoute:ObservabilityInstanceAlertConfigRouteRoute": {
"properties": {
+ "continue": {
+ "type": "boolean",
+ "description": "Whether an alert should continue matching subsequent sibling nodes.\n"
+ },
"groupBies": {
"type": "array",
"items": {
@@ -1229,14 +1310,23 @@
"additionalProperties": {
"type": "string"
},
- "description": "A set of equality matchers an alert has to fulfill to match the node.\n"
+ "description": "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\n",
+ "deprecationMessage": "Use `matchers` in the `routes` instead."
},
"matchRegex": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "A set of regex-matchers an alert has to fulfill to match the node.\n"
+ "description": "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\n",
+ "deprecationMessage": "Use `matchers` in the `routes` instead."
+ },
+ "matchers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "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.\n"
},
"receiver": {
"type": "string",
@@ -1417,7 +1507,10 @@
"description": "List of TLS ciphers to use.\n"
},
"tlsProtocols": {
- "type": "string",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
"description": "The TLS protocol to use.\n"
}
},
@@ -1704,6 +1797,39 @@
}
}
},
+ "stackit:index/RoutingTableRouteDestination:RoutingTableRouteDestination": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage.\n"
+ },
+ "value": {
+ "type": "string",
+ "description": "An CIDR string.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "type",
+ "value"
+ ]
+ },
+ "stackit:index/RoutingTableRouteNextHop:RoutingTableRouteNextHop": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `cidrv4` is supported during experimental stage..\n"
+ },
+ "value": {
+ "type": "string",
+ "description": "Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "type"
+ ]
+ },
"stackit:index/SecurityGroupRuleIcmpParameters:SecurityGroupRuleIcmpParameters": {
"properties": {
"code": {
@@ -1831,11 +1957,16 @@
},
"argus": {
"$ref": "#/types/stackit:index/SkeClusterExtensionsArgus:SkeClusterExtensionsArgus",
- "description": "A single argus block as defined below.\n"
+ "description": "A single argus block as defined below. This field is deprecated and will be removed 06 January 2026.\n",
+ "deprecationMessage": "Use observability instead."
},
"dns": {
"$ref": "#/types/stackit:index/SkeClusterExtensionsDns:SkeClusterExtensionsDns",
"description": "DNS extension configuration\n"
+ },
+ "observability": {
+ "$ref": "#/types/stackit:index/SkeClusterExtensionsObservability:SkeClusterExtensionsObservability",
+ "description": "A single observability block as defined below.\n"
}
},
"type": "object"
@@ -1903,6 +2034,22 @@
}
}
},
+ "stackit:index/SkeClusterExtensionsObservability:SkeClusterExtensionsObservability": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Flag to enable/disable Observability extensions.\n"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "enabled"
+ ]
+ },
"stackit:index/SkeClusterHibernation:SkeClusterHibernation": {
"properties": {
"end": {
@@ -2203,12 +2350,40 @@
"type"
]
},
+ "stackit:index/getCdnCustomDomainCertificate:getCdnCustomDomainCertificate": {
+ "properties": {
+ "version": {
+ "type": "integer",
+ "description": "A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "version"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"stackit:index/getCdnDistributionConfig:getCdnDistributionConfig": {
"properties": {
"backend": {
"$ref": "#/types/stackit:index/getCdnDistributionConfigBackend:getCdnDistributionConfigBackend",
"description": "The configured backend for the distribution\n"
},
+ "blockedCountries": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The configured countries where distribution of content is blocked\n"
+ },
+ "optimizer": {
+ "$ref": "#/types/stackit:index/getCdnDistributionConfigOptimizer:getCdnDistributionConfigOptimizer",
+ "description": "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.\n"
+ },
"regions": {
"type": "array",
"items": {
@@ -2220,6 +2395,7 @@
"type": "object",
"required": [
"backend",
+ "optimizer",
"regions"
],
"language": {
@@ -2258,6 +2434,22 @@
}
}
},
+ "stackit:index/getCdnDistributionConfigOptimizer:getCdnDistributionConfigOptimizer": {
+ "properties": {
+ "enabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object",
+ "required": [
+ "enabled"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"stackit:index/getCdnDistributionDomain:getCdnDistributionDomain": {
"properties": {
"errors": {
@@ -2392,37 +2584,21 @@
}
}
},
- "stackit:index/getLoadbalancerListener:getLoadbalancerListener": {
+ "stackit:index/getImageV2Checksum:getImageV2Checksum": {
"properties": {
- "displayName": {
- "type": "string"
- },
- "port": {
- "type": "integer",
- "description": "Port number where we listen for traffic.\n"
- },
- "protocol": {
+ "algorithm": {
"type": "string",
- "description": "Protocol is the highest network protocol we understand to load balance.\n"
- },
- "serverNameIndicators": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/getLoadbalancerListenerServerNameIndicator:getLoadbalancerListenerServerNameIndicator"
- },
- "description": "A list of domain names to match in order to pass TLS traffic to the target pool in the current listener\n"
+ "description": "Algorithm for the checksum of the image data.\n"
},
- "targetPool": {
+ "digest": {
"type": "string",
- "description": "Reference target pool by target pool name.\n"
+ "description": "Hexdigest of the checksum of the image data.\n"
}
},
"type": "object",
"required": [
- "displayName",
- "port",
- "protocol",
- "targetPool"
+ "algorithm",
+ "digest"
],
"language": {
"nodejs": {
@@ -2430,53 +2606,193 @@
}
}
},
- "stackit:index/getLoadbalancerListenerServerNameIndicator:getLoadbalancerListenerServerNameIndicator": {
+ "stackit:index/getImageV2Config:getImageV2Config": {
"properties": {
- "name": {
+ "bootMenu": {
+ "type": "boolean",
+ "description": "Enables the BIOS bootmenu.\n"
+ },
+ "cdromBus": {
"type": "string",
- "description": "A domain name to match in order to pass TLS traffic to the target pool in the current listener\n"
- }
- },
- "type": "object"
- },
- "stackit:index/getLoadbalancerNetwork:getLoadbalancerNetwork": {
- "properties": {
- "networkId": {
+ "description": "Sets CDROM bus controller type.\n"
+ },
+ "diskBus": {
"type": "string",
- "description": "Openstack network ID.\n"
+ "description": "Sets Disk bus controller type.\n"
},
- "role": {
+ "nicModel": {
"type": "string",
- "description": "The role defines how the load balancer is using the network.\n"
- }
- },
- "type": "object",
- "required": [
- "networkId",
- "role"
- ],
- "language": {
- "nodejs": {
- "requiredInputs": []
- }
- }
- },
- "stackit:index/getLoadbalancerOptions:getLoadbalancerOptions": {
- "properties": {
- "acls": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Load Balancer is accessible only from an IP address in this range.\n"
+ "description": "Sets virtual network interface model.\n"
},
- "observability": {
- "$ref": "#/types/stackit:index/getLoadbalancerOptionsObservability:getLoadbalancerOptionsObservability",
- "description": "We offer Load Balancer metrics observability via ARGUS or external solutions.\n"
+ "operatingSystem": {
+ "type": "string",
+ "description": "Enables operating system specific optimizations.\n"
},
- "privateNetworkOnly": {
- "type": "boolean",
- "description": "If true, Load Balancer is accessible only via a private network IP address.\n"
+ "operatingSystemDistro": {
+ "type": "string",
+ "description": "Operating system distribution.\n"
+ },
+ "operatingSystemVersion": {
+ "type": "string",
+ "description": "Version of the operating system.\n"
+ },
+ "rescueBus": {
+ "type": "string",
+ "description": "Sets the device bus when the image is used as a rescue image.\n"
+ },
+ "rescueDevice": {
+ "type": "string",
+ "description": "Sets the device when the image is used as a rescue image.\n"
+ },
+ "secureBoot": {
+ "type": "boolean",
+ "description": "Enables Secure Boot.\n"
+ },
+ "uefi": {
+ "type": "boolean",
+ "description": "Enables UEFI boot.\n"
+ },
+ "videoModel": {
+ "type": "string",
+ "description": "Sets Graphic device model.\n"
+ },
+ "virtioScsi": {
+ "type": "boolean",
+ "description": "Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "bootMenu",
+ "cdromBus",
+ "diskBus",
+ "nicModel",
+ "operatingSystem",
+ "operatingSystemDistro",
+ "operatingSystemVersion",
+ "rescueBus",
+ "rescueDevice",
+ "secureBoot",
+ "uefi",
+ "videoModel",
+ "virtioScsi"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getImageV2Filter:getImageV2Filter": {
+ "properties": {
+ "distro": {
+ "type": "string",
+ "description": "Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc.\n"
+ },
+ "os": {
+ "type": "string",
+ "description": "Filter images by operating system type, such as `linux` or `windows`.\n"
+ },
+ "secureBoot": {
+ "type": "boolean",
+ "description": "Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot.\n"
+ },
+ "uefi": {
+ "type": "boolean",
+ "description": "Filter images based on UEFI support. Set to `true` to match images that support UEFI.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`.\n"
+ }
+ },
+ "type": "object"
+ },
+ "stackit:index/getLoadbalancerListener:getLoadbalancerListener": {
+ "properties": {
+ "displayName": {
+ "type": "string"
+ },
+ "port": {
+ "type": "integer",
+ "description": "Port number where we listen for traffic.\n"
+ },
+ "protocol": {
+ "type": "string",
+ "description": "Protocol is the highest network protocol we understand to load balance.\n"
+ },
+ "serverNameIndicators": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getLoadbalancerListenerServerNameIndicator:getLoadbalancerListenerServerNameIndicator"
+ },
+ "description": "A list of domain names to match in order to pass TLS traffic to the target pool in the current listener\n"
+ },
+ "targetPool": {
+ "type": "string",
+ "description": "Reference target pool by target pool name.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "displayName",
+ "port",
+ "protocol",
+ "targetPool"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getLoadbalancerListenerServerNameIndicator:getLoadbalancerListenerServerNameIndicator": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A domain name to match in order to pass TLS traffic to the target pool in the current listener\n"
+ }
+ },
+ "type": "object"
+ },
+ "stackit:index/getLoadbalancerNetwork:getLoadbalancerNetwork": {
+ "properties": {
+ "networkId": {
+ "type": "string",
+ "description": "Openstack network ID.\n"
+ },
+ "role": {
+ "type": "string",
+ "description": "The role defines how the load balancer is using the network.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "networkId",
+ "role"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getLoadbalancerOptions:getLoadbalancerOptions": {
+ "properties": {
+ "acls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Load Balancer is accessible only from an IP address in this range.\n"
+ },
+ "observability": {
+ "$ref": "#/types/stackit:index/getLoadbalancerOptionsObservability:getLoadbalancerOptionsObservability",
+ "description": "We offer Load Balancer metrics observability via ARGUS or external solutions.\n"
+ },
+ "privateNetworkOnly": {
+ "type": "boolean",
+ "description": "If true, Load Balancer is accessible only via a private network IP address.\n"
}
},
"type": "object",
@@ -3124,7 +3440,8 @@
},
"authPassword": {
"type": "string",
- "description": "SMTP authentication password.\n"
+ "description": "SMTP authentication password.\n",
+ "secret": true
},
"authUsername": {
"type": "string",
@@ -3134,6 +3451,10 @@
"type": "string",
"description": "The sender email address. Must be a valid email address\n"
},
+ "sendResolved": {
+ "type": "boolean",
+ "description": "Whether to notify about resolved alerts.\n"
+ },
"smartHost": {
"type": "string",
"description": "The SMTP host through which emails are sent.\n"
@@ -3149,6 +3470,7 @@
"authPassword",
"authUsername",
"from",
+ "sendResolved",
"smartHost",
"to"
],
@@ -3168,6 +3490,14 @@
"type": "string",
"description": "The host to send OpsGenie API requests to. Must be a valid URL\n"
},
+ "priority": {
+ "type": "string",
+ "description": "Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`.\n"
+ },
+ "sendResolved": {
+ "type": "boolean",
+ "description": "Whether to notify about resolved alerts.\n"
+ },
"tags": {
"type": "string",
"description": "Comma separated list of tags attached to the notifications.\n"
@@ -3177,6 +3507,8 @@
"required": [
"apiKey",
"apiUrl",
+ "priority",
+ "sendResolved",
"tags"
],
"language": {
@@ -3187,18 +3519,29 @@
},
"stackit:index/getObservabilityInstanceAlertConfigReceiverWebhooksConfig:getObservabilityInstanceAlertConfigReceiverWebhooksConfig": {
"properties": {
+ "googleChat": {
+ "type": "boolean",
+ "description": "Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat.\n"
+ },
"msTeams": {
"type": "boolean",
"description": "Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.\n"
},
+ "sendResolved": {
+ "type": "boolean",
+ "description": "Whether to notify about resolved alerts.\n"
+ },
"url": {
"type": "string",
- "description": "The endpoint to send HTTP POST requests to. Must be a valid URL\n"
+ "description": "The endpoint to send HTTP POST requests to. Must be a valid URL\n",
+ "secret": true
}
},
"type": "object",
"required": [
+ "googleChat",
"msTeams",
+ "sendResolved",
"url"
],
"language": {
@@ -3224,20 +3567,6 @@
"type": "string",
"description": "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.) .\n"
},
- "match": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "A set of equality matchers an alert has to fulfill to match the node.\n"
- },
- "matchRegex": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "A set of regex-matchers an alert has to fulfill to match the node.\n"
- },
"receiver": {
"type": "string",
"description": "The name of the receiver to route the alerts to.\n"
@@ -3259,8 +3588,6 @@
"groupBies",
"groupInterval",
"groupWait",
- "match",
- "matchRegex",
"receiver",
"repeatInterval",
"routes"
@@ -3273,6 +3600,10 @@
},
"stackit:index/getObservabilityInstanceAlertConfigRouteRoute:getObservabilityInstanceAlertConfigRouteRoute": {
"properties": {
+ "continue": {
+ "type": "boolean",
+ "description": "Whether an alert should continue matching subsequent sibling nodes.\n"
+ },
"groupBies": {
"type": "array",
"items": {
@@ -3293,14 +3624,23 @@
"additionalProperties": {
"type": "string"
},
- "description": "A set of equality matchers an alert has to fulfill to match the node.\n"
+ "description": "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\n",
+ "deprecationMessage": "Use `matchers` in the `routes` instead."
},
"matchRegex": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "A set of regex-matchers an alert has to fulfill to match the node.\n"
+ "description": "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\n",
+ "deprecationMessage": "Use `matchers` in the `routes` instead."
+ },
+ "matchers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "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.\n"
},
"receiver": {
"type": "string",
@@ -3313,11 +3653,13 @@
},
"type": "object",
"required": [
+ "continue",
"groupBies",
"groupInterval",
"groupWait",
"match",
"matchRegex",
+ "matchers",
"receiver",
"repeatInterval"
],
@@ -3811,21 +4153,21 @@
}
}
},
- "stackit:index/getSecurityGroupRuleIcmpParameters:getSecurityGroupRuleIcmpParameters": {
+ "stackit:index/getRoutingTableRouteDestination:getRoutingTableRouteDestination": {
"properties": {
- "code": {
- "type": "integer",
- "description": "ICMP code. Can be set if the protocol is ICMP.\n"
- },
"type": {
- "type": "integer",
- "description": "ICMP type. Can be set if the protocol is ICMP.\n"
+ "type": "string",
+ "description": "CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage.\n"
+ },
+ "value": {
+ "type": "string",
+ "description": "An CIDR string.\n"
}
},
"type": "object",
"required": [
- "code",
- "type"
+ "type",
+ "value"
],
"language": {
"nodejs": {
@@ -3833,21 +4175,21 @@
}
}
},
- "stackit:index/getSecurityGroupRulePortRange:getSecurityGroupRulePortRange": {
+ "stackit:index/getRoutingTableRouteNextHop:getRoutingTableRouteNextHop": {
"properties": {
- "max": {
- "type": "integer",
- "description": "The maximum port number. Should be greater or equal to the minimum.\n"
+ "type": {
+ "type": "string",
+ "description": "Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `cidrv4` is supported during experimental stage..\n"
},
- "min": {
- "type": "integer",
- "description": "The minimum port number. Should be less or equal to the minimum.\n"
+ "value": {
+ "type": "string",
+ "description": "Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.\n"
}
},
"type": "object",
"required": [
- "max",
- "min"
+ "type",
+ "value"
],
"language": {
"nodejs": {
@@ -3855,21 +4197,44 @@
}
}
},
- "stackit:index/getSecurityGroupRuleProtocol:getSecurityGroupRuleProtocol": {
+ "stackit:index/getRoutingTableRoutesRoute:getRoutingTableRoutesRoute": {
"properties": {
- "name": {
+ "createdAt": {
"type": "string",
- "description": "The protocol name which the rule should match.\n"
+ "description": "Date-time when the route was created\n"
},
- "number": {
- "type": "integer",
- "description": "The protocol number which the rule should match.\n"
+ "destination": {
+ "$ref": "#/types/stackit:index/getRoutingTableRoutesRouteDestination:getRoutingTableRoutesRouteDestination",
+ "description": "Destination of the 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/getRoutingTableRoutesRouteNextHop:getRoutingTableRoutesRouteNextHop",
+ "description": "Next hop destination.\n"
+ },
+ "routeId": {
+ "type": "string",
+ "description": "Route ID.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the route was updated\n"
}
},
"type": "object",
"required": [
- "name",
- "number"
+ "createdAt",
+ "destination",
+ "labels",
+ "nextHop",
+ "routeId",
+ "updatedAt"
],
"language": {
"nodejs": {
@@ -3877,15 +4242,180 @@
}
}
},
- "stackit:index/getServerBackupScheduleBackupProperties:getServerBackupScheduleBackupProperties": {
+ "stackit:index/getRoutingTableRoutesRouteDestination:getRoutingTableRoutesRouteDestination": {
"properties": {
- "name": {
- "type": "string"
- },
- "retentionPeriod": {
- "type": "integer"
+ "type": {
+ "type": "string",
+ "description": "CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage.\n"
},
- "volumeIds": {
+ "value": {
+ "type": "string",
+ "description": "An CIDR string.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "type",
+ "value"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getRoutingTableRoutesRouteNextHop:getRoutingTableRoutesRouteNextHop": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `cidrv4` is supported during experimental stage..\n"
+ },
+ "value": {
+ "type": "string",
+ "description": "Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "type",
+ "value"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getRoutingTablesItem:getRoutingTablesItem": {
+ "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"
+ },
+ "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 routing table.\n"
+ },
+ "routingTableId": {
+ "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"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the routing table was updated\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "createdAt",
+ "default",
+ "description",
+ "labels",
+ "name",
+ "routingTableId",
+ "systemRoutes",
+ "updatedAt"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getSecurityGroupRuleIcmpParameters:getSecurityGroupRuleIcmpParameters": {
+ "properties": {
+ "code": {
+ "type": "integer",
+ "description": "ICMP code. Can be set if the protocol is ICMP.\n"
+ },
+ "type": {
+ "type": "integer",
+ "description": "ICMP type. Can be set if the protocol is ICMP.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "code",
+ "type"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getSecurityGroupRulePortRange:getSecurityGroupRulePortRange": {
+ "properties": {
+ "max": {
+ "type": "integer",
+ "description": "The maximum port number. Should be greater or equal to the minimum.\n"
+ },
+ "min": {
+ "type": "integer",
+ "description": "The minimum port number. Should be less or equal to the minimum.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "max",
+ "min"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getSecurityGroupRuleProtocol:getSecurityGroupRuleProtocol": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The protocol name which the rule should match.\n"
+ },
+ "number": {
+ "type": "integer",
+ "description": "The protocol number which the rule should match.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "number"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getServerBackupScheduleBackupProperties:getServerBackupScheduleBackupProperties": {
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "retentionPeriod": {
+ "type": "integer"
+ },
+ "volumeIds": {
"type": "array",
"items": {
"type": "string"
@@ -4033,18 +4563,24 @@
},
"argus": {
"$ref": "#/types/stackit:index/getSkeClusterExtensionsArgus:getSkeClusterExtensionsArgus",
- "description": "A single argus block as defined below\n"
+ "description": "A single argus block as defined below. This field is deprecated and will be removed 06 January 2026.\n",
+ "deprecationMessage": "Use observability instead."
},
"dns": {
"$ref": "#/types/stackit:index/getSkeClusterExtensionsDns:getSkeClusterExtensionsDns",
"description": "DNS extension configuration\n"
+ },
+ "observability": {
+ "$ref": "#/types/stackit:index/getSkeClusterExtensionsObservability:getSkeClusterExtensionsObservability",
+ "description": "A single observability block as defined below.\n"
}
},
"type": "object",
"required": [
"acl",
"argus",
- "dns"
+ "dns",
+ "observability"
],
"language": {
"nodejs": {
@@ -4124,6 +4660,28 @@
}
}
},
+ "stackit:index/getSkeClusterExtensionsObservability:getSkeClusterExtensionsObservability": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Flag to enable/disable Observability extensions.\n"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "enabled",
+ "instanceId"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"stackit:index/getSkeClusterHibernation:getSkeClusterHibernation": {
"properties": {
"end": {
@@ -4427,315 +4985,315 @@
"provider": {
"description": "The provider type for the stackit package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
"properties": {
- "argusCustomEndpoint": {
- "type": "string",
- "description": "Custom endpoint for the Argus service\n",
- "deprecationMessage": "Argus service has been deprecated and integration will be removed after February 26th 2025. Please use `observability_custom_endpoint` and `observability` resources instead, which offer the exact same functionality."
- },
"authorizationCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Membership service\n"
+ "description": "Custom endpoint for the Membership service"
},
"cdnCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the CDN service\n"
+ "description": "Custom endpoint for the CDN service"
},
"credentialsPath": {
"type": "string",
- "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default\nvalue is `~/.stackit/credentials.json`.\n"
+ "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`."
},
"defaultRegion": {
"type": "string",
- "description": "Region will be used as the default location for regional services. Not all services require a region, some are global\n"
+ "description": "Region will be used as the default location for regional services. Not all services require a region, some are global"
},
"dnsCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the DNS service\n"
+ "description": "Custom endpoint for the DNS service"
},
"enableBetaResources": {
"type": "boolean",
- "description": "Enable beta resources. Default is false.\n"
+ "description": "Enable beta resources. Default is false."
},
"experiments": {
"type": "array",
"items": {
"type": "string"
},
- "description": "Enables experiments. These are unstable features without official support. More information can be found in the README.\nAvailable Experiments: [iam]\n"
+ "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network"
},
"gitCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Git service\n"
+ "description": "Custom endpoint for the Git service"
},
"iaasCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the IaaS service\n"
+ "description": "Custom endpoint for the IaaS service"
},
"loadbalancerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Load Balancer service\n"
+ "description": "Custom endpoint for the Load Balancer service"
},
"logmeCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the LogMe service\n"
+ "description": "Custom endpoint for the LogMe service"
},
"mariadbCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the MariaDB service\n"
+ "description": "Custom endpoint for the MariaDB service"
},
"modelservingCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the AI Model Serving service\n"
+ "description": "Custom endpoint for the AI Model Serving service"
},
"mongodbflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the MongoDB Flex service\n"
+ "description": "Custom endpoint for the MongoDB Flex service"
},
"objectstorageCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Object Storage service\n"
+ "description": "Custom endpoint for the Object Storage service"
},
"observabilityCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Observability service\n"
+ "description": "Custom endpoint for the Observability service"
},
"opensearchCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the OpenSearch service\n"
+ "description": "Custom endpoint for the OpenSearch service"
},
"postgresflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the PostgresFlex service\n"
+ "description": "Custom endpoint for the PostgresFlex service"
},
"privateKey": {
"type": "string",
- "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is\nincluded in the service account key.\n"
+ "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key."
},
"privateKeyPath": {
"type": "string",
- "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private\nkey that is included in the service account key.\n"
+ "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key."
},
"rabbitmqCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the RabbitMQ service\n"
+ "description": "Custom endpoint for the RabbitMQ service"
},
"redisCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Redis service\n"
+ "description": "Custom endpoint for the Redis service"
},
"region": {
"type": "string",
- "description": "Region will be used as the default location for regional services. Not all services require a region, some are global\n",
+ "description": "Region will be used as the default location for regional services. Not all services require a region, some are global",
"deprecationMessage": "This attribute is deprecated. Use 'default_region' instead"
},
"resourcemanagerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Resource Manager service\n"
+ "description": "Custom endpoint for the Resource Manager service"
+ },
+ "scfCustomEndpoint": {
+ "type": "string",
+ "description": "Custom endpoint for the Cloud Foundry (SCF) service"
},
"secretsmanagerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Secrets Manager service\n"
+ "description": "Custom endpoint for the Secrets Manager service"
},
"serverBackupCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Server Backup service\n"
+ "description": "Custom endpoint for the Server Backup service"
},
"serverUpdateCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Server Update service\n"
+ "description": "Custom endpoint for the Server Update service"
},
"serviceAccountCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Service Account service\n"
+ "description": "Custom endpoint for the Service Account service"
},
"serviceAccountEmail": {
"type": "string",
- "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required\nif you want to use the resource manager project resource.\n",
+ "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required if you want to use the resource manager project resource.",
"deprecationMessage": "The `service_account_email` field has been deprecated because it is not required. Will be removed after June 12th 2025."
},
"serviceAccountKey": {
"type": "string",
- "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations.\n"
+ "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations."
},
"serviceAccountKeyPath": {
"type": "string",
- "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all\noperations.\n"
+ "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations."
},
"serviceAccountToken": {
"type": "string",
- "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.\n"
+ "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.",
+ "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html"
},
"serviceEnablementCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Service Enablement API\n"
+ "description": "Custom endpoint for the Service Enablement API"
},
"skeCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Kubernetes Engine (SKE) service\n"
+ "description": "Custom endpoint for the Kubernetes Engine (SKE) service"
},
"sqlserverflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the SQL Server Flex service\n"
+ "description": "Custom endpoint for the SQL Server Flex service"
},
"tokenCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow\n"
+ "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow"
}
},
"inputProperties": {
- "argusCustomEndpoint": {
- "type": "string",
- "description": "Custom endpoint for the Argus service\n",
- "deprecationMessage": "Argus service has been deprecated and integration will be removed after February 26th 2025. Please use `observability_custom_endpoint` and `observability` resources instead, which offer the exact same functionality."
- },
"authorizationCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Membership service\n"
+ "description": "Custom endpoint for the Membership service"
},
"cdnCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the CDN service\n"
+ "description": "Custom endpoint for the CDN service"
},
"credentialsPath": {
"type": "string",
- "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default\nvalue is `~/.stackit/credentials.json`.\n"
+ "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`."
},
"defaultRegion": {
"type": "string",
- "description": "Region will be used as the default location for regional services. Not all services require a region, some are global\n"
+ "description": "Region will be used as the default location for regional services. Not all services require a region, some are global"
},
"dnsCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the DNS service\n"
+ "description": "Custom endpoint for the DNS service"
},
"enableBetaResources": {
"type": "boolean",
- "description": "Enable beta resources. Default is false.\n"
+ "description": "Enable beta resources. Default is false."
},
"experiments": {
"type": "array",
"items": {
"type": "string"
},
- "description": "Enables experiments. These are unstable features without official support. More information can be found in the README.\nAvailable Experiments: [iam]\n"
+ "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network"
},
"gitCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Git service\n"
+ "description": "Custom endpoint for the Git service"
},
"iaasCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the IaaS service\n"
+ "description": "Custom endpoint for the IaaS service"
},
"loadbalancerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Load Balancer service\n"
+ "description": "Custom endpoint for the Load Balancer service"
},
"logmeCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the LogMe service\n"
+ "description": "Custom endpoint for the LogMe service"
},
"mariadbCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the MariaDB service\n"
+ "description": "Custom endpoint for the MariaDB service"
},
"modelservingCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the AI Model Serving service\n"
+ "description": "Custom endpoint for the AI Model Serving service"
},
"mongodbflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the MongoDB Flex service\n"
+ "description": "Custom endpoint for the MongoDB Flex service"
},
"objectstorageCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Object Storage service\n"
+ "description": "Custom endpoint for the Object Storage service"
},
"observabilityCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Observability service\n"
+ "description": "Custom endpoint for the Observability service"
},
"opensearchCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the OpenSearch service\n"
+ "description": "Custom endpoint for the OpenSearch service"
},
"postgresflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the PostgresFlex service\n"
+ "description": "Custom endpoint for the PostgresFlex service"
},
"privateKey": {
"type": "string",
- "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is\nincluded in the service account key.\n"
+ "description": "Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key."
},
"privateKeyPath": {
"type": "string",
- "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private\nkey that is included in the service account key.\n"
+ "description": "Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key."
},
"rabbitmqCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the RabbitMQ service\n"
+ "description": "Custom endpoint for the RabbitMQ service"
},
"redisCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Redis service\n"
+ "description": "Custom endpoint for the Redis service"
},
"region": {
"type": "string",
- "description": "Region will be used as the default location for regional services. Not all services require a region, some are global\n",
+ "description": "Region will be used as the default location for regional services. Not all services require a region, some are global",
"deprecationMessage": "This attribute is deprecated. Use 'default_region' instead"
},
"resourcemanagerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Resource Manager service\n"
+ "description": "Custom endpoint for the Resource Manager service"
+ },
+ "scfCustomEndpoint": {
+ "type": "string",
+ "description": "Custom endpoint for the Cloud Foundry (SCF) service"
},
"secretsmanagerCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Secrets Manager service\n"
+ "description": "Custom endpoint for the Secrets Manager service"
},
"serverBackupCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Server Backup service\n"
+ "description": "Custom endpoint for the Server Backup service"
},
"serverUpdateCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Server Update service\n"
+ "description": "Custom endpoint for the Server Update service"
},
"serviceAccountCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Service Account service\n"
+ "description": "Custom endpoint for the Service Account service"
},
"serviceAccountEmail": {
"type": "string",
- "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required\nif you want to use the resource manager project resource.\n",
+ "description": "Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required if you want to use the resource manager project resource.",
"deprecationMessage": "The `service_account_email` field has been deprecated because it is not required. Will be removed after June 12th 2025."
},
"serviceAccountKey": {
"type": "string",
- "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations.\n"
+ "description": "Service account key used for authentication. If set, the key flow will be used to authenticate all operations."
},
"serviceAccountKeyPath": {
"type": "string",
- "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all\noperations.\n"
+ "description": "Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations."
},
"serviceAccountToken": {
"type": "string",
- "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.\n"
+ "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.",
+ "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html"
},
"serviceEnablementCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Service Enablement API\n"
+ "description": "Custom endpoint for the Service Enablement API"
},
"skeCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the Kubernetes Engine (SKE) service\n"
+ "description": "Custom endpoint for the Kubernetes Engine (SKE) service"
},
"sqlserverflexCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the SQL Server Flex service\n"
+ "description": "Custom endpoint for the SQL Server Flex service"
},
"tokenCustomEndpoint": {
"type": "string",
- "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow\n"
+ "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow"
}
},
"methods": {
@@ -4744,7 +5302,7 @@
},
"resources": {
"stackit:index/affinityGroup:AffinityGroup": {
- "description": "Affinity Group schema. Must have a `region` specified in the provider configuration.\n\n\n\n## Example Usage\n\n```terraform\nresource \"stackit_affinity_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-affinity-group-name\"\n policy = \"hard-anti-affinity\"\n}\n```\n",
+ "description": "Affinity Group schema. Must have a `region` specified in the provider configuration.\n\n\n\n## Example Usage\n\n```terraform\nresource \"stackit_affinity_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-affinity-group-name\"\n policy = \"hard-anti-affinity\"\n}\n\n# Only use the import statement, if you want to import an existing affinity group\nimport {\n to = stackit_affinity_group.import-example\n id = \"${var.project_id},${var.affinity_group_id}\"\n}\n```\n",
"properties": {
"affinityGroupId": {
"type": "string",
@@ -4826,7 +5384,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",
+ "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# 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",
"properties": {
"resourceId": {
"type": "string",
@@ -4885,7 +5443,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_authorization_project_role_assignment\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@stackit.cloud\"\n}\n```\n",
+ "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_authorization_project_role_assignment\" \"example\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"owner\"\n subject = \"john.doe@stackit.cloud\"\n}\n\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",
"properties": {
"resourceId": {
"type": "string",
@@ -4944,8 +5502,12 @@
}
},
"stackit:index/cdnCustomDomain:CdnCustomDomain": {
- "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_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",
+ "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_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 certificate = {\n certificate = \"-----BEGIN CERTIFICATE-----\\nY2VydGlmaWNhdGVfZGF0YQ==\\n-----END CERTIFICATE---\"\n private_key = \"-----BEGIN RSA PRIVATE KEY-----\\nY2VydGlmaWNhdGVfZGF0YQ==\\n-----END RSA PRIVATE KEY---\"\n }\n}\n\n# Only use the import statement, if you want to import an existing cdn custom domain\nimport {\n to = stackit_cdn_custom_domain.import-example\n id = \"${var.project_id},${var.distribution_id},${var.custom_domain_name}\"\n}\n```\n",
"properties": {
+ "certificate": {
+ "$ref": "#/types/stackit:index/CdnCustomDomainCertificate:CdnCustomDomainCertificate",
+ "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"
@@ -4977,6 +5539,10 @@
"status"
],
"inputProperties": {
+ "certificate": {
+ "$ref": "#/types/stackit:index/CdnCustomDomainCertificate:CdnCustomDomainCertificate",
+ "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"
@@ -4996,6 +5562,10 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering CdnCustomDomain resources.\n",
"properties": {
+ "certificate": {
+ "$ref": "#/types/stackit:index/CdnCustomDomainCertificate:CdnCustomDomainCertificate",
+ "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"
@@ -5023,7 +5593,7 @@
}
},
"stackit:index/cdnDistribution:CdnDistribution": {
- "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_cdn_distribution\" \"example_distribution\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n config = {\n backend = {\n type = \"http\"\n origin_url = \"mybackend.onstackit.cloud\"\n }\n regions = [\"EU\", \"US\", \"ASIA\", \"AF\", \"SA\"]\n }\n}\n```\n",
+ "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_cdn_distribution\" \"example_distribution\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n config = {\n backend = {\n type = \"http\"\n origin_url = \"https://mybackend.onstackit.cloud\"\n }\n regions = [\"EU\", \"US\", \"ASIA\", \"AF\", \"SA\"]\n blocked_countries = [\"DE\", \"AT\", \"CH\"]\n\n optimizer = {\n enabled = true\n }\n }\n}\n\n# Only use the import statement, if you want to import an existing cdn distribution\nimport {\n to = stackit_cdn_distribution.import-example\n id = \"${var.project_id},${var.distribution_id}\"\n}\n```\n",
"properties": {
"config": {
"$ref": "#/types/stackit:index/CdnDistributionConfig:CdnDistributionConfig",
@@ -5134,7 +5704,7 @@
}
},
"stackit:index/dnsRecordSet:DnsRecordSet": {
- "description": "DNS Record Set Resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_dns_record_set\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n zone_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-record-set\"\n type = \"A\"\n comment = \"Example comment\"\n records = [\"1.2.3.4\"]\n}\n```\n",
+ "description": "DNS Record Set Resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_dns_record_set\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n zone_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-record-set\"\n type = \"A\"\n comment = \"Example comment\"\n records = [\"1.2.3.4\"]\n}\n\n# Only use the import statement, if you want to import an existing dns record set\nimport {\n to = stackit_dns_record_set.import-example\n id = \"${var.project_id},${var.zone_id},${var.record_set_id}\"\n}\n```\n",
"properties": {
"active": {
"type": "boolean",
@@ -5304,7 +5874,7 @@
}
},
"stackit:index/dnsZone:DnsZone": {
- "description": "DNS Zone resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_dns_zone\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"Example zone\"\n dns_name = \"example-zone.com\"\n contact_email = \"aa@bb.ccc\"\n type = \"primary\"\n acl = \"192.168.0.0/24\"\n description = \"Example description\"\n default_ttl = 1230\n}\n```\n",
+ "description": "DNS Zone resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_dns_zone\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"Example zone\"\n dns_name = \"example-zone.com\"\n contact_email = \"aa@bb.ccc\"\n type = \"primary\"\n acl = \"192.168.0.0/24\"\n description = \"Example description\"\n default_ttl = 1230\n}\n\n# Only use the import statement, if you want to import an existing dns zone\nimport {\n to = stackit_dns_zone.import-example\n id = \"${var.project_id},${var.zone_id}\"\n}\n```\n",
"properties": {
"acl": {
"type": "string",
@@ -5578,8 +6148,31 @@
}
},
"stackit:index/git:Git": {
- "description": "Git Instance resource schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"git-example-instance\"\n}\n```\n",
+ "description": "Git Instance resource schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. This resource currently does not support updates. Changing the ACLs, flavor, or name will trigger resource recreation. Update functionality will be added soon. In the meantime, please proceed with caution. To update these attributes, please open a support ticket.\n\n## Example Usage\n\n```terraform\nresource \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"git-example-instance\"\n}\n\nresource \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"git-example-instance\"\n acl = [\n \"0.0.0.0/0\"\n ]\n flavor = \"git-100\"\n}\n\n# Only use the import statement, if you want to import an existing git resource\nimport {\n to = stackit_git.import-example\n id = \"${var.project_id},${var.git_instance_id}\"\n}\n```\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": {
+ "type": "string",
+ "description": "Instance creation timestamp in RFC3339 format.\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"
+ },
"instanceId": {
"type": "string",
"description": "ID linked to the git instance.\n"
@@ -5602,6 +6195,11 @@
}
},
"required": [
+ "acls",
+ "consumedDisk",
+ "consumedObjectStorage",
+ "created",
+ "flavor",
"instanceId",
"name",
"projectId",
@@ -5609,6 +6207,17 @@
"version"
],
"inputProperties": {
+ "acls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Restricted ACL for instance access.\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"
+ },
"name": {
"type": "string",
"description": "Unique name linked to the git instance.\n"
@@ -5624,6 +6233,29 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering Git resources.\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": {
+ "type": "string",
+ "description": "Instance creation timestamp in RFC3339 format.\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"
+ },
"instanceId": {
"type": "string",
"description": "ID linked to the git instance.\n"
@@ -5649,7 +6281,7 @@
}
},
"stackit:index/image:Image": {
- "description": "Image resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_image\" \"example_image\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-image\"\n disk_format = \"qcow2\"\n local_file_path = \"./path/to/image.qcow2\"\n min_disk_size = 10\n min_ram = 5\n}\n```\n",
+ "description": "Image resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_image\" \"example_image\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-image\"\n disk_format = \"qcow2\"\n local_file_path = \"./path/to/image.qcow2\"\n min_disk_size = 10\n min_ram = 5\n}\n\n# Only use the import statement, if you want to import an existing image\n# Must set a configuration value for the local_file_path attribute as the provider has marked it as required.\n# Since this attribute is not fetched in general from the API call, after adding it this would replace your image resource after an pulumi up.\n# In order to prevent this you need to add:\n#lifecycle {\n# ignore_changes = [ local_file_path ]\n# }\nimport {\n to = stackit_image.import-example\n id = \"${var.project_id},${var.image_id}\"\n}\n```\n",
"properties": {
"checksum": {
"$ref": "#/types/stackit:index/ImageChecksum:ImageChecksum",
@@ -5817,7 +6449,7 @@
}
},
"stackit:index/keyPair:KeyPair": {
- "description": "Key pair resource schema. Must have a `region` specified in the provider configuration. Allows uploading an SSH public key to be used for server authentication.\n",
+ "description": "Key pair resource schema. Must have a `region` specified in the provider configuration. Allows uploading an SSH public key to be used for server authentication.\n\n\n\n## Example Usage\n\n```terraform\n# Create a key pair\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Only use the import statement, if you want to import an existing key pair\nimport {\n to = stackit_key_pair.import-example\n id = var.keypair_name\n}\n```\n",
"properties": {
"fingerprint": {
"type": "string",
@@ -5891,8 +6523,12 @@
}
},
"stackit:index/loadbalancer:Loadbalancer": {
- "description": "## Example Usage\n\n```terraform\n# Create a network\nresource \"stackit_network\" \"example_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n ipv4_nameservers = [\"8.8.8.8\"]\n ipv4_prefix = \"192.168.0.0/25\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\n# Create a network interface\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.example_network.network_id\n}\n\n# Create a public IP for the load balancer\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n lifecycle {\n ignore_changes = [network_interface_id]\n }\n}\n\n# Create a key pair for accessing the server instance\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Create a server instance\nresource \"stackit_server\" \"boot-from-image\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g1.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\n# Create a load balancer\nresource \"stackit_loadbalancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n target_pools = [\n {\n name = \"example-target-pool\"\n target_port = 80\n targets = [\n {\n display_name = stackit_server.boot-from-image.name\n ip = stackit_network_interface.nic.ipv4\n }\n ]\n active_health_check = {\n healthy_threshold = 10\n interval = \"3s\"\n interval_jitter = \"3s\"\n timeout = \"3s\"\n unhealthy_threshold = 10\n }\n }\n ]\n listeners = [\n {\n display_name = \"example-listener\"\n port = 80\n protocol = \"PROTOCOL_TCP\"\n target_pool = \"example-target-pool\"\n }\n ]\n networks = [\n {\n network_id = stackit_network.example_network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }\n ]\n external_address = stackit_public_ip.public-ip.ip\n options = {\n private_network_only = false\n }\n}\n```\n",
+ "description": "## Example Usage\n\n```terraform\n# Create a network\nresource \"stackit_network\" \"example_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n ipv4_nameservers = [\"8.8.8.8\"]\n ipv4_prefix = \"192.168.0.0/25\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\n# Create a network interface\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.example_network.network_id\n}\n\n# Create a public IP for the load balancer\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n lifecycle {\n ignore_changes = [network_interface_id]\n }\n}\n\n# Create a key pair for accessing the server instance\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Create a server instance\nresource \"stackit_server\" \"boot-from-image\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\n# Create a load balancer\nresource \"stackit_loadbalancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n plan_id = \"p10\"\n target_pools = [\n {\n name = \"example-target-pool\"\n target_port = 80\n targets = [\n {\n display_name = stackit_server.boot-from-image.name\n ip = stackit_network_interface.nic.ipv4\n }\n ]\n active_health_check = {\n healthy_threshold = 10\n interval = \"3s\"\n interval_jitter = \"3s\"\n timeout = \"3s\"\n unhealthy_threshold = 10\n }\n }\n ]\n listeners = [\n {\n display_name = \"example-listener\"\n port = 80\n protocol = \"PROTOCOL_TCP\"\n target_pool = \"example-target-pool\"\n }\n ]\n networks = [\n {\n network_id = stackit_network.example_network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }\n ]\n external_address = stackit_public_ip.public-ip.ip\n options = {\n private_network_only = false\n }\n}\n\n# This example demonstrates an advanced setup where the Load Balancer is in one\n# network and the target server is in another. This requires manual\n# security group configuration using the `disable_security_group_assignment`\n# and `security_group_id` attributes.\n\n# We create two separate networks: one for the load balancer and one for the target.\nresource \"stackit_network\" \"lb_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"lb-network-example\"\n ipv4_prefix = \"192.168.10.0/25\"\n ipv4_nameservers = [\"8.8.8.8\"]\n}\n\nresource \"stackit_network\" \"target_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"target-network-example\"\n ipv4_prefix = \"192.168.10.0/25\"\n ipv4_nameservers = [\"8.8.8.8\"]\n}\n\nresource \"stackit_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_loadbalancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-advanced-lb\"\n external_address = stackit_public_ip.example.ip\n\n # Key setting for manual mode: disables automatic security group handling.\n disable_security_group_assignment = true\n\n networks = [{\n network_id = stackit_network.lb_network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }]\n\n listeners = [{\n port = 80\n protocol = \"PROTOCOL_TCP\"\n target_pool = \"cross-network-pool\"\n }]\n\n target_pools = [{\n name = \"cross-network-pool\"\n target_port = 80\n targets = [{\n display_name = stackit_server.example.name\n ip = stackit_network_interface.nic.ipv4\n }]\n }]\n}\n\n# Create a new security group to be assigned to the target server.\nresource \"stackit_security_group\" \"target_sg\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"target-sg-for-lb-access\"\n description = \"Allows ingress traffic from the example load balancer.\"\n}\n\n# Create a rule to allow traffic FROM the load balancer.\n# This rule uses the computed `security_group_id` of the load balancer.\nresource \"stackit_security_group_rule\" \"allow_lb_ingress\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.target_sg.security_group_id\n direction = \"ingress\"\n protocol = {\n name = \"tcp\"\n }\n\n # This is the crucial link: it allows traffic from the LB's security group.\n remote_security_group_id = stackit_loadbalancer.example.security_group_id\n\n port_range = {\n min = 80\n max = 80\n }\n}\n\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-remote-target\"\n machine_type = \"g2i.2\"\n availability_zone = \"eu01-1\"\n\n boot_volume = {\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 10\n }\n\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.target_network.network_id\n security_group_ids = [stackit_security_group.target_sg.security_group_id]\n}\n# End of advanced example\n\n# Only use the import statement, if you want to import an existing loadbalancer\nimport {\n to = stackit_loadbalancer.import-example\n id = \"${var.project_id},${var.region},${var.loadbalancer_name}\"\n}\n```\n",
"properties": {
+ "disableSecurityGroupAssignment": {
+ "type": "boolean",
+ "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"
+ },
"externalAddress": {
"type": "string",
"description": "External Load Balancer IP address where this Load Balancer is exposed.\n"
@@ -5919,6 +6555,10 @@
"$ref": "#/types/stackit:index/LoadbalancerOptions:LoadbalancerOptions",
"description": "Defines any optional functionality you want to have enabled on your load balancer.\n"
},
+ "planId": {
+ "type": "string",
+ "description": "The service plan ID. If not defined, the default service plan is `p10`. Possible values are: `p10`, `p50`, `p250`, `p750`.\n"
+ },
"privateAddress": {
"type": "string",
"description": "Transient private Load Balancer IP address. It can change any time.\n"
@@ -5931,6 +6571,10 @@
"type": "string",
"description": "The resource region. If not defined, the provider region is used.\n"
},
+ "securityGroupId": {
+ "type": "string",
+ "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`.\n"
+ },
"targetPools": {
"type": "array",
"items": {
@@ -5940,16 +6584,23 @@
}
},
"required": [
+ "disableSecurityGroupAssignment",
"listeners",
"name",
"networks",
"options",
+ "planId",
"privateAddress",
"projectId",
"region",
+ "securityGroupId",
"targetPools"
],
"inputProperties": {
+ "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"
+ },
"externalAddress": {
"type": "string",
"description": "External Load Balancer IP address where this Load Balancer is exposed.\n"
@@ -5976,6 +6627,10 @@
"$ref": "#/types/stackit:index/LoadbalancerOptions:LoadbalancerOptions",
"description": "Defines any optional functionality you want to have enabled on your load balancer.\n"
},
+ "planId": {
+ "type": "string",
+ "description": "The service plan ID. If not defined, the default service plan is `p10`. Possible values are: `p10`, `p50`, `p250`, `p750`.\n"
+ },
"projectId": {
"type": "string",
"description": "STACKIT project ID to which the Load Balancer is associated.\n"
@@ -6001,6 +6656,10 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering Loadbalancer resources.\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"
+ },
"externalAddress": {
"type": "string",
"description": "External Load Balancer IP address where this Load Balancer is exposed.\n"
@@ -6027,6 +6686,10 @@
"$ref": "#/types/stackit:index/LoadbalancerOptions:LoadbalancerOptions",
"description": "Defines any optional functionality you want to have enabled on your load balancer.\n"
},
+ "planId": {
+ "type": "string",
+ "description": "The service plan ID. If not defined, the default service plan is `p10`. Possible values are: `p10`, `p50`, `p250`, `p750`.\n"
+ },
"privateAddress": {
"type": "string",
"description": "Transient private Load Balancer IP address. It can change any time.\n"
@@ -6039,6 +6702,10 @@
"type": "string",
"description": "The resource region. If not defined, the provider region is used.\n"
},
+ "securityGroupId": {
+ "type": "string",
+ "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`.\n"
+ },
"targetPools": {
"type": "array",
"items": {
@@ -6051,7 +6718,7 @@
}
},
"stackit:index/loadbalancerObservabilityCredential:LoadbalancerObservabilityCredential": {
- "description": "Load balancer observability credential resource schema. Must have a `region` specified in the provider configuration. These contain the username and password for the observability service (e.g. Argus) where the load balancer logs/metrics will be pushed into\n\n## Example Usage\n\n```terraform\nresource \"stackit_loadbalancer_observability_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"example-credentials\"\n username = \"example-user\"\n password = \"example-password\"\n}\n```\n",
+ "description": "Load balancer observability credential resource schema. Must have a `region` specified in the provider configuration. These contain the username and password for the observability service (e.g. Argus) where the load balancer logs/metrics will be pushed into\n\n## Example Usage\n\n```terraform\nresource \"stackit_loadbalancer_observability_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"example-credentials\"\n username = \"example-user\"\n password = \"example-password\"\n}\n\n# Only use the import statement, if you want to import an existing loadbalancer observability credential\nimport {\n to = stackit_loadbalancer_observability_credential.import-example\n id = \"${var.project_id},${var.region},${var.credentials_ref}\"\n}\n```\n",
"properties": {
"credentialsRef": {
"type": "string",
@@ -6146,7 +6813,7 @@
}
},
"stackit:index/logmeCredential:LogmeCredential": {
- "description": "LogMe credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "description": "LogMe credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing logme credential\nimport {\n to = stackit_logme_credential.import-example\n id = \"${var.project_id},${var.logme_instance_id},${var.logme_credentials_id}\"\n}\n```\n",
"properties": {
"credentialId": {
"type": "string",
@@ -6239,7 +6906,7 @@
}
},
"stackit:index/logmeInstance:LogmeInstance": {
- "description": "LogMe instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"2\"\n plan_name = \"stackit-logme2-1.2.50-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n```\n",
+ "description": "LogMe instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_logme_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"2\"\n plan_name = \"stackit-logme2-1.2.50-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n\n# Only use the import statement, if you want to import an existing logme instance\nimport {\n to = stackit_logme_instance.import-example\n id = \"${var.project_id},${var.logme_instance_id}\"\n}\n```\n",
"properties": {
"cfGuid": {
"type": "string"
@@ -6374,7 +7041,7 @@
}
},
"stackit:index/mariadbCredential:MariadbCredential": {
- "description": "MariaDB credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "description": "MariaDB credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing mariadb credential\nimport {\n to = stackit_mariadb_credential.import-example\n id = \"${var.project_id},${var.mariadb_instance_id},${var.mariadb_credential_id}\"\n}\n```\n",
"properties": {
"credentialId": {
"type": "string",
@@ -6487,7 +7154,7 @@
}
},
"stackit:index/mariadbInstance:MariadbInstance": {
- "description": "MariaDB instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"10.11\"\n plan_name = \"stackit-mariadb-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n```\n",
+ "description": "MariaDB instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"10.11\"\n plan_name = \"stackit-mariadb-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n\n# Only use the import statement, if you want to import an existing mariadb instance\nimport {\n to = stackit_mariadb_instance.import-example\n id = \"${var.project_id},${var.mariadb_instance_id}\"\n}\n```\n",
"properties": {
"cfGuid": {
"type": "string"
@@ -6762,7 +7429,7 @@
}
},
"stackit:index/mongodbflexInstance:MongodbflexInstance": {
- "description": "MongoDB Flex instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n flavor = {\n cpu = 1\n ram = 4\n }\n replicas = 1\n storage = {\n class = \"class\"\n size = 10\n }\n version = \"7.0\"\n options = {\n type = \"Single\"\n snapshot_retention_days = 3\n point_in_time_window_hours = 30\n }\n backup_schedule = \"0 0 * * *\"\n}\n```\n",
+ "description": "MongoDB Flex instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n flavor = {\n cpu = 1\n ram = 4\n }\n replicas = 1\n storage = {\n class = \"class\"\n size = 10\n }\n version = \"7.0\"\n options = {\n type = \"Single\"\n snapshot_retention_days = 3\n point_in_time_window_hours = 30\n }\n backup_schedule = \"0 0 * * *\"\n}\n\n# Only use the import statement, if you want to import an existing mongodbflex instance\nimport {\n to = stackit_mongodbflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.instance_id}\"\n}\n```\n",
"properties": {
"acls": {
"type": "array",
@@ -6793,6 +7460,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"
+ },
"replicas": {
"type": "integer"
},
@@ -6811,6 +7482,7 @@
"name",
"options",
"projectId",
+ "region",
"replicas",
"storage",
"version"
@@ -6841,6 +7513,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"
+ },
"replicas": {
"type": "integer"
},
@@ -6893,8 +7569,12 @@
"type": "string",
"description": "STACKIT project ID to which the instance is associated.\n"
},
- "replicas": {
- "type": "integer"
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ },
+ "replicas": {
+ "type": "integer"
},
"storage": {
"$ref": "#/types/stackit:index/MongodbflexInstanceStorage:MongodbflexInstanceStorage"
@@ -6907,7 +7587,7 @@
}
},
"stackit:index/mongodbflexUser:MongodbflexUser": {
- "description": "MongoDB Flex user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n database = \"database\"\n}\n```\n",
+ "description": "MongoDB Flex user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n database = \"database\"\n}\n\n# Only use the import statement, if you want to import an existing mongodbflex user\nimport {\n to = stackit_mongodbflex_user.import-example\n id = \"${var.project_id},${var.region},${var.instance_id},${user_id}\"\n}\n```\n",
"properties": {
"database": {
"type": "string"
@@ -6930,6 +7610,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"
+ },
"roles": {
"type": "array",
"items": {
@@ -6956,6 +7640,7 @@
"password",
"port",
"projectId",
+ "region",
"roles",
"uri",
"userId",
@@ -6973,6 +7658,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"
+ },
"roles": {
"type": "array",
"items": {
@@ -7014,6 +7703,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"
+ },
"roles": {
"type": "array",
"items": {
@@ -7037,7 +7730,7 @@
}
},
"stackit:index/network:Network": {
- "description": "Network resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network\" \"example_with_name\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-with-name\"\n}\n\nresource \"stackit_network\" \"example_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-routed-network\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\nresource \"stackit_network\" \"example_non_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-non-routed-network\"\n ipv4_nameservers = [\"1.2.3.4\", \"5.6.7.8\"]\n ipv4_prefix_length = 24\n ipv4_gateway = \"10.1.2.3\"\n ipv4_prefix = \"10.1.2.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n routed = false\n}\n```\n",
+ "description": "Network resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network\" \"example_with_name\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-with-name\"\n}\n\nresource \"stackit_network\" \"example_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-routed-network\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\nresource \"stackit_network\" \"example_non_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-non-routed-network\"\n ipv4_nameservers = [\"1.2.3.4\", \"5.6.7.8\"]\n ipv4_prefix_length = 24\n ipv4_gateway = \"10.1.2.3\"\n ipv4_prefix = \"10.1.2.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n routed = false\n}\n\n# Only use the import statement, if you want to import an existing network\n# Note: There will be a conflict which needs to be resolved manually.\n# These attributes cannot be configured together: [ipv4_prefix,ipv4_prefix_length,ipv4_gateway]\nimport {\n to = stackit_network.import-example\n id = \"${var.project_id},${var.network_id}\"\n}\n```\n",
"properties": {
"ipv4Gateway": {
"type": "string",
@@ -7138,9 +7831,17 @@
"type": "string",
"description": "The public IP of the network.\n"
},
+ "region": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set.\nThe resource region. If not defined, the provider region is used.\n"
+ },
"routed": {
"type": "boolean",
"description": "If set to `true`, the network is routed and therefore accessible from other networks.\n"
+ },
+ "routingTableId": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set.\nThe ID of the routing table associated with the network.\n"
}
},
"required": [
@@ -7158,7 +7859,9 @@
"prefixes",
"projectId",
"publicIp",
- "routed"
+ "region",
+ "routed",
+ "routingTableId"
],
"inputProperties": {
"ipv4Gateway": {
@@ -7230,9 +7933,17 @@
"type": "string",
"description": "STACKIT project ID to which the network is associated.\n"
},
+ "region": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set.\nThe resource region. If not defined, the provider region is used.\n"
+ },
"routed": {
"type": "boolean",
"description": "If set to `true`, the network is routed and therefore accessible from other networks.\n"
+ },
+ "routingTableId": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set.\nThe ID of the routing table associated with the network.\n"
}
},
"requiredInputs": [
@@ -7340,16 +8051,24 @@
"type": "string",
"description": "The public IP of the network.\n"
},
+ "region": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set.\nThe resource region. If not defined, the provider region is used.\n"
+ },
"routed": {
"type": "boolean",
"description": "If set to `true`, the network is routed and therefore accessible from other networks.\n"
+ },
+ "routingTableId": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set.\nThe ID of the routing table associated with the network.\n"
}
},
"type": "object"
}
},
"stackit:index/networkArea:NetworkArea": {
- "description": "Network area resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network-area\"\n network_ranges = [\n {\n prefix = \"192.168.0.0/24\"\n }\n ]\n transfer_network = \"192.168.0.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n",
+ "description": "Network area resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network-area\"\n network_ranges = [\n {\n prefix = \"192.168.0.0/24\"\n }\n ]\n transfer_network = \"192.168.1.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing network area\nimport {\n to = stackit_network_area.import-example\n id = \"${var.organization_id},${var.network_area_id}\"\n}\n```\n",
"properties": {
"defaultNameservers": {
"type": "array",
@@ -7529,7 +8248,7 @@
}
},
"stackit:index/networkAreaRoute:NetworkAreaRoute": {
- "description": "Network area route resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n prefix = \"192.168.0.0/24\"\n next_hop = \"192.168.0.0\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n",
+ "description": "Network area route resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n prefix = \"192.168.0.0/24\"\n next_hop = \"192.168.0.0\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing network area route\nimport {\n to = stackit_network_area_route.import-example\n id = \"${var.organization_id},${var.network_area_id},${var.network_area_route_id}\"\n}\n```\n",
"properties": {
"labels": {
"type": "object",
@@ -7632,7 +8351,7 @@
}
},
"stackit:index/networkInterface:NetworkInterface": {
- "description": "Network interface resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_interface\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n allowed_addresses = [\"192.168.0.0/24\"]\n security_group_ids = [\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"]\n}\n```\n",
+ "description": "Network interface resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_interface\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n allowed_addresses = [\"192.168.0.0/24\"]\n security_group_ids = [\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"]\n}\n\n# Only use the import statement, if you want to import an existing network interface\nimport {\n to = stackit_network_interface.import-example\n id = \"${var.project_id},${var.network_id},${var.network_interface_id}\"\n}\n```\n",
"properties": {
"allowedAddresses": {
"type": "array",
@@ -7817,7 +8536,7 @@
}
},
"stackit:index/objectstorageBucket:ObjectstorageBucket": {
- "description": "ObjectStorage bucket resource schema. Must have a `region` specified in the provider configuration. If you are creating `credentialsgroup` and `bucket` resources simultaneously, please include the `depends_on` field so that they are created sequentially. This prevents errors from concurrent calls to the service enablement that is done in the background.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_bucket\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-bucket\"\n}\n```\n",
+ "description": "ObjectStorage bucket resource schema. Must have a `region` specified in the provider configuration. If you are creating `credentialsgroup` and `bucket` resources simultaneously, please include the `depends_on` field so that they are created sequentially. This prevents errors from concurrent calls to the service enablement that is done in the background.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_bucket\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-bucket\"\n}\n\n# Only use the import statement, if you want to import an existing objectstorage bucket\nimport {\n to = stackit_objectstorage_bucket.import-example\n id = \"${var.project_id},${var.region},${var.bucket_name}\"\n}\n```\n",
"properties": {
"name": {
"type": "string",
@@ -7888,7 +8607,7 @@
}
},
"stackit:index/objectstorageCredential:ObjectstorageCredential": {
- "description": "ObjectStorage credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n expiration_timestamp = \"2027-01-02T03:04:05Z\"\n}\n```\n",
+ "description": "ObjectStorage credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n expiration_timestamp = \"2027-01-02T03:04:05Z\"\n}\n\n# Only use the import statement, if you want to import an existing objectstorage credential\nimport {\n to = stackit_objectstorage_credential.import-example\n id = \"${var.project_id},${var.region},${var.bucket_credentials_group_id},${var.bucket_credential_id}\"\n}\n```\n",
"properties": {
"accessKey": {
"type": "string"
@@ -7991,7 +8710,7 @@
}
},
"stackit:index/objectstorageCredentialsGroup:ObjectstorageCredentialsGroup": {
- "description": "ObjectStorage credentials group resource schema. Must have a `region` specified in the provider configuration. If you are creating `credentialsgroup` and `bucket` resources simultaneously, please include the `depends_on` field so that they are created sequentially. This prevents errors from concurrent calls to the service enablement that is done in the background.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_credentials_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-credentials-group\"\n}\n```\n",
+ "description": "ObjectStorage credentials group resource schema. Must have a `region` specified in the provider configuration. If you are creating `credentialsgroup` and `bucket` resources simultaneously, please include the `depends_on` field so that they are created sequentially. This prevents errors from concurrent calls to the service enablement that is done in the background.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_credentials_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-credentials-group\"\n}\n\n# Only use the import statement, if you want to import an existing objectstorage credential group\nimport {\n to = stackit_objectstorage_credentials_group.import-example\n id = \"${var.project_id},${var.region},${var.bucket_credentials_group_id}\"\n}\n```\n",
"properties": {
"credentialsGroupId": {
"type": "string",
@@ -8066,7 +8785,7 @@
}
},
"stackit:index/observabilityAlertgroup:ObservabilityAlertgroup": {
- "description": "Observability alert group resource schema. Used to create alerts based on metrics (Thanos). Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"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 interval = \"60s\"\n rules = [\n {\n alert = \"example-alert-name\"\n expression = \"kube_node_status_condition{condition=\\\"Ready\\\", status=\\\"false\\\"} \u003e 0\"\n for = \"60s\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n {\n alert = \"example-alert-name-2\"\n expression = \"kube_node_status_condition{condition=\\\"Ready\\\", status=\\\"false\\\"} \u003e 0\"\n for = \"1m\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n ]\n}\n```\n",
+ "description": "Observability alert group resource schema. Used to create alerts based on metrics (Thanos). Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"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 interval = \"60s\"\n rules = [\n {\n alert = \"example-alert-name\"\n expression = \"kube_node_status_condition{condition=\\\"Ready\\\", status=\\\"false\\\"} \u003e 0\"\n for = \"60s\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n {\n alert = \"example-alert-name-2\"\n expression = \"kube_node_status_condition{condition=\\\"Ready\\\", status=\\\"false\\\"} \u003e 0\"\n for = \"1m\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n ]\n}\n\n# Only use the import statement, if you want to import an existing observability alertgroup\nimport {\n to = stackit_observability_alertgroup.import-example\n id = \"${var.project_id},${var.observability_instance_id},${var.observability_alertgroup_name}\"\n}\n```\n",
"properties": {
"instanceId": {
"type": "string",
@@ -8160,8 +8879,12 @@
}
},
"stackit:index/observabilityCredential:ObservabilityCredential": {
- "description": "Observability credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_observability_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "description": "Observability credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_observability_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Description of the credential.\"\n}\n```\n",
"properties": {
+ "description": {
+ "type": "string",
+ "description": "A description of the credential.\n"
+ },
"instanceId": {
"type": "string",
"description": "The Observability Instance ID the credential belongs to.\n"
@@ -8187,6 +8910,10 @@
"username"
],
"inputProperties": {
+ "description": {
+ "type": "string",
+ "description": "A description of the credential.\n"
+ },
"instanceId": {
"type": "string",
"description": "The Observability Instance ID the credential belongs to.\n"
@@ -8203,6 +8930,10 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering ObservabilityCredential resources.\n",
"properties": {
+ "description": {
+ "type": "string",
+ "description": "A description of the credential.\n"
+ },
"instanceId": {
"type": "string",
"description": "The Observability Instance ID the credential belongs to.\n"
@@ -8225,7 +8956,7 @@
}
},
"stackit:index/observabilityInstance:ObservabilityInstance": {
- "description": "Observability instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\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 acl = [\"1.1.1.1/32\", \"2.2.2.2/32\"]\n metrics_retention_days = 30\n metrics_retention_days_5m_downsampling = 10\n metrics_retention_days_1h_downsampling = 5\n}\n```\n",
+ "description": "Observability instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\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 acl = [\"1.1.1.1/32\", \"2.2.2.2/32\"]\n metrics_retention_days = 90\n metrics_retention_days_5m_downsampling = 90\n metrics_retention_days_1h_downsampling = 90\n}\n\n# Only use the import statement, if you want to import an existing observability instance\nimport {\n to = stackit_observability_instance.import-example\n id = \"${var.project_id},${var.observability_instance_id}\"\n}\n```\n",
"properties": {
"acls": {
"type": "array",
@@ -8291,15 +9022,15 @@
},
"metricsRetentionDays": {
"type": "integer",
- "description": "Specifies for how many days the raw metrics are kept.\n"
+ "description": "Specifies for how many days the raw metrics are kept. Default is set to `90`.\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 `0` (disabled).\n"
+ "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 `90`.\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 `0` (disabled).\n"
+ "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 `90`.\n"
},
"metricsUrl": {
"type": "string",
@@ -8380,15 +9111,15 @@
},
"metricsRetentionDays": {
"type": "integer",
- "description": "Specifies for how many days the raw metrics are kept.\n"
+ "description": "Specifies for how many days the raw metrics are kept. Default is set to `90`.\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 `0` (disabled).\n"
+ "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 `90`.\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 `0` (disabled).\n"
+ "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 `90`.\n"
},
"name": {
"type": "string",
@@ -8481,15 +9212,15 @@
},
"metricsRetentionDays": {
"type": "integer",
- "description": "Specifies for how many days the raw metrics are kept.\n"
+ "description": "Specifies for how many days the raw metrics are kept. Default is set to `90`.\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 `0` (disabled).\n"
+ "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 `90`.\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 `0` (disabled).\n"
+ "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 `90`.\n"
},
"metricsUrl": {
"type": "string",
@@ -8533,7 +9264,7 @@
}
},
"stackit:index/observabilityLogalertgroup:ObservabilityLogalertgroup": {
- "description": "Observability log alert group resource schema. Used to create alerts based on logs (Loki). Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"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 interval = \"60m\"\n rules = [\n {\n alert = \"example-log-alert-name\"\n expression = \"sum(rate({namespace=\\\"example\\\", pod=\\\"logger\\\"} |= \\\"Simulated error message\\\" [1m])) \u003e 0\"\n for = \"60s\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n {\n alert = \"example-log-alert-name-2\"\n expression = \"sum(rate({namespace=\\\"example\\\", pod=\\\"logger\\\"} |= \\\"Another error message\\\" [1m])) \u003e 0\"\n for = \"60s\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n ]\n}\n```\n",
+ "description": "Observability log alert group resource schema. Used to create alerts based on logs (Loki). Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"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 interval = \"60m\"\n rules = [\n {\n alert = \"example-log-alert-name\"\n expression = \"sum(rate({namespace=\\\"example\\\", pod=\\\"logger\\\"} |= \\\"Simulated error message\\\" [1m])) \u003e 0\"\n for = \"60s\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n {\n alert = \"example-log-alert-name-2\"\n expression = \"sum(rate({namespace=\\\"example\\\", pod=\\\"logger\\\"} |= \\\"Another error message\\\" [1m])) \u003e 0\"\n for = \"60s\"\n labels = {\n severity = \"critical\"\n },\n annotations = {\n summary : \"example summary\"\n description : \"example description\"\n }\n },\n ]\n}\n\n# Only use the import statement, if you want to import an existing observability logalertgroup\nimport {\n to = stackit_observability_logalertgroup.import-example\n id = \"${var.project_id},${var.observability_instance_id},${var.observability_logalertgroup_name}\"\n}\n```\n",
"properties": {
"instanceId": {
"type": "string",
@@ -8627,7 +9358,7 @@
}
},
"stackit:index/observabilityScrapeconfig:ObservabilityScrapeconfig": {
- "description": "Observability scrape config resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_observability_scrapeconfig\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-job\"\n metrics_path = \"/my-metrics\"\n saml2 = {\n enable_url_parameters = true\n }\n targets = [\n {\n urls = [\"url1\", \"urls2\"]\n labels = {\n \"url1\" = \"dev\"\n }\n }\n ]\n}\n```\n",
+ "description": "Observability scrape config resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_observability_scrapeconfig\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-job\"\n metrics_path = \"/my-metrics\"\n saml2 = {\n enable_url_parameters = true\n }\n targets = [\n {\n urls = [\"url1\", \"urls2\"]\n labels = {\n \"url1\" = \"dev\"\n }\n }\n ]\n}\n\n# Only use the import statement, if you want to import an existing observability scrapeconfig\nimport {\n to = stackit_observability_scrapeconfig.import-example\n id = \"${var.project_id},${var.observability_instance_id},${var.observability_scrapeconfig_name}\"\n}\n```\n",
"properties": {
"basicAuth": {
"$ref": "#/types/stackit:index/ObservabilityScrapeconfigBasicAuth:ObservabilityScrapeconfigBasicAuth",
@@ -8800,7 +9531,7 @@
}
},
"stackit:index/opensearchCredential:OpensearchCredential": {
- "description": "OpenSearch credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_opensearch_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "description": "OpenSearch credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_opensearch_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing opensearch credential\nimport {\n to = stackit_opensearch_credential.import-example\n id = \"${var.project_id},${var.instance_id},${var.credential_id}\"\n}\n```\n",
"properties": {
"credentialId": {
"type": "string",
@@ -8913,7 +9644,7 @@
}
},
"stackit:index/opensearchInstance:OpensearchInstance": {
- "description": "OpenSearch instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_opensearch_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"2\"\n plan_name = \"stackit-opensearch-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n```\n",
+ "description": "OpenSearch instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_opensearch_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"2\"\n plan_name = \"stackit-opensearch-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n }\n}\n\n# Only use the import statement, if you want to import an existing opensearch instance\nimport {\n to = stackit_opensearch_instance.import-example\n id = \"${var.project_id},${var.instance_id}\"\n}\n```\n",
"properties": {
"cfGuid": {
"type": "string"
@@ -9048,7 +9779,7 @@
}
},
"stackit:index/postgresflexDatabase:PostgresflexDatabase": {
- "description": "Postgres Flex database resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_database\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"mydb\"\n owner = \"myusername\"\n}\n```\n",
+ "description": "Postgres Flex database resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_database\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"mydb\"\n owner = \"myusername\"\n}\n\n# Only use the import statement, if you want to import an existing postgresflex database\nimport {\n to = stackit_postgresflex_database.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id},${var.postgres_database_id}\"\n}\n```\n",
"properties": {
"databaseId": {
"type": "string",
@@ -9142,7 +9873,7 @@
}
},
"stackit:index/postgresflexInstance:PostgresflexInstance": {
- "description": "Postgres Flex instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 2\n ram = 4\n }\n replicas = 3\n storage = {\n class = \"class\"\n size = 5\n }\n version = 14\n}\n```\n",
+ "description": "Postgres Flex instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 2\n ram = 4\n }\n replicas = 3\n storage = {\n class = \"class\"\n size = 5\n }\n version = 14\n}\n\n# Only use the import statement, if you want to import an existing postgresflex instance\nimport {\n to = stackit_postgresflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id}\"\n}\n```\n",
"properties": {
"acls": {
"type": "array",
@@ -9286,7 +10017,7 @@
}
},
"stackit:index/postgresflexUser:PostgresflexUser": {
- "description": "Postgres Flex user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n}\n```\n",
+ "description": "Postgres Flex user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n}\n\n# Only use the import statement, if you want to import an existing postgresflex user\nimport {\n to = stackit_postgresflex_user.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id},${var.user_id}\"\n}\n```\n",
"properties": {
"host": {
"type": "string"
@@ -9419,7 +10150,7 @@
}
},
"stackit:index/publicIp:PublicIp": {
- "description": "Public IP resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n",
+ "description": "Public IP resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing public ip\nimport {\n to = stackit_public_ip.import-example\n id = \"${var.project_id},${var.public_ip_id}\"\n}\n```\n",
"properties": {
"ip": {
"type": "string",
@@ -9499,7 +10230,7 @@
}
},
"stackit:index/publicIpAssociate:PublicIpAssociate": {
- "description": "Associates an existing public IP to a network interface. This is useful for situations where you have a pre-allocated public IP or unable to use the `stackit.PublicIp` resource to create a new public IP. Must have a `region` specified in the provider configuration.\n\n!\u003e The `stackit.PublicIpAssociate` resource should not be used together with the `stackit.PublicIp` resource for the same public IP or for the same network interface. \nUsing both resources together for the same public IP or network interface WILL lead to conflicts, as they both have control of the public IP and network interface association.\n\n## Example Usage\n\n```terraform\nresource \"stackit_public_ip_associate\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n public_ip_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "description": "Associates an existing public IP to a network interface. This is useful for situations where you have a pre-allocated public IP or unable to use the `stackit.PublicIp` resource to create a new public IP. Must have a `region` specified in the provider configuration.\n\n!\u003e The `stackit.PublicIpAssociate` resource should not be used together with the `stackit.PublicIp` resource for the same public IP or for the same network interface. \nUsing both resources together for the same public IP or network interface WILL lead to conflicts, as they both have control of the public IP and network interface association.\n\n## Example Usage\n\n```terraform\nresource \"stackit_public_ip_associate\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n public_ip_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing public ip associate\nimport {\n to = stackit_public_ip_associate.import-example\n id = \"${var.project_id},${var.public_ip_id},${var.network_interface_id}\"\n}\n```\n",
"properties": {
"ip": {
"type": "string",
@@ -9567,7 +10298,7 @@
}
},
"stackit:index/rabbitmqCredential:RabbitmqCredential": {
- "description": "RabbitMQ credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_rabbitmq_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "description": "RabbitMQ credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_rabbitmq_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing rabbitmq credential\nimport {\n to = stackit_rabbitmq_credential.import-example\n id = \"${var.project_id},${var.rabbitmq_instance_id},${var.rabbitmq_credential_id}\"\n}\n```\n",
"properties": {
"credentialId": {
"type": "string",
@@ -9713,7 +10444,7 @@
}
},
"stackit:index/rabbitmqInstance:RabbitmqInstance": {
- "description": "RabbitMQ instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_rabbitmq_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"3.13\"\n plan_name = \"stackit-rabbitmq-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n consumer_timeout = 18000000\n enable_monitoring = false\n plugins = [\"rabbitmq_consistent_hash_exchange\", \"rabbitmq_federation\", \"rabbitmq_tracing\"]\n }\n}\n```\n",
+ "description": "RabbitMQ instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_rabbitmq_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"3.13\"\n plan_name = \"stackit-rabbitmq-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n consumer_timeout = 18000000\n enable_monitoring = false\n plugins = [\"rabbitmq_consistent_hash_exchange\", \"rabbitmq_federation\", \"rabbitmq_tracing\"]\n }\n}\n\n# Only use the import statement, if you want to import an existing rabbitmq instance\nimport {\n to = stackit_rabbitmq_instance.import-example\n id = \"${var.project_id},${var.rabbitmq_instance_id}\"\n}\n```\n",
"properties": {
"cfGuid": {
"type": "string"
@@ -9848,7 +10579,7 @@
}
},
"stackit:index/redisCredential:RedisCredential": {
- "description": "Redis credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_redis_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "description": "Redis credential resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_redis_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing redis credential\nimport {\n to = stackit_redis_credential.import-example\n id = \"${var.project_id},${var.redis_instance_id},${var.redis_credential_id}\"\n}\n```\n",
"properties": {
"credentialId": {
"type": "string",
@@ -9963,7 +10694,7 @@
}
},
"stackit:index/redisInstance:RedisInstance": {
- "description": "Redis instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_redis_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"7\"\n plan_name = \"stackit-redis-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n enable_monitoring = false\n down_after_milliseconds = 30000\n syslog = [\"logs4.your-syslog-endpoint.com:54321\"]\n }\n}\n```\n",
+ "description": "Redis instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_redis_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n version = \"7\"\n plan_name = \"stackit-redis-1.2.10-replica\"\n parameters = {\n sgw_acl = \"193.148.160.0/19,45.129.40.0/21,45.135.244.0/22\"\n enable_monitoring = false\n down_after_milliseconds = 30000\n syslog = [\"logs4.your-syslog-endpoint.com:54321\"]\n }\n}\n\n# Only use the import statement, if you want to import an existing redis instance\nimport {\n to = stackit_redis_instance.import-example\n id = \"${var.project_id},${var.redis_instance_id}\"\n}\n```\n",
"properties": {
"cfGuid": {
"type": "string"
@@ -10097,43 +10828,53 @@
"type": "object"
}
},
- "stackit:index/resourcemanagerProject:ResourcemanagerProject": {
- "description": "## Example Usage\n\n```terraform\nresource \"stackit_resourcemanager_project\" \"example\" {\n parent_container_id = \"example-parent-container-abc123\"\n name = \"example-container\"\n labels = {\n \"Label 1\" = \"foo\"\n // \"networkArea\" = stackit_network_area.foo.network_area_id\n }\n owner_email = \"john.doe@stackit.cloud\"\n}\n```\n",
+ "stackit:index/resourcemanagerFolder:ResourcemanagerFolder": {
+ "description": "Resource Manager folder resource schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_resourcemanager_folder\" \"example\" {\n name = \"example-folder\"\n owner_email = \"foo.bar@stackit.cloud\"\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Note:\n# You can add projects under folders.\n# However, when deleting a project, be aware:\n# - Projects may remain \"invisible\" for up to 7 days after deletion\n# - During this time, deleting the parent folder may fail because the project is still technically linked\nresource \"stackit_resourcemanager_project\" \"example_project\" {\n name = \"example-project\"\n owner_email = \"foo.bar@stackit.cloud\"\n parent_container_id = stackit_resourcemanager_folder.example.container_id\n}\n\n# Only use the import statement, if you want to import an existing resourcemanager folder\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the owner_email attribute as the provider has marked it as required.\nimport {\n to = stackit_resourcemanager_folder.import-example\n id = var.container_id\n}\n```\n",
"properties": {
"containerId": {
"type": "string",
- "description": "Project container ID. Globally unique, user-friendly identifier.\n"
+ "description": "Folder container ID. Globally unique, user-friendly identifier.\n"
+ },
+ "creationTime": {
+ "type": "string",
+ "description": "Date-time at which the folder was created.\n"
+ },
+ "folderId": {
+ "type": "string",
+ "description": "Folder UUID identifier. Globally unique folder identifier\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}. To add a project to a STACKIT Network Area, setting the label `networkArea=\u003cnetworkAreaID\u003e` is required.\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"
},
"name": {
"type": "string",
- "description": "Project name.\n"
+ "description": "The name of the folder.\n"
},
"ownerEmail": {
"type": "string",
- "description": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.\n"
+ "description": "Email address of the owner of the folder. This value is only considered during creation. Changing it afterwards will have no effect.\n"
},
"parentContainerId": {
"type": "string",
- "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported\n"
+ "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported.\n"
},
- "projectId": {
+ "updateTime": {
"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": "Date-time at which the folder was last modified.\n"
}
},
"required": [
"containerId",
+ "creationTime",
+ "folderId",
"name",
"ownerEmail",
"parentContainerId",
- "projectId"
+ "updateTime"
],
"inputProperties": {
"labels": {
@@ -10141,19 +10882,19 @@
"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}. To add a project to a STACKIT Network Area, setting the label `networkArea=\u003cnetworkAreaID\u003e` is required.\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"
},
"name": {
"type": "string",
- "description": "Project name.\n"
+ "description": "The name of the folder.\n"
},
"ownerEmail": {
"type": "string",
- "description": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.\n"
+ "description": "Email address of the owner of the folder. This value is only considered during creation. Changing it afterwards will have no effect.\n"
},
"parentContainerId": {
"type": "string",
- "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported\n"
+ "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported.\n"
}
},
"requiredInputs": [
@@ -10161,221 +10902,317 @@
"parentContainerId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering ResourcemanagerProject resources.\n",
+ "description": "Input properties used for looking up and filtering ResourcemanagerFolder resources.\n",
"properties": {
"containerId": {
"type": "string",
- "description": "Project container ID. Globally unique, user-friendly identifier.\n"
+ "description": "Folder container ID. Globally unique, user-friendly identifier.\n"
+ },
+ "creationTime": {
+ "type": "string",
+ "description": "Date-time at which the folder was created.\n"
+ },
+ "folderId": {
+ "type": "string",
+ "description": "Folder UUID identifier. Globally unique folder identifier\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}. To add a project to a STACKIT Network Area, setting the label `networkArea=\u003cnetworkAreaID\u003e` is required.\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"
},
"name": {
"type": "string",
- "description": "Project name.\n"
+ "description": "The name of the folder.\n"
},
"ownerEmail": {
"type": "string",
- "description": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.\n"
+ "description": "Email address of the owner of the folder. This value is only considered during creation. Changing it afterwards will have no effect.\n"
},
"parentContainerId": {
"type": "string",
- "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported\n"
+ "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported.\n"
},
- "projectId": {
+ "updateTime": {
"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": "Date-time at which the folder was last modified.\n"
}
},
"type": "object"
}
},
- "stackit:index/secretsmanagerInstance:SecretsmanagerInstance": {
- "description": "Secrets Manager instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acls = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n}\n```\n",
+ "stackit:index/resourcemanagerProject:ResourcemanagerProject": {
+ "description": "## Example Usage\n\n```terraform\nresource \"stackit_resourcemanager_project\" \"example\" {\n parent_container_id = \"example-parent-container-abc123\"\n name = \"example-container\"\n labels = {\n \"Label 1\" = \"foo\"\n // \"networkArea\" = stackit_network_area.foo.network_area_id\n }\n owner_email = \"john.doe@stackit.cloud\"\n}\n\n# Only use the import statement, if you want to import an existing resourcemanager project\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the owner_email attribute as the provider has marked it as required.\nimport {\n to = stackit_resourcemanager_project.import-example\n id = var.container_id\n}\n```\n",
"properties": {
- "acls": {
- "type": "array",
- "items": {
+ "containerId": {
+ "type": "string",
+ "description": "Project container ID. Globally unique, user-friendly identifier."
+ },
+ "creationTime": {
+ "type": "string",
+ "description": "Date-time at which the project was created."
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
"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"
+ "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}. \nTo create a project within a STACKIT Network Area, setting the label `networkArea=\u003cnetworkAreaID\u003e` is required. This can not be changed after project creation."
},
- "instanceId": {
+ "name": {
"type": "string",
- "description": "ID of the Secrets Manager instance.\n"
+ "description": "Project name."
},
- "name": {
+ "ownerEmail": {
"type": "string",
- "description": "Instance name.\n"
+ "description": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect."
+ },
+ "parentContainerId": {
+ "type": "string",
+ "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project."
+ },
+ "updateTime": {
+ "type": "string",
+ "description": "Date-time at which the project was last modified."
}
},
"required": [
- "instanceId",
+ "containerId",
+ "creationTime",
"name",
- "projectId"
+ "ownerEmail",
+ "parentContainerId",
+ "projectId",
+ "updateTime"
],
"inputProperties": {
- "acls": {
- "type": "array",
- "items": {
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
"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"
+ "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}. \nTo create a project within a STACKIT Network Area, setting the label `networkArea=\u003cnetworkAreaID\u003e` is required. This can not be changed after project creation."
},
"name": {
"type": "string",
- "description": "Instance name.\n"
+ "description": "Project name."
},
- "projectId": {
+ "ownerEmail": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect."
+ },
+ "parentContainerId": {
+ "type": "string",
+ "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported"
}
},
"requiredInputs": [
- "projectId"
+ "ownerEmail",
+ "parentContainerId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SecretsmanagerInstance resources.\n",
+ "description": "Input properties used for looking up and filtering ResourcemanagerProject resources.\n",
"properties": {
- "acls": {
- "type": "array",
- "items": {
+ "containerId": {
+ "type": "string",
+ "description": "Project container ID. Globally unique, user-friendly identifier."
+ },
+ "creationTime": {
+ "type": "string",
+ "description": "Date-time at which the project was created."
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
"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"
+ "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}. \nTo create a project within a STACKIT Network Area, setting the label `networkArea=\u003cnetworkAreaID\u003e` is required. This can not be changed after project creation."
},
- "instanceId": {
+ "name": {
"type": "string",
- "description": "ID of the Secrets Manager instance.\n"
+ "description": "Project name."
},
- "name": {
+ "ownerEmail": {
"type": "string",
- "description": "Instance name.\n"
+ "description": "Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect."
+ },
+ "parentContainerId": {
+ "type": "string",
+ "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project."
+ },
+ "updateTime": {
+ "type": "string",
+ "description": "Date-time at which the project was last modified."
}
},
"type": "object"
}
},
- "stackit:index/secretsmanagerUser:SecretsmanagerUser": {
- "description": "Secrets Manager user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Example user\"\n write_enabled = false\n}\n```\n",
+ "stackit:index/routingTable:RoutingTable": {
+ "description": "Routing table resource schema. Must have a `region` specified in the provider configuration.\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# 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",
"properties": {
+ "createdAt": {
+ "type": "string",
+ "description": "Date-time when the routing table was created\n"
+ },
"description": {
"type": "string",
- "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n"
+ "description": "Description of the routing table.\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 Secrets Manager instance.\n"
+ "description": "The name of the routing table.\n"
},
- "password": {
+ "networkAreaId": {
"type": "string",
- "description": "An auto-generated password.\n",
- "secret": true
+ "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"
},
- "userId": {
+ "region": {
"type": "string",
- "description": "The user's ID.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "username": {
+ "routingTableId": {
"type": "string",
- "description": "An auto-generated user name.\n"
+ "description": "The routing tables ID.\n"
},
- "writeEnabled": {
+ "systemRoutes": {
"type": "boolean",
- "description": "If true, the user has writeaccess to the secrets engine.\n"
+ "description": "This controls whether the routes for project-to-project communication are created automatically or not.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the routing table was updated\n"
}
},
"required": [
+ "createdAt",
"description",
- "instanceId",
- "password",
- "projectId",
- "userId",
- "username",
- "writeEnabled"
+ "name",
+ "networkAreaId",
+ "organizationId",
+ "region",
+ "routingTableId",
+ "systemRoutes",
+ "updatedAt"
],
"inputProperties": {
"description": {
"type": "string",
- "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n"
+ "description": "Description of the routing table.\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 Secrets Manager instance.\n"
+ "description": "The name of the routing table.\n"
},
- "projectId": {
+ "networkAreaId": {
"type": "string",
- "description": "STACKIT Project ID to which the instance is associated.\n"
+ "description": "The network area ID to which the routing table is associated.\n"
},
- "writeEnabled": {
+ "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"
+ },
+ "systemRoutes": {
"type": "boolean",
- "description": "If true, the user has writeaccess to the secrets engine.\n"
+ "description": "This controls whether the routes for project-to-project communication are created automatically or not.\n"
}
},
"requiredInputs": [
- "description",
- "instanceId",
- "projectId",
- "writeEnabled"
+ "networkAreaId",
+ "organizationId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SecretsmanagerUser resources.\n",
+ "description": "Input properties used for looking up and filtering RoutingTable resources.\n",
"properties": {
+ "createdAt": {
+ "type": "string",
+ "description": "Date-time when the routing table was created\n"
+ },
"description": {
"type": "string",
- "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n"
+ "description": "Description of the routing table.\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 Secrets Manager instance.\n"
+ "description": "The name of the routing table.\n"
},
- "password": {
+ "networkAreaId": {
"type": "string",
- "description": "An auto-generated password.\n",
- "secret": true
+ "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"
},
- "userId": {
+ "region": {
"type": "string",
- "description": "The user's ID.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "username": {
+ "routingTableId": {
"type": "string",
- "description": "An auto-generated user name.\n"
+ "description": "The routing tables ID.\n"
},
- "writeEnabled": {
+ "systemRoutes": {
"type": "boolean",
- "description": "If true, the user has writeaccess to the secrets engine.\n"
+ "description": "This controls whether the routes for project-to-project communication are created automatically or not.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the routing table was updated\n"
}
},
"type": "object"
}
},
- "stackit:index/securityGroup:SecurityGroup": {
- "description": "Security group resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_security_group\"\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n",
+ "stackit:index/routingTableRoute:RoutingTableRoute": {
+ "description": "Routing table route resource schema. Must have a `region` specified in the provider configuration.\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# 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",
"properties": {
- "description": {
+ "createdAt": {
"type": "string",
- "description": "The description of the security group.\n"
+ "description": "Date-time when the route was created.\n"
+ },
+ "destination": {
+ "$ref": "#/types/stackit:index/RoutingTableRouteDestination:RoutingTableRouteDestination",
+ "description": "Destination of the route.\n"
},
"labels": {
"type": "object",
@@ -10384,34 +11221,50 @@
},
"description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "name": {
+ "networkAreaId": {
"type": "string",
- "description": "The name of the security group.\n"
+ "description": "The network area ID to which the routing table is associated.\n"
},
- "projectId": {
+ "nextHop": {
+ "$ref": "#/types/stackit:index/RoutingTableRouteNextHop:RoutingTableRouteNextHop",
+ "description": "Next hop destination.\n"
+ },
+ "organizationId": {
"type": "string",
- "description": "STACKIT project ID to which the security group is associated.\n"
+ "description": "STACKIT organization ID to which the routing table is associated.\n"
},
- "securityGroupId": {
+ "region": {
"type": "string",
- "description": "The security group ID.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "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"
+ "routeId": {
+ "type": "string",
+ "description": "The ID of the route.\n"
+ },
+ "routingTableId": {
+ "type": "string",
+ "description": "The routing tables ID.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the route was updated.\n"
}
},
"required": [
- "description",
- "name",
- "projectId",
- "securityGroupId",
- "stateful"
+ "createdAt",
+ "destination",
+ "networkAreaId",
+ "nextHop",
+ "organizationId",
+ "region",
+ "routeId",
+ "routingTableId",
+ "updatedAt"
],
"inputProperties": {
- "description": {
- "type": "string",
- "description": "The description of the security group.\n"
+ "destination": {
+ "$ref": "#/types/stackit:index/RoutingTableRouteDestination:RoutingTableRouteDestination",
+ "description": "Destination of the route.\n"
},
"labels": {
"type": "object",
@@ -10420,28 +11273,44 @@
},
"description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "name": {
+ "networkAreaId": {
"type": "string",
- "description": "The name of the security group.\n"
+ "description": "The network area ID to which the routing table is associated.\n"
},
- "projectId": {
+ "nextHop": {
+ "$ref": "#/types/stackit:index/RoutingTableRouteNextHop:RoutingTableRouteNextHop",
+ "description": "Next hop destination.\n"
+ },
+ "organizationId": {
"type": "string",
- "description": "STACKIT project ID to which the security group is associated.\n"
+ "description": "STACKIT organization ID to which the routing table is associated.\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"
+ "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"
}
},
"requiredInputs": [
- "projectId"
+ "destination",
+ "networkAreaId",
+ "nextHop",
+ "organizationId",
+ "routingTableId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SecurityGroup resources.\n",
+ "description": "Input properties used for looking up and filtering RoutingTableRoute resources.\n",
"properties": {
- "description": {
+ "createdAt": {
"type": "string",
- "description": "The description of the security group.\n"
+ "description": "Date-time when the route was created.\n"
+ },
+ "destination": {
+ "$ref": "#/types/stackit:index/RoutingTableRouteDestination:RoutingTableRouteDestination",
+ "description": "Destination of the route.\n"
},
"labels": {
"type": "object",
@@ -10450,1970 +11319,3584 @@
},
"description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "name": {
+ "networkAreaId": {
"type": "string",
- "description": "The name of the security group.\n"
+ "description": "The network area ID to which the routing table is associated.\n"
},
- "projectId": {
+ "nextHop": {
+ "$ref": "#/types/stackit:index/RoutingTableRouteNextHop:RoutingTableRouteNextHop",
+ "description": "Next hop destination.\n"
+ },
+ "organizationId": {
"type": "string",
- "description": "STACKIT project ID to which the security group is associated.\n"
+ "description": "STACKIT organization ID to which the routing table is associated.\n"
},
- "securityGroupId": {
+ "region": {
"type": "string",
- "description": "The security group ID.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "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"
+ "routeId": {
+ "type": "string",
+ "description": "The ID of the route.\n"
+ },
+ "routingTableId": {
+ "type": "string",
+ "description": "The routing tables ID.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the route was updated.\n"
}
},
"type": "object"
}
},
- "stackit:index/securityGroupRule:SecurityGroupRule": {
- "description": "Security group rule resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group_rule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n direction = \"ingress\"\n icmp_parameters = {\n code = 0\n type = 8\n }\n protocol = {\n name = \"icmp\"\n }\n}\n```\n",
+ "stackit:index/scfOrganization:ScfOrganization": {
+ "description": "STACKIT Cloud Foundry organization resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_scf_organization\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n}\n\nresource \"stackit_scf_organization\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n platform_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n quota_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n suspended = false\n}\n\n# Only use the import statement, if you want to import an existing scf organization\nimport {\n to = stackit_scf_organization.import-example\n id = \"${var.project_id},${var.region},${var.org_id}\"\n}\n```\n",
"properties": {
- "description": {
+ "createdAt": {
"type": "string",
- "description": "The rule description.\n"
+ "description": "The time when the organization was created\n"
},
- "direction": {
+ "name": {
"type": "string",
- "description": "The direction of the traffic which the rule should match. Some of the possible values are: Supported values are: `ingress`, `egress`.\n"
+ "description": "The name of the organization\n"
},
- "etherType": {
+ "orgId": {
"type": "string",
- "description": "The ethertype which the rule should match.\n"
- },
- "icmpParameters": {
- "$ref": "#/types/stackit:index/SecurityGroupRuleIcmpParameters:SecurityGroupRuleIcmpParameters",
- "description": "ICMP Parameters. These parameters should only be provided if the protocol is ICMP.\n"
+ "description": "The ID of the Cloud Foundry Organization\n"
},
- "ipRange": {
+ "platformId": {
"type": "string",
- "description": "The remote IP range which the rule should match.\n"
- },
- "portRange": {
- "$ref": "#/types/stackit:index/SecurityGroupRulePortRange:SecurityGroupRulePortRange",
- "description": "The range of ports. This should only be provided if the protocol is not ICMP.\n"
+ "description": "The ID of the platform associated with the organization\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the security group rule is associated.\n"
+ "description": "The ID of the project associated with the organization\n"
},
- "protocol": {
- "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol",
- "description": "The internet protocol which the rule should match.\n"
+ "quotaId": {
+ "type": "string",
+ "description": "The ID of the quota associated with the organization\n"
},
- "remoteSecurityGroupId": {
+ "region": {
"type": "string",
- "description": "The remote security group which the rule should match.\n"
+ "description": "The resource region. If not defined, the provider region is used\n"
},
- "securityGroupId": {
+ "status": {
"type": "string",
- "description": "The security group ID.\n"
+ "description": "The status of the organization (e.g., deleting, delete_failed)\n"
},
- "securityGroupRuleId": {
+ "suspended": {
+ "type": "boolean",
+ "description": "A boolean indicating whether the organization is suspended\n"
+ },
+ "updatedAt": {
"type": "string",
- "description": "The security group rule ID.\n"
+ "description": "The time when the organization was last updated\n"
}
},
"required": [
- "direction",
- "etherType",
- "icmpParameters",
- "portRange",
+ "createdAt",
+ "name",
+ "orgId",
+ "platformId",
"projectId",
- "protocol",
- "securityGroupId",
- "securityGroupRuleId"
+ "quotaId",
+ "region",
+ "status",
+ "suspended",
+ "updatedAt"
],
"inputProperties": {
- "description": {
- "type": "string",
- "description": "The rule description.\n"
- },
- "direction": {
- "type": "string",
- "description": "The direction of the traffic which the rule should match. Some of the possible values are: Supported values are: `ingress`, `egress`.\n"
- },
- "etherType": {
+ "name": {
"type": "string",
- "description": "The ethertype which the rule should match.\n"
+ "description": "The name of the organization\n"
},
- "icmpParameters": {
- "$ref": "#/types/stackit:index/SecurityGroupRuleIcmpParameters:SecurityGroupRuleIcmpParameters",
- "description": "ICMP Parameters. These parameters should only be provided if the protocol is ICMP.\n"
- },
- "ipRange": {
+ "platformId": {
"type": "string",
- "description": "The remote IP range which the rule should match.\n"
- },
- "portRange": {
- "$ref": "#/types/stackit:index/SecurityGroupRulePortRange:SecurityGroupRulePortRange",
- "description": "The range of ports. This should only be provided if the protocol is not ICMP.\n"
+ "description": "The ID of the platform associated with the organization\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the security group rule is associated.\n"
- },
- "protocol": {
- "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol",
- "description": "The internet protocol which the rule should match.\n"
+ "description": "The ID of the project associated with the organization\n"
},
- "remoteSecurityGroupId": {
+ "quotaId": {
"type": "string",
- "description": "The remote security group which the rule should match.\n"
+ "description": "The ID of the quota associated with the organization\n"
},
- "securityGroupId": {
+ "region": {
"type": "string",
- "description": "The security group ID.\n"
+ "description": "The resource region. If not defined, the provider region is used\n"
+ },
+ "suspended": {
+ "type": "boolean",
+ "description": "A boolean indicating whether the organization is suspended\n"
}
},
"requiredInputs": [
- "direction",
- "projectId",
- "securityGroupId"
+ "projectId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SecurityGroupRule resources.\n",
+ "description": "Input properties used for looking up and filtering ScfOrganization resources.\n",
"properties": {
- "description": {
+ "createdAt": {
"type": "string",
- "description": "The rule description.\n"
+ "description": "The time when the organization was created\n"
},
- "direction": {
+ "name": {
"type": "string",
- "description": "The direction of the traffic which the rule should match. Some of the possible values are: Supported values are: `ingress`, `egress`.\n"
+ "description": "The name of the organization\n"
},
- "etherType": {
+ "orgId": {
"type": "string",
- "description": "The ethertype which the rule should match.\n"
- },
- "icmpParameters": {
- "$ref": "#/types/stackit:index/SecurityGroupRuleIcmpParameters:SecurityGroupRuleIcmpParameters",
- "description": "ICMP Parameters. These parameters should only be provided if the protocol is ICMP.\n"
+ "description": "The ID of the Cloud Foundry Organization\n"
},
- "ipRange": {
+ "platformId": {
"type": "string",
- "description": "The remote IP range which the rule should match.\n"
- },
- "portRange": {
- "$ref": "#/types/stackit:index/SecurityGroupRulePortRange:SecurityGroupRulePortRange",
- "description": "The range of ports. This should only be provided if the protocol is not ICMP.\n"
+ "description": "The ID of the platform associated with the organization\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the security group rule is associated.\n"
+ "description": "The ID of the project associated with the organization\n"
},
- "protocol": {
- "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol",
- "description": "The internet protocol which the rule should match.\n"
+ "quotaId": {
+ "type": "string",
+ "description": "The ID of the quota associated with the organization\n"
},
- "remoteSecurityGroupId": {
+ "region": {
"type": "string",
- "description": "The remote security group which the rule should match.\n"
+ "description": "The resource region. If not defined, the provider region is used\n"
},
- "securityGroupId": {
+ "status": {
"type": "string",
- "description": "The security group ID.\n"
+ "description": "The status of the organization (e.g., deleting, delete_failed)\n"
},
- "securityGroupRuleId": {
+ "suspended": {
+ "type": "boolean",
+ "description": "A boolean indicating whether the organization is suspended\n"
+ },
+ "updatedAt": {
"type": "string",
- "description": "The security group rule ID.\n"
+ "description": "The time when the organization was last updated\n"
}
},
"type": "object"
}
},
- "stackit:index/server:Server": {
- "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g1.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g1.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g1.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g1.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\t\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g1.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g1.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g1.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n",
+ "stackit:index/scfOrganizationManager:ScfOrganizationManager": {
+ "description": "STACKIT Cloud Foundry organization manager resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_scf_organization_manager\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n org_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing scf org user\n# The password field is still null after import and must be entered manually in the state.\nimport {\n to = stackit_scf_organization_manager.import-example\n id = \"${var.project_id},${var.region},${var.org_id},${var.user_id}\"\n}\n```\n",
"properties": {
- "affinityGroup": {
- "type": "string",
- "description": "The affinity group the server is assigned to.\n"
- },
- "availabilityZone": {
- "type": "string",
- "description": "The availability zone of the server.\n"
- },
- "bootVolume": {
- "$ref": "#/types/stackit:index/ServerBootVolume:ServerBootVolume",
- "description": "The boot volume for the server\n"
- },
"createdAt": {
"type": "string",
- "description": "Date-time when the server was created\n"
- },
- "desiredStatus": {
- "type": "string",
- "description": "The desired status of the server resource. Supported values are: `active`, `inactive`, `deallocated`.\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"
+ "description": "The time when the organization manager was created\n"
},
- "launchedAt": {
+ "orgId": {
"type": "string",
- "description": "Date-time when the server was launched\n"
+ "description": "The ID of the Cloud Foundry Organization\n"
},
- "machineType": {
+ "password": {
"type": "string",
- "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n"
+ "description": "An auto-generated password\n",
+ "secret": true
},
- "name": {
+ "platformId": {
"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": "The ID of the platform associated with the organization of the organization manager\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the server is associated.\n"
+ "description": "The ID of the project associated with the organization of the organization manager\n"
},
- "serverId": {
+ "region": {
"type": "string",
- "description": "The server ID.\n"
+ "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n"
},
"updatedAt": {
"type": "string",
- "description": "Date-time when the server was updated\n"
+ "description": "The time when the organization manager was last updated\n"
},
- "userData": {
+ "userId": {
"type": "string",
- "description": "User data that is passed via cloud-init to the server.\n"
+ "description": "The ID of the organization manager user\n"
+ },
+ "username": {
+ "type": "string",
+ "description": "An auto-generated organization manager user name\n"
}
},
"required": [
- "availabilityZone",
"createdAt",
- "launchedAt",
- "machineType",
- "name",
+ "orgId",
+ "password",
+ "platformId",
"projectId",
- "serverId",
- "updatedAt"
+ "region",
+ "updatedAt",
+ "userId",
+ "username"
],
"inputProperties": {
- "affinityGroup": {
- "type": "string",
- "description": "The affinity group the server is assigned to.\n"
- },
- "availabilityZone": {
- "type": "string",
- "description": "The availability zone of the server.\n"
- },
- "bootVolume": {
- "$ref": "#/types/stackit:index/ServerBootVolume:ServerBootVolume",
- "description": "The boot volume for the server\n"
- },
- "desiredStatus": {
- "type": "string",
- "description": "The desired status of the server resource. Supported values are: `active`, `inactive`, `deallocated`.\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"
- },
- "machineType": {
- "type": "string",
- "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n"
- },
- "name": {
+ "orgId": {
"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": "The ID of the Cloud Foundry Organization\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the server is associated.\n"
+ "description": "The ID of the project associated with the organization of the organization manager\n"
},
- "userData": {
+ "region": {
"type": "string",
- "description": "User data that is passed via cloud-init to the server.\n"
+ "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n"
}
},
"requiredInputs": [
- "machineType",
+ "orgId",
"projectId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering Server resources.\n",
+ "description": "Input properties used for looking up and filtering ScfOrganizationManager resources.\n",
"properties": {
- "affinityGroup": {
- "type": "string",
- "description": "The affinity group the server is assigned to.\n"
- },
- "availabilityZone": {
- "type": "string",
- "description": "The availability zone of the server.\n"
- },
- "bootVolume": {
- "$ref": "#/types/stackit:index/ServerBootVolume:ServerBootVolume",
- "description": "The boot volume for the server\n"
- },
"createdAt": {
"type": "string",
- "description": "Date-time when the server was created\n"
- },
- "desiredStatus": {
- "type": "string",
- "description": "The desired status of the server resource. Supported values are: `active`, `inactive`, `deallocated`.\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"
+ "description": "The time when the organization manager was created\n"
},
- "launchedAt": {
+ "orgId": {
"type": "string",
- "description": "Date-time when the server was launched\n"
+ "description": "The ID of the Cloud Foundry Organization\n"
},
- "machineType": {
+ "password": {
"type": "string",
- "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n"
+ "description": "An auto-generated password\n",
+ "secret": true
},
- "name": {
+ "platformId": {
"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": "The ID of the platform associated with the organization of the organization manager\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the server is associated.\n"
+ "description": "The ID of the project associated with the organization of the organization manager\n"
},
- "serverId": {
+ "region": {
"type": "string",
- "description": "The server ID.\n"
+ "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n"
},
"updatedAt": {
"type": "string",
- "description": "Date-time when the server was updated\n"
+ "description": "The time when the organization manager was last updated\n"
},
- "userData": {
+ "userId": {
"type": "string",
- "description": "User data that is passed via cloud-init to the server.\n"
+ "description": "The ID of the organization manager user\n"
+ },
+ "username": {
+ "type": "string",
+ "description": "An auto-generated organization manager user name\n"
}
},
"type": "object"
}
},
- "stackit:index/serverBackupSchedule:ServerBackupSchedule": {
- "description": "Server backup schedule resource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_backup_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example_backup_schedule_name\"\n rrule = \"DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1\"\n enabled = true\n backup_properties = {\n name = \"example_backup_name\"\n retention_period = 14\n volume_ids = null\n }\n}\n```\n",
+ "stackit:index/secretsmanagerInstance:SecretsmanagerInstance": {
+ "description": "Secrets Manager instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acls = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n}\n\n# Only use the import statement, if you want to import an existing secretsmanager instance\nimport {\n to = stackit_secretsmanager_instance.import-example\n id = \"${var.project_id},${var.secret_instance_id}\"\n}\n```\n",
"properties": {
- "backupProperties": {
- "$ref": "#/types/stackit:index/ServerBackupScheduleBackupProperties:ServerBackupScheduleBackupProperties",
- "description": "Backup schedule details for the backups.\n"
- },
- "backupScheduleId": {
- "type": "integer",
- "description": "Backup schedule ID.\n"
+ "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": "Is the backup schedule enabled or disabled.\n"
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the Secrets Manager instance.\n"
},
"name": {
"type": "string",
- "description": "The schedule name.\n"
+ "description": "Instance name.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT Project ID to which the server is associated.\n"
- },
- "region": {
- "type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
- },
- "rrule": {
- "type": "string",
- "description": "Backup schedule described in `rrule` (recurrence rule) format.\n"
- },
- "serverId": {
- "type": "string",
- "description": "Server ID for the backup schedule.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
}
},
"required": [
- "backupProperties",
- "backupScheduleId",
- "enabled",
+ "instanceId",
"name",
- "projectId",
- "region",
- "rrule",
- "serverId"
+ "projectId"
],
"inputProperties": {
- "backupProperties": {
- "$ref": "#/types/stackit:index/ServerBackupScheduleBackupProperties:ServerBackupScheduleBackupProperties",
- "description": "Backup schedule details for the backups.\n"
- },
- "enabled": {
- "type": "boolean",
- "description": "Is the backup schedule enabled or disabled.\n"
+ "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"
},
"name": {
"type": "string",
- "description": "The schedule name.\n"
+ "description": "Instance name.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT Project ID to which the server is associated.\n"
- },
- "region": {
- "type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
- },
- "rrule": {
- "type": "string",
- "description": "Backup schedule described in `rrule` (recurrence rule) format.\n"
- },
- "serverId": {
- "type": "string",
- "description": "Server ID for the backup schedule.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
}
},
"requiredInputs": [
- "backupProperties",
- "enabled",
- "projectId",
- "rrule",
- "serverId"
+ "projectId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering ServerBackupSchedule resources.\n",
+ "description": "Input properties used for looking up and filtering SecretsmanagerInstance resources.\n",
"properties": {
- "backupProperties": {
- "$ref": "#/types/stackit:index/ServerBackupScheduleBackupProperties:ServerBackupScheduleBackupProperties",
- "description": "Backup schedule details for the backups.\n"
- },
- "backupScheduleId": {
- "type": "integer",
- "description": "Backup schedule ID.\n"
+ "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": "Is the backup schedule enabled or disabled.\n"
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the Secrets Manager instance.\n"
},
"name": {
"type": "string",
- "description": "The schedule name.\n"
+ "description": "Instance name.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT Project ID to which the server is associated.\n"
- },
- "region": {
- "type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
- },
- "rrule": {
- "type": "string",
- "description": "Backup schedule described in `rrule` (recurrence rule) format.\n"
- },
- "serverId": {
- "type": "string",
- "description": "Server ID for the backup schedule.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
}
},
"type": "object"
}
},
- "stackit:index/serverNetworkInterfaceAttach:ServerNetworkInterfaceAttach": {
- "description": "Network interface attachment resource schema. Attaches a network interface to a server. Must have a `region` specified in the provider configuration. The attachment only takes full effect after server reboot.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_network_interface_attach\" \"attached_network_interface\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "stackit:index/secretsmanagerUser:SecretsmanagerUser": {
+ "description": "Secrets Manager user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Example user\"\n write_enabled = false\n}\n\n# Only use the import statement, if you want to import an existing secretsmanager user\nimport {\n to = stackit_secretsmanager_user.import-example\n id = \"${var.project_id},${var.secret_instance_id},${var.secret_user_id}\"\n}\n```\n",
"properties": {
- "networkInterfaceId": {
+ "description": {
"type": "string",
- "description": "The network interface ID.\n"
+ "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the Secrets Manager instance.\n"
+ },
+ "password": {
+ "type": "string",
+ "description": "An auto-generated password.\n",
+ "secret": true
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the network interface attachment is associated.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
},
- "serverId": {
+ "userId": {
"type": "string",
- "description": "The server ID.\n"
+ "description": "The user's ID.\n"
+ },
+ "username": {
+ "type": "string",
+ "description": "An auto-generated user name.\n"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "If true, the user has writeaccess to the secrets engine.\n"
}
},
"required": [
- "networkInterfaceId",
+ "description",
+ "instanceId",
+ "password",
"projectId",
- "serverId"
+ "userId",
+ "username",
+ "writeEnabled"
],
"inputProperties": {
- "networkInterfaceId": {
+ "description": {
"type": "string",
- "description": "The network interface ID.\n"
+ "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n"
},
- "projectId": {
+ "instanceId": {
"type": "string",
- "description": "STACKIT project ID to which the network interface attachment is associated.\n"
+ "description": "ID of the Secrets Manager instance.\n"
},
- "serverId": {
+ "projectId": {
"type": "string",
- "description": "The server ID.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "If true, the user has writeaccess to the secrets engine.\n"
}
},
"requiredInputs": [
- "networkInterfaceId",
+ "description",
+ "instanceId",
"projectId",
- "serverId"
+ "writeEnabled"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering ServerNetworkInterfaceAttach resources.\n",
+ "description": "Input properties used for looking up and filtering SecretsmanagerUser resources.\n",
"properties": {
- "networkInterfaceId": {
+ "description": {
"type": "string",
- "description": "The network interface ID.\n"
+ "description": "A user chosen description to differentiate between multiple users. Can't be changed after creation.\n"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the Secrets Manager instance.\n"
+ },
+ "password": {
+ "type": "string",
+ "description": "An auto-generated password.\n",
+ "secret": true
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the network interface attachment is associated.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
},
- "serverId": {
+ "userId": {
"type": "string",
- "description": "The server ID.\n"
+ "description": "The user's ID.\n"
+ },
+ "username": {
+ "type": "string",
+ "description": "An auto-generated user name.\n"
+ },
+ "writeEnabled": {
+ "type": "boolean",
+ "description": "If true, the user has writeaccess to the secrets engine.\n"
}
},
"type": "object"
}
},
- "stackit:index/serverServiceAccountAttach:ServerServiceAccountAttach": {
- "description": "Service account attachment resource schema. Attaches a service account to a server. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_service_account_attach\" \"attached_service_account\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = \"service-account@stackit.cloud\"\n}\n```\n",
+ "stackit:index/securityGroup:SecurityGroup": {
+ "description": "Security group resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_security_group\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing security group\nimport {\n to = stackit_security_group.import-example\n id = \"${var.project_id},${var.security_group_id}\"\n}\n```\n",
"properties": {
- "projectId": {
+ "description": {
"type": "string",
- "description": "STACKIT project ID to which the service account attachment is associated.\n"
+ "description": "The description of the security group.\n"
},
- "serverId": {
+ "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 server ID.\n"
+ "description": "The name of the security group.\n"
},
- "serviceAccountEmail": {
+ "projectId": {
"type": "string",
- "description": "The service account email.\n"
+ "description": "STACKIT project ID to which the security group is associated.\n"
+ },
+ "securityGroupId": {
+ "type": "string",
+ "description": "The security group ID.\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"
}
},
"required": [
+ "description",
+ "name",
"projectId",
- "serverId",
- "serviceAccountEmail"
+ "securityGroupId",
+ "stateful"
],
"inputProperties": {
- "projectId": {
+ "description": {
"type": "string",
- "description": "STACKIT project ID to which the service account attachment is associated.\n"
+ "description": "The description of the security group.\n"
},
- "serverId": {
+ "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 server ID.\n"
+ "description": "The name of the security group.\n"
},
- "serviceAccountEmail": {
+ "projectId": {
"type": "string",
- "description": "The service account email.\n"
+ "description": "STACKIT project ID to which the security group is associated.\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"
}
},
"requiredInputs": [
- "projectId",
- "serverId",
- "serviceAccountEmail"
+ "projectId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering ServerServiceAccountAttach resources.\n",
+ "description": "Input properties used for looking up and filtering SecurityGroup resources.\n",
"properties": {
- "projectId": {
+ "description": {
"type": "string",
- "description": "STACKIT project ID to which the service account attachment is associated.\n"
+ "description": "The description of the security group.\n"
},
- "serverId": {
+ "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 server ID.\n"
+ "description": "The name of the security group.\n"
},
- "serviceAccountEmail": {
+ "projectId": {
"type": "string",
- "description": "The service account email.\n"
+ "description": "STACKIT project ID to which the security group is associated.\n"
+ },
+ "securityGroupId": {
+ "type": "string",
+ "description": "The security group ID.\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"
}
},
"type": "object"
}
},
- "stackit:index/serverUpdateSchedule:ServerUpdateSchedule": {
- "description": "Server update schedule resource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_update_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example_update_schedule_name\"\n rrule = \"DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1\"\n enabled = true\n maintenance_window = 1\n}\n```\n",
+ "stackit:index/securityGroupRule:SecurityGroupRule": {
+ "description": "Security group rule resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group_rule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n direction = \"ingress\"\n icmp_parameters = {\n code = 0\n type = 8\n }\n protocol = {\n name = \"icmp\"\n }\n}\n\n# Only use the import statement, if you want to import an existing security group rule\n# Note: There will be a conflict which needs to be resolved manually.\n# Attribute \"protocol.number\" cannot be specified when \"protocol.name\" is specified.\nimport {\n to = stackit_security_group_rule.import-example\n id = \"${var.project_id},${var.security_group_id},${var.security_group_rule_id}\"\n}\n```\n",
"properties": {
- "enabled": {
- "type": "boolean",
- "description": "Is the update schedule enabled or disabled.\n"
+ "description": {
+ "type": "string",
+ "description": "The rule description.\n"
},
- "maintenanceWindow": {
- "type": "integer",
- "description": "Maintenance window [1..24].\n"
+ "direction": {
+ "type": "string",
+ "description": "The direction of the traffic which the rule should match. Some of the possible values are: Supported values are: `ingress`, `egress`.\n"
},
- "name": {
+ "etherType": {
"type": "string",
- "description": "The schedule name.\n"
+ "description": "The ethertype which the rule should match.\n"
},
- "projectId": {
+ "icmpParameters": {
+ "$ref": "#/types/stackit:index/SecurityGroupRuleIcmpParameters:SecurityGroupRuleIcmpParameters",
+ "description": "ICMP Parameters. These parameters should only be provided if the protocol is ICMP.\n"
+ },
+ "ipRange": {
"type": "string",
- "description": "STACKIT Project ID to which the server is associated.\n"
+ "description": "The remote IP range which the rule should match.\n"
},
- "region": {
+ "portRange": {
+ "$ref": "#/types/stackit:index/SecurityGroupRulePortRange:SecurityGroupRulePortRange",
+ "description": "The range of ports. This should only be provided if the protocol is not ICMP.\n"
+ },
+ "projectId": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "STACKIT project ID to which the security group rule is associated.\n"
},
- "rrule": {
+ "protocol": {
+ "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol",
+ "description": "The internet protocol which the rule should match.\n"
+ },
+ "remoteSecurityGroupId": {
"type": "string",
- "description": "Update schedule described in `rrule` (recurrence rule) format.\n"
+ "description": "The remote security group which the rule should match.\n"
},
- "serverId": {
+ "securityGroupId": {
"type": "string",
- "description": "Server ID for the update schedule.\n"
+ "description": "The security group ID.\n"
},
- "updateScheduleId": {
- "type": "integer",
- "description": "Update schedule ID.\n"
+ "securityGroupRuleId": {
+ "type": "string",
+ "description": "The security group rule ID.\n"
}
},
"required": [
- "enabled",
- "maintenanceWindow",
- "name",
+ "direction",
+ "etherType",
+ "icmpParameters",
+ "portRange",
"projectId",
- "region",
- "rrule",
- "serverId",
- "updateScheduleId"
+ "protocol",
+ "securityGroupId",
+ "securityGroupRuleId"
],
"inputProperties": {
- "enabled": {
- "type": "boolean",
- "description": "Is the update schedule enabled or disabled.\n"
- },
- "maintenanceWindow": {
- "type": "integer",
- "description": "Maintenance window [1..24].\n"
- },
- "name": {
+ "description": {
"type": "string",
- "description": "The schedule name.\n"
+ "description": "The rule description.\n"
},
- "projectId": {
+ "direction": {
"type": "string",
- "description": "STACKIT Project ID to which the server is associated.\n"
+ "description": "The direction of the traffic which the rule should match. Some of the possible values are: Supported values are: `ingress`, `egress`.\n"
},
- "region": {
+ "etherType": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "The ethertype which the rule should match.\n"
},
- "rrule": {
- "type": "string",
- "description": "Update schedule described in `rrule` (recurrence rule) format.\n"
+ "icmpParameters": {
+ "$ref": "#/types/stackit:index/SecurityGroupRuleIcmpParameters:SecurityGroupRuleIcmpParameters",
+ "description": "ICMP Parameters. These parameters should only be provided if the protocol is ICMP.\n"
},
- "serverId": {
+ "ipRange": {
"type": "string",
- "description": "Server ID for the update schedule.\n"
- }
- },
- "requiredInputs": [
- "enabled",
- "maintenanceWindow",
+ "description": "The remote IP range which the rule should match.\n"
+ },
+ "portRange": {
+ "$ref": "#/types/stackit:index/SecurityGroupRulePortRange:SecurityGroupRulePortRange",
+ "description": "The range of ports. This should only be provided if the protocol is not ICMP.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the security group rule is associated.\n"
+ },
+ "protocol": {
+ "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol",
+ "description": "The internet protocol which the rule should match.\n"
+ },
+ "remoteSecurityGroupId": {
+ "type": "string",
+ "description": "The remote security group which the rule should match.\n"
+ },
+ "securityGroupId": {
+ "type": "string",
+ "description": "The security group ID.\n"
+ }
+ },
+ "requiredInputs": [
+ "direction",
"projectId",
- "rrule",
- "serverId"
+ "securityGroupId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering ServerUpdateSchedule resources.\n",
+ "description": "Input properties used for looking up and filtering SecurityGroupRule resources.\n",
"properties": {
- "enabled": {
- "type": "boolean",
- "description": "Is the update schedule enabled or disabled.\n"
+ "description": {
+ "type": "string",
+ "description": "The rule description.\n"
},
- "maintenanceWindow": {
- "type": "integer",
- "description": "Maintenance window [1..24].\n"
+ "direction": {
+ "type": "string",
+ "description": "The direction of the traffic which the rule should match. Some of the possible values are: Supported values are: `ingress`, `egress`.\n"
},
- "name": {
+ "etherType": {
"type": "string",
- "description": "The schedule name.\n"
+ "description": "The ethertype which the rule should match.\n"
},
- "projectId": {
+ "icmpParameters": {
+ "$ref": "#/types/stackit:index/SecurityGroupRuleIcmpParameters:SecurityGroupRuleIcmpParameters",
+ "description": "ICMP Parameters. These parameters should only be provided if the protocol is ICMP.\n"
+ },
+ "ipRange": {
"type": "string",
- "description": "STACKIT Project ID to which the server is associated.\n"
+ "description": "The remote IP range which the rule should match.\n"
},
- "region": {
+ "portRange": {
+ "$ref": "#/types/stackit:index/SecurityGroupRulePortRange:SecurityGroupRulePortRange",
+ "description": "The range of ports. This should only be provided if the protocol is not ICMP.\n"
+ },
+ "projectId": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "STACKIT project ID to which the security group rule is associated.\n"
},
- "rrule": {
+ "protocol": {
+ "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol",
+ "description": "The internet protocol which the rule should match.\n"
+ },
+ "remoteSecurityGroupId": {
"type": "string",
- "description": "Update schedule described in `rrule` (recurrence rule) format.\n"
+ "description": "The remote security group which the rule should match.\n"
},
- "serverId": {
+ "securityGroupId": {
"type": "string",
- "description": "Server ID for the update schedule.\n"
+ "description": "The security group ID.\n"
},
- "updateScheduleId": {
- "type": "integer",
- "description": "Update schedule ID.\n"
+ "securityGroupRuleId": {
+ "type": "string",
+ "description": "The security group rule ID.\n"
}
},
"type": "object"
}
},
- "stackit:index/serverVolumeAttach:ServerVolumeAttach": {
- "description": "Volume attachment resource schema. Attaches a volume to a server. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_volume_attach\" \"attached_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n volume_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "stackit:index/server:Server": {
+ "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\t\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n network_interfaces = [\n stackit_network_interface.example.network_interface_id\n ]\n}\n\n# Only use the import statement, if you want to import an existing server\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the boot_volume.source_type and boot_volume.source_id attribute as the provider has marked it as required.\n# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an pulumi up.\n# In order to prevent this you need to add:\n# lifecycle {\n# ignore_changes = [ boot_volume ]\n# }\nimport {\n to = stackit_server.import-example\n id = \"${var.project_id},${var.server_id}\"\n}\n```\n",
"properties": {
- "projectId": {
+ "affinityGroup": {
"type": "string",
- "description": "STACKIT project ID to which the volume attachment is associated.\n"
+ "description": "The affinity group the server is assigned to.\n"
},
- "serverId": {
+ "availabilityZone": {
"type": "string",
- "description": "The server ID.\n"
+ "description": "The availability zone of the server.\n"
},
- "volumeId": {
+ "bootVolume": {
+ "$ref": "#/types/stackit:index/ServerBootVolume:ServerBootVolume",
+ "description": "The boot volume for the server\n"
+ },
+ "createdAt": {
"type": "string",
- "description": "The volume ID.\n"
- }
- },
- "required": [
- "projectId",
- "serverId",
- "volumeId"
- ],
- "inputProperties": {
- "projectId": {
+ "description": "Date-time when the server was created\n"
+ },
+ "desiredStatus": {
"type": "string",
- "description": "STACKIT project ID to which the volume attachment is associated.\n"
+ "description": "The desired status of the server resource. Supported values are: `active`, `inactive`, `deallocated`.\n"
},
- "serverId": {
+ "imageId": {
"type": "string",
- "description": "The server ID.\n"
+ "description": "The image ID to be used for an ephemeral disk on the server.\n"
},
- "volumeId": {
+ "keypairName": {
"type": "string",
- "description": "The volume ID.\n"
- }
- },
- "requiredInputs": [
- "projectId",
- "serverId",
- "volumeId"
- ],
- "stateInputs": {
- "description": "Input properties used for looking up and filtering ServerVolumeAttach resources.\n",
- "properties": {
- "projectId": {
- "type": "string",
- "description": "STACKIT project ID to which the volume attachment is associated.\n"
- },
- "serverId": {
- "type": "string",
- "description": "The server ID.\n"
+ "description": "The name of the keypair used during server creation.\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
},
- "volumeId": {
- "type": "string",
- "description": "The volume ID.\n"
- }
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "type": "object"
- }
- },
- "stackit:index/serviceAccount:ServiceAccount": {
- "description": "Service account resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n```\n",
- "properties": {
- "email": {
+ "launchedAt": {
"type": "string",
- "description": "Email of the service account.\n"
+ "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/stackit/en/virtual-machine-flavors-75137231.html)\n"
},
"name": {
"type": "string",
- "description": "Name of the service account.\n"
+ "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": "STACKIT project ID to which the service account is associated.\n"
+ "description": "STACKIT project ID to which the server is associated.\n"
+ },
+ "serverId": {
+ "type": "string",
+ "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"
}
},
"required": [
- "email",
+ "availabilityZone",
+ "createdAt",
+ "launchedAt",
+ "machineType",
"name",
- "projectId"
+ "projectId",
+ "serverId",
+ "updatedAt"
],
"inputProperties": {
- "name": {
+ "affinityGroup": {
"type": "string",
- "description": "Name of the service account.\n"
+ "description": "The affinity group the server is assigned to.\n"
},
- "projectId": {
+ "availabilityZone": {
"type": "string",
- "description": "STACKIT project ID to which the service account is associated.\n"
- }
- },
- "requiredInputs": [
- "projectId"
- ],
- "stateInputs": {
- "description": "Input properties used for looking up and filtering ServiceAccount resources.\n",
- "properties": {
- "email": {
- "type": "string",
- "description": "Email of the service account.\n"
- },
- "name": {
- "type": "string",
- "description": "Name of the service account.\n"
- },
- "projectId": {
- "type": "string",
- "description": "STACKIT project ID to which the service account is associated.\n"
- }
+ "description": "The availability zone of the server.\n"
},
- "type": "object"
- }
- },
- "stackit:index/serviceAccountAccessToken:ServiceAccountAccessToken": {
- "description": "Service account access token schema.\n## Example Usage\n\n### Automatically rotate access tokens\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_access_token\" \"sa_token\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 180\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n```\n",
- "properties": {
- "accessTokenId": {
- "type": "string",
- "description": "Identifier for the access token linked to the service account.\n"
+ "bootVolume": {
+ "$ref": "#/types/stackit:index/ServerBootVolume:ServerBootVolume",
+ "description": "The boot volume for the server\n"
},
- "active": {
- "type": "boolean",
- "description": "Indicate whether the token is currently active or inactive\n"
+ "desiredStatus": {
+ "type": "string",
+ "description": "The desired status of the server resource. Supported values are: `active`, `inactive`, `deallocated`.\n"
},
- "createdAt": {
+ "imageId": {
"type": "string",
- "description": "Timestamp indicating when the access token was created.\n"
+ "description": "The image ID to be used for an ephemeral disk on the server.\n"
},
- "projectId": {
+ "keypairName": {
"type": "string",
- "description": "STACKIT project ID associated with the service account token.\n"
+ "description": "The name of the keypair used during server creation.\n"
},
- "rotateWhenChanged": {
+ "labels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "A map of arbitrary key/value pairs that will force recreation of the token when they change, enabling token rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n"
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "serviceAccountEmail": {
+ "machineType": {
"type": "string",
- "description": "Email address linked to the service account.\n"
+ "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n"
},
- "token": {
+ "name": {
"type": "string",
- "description": "JWT access token for API authentication. Prefixed by 'Bearer' and should be stored securely as it is irretrievable once lost.\n",
- "secret": true
- },
- "ttlDays": {
- "type": "integer",
- "description": "Specifies the token's validity duration in days. If unspecified, defaults to 90 days.\n"
- },
- "validUntil": {
- "type": "string",
- "description": "Estimated expiration timestamp of the access token. For precise validity, check the JWT details.\n"
- }
- },
- "required": [
- "accessTokenId",
- "active",
- "createdAt",
- "projectId",
- "serviceAccountEmail",
- "token",
- "ttlDays",
- "validUntil"
- ],
- "inputProperties": {
- "projectId": {
- "type": "string",
- "description": "STACKIT project ID associated with the service account token.\n"
+ "description": "The name of the server.\n"
},
- "rotateWhenChanged": {
- "type": "object",
- "additionalProperties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
"type": "string"
},
- "description": "A map of arbitrary key/value pairs that will force recreation of the token when they change, enabling token rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n"
+ "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server.\n"
},
- "serviceAccountEmail": {
+ "projectId": {
"type": "string",
- "description": "Email address linked to the service account.\n"
+ "description": "STACKIT project ID to which the server is associated.\n"
},
- "ttlDays": {
- "type": "integer",
- "description": "Specifies the token's validity duration in days. If unspecified, defaults to 90 days.\n"
+ "userData": {
+ "type": "string",
+ "description": "User data that is passed via cloud-init to the server.\n"
}
},
"requiredInputs": [
- "projectId",
- "serviceAccountEmail"
+ "machineType",
+ "projectId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering ServiceAccountAccessToken resources.\n",
+ "description": "Input properties used for looking up and filtering Server resources.\n",
"properties": {
- "accessTokenId": {
+ "affinityGroup": {
"type": "string",
- "description": "Identifier for the access token linked to the service account.\n"
+ "description": "The affinity group the server is assigned to.\n"
},
- "active": {
- "type": "boolean",
- "description": "Indicate whether the token is currently active or inactive\n"
+ "availabilityZone": {
+ "type": "string",
+ "description": "The availability zone of the server.\n"
+ },
+ "bootVolume": {
+ "$ref": "#/types/stackit:index/ServerBootVolume:ServerBootVolume",
+ "description": "The boot volume for the server\n"
},
"createdAt": {
"type": "string",
- "description": "Timestamp indicating when the access token was created.\n"
+ "description": "Date-time when the server was created\n"
},
- "projectId": {
+ "desiredStatus": {
"type": "string",
- "description": "STACKIT project ID associated with the service account token.\n"
+ "description": "The desired status of the server resource. Supported values are: `active`, `inactive`, `deallocated`.\n"
},
- "rotateWhenChanged": {
+ "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": "A map of arbitrary key/value pairs that will force recreation of the token when they change, enabling token rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n"
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "serviceAccountEmail": {
+ "launchedAt": {
"type": "string",
- "description": "Email address linked to the service account.\n"
+ "description": "Date-time when the server was launched\n"
},
- "token": {
+ "machineType": {
"type": "string",
- "description": "JWT access token for API authentication. Prefixed by 'Bearer' and should be stored securely as it is irretrievable once lost.\n",
- "secret": true
+ "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n"
},
- "ttlDays": {
- "type": "integer",
- "description": "Specifies the token's validity duration in days. If unspecified, defaults to 90 days.\n"
+ "name": {
+ "type": "string",
+ "description": "The name of the server.\n"
},
- "validUntil": {
+ "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": "Estimated expiration timestamp of the access token. For precise validity, check the JWT details.\n"
+ "description": "STACKIT project ID to which the server is associated.\n"
+ },
+ "serverId": {
+ "type": "string",
+ "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"
}
},
- "stackit:index/serviceAccountKey:ServiceAccountKey": {
- "description": "Service account key schema.\n## Example Usage\n\n### Automatically rotate service account keys\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_key\" \"sa_key\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 90\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\t\n}\n\n```\n",
+ "stackit:index/serverBackupSchedule:ServerBackupSchedule": {
+ "description": "Server backup schedule resource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_backup_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example_backup_schedule_name\"\n rrule = \"DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1\"\n enabled = true\n backup_properties = {\n name = \"example_backup_name\"\n retention_period = 14\n volume_ids = null\n }\n}\n\n# Only use the import statement, if you want to import an existing server backup schedule\nimport {\n to = stackit_server_backup_schedule.import-example\n id = \"${var.project_id},${var.region},${var.server_id},${var.server_backup_schedule_id}\"\n}\n```\n",
"properties": {
- "json": {
- "type": "string",
- "description": "The raw JSON representation of the service account key json, available for direct use.\n",
- "secret": true
+ "backupProperties": {
+ "$ref": "#/types/stackit:index/ServerBackupScheduleBackupProperties:ServerBackupScheduleBackupProperties",
+ "description": "Backup schedule details for the backups.\n"
},
- "keyId": {
+ "backupScheduleId": {
+ "type": "integer",
+ "description": "Backup schedule ID.\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Is the backup schedule enabled or disabled.\n"
+ },
+ "name": {
"type": "string",
- "description": "The unique identifier for the key associated with the service account.\n"
+ "description": "The schedule name.\n"
},
"projectId": {
"type": "string",
- "description": "The STACKIT project ID associated with the service account key.\n"
+ "description": "STACKIT Project ID to which the server is associated.\n"
},
- "publicKey": {
+ "region": {
"type": "string",
- "description": "Specifies the public*key (RSA2048 key-pair). If not provided, a certificate from STACKIT will be used to generate a private*key.\n"
- },
- "rotateWhenChanged": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "A map of arbitrary key/value pairs designed to force key recreation when they change, facilitating key rotation based on external factors such as a changing timestamp. Modifying this map triggers the creation of a new resource.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "serviceAccountEmail": {
+ "rrule": {
"type": "string",
- "description": "The email address associated with the service account, used for account identification and communication.\n"
+ "description": "Backup schedule described in `rrule` (recurrence rule) format.\n"
},
- "ttlDays": {
- "type": "integer",
- "description": "Specifies the key's validity duration in days. If left unspecified, the key is considered valid until it is deleted\n"
+ "serverId": {
+ "type": "string",
+ "description": "Server ID for the backup schedule.\n"
}
},
"required": [
- "json",
- "keyId",
+ "backupProperties",
+ "backupScheduleId",
+ "enabled",
+ "name",
"projectId",
- "serviceAccountEmail"
+ "region",
+ "rrule",
+ "serverId"
],
"inputProperties": {
- "projectId": {
+ "backupProperties": {
+ "$ref": "#/types/stackit:index/ServerBackupScheduleBackupProperties:ServerBackupScheduleBackupProperties",
+ "description": "Backup schedule details for the backups.\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Is the backup schedule enabled or disabled.\n"
+ },
+ "name": {
"type": "string",
- "description": "The STACKIT project ID associated with the service account key.\n"
+ "description": "The schedule name.\n"
},
- "publicKey": {
+ "projectId": {
"type": "string",
- "description": "Specifies the public*key (RSA2048 key-pair). If not provided, a certificate from STACKIT will be used to generate a private*key.\n"
+ "description": "STACKIT Project ID to which the server is associated.\n"
},
- "rotateWhenChanged": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "A map of arbitrary key/value pairs designed to force key recreation when they change, facilitating key rotation based on external factors such as a changing timestamp. Modifying this map triggers the creation of a new resource.\n"
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "serviceAccountEmail": {
+ "rrule": {
"type": "string",
- "description": "The email address associated with the service account, used for account identification and communication.\n"
+ "description": "Backup schedule described in `rrule` (recurrence rule) format.\n"
},
- "ttlDays": {
- "type": "integer",
- "description": "Specifies the key's validity duration in days. If left unspecified, the key is considered valid until it is deleted\n"
+ "serverId": {
+ "type": "string",
+ "description": "Server ID for the backup schedule.\n"
}
},
"requiredInputs": [
+ "backupProperties",
+ "enabled",
"projectId",
- "serviceAccountEmail"
+ "rrule",
+ "serverId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering ServiceAccountKey resources.\n",
+ "description": "Input properties used for looking up and filtering ServerBackupSchedule resources.\n",
"properties": {
- "json": {
- "type": "string",
- "description": "The raw JSON representation of the service account key json, available for direct use.\n",
- "secret": true
+ "backupProperties": {
+ "$ref": "#/types/stackit:index/ServerBackupScheduleBackupProperties:ServerBackupScheduleBackupProperties",
+ "description": "Backup schedule details for the backups.\n"
},
- "keyId": {
+ "backupScheduleId": {
+ "type": "integer",
+ "description": "Backup schedule ID.\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Is the backup schedule enabled or disabled.\n"
+ },
+ "name": {
"type": "string",
- "description": "The unique identifier for the key associated with the service account.\n"
+ "description": "The schedule name.\n"
},
"projectId": {
"type": "string",
- "description": "The STACKIT project ID associated with the service account key.\n"
+ "description": "STACKIT Project ID to which the server is associated.\n"
},
- "publicKey": {
+ "region": {
"type": "string",
- "description": "Specifies the public*key (RSA2048 key-pair). If not provided, a certificate from STACKIT will be used to generate a private*key.\n"
- },
- "rotateWhenChanged": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "A map of arbitrary key/value pairs designed to force key recreation when they change, facilitating key rotation based on external factors such as a changing timestamp. Modifying this map triggers the creation of a new resource.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "serviceAccountEmail": {
+ "rrule": {
"type": "string",
- "description": "The email address associated with the service account, used for account identification and communication.\n"
+ "description": "Backup schedule described in `rrule` (recurrence rule) format.\n"
},
- "ttlDays": {
- "type": "integer",
- "description": "Specifies the key's validity duration in days. If left unspecified, the key is considered valid until it is deleted\n"
+ "serverId": {
+ "type": "string",
+ "description": "Server ID for the backup schedule.\n"
}
},
"type": "object"
}
},
- "stackit:index/skeCluster:SkeCluster": {
- "description": "SKE Cluster Resource schema. Must have a `region` specified in the provider configuration.\n\n\u003e When updating `node_pools` of a `stackit.SkeCluster`, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n }\n ]\n maintenance = {\n enable_kubernetes_version_updates = true\n enable_machine_image_version_updates = true\n start = \"01:00:00Z\"\n end = \"02:00:00Z\"\n }\n}\n```\n",
+ "stackit:index/serverNetworkInterfaceAttach:ServerNetworkInterfaceAttach": {
+ "description": "Network interface attachment resource schema. Attaches a network interface to a server. Must have a `region` specified in the provider configuration. The attachment only takes full effect after server reboot.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_network_interface_attach\" \"attached_network_interface\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing server network interface attachment\nimport {\n to = stackit_server_network_interface_attach.import-example\n id = \"${var.project_id},${var.server_id},${var.network_interface_id}\"\n}\n```\n",
"properties": {
- "allowPrivilegedContainers": {
- "type": "boolean",
- "description": "Flag to specify if privileged mode for containers is enabled or not.\nThis should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs).\nDeprecated as of Kubernetes 1.25 and later\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/SkeClusterExtensions:SkeClusterExtensions",
- "description": "A single extensions block as defined below.\n"
- },
- "hibernations": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SkeClusterHibernation:SkeClusterHibernation"
- },
- "description": "One or more hibernation block as defined below.\n"
- },
- "kubernetesVersion": {
- "type": "string",
- "description": "Kubernetes version. Must only contain major and minor version (e.g. 1.22). This field is deprecated, use `kubernetes_version_min instead`\n",
- "deprecationMessage": "Use `kubernetes_version_min instead`. Setting a specific kubernetes version would cause errors during minor version upgrades due to forced updates. In those cases, this field might not represent the actual kubernetes version used in the cluster."
- },
- "kubernetesVersionMin": {
- "type": "string",
- "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field.\n"
- },
- "kubernetesVersionUsed": {
- "type": "string",
- "description": "Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n"
- },
- "maintenance": {
- "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance",
- "description": "A single maintenance block as defined below.\n"
- },
- "name": {
+ "networkInterfaceId": {
"type": "string",
- "description": "The cluster name.\n"
- },
- "network": {
- "$ref": "#/types/stackit:index/SkeClusterNetwork:SkeClusterNetwork",
- "description": "Network block as defined below.\n"
- },
- "nodePools": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
- },
- "description": "One or more `node_pool` block as defined below.\n"
+ "description": "The network interface ID.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the cluster is associated.\n"
+ "description": "STACKIT project ID to which the network interface attachment is associated.\n"
},
- "region": {
+ "serverId": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "The server ID.\n"
}
},
"required": [
- "egressAddressRanges",
- "kubernetesVersionUsed",
- "maintenance",
- "name",
- "nodePools",
+ "networkInterfaceId",
"projectId",
- "region"
+ "serverId"
],
"inputProperties": {
- "allowPrivilegedContainers": {
- "type": "boolean",
- "description": "Flag to specify if privileged mode for containers is enabled or not.\nThis should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs).\nDeprecated as of Kubernetes 1.25 and later\n"
- },
- "extensions": {
- "$ref": "#/types/stackit:index/SkeClusterExtensions:SkeClusterExtensions",
- "description": "A single extensions block as defined below.\n"
- },
- "hibernations": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SkeClusterHibernation:SkeClusterHibernation"
- },
- "description": "One or more hibernation block as defined below.\n"
- },
- "kubernetesVersion": {
- "type": "string",
- "description": "Kubernetes version. Must only contain major and minor version (e.g. 1.22). This field is deprecated, use `kubernetes_version_min instead`\n",
- "deprecationMessage": "Use `kubernetes_version_min instead`. Setting a specific kubernetes version would cause errors during minor version upgrades due to forced updates. In those cases, this field might not represent the actual kubernetes version used in the cluster."
- },
- "kubernetesVersionMin": {
- "type": "string",
- "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field.\n"
- },
- "maintenance": {
- "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance",
- "description": "A single maintenance block as defined below.\n"
- },
- "name": {
+ "networkInterfaceId": {
"type": "string",
- "description": "The cluster name.\n"
- },
- "network": {
- "$ref": "#/types/stackit:index/SkeClusterNetwork:SkeClusterNetwork",
- "description": "Network block as defined below.\n"
- },
- "nodePools": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
- },
- "description": "One or more `node_pool` block as defined below.\n"
+ "description": "The network interface ID.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the cluster is associated.\n"
+ "description": "STACKIT project ID to which the network interface attachment is associated.\n"
},
- "region": {
+ "serverId": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "The server ID.\n"
}
},
"requiredInputs": [
- "nodePools",
- "projectId"
+ "networkInterfaceId",
+ "projectId",
+ "serverId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SkeCluster resources.\n",
+ "description": "Input properties used for looking up and filtering ServerNetworkInterfaceAttach resources.\n",
"properties": {
- "allowPrivilegedContainers": {
- "type": "boolean",
- "description": "Flag to specify if privileged mode for containers is enabled or not.\nThis should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs).\nDeprecated as of Kubernetes 1.25 and later\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/SkeClusterExtensions:SkeClusterExtensions",
- "description": "A single extensions block as defined below.\n"
- },
- "hibernations": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SkeClusterHibernation:SkeClusterHibernation"
- },
- "description": "One or more hibernation block as defined below.\n"
- },
- "kubernetesVersion": {
- "type": "string",
- "description": "Kubernetes version. Must only contain major and minor version (e.g. 1.22). This field is deprecated, use `kubernetes_version_min instead`\n",
- "deprecationMessage": "Use `kubernetes_version_min instead`. Setting a specific kubernetes version would cause errors during minor version upgrades due to forced updates. In those cases, this field might not represent the actual kubernetes version used in the cluster."
- },
- "kubernetesVersionMin": {
- "type": "string",
- "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field.\n"
- },
- "kubernetesVersionUsed": {
- "type": "string",
- "description": "Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n"
- },
- "maintenance": {
- "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance",
- "description": "A single maintenance block as defined below.\n"
- },
- "name": {
+ "networkInterfaceId": {
"type": "string",
- "description": "The cluster name.\n"
- },
- "network": {
- "$ref": "#/types/stackit:index/SkeClusterNetwork:SkeClusterNetwork",
- "description": "Network block as defined below.\n"
- },
- "nodePools": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
- },
- "description": "One or more `node_pool` block as defined below.\n"
+ "description": "The network interface ID.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the cluster is associated.\n"
+ "description": "STACKIT project ID to which the network interface attachment is associated.\n"
},
- "region": {
+ "serverId": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "The server ID.\n"
}
},
"type": "object"
}
},
- "stackit:index/skeKubeconfig:SkeKubeconfig": {
- "description": "SKE kubeconfig resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_kubeconfig\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n cluster_name = \"example-cluster\"\n refresh = true\n}\n```\n",
+ "stackit:index/serverServiceAccountAttach:ServerServiceAccountAttach": {
+ "description": "Service account attachment resource schema. Attaches a service account to a server. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_service_account_attach\" \"attached_service_account\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = \"service-account@stackit.cloud\"\n}\n\n# Only use the import statement, if you want to import an existing server service account attachment\nimport {\n to = stackit_server_service_account_attach.import-example\n id = \"${var.project_id},${var.server_id},${var.service_account_email}\"\n}\n```\n",
"properties": {
- "clusterName": {
- "type": "string",
- "description": "Name of the SKE cluster.\n"
- },
- "creationTime": {
- "type": "string",
- "description": "Date-time when the kubeconfig was created\n"
- },
- "expiration": {
- "type": "integer",
- "description": "Expiration time of the kubeconfig, in seconds. Defaults to `3600`\n"
- },
- "expiresAt": {
+ "projectId": {
"type": "string",
- "description": "Timestamp when the kubeconfig expires\n"
+ "description": "STACKIT project ID to which the service account attachment is associated.\n"
},
- "kubeConfig": {
+ "serverId": {
"type": "string",
- "description": "Raw short-lived admin kubeconfig.\n",
- "secret": true
- },
- "kubeConfigId": {
- "type": "string"
+ "description": "The server ID.\n"
},
- "projectId": {
+ "serviceAccountEmail": {
"type": "string",
- "description": "STACKIT project ID to which the cluster is associated.\n"
- },
- "refresh": {
- "type": "boolean",
- "description": "If set to true, the provider will check if the kubeconfig has expired and will generated a new valid one in-place\n"
+ "description": "The service account email.\n"
}
},
"required": [
- "clusterName",
- "creationTime",
- "expiration",
- "expiresAt",
- "kubeConfig",
- "kubeConfigId",
- "projectId"
+ "projectId",
+ "serverId",
+ "serviceAccountEmail"
],
"inputProperties": {
- "clusterName": {
+ "projectId": {
"type": "string",
- "description": "Name of the SKE cluster.\n"
- },
- "expiration": {
- "type": "integer",
- "description": "Expiration time of the kubeconfig, in seconds. Defaults to `3600`\n"
+ "description": "STACKIT project ID to which the service account attachment is associated.\n"
},
- "projectId": {
+ "serverId": {
"type": "string",
- "description": "STACKIT project ID to which the cluster is associated.\n"
+ "description": "The server ID.\n"
},
- "refresh": {
- "type": "boolean",
- "description": "If set to true, the provider will check if the kubeconfig has expired and will generated a new valid one in-place\n"
+ "serviceAccountEmail": {
+ "type": "string",
+ "description": "The service account email.\n"
}
},
"requiredInputs": [
- "clusterName",
- "projectId"
+ "projectId",
+ "serverId",
+ "serviceAccountEmail"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SkeKubeconfig resources.\n",
+ "description": "Input properties used for looking up and filtering ServerServiceAccountAttach resources.\n",
"properties": {
- "clusterName": {
+ "projectId": {
"type": "string",
- "description": "Name of the SKE cluster.\n"
+ "description": "STACKIT project ID to which the service account attachment is associated.\n"
},
- "creationTime": {
+ "serverId": {
"type": "string",
- "description": "Date-time when the kubeconfig was created\n"
- },
- "expiration": {
- "type": "integer",
- "description": "Expiration time of the kubeconfig, in seconds. Defaults to `3600`\n"
+ "description": "The server ID.\n"
},
- "expiresAt": {
- "type": "string",
- "description": "Timestamp when the kubeconfig expires\n"
- },
- "kubeConfig": {
- "type": "string",
- "description": "Raw short-lived admin kubeconfig.\n",
- "secret": true
- },
- "kubeConfigId": {
- "type": "string"
- },
- "projectId": {
+ "serviceAccountEmail": {
"type": "string",
- "description": "STACKIT project ID to which the cluster is associated.\n"
- },
- "refresh": {
- "type": "boolean",
- "description": "If set to true, the provider will check if the kubeconfig has expired and will generated a new valid one in-place\n"
+ "description": "The service account email.\n"
}
},
"type": "object"
}
},
- "stackit:index/sqlserverflexInstance:SqlserverflexInstance": {
- "description": "SQLServer Flex instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 4\n ram = 16\n }\n storage = {\n class = \"class\"\n size = 5\n }\n version = 2022\n}\n```\n",
+ "stackit:index/serverUpdateSchedule:ServerUpdateSchedule": {
+ "description": "Server update schedule resource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_update_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example_update_schedule_name\"\n rrule = \"DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1\"\n enabled = true\n maintenance_window = 1\n}\n\n# Only use the import statement, if you want to import an existing server update schedule\nimport {\n to = stackit_server_update_schedule.import-example\n id = \"${var.project_id},${var.region},${var.server_id},${var.server_update_schedule_id}\"\n}\n```\n",
"properties": {
- "acls": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n"
- },
- "backupSchedule": {
- "type": "string",
- "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\")\n"
- },
- "flavor": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor"
+ "enabled": {
+ "type": "boolean",
+ "description": "Is the update schedule enabled or disabled.\n"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the SQLServer Flex instance.\n"
+ "maintenanceWindow": {
+ "type": "integer",
+ "description": "Maintenance window [1..24].\n"
},
"name": {
"type": "string",
- "description": "Instance name.\n"
- },
- "options": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions"
+ "description": "The schedule name.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance 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"
},
- "replicas": {
- "type": "integer"
+ "rrule": {
+ "type": "string",
+ "description": "Update schedule described in `rrule` (recurrence rule) format.\n"
},
- "storage": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceStorage:SqlserverflexInstanceStorage"
+ "serverId": {
+ "type": "string",
+ "description": "Server ID for the update schedule.\n"
},
- "version": {
- "type": "string"
+ "updateScheduleId": {
+ "type": "integer",
+ "description": "Update schedule ID.\n"
}
},
"required": [
- "acls",
- "backupSchedule",
- "flavor",
- "instanceId",
+ "enabled",
+ "maintenanceWindow",
"name",
- "options",
"projectId",
"region",
- "replicas",
- "storage",
- "version"
+ "rrule",
+ "serverId",
+ "updateScheduleId"
],
"inputProperties": {
- "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"
+ "enabled": {
+ "type": "boolean",
+ "description": "Is the update schedule enabled or disabled.\n"
},
- "flavor": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor"
+ "maintenanceWindow": {
+ "type": "integer",
+ "description": "Maintenance window [1..24].\n"
},
"name": {
"type": "string",
- "description": "Instance name.\n"
- },
- "options": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions"
+ "description": "The schedule name.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance 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"
},
- "storage": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceStorage:SqlserverflexInstanceStorage"
+ "rrule": {
+ "type": "string",
+ "description": "Update schedule described in `rrule` (recurrence rule) format.\n"
},
- "version": {
- "type": "string"
+ "serverId": {
+ "type": "string",
+ "description": "Server ID for the update schedule.\n"
}
},
"requiredInputs": [
- "flavor",
- "projectId"
+ "enabled",
+ "maintenanceWindow",
+ "projectId",
+ "rrule",
+ "serverId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SqlserverflexInstance resources.\n",
+ "description": "Input properties used for looking up and filtering ServerUpdateSchedule resources.\n",
"properties": {
- "acls": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n"
- },
- "backupSchedule": {
- "type": "string",
- "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\")\n"
- },
- "flavor": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor"
+ "enabled": {
+ "type": "boolean",
+ "description": "Is the update schedule enabled or disabled.\n"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the SQLServer Flex instance.\n"
+ "maintenanceWindow": {
+ "type": "integer",
+ "description": "Maintenance window [1..24].\n"
},
"name": {
"type": "string",
- "description": "Instance name.\n"
- },
- "options": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions"
+ "description": "The schedule name.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance 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"
},
- "replicas": {
- "type": "integer"
+ "rrule": {
+ "type": "string",
+ "description": "Update schedule described in `rrule` (recurrence rule) format.\n"
},
- "storage": {
- "$ref": "#/types/stackit:index/SqlserverflexInstanceStorage:SqlserverflexInstanceStorage"
+ "serverId": {
+ "type": "string",
+ "description": "Server ID for the update schedule.\n"
},
- "version": {
- "type": "string"
+ "updateScheduleId": {
+ "type": "integer",
+ "description": "Update schedule ID.\n"
}
},
"type": "object"
}
},
- "stackit:index/sqlserverflexUser:SqlserverflexUser": {
- "description": "SQLServer Flex user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n}\n```\n",
+ "stackit:index/serverVolumeAttach:ServerVolumeAttach": {
+ "description": "Volume attachment resource schema. Attaches a volume to a server. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_volume_attach\" \"attached_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n volume_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing server volume attachment\nimport {\n to = stackit_server_volume_attach.import-example\n id = \"${var.project_id},${var.server_id},${var.volume_id}\"\n}\n```\n",
"properties": {
- "host": {
- "type": "string"
- },
- "instanceId": {
- "type": "string",
- "description": "ID of the SQLServer Flex instance.\n"
- },
- "password": {
- "type": "string",
- "description": "Password of the user account.\n",
- "secret": true
- },
- "port": {
- "type": "integer"
- },
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
- },
- "region": {
- "type": "string"
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n"
+ "description": "STACKIT project ID to which the volume attachment is associated.\n"
},
- "userId": {
+ "serverId": {
"type": "string",
- "description": "User ID.\n"
+ "description": "The server ID.\n"
},
- "username": {
+ "volumeId": {
"type": "string",
- "description": "Username of the SQLServer Flex instance.\n"
+ "description": "The volume ID.\n"
}
},
"required": [
- "host",
- "instanceId",
- "password",
- "port",
"projectId",
- "region",
- "userId",
- "username"
+ "serverId",
+ "volumeId"
],
"inputProperties": {
- "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"
- },
- "region": {
- "type": "string"
+ "description": "STACKIT project ID to which the volume attachment is associated.\n"
},
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n"
+ "serverId": {
+ "type": "string",
+ "description": "The server ID.\n"
},
- "username": {
+ "volumeId": {
"type": "string",
- "description": "Username of the SQLServer Flex instance.\n"
+ "description": "The volume ID.\n"
}
},
"requiredInputs": [
- "instanceId",
"projectId",
- "username"
+ "serverId",
+ "volumeId"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering SqlserverflexUser resources.\n",
+ "description": "Input properties used for looking up and filtering ServerVolumeAttach resources.\n",
"properties": {
- "host": {
- "type": "string"
- },
- "instanceId": {
+ "projectId": {
"type": "string",
- "description": "ID of the SQLServer Flex instance.\n"
+ "description": "STACKIT project ID to which the volume attachment is associated.\n"
},
- "password": {
+ "serverId": {
"type": "string",
- "description": "Password of the user account.\n",
- "secret": true
- },
- "port": {
- "type": "integer"
+ "description": "The server ID.\n"
},
- "projectId": {
+ "volumeId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
- },
- "region": {
- "type": "string"
- },
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n"
+ "description": "The volume ID.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/serviceAccount:ServiceAccount": {
+ "description": "Service account resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\n# Only use the import statement, if you want to import an existing service account\nimport {\n to = stackit_service_account.import-example\n id = \"${var.project_id},${var.service_account_email}\"\n}\n```\n",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email of the service account.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the service account.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the service account is associated.\n"
+ }
+ },
+ "required": [
+ "email",
+ "name",
+ "projectId"
+ ],
+ "inputProperties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the service account.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the service account is associated.\n"
+ }
+ },
+ "requiredInputs": [
+ "projectId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering ServiceAccount resources.\n",
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email of the service account.\n"
},
- "userId": {
+ "name": {
"type": "string",
- "description": "User ID.\n"
+ "description": "Name of the service account.\n"
},
- "username": {
+ "projectId": {
"type": "string",
- "description": "Username of the SQLServer Flex instance.\n"
+ "description": "STACKIT project ID to which the service account is associated.\n"
}
},
"type": "object"
}
},
- "stackit:index/volume:Volume": {
- "description": "Volume resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_volume\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_volume\"\n availability_zone = \"eu01-1\"\n size = 64\n labels = {\n \"key\" = \"value\"\n }\n}\n```\n",
+ "stackit:index/serviceAccountAccessToken:ServiceAccountAccessToken": {
+ "description": "Service account access token schema.\n\n!\u003e This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html for detailed instructions and recommendations.\n\n## Example Usage\n\n### Automatically rotate access tokens\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_access_token\" \"sa_token\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 180\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n```\n",
"properties": {
- "availabilityZone": {
+ "accessTokenId": {
"type": "string",
- "description": "The availability zone of the volume.\n"
+ "description": "Identifier for the access token linked to the service account.\n"
},
- "description": {
+ "active": {
+ "type": "boolean",
+ "description": "Indicate whether the token is currently active or inactive\n"
+ },
+ "createdAt": {
"type": "string",
- "description": "The description of the volume.\n"
+ "description": "Timestamp indicating when the access token was created.\n"
},
- "labels": {
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID associated with the service account token.\n"
+ },
+ "rotateWhenChanged": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "Labels are key-value string pairs which can be attached to a resource container\n"
- },
- "name": {
- "type": "string",
- "description": "The name of the volume.\n"
- },
- "performanceClass": {
- "type": "string",
- "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n"
+ "description": "A map of arbitrary key/value pairs that will force recreation of the token when they change, enabling token rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n"
},
- "projectId": {
+ "serviceAccountEmail": {
"type": "string",
- "description": "STACKIT project ID to which the volume is associated.\n"
+ "description": "Email address linked to the service account.\n"
},
- "serverId": {
+ "token": {
"type": "string",
- "description": "The server ID of the server to which the volume is attached to.\n"
+ "description": "JWT access token for API authentication. Prefixed by 'Bearer' and should be stored securely as it is irretrievable once lost.\n",
+ "secret": true
},
- "size": {
+ "ttlDays": {
"type": "integer",
- "description": "The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided\n"
- },
- "source": {
- "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
- "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided\n"
+ "description": "Specifies the token's validity duration in days. If unspecified, defaults to 90 days.\n"
},
- "volumeId": {
+ "validUntil": {
"type": "string",
- "description": "The volume ID.\n"
+ "description": "Estimated expiration timestamp of the access token. For precise validity, check the JWT details.\n"
}
},
"required": [
- "availabilityZone",
- "description",
- "name",
- "performanceClass",
+ "accessTokenId",
+ "active",
+ "createdAt",
"projectId",
- "serverId",
- "size",
- "volumeId"
+ "serviceAccountEmail",
+ "token",
+ "ttlDays",
+ "validUntil"
],
"inputProperties": {
- "availabilityZone": {
- "type": "string",
- "description": "The availability zone of the volume.\n"
- },
- "description": {
+ "projectId": {
"type": "string",
- "description": "The description of the volume.\n"
+ "description": "STACKIT project ID associated with the service account token.\n"
},
- "labels": {
+ "rotateWhenChanged": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "Labels are key-value string pairs which can be attached to a resource container\n"
- },
- "name": {
- "type": "string",
- "description": "The name of the volume.\n"
- },
- "performanceClass": {
- "type": "string",
- "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n"
+ "description": "A map of arbitrary key/value pairs that will force recreation of the token when they change, enabling token rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n"
},
- "projectId": {
+ "serviceAccountEmail": {
"type": "string",
- "description": "STACKIT project ID to which the volume is associated.\n"
+ "description": "Email address linked to the service account.\n"
},
- "size": {
+ "ttlDays": {
"type": "integer",
- "description": "The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided\n"
- },
- "source": {
- "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
- "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided\n"
+ "description": "Specifies the token's validity duration in days. If unspecified, defaults to 90 days.\n"
}
},
"requiredInputs": [
- "availabilityZone",
- "projectId"
+ "projectId",
+ "serviceAccountEmail"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering Volume resources.\n",
+ "description": "Input properties used for looking up and filtering ServiceAccountAccessToken resources.\n",
"properties": {
- "availabilityZone": {
+ "accessTokenId": {
"type": "string",
- "description": "The availability zone of the volume.\n"
+ "description": "Identifier for the access token linked to the service account.\n"
},
- "description": {
+ "active": {
+ "type": "boolean",
+ "description": "Indicate whether the token is currently active or inactive\n"
+ },
+ "createdAt": {
"type": "string",
- "description": "The description of the volume.\n"
+ "description": "Timestamp indicating when the access token was created.\n"
},
- "labels": {
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID associated with the service account token.\n"
+ },
+ "rotateWhenChanged": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "Labels are key-value string pairs which can be attached to a resource container\n"
- },
- "name": {
- "type": "string",
- "description": "The name of the volume.\n"
- },
- "performanceClass": {
- "type": "string",
- "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n"
+ "description": "A map of arbitrary key/value pairs that will force recreation of the token when they change, enabling token rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n"
},
- "projectId": {
+ "serviceAccountEmail": {
"type": "string",
- "description": "STACKIT project ID to which the volume is associated.\n"
+ "description": "Email address linked to the service account.\n"
},
- "serverId": {
+ "token": {
"type": "string",
- "description": "The server ID of the server to which the volume is attached to.\n"
+ "description": "JWT access token for API authentication. Prefixed by 'Bearer' and should be stored securely as it is irretrievable once lost.\n",
+ "secret": true
},
- "size": {
+ "ttlDays": {
"type": "integer",
- "description": "The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided\n"
- },
- "source": {
- "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
- "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided\n"
+ "description": "Specifies the token's validity duration in days. If unspecified, defaults to 90 days.\n"
},
- "volumeId": {
+ "validUntil": {
"type": "string",
- "description": "The volume ID.\n"
+ "description": "Estimated expiration timestamp of the access token. For precise validity, check the JWT details.\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": "#/resources/pulumi:providers:stackit"
+ },
+ "stackit:index/serviceAccountKey:ServiceAccountKey": {
+ "description": "Service account key schema.\n## Example Usage\n\n### Automatically rotate service account keys\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_key\" \"sa_key\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 90\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\t\n}\n\n```\n",
+ "properties": {
+ "json": {
+ "type": "string",
+ "description": "The raw JSON representation of the service account key json, available for direct use.\n",
+ "secret": true
+ },
+ "keyId": {
+ "type": "string",
+ "description": "The unique identifier for the key associated with the service account.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "The STACKIT project ID associated with the service account key.\n"
+ },
+ "publicKey": {
+ "type": "string",
+ "description": "Specifies the public*key (RSA2048 key-pair). If not provided, a certificate from STACKIT will be used to generate a private*key.\n"
+ },
+ "rotateWhenChanged": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A map of arbitrary key/value pairs designed to force key recreation when they change, facilitating key rotation based on external factors such as a changing timestamp. Modifying this map triggers the creation of a new resource.\n"
+ },
+ "serviceAccountEmail": {
+ "type": "string",
+ "description": "The email address associated with the service account, used for account identification and communication.\n"
+ },
+ "ttlDays": {
+ "type": "integer",
+ "description": "Specifies the key's validity duration in days. If left unspecified, the key is considered valid until it is deleted\n"
+ }
+ },
+ "required": [
+ "json",
+ "keyId",
+ "projectId",
+ "serviceAccountEmail"
+ ],
+ "inputProperties": {
+ "projectId": {
+ "type": "string",
+ "description": "The STACKIT project ID associated with the service account key.\n"
+ },
+ "publicKey": {
+ "type": "string",
+ "description": "Specifies the public*key (RSA2048 key-pair). If not provided, a certificate from STACKIT will be used to generate a private*key.\n"
+ },
+ "rotateWhenChanged": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A map of arbitrary key/value pairs designed to force key recreation when they change, facilitating key rotation based on external factors such as a changing timestamp. Modifying this map triggers the creation of a new resource.\n"
+ },
+ "serviceAccountEmail": {
+ "type": "string",
+ "description": "The email address associated with the service account, used for account identification and communication.\n"
+ },
+ "ttlDays": {
+ "type": "integer",
+ "description": "Specifies the key's validity duration in days. If left unspecified, the key is considered valid until it is deleted\n"
+ }
+ },
+ "requiredInputs": [
+ "projectId",
+ "serviceAccountEmail"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering ServiceAccountKey resources.\n",
+ "properties": {
+ "json": {
+ "type": "string",
+ "description": "The raw JSON representation of the service account key json, available for direct use.\n",
+ "secret": true
+ },
+ "keyId": {
+ "type": "string",
+ "description": "The unique identifier for the key associated with the service account.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "The STACKIT project ID associated with the service account key.\n"
+ },
+ "publicKey": {
+ "type": "string",
+ "description": "Specifies the public*key (RSA2048 key-pair). If not provided, a certificate from STACKIT will be used to generate a private*key.\n"
+ },
+ "rotateWhenChanged": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A map of arbitrary key/value pairs designed to force key recreation when they change, facilitating key rotation based on external factors such as a changing timestamp. Modifying this map triggers the creation of a new resource.\n"
+ },
+ "serviceAccountEmail": {
+ "type": "string",
+ "description": "The email address associated with the service account, used for account identification and communication.\n"
+ },
+ "ttlDays": {
+ "type": "integer",
+ "description": "Specifies the key's validity duration in days. If left unspecified, the key is considered valid until it is deleted\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/skeCluster:SkeCluster": {
+ "description": "SKE Cluster Resource schema. Must have a `region` specified in the provider configuration.\n\n\u003e When updating `node_pools` of a `stackit.SkeCluster`, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version_min = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n }\n ]\n maintenance = {\n enable_kubernetes_version_updates = true\n enable_machine_image_version_updates = true\n start = \"01:00:00Z\"\n end = \"02:00:00Z\"\n }\n}\n\n# Only use the import statement, if you want to import an existing ske cluster\nimport {\n to = stackit_ske_cluster.import-example\n id = \"${var.project_id},${var.region},${var.ske_name}\"\n}\n```\n",
+ "properties": {
+ "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/SkeClusterExtensions:SkeClusterExtensions",
+ "description": "A single extensions block as defined below.\n"
+ },
+ "hibernations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SkeClusterHibernation:SkeClusterHibernation"
+ },
+ "description": "One or more hibernation block as defined below.\n"
+ },
+ "kubernetesVersionMin": {
+ "type": "string",
+ "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field.\n"
+ },
+ "kubernetesVersionUsed": {
+ "type": "string",
+ "description": "Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n"
+ },
+ "maintenance": {
+ "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance",
+ "description": "A single maintenance block as defined below.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The cluster name.\n"
+ },
+ "network": {
+ "$ref": "#/types/stackit:index/SkeClusterNetwork:SkeClusterNetwork",
+ "description": "Network block as defined below.\n"
+ },
+ "nodePools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
+ },
+ "description": "One or more `node_pool` 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 to which the cluster is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "required": [
+ "egressAddressRanges",
+ "kubernetesVersionUsed",
+ "maintenance",
+ "name",
+ "nodePools",
+ "podAddressRanges",
+ "projectId",
+ "region"
+ ],
+ "inputProperties": {
+ "extensions": {
+ "$ref": "#/types/stackit:index/SkeClusterExtensions:SkeClusterExtensions",
+ "description": "A single extensions block as defined below.\n"
+ },
+ "hibernations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SkeClusterHibernation:SkeClusterHibernation"
+ },
+ "description": "One or more hibernation block as defined below.\n"
+ },
+ "kubernetesVersionMin": {
+ "type": "string",
+ "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field.\n"
+ },
+ "maintenance": {
+ "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance",
+ "description": "A single maintenance block as defined below.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The cluster name.\n"
+ },
+ "network": {
+ "$ref": "#/types/stackit:index/SkeClusterNetwork:SkeClusterNetwork",
+ "description": "Network block as defined below.\n"
+ },
+ "nodePools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
+ },
+ "description": "One or more `node_pool` block as defined below.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the cluster is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "requiredInputs": [
+ "nodePools",
+ "projectId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering SkeCluster resources.\n",
+ "properties": {
+ "egressAddressRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.\n"
+ },
+ "extensions": {
+ "$ref": "#/types/stackit:index/SkeClusterExtensions:SkeClusterExtensions",
+ "description": "A single extensions block as defined below.\n"
+ },
+ "hibernations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SkeClusterHibernation:SkeClusterHibernation"
+ },
+ "description": "One or more hibernation block as defined below.\n"
+ },
+ "kubernetesVersionMin": {
+ "type": "string",
+ "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field.\n"
+ },
+ "kubernetesVersionUsed": {
+ "type": "string",
+ "description": "Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n"
+ },
+ "maintenance": {
+ "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance",
+ "description": "A single maintenance block as defined below.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The cluster name.\n"
+ },
+ "network": {
+ "$ref": "#/types/stackit:index/SkeClusterNetwork:SkeClusterNetwork",
+ "description": "Network block as defined below.\n"
+ },
+ "nodePools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/SkeClusterNodePool:SkeClusterNodePool"
+ },
+ "description": "One or more `node_pool` 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 to which the cluster is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/skeKubeconfig:SkeKubeconfig": {
+ "description": "SKE kubeconfig resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_kubeconfig\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n cluster_name = \"example-cluster\"\n\n refresh = true\n expiration = 7200 # 2 hours\n refresh_before = 3600 # 1 hour\n}\n```\n",
+ "properties": {
+ "clusterName": {
+ "type": "string",
+ "description": "Name of the SKE cluster.\n"
+ },
+ "creationTime": {
+ "type": "string",
+ "description": "Date-time when the kubeconfig was created\n"
+ },
+ "expiration": {
+ "type": "integer",
+ "description": "Expiration time of the kubeconfig, in seconds. Defaults to `3600`\n"
+ },
+ "expiresAt": {
+ "type": "string",
+ "description": "Timestamp when the kubeconfig expires\n"
+ },
+ "kubeConfig": {
+ "type": "string",
+ "description": "Raw short-lived admin kubeconfig.\n",
+ "secret": true
+ },
+ "kubeConfigId": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the cluster is associated.\n"
+ },
+ "refresh": {
+ "type": "boolean",
+ "description": "If set to true, the provider will check if the kubeconfig has expired and will generated a new valid one in-place\n"
+ },
+ "refreshBefore": {
+ "type": "integer",
+ "description": "Number of seconds before expiration to trigger refresh of the kubeconfig at. Only used if refresh is set to true.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "required": [
+ "clusterName",
+ "creationTime",
+ "expiration",
+ "expiresAt",
+ "kubeConfig",
+ "kubeConfigId",
+ "projectId",
+ "region"
+ ],
+ "inputProperties": {
+ "clusterName": {
+ "type": "string",
+ "description": "Name of the SKE cluster.\n"
+ },
+ "expiration": {
+ "type": "integer",
+ "description": "Expiration time of the kubeconfig, in seconds. Defaults to `3600`\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the cluster is associated.\n"
+ },
+ "refresh": {
+ "type": "boolean",
+ "description": "If set to true, the provider will check if the kubeconfig has expired and will generated a new valid one in-place\n"
+ },
+ "refreshBefore": {
+ "type": "integer",
+ "description": "Number of seconds before expiration to trigger refresh of the kubeconfig at. Only used if refresh is set to true.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "requiredInputs": [
+ "clusterName",
+ "projectId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering SkeKubeconfig resources.\n",
+ "properties": {
+ "clusterName": {
+ "type": "string",
+ "description": "Name of the SKE cluster.\n"
+ },
+ "creationTime": {
+ "type": "string",
+ "description": "Date-time when the kubeconfig was created\n"
+ },
+ "expiration": {
+ "type": "integer",
+ "description": "Expiration time of the kubeconfig, in seconds. Defaults to `3600`\n"
+ },
+ "expiresAt": {
+ "type": "string",
+ "description": "Timestamp when the kubeconfig expires\n"
+ },
+ "kubeConfig": {
+ "type": "string",
+ "description": "Raw short-lived admin kubeconfig.\n",
+ "secret": true
+ },
+ "kubeConfigId": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the cluster is associated.\n"
+ },
+ "refresh": {
+ "type": "boolean",
+ "description": "If set to true, the provider will check if the kubeconfig has expired and will generated a new valid one in-place\n"
+ },
+ "refreshBefore": {
+ "type": "integer",
+ "description": "Number of seconds before expiration to trigger refresh of the kubeconfig at. Only used if refresh is set to true.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/sqlserverflexInstance:SqlserverflexInstance": {
+ "description": "SQLServer Flex instance resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 4\n ram = 16\n }\n storage = {\n class = \"class\"\n size = 5\n }\n version = 2022\n}\n\n# Only use the import statement, if you want to import an existing sqlserverflex instance\nimport {\n to = stackit_sqlserverflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.sql_instance_id}\"\n}\n```\n",
+ "properties": {
+ "acls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n"
+ },
+ "backupSchedule": {
+ "type": "string",
+ "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\")\n"
+ },
+ "flavor": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the SQLServer Flex instance.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Instance name.\n"
+ },
+ "options": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions"
+ },
+ "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"
+ },
+ "replicas": {
+ "type": "integer"
+ },
+ "storage": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceStorage:SqlserverflexInstanceStorage"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "acls",
+ "backupSchedule",
+ "flavor",
+ "instanceId",
+ "name",
+ "options",
+ "projectId",
+ "region",
+ "replicas",
+ "storage",
+ "version"
+ ],
+ "inputProperties": {
+ "acls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n"
+ },
+ "backupSchedule": {
+ "type": "string",
+ "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\")\n"
+ },
+ "flavor": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor"
+ },
+ "name": {
+ "type": "string",
+ "description": "Instance name.\n"
+ },
+ "options": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions"
+ },
+ "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"
+ },
+ "storage": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceStorage:SqlserverflexInstanceStorage"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "requiredInputs": [
+ "flavor",
+ "projectId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering SqlserverflexInstance resources.\n",
+ "properties": {
+ "acls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n"
+ },
+ "backupSchedule": {
+ "type": "string",
+ "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\")\n"
+ },
+ "flavor": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceFlavor:SqlserverflexInstanceFlavor"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the SQLServer Flex instance.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Instance name.\n"
+ },
+ "options": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceOptions:SqlserverflexInstanceOptions"
+ },
+ "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"
+ },
+ "replicas": {
+ "type": "integer"
+ },
+ "storage": {
+ "$ref": "#/types/stackit:index/SqlserverflexInstanceStorage:SqlserverflexInstanceStorage"
+ },
+ "version": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/sqlserverflexUser:SqlserverflexUser": {
+ "description": "SQLServer Flex user resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n}\n\n# Only use the import statement, if you want to import an existing sqlserverflex user\nimport {\n to = stackit_sqlserverflex_user.import-example\n id = \"${var.project_id},${var.region},${var.sql_instance_id},${var.sql_user_id}\"\n}\n```\n",
+ "properties": {
+ "host": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the SQLServer Flex instance.\n"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password of the user account.\n",
+ "secret": true
+ },
+ "port": {
+ "type": "integer"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the instance is associated.\n"
+ },
+ "region": {
+ "type": "string"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n"
+ },
+ "userId": {
+ "type": "string",
+ "description": "User ID.\n"
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the SQLServer Flex instance.\n"
+ }
+ },
+ "required": [
+ "host",
+ "instanceId",
+ "password",
+ "port",
+ "projectId",
+ "region",
+ "roles",
+ "userId",
+ "username"
+ ],
+ "inputProperties": {
+ "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"
+ },
+ "region": {
+ "type": "string"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n"
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the SQLServer Flex instance.\n"
+ }
+ },
+ "requiredInputs": [
+ "instanceId",
+ "projectId",
+ "roles",
+ "username"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering SqlserverflexUser resources.\n",
+ "properties": {
+ "host": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the SQLServer Flex instance.\n"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password of the user account.\n",
+ "secret": true
+ },
+ "port": {
+ "type": "integer"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the instance is associated.\n"
+ },
+ "region": {
+ "type": "string"
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n"
+ },
+ "userId": {
+ "type": "string",
+ "description": "User ID.\n"
+ },
+ "username": {
+ "type": "string",
+ "description": "Username of the SQLServer Flex instance.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/volume:Volume": {
+ "description": "Volume resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_volume\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_volume\"\n availability_zone = \"eu01-1\"\n size = 64\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing volume\nimport {\n to = stackit_volume.import-example\n id = \"${var.project_id},${var.volume_id}\"\n}\n```\n",
+ "properties": {
+ "availabilityZone": {
+ "type": "string",
+ "description": "The availability zone of the volume.\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the volume.\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the volume.\n"
+ },
+ "performanceClass": {
+ "type": "string",
+ "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the volume is associated.\n"
+ },
+ "serverId": {
+ "type": "string",
+ "description": "The server ID of the server to which the volume is attached to.\n"
+ },
+ "size": {
+ "type": "integer",
+ "description": "The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided\n"
+ },
+ "source": {
+ "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
+ "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided\n"
+ },
+ "volumeId": {
+ "type": "string",
+ "description": "The volume ID.\n"
+ }
+ },
+ "required": [
+ "availabilityZone",
+ "description",
+ "name",
+ "performanceClass",
+ "projectId",
+ "serverId",
+ "size",
+ "volumeId"
+ ],
+ "inputProperties": {
+ "availabilityZone": {
+ "type": "string",
+ "description": "The availability zone of the volume.\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the volume.\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the volume.\n"
+ },
+ "performanceClass": {
+ "type": "string",
+ "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the volume is associated.\n"
+ },
+ "size": {
+ "type": "integer",
+ "description": "The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided\n"
+ },
+ "source": {
+ "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
+ "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided\n"
+ }
+ },
+ "requiredInputs": [
+ "availabilityZone",
+ "projectId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering Volume resources.\n",
+ "properties": {
+ "availabilityZone": {
+ "type": "string",
+ "description": "The availability zone of the volume.\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the volume.\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the volume.\n"
+ },
+ "performanceClass": {
+ "type": "string",
+ "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the volume is associated.\n"
+ },
+ "serverId": {
+ "type": "string",
+ "description": "The server ID of the server to which the volume is attached to.\n"
+ },
+ "size": {
+ "type": "integer",
+ "description": "The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided\n"
+ },
+ "source": {
+ "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
+ "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided\n"
+ },
+ "volumeId": {
+ "type": "string",
+ "description": "The volume ID.\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 `region` 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"
+ }
+ },
+ "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"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Affinity Group schema. Must have a `region` 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"
+ }
+ },
+ "type": "object",
+ "required": [
+ "affinityGroupId",
+ "id",
+ "members",
+ "name",
+ "policy",
+ "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",
+ "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 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"
+ },
+ "distributionId": {
+ "type": "string",
+ "description": "CDN distribution ID\n"
+ },
+ "errors": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of distribution errors\n"
+ },
+ "id": {
+ "type": "string"
+ },
+ "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": [
+ "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": "STACKIT project ID associated with the distribution\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 getCdnDistribution.\n",
+ "properties": {
+ "config": {
+ "$ref": "#/types/stackit:index/getCdnDistributionConfig:getCdnDistributionConfig",
+ "description": "The distribution configuration\n"
+ },
+ "createdAt": {
+ "type": "string",
+ "description": "Time when the distribution was created\n"
+ },
+ "distributionId": {
+ "type": "string",
+ "description": "STACKIT project ID associated with the distribution\n"
+ },
+ "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": "List of distribution errors\n"
+ },
+ "id": {
+ "type": "string"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID associated with the distribution\n"
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the distribution\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Time when the distribution was last updated\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "config",
+ "createdAt",
+ "distributionId",
+ "domains",
+ "errors",
+ "id",
+ "projectId",
+ "status",
+ "updatedAt"
+ ]
+ }
+ },
+ "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 getDnsRecordSet.\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"
+ },
+ "zoneId": {
+ "type": "string",
+ "description": "The zone ID to which is dns record set is associated.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "projectId",
+ "recordSetId",
+ "zoneId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getDnsRecordSet.\n",
+ "properties": {
+ "active": {
+ "type": "boolean",
+ "description": "Specifies if the record set is active or not.\n"
+ },
+ "comment": {
+ "type": "string",
+ "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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "state": {
+ "type": "string",
+ "description": "Record set state.\n"
+ },
+ "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": [
+ "active",
+ "comment",
+ "error",
+ "fqdn",
+ "id",
+ "name",
+ "projectId",
+ "recordSetId",
+ "records",
+ "state",
+ "ttl",
+ "type",
+ "zoneId"
+ ]
+ }
+ },
+ "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 getDnsZone.\n",
+ "properties": {
+ "dnsName": {
+ "type": "string",
+ "description": "The zone name. E.g. `example.com`\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the dns zone is associated.\n"
+ },
+ "zoneId": {
+ "type": "string",
+ "description": "The zone ID.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getDnsZone.\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"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the zone.\n"
+ },
+ "dnsName": {
+ "type": "string",
+ "description": "The zone name. E.g. `example.com`\n"
+ },
+ "expireTime": {
+ "type": "integer",
+ "description": "Expire time.\n"
+ },
+ "id": {
+ "type": "string"
+ },
+ "isReverseZone": {
+ "type": "boolean",
+ "description": "Specifies, if the zone is a reverse zone or not.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The user given name of the zone.\n"
+ },
+ "negativeCache": {
+ "type": "integer",
+ "description": "Negative caching.\n"
+ },
+ "primaries": {
+ "type": "array",
+ "items": {
+ "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"
+ },
+ "retryTime": {
+ "type": "integer",
+ "description": "Retry time.\n"
+ },
+ "serialNumber": {
+ "type": "integer",
+ "description": "Serial number.\n"
+ },
+ "state": {
+ "type": "string",
+ "description": "Zone state.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "Zone type.\n"
+ },
+ "visibility": {
+ "type": "string",
+ "description": "Visibility of the zone.\n"
+ },
+ "zoneId": {
+ "type": "string",
+ "description": "The zone ID.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "acl",
+ "active",
+ "contactEmail",
+ "defaultTtl",
+ "description",
+ "expireTime",
+ "id",
+ "isReverseZone",
+ "name",
+ "negativeCache",
+ "primaries",
+ "primaryNameServer",
+ "projectId",
+ "recordCount",
+ "refreshTime",
+ "retryTime",
+ "serialNumber",
+ "state",
+ "type",
+ "visibility"
+ ]
+ }
+ },
+ "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 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",
+ "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": {
+ "type": "string",
+ "description": "Instance creation timestamp in RFC3339 format.\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"
+ },
+ "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 to which the git instance is associated.\n"
+ },
+ "url": {
+ "type": "string",
+ "description": "Url linked to the git instance.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "Version linked to the git instance.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "acls",
+ "consumedDisk",
+ "consumedObjectStorage",
+ "created",
+ "flavor",
+ "id",
+ "instanceId",
+ "name",
+ "projectId",
+ "url",
+ "version"
+ ]
+ }
+ },
+ "stackit:index/getIaasProject:getIaasProject": {
+ "description": "Project details. Must have a `region` 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 getIaasProject.\n",
+ "properties": {
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getIaasProject.\n",
+ "properties": {
+ "areaId": {
+ "type": "string",
+ "description": "The area ID to which the project belongs to.\n"
+ },
+ "createdAt": {
+ "type": "string",
+ "description": "Date-time when the project was created.\n"
+ },
+ "id": {
+ "type": "string"
+ },
+ "internetAccess": {
+ "type": "boolean",
+ "description": "Specifies if the project has internet_access\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID.\n"
+ },
+ "state": {
+ "type": "string",
+ "description": "Specifies the state of the project.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the project was last updated.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "areaId",
+ "createdAt",
+ "id",
+ "internetAccess",
+ "projectId",
+ "state",
+ "updatedAt"
+ ]
+ }
+ },
+ "stackit:index/getImage:getImage": {
+ "description": "Image datasource schema. Must have a `region` 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 getImage.\n",
+ "properties": {
+ "imageId": {
+ "type": "string",
+ "description": "The image ID.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the image is associated.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "imageId",
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getImage.\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"
+ },
+ "diskFormat": {
+ "type": "string",
+ "description": "The disk format of the image.\n"
+ },
+ "id": {
+ "type": "string"
+ },
+ "imageId": {
+ "type": "string",
+ "description": "The image ID.\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": "The name of the image.\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"
+ },
+ "scope": {
+ "type": "string",
+ "description": "The scope of the image.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "checksum",
+ "config",
+ "diskFormat",
+ "id",
+ "imageId",
+ "labels",
+ "minDiskSize",
+ "minRam",
+ "name",
+ "projectId",
+ "protected",
+ "scope"
+ ]
+ }
+ },
+ "stackit:index/getImageV2:getImageV2": {
+ "description": "## 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 getImageV2.\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 `name` or `name_regex`.\n"
+ },
+ "imageId": {
+ "type": "string",
+ "description": "Image ID to fetch directly\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`.\n"
+ },
+ "nameRegex": {
+ "type": "string",
+ "description": "Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the image is associated.\n"
+ },
+ "sortAscending": {
+ "type": "boolean",
+ "description": "If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getImageV2.\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": {
+ "type": "string",
+ "description": "The disk format of the image.\n"
+ },
+ "filter": {
+ "$ref": "#/types/stackit:index/getImageV2Filter:getImageV2Filter",
+ "description": "Additional filtering options based on image properties. Can be used independently or in conjunction with `name` or `name_regex`.\n"
+ },
+ "id": {
+ "type": "string"
+ },
+ "imageId": {
+ "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"
+ },
+ "name": {
+ "type": "string",
+ "description": "Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`.\n"
+ },
+ "nameRegex": {
+ "type": "string",
+ "description": "Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`.\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"
+ },
+ "scope": {
+ "type": "string",
+ "description": "The scope of the image.\n"
+ },
+ "sortAscending": {
+ "type": "boolean",
+ "description": "If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "checksum",
+ "config",
+ "diskFormat",
+ "id",
+ "labels",
+ "minDiskSize",
+ "minRam",
+ "projectId",
+ "protected",
+ "scope"
+ ]
+ }
+ },
+ "stackit:index/getKeyPair:getKeyPair": {
+ "description": "Key pair resource schema. Must have a `region` 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 getKeyPair.\n",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SSH key pair.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name"
+ ]
+ },
+ "outputs": {
+ "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"
+ },
+ "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 SSH key pair.\n"
+ },
+ "publicKey": {
+ "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"
+ }
+ },
+ "type": "object",
+ "required": [
+ "fingerprint",
+ "id",
+ "labels",
+ "name",
+ "publicKey"
+ ]
+ }
+ },
+ "stackit:index/getLoadbalancer:getLoadbalancer": {
+ "description": "Load Balancer data source schema. Must have a `region` 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 getLoadbalancer.\n",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Load balancer 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"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getLoadbalancer.\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"
+ },
+ "externalAddress": {
+ "type": "string",
+ "description": "External Load Balancer IP address where this Load Balancer is exposed.\n"
+ },
+ "id": {
+ "type": "string"
+ },
+ "listeners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getLoadbalancerListener:getLoadbalancerListener"
+ },
+ "description": "List of all listeners which will accept traffic. Limited to 20.\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"
+ },
+ "options": {
+ "$ref": "#/types/stackit:index/getLoadbalancerOptions:getLoadbalancerOptions",
+ "description": "Defines any optional functionality you want to have enabled on your load balancer.\n"
+ },
+ "planId": {
+ "type": "string",
+ "description": "The service plan ID. If not defined, the default service plan is `p10`. Possible values are: `p10`, `p50`, `p250`, `p750`.\n"
+ },
+ "privateAddress": {
+ "type": "string",
+ "description": "Transient private Load Balancer IP address. It can change any time.\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 egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT Network areas (SNA). To enable this, create a security group rule for your target VMs and set the `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`.\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"
+ }
+ },
+ "type": "object",
+ "required": [
+ "disableSecurityGroupAssignment",
+ "externalAddress",
+ "id",
+ "listeners",
+ "name",
+ "networks",
+ "options",
+ "planId",
+ "privateAddress",
+ "projectId",
+ "securityGroupId",
+ "targetPools"
+ ]
+ }
+ },
+ "stackit:index/getLogmeCredential:getLogmeCredential": {
+ "description": "LogMe credential data source schema. Must have a `region` 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 getLogmeCredential.\n",
+ "properties": {
+ "credentialId": {
+ "type": "string",
+ "description": "The credential's ID.\n"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the LogMe instance.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "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 getLogmeCredential.\n",
+ "properties": {
+ "credentialId": {
+ "type": "string",
+ "description": "The credential's ID.\n"
+ },
+ "host": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the LogMe instance.\n"
+ },
+ "password": {
+ "type": "string",
+ "secret": true
+ },
+ "port": {
+ "type": "integer"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID to which the instance is associated.\n"
+ },
+ "uri": {
+ "type": "string",
+ "secret": true
+ },
+ "username": {
+ "type": "string"
}
},
- "type": "pulumi:providers:stackit/terraformConfig",
+ "type": "object",
"required": [
- "__self__"
+ "credentialId",
+ "host",
+ "id",
+ "instanceId",
+ "password",
+ "port",
+ "projectId",
+ "uri",
+ "username"
]
- },
- "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 `region` 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/getLogmeInstance:getLogmeInstance": {
+ "description": "LogMe instance data source schema. Must have a `region` 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 getAffinityGroup.\n",
+ "description": "A collection of arguments for invoking getLogmeInstance.\n",
"properties": {
- "affinityGroupId": {
+ "instanceId": {
"type": "string",
- "description": "The affinity group ID.\n"
+ "description": "ID of the LogMe instance.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT Project ID to which the affinity group is associated.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
}
},
"type": "object",
"required": [
- "affinityGroupId",
+ "instanceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getAffinityGroup.\n",
+ "description": "A collection of values returned by getLogmeInstance.\n",
"properties": {
- "affinityGroupId": {
- "type": "string",
- "description": "The affinity group ID.\n"
+ "cfGuid": {
+ "type": "string"
+ },
+ "cfOrganizationGuid": {
+ "type": "string"
+ },
+ "cfSpaceGuid": {
+ "type": "string"
+ },
+ "dashboardUrl": {
+ "type": "string"
},
"id": {
"type": "string"
},
- "members": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Affinity Group schema. Must have a `region` specified in the provider configuration.\n"
+ "imageUrl": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the LogMe instance.\n"
},
"name": {
"type": "string",
- "description": "The name of the affinity group.\n"
+ "description": "Instance name.\n"
},
- "policy": {
+ "parameters": {
+ "$ref": "#/types/stackit:index/getLogmeInstanceParameters:getLogmeInstanceParameters"
+ },
+ "planId": {
"type": "string",
- "description": "The policy of the affinity group.\n"
+ "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 affinity group is associated.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
+ },
+ "version": {
+ "type": "string",
+ "description": "The service version.\n"
}
},
"type": "object",
"required": [
- "affinityGroupId",
+ "cfGuid",
+ "cfOrganizationGuid",
+ "cfSpaceGuid",
+ "dashboardUrl",
"id",
- "members",
+ "imageUrl",
+ "instanceId",
"name",
- "policy",
- "projectId"
+ "parameters",
+ "planId",
+ "planName",
+ "projectId",
+ "version"
]
}
},
- "stackit:index/getCdnCustomDomain:getCdnCustomDomain": {
- "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\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/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 getCdnCustomDomain.\n",
+ "description": "A collection of arguments for invoking getMachineType.\n",
"properties": {
- "distributionId": {
+ "filter": {
"type": "string",
- "description": "CDN distribution ID\n"
+ "description": "Expr-lang filter for filtering machine types.\n"
},
- "name": {
+ "projectId": {
"type": "string"
},
- "projectId": {
- "type": "string",
- "description": "STACKIT project ID associated with the distribution\n"
+ "sortAscending": {
+ "type": "boolean"
}
},
"type": "object",
"required": [
- "distributionId",
- "name",
+ "filter",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getCdnCustomDomain.\n",
+ "description": "A collection of values returned by getMachineType.\n",
"properties": {
- "distributionId": {
- "type": "string",
- "description": "CDN distribution ID\n"
+ "description": {
+ "type": "string"
},
- "errors": {
- "type": "array",
- "items": {
+ "disk": {
+ "type": "integer"
+ },
+ "extraSpecs": {
+ "type": "object",
+ "additionalProperties": {
"type": "string"
- },
- "description": "List of distribution errors\n"
+ }
+ },
+ "filter": {
+ "type": "string",
+ "description": "Expr-lang filter for filtering machine types.\n"
},
"id": {
"type": "string"
@@ -12422,1627 +14905,1592 @@
"type": "string"
},
"projectId": {
- "type": "string",
- "description": "STACKIT project ID associated with the distribution\n"
+ "type": "string"
},
- "status": {
- "type": "string",
- "description": "Status of the distribution\n"
+ "ram": {
+ "type": "integer"
+ },
+ "sortAscending": {
+ "type": "boolean"
+ },
+ "vcpus": {
+ "type": "integer"
}
},
"type": "object",
"required": [
- "distributionId",
- "errors",
+ "description",
+ "disk",
+ "extraSpecs",
+ "filter",
"id",
"name",
"projectId",
- "status"
+ "ram",
+ "vcpus"
]
}
},
- "stackit:index/getCdnDistribution:getCdnDistribution": {
- "description": "CDN distribution data source schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\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/getMariadbCredential:getMariadbCredential": {
+ "description": "MariaDB credential data source schema. Must have a `region` 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 getCdnDistribution.\n",
+ "description": "A collection of arguments for invoking getMariadbCredential.\n",
"properties": {
- "distributionId": {
+ "credentialId": {
"type": "string",
- "description": "STACKIT project ID associated with the distribution\n"
+ "description": "The credential's ID.\n"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the MariaDB instance.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID associated with the distribution\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
}
},
"type": "object",
"required": [
- "distributionId",
+ "credentialId",
+ "instanceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getCdnDistribution.\n",
+ "description": "A collection of values returned by getMariadbCredential.\n",
"properties": {
- "config": {
- "$ref": "#/types/stackit:index/getCdnDistributionConfig:getCdnDistributionConfig",
- "description": "The distribution configuration\n"
- },
- "createdAt": {
- "type": "string",
- "description": "Time when the distribution was created\n"
- },
- "distributionId": {
+ "credentialId": {
"type": "string",
- "description": "STACKIT project ID associated with the distribution\n"
+ "description": "The credential's ID.\n"
},
- "domains": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/getCdnDistributionDomain:getCdnDistributionDomain"
- },
- "description": "List of configured domains for the distribution\n"
+ "host": {
+ "type": "string"
},
- "errors": {
+ "hosts": {
"type": "array",
"items": {
"type": "string"
- },
- "description": "List of distribution errors\n"
+ }
},
"id": {
"type": "string"
},
- "projectId": {
+ "instanceId": {
"type": "string",
- "description": "STACKIT project ID associated with the distribution\n"
+ "description": "ID of the MariaDB instance.\n"
},
- "status": {
+ "name": {
+ "type": "string"
+ },
+ "password": {
"type": "string",
- "description": "Status of the distribution\n"
+ "secret": true
},
- "updatedAt": {
+ "port": {
+ "type": "integer"
+ },
+ "projectId": {
"type": "string",
- "description": "Time when the distribution was last updated\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
+ },
+ "uri": {
+ "type": "string",
+ "secret": true
+ },
+ "username": {
+ "type": "string"
}
},
"type": "object",
"required": [
- "config",
- "createdAt",
- "distributionId",
- "domains",
- "errors",
+ "credentialId",
+ "host",
+ "hosts",
"id",
+ "instanceId",
+ "name",
+ "password",
+ "port",
"projectId",
- "status",
- "updatedAt"
+ "uri",
+ "username"
]
}
},
- "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 getDnsRecordSet.\n",
- "properties": {
- "projectId": {
- "type": "string",
- "description": "STACKIT project ID to which the dns record set is associated.\n"
- },
- "recordSetId": {
+ "stackit:index/getMariadbInstance:getMariadbInstance": {
+ "description": "MariaDB instance data source schema. Must have a `region` 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 getMariadbInstance.\n",
+ "properties": {
+ "instanceId": {
"type": "string",
- "description": "The rr set id.\n"
+ "description": "ID of the MariaDB instance.\n"
},
- "zoneId": {
+ "projectId": {
"type": "string",
- "description": "The zone ID to which is dns record set is associated.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
}
},
"type": "object",
"required": [
- "projectId",
- "recordSetId",
- "zoneId"
+ "instanceId",
+ "projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getDnsRecordSet.\n",
+ "description": "A collection of values returned by getMariadbInstance.\n",
"properties": {
- "active": {
- "type": "boolean",
- "description": "Specifies if the record set is active or not.\n"
+ "cfGuid": {
+ "type": "string"
},
- "comment": {
- "type": "string",
- "description": "Comment.\n"
+ "cfOrganizationGuid": {
+ "type": "string"
},
- "error": {
- "type": "string",
- "description": "Error shows error in case create/update/delete failed.\n"
+ "cfSpaceGuid": {
+ "type": "string"
},
- "fqdn": {
- "type": "string",
- "description": "Fully qualified domain name (FQDN) of the record set.\n"
+ "dashboardUrl": {
+ "type": "string"
},
"id": {
"type": "string"
},
- "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"
+ "imageUrl": {
+ "type": "string"
},
- "projectId": {
+ "instanceId": {
"type": "string",
- "description": "STACKIT project ID to which the dns record set is associated.\n"
+ "description": "ID of the MariaDB instance.\n"
},
- "recordSetId": {
+ "name": {
"type": "string",
- "description": "The rr set id.\n"
+ "description": "Instance name.\n"
},
- "records": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Records.\n"
+ "parameters": {
+ "$ref": "#/types/stackit:index/getMariadbInstanceParameters:getMariadbInstanceParameters"
},
- "state": {
+ "planId": {
"type": "string",
- "description": "Record set state.\n"
+ "description": "The selected plan ID.\n"
},
- "ttl": {
- "type": "integer",
- "description": "Time to live. E.g. 3600\n"
+ "planName": {
+ "type": "string",
+ "description": "The selected plan name.\n"
},
- "type": {
+ "projectId": {
"type": "string",
- "description": "The record set type. E.g. `A` or `CNAME`\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
},
- "zoneId": {
+ "version": {
"type": "string",
- "description": "The zone ID to which is dns record set is associated.\n"
+ "description": "The service version.\n"
}
},
"type": "object",
"required": [
- "active",
- "comment",
- "error",
- "fqdn",
+ "cfGuid",
+ "cfOrganizationGuid",
+ "cfSpaceGuid",
+ "dashboardUrl",
"id",
+ "imageUrl",
+ "instanceId",
"name",
+ "parameters",
+ "planId",
+ "planName",
"projectId",
- "recordSetId",
- "records",
- "state",
- "ttl",
- "type",
- "zoneId"
+ "version"
]
}
},
- "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/getMongodbflexInstance:getMongodbflexInstance": {
+ "description": "MongoDB Flex instance data source schema. Must have a `region` 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 getDnsZone.\n",
+ "description": "A collection of arguments for invoking getMongodbflexInstance.\n",
"properties": {
- "dnsName": {
+ "instanceId": {
"type": "string",
- "description": "The zone name. E.g. `example.com`\n"
+ "description": "ID of the MongoDB Flex instance.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the dns zone is associated.\n"
+ "description": "STACKIT project ID to which the instance 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": [
+ "instanceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getDnsZone.\n",
+ "description": "A collection of values returned by getMongodbflexInstance.\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"
- },
- "description": {
- "type": "string",
- "description": "Description of the zone.\n"
+ "acls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Access Control List (ACL) for the MongoDB Flex instance.\n"
},
- "dnsName": {
+ "backupSchedule": {
"type": "string",
- "description": "The zone name. E.g. `example.com`\n"
+ "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\").\n"
},
- "expireTime": {
- "type": "integer",
- "description": "Expire time.\n"
+ "flavor": {
+ "$ref": "#/types/stackit:index/getMongodbflexInstanceFlavor:getMongodbflexInstanceFlavor"
},
"id": {
"type": "string"
},
- "isReverseZone": {
- "type": "boolean",
- "description": "Specifies, if the zone is a reverse zone or not.\n"
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the MongoDB Flex instance.\n"
},
"name": {
"type": "string",
- "description": "The user given name of the zone.\n"
- },
- "negativeCache": {
- "type": "integer",
- "description": "Negative caching.\n"
- },
- "primaries": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "Primary name server for secondary zone.\n"
+ "description": "Instance name.\n"
},
- "primaryNameServer": {
- "type": "string",
- "description": "Primary name server. FQDN.\n"
+ "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 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"
- },
- "serialNumber": {
- "type": "integer",
- "description": "Serial number.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
},
- "state": {
+ "region": {
"type": "string",
- "description": "Zone state.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "type": {
- "type": "string",
- "description": "Zone type.\n"
+ "replicas": {
+ "type": "integer"
},
- "visibility": {
- "type": "string",
- "description": "Visibility of the zone.\n"
+ "storage": {
+ "$ref": "#/types/stackit:index/getMongodbflexInstanceStorage:getMongodbflexInstanceStorage"
},
- "zoneId": {
- "type": "string",
- "description": "The zone ID.\n"
+ "version": {
+ "type": "string"
}
},
"type": "object",
"required": [
- "acl",
- "active",
- "contactEmail",
- "defaultTtl",
- "description",
- "expireTime",
+ "acls",
+ "backupSchedule",
+ "flavor",
"id",
- "isReverseZone",
+ "instanceId",
"name",
- "negativeCache",
- "primaries",
- "primaryNameServer",
+ "options",
"projectId",
- "recordCount",
- "refreshTime",
- "retryTime",
- "serialNumber",
- "state",
- "type",
- "visibility"
+ "region",
+ "replicas",
+ "storage",
+ "version"
]
}
},
- "stackit:index/getGit:getGit": {
- "description": "Git Instance datasource schema.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\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/getMongodbflexUser:getMongodbflexUser": {
+ "description": "MongoDB Flex user data source schema. Must have a `region` 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 getGit.\n",
+ "description": "A collection of arguments for invoking getMongodbflexUser.\n",
"properties": {
"instanceId": {
"type": "string",
- "description": "ID linked to the git instance.\n"
+ "description": "ID of the MongoDB Flex instance.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the git 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 getGit.\n",
+ "description": "A collection of values returned by getMongodbflexUser.\n",
"properties": {
+ "database": {
+ "type": "string"
+ },
+ "host": {
+ "type": "string"
+ },
"id": {
"type": "string"
},
"instanceId": {
"type": "string",
- "description": "ID linked to the git instance.\n"
+ "description": "ID of the MongoDB Flex instance.\n"
},
- "name": {
- "type": "string",
- "description": "Unique name linked to the git instance.\n"
+ "port": {
+ "type": "integer"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the git instance is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
},
- "url": {
+ "region": {
"type": "string",
- "description": "Url linked to the git instance.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "version": {
+ "roles": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "userId": {
"type": "string",
- "description": "Version linked to the git instance.\n"
+ "description": "User ID.\n"
+ },
+ "username": {
+ "type": "string"
}
},
"type": "object",
"required": [
+ "database",
+ "host",
"id",
"instanceId",
- "name",
+ "port",
"projectId",
- "url",
- "version"
+ "region",
+ "roles",
+ "userId",
+ "username"
]
}
},
- "stackit:index/getImage:getImage": {
- "description": "Image datasource schema. Must have a `region` 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/getNetwork:getNetwork": {
+ "description": "Network resource schema. Must have a `region` 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 getImage.\n",
+ "description": "A collection of arguments for invoking getNetwork.\n",
"properties": {
- "imageId": {
+ "networkId": {
"type": "string",
- "description": "The image ID.\n"
+ "description": "The network ID.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the image is associated.\n"
+ "description": "STACKIT project ID to which the network is associated.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set. This is likely going to undergo significant changes or be removed in the future.\nThe resource region. If not defined, the provider region is used.\n"
}
},
"type": "object",
"required": [
- "imageId",
+ "networkId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getImage.\n",
+ "description": "A collection of values returned by getNetwork.\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"
- },
- "diskFormat": {
- "type": "string",
- "description": "The disk format of the image.\n"
- },
"id": {
"type": "string"
},
- "imageId": {
+ "ipv4Gateway": {
"type": "string",
- "description": "The image ID.\n"
+ "description": "The IPv4 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n"
},
- "labels": {
- "type": "object",
- "additionalProperties": {
+ "ipv4Nameservers": {
+ "type": "array",
+ "items": {
"type": "string"
},
- "description": "Labels are key-value string pairs which can be attached to a resource container\n"
+ "description": "The IPv4 nameservers of the network.\n"
},
- "minDiskSize": {
- "type": "integer",
- "description": "The minimum disk size of the image in GB.\n"
+ "ipv4Prefix": {
+ "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"
},
- "minRam": {
+ "ipv4PrefixLength": {
"type": "integer",
- "description": "The minimum RAM of the image in MB.\n"
+ "description": "The IPv4 prefix length of the network.\n"
},
- "name": {
- "type": "string",
- "description": "The name of the image.\n"
+ "ipv4Prefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The IPv4 prefixes of the network.\n"
},
- "projectId": {
+ "ipv6Gateway": {
"type": "string",
- "description": "STACKIT project ID to which the image is associated.\n"
+ "description": "The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.\n"
},
- "protected": {
- "type": "boolean",
- "description": "Whether the image is protected.\n"
+ "ipv6Nameservers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The IPv6 nameservers of the network.\n"
},
- "scope": {
- "type": "string",
- "description": "The scope of the image.\n"
- }
- },
- "type": "object",
- "required": [
- "checksum",
- "config",
- "diskFormat",
- "id",
- "imageId",
- "labels",
- "minDiskSize",
- "minRam",
- "name",
- "projectId",
- "protected",
- "scope"
- ]
- }
- },
- "stackit:index/getKeyPair:getKeyPair": {
- "description": "Key pair resource schema. Must have a `region` 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 getKeyPair.\n",
- "properties": {
- "name": {
- "type": "string",
- "description": "The name of the SSH key pair.\n"
- }
- },
- "type": "object",
- "required": [
- "name"
- ]
- },
- "outputs": {
- "description": "A collection of values returned by getKeyPair.\n",
- "properties": {
- "fingerprint": {
+ "ipv6Prefix": {
"type": "string",
- "description": "The fingerprint of the public SSH key.\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"
},
- "id": {
- "type": "string"
+ "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": "Labels are key-value string pairs which can be attached to a resource container\n"
},
"name": {
"type": "string",
- "description": "The name of the SSH key pair.\n"
+ "description": "The name of the network.\n"
},
- "publicKey": {
+ "nameservers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The nameservers of the network. This field is deprecated and will be removed soon, use `ipv4_nameservers` to configure the nameservers for IPv4.\n",
+ "deprecationMessage": "Use `ipv4_nameservers` to configure the nameservers for IPv4."
+ },
+ "networkId": {
"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": "The network ID.\n"
+ },
+ "prefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The prefixes of the network. This field is deprecated and will be removed soon, use `ipv4_prefixes` to read the prefixes of the IPv4 networks.\n",
+ "deprecationMessage": "Use `ipv4_prefixes` to read the prefixes of the IPv4 networks."
+ },
+ "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"
+ },
+ "region": {
+ "type": "string",
+ "description": "Can only be used when experimental \"network\" is set. This is likely going to undergo significant changes or be removed in the future.\nThe 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": "Can only be used when experimental \"network\" is set. This is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\nThe ID of the routing table associated with the network.\n"
}
},
"type": "object",
"required": [
- "fingerprint",
"id",
+ "ipv4Gateway",
+ "ipv4Nameservers",
+ "ipv4Prefix",
+ "ipv4PrefixLength",
+ "ipv4Prefixes",
+ "ipv6Gateway",
+ "ipv6Nameservers",
+ "ipv6Prefix",
+ "ipv6PrefixLength",
+ "ipv6Prefixes",
"labels",
"name",
- "publicKey"
+ "nameservers",
+ "networkId",
+ "prefixes",
+ "projectId",
+ "publicIp",
+ "routed",
+ "routingTableId"
]
}
},
- "stackit:index/getLoadbalancer:getLoadbalancer": {
- "description": "Load Balancer data source schema. Must have a `region` 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/getNetworkArea:getNetworkArea": {
+ "description": "Network area datasource schema. Must have a `region` specified in the provider configuration.\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 getLoadbalancer.\n",
+ "description": "A collection of arguments for invoking getNetworkArea.\n",
"properties": {
- "name": {
- "type": "string",
- "description": "Load balancer name.\n"
- },
- "projectId": {
+ "networkAreaId": {
"type": "string",
- "description": "STACKIT project ID to which the Load Balancer is associated.\n"
+ "description": "The network area ID.\n"
},
- "region": {
+ "organizationId": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "STACKIT organization ID to which the network area is associated.\n"
}
},
"type": "object",
"required": [
- "name",
- "projectId"
+ "networkAreaId",
+ "organizationId"
]
},
"outputs": {
- "description": "A collection of values returned by getLoadbalancer.\n",
+ "description": "A collection of values returned by getNetworkArea.\n",
"properties": {
- "externalAddress": {
- "type": "string",
- "description": "External Load Balancer IP address where this Load Balancer is exposed.\n"
+ "defaultNameservers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS Servers/Nameservers.\n"
+ },
+ "defaultPrefixLength": {
+ "type": "integer",
+ "description": "The default prefix length for networks in the network area.\n"
},
"id": {
"type": "string"
},
- "listeners": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/getLoadbalancerListener:getLoadbalancerListener"
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
},
- "description": "List of all listeners which will accept traffic. Limited to 20.\n"
+ "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"
+ },
+ "minPrefixLength": {
+ "type": "integer",
+ "description": "The minimal prefix length for networks in the network area.\n"
},
"name": {
"type": "string",
- "description": "Load balancer name.\n"
+ "description": "The name of the network area.\n"
},
- "networks": {
+ "networkAreaId": {
+ "type": "string",
+ "description": "The network area ID.\n"
+ },
+ "networkRanges": {
"type": "array",
"items": {
- "$ref": "#/types/stackit:index/getLoadbalancerNetwork:getLoadbalancerNetwork"
+ "$ref": "#/types/stackit:index/getNetworkAreaNetworkRange:getNetworkAreaNetworkRange"
},
- "description": "List of networks that listeners and targets reside in.\n"
- },
- "options": {
- "$ref": "#/types/stackit:index/getLoadbalancerOptions:getLoadbalancerOptions",
- "description": "Defines any optional functionality you want to have enabled on your load balancer.\n"
+ "description": "List of Network ranges.\n"
},
- "privateAddress": {
+ "organizationId": {
"type": "string",
- "description": "Transient private Load Balancer IP address. It can change any time.\n"
+ "description": "STACKIT organization ID to which the network area is associated.\n"
},
- "projectId": {
- "type": "string",
- "description": "STACKIT project ID to which the Load Balancer is associated.\n"
+ "projectCount": {
+ "type": "integer",
+ "description": "The amount of projects currently referencing this area.\n"
},
- "region": {
+ "transferNetwork": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\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": "Classless Inter-Domain Routing (CIDR).\n"
}
},
"type": "object",
"required": [
- "externalAddress",
+ "defaultNameservers",
+ "defaultPrefixLength",
"id",
- "listeners",
+ "labels",
+ "maxPrefixLength",
+ "minPrefixLength",
"name",
- "networks",
- "options",
- "privateAddress",
- "projectId",
- "targetPools"
+ "networkAreaId",
+ "networkRanges",
+ "organizationId",
+ "projectCount",
+ "transferNetwork"
]
}
},
- "stackit:index/getLogmeCredential:getLogmeCredential": {
- "description": "LogMe credential data source schema. Must have a `region` 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/getNetworkAreaRoute:getNetworkAreaRoute": {
+ "description": "Network area route data resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_route_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
"inputs": {
- "description": "A collection of arguments for invoking getLogmeCredential.\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 LogMe 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"
}
},
"type": "object",
"required": [
- "credentialId",
- "instanceId",
- "projectId"
+ "networkAreaId",
+ "networkAreaRouteId",
+ "organizationId"
]
},
"outputs": {
- "description": "A collection of values returned by getLogmeCredential.\n",
+ "description": "A collection of values returned by getNetworkAreaRoute.\n",
"properties": {
- "credentialId": {
- "type": "string",
- "description": "The credential's ID.\n"
- },
- "host": {
- "type": "string"
- },
"id": {
"type": "string"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the LogMe instance.\n"
+ "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
+ "description": "The network area ID to which the network area route is associated.\n"
},
- "port": {
- "type": "integer"
+ "networkAreaRouteId": {
+ "type": "string",
+ "description": "The network area route ID.\n"
},
- "projectId": {
+ "nextHop": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address.\n"
},
- "uri": {
+ "organizationId": {
"type": "string",
- "secret": true
+ "description": "STACKIT organization ID to which the network area is associated.\n"
},
- "username": {
- "type": "string"
+ "prefix": {
+ "type": "string",
+ "description": "The network, that is reachable though the Next Hop. Should use CIDR notation.\n"
}
},
"type": "object",
"required": [
- "credentialId",
- "host",
"id",
- "instanceId",
- "password",
- "port",
- "projectId",
- "uri",
- "username"
+ "labels",
+ "networkAreaId",
+ "networkAreaRouteId",
+ "nextHop",
+ "organizationId",
+ "prefix"
]
}
},
- "stackit:index/getLogmeInstance:getLogmeInstance": {
- "description": "LogMe instance data source schema. Must have a `region` 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/getNetworkInterface:getNetworkInterface": {
+ "description": "Network interface datasource schema. Must have a `region` 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 getLogmeInstance.\n",
+ "description": "A collection of arguments for invoking getNetworkInterface.\n",
"properties": {
- "instanceId": {
+ "networkId": {
"type": "string",
- "description": "ID of the LogMe 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"
}
},
"type": "object",
"required": [
- "instanceId",
+ "networkId",
+ "networkInterfaceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getLogmeInstance.\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"
},
- "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 LogMe instance.\n"
+ "description": "The MAC address of network interface.\n"
},
"name": {
"type": "string",
- "description": "Instance name.\n"
- },
- "parameters": {
- "$ref": "#/types/stackit:index/getLogmeInstanceParameters:getLogmeInstanceParameters"
+ "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": {
+ "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": "The service version.\n"
+ "description": "Type of network interface. Some of the possible values are: Supported values are: `server`, `metadata`, `gateway`.\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/getMariadbCredential:getMariadbCredential": {
- "description": "MariaDB credential data source schema. Must have a `region` 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/getObjectstorageBucket:getObjectstorageBucket": {
+ "description": "ObjectStorage bucket data source schema. Must have a `region` 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 getMariadbCredential.\n",
+ "description": "A collection of arguments for invoking getObjectstorageBucket.\n",
"properties": {
- "credentialId": {
+ "name": {
"type": "string",
- "description": "The credential's ID.\n"
+ "description": "The bucket name. It must be DNS conform.\n"
},
- "instanceId": {
+ "projectId": {
"type": "string",
- "description": "ID of the MariaDB instance.\n"
+ "description": "STACKIT Project ID to which the bucket 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"
}
},
"type": "object",
"required": [
- "credentialId",
- "instanceId",
+ "name",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getMariadbCredential.\n",
+ "description": "A collection of values returned by getObjectstorageBucket.\n",
"properties": {
- "credentialId": {
- "type": "string",
- "description": "The credential's ID.\n"
- },
- "host": {
- "type": "string"
- },
- "hosts": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
"id": {
"type": "string"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the MariaDB instance.\n"
- },
"name": {
- "type": "string"
- },
- "password": {
"type": "string",
- "secret": true
- },
- "port": {
- "type": "integer"
+ "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"
},
- "uri": {
+ "region": {
"type": "string",
- "secret": true
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "username": {
+ "urlPathStyle": {
+ "type": "string"
+ },
+ "urlVirtualHostedStyle": {
"type": "string"
}
},
"type": "object",
"required": [
- "credentialId",
- "host",
- "hosts",
"id",
- "instanceId",
"name",
- "password",
- "port",
"projectId",
- "uri",
- "username"
+ "urlPathStyle",
+ "urlVirtualHostedStyle"
]
}
},
- "stackit:index/getMariadbInstance:getMariadbInstance": {
- "description": "MariaDB instance data source schema. Must have a `region` 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/getObjectstorageCredential:getObjectstorageCredential": {
+ "description": "ObjectStorage credential data source schema. Must have a `region` 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 getMariadbInstance.\n",
+ "description": "A collection of arguments for invoking getObjectstorageCredential.\n",
"properties": {
- "instanceId": {
+ "credentialId": {
"type": "string",
- "description": "ID of the MariaDB instance.\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 instance is associated.\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"
}
},
"type": "object",
"required": [
- "instanceId",
+ "credentialId",
+ "credentialsGroupId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getMariadbInstance.\n",
+ "description": "A collection of values returned by getObjectstorageCredential.\n",
"properties": {
- "cfGuid": {
- "type": "string"
- },
- "cfOrganizationGuid": {
- "type": "string"
+ "credentialId": {
+ "type": "string",
+ "description": "The credential ID.\n"
},
- "cfSpaceGuid": {
- "type": "string"
+ "credentialsGroupId": {
+ "type": "string",
+ "description": "The credential group ID.\n"
},
- "dashboardUrl": {
+ "expirationTimestamp": {
"type": "string"
},
"id": {
"type": "string"
},
- "imageUrl": {
- "type": "string"
- },
- "instanceId": {
- "type": "string",
- "description": "ID of the MariaDB instance.\n"
- },
"name": {
- "type": "string",
- "description": "Instance name.\n"
- },
- "parameters": {
- "$ref": "#/types/stackit:index/getMariadbInstanceParameters:getMariadbInstanceParameters"
- },
- "planId": {
- "type": "string",
- "description": "The selected plan ID.\n"
- },
- "planName": {
- "type": "string",
- "description": "The selected plan name.\n"
+ "type": "string"
},
"projectId": {
"type": "string",
- "description": "STACKIT Project ID to which the instance is associated.\n"
+ "description": "STACKIT Project ID to which the credential group 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"
}
},
"type": "object",
"required": [
- "cfGuid",
- "cfOrganizationGuid",
- "cfSpaceGuid",
- "dashboardUrl",
+ "credentialId",
+ "credentialsGroupId",
+ "expirationTimestamp",
"id",
- "imageUrl",
- "instanceId",
"name",
- "parameters",
- "planId",
- "planName",
- "projectId",
- "version"
+ "projectId"
]
}
},
- "stackit:index/getMongodbflexInstance:getMongodbflexInstance": {
- "description": "MongoDB Flex instance data source schema. Must have a `region` 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/getObjectstorageCredentialsGroup:getObjectstorageCredentialsGroup": {
+ "description": "ObjectStorage credentials group data source schema. Must have a `region` 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 getMongodbflexInstance.\n",
+ "description": "A collection of arguments for invoking getObjectstorageCredentialsGroup.\n",
"properties": {
- "instanceId": {
+ "credentialsGroupId": {
"type": "string",
- "description": "ID of the MongoDB Flex instance.\n"
+ "description": "The credentials group ID.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance 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": [
- "instanceId",
+ "credentialsGroupId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getMongodbflexInstance.\n",
+ "description": "A collection of values returned by getObjectstorageCredentialsGroup.\n",
"properties": {
- "acls": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The Access Control List (ACL) for the MongoDB Flex instance.\n"
- },
- "backupSchedule": {
+ "credentialsGroupId": {
"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"
+ "description": "The credentials group ID.\n"
},
"id": {
"type": "string"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the MongoDB Flex instance.\n"
- },
"name": {
"type": "string",
- "description": "Instance name.\n"
- },
- "options": {
- "$ref": "#/types/stackit:index/getMongodbflexInstanceOptions:getMongodbflexInstanceOptions",
- "description": "Custom parameters for the MongoDB Flex instance.\n"
+ "description": "The credentials group's display name.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
- },
- "replicas": {
- "type": "integer"
+ "description": "Object Storage Project ID to which the credentials group is associated.\n"
},
- "storage": {
- "$ref": "#/types/stackit:index/getMongodbflexInstanceStorage:getMongodbflexInstanceStorage"
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "version": {
- "type": "string"
+ "urn": {
+ "type": "string",
+ "description": "Credentials group uniform resource name (URN)\n"
}
},
"type": "object",
"required": [
- "acls",
- "backupSchedule",
- "flavor",
+ "credentialsGroupId",
"id",
- "instanceId",
"name",
- "options",
"projectId",
- "replicas",
- "storage",
- "version"
+ "urn"
]
}
},
- "stackit:index/getMongodbflexUser:getMongodbflexUser": {
- "description": "MongoDB Flex user data source schema. Must have a `region` 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/getObservabilityAlertgroup:getObservabilityAlertgroup": {
+ "description": "Observability alert group datasource schema. Used to create alerts based on metrics (Thanos). Must have a `region` 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 getMongodbflexUser.\n",
+ "description": "A collection of arguments for invoking getObservabilityAlertgroup.\n",
"properties": {
"instanceId": {
"type": "string",
- "description": "ID of the MongoDB Flex instance.\n"
+ "description": "Observability instance ID to which the alert group is associated.\n"
},
- "projectId": {
+ "name": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "The name of the alert group. Is the identifier and must be unique in the group.\n"
},
- "userId": {
+ "projectId": {
"type": "string",
- "description": "User ID.\n"
+ "description": "STACKIT project ID to which the alert group is associated.\n"
}
},
"type": "object",
"required": [
"instanceId",
- "projectId",
- "userId"
+ "name",
+ "projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getMongodbflexUser.\n",
+ "description": "A collection of values returned by getObservabilityAlertgroup.\n",
"properties": {
- "database": {
- "type": "string"
- },
- "host": {
- "type": "string"
- },
"id": {
"type": "string"
},
"instanceId": {
"type": "string",
- "description": "ID of the MongoDB Flex instance.\n"
+ "description": "Observability instance ID to which the alert group is associated.\n"
},
- "port": {
- "type": "integer"
+ "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"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the alert group. Is the identifier and must be unique in the group.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "STACKIT project ID to which the alert group is associated.\n"
},
- "roles": {
+ "rules": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/types/stackit:index/getObservabilityAlertgroupRule:getObservabilityAlertgroupRule"
}
- },
- "userId": {
- "type": "string",
- "description": "User ID.\n"
- },
- "username": {
- "type": "string"
}
},
"type": "object",
"required": [
- "database",
- "host",
"id",
"instanceId",
- "port",
+ "interval",
+ "name",
"projectId",
- "roles",
- "userId",
- "username"
+ "rules"
]
}
},
- "stackit:index/getNetwork:getNetwork": {
- "description": "Network resource schema. Must have a `region` 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/getObservabilityInstance:getObservabilityInstance": {
+ "description": "Observability instance data source schema. Must have a `region` 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 getNetwork.\n",
+ "description": "A collection of arguments for invoking getObservabilityInstance.\n",
"properties": {
- "networkId": {
+ "instanceId": {
"type": "string",
- "description": "The network ID.\n"
+ "description": "The Observability instance ID.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the network is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
}
},
"type": "object",
"required": [
- "networkId",
+ "instanceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getNetwork.\n",
+ "description": "A collection of values returned by getObservabilityInstance.\n",
"properties": {
- "id": {
- "type": "string"
- },
- "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": {
+ "acls": {
"type": "array",
"items": {
"type": "string"
},
- "description": "The IPv4 nameservers of the network.\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"
},
- "ipv4Prefix": {
+ "alertConfig": {
+ "$ref": "#/types/stackit:index/getObservabilityInstanceAlertConfig:getObservabilityInstanceAlertConfig",
+ "description": "Alert configuration for the instance.\n"
+ },
+ "alertingUrl": {
"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"
+ "description": "Specifies Alerting URL.\n"
},
- "ipv4PrefixLength": {
- "type": "integer",
- "description": "The IPv4 prefix length of the network.\n"
+ "dashboardUrl": {
+ "type": "string",
+ "description": "Specifies Observability instance dashboard URL.\n"
},
- "ipv4Prefixes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The IPv4 prefixes of the network.\n"
+ "grafanaInitialAdminPassword": {
+ "type": "string",
+ "description": "Specifies an initial Grafana admin password.\n",
+ "secret": true
},
- "ipv6Gateway": {
+ "grafanaInitialAdminUser": {
"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": "Specifies an initial Grafana admin username.\n"
},
- "ipv6Nameservers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The IPv6 nameservers of the network.\n"
+ "grafanaPublicReadAccess": {
+ "type": "boolean",
+ "description": "If true, anyone can access Grafana dashboards without logging in.\n"
},
- "ipv6Prefix": {
+ "grafanaUrl": {
"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"
+ "description": "Specifies Grafana URL.\n"
},
- "ipv6PrefixLength": {
+ "id": {
+ "type": "string"
+ },
+ "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"
+ },
+ "logsUrl": {
+ "type": "string",
+ "description": "Specifies Logs URL.\n"
+ },
+ "metricsPushUrl": {
+ "type": "string",
+ "description": "Specifies URL for pushing metrics.\n"
+ },
+ "metricsRetentionDays": {
"type": "integer",
- "description": "The IPv6 prefix length of the network.\n"
+ "description": "Specifies for how many days the raw metrics are kept. Default is set to `90`.\n"
},
- "ipv6Prefixes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The IPv6 prefixes of the network.\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 `90`.\n"
},
- "labels": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Labels are key-value string pairs which can be attached to a resource container\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 `90`.\n"
+ },
+ "metricsUrl": {
+ "type": "string",
+ "description": "Specifies metrics URL.\n"
},
"name": {
"type": "string",
- "description": "The name of the network.\n"
+ "description": "The name of the Observability instance.\n"
},
- "nameservers": {
- "type": "array",
- "items": {
+ "otlpTracesUrl": {
+ "type": "string"
+ },
+ "parameters": {
+ "type": "object",
+ "additionalProperties": {
"type": "string"
},
- "description": "The nameservers of the network. This field is deprecated and will be removed soon, use `ipv4_nameservers` to configure the nameservers for IPv4.\n",
- "deprecationMessage": "Use `ipv4_nameservers` to configure the nameservers for IPv4."
+ "description": "Additional parameters.\n"
},
- "networkId": {
+ "planId": {
"type": "string",
- "description": "The network ID.\n"
+ "description": "The Observability plan ID.\n"
},
- "prefixes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The prefixes of the network. This field is deprecated and will be removed soon, use `ipv4_prefixes` to read the prefixes of the IPv4 networks.\n",
- "deprecationMessage": "Use `ipv4_prefixes` to read the prefixes of the IPv4 networks."
+ "planName": {
+ "type": "string",
+ "description": "Specifies the Observability plan. E.g. `Observability-Monitoring-Medium-EU01`.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the network is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
},
- "publicIp": {
+ "targetsUrl": {
"type": "string",
- "description": "The public IP of the network.\n"
+ "description": "Specifies Targets URL.\n"
},
- "routed": {
- "type": "boolean",
- "description": "Shows if the network is routed and therefore accessible from other networks.\n"
+ "zipkinSpansUrl": {
+ "type": "string"
}
},
"type": "object",
"required": [
+ "acls",
+ "alertConfig",
+ "alertingUrl",
+ "dashboardUrl",
+ "grafanaInitialAdminPassword",
+ "grafanaInitialAdminUser",
+ "grafanaPublicReadAccess",
+ "grafanaUrl",
"id",
- "ipv4Gateway",
- "ipv4Nameservers",
- "ipv4Prefix",
- "ipv4PrefixLength",
- "ipv4Prefixes",
- "ipv6Gateway",
- "ipv6Nameservers",
- "ipv6Prefix",
- "ipv6PrefixLength",
- "ipv6Prefixes",
- "labels",
+ "instanceId",
+ "isUpdatable",
+ "jaegerTracesUrl",
+ "jaegerUiUrl",
+ "logsPushUrl",
+ "logsUrl",
+ "metricsPushUrl",
+ "metricsRetentionDays",
+ "metricsRetentionDays1hDownsampling",
+ "metricsRetentionDays5mDownsampling",
+ "metricsUrl",
"name",
- "nameservers",
- "networkId",
- "prefixes",
+ "otlpTracesUrl",
+ "parameters",
+ "planId",
+ "planName",
"projectId",
- "publicIp",
- "routed"
+ "targetsUrl",
+ "zipkinSpansUrl"
]
}
},
- "stackit:index/getNetworkArea:getNetworkArea": {
- "description": "Network area datasource schema. Must have a `region` specified in the provider configuration.\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/getObservabilityLogalertgroup:getObservabilityLogalertgroup": {
+ "description": "Observability log alert group datasource schema. Used to create alerts based on logs (Loki). Must have a `region` 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 getNetworkArea.\n",
+ "description": "A collection of arguments for invoking getObservabilityLogalertgroup.\n",
"properties": {
- "networkAreaId": {
+ "instanceId": {
"type": "string",
- "description": "The network area ID.\n"
+ "description": "Observability instance ID to which the log alert group is associated.\n"
},
- "organizationId": {
+ "name": {
+ "type": "string",
+ "description": "The name of the log alert group. Is the identifier and must be unique in the group.\n"
+ },
+ "projectId": {
"type": "string",
- "description": "STACKIT organization ID to which the network area is associated.\n"
+ "description": "STACKIT project ID to which the log alert group is associated.\n"
}
},
"type": "object",
"required": [
- "networkAreaId",
- "organizationId"
+ "instanceId",
+ "name",
+ "projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getNetworkArea.\n",
+ "description": "A collection of values returned by getObservabilityLogalertgroup.\n",
"properties": {
- "defaultNameservers": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of DNS Servers/Nameservers.\n"
- },
- "defaultPrefixLength": {
- "type": "integer",
- "description": "The default prefix length for networks in the network area.\n"
- },
"id": {
"type": "string"
},
- "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"
+ "instanceId": {
+ "type": "string",
+ "description": "Observability instance ID to which the log alert group is associated.\n"
},
- "minPrefixLength": {
- "type": "integer",
- "description": "The minimal prefix length for networks in the network area.\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"
},
"name": {
"type": "string",
- "description": "The name of the network area.\n"
+ "description": "The name of the log alert group. Is the identifier and must be unique in the group.\n"
},
- "networkAreaId": {
+ "projectId": {
"type": "string",
- "description": "The network area ID.\n"
+ "description": "STACKIT project ID to which the log alert group is associated.\n"
},
- "networkRanges": {
+ "rules": {
"type": "array",
"items": {
- "$ref": "#/types/stackit:index/getNetworkAreaNetworkRange:getNetworkAreaNetworkRange"
- },
- "description": "List of Network ranges.\n"
- },
- "organizationId": {
- "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"
- },
- "transferNetwork": {
- "type": "string",
- "description": "Classless Inter-Domain Routing (CIDR).\n"
+ "$ref": "#/types/stackit:index/getObservabilityLogalertgroupRule:getObservabilityLogalertgroupRule"
+ }
}
},
"type": "object",
"required": [
- "defaultNameservers",
- "defaultPrefixLength",
"id",
- "labels",
- "maxPrefixLength",
- "minPrefixLength",
+ "instanceId",
+ "interval",
"name",
- "networkAreaId",
- "networkRanges",
- "organizationId",
- "projectCount",
- "transferNetwork"
+ "projectId",
+ "rules"
]
}
},
- "stackit:index/getNetworkAreaRoute:getNetworkAreaRoute": {
- "description": "Network area route data resource schema. Must have a `region` specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_route_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "stackit:index/getObservabilityScrapeconfig:getObservabilityScrapeconfig": {
+ "description": "Observability scrape config data source schema. Must have a `region` 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 getNetworkAreaRoute.\n",
+ "description": "A collection of arguments for invoking getObservabilityScrapeconfig.\n",
"properties": {
- "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 scraping job is associated.\n"
},
- "networkAreaRouteId": {
+ "name": {
"type": "string",
- "description": "The network area route ID.\n"
+ "description": "Specifies the name of the scraping job\n"
},
- "organizationId": {
+ "projectId": {
"type": "string",
- "description": "STACKIT organization ID to which the network area is associated.\n"
+ "description": "STACKIT project ID to which the scraping job 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 getObservabilityScrapeconfig.\n",
"properties": {
+ "basicAuth": {
+ "$ref": "#/types/stackit:index/getObservabilityScrapeconfigBasicAuth:getObservabilityScrapeconfigBasicAuth",
+ "description": "A basic authentication block.\n"
+ },
"id": {
"type": "string"
},
- "labels": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Labels are key-value string pairs which can be attached to a resource container\n"
+ "instanceId": {
+ "type": "string",
+ "description": "Observability instance ID to which the scraping job is associated.\n"
},
- "networkAreaId": {
+ "metricsPath": {
"type": "string",
- "description": "The network area ID to which the network area route is associated.\n"
+ "description": "Specifies the job scraping url path.\n"
},
- "networkAreaRouteId": {
+ "name": {
"type": "string",
- "description": "The network area route ID.\n"
+ "description": "Specifies the name of the scraping job\n"
},
- "nextHop": {
+ "projectId": {
"type": "string",
- "description": "The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address.\n"
+ "description": "STACKIT project ID to which the scraping job is associated.\n"
},
- "organizationId": {
+ "saml2": {
+ "$ref": "#/types/stackit:index/getObservabilityScrapeconfigSaml2:getObservabilityScrapeconfigSaml2",
+ "description": "A SAML2 configuration block.\n"
+ },
+ "sampleLimit": {
+ "type": "integer",
+ "description": "Specifies the scrape sample limit.\n"
+ },
+ "scheme": {
"type": "string",
- "description": "STACKIT organization ID to which the network area is associated.\n"
+ "description": "Specifies the http scheme.\n"
},
- "prefix": {
+ "scrapeInterval": {
"type": "string",
- "description": "The network, that is reachable though the Next Hop. Should use CIDR notation.\n"
+ "description": "Specifies the scrape interval as duration string.\n"
+ },
+ "scrapeTimeout": {
+ "type": "string",
+ "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": [
+ "basicAuth",
"id",
- "labels",
- "networkAreaId",
- "networkAreaRouteId",
- "nextHop",
- "organizationId",
- "prefix"
+ "instanceId",
+ "metricsPath",
+ "name",
+ "projectId",
+ "saml2",
+ "sampleLimit",
+ "scheme",
+ "scrapeInterval",
+ "scrapeTimeout",
+ "targets"
]
}
},
- "stackit:index/getNetworkInterface:getNetworkInterface": {
- "description": "Network interface datasource schema. Must have a `region` 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/getOpensearchCredential:getOpensearchCredential": {
+ "description": "OpenSearch credential data source schema. Must have a `region` 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 getNetworkInterface.\n",
+ "description": "A collection of arguments for invoking getOpensearchCredential.\n",
"properties": {
- "networkId": {
+ "credentialId": {
"type": "string",
- "description": "The network ID to which the network interface is associated.\n"
+ "description": "The credential's ID.\n"
},
- "networkInterfaceId": {
+ "instanceId": {
"type": "string",
- "description": "The network interface ID.\n"
+ "description": "ID of the OpenSearch instance.\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"
}
},
"type": "object",
"required": [
- "networkId",
- "networkInterfaceId",
+ "credentialId",
+ "instanceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getNetworkInterface.\n",
+ "description": "A collection of values returned by getOpensearchCredential.\n",
"properties": {
- "allowedAddresses": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The list of CIDR (Classless Inter-Domain Routing) notations.\n"
- },
- "device": {
+ "credentialId": {
"type": "string",
- "description": "The device UUID of the network interface.\n"
+ "description": "The credential's ID.\n"
},
- "id": {
+ "host": {
"type": "string"
},
- "ipv4": {
- "type": "string",
- "description": "The IPv4 address.\n"
- },
- "labels": {
- "type": "object",
- "additionalProperties": {
+ "hosts": {
+ "type": "array",
+ "items": {
"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"
+ "id": {
+ "type": "string"
},
- "name": {
+ "instanceId": {
"type": "string",
- "description": "The name of the network interface.\n"
+ "description": "ID of the OpenSearch instance.\n"
},
- "networkId": {
+ "password": {
"type": "string",
- "description": "The network ID to which the network interface is associated.\n"
+ "secret": true
},
- "networkInterfaceId": {
- "type": "string",
- "description": "The network interface ID.\n"
+ "port": {
+ "type": "integer"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the network interface is associated.\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": "STACKIT project ID to which the instance is associated.\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"
+ "scheme": {
+ "type": "string"
},
- "type": {
+ "uri": {
"type": "string",
- "description": "Type of network interface. Some of the possible values are: Supported values are: `server`, `metadata`, `gateway`.\n"
+ "secret": true
+ },
+ "username": {
+ "type": "string"
}
},
"type": "object",
"required": [
- "allowedAddresses",
- "device",
+ "credentialId",
+ "host",
+ "hosts",
"id",
- "ipv4",
- "labels",
- "mac",
- "name",
- "networkId",
- "networkInterfaceId",
+ "instanceId",
+ "password",
+ "port",
"projectId",
- "security",
- "securityGroupIds",
- "type"
+ "scheme",
+ "uri",
+ "username"
]
}
},
- "stackit:index/getObjectstorageBucket:getObjectstorageBucket": {
- "description": "ObjectStorage bucket data source schema. Must have a `region` 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/getOpensearchInstance:getOpensearchInstance": {
+ "description": "OpenSearch instance data source schema. Must have a `region` 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 getObjectstorageBucket.\n",
+ "description": "A collection of arguments for invoking getOpensearchInstance.\n",
"properties": {
- "name": {
+ "instanceId": {
"type": "string",
- "description": "The bucket name. It must be DNS conform.\n"
+ "description": "ID of the OpenSearch instance.\n"
},
"projectId": {
"type": "string",
- "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"
+ "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 getObjectstorageBucket.\n",
+ "description": "A collection of values returned by getOpensearchInstance.\n",
"properties": {
+ "cfGuid": {
+ "type": "string"
+ },
+ "cfOrganizationGuid": {
+ "type": "string"
+ },
+ "cfSpaceGuid": {
+ "type": "string"
+ },
+ "dashboardUrl": {
+ "type": "string"
+ },
"id": {
"type": "string"
},
+ "imageUrl": {
+ "type": "string"
+ },
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the OpenSearch instance.\n"
+ },
"name": {
"type": "string",
- "description": "The bucket name. It must be DNS conform.\n"
+ "description": "Instance name.\n"
},
- "projectId": {
+ "parameters": {
+ "$ref": "#/types/stackit:index/getOpensearchInstanceParameters:getOpensearchInstanceParameters"
+ },
+ "planId": {
"type": "string",
- "description": "STACKIT Project ID to which the bucket 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"
},
- "urlPathStyle": {
- "type": "string"
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT Project ID to which the instance is associated.\n"
},
- "urlVirtualHostedStyle": {
- "type": "string"
+ "version": {
+ "type": "string",
+ "description": "The service version.\n"
}
},
"type": "object",
"required": [
+ "cfGuid",
+ "cfOrganizationGuid",
+ "cfSpaceGuid",
+ "dashboardUrl",
"id",
+ "imageUrl",
+ "instanceId",
"name",
+ "parameters",
+ "planId",
+ "planName",
"projectId",
- "urlPathStyle",
- "urlVirtualHostedStyle"
+ "version"
]
}
},
- "stackit:index/getObjectstorageCredential:getObjectstorageCredential": {
- "description": "ObjectStorage credential data source schema. Must have a `region` 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",
+ "stackit:index/getPostgresflexDatabase:getPostgresflexDatabase": {
+ "description": "Postgres Flex database resource schema. Must have a `region` 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 getObjectstorageCredential.\n",
+ "description": "A collection of arguments for invoking getPostgresflexDatabase.\n",
"properties": {
- "credentialId": {
+ "databaseId": {
"type": "string",
- "description": "The credential ID.\n"
+ "description": "Database ID.\n"
},
- "credentialsGroupId": {
+ "instanceId": {
"type": "string",
- "description": "The credential group ID.\n"
+ "description": "ID of the Postgres Flex instance.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT Project ID to which the credential group is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
},
"region": {
"type": "string",
@@ -14051,34 +16499,36 @@
},
"type": "object",
"required": [
- "credentialId",
- "credentialsGroupId",
+ "databaseId",
+ "instanceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getObjectstorageCredential.\n",
+ "description": "A collection of values returned by getPostgresflexDatabase.\n",
"properties": {
- "credentialId": {
- "type": "string",
- "description": "The credential ID.\n"
- },
- "credentialsGroupId": {
+ "databaseId": {
"type": "string",
- "description": "The credential group ID.\n"
- },
- "expirationTimestamp": {
- "type": "string"
+ "description": "Database ID.\n"
},
"id": {
"type": "string"
},
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the Postgres Flex instance.\n"
+ },
"name": {
- "type": "string"
+ "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 credential group is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
},
"region": {
"type": "string",
@@ -14087,27 +16537,27 @@
},
"type": "object",
"required": [
- "credentialId",
- "credentialsGroupId",
- "expirationTimestamp",
+ "databaseId",
"id",
+ "instanceId",
"name",
+ "owner",
"projectId"
]
}
},
- "stackit:index/getObjectstorageCredentialsGroup:getObjectstorageCredentialsGroup": {
- "description": "ObjectStorage credentials group data source schema. Must have a `region` 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/getPostgresflexInstance:getPostgresflexInstance": {
+ "description": "Postgres Flex instance data source schema. Must have a `region` 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 getObjectstorageCredentialsGroup.\n",
+ "description": "A collection of arguments for invoking getPostgresflexInstance.\n",
"properties": {
- "credentialsGroupId": {
+ "instanceId": {
"type": "string",
- "description": "The credentials group ID.\n"
+ "description": "ID of the PostgresFlex instance.\n"
},
"projectId": {
"type": "string",
- "description": "Object Storage Project ID to which the credentials group is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
},
"region": {
"type": "string",
@@ -14116,448 +16566,437 @@
},
"type": "object",
"required": [
- "credentialsGroupId",
+ "instanceId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getObjectstorageCredentialsGroup.\n",
+ "description": "A collection of values returned by getPostgresflexInstance.\n",
"properties": {
- "credentialsGroupId": {
- "type": "string",
- "description": "The credentials group ID.\n"
+ "acls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The Access Control List (ACL) for the PostgresFlex instance.\n"
+ },
+ "backupSchedule": {
+ "type": "string"
+ },
+ "flavor": {
+ "$ref": "#/types/stackit:index/getPostgresflexInstanceFlavor:getPostgresflexInstanceFlavor"
},
"id": {
"type": "string"
},
+ "instanceId": {
+ "type": "string",
+ "description": "ID of the PostgresFlex instance.\n"
+ },
"name": {
"type": "string",
- "description": "The credentials group's display name.\n"
+ "description": "Instance name.\n"
},
"projectId": {
"type": "string",
- "description": "Object Storage Project ID to which the credentials 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"
},
- "urn": {
- "type": "string",
- "description": "Credentials group uniform resource name (URN)\n"
+ "replicas": {
+ "type": "integer"
+ },
+ "storage": {
+ "$ref": "#/types/stackit:index/getPostgresflexInstanceStorage:getPostgresflexInstanceStorage"
+ },
+ "version": {
+ "type": "string"
}
},
"type": "object",
"required": [
- "credentialsGroupId",
+ "acls",
+ "backupSchedule",
+ "flavor",
"id",
+ "instanceId",
"name",
"projectId",
- "urn"
+ "replicas",
+ "storage",
+ "version"
]
}
},
- "stackit:index/getObservabilityAlertgroup:getObservabilityAlertgroup": {
- "description": "Observability alert group datasource schema. Used to create alerts based on metrics (Thanos). Must have a `region` 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/getPostgresflexUser:getPostgresflexUser": {
+ "description": "Postgres Flex user data source schema. Must have a `region` 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 getObservabilityAlertgroup.\n",
+ "description": "A collection of arguments for invoking getPostgresflexUser.\n",
"properties": {
"instanceId": {
"type": "string",
- "description": "Observability instance ID to which the alert group is associated.\n"
+ "description": "ID of the PostgresFlex instance.\n"
},
- "name": {
+ "projectId": {
"type": "string",
- "description": "The name of the 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 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 getObservabilityAlertgroup.\n",
+ "description": "A collection of values returned by getPostgresflexUser.\n",
"properties": {
+ "host": {
+ "type": "string"
+ },
"id": {
"type": "string"
},
"instanceId": {
"type": "string",
- "description": "Observability instance ID to which the 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 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 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/getObservabilityAlertgroupRule:getObservabilityAlertgroupRule"
+ "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/getObservabilityInstance:getObservabilityInstance": {
- "description": "Observability instance data source schema. Must have a `region` 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/getPublicIp:getPublicIp": {
+ "description": "Public IP resource schema. Must have a `region` 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 getObservabilityInstance.\n",
+ "description": "A collection of arguments for invoking getPublicIp.\n",
"properties": {
- "instanceId": {
+ "projectId": {
"type": "string",
- "description": "The Observability instance ID.\n"
+ "description": "STACKIT project ID to which the public IP is associated.\n"
},
- "projectId": {
+ "publicIpId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "The public IP ID.\n"
}
},
"type": "object",
"required": [
- "instanceId",
- "projectId"
+ "projectId",
+ "publicIpId"
]
},
"outputs": {
- "description": "A collection of values returned by getObservabilityInstance.\n",
+ "description": "A collection of values returned by getPublicIp.\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"
- },
- "grafanaInitialAdminPassword": {
- "type": "string",
- "description": "Specifies an initial Grafana admin password.\n",
- "secret": true
- },
- "grafanaInitialAdminUser": {
- "type": "string",
- "description": "Specifies an initial Grafana admin username.\n"
- },
- "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"
},
- "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"
- },
- "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.\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 `0` (disabled).\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 `0` (disabled).\n"
- },
- "metricsUrl": {
- "type": "string",
- "description": "Specifies metrics URL.\n"
- },
- "name": {
+ "ip": {
"type": "string",
- "description": "The name of the Observability instance.\n"
- },
- "otlpTracesUrl": {
- "type": "string"
+ "description": "The IP address.\n"
},
- "parameters": {
+ "labels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "Additional parameters.\n"
- },
- "planId": {
- "type": "string",
- "description": "The Observability plan ID.\n"
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "planName": {
+ "networkInterfaceId": {
"type": "string",
- "description": "Specifies the Observability plan. E.g. `Observability-Monitoring-Medium-EU01`.\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 instance is associated.\n"
+ "description": "STACKIT project ID to which the public IP is associated.\n"
},
- "targetsUrl": {
+ "publicIpId": {
"type": "string",
- "description": "Specifies Targets URL.\n"
+ "description": "The public IP ID.\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"
},
- "zipkinSpansUrl": {
+ "id": {
"type": "string"
+ },
+ "publicIpRanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getPublicIpRangesPublicIpRange:getPublicIpRangesPublicIpRange"
+ },
+ "description": "A list of all public IP ranges.\n"
}
},
"type": "object",
"required": [
- "acls",
- "alertConfig",
- "alertingUrl",
- "dashboardUrl",
- "grafanaInitialAdminPassword",
- "grafanaInitialAdminUser",
- "grafanaPublicReadAccess",
- "grafanaUrl",
+ "cidrLists",
"id",
- "instanceId",
- "isUpdatable",
- "jaegerTracesUrl",
- "jaegerUiUrl",
- "logsPushUrl",
- "logsUrl",
- "metricsPushUrl",
- "metricsRetentionDays",
- "metricsRetentionDays1hDownsampling",
- "metricsRetentionDays5mDownsampling",
- "metricsUrl",
- "name",
- "otlpTracesUrl",
- "parameters",
- "planId",
- "planName",
- "projectId",
- "targetsUrl",
- "zipkinSpansUrl"
+ "publicIpRanges"
]
}
},
- "stackit:index/getObservabilityLogalertgroup:getObservabilityLogalertgroup": {
- "description": "Observability log alert group datasource schema. Used to create alerts based on logs (Loki). Must have a `region` 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/getRabbitmqCredential:getRabbitmqCredential": {
+ "description": "RabbitMQ credential data source schema. Must have a `region` 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 getObservabilityLogalertgroup.\n",
+ "description": "A collection of arguments for invoking getRabbitmqCredential.\n",
"properties": {
- "instanceId": {
+ "credentialId": {
"type": "string",
- "description": "Observability instance ID to which the log alert group is associated.\n"
+ "description": "The credential's ID.\n"
},
- "name": {
+ "instanceId": {
"type": "string",
- "description": "The name of the log alert group. Is the identifier and must be unique in the group.\n"
+ "description": "ID of the RabbitMQ instance.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the log alert group is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
}
},
"type": "object",
"required": [
+ "credentialId",
"instanceId",
- "name",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getObservabilityLogalertgroup.\n",
+ "description": "A collection of values returned by getRabbitmqCredential.\n",
"properties": {
+ "credentialId": {
+ "type": "string",
+ "description": "The credential's ID.\n"
+ },
+ "host": {
+ "type": "string"
+ },
+ "hosts": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "httpApiUri": {
+ "type": "string"
+ },
+ "httpApiUris": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
"id": {
"type": "string"
},
"instanceId": {
"type": "string",
- "description": "Observability instance ID to which the log alert group is associated.\n"
+ "description": "ID of the RabbitMQ 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"
+ "management": {
+ "type": "string"
},
- "name": {
+ "password": {
"type": "string",
- "description": "The name of the log alert group. Is the identifier and must be unique in the group.\n"
+ "secret": true
+ },
+ "port": {
+ "type": "integer"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the log alert group is associated.\n"
+ "description": "STACKIT project ID to which the instance is associated.\n"
+ },
+ "uri": {
+ "type": "string",
+ "secret": true
},
- "rules": {
+ "uris": {
"type": "array",
"items": {
- "$ref": "#/types/stackit:index/getObservabilityLogalertgroupRule:getObservabilityLogalertgroupRule"
+ "type": "string"
}
+ },
+ "username": {
+ "type": "string"
}
},
"type": "object",
"required": [
+ "credentialId",
+ "host",
+ "hosts",
+ "httpApiUri",
+ "httpApiUris",
"id",
"instanceId",
- "interval",
- "name",
+ "management",
+ "password",
+ "port",
"projectId",
- "rules"
+ "uri",
+ "uris",
+ "username"
]
}
},
- "stackit:index/getObservabilityScrapeconfig:getObservabilityScrapeconfig": {
- "description": "Observability scrape config data source schema. Must have a `region` 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/getRabbitmqInstance:getRabbitmqInstance": {
+ "description": "RabbitMQ instance data source schema. Must have a `region` 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 getObservabilityScrapeconfig.\n",
+ "description": "A collection of arguments for invoking getRabbitmqInstance.\n",
"properties": {
"instanceId": {
"type": "string",
- "description": "Observability instance ID to which the scraping job is associated.\n"
- },
- "name": {
- "type": "string",
- "description": "Specifies the name of the scraping job\n"
+ "description": "ID of the RabbitMQ instance.\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the scraping job is associated.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
}
},
"type": "object",
"required": [
"instanceId",
- "name",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getObservabilityScrapeconfig.\n",
+ "description": "A collection of values returned by getRabbitmqInstance.\n",
"properties": {
- "basicAuth": {
- "$ref": "#/types/stackit:index/getObservabilityScrapeconfigBasicAuth:getObservabilityScrapeconfigBasicAuth",
- "description": "A basic authentication block.\n"
+ "cfGuid": {
+ "type": "string"
+ },
+ "cfOrganizationGuid": {
+ "type": "string"
+ },
+ "cfSpaceGuid": {
+ "type": "string"
+ },
+ "dashboardUrl": {
+ "type": "string"
},
"id": {
"type": "string"
},
- "instanceId": {
- "type": "string",
- "description": "Observability instance ID to which the scraping job is associated.\n"
+ "imageUrl": {
+ "type": "string"
},
- "metricsPath": {
+ "instanceId": {
"type": "string",
- "description": "Specifies the job scraping url path.\n"
+ "description": "ID of the RabbitMQ instance.\n"
},
"name": {
"type": "string",
- "description": "Specifies the name of the scraping job\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"
+ "description": "Instance name.\n"
},
- "sampleLimit": {
- "type": "integer",
- "description": "Specifies the scrape sample limit.\n"
+ "parameters": {
+ "$ref": "#/types/stackit:index/getRabbitmqInstanceParameters:getRabbitmqInstanceParameters"
},
- "scheme": {
+ "planId": {
"type": "string",
- "description": "Specifies the http scheme.\n"
+ "description": "The selected plan ID.\n"
},
- "scrapeInterval": {
+ "planName": {
"type": "string",
- "description": "Specifies the scrape interval as duration string.\n"
+ "description": "The selected plan name.\n"
},
- "scrapeTimeout": {
+ "projectId": {
"type": "string",
- "description": "Specifies the scrape timeout as duration string.\n"
+ "description": "STACKIT Project ID to which the instance is associated.\n"
},
- "targets": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/getObservabilityScrapeconfigTarget:getObservabilityScrapeconfigTarget"
- },
- "description": "The targets list (specified by the static config).\n"
+ "version": {
+ "type": "string",
+ "description": "The service version.\n"
}
},
"type": "object",
"required": [
- "basicAuth",
+ "cfGuid",
+ "cfOrganizationGuid",
+ "cfSpaceGuid",
+ "dashboardUrl",
"id",
+ "imageUrl",
"instanceId",
- "metricsPath",
"name",
+ "parameters",
+ "planId",
+ "planName",
"projectId",
- "saml2",
- "sampleLimit",
- "scheme",
- "scrapeInterval",
- "scrapeTimeout",
- "targets"
+ "version"
]
}
},
- "stackit:index/getOpensearchCredential:getOpensearchCredential": {
- "description": "OpenSearch credential data source schema. Must have a `region` 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/getRedisCredential:getRedisCredential": {
+ "description": "Redis credential data source schema. Must have a `region` 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 getOpensearchCredential.\n",
+ "description": "A collection of arguments for invoking getRedisCredential.\n",
"properties": {
"credentialId": {
"type": "string",
@@ -14565,7 +17004,7 @@
},
"instanceId": {
"type": "string",
- "description": "ID of the OpenSearch instance.\n"
+ "description": "ID of the Redis instance.\n"
},
"projectId": {
"type": "string",
@@ -14580,7 +17019,7 @@
]
},
"outputs": {
- "description": "A collection of values returned by getOpensearchCredential.\n",
+ "description": "A collection of values returned by getRedisCredential.\n",
"properties": {
"credentialId": {
"type": "string",
@@ -14600,7 +17039,10 @@
},
"instanceId": {
"type": "string",
- "description": "ID of the OpenSearch instance.\n"
+ "description": "ID of the Redis instance.\n"
+ },
+ "loadBalancedHost": {
+ "type": "string"
},
"password": {
"type": "string",
@@ -14613,11 +17055,9 @@
"type": "string",
"description": "STACKIT project ID to which the instance is associated.\n"
},
- "scheme": {
- "type": "string"
- },
"uri": {
"type": "string",
+ "description": "Connection URI.\n",
"secret": true
},
"username": {
@@ -14631,23 +17071,23 @@
"hosts",
"id",
"instanceId",
+ "loadBalancedHost",
"password",
"port",
"projectId",
- "scheme",
"uri",
"username"
]
}
},
- "stackit:index/getOpensearchInstance:getOpensearchInstance": {
- "description": "OpenSearch instance data source schema. Must have a `region` 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/getRedisInstance:getRedisInstance": {
+ "description": "Redis instance data source schema. Must have a `region` 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 getOpensearchInstance.\n",
+ "description": "A collection of arguments for invoking getRedisInstance.\n",
"properties": {
"instanceId": {
"type": "string",
- "description": "ID of the OpenSearch instance.\n"
+ "description": "ID of the Redis instance.\n"
},
"projectId": {
"type": "string",
@@ -14661,7 +17101,7 @@
]
},
"outputs": {
- "description": "A collection of values returned by getOpensearchInstance.\n",
+ "description": "A collection of values returned by getRedisInstance.\n",
"properties": {
"cfGuid": {
"type": "string"
@@ -14683,14 +17123,14 @@
},
"instanceId": {
"type": "string",
- "description": "ID of the OpenSearch instance.\n"
+ "description": "ID of the Redis instance.\n"
},
"name": {
"type": "string",
"description": "Instance name.\n"
},
"parameters": {
- "$ref": "#/types/stackit:index/getOpensearchInstanceParameters:getOpensearchInstanceParameters"
+ "$ref": "#/types/stackit:index/getRedisInstanceParameters:getRedisInstanceParameters"
},
"planId": {
"type": "string",
@@ -14727,271 +17167,284 @@
]
}
},
- "stackit:index/getPostgresflexDatabase:getPostgresflexDatabase": {
- "description": "Postgres Flex database resource schema. Must have a `region` 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",
+ "stackit:index/getResourcemanagerFolder:getResourcemanagerFolder": {
+ "description": "Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.\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_resourcemanager_folder\" \"example\" {\n container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
"inputs": {
- "description": "A collection of arguments for invoking getPostgresflexDatabase.\n",
+ "description": "A collection of arguments for invoking getResourcemanagerFolder.\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": {
+ "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": [
- "databaseId",
- "instanceId",
- "projectId"
+ "containerId"
]
},
"outputs": {
- "description": "A collection of values returned by getPostgresflexDatabase.\n",
+ "description": "A collection of values returned by getResourcemanagerFolder.\n",
"properties": {
- "databaseId": {
+ "containerId": {
"type": "string",
- "description": "Database ID.\n"
+ "description": "Folder container ID. Globally unique, user-friendly identifier.\n"
+ },
+ "creationTime": {
+ "type": "string",
+ "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"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the Postgres Flex instance.\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"
},
"name": {
"type": "string",
- "description": "Database name.\n"
- },
- "owner": {
- "type": "string",
- "description": "Username of the database owner.\n"
+ "description": "The name of the folder.\n"
},
- "projectId": {
+ "parentContainerId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\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": [
- "databaseId",
+ "containerId",
+ "creationTime",
+ "folderId",
"id",
- "instanceId",
+ "labels",
"name",
- "owner",
- "projectId"
+ "parentContainerId",
+ "updateTime"
]
}
},
- "stackit:index/getPostgresflexInstance:getPostgresflexInstance": {
- "description": "Postgres Flex instance data source schema. Must have a `region` 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/getResourcemanagerProject:getResourcemanagerProject": {
+ "description": "Resource Manager project data source schema. To identify the project, you need to provider either project_id or container_id. If you provide both, project_id will 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 getPostgresflexInstance.\n",
+ "description": "A collection of arguments for invoking getResourcemanagerProject.\n",
"properties": {
- "instanceId": {
+ "containerId": {
"type": "string",
- "description": "ID of the PostgresFlex instance.\n"
+ "description": "Project container ID. Globally unique, user-friendly identifier.\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"
+ "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",
- "required": [
- "instanceId",
- "projectId"
- ]
+ "type": "object"
},
"outputs": {
- "description": "A collection of values returned by getPostgresflexInstance.\n",
+ "description": "A collection of values returned by getResourcemanagerProject.\n",
"properties": {
- "acls": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The Access Control List (ACL) for the PostgresFlex instance.\n"
- },
- "backupSchedule": {
- "type": "string"
+ "containerId": {
+ "type": "string",
+ "description": "Project container ID. Globally unique, user-friendly identifier.\n"
},
- "flavor": {
- "$ref": "#/types/stackit:index/getPostgresflexInstanceFlavor:getPostgresflexInstanceFlavor"
+ "creationTime": {
+ "type": "string",
+ "description": "Date-time at which the project was created.\n"
},
"id": {
"type": "string"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the PostgresFlex instance.\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"
},
"name": {
"type": "string",
- "description": "Instance name.\n"
+ "description": "Project name.\n"
+ },
+ "parentContainerId": {
+ "type": "string",
+ "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported\n"
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.\n"
},
- "region": {
+ "updateTime": {
"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"
- },
- "version": {
- "type": "string"
+ "description": "Date-time at which the project was last modified.\n"
}
},
"type": "object",
"required": [
- "acls",
- "backupSchedule",
- "flavor",
+ "creationTime",
"id",
- "instanceId",
+ "labels",
"name",
- "projectId",
- "replicas",
- "storage",
- "version"
+ "parentContainerId",
+ "updateTime"
]
}
},
- "stackit:index/getPostgresflexUser:getPostgresflexUser": {
- "description": "Postgres Flex user data source schema. Must have a `region` 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/getRoutingTable:getRoutingTable": {
+ "description": "Routing table datasource schema. Must have a `region` specified in the provider configuration.\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",
"inputs": {
- "description": "A collection of arguments for invoking getPostgresflexUser.\n",
+ "description": "A collection of arguments for invoking getRoutingTable.\n",
"properties": {
- "instanceId": {
+ "networkAreaId": {
"type": "string",
- "description": "ID of the PostgresFlex 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"
},
- "userId": {
+ "routingTableId": {
"type": "string",
- "description": "User ID.\n"
+ "description": "The routing tables ID.\n"
}
},
"type": "object",
"required": [
- "instanceId",
- "projectId",
- "userId"
+ "networkAreaId",
+ "organizationId",
+ "routingTableId"
]
},
"outputs": {
- "description": "A collection of values returned by getPostgresflexUser.\n",
+ "description": "A collection of values returned by getRoutingTable.\n",
"properties": {
- "host": {
- "type": "string"
+ "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"
},
"id": {
"type": "string"
},
- "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 PostgresFlex instance.\n"
+ "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"
},
- "roles": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "userId": {
+ "routingTableId": {
"type": "string",
- "description": "User ID.\n"
+ "description": "The routing tables ID.\n"
},
- "username": {
- "type": "string"
+ "systemRoutes": {
+ "type": "boolean",
+ "description": "This controls whether the routes for project-to-project communication are created automatically or not.\n"
+ },
+ "updatedAt": {
+ "type": "string",
+ "description": "Date-time when the routing table was updated\n"
}
},
"type": "object",
"required": [
- "host",
+ "createdAt",
+ "default",
+ "description",
"id",
- "instanceId",
- "port",
- "projectId",
- "roles",
- "userId",
- "username"
+ "labels",
+ "name",
+ "networkAreaId",
+ "organizationId",
+ "routingTableId",
+ "systemRoutes",
+ "updatedAt"
]
}
},
- "stackit:index/getPublicIp:getPublicIp": {
- "description": "Public IP resource schema. Must have a `region` 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/getRoutingTableRoute:getRoutingTableRoute": {
+ "description": "Routing table route datasource schema. Must have a `region` specified in the provider configuration.\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",
"inputs": {
- "description": "A collection of arguments for invoking getPublicIp.\n",
+ "description": "A collection of arguments for invoking getRoutingTableRoute.\n",
"properties": {
- "projectId": {
+ "networkAreaId": {
"type": "string",
- "description": "STACKIT project ID to which the public IP is associated.\n"
+ "description": "The network area ID to which the routing table is associated.\n"
},
- "publicIpId": {
+ "organizationId": {
"type": "string",
- "description": "The public IP ID.\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": [
- "projectId",
- "publicIpId"
+ "networkAreaId",
+ "organizationId",
+ "routeId",
+ "routingTableId"
]
},
"outputs": {
- "description": "A collection of values returned by getPublicIp.\n",
+ "description": "A collection of values returned by getRoutingTableRoute.\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"
},
- "ip": {
- "type": "string",
- "description": "The IP address.\n"
- },
"labels": {
"type": "object",
"additionalProperties": {
@@ -14999,470 +17452,411 @@
},
"description": "Labels are key-value string pairs which can be attached to a resource container\n"
},
- "networkInterfaceId": {
+ "networkAreaId": {
"type": "string",
- "description": "Associates the public IP with a network interface or a virtual IP (ID).\n"
+ "description": "The network area ID to which the routing table is associated.\n"
},
- "projectId": {
+ "nextHop": {
+ "$ref": "#/types/stackit:index/getRoutingTableRouteNextHop:getRoutingTableRouteNextHop",
+ "description": "Next hop destination.\n"
+ },
+ "organizationId": {
"type": "string",
- "description": "STACKIT project ID to which the public IP is associated.\n"
+ "description": "STACKIT organization ID to which the routing table is associated.\n"
},
- "publicIpId": {
+ "region": {
"type": "string",
- "description": "The public IP ID.\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",
- "outputs": {
- "description": "A collection of values returned by getPublicIpRanges.\n",
- "properties": {
- "id": {
- "type": "string"
+ "description": "The resource region. If not defined, the provider region is used.\n"
},
- "publicIpRanges": {
- "type": "array",
- "items": {
- "$ref": "#/types/stackit:index/getPublicIpRangesPublicIpRange:getPublicIpRangesPublicIpRange"
- },
- "description": "A list of all public IP ranges.\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",
- "publicIpRanges"
+ "labels",
+ "networkAreaId",
+ "nextHop",
+ "organizationId",
+ "routeId",
+ "routingTableId",
+ "updatedAt"
]
}
},
- "stackit:index/getRabbitmqCredential:getRabbitmqCredential": {
- "description": "RabbitMQ credential data source schema. Must have a `region` 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/getRoutingTableRoutes:getRoutingTableRoutes": {
+ "description": "Routing table routes datasource schema. Must have a `region` specified in the provider configuration.\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",
"inputs": {
- "description": "A collection of arguments for invoking getRabbitmqCredential.\n",
+ "description": "A collection of arguments for invoking getRoutingTableRoutes.\n",
"properties": {
- "credentialId": {
+ "networkAreaId": {
"type": "string",
- "description": "The credential's ID.\n"
+ "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"
},
- "projectId": {
+ "region": {
"type": "string",
- "description": "STACKIT project ID to which the instance is associated.\n"
+ "description": "The datasource 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 getRoutingTableRoutes.\n",
"properties": {
- "credentialId": {
- "type": "string",
- "description": "The credential's ID.\n"
- },
- "host": {
- "type": "string"
- },
- "hosts": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "httpApiUri": {
- "type": "string"
- },
- "httpApiUris": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
"id": {
"type": "string"
},
- "instanceId": {
- "type": "string",
- "description": "ID of the RabbitMQ instance.\n"
- },
- "management": {
- "type": "string"
- },
- "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"
},
- "uri": {
+ "region": {
"type": "string",
- "secret": true
+ "description": "The datasource region. If not defined, the provider region is used.\n"
},
- "uris": {
+ "routes": {
"type": "array",
"items": {
- "type": "string"
- }
+ "$ref": "#/types/stackit:index/getRoutingTableRoutesRoute:getRoutingTableRoutesRoute"
+ },
+ "description": "List of routes.\n"
},
- "username": {
- "type": "string"
+ "routingTableId": {
+ "type": "string",
+ "description": "The routing tables ID.\n"
}
},
"type": "object",
"required": [
- "credentialId",
- "host",
- "hosts",
- "httpApiUri",
- "httpApiUris",
- "id",
- "instanceId",
- "management",
- "password",
- "port",
- "projectId",
- "uri",
- "uris",
- "username"
+ "id",
+ "networkAreaId",
+ "organizationId",
+ "routes",
+ "routingTableId"
]
}
},
- "stackit:index/getRabbitmqInstance:getRabbitmqInstance": {
- "description": "RabbitMQ instance data source schema. Must have a `region` 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/getRoutingTables:getRoutingTables": {
+ "description": "Routing table datasource schema. Must have a `region` specified in the provider configuration.\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",
"inputs": {
- "description": "A collection of arguments for invoking getRabbitmqInstance.\n",
+ "description": "A collection of arguments for invoking getRoutingTables.\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"
}
},
"type": "object",
"required": [
- "instanceId",
- "projectId"
+ "networkAreaId",
+ "organizationId"
]
},
"outputs": {
- "description": "A collection of values returned by getRabbitmqInstance.\n",
+ "description": "A collection of values returned by getRoutingTables.\n",
"properties": {
- "cfGuid": {
- "type": "string"
- },
- "cfOrganizationGuid": {
- "type": "string"
- },
- "cfSpaceGuid": {
- "type": "string"
- },
- "dashboardUrl": {
- "type": "string"
- },
"id": {
"type": "string"
},
- "imageUrl": {
- "type": "string"
- },
- "instanceId": {
- "type": "string",
- "description": "ID of the RabbitMQ instance.\n"
- },
- "name": {
- "type": "string",
- "description": "Instance name.\n"
- },
- "parameters": {
- "$ref": "#/types/stackit:index/getRabbitmqInstanceParameters:getRabbitmqInstanceParameters"
- },
- "planId": {
- "type": "string",
- "description": "The selected plan ID.\n"
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getRoutingTablesItem:getRoutingTablesItem"
+ },
+ "description": "List of routing tables.\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"
},
- "version": {
+ "region": {
"type": "string",
- "description": "The service version.\n"
+ "description": "The resource region. If not defined, the provider region is used.\n"
}
},
"type": "object",
"required": [
- "cfGuid",
- "cfOrganizationGuid",
- "cfSpaceGuid",
- "dashboardUrl",
"id",
- "imageUrl",
- "instanceId",
- "name",
- "parameters",
- "planId",
- "planName",
- "projectId",
- "version"
+ "items",
+ "networkAreaId",
+ "organizationId"
]
}
},
- "stackit:index/getRedisCredential:getRedisCredential": {
- "description": "Redis credential data source schema. Must have a `region` 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/getScfOrganization:getScfOrganization": {
+ "description": "STACKIT Cloud Foundry organization datasource schema. Must have a `region` 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 getRedisCredential.\n",
+ "description": "A collection of arguments for invoking getScfOrganization.\n",
"properties": {
- "credentialId": {
+ "orgId": {
"type": "string",
- "description": "The credential's ID.\n"
+ "description": "The ID of the Cloud Foundry Organization\n"
},
- "instanceId": {
+ "projectId": {
"type": "string",
- "description": "ID of the Redis instance.\n"
+ "description": "The ID of the project associated with the organization\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"
}
},
"type": "object",
"required": [
- "credentialId",
- "instanceId",
+ "orgId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getRedisCredential.\n",
+ "description": "A collection of values returned by getScfOrganization.\n",
"properties": {
- "credentialId": {
+ "createdAt": {
"type": "string",
- "description": "The credential's ID.\n"
- },
- "host": {
- "type": "string"
- },
- "hosts": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "description": "The time when the organization was created\n"
},
"id": {
"type": "string"
},
- "instanceId": {
+ "name": {
"type": "string",
- "description": "ID of the Redis instance.\n"
+ "description": "The name of the organization\n"
},
- "loadBalancedHost": {
- "type": "string"
- },
- "password": {
+ "orgId": {
"type": "string",
- "secret": true
+ "description": "The ID of the Cloud Foundry Organization\n"
},
- "port": {
- "type": "integer"
+ "platformId": {
+ "type": "string",
+ "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"
},
- "uri": {
+ "quotaId": {
"type": "string",
- "description": "Connection URI.\n",
- "secret": true
+ "description": "The ID of the quota associated with the organization\n"
},
- "username": {
- "type": "string"
+ "region": {
+ "type": "string",
+ "description": "The resource region. If not defined, the provider region is used\n"
+ },
+ "status": {
+ "type": "string",
+ "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": [
- "credentialId",
- "host",
- "hosts",
+ "createdAt",
"id",
- "instanceId",
- "loadBalancedHost",
- "password",
- "port",
+ "name",
+ "orgId",
+ "platformId",
"projectId",
- "uri",
- "username"
+ "quotaId",
+ "region",
+ "status",
+ "suspended",
+ "updatedAt"
]
}
},
- "stackit:index/getRedisInstance:getRedisInstance": {
- "description": "Redis instance data source schema. Must have a `region` 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/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 getRedisInstance.\n",
+ "description": "A collection of arguments for invoking getScfOrganizationManager.\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 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": [
- "instanceId",
+ "orgId",
"projectId"
]
},
"outputs": {
- "description": "A collection of values returned by getRedisInstance.\n",
+ "description": "A collection of values returned by getScfOrganizationManager.\n",
"properties": {
- "cfGuid": {
- "type": "string"
- },
- "cfOrganizationGuid": {
- "type": "string"
- },
- "cfSpaceGuid": {
- "type": "string"
- },
- "dashboardUrl": {
- "type": "string"
+ "createdAt": {
+ "type": "string",
+ "description": "The time when the organization manager was created\n"
},
"id": {
"type": "string"
},
- "imageUrl": {
- "type": "string"
- },
- "instanceId": {
+ "orgId": {
"type": "string",
- "description": "ID of the Redis instance.\n"
+ "description": "The ID of the Cloud Foundry Organization\n"
},
- "name": {
+ "platformId": {
"type": "string",
- "description": "Instance name.\n"
+ "description": "The ID of the platform associated with the organization of the organization manager\n"
},
- "parameters": {
- "$ref": "#/types/stackit:index/getRedisInstanceParameters:getRedisInstanceParameters"
+ "projectId": {
+ "type": "string",
+ "description": "The ID of the project associated with the organization of the organization manager\n"
},
- "planId": {
+ "region": {
"type": "string",
- "description": "The selected plan ID.\n"
+ "description": "The region where the organization of the organization manager is located. If not defined, the provider region is used\n"
},
- "planName": {
+ "updatedAt": {
"type": "string",
- "description": "The selected plan name.\n"
+ "description": "The time when the organization manager was last updated\n"
},
- "projectId": {
+ "userId": {
"type": "string",
- "description": "STACKIT Project ID to which the instance is associated.\n"
+ "description": "The ID of the organization manager user\n"
},
- "version": {
+ "username": {
"type": "string",
- "description": "The service version.\n"
+ "description": "An auto-generated organization manager user name\n"
}
},
"type": "object",
"required": [
- "cfGuid",
- "cfOrganizationGuid",
- "cfSpaceGuid",
- "dashboardUrl",
+ "createdAt",
"id",
- "imageUrl",
- "instanceId",
- "name",
- "parameters",
- "planId",
- "planName",
+ "orgId",
+ "platformId",
"projectId",
- "version"
+ "region",
+ "updatedAt",
+ "userId",
+ "username"
]
}
},
- "stackit:index/getResourcemanagerProject:getResourcemanagerProject": {
- "description": "Resource Manager project data source schema. To identify the project, you need to provider either project_id or container_id. If you provide both, project_id will 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"
+ },
+ "consoleUrl": {
+ "type": "string",
+ "description": "The Stratos URL of the platform\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the platform\n"
},
"id": {
"type": "string"
},
- "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"
+ "platformId": {
+ "type": "string",
+ "description": "The unique id of the platform\n"
},
- "name": {
+ "projectId": {
"type": "string",
- "description": "Project name.\n"
+ "description": "The ID of the project associated with the platform\n"
},
- "parentContainerId": {
+ "region": {
"type": "string",
- "description": "Parent resource identifier. Both container ID (user-friendly) and UUID are supported\n"
+ "description": "The region where the platform is located. If not defined, the provider region is used\n"
},
- "projectId": {
+ "systemId": {
"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 platform System\n"
}
},
"type": "object",
"required": [
+ "apiUrl",
+ "consoleUrl",
+ "displayName",
"id",
- "labels",
- "name",
- "parentContainerId"
+ "platformId",
+ "projectId",
+ "region",
+ "systemId"
]
}
},
@@ -15864,7 +18258,7 @@
}
},
"stackit:index/getServerBackupSchedule:getServerBackupSchedule": {
- "description": "Server backup schedule datasource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\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",
+ "description": "Server backup schedule datasource schema. Must have a `region` 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_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 getServerBackupSchedule.\n",
"properties": {
@@ -15945,7 +18339,7 @@
}
},
"stackit:index/getServerBackupSchedules:getServerBackupSchedules": {
- "description": "Server backup schedules datasource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\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",
+ "description": "Server backup schedules datasource schema. Must have a `region` 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_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 getServerBackupSchedules.\n",
"properties": {
@@ -16003,7 +18397,7 @@
}
},
"stackit:index/getServerUpdateSchedule:getServerUpdateSchedule": {
- "description": "Server update schedule datasource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\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",
+ "description": "Server update schedule datasource schema. Must have a `region` 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_server_update_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n update_schedule_id = xxxxx\n}\n```\n",
"inputs": {
"description": "A collection of arguments for invoking getServerUpdateSchedule.\n",
"properties": {
@@ -16084,7 +18478,7 @@
}
},
"stackit:index/getServerUpdateSchedules:getServerUpdateSchedules": {
- "description": "Server update schedules datasource schema. Must have a `region` specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\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",
+ "description": "Server update schedules datasource schema. Must have a `region` 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_server_update_schedules\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
"inputs": {
"description": "A collection of arguments for invoking getServerUpdateSchedules.\n",
"properties": {
@@ -16216,11 +18610,6 @@
"outputs": {
"description": "A collection of values returned by getSkeCluster.\n",
"properties": {
- "allowPrivilegedContainers": {
- "type": "boolean",
- "description": "DEPRECATED as of Kubernetes 1.25+\nFlag to specify if privileged mode for containers is enabled or not.\nThis should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs).\n",
- "deprecationMessage": "Please remove this flag from your configuration when using Kubernetes version 1.25+."
- },
"egressAddressRanges": {
"type": "array",
"items": {
@@ -16242,11 +18631,6 @@
"id": {
"type": "string"
},
- "kubernetesVersion": {
- "type": "string",
- "description": "Kubernetes version. This field is deprecated, use `kubernetes_version_used` instead\n",
- "deprecationMessage": "This field is always nil, use `kubernetes_version_used` to get the cluster kubernetes version. This field would cause errors when the cluster got a kubernetes version minor upgrade, either triggered by automatic or forceful updates."
- },
"kubernetesVersionMin": {
"type": "string",
"description": "The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the `kubernetes_version_used` field.\n"
@@ -16274,6 +18658,13 @@
},
"description": "One or more `node_pool` 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 to which the cluster is associated.\n"
@@ -16285,18 +18676,17 @@
},
"type": "object",
"required": [
- "allowPrivilegedContainers",
"egressAddressRanges",
"extensions",
"hibernations",
"id",
- "kubernetesVersion",
"kubernetesVersionMin",
"kubernetesVersionUsed",
"maintenance",
"name",
"network",
"nodePools",
+ "podAddressRanges",
"projectId"
]
}
diff --git a/sdk/dotnet/CdnCustomDomain.cs b/sdk/dotnet/CdnCustomDomain.cs
index 4457dff6..f154974f 100644
--- a/sdk/dotnet/CdnCustomDomain.cs
+++ b/sdk/dotnet/CdnCustomDomain.cs
@@ -19,6 +19,12 @@ namespace Pulumi.Stackit
[StackitResourceType("stackit:index/cdnCustomDomain:CdnCustomDomain")]
public partial class CdnCustomDomain : global::Pulumi.CustomResource
{
+ ///
+ /// 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.
+ ///
+ [Output("certificate")]
+ public Output Certificate { get; private set; } = null!;
+
///
/// CDN distribution ID
///
@@ -93,6 +99,12 @@ public static CdnCustomDomain Get(string name, Input id, CdnCustomDomain
public sealed class CdnCustomDomainArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// 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.
+ ///
+ [Input("certificate")]
+ public Input? Certificate { get; set; }
+
///
/// CDN distribution ID
///
@@ -116,6 +128,12 @@ public CdnCustomDomainArgs()
public sealed class CdnCustomDomainState : global::Pulumi.ResourceArgs
{
+ ///
+ /// 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.
+ ///
+ [Input("certificate")]
+ public Input? Certificate { get; set; }
+
///
/// CDN distribution ID
///
diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs
index 8a47f151..3630cfc9 100644
--- a/sdk/dotnet/Config/Config.cs
+++ b/sdk/dotnet/Config/Config.cs
@@ -32,16 +32,6 @@ public void Set(T value)
private static readonly global::Pulumi.Config __config = new global::Pulumi.Config("stackit");
- private static readonly __Value _argusCustomEndpoint = new __Value(() => __config.Get("argusCustomEndpoint"));
- ///
- /// Custom endpoint for the Argus service
- ///
- public static string? ArgusCustomEndpoint
- {
- get => _argusCustomEndpoint.Get();
- set => _argusCustomEndpoint.Set(value);
- }
-
private static readonly __Value _authorizationCustomEndpoint = new __Value(() => __config.Get("authorizationCustomEndpoint"));
///
/// Custom endpoint for the Membership service
@@ -64,8 +54,7 @@ public static string? CdnCustomEndpoint
private static readonly __Value _credentialsPath = new __Value(() => __config.Get("credentialsPath"));
///
- /// Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default
- /// value is `~/.stackit/credentials.json`.
+ /// Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`.
///
public static string? CredentialsPath
{
@@ -105,8 +94,7 @@ public static bool? EnableBetaResources
private static readonly __Value> _experiments = new __Value>(() => __config.GetObject>("experiments"));
///
- /// Enables experiments. These are unstable features without official support. More information can be found in the README.
- /// Available Experiments: [iam]
+ /// Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network
///
public static ImmutableArray Experiments
{
@@ -226,8 +214,7 @@ public static string? PostgresflexCustomEndpoint
private static readonly __Value _privateKey = new __Value(() => __config.Get("privateKey"));
///
- /// Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is
- /// included in the service account key.
+ /// Private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key.
///
public static string? PrivateKey
{
@@ -237,8 +224,7 @@ public static string? PrivateKey
private static readonly __Value _privateKeyPath = new __Value(() => __config.Get("privateKeyPath"));
///
- /// Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private
- /// key that is included in the service account key.
+ /// Path for the private RSA key used for authentication, relevant for the key flow. It takes precedence over the private key that is included in the service account key.
///
public static string? PrivateKeyPath
{
@@ -286,6 +272,16 @@ public static string? ResourcemanagerCustomEndpoint
set => _resourcemanagerCustomEndpoint.Set(value);
}
+ private static readonly __Value _scfCustomEndpoint = new __Value(() => __config.Get("scfCustomEndpoint"));
+ ///
+ /// Custom endpoint for the Cloud Foundry (SCF) service
+ ///
+ public static string? ScfCustomEndpoint
+ {
+ get => _scfCustomEndpoint.Get();
+ set => _scfCustomEndpoint.Set(value);
+ }
+
private static readonly __Value _secretsmanagerCustomEndpoint = new __Value(() => __config.Get("secretsmanagerCustomEndpoint"));
///
/// Custom endpoint for the Secrets Manager service
@@ -328,8 +324,7 @@ public static string? ServiceAccountCustomEndpoint
private static readonly __Value _serviceAccountEmail = new __Value(() => __config.Get("serviceAccountEmail"));
///
- /// Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required
- /// if you want to use the resource manager project resource.
+ /// Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required if you want to use the resource manager project resource.
///
public static string? ServiceAccountEmail
{
@@ -349,8 +344,7 @@ public static string? ServiceAccountKey
private static readonly __Value _serviceAccountKeyPath = new __Value(() => __config.Get("serviceAccountKeyPath"));
///
- /// Path for the service account key used for authentication. If set, the key flow will be used to authenticate all
- /// operations.
+ /// Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations.
///
public static string? ServiceAccountKeyPath
{
diff --git a/sdk/dotnet/GetCdnCustomDomain.cs b/sdk/dotnet/GetCdnCustomDomain.cs
index 693b7e75..57d8d61e 100644
--- a/sdk/dotnet/GetCdnCustomDomain.cs
+++ b/sdk/dotnet/GetCdnCustomDomain.cs
@@ -14,7 +14,7 @@ public static class GetCdnCustomDomain
///
/// CDN distribution data source schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -32,7 +32,7 @@ public static Task InvokeAsync(GetCdnCustomDomainArgs
///
/// CDN distribution data source schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -50,7 +50,7 @@ public static Output Invoke(GetCdnCustomDomainInvokeAr
///
/// CDN distribution data source schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -69,6 +69,12 @@ public static Output Invoke(GetCdnCustomDomainInvokeAr
public sealed class GetCdnCustomDomainArgs : global::Pulumi.InvokeArgs
{
+ ///
+ /// 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.
+ ///
+ [Input("certificate")]
+ public Inputs.GetCdnCustomDomainCertificateArgs? Certificate { get; set; }
+
///
/// CDN distribution ID
///
@@ -92,6 +98,12 @@ public GetCdnCustomDomainArgs()
public sealed class GetCdnCustomDomainInvokeArgs : global::Pulumi.InvokeArgs
{
+ ///
+ /// 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.
+ ///
+ [Input("certificate")]
+ public Input? Certificate { get; set; }
+
///
/// CDN distribution ID
///
@@ -117,6 +129,10 @@ public GetCdnCustomDomainInvokeArgs()
[OutputType]
public sealed class GetCdnCustomDomainResult
{
+ ///
+ /// 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.
+ ///
+ public readonly Outputs.GetCdnCustomDomainCertificateResult? Certificate;
///
/// CDN distribution ID
///
@@ -138,6 +154,8 @@ public sealed class GetCdnCustomDomainResult
[OutputConstructor]
private GetCdnCustomDomainResult(
+ Outputs.GetCdnCustomDomainCertificateResult? certificate,
+
string distributionId,
ImmutableArray errors,
@@ -150,6 +168,7 @@ private GetCdnCustomDomainResult(
string status)
{
+ Certificate = certificate;
DistributionId = distributionId;
Errors = errors;
Id = id;
diff --git a/sdk/dotnet/GetCdnDistribution.cs b/sdk/dotnet/GetCdnDistribution.cs
index 9d6ad4bc..18916f16 100644
--- a/sdk/dotnet/GetCdnDistribution.cs
+++ b/sdk/dotnet/GetCdnDistribution.cs
@@ -14,7 +14,7 @@ public static class GetCdnDistribution
///
/// CDN distribution data source schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -31,7 +31,7 @@ public static Task InvokeAsync(GetCdnDistributionArgs
///
/// CDN distribution data source schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -48,7 +48,7 @@ public static Output Invoke(GetCdnDistributionInvokeAr
///
/// CDN distribution data source schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
diff --git a/sdk/dotnet/GetGit.cs b/sdk/dotnet/GetGit.cs
index 5419e9d0..2745e8de 100644
--- a/sdk/dotnet/GetGit.cs
+++ b/sdk/dotnet/GetGit.cs
@@ -14,7 +14,7 @@ public static class GetGit
///
/// Git Instance datasource schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -31,7 +31,7 @@ public static Task InvokeAsync(GetGitArgs args, InvokeOptions? opt
///
/// Git Instance datasource schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -48,7 +48,7 @@ public static Output Invoke(GetGitInvokeArgs args, InvokeOptions?
///
/// Git Instance datasource schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -108,6 +108,26 @@ public GetGitInvokeArgs()
[OutputType]
public sealed class GetGitResult
{
+ ///
+ /// Restricted ACL for instance access.
+ ///
+ public readonly ImmutableArray Acls;
+ ///
+ /// How many bytes of disk space is consumed.
+ ///
+ public readonly string ConsumedDisk;
+ ///
+ /// How many bytes of Object Storage is consumed.
+ ///
+ public readonly string ConsumedObjectStorage;
+ ///
+ /// Instance creation timestamp in RFC3339 format.
+ ///
+ public readonly string Created;
+ ///
+ /// 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`
+ ///
+ public readonly string Flavor;
public readonly string Id;
///
/// ID linked to the git instance.
@@ -132,6 +152,16 @@ public sealed class GetGitResult
[OutputConstructor]
private GetGitResult(
+ ImmutableArray acls,
+
+ string consumedDisk,
+
+ string consumedObjectStorage,
+
+ string created,
+
+ string flavor,
+
string id,
string instanceId,
@@ -144,6 +174,11 @@ private GetGitResult(
string version)
{
+ Acls = acls;
+ ConsumedDisk = consumedDisk;
+ ConsumedObjectStorage = consumedObjectStorage;
+ Created = created;
+ Flavor = flavor;
Id = id;
InstanceId = instanceId;
Name = name;
diff --git a/sdk/dotnet/GetIaasProject.cs b/sdk/dotnet/GetIaasProject.cs
new file mode 100644
index 00000000..9c1d1321
--- /dev/null
+++ b/sdk/dotnet/GetIaasProject.cs
@@ -0,0 +1,141 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetIaasProject
+ {
+ ///
+ /// Project details. Must have a `region` specified in the provider configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_iaas_project" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetIaasProjectArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getIaasProject:getIaasProject", args ?? new GetIaasProjectArgs(), options.WithDefaults());
+
+ ///
+ /// Project details. Must have a `region` specified in the provider configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_iaas_project" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetIaasProjectInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getIaasProject:getIaasProject", args ?? new GetIaasProjectInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Project details. Must have a `region` specified in the provider configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_iaas_project" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetIaasProjectInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getIaasProject:getIaasProject", args ?? new GetIaasProjectInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetIaasProjectArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// STACKIT project ID.
+ ///
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ public GetIaasProjectArgs()
+ {
+ }
+ public static new GetIaasProjectArgs Empty => new GetIaasProjectArgs();
+ }
+
+ public sealed class GetIaasProjectInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// STACKIT project ID.
+ ///
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ public GetIaasProjectInvokeArgs()
+ {
+ }
+ public static new GetIaasProjectInvokeArgs Empty => new GetIaasProjectInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetIaasProjectResult
+ {
+ ///
+ /// The area ID to which the project belongs to.
+ ///
+ public readonly string AreaId;
+ ///
+ /// Date-time when the project was created.
+ ///
+ public readonly string CreatedAt;
+ public readonly string Id;
+ ///
+ /// Specifies if the project has internet_access
+ ///
+ public readonly bool InternetAccess;
+ ///
+ /// STACKIT project ID.
+ ///
+ public readonly string ProjectId;
+ ///
+ /// Specifies the state of the project.
+ ///
+ public readonly string State;
+ ///
+ /// Date-time when the project was last updated.
+ ///
+ public readonly string UpdatedAt;
+
+ [OutputConstructor]
+ private GetIaasProjectResult(
+ string areaId,
+
+ string createdAt,
+
+ string id,
+
+ bool internetAccess,
+
+ string projectId,
+
+ string state,
+
+ string updatedAt)
+ {
+ AreaId = areaId;
+ CreatedAt = createdAt;
+ Id = id;
+ InternetAccess = internetAccess;
+ ProjectId = projectId;
+ State = state;
+ UpdatedAt = updatedAt;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetImageV2.cs b/sdk/dotnet/GetImageV2.cs
new file mode 100644
index 00000000..49c7ab06
--- /dev/null
+++ b/sdk/dotnet/GetImageV2.cs
@@ -0,0 +1,326 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetImageV2
+ {
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_image_v2" "default" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// image_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_match" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "Ubuntu 22.04"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_regex_latest" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name_regex = "^Ubuntu .*"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_regex_oldest" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name_regex = "^Ubuntu .*"
+ /// sort_ascending = true
+ /// }
+ ///
+ /// data "stackit_image_v2" "filter_distro_version" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = {
+ /// distro = "debian"
+ /// version = "11"
+ /// }
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetImageV2Args args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getImageV2:getImageV2", args ?? new GetImageV2Args(), options.WithDefaults());
+
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_image_v2" "default" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// image_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_match" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "Ubuntu 22.04"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_regex_latest" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name_regex = "^Ubuntu .*"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_regex_oldest" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name_regex = "^Ubuntu .*"
+ /// sort_ascending = true
+ /// }
+ ///
+ /// data "stackit_image_v2" "filter_distro_version" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = {
+ /// distro = "debian"
+ /// version = "11"
+ /// }
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetImageV2InvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getImageV2:getImageV2", args ?? new GetImageV2InvokeArgs(), options.WithDefaults());
+
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_image_v2" "default" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// image_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_match" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "Ubuntu 22.04"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_regex_latest" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name_regex = "^Ubuntu .*"
+ /// }
+ ///
+ /// data "stackit_image_v2" "name_regex_oldest" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name_regex = "^Ubuntu .*"
+ /// sort_ascending = true
+ /// }
+ ///
+ /// data "stackit_image_v2" "filter_distro_version" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = {
+ /// distro = "debian"
+ /// version = "11"
+ /// }
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetImageV2InvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getImageV2:getImageV2", args ?? new GetImageV2InvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetImageV2Args : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Additional filtering options based on image properties. Can be used independently or in conjunction with `name` or `name_regex`.
+ ///
+ [Input("filter")]
+ public Inputs.GetImageV2FilterArgs? Filter { get; set; }
+
+ ///
+ /// Image ID to fetch directly
+ ///
+ [Input("imageId")]
+ public string? ImageId { get; set; }
+
+ ///
+ /// Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`.
+ ///
+ [Input("name")]
+ public string? Name { get; set; }
+
+ ///
+ /// Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`.
+ ///
+ [Input("nameRegex")]
+ public string? NameRegex { get; set; }
+
+ ///
+ /// STACKIT project ID to which the image is associated.
+ ///
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ ///
+ /// If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).
+ ///
+ [Input("sortAscending")]
+ public bool? SortAscending { get; set; }
+
+ public GetImageV2Args()
+ {
+ }
+ public static new GetImageV2Args Empty => new GetImageV2Args();
+ }
+
+ public sealed class GetImageV2InvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Additional filtering options based on image properties. Can be used independently or in conjunction with `name` or `name_regex`.
+ ///
+ [Input("filter")]
+ public Input? Filter { get; set; }
+
+ ///
+ /// Image ID to fetch directly
+ ///
+ [Input("imageId")]
+ public Input? ImageId { get; set; }
+
+ ///
+ /// Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`.
+ ///
+ [Input("nameRegex")]
+ public Input? NameRegex { get; set; }
+
+ ///
+ /// STACKIT project ID to which the image is associated.
+ ///
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ ///
+ /// If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).
+ ///
+ [Input("sortAscending")]
+ public Input? SortAscending { get; set; }
+
+ public GetImageV2InvokeArgs()
+ {
+ }
+ public static new GetImageV2InvokeArgs Empty => new GetImageV2InvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetImageV2Result
+ {
+ ///
+ /// Representation of an image checksum.
+ ///
+ public readonly Outputs.GetImageV2ChecksumResult Checksum;
+ ///
+ /// Properties to set hardware and scheduling settings for an image.
+ ///
+ public readonly Outputs.GetImageV2ConfigResult Config;
+ ///
+ /// The disk format of the image.
+ ///
+ public readonly string DiskFormat;
+ ///
+ /// Additional filtering options based on image properties. Can be used independently or in conjunction with `name` or `name_regex`.
+ ///
+ public readonly Outputs.GetImageV2FilterResult? Filter;
+ public readonly string Id;
+ ///
+ /// Image ID to fetch directly
+ ///
+ public readonly string? ImageId;
+ ///
+ /// Labels are key-value string pairs which can be attached to a resource container
+ ///
+ public readonly ImmutableDictionary Labels;
+ ///
+ /// The minimum disk size of the image in GB.
+ ///
+ public readonly int MinDiskSize;
+ ///
+ /// The minimum RAM of the image in MB.
+ ///
+ public readonly int MinRam;
+ ///
+ /// Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`.
+ ///
+ public readonly string? Name;
+ ///
+ /// Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`.
+ ///
+ public readonly string? NameRegex;
+ ///
+ /// STACKIT project ID to which the image is associated.
+ ///
+ public readonly string ProjectId;
+ ///
+ /// Whether the image is protected.
+ ///
+ public readonly bool Protected;
+ ///
+ /// The scope of the image.
+ ///
+ public readonly string Scope;
+ ///
+ /// If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).
+ ///
+ public readonly bool? SortAscending;
+
+ [OutputConstructor]
+ private GetImageV2Result(
+ Outputs.GetImageV2ChecksumResult checksum,
+
+ Outputs.GetImageV2ConfigResult config,
+
+ string diskFormat,
+
+ Outputs.GetImageV2FilterResult? filter,
+
+ string id,
+
+ string? imageId,
+
+ ImmutableDictionary labels,
+
+ int minDiskSize,
+
+ int minRam,
+
+ string? name,
+
+ string? nameRegex,
+
+ string projectId,
+
+ bool @protected,
+
+ string scope,
+
+ bool? sortAscending)
+ {
+ Checksum = checksum;
+ Config = config;
+ DiskFormat = diskFormat;
+ Filter = filter;
+ Id = id;
+ ImageId = imageId;
+ Labels = labels;
+ MinDiskSize = minDiskSize;
+ MinRam = minRam;
+ Name = name;
+ NameRegex = nameRegex;
+ ProjectId = projectId;
+ Protected = @protected;
+ Scope = scope;
+ SortAscending = sortAscending;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetLoadbalancer.cs b/sdk/dotnet/GetLoadbalancer.cs
index 8aa8e105..4bcdf6fa 100644
--- a/sdk/dotnet/GetLoadbalancer.cs
+++ b/sdk/dotnet/GetLoadbalancer.cs
@@ -114,6 +114,10 @@ public GetLoadbalancerInvokeArgs()
[OutputType]
public sealed class GetLoadbalancerResult
{
+ ///
+ /// 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.
+ ///
+ public readonly bool DisableSecurityGroupAssignment;
///
/// External Load Balancer IP address where this Load Balancer is exposed.
///
@@ -136,6 +140,10 @@ public sealed class GetLoadbalancerResult
///
public readonly Outputs.GetLoadbalancerOptionsResult Options;
///
+ /// The service plan ID. If not defined, the default service plan is `p10`. Possible values are: `p10`, `p50`, `p250`, `p750`.
+ ///
+ public readonly string PlanId;
+ ///
/// Transient private Load Balancer IP address. It can change any time.
///
public readonly string PrivateAddress;
@@ -148,12 +156,18 @@ public sealed class GetLoadbalancerResult
///
public readonly string? Region;
///
+ /// The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT Network areas (SNA). To enable this, create a security group rule for your target VMs and set the `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`.
+ ///
+ public readonly string SecurityGroupId;
+ ///
/// List of all target pools which will be used in the Load Balancer. Limited to 20.
///
public readonly ImmutableArray TargetPools;
[OutputConstructor]
private GetLoadbalancerResult(
+ bool disableSecurityGroupAssignment,
+
string externalAddress,
string id,
@@ -166,23 +180,30 @@ private GetLoadbalancerResult(
Outputs.GetLoadbalancerOptionsResult options,
+ string planId,
+
string privateAddress,
string projectId,
string? region,
+ string securityGroupId,
+
ImmutableArray targetPools)
{
+ DisableSecurityGroupAssignment = disableSecurityGroupAssignment;
ExternalAddress = externalAddress;
Id = id;
Listeners = listeners;
Name = name;
Networks = networks;
Options = options;
+ PlanId = planId;
PrivateAddress = privateAddress;
ProjectId = projectId;
Region = region;
+ SecurityGroupId = securityGroupId;
TargetPools = targetPools;
}
}
diff --git a/sdk/dotnet/GetMachineType.cs b/sdk/dotnet/GetMachineType.cs
new file mode 100644
index 00000000..b36cf582
--- /dev/null
+++ b/sdk/dotnet/GetMachineType.cs
@@ -0,0 +1,210 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit
+{
+ public static class GetMachineType
+ {
+ ///
+ /// Machine type data source.
+ ///
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_machine_type" "two_vcpus_filter" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus==2"
+ /// }
+ ///
+ /// data "stackit_machine_type" "filter_sorted_ascending_false" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus >= 2 && ram >= 2048"
+ /// sort_ascending = false
+ /// }
+ ///
+ /// data "stackit_machine_type" "intel_icelake_generic_filter" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "extraSpecs.cpu==\"intel-icelake-generic\" && vcpus == 2"
+ /// }
+ ///
+ /// # returns warning
+ /// data "stackit_machine_type" "no_match" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus == 99"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetMachineTypeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getMachineType:getMachineType", args ?? new GetMachineTypeArgs(), options.WithDefaults());
+
+ ///
+ /// Machine type data source.
+ ///
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_machine_type" "two_vcpus_filter" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus==2"
+ /// }
+ ///
+ /// data "stackit_machine_type" "filter_sorted_ascending_false" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus >= 2 && ram >= 2048"
+ /// sort_ascending = false
+ /// }
+ ///
+ /// data "stackit_machine_type" "intel_icelake_generic_filter" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "extraSpecs.cpu==\"intel-icelake-generic\" && vcpus == 2"
+ /// }
+ ///
+ /// # returns warning
+ /// data "stackit_machine_type" "no_match" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus == 99"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetMachineTypeInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getMachineType:getMachineType", args ?? new GetMachineTypeInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Machine type data source.
+ ///
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_machine_type" "two_vcpus_filter" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus==2"
+ /// }
+ ///
+ /// data "stackit_machine_type" "filter_sorted_ascending_false" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus >= 2 && ram >= 2048"
+ /// sort_ascending = false
+ /// }
+ ///
+ /// data "stackit_machine_type" "intel_icelake_generic_filter" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "extraSpecs.cpu==\"intel-icelake-generic\" && vcpus == 2"
+ /// }
+ ///
+ /// # returns warning
+ /// data "stackit_machine_type" "no_match" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// filter = "vcpus == 99"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetMachineTypeInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getMachineType:getMachineType", args ?? new GetMachineTypeInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetMachineTypeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Expr-lang filter for filtering machine types.
+ ///
+ [Input("filter", required: true)]
+ public string Filter { get; set; } = null!;
+
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ [Input("sortAscending")]
+ public bool? SortAscending { get; set; }
+
+ public GetMachineTypeArgs()
+ {
+ }
+ public static new GetMachineTypeArgs Empty => new GetMachineTypeArgs();
+ }
+
+ public sealed class GetMachineTypeInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Expr-lang filter for filtering machine types.
+ ///
+ [Input("filter", required: true)]
+ public Input Filter { get; set; } = null!;
+
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ [Input("sortAscending")]
+ public Input? SortAscending { get; set; }
+
+ public GetMachineTypeInvokeArgs()
+ {
+ }
+ public static new GetMachineTypeInvokeArgs Empty => new GetMachineTypeInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetMachineTypeResult
+ {
+ public readonly string Description;
+ public readonly int Disk;
+ public readonly ImmutableDictionary ExtraSpecs;
+ ///
+ /// Expr-lang filter for filtering machine types.
+ ///
+ public readonly string Filter;
+ public readonly string Id;
+ public readonly string Name;
+ public readonly string ProjectId;
+ public readonly int Ram;
+ public readonly bool? SortAscending;
+ public readonly int Vcpus;
+
+ [OutputConstructor]
+ private GetMachineTypeResult(
+ string description,
+
+ int disk,
+
+ ImmutableDictionary extraSpecs,
+
+ string filter,
+
+ string id,
+
+ string name,
+
+ string projectId,
+
+ int ram,
+
+ bool? sortAscending,
+
+ int vcpus)
+ {
+ Description = description;
+ Disk = disk;
+ ExtraSpecs = extraSpecs;
+ Filter = filter;
+ Id = id;
+ Name = name;
+ ProjectId = projectId;
+ Ram = ram;
+ SortAscending = sortAscending;
+ Vcpus = vcpus;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetMongodbflexInstance.cs b/sdk/dotnet/GetMongodbflexInstance.cs
index f272d91e..9260c592 100644
--- a/sdk/dotnet/GetMongodbflexInstance.cs
+++ b/sdk/dotnet/GetMongodbflexInstance.cs
@@ -72,6 +72,12 @@ public sealed class GetMongodbflexInstanceArgs : global::Pulumi.InvokeArgs
[Input("projectId", required: true)]
public string ProjectId { get; set; } = null!;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
public GetMongodbflexInstanceArgs()
{
}
@@ -92,6 +98,12 @@ public sealed class GetMongodbflexInstanceInvokeArgs : global::Pulumi.InvokeArgs
[Input("projectId", required: true)]
public Input ProjectId { get; set; } = null!;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
public GetMongodbflexInstanceInvokeArgs()
{
}
@@ -128,6 +140,10 @@ public sealed class GetMongodbflexInstanceResult
/// STACKIT project ID to which the instance is associated.
///
public readonly string ProjectId;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string Region;
public readonly int Replicas;
public readonly Outputs.GetMongodbflexInstanceStorageResult Storage;
public readonly string Version;
@@ -150,6 +166,8 @@ private GetMongodbflexInstanceResult(
string projectId,
+ string region,
+
int replicas,
Outputs.GetMongodbflexInstanceStorageResult storage,
@@ -164,6 +182,7 @@ private GetMongodbflexInstanceResult(
Name = name;
Options = options;
ProjectId = projectId;
+ Region = region;
Replicas = replicas;
Storage = storage;
Version = version;
diff --git a/sdk/dotnet/GetMongodbflexUser.cs b/sdk/dotnet/GetMongodbflexUser.cs
index 6c590265..8528b05c 100644
--- a/sdk/dotnet/GetMongodbflexUser.cs
+++ b/sdk/dotnet/GetMongodbflexUser.cs
@@ -75,6 +75,12 @@ public sealed class GetMongodbflexUserArgs : global::Pulumi.InvokeArgs
[Input("projectId", required: true)]
public string ProjectId { get; set; } = null!;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
///
/// User ID.
///
@@ -101,6 +107,12 @@ public sealed class GetMongodbflexUserInvokeArgs : global::Pulumi.InvokeArgs
[Input("projectId", required: true)]
public Input ProjectId { get; set; } = null!;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
///
/// User ID.
///
@@ -129,6 +141,10 @@ public sealed class GetMongodbflexUserResult
/// STACKIT project ID to which the instance is associated.
///
public readonly string ProjectId;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string Region;
public readonly ImmutableArray Roles;
///
/// User ID.
@@ -150,6 +166,8 @@ private GetMongodbflexUserResult(
string projectId,
+ string region,
+
ImmutableArray roles,
string userId,
@@ -162,6 +180,7 @@ private GetMongodbflexUserResult(
InstanceId = instanceId;
Port = port;
ProjectId = projectId;
+ Region = region;
Roles = roles;
UserId = userId;
Username = username;
diff --git a/sdk/dotnet/GetNetwork.cs b/sdk/dotnet/GetNetwork.cs
index afe1c195..c8bce50e 100644
--- a/sdk/dotnet/GetNetwork.cs
+++ b/sdk/dotnet/GetNetwork.cs
@@ -72,6 +72,13 @@ public sealed class GetNetworkArgs : global::Pulumi.InvokeArgs
[Input("projectId", required: true)]
public string ProjectId { get; set; } = null!;
+ ///
+ /// Can only be used when experimental "network" is set. This is likely going to undergo significant changes or be removed in the future.
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
public GetNetworkArgs()
{
}
@@ -92,6 +99,13 @@ public sealed class GetNetworkInvokeArgs : global::Pulumi.InvokeArgs
[Input("projectId", required: true)]
public Input ProjectId { get; set; } = null!;
+ ///
+ /// Can only be used when experimental "network" is set. This is likely going to undergo significant changes or be removed in the future.
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
public GetNetworkInvokeArgs()
{
}
@@ -172,9 +186,19 @@ public sealed class GetNetworkResult
///
public readonly string PublicIp;
///
+ /// Can only be used when experimental "network" is set. This is likely going to undergo significant changes or be removed in the future.
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string? Region;
+ ///
/// Shows if the network is routed and therefore accessible from other networks.
///
public readonly bool Routed;
+ ///
+ /// Can only be used when experimental "network" is set. This is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
+ /// The ID of the routing table associated with the network.
+ ///
+ public readonly string RoutingTableId;
[OutputConstructor]
private GetNetworkResult(
@@ -214,7 +238,11 @@ private GetNetworkResult(
string publicIp,
- bool routed)
+ string? region,
+
+ bool routed,
+
+ string routingTableId)
{
Id = id;
Ipv4Gateway = ipv4Gateway;
@@ -234,7 +262,9 @@ private GetNetworkResult(
Prefixes = prefixes;
ProjectId = projectId;
PublicIp = publicIp;
+ Region = region;
Routed = routed;
+ RoutingTableId = routingTableId;
}
}
}
diff --git a/sdk/dotnet/GetObservabilityInstance.cs b/sdk/dotnet/GetObservabilityInstance.cs
index 72d29d93..d8ba22ac 100644
--- a/sdk/dotnet/GetObservabilityInstance.cs
+++ b/sdk/dotnet/GetObservabilityInstance.cs
@@ -158,15 +158,15 @@ public sealed class GetObservabilityInstanceResult
///
public readonly string MetricsPushUrl;
///
- /// Specifies for how many days the raw metrics are kept.
+ /// Specifies for how many days the raw metrics are kept. Default is set to `90`.
///
public readonly int MetricsRetentionDays;
///
- /// 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 `0` (disabled).
+ /// 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 `90`.
///
public readonly int MetricsRetentionDays1hDownsampling;
///
- /// 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 `0` (disabled).
+ /// 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 `90`.
///
public readonly int MetricsRetentionDays5mDownsampling;
///
diff --git a/sdk/dotnet/GetPublicIpRanges.cs b/sdk/dotnet/GetPublicIpRanges.cs
index 89b308c9..b7bb703b 100644
--- a/sdk/dotnet/GetPublicIpRanges.cs
+++ b/sdk/dotnet/GetPublicIpRanges.cs
@@ -18,6 +18,22 @@ public static class GetPublicIpRanges
///
/// ```terraform
/// data "stackit_public_ip_ranges" "example" {}
+ ///
+ /// # example usage: allow stackit services and customer vpn cidr to access observability apis
+ /// locals {
+ /// vpn_cidrs = ["X.X.X.X/32", "X.X.X.X/24"]
+ /// }
+ ///
+ /// resource "stackit_observability_instance" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "example-instance"
+ /// plan_name = "Observability-Monitoring-Medium-EU01"
+ /// # Allow all stackit services and customer vpn cidr to access observability apis
+ /// acl = concat(data.stackit_public_ip_ranges.example.cidr_list, local.vpn_cidrs)
+ /// metrics_retention_days = 90
+ /// metrics_retention_days_5m_downsampling = 90
+ /// metrics_retention_days_1h_downsampling = 90
+ /// }
/// ```
///
public static Task InvokeAsync(InvokeOptions? options = null)
@@ -30,6 +46,22 @@ public static Task InvokeAsync(InvokeOptions? options =
///
/// ```terraform
/// data "stackit_public_ip_ranges" "example" {}
+ ///
+ /// # example usage: allow stackit services and customer vpn cidr to access observability apis
+ /// locals {
+ /// vpn_cidrs = ["X.X.X.X/32", "X.X.X.X/24"]
+ /// }
+ ///
+ /// resource "stackit_observability_instance" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "example-instance"
+ /// plan_name = "Observability-Monitoring-Medium-EU01"
+ /// # Allow all stackit services and customer vpn cidr to access observability apis
+ /// acl = concat(data.stackit_public_ip_ranges.example.cidr_list, local.vpn_cidrs)
+ /// metrics_retention_days = 90
+ /// metrics_retention_days_5m_downsampling = 90
+ /// metrics_retention_days_1h_downsampling = 90
+ /// }
/// ```
///
public static Output Invoke(InvokeOptions? options = null)
@@ -42,6 +74,22 @@ public static Output Invoke(InvokeOptions? options = nu
///
/// ```terraform
/// data "stackit_public_ip_ranges" "example" {}
+ ///
+ /// # example usage: allow stackit services and customer vpn cidr to access observability apis
+ /// locals {
+ /// vpn_cidrs = ["X.X.X.X/32", "X.X.X.X/24"]
+ /// }
+ ///
+ /// resource "stackit_observability_instance" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// name = "example-instance"
+ /// plan_name = "Observability-Monitoring-Medium-EU01"
+ /// # Allow all stackit services and customer vpn cidr to access observability apis
+ /// acl = concat(data.stackit_public_ip_ranges.example.cidr_list, local.vpn_cidrs)
+ /// metrics_retention_days = 90
+ /// metrics_retention_days_5m_downsampling = 90
+ /// metrics_retention_days_1h_downsampling = 90
+ /// }
/// ```
///
public static Output Invoke(InvokeOutputOptions options)
@@ -52,6 +100,10 @@ public static Output Invoke(InvokeOutputOptions options
[OutputType]
public sealed class GetPublicIpRangesResult
{
+ ///
+ /// A list of IP range strings (CIDRs) extracted from the public*ip*ranges for easy consumption.
+ ///
+ public readonly ImmutableArray CidrLists;
public readonly string Id;
///
/// A list of all public IP ranges.
@@ -60,10 +112,13 @@ public sealed class GetPublicIpRangesResult
[OutputConstructor]
private GetPublicIpRangesResult(
+ ImmutableArray cidrLists,
+
string id,
ImmutableArray publicIpRanges)
{
+ CidrLists = cidrLists;
Id = id;
PublicIpRanges = publicIpRanges;
}
diff --git a/sdk/dotnet/GetResourcemanagerFolder.cs b/sdk/dotnet/GetResourcemanagerFolder.cs
new file mode 100644
index 00000000..f3df9af4
--- /dev/null
+++ b/sdk/dotnet/GetResourcemanagerFolder.cs
@@ -0,0 +1,154 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit
+{
+ public static class GetResourcemanagerFolder
+ {
+ ///
+ /// Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
+ ///
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_resourcemanager_folder" "example" {
+ /// container_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetResourcemanagerFolderArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getResourcemanagerFolder:getResourcemanagerFolder", args ?? new GetResourcemanagerFolderArgs(), options.WithDefaults());
+
+ ///
+ /// Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
+ ///
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_resourcemanager_folder" "example" {
+ /// container_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetResourcemanagerFolderInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getResourcemanagerFolder:getResourcemanagerFolder", args ?? new GetResourcemanagerFolderInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
+ ///
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_resourcemanager_folder" "example" {
+ /// container_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetResourcemanagerFolderInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getResourcemanagerFolder:getResourcemanagerFolder", args ?? new GetResourcemanagerFolderInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetResourcemanagerFolderArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Folder container ID. Globally unique, user-friendly identifier.
+ ///
+ [Input("containerId", required: true)]
+ public string ContainerId { get; set; } = null!;
+
+ public GetResourcemanagerFolderArgs()
+ {
+ }
+ public static new GetResourcemanagerFolderArgs Empty => new GetResourcemanagerFolderArgs();
+ }
+
+ public sealed class GetResourcemanagerFolderInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Folder container ID. Globally unique, user-friendly identifier.
+ ///
+ [Input("containerId", required: true)]
+ public Input ContainerId { get; set; } = null!;
+
+ public GetResourcemanagerFolderInvokeArgs()
+ {
+ }
+ public static new GetResourcemanagerFolderInvokeArgs Empty => new GetResourcemanagerFolderInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetResourcemanagerFolderResult
+ {
+ ///
+ /// Folder container ID. Globally unique, user-friendly identifier.
+ ///
+ public readonly string ContainerId;
+ ///
+ /// Date-time at which the folder was created.
+ ///
+ public readonly string CreationTime;
+ ///
+ /// Folder UUID identifier. Globally unique folder identifier
+ ///
+ public readonly string FolderId;
+ public readonly string Id;
+ ///
+ /// 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}.
+ ///
+ public readonly ImmutableDictionary Labels;
+ ///
+ /// The name of the folder.
+ ///
+ public readonly string Name;
+ ///
+ /// Parent resource identifier. Both container ID (user-friendly) and UUID are supported.
+ ///
+ public readonly string ParentContainerId;
+ ///
+ /// Date-time at which the folder was last modified.
+ ///
+ public readonly string UpdateTime;
+
+ [OutputConstructor]
+ private GetResourcemanagerFolderResult(
+ string containerId,
+
+ string creationTime,
+
+ string folderId,
+
+ string id,
+
+ ImmutableDictionary labels,
+
+ string name,
+
+ string parentContainerId,
+
+ string updateTime)
+ {
+ ContainerId = containerId;
+ CreationTime = creationTime;
+ FolderId = folderId;
+ Id = id;
+ Labels = labels;
+ Name = name;
+ ParentContainerId = parentContainerId;
+ UpdateTime = updateTime;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetResourcemanagerProject.cs b/sdk/dotnet/GetResourcemanagerProject.cs
index 31c64754..982e0aca 100644
--- a/sdk/dotnet/GetResourcemanagerProject.cs
+++ b/sdk/dotnet/GetResourcemanagerProject.cs
@@ -106,6 +106,10 @@ public sealed class GetResourcemanagerProjectResult
/// Project container ID. Globally unique, user-friendly identifier.
///
public readonly string? ContainerId;
+ ///
+ /// Date-time at which the project was created.
+ ///
+ public readonly string CreationTime;
public readonly string Id;
///
/// 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}
@@ -123,11 +127,17 @@ public sealed class GetResourcemanagerProjectResult
/// Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.
///
public readonly string? ProjectId;
+ ///
+ /// Date-time at which the project was last modified.
+ ///
+ public readonly string UpdateTime;
[OutputConstructor]
private GetResourcemanagerProjectResult(
string? containerId,
+ string creationTime,
+
string id,
ImmutableDictionary labels,
@@ -136,14 +146,18 @@ private GetResourcemanagerProjectResult(
string parentContainerId,
- string? projectId)
+ string? projectId,
+
+ string updateTime)
{
ContainerId = containerId;
+ CreationTime = creationTime;
Id = id;
Labels = labels;
Name = name;
ParentContainerId = parentContainerId;
ProjectId = projectId;
+ UpdateTime = updateTime;
}
}
}
diff --git a/sdk/dotnet/GetRoutingTable.cs b/sdk/dotnet/GetRoutingTable.cs
new file mode 100644
index 00000000..de404e79
--- /dev/null
+++ b/sdk/dotnet/GetRoutingTable.cs
@@ -0,0 +1,224 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetRoutingTable
+ {
+ ///
+ /// Routing table datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetRoutingTableArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getRoutingTable:getRoutingTable", args ?? new GetRoutingTableArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTableInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTable:getRoutingTable", args ?? new GetRoutingTableInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTableInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTable:getRoutingTable", args ?? new GetRoutingTableInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetRoutingTableArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public string NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public string OrganizationId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ ///
+ /// The routing tables ID.
+ ///
+ [Input("routingTableId", required: true)]
+ public string RoutingTableId { get; set; } = null!;
+
+ public GetRoutingTableArgs()
+ {
+ }
+ public static new GetRoutingTableArgs Empty => new GetRoutingTableArgs();
+ }
+
+ public sealed class GetRoutingTableInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public Input NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public Input OrganizationId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The routing tables ID.
+ ///
+ [Input("routingTableId", required: true)]
+ public Input RoutingTableId { get; set; } = null!;
+
+ public GetRoutingTableInvokeArgs()
+ {
+ }
+ public static new GetRoutingTableInvokeArgs Empty => new GetRoutingTableInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetRoutingTableResult
+ {
+ ///
+ /// Date-time when the routing table was created
+ ///
+ public readonly string 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.
+ ///
+ public readonly bool Default;
+ ///
+ /// Description of the routing table.
+ ///
+ public readonly string Description;
+ 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 routing table.
+ ///
+ public readonly string Name;
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ public readonly string NetworkAreaId;
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ public readonly string OrganizationId;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string? Region;
+ ///
+ /// The routing tables ID.
+ ///
+ public readonly string RoutingTableId;
+ ///
+ /// This controls whether the routes for project-to-project communication are created automatically or not.
+ ///
+ public readonly bool SystemRoutes;
+ ///
+ /// Date-time when the routing table was updated
+ ///
+ public readonly string UpdatedAt;
+
+ [OutputConstructor]
+ private GetRoutingTableResult(
+ string createdAt,
+
+ bool @default,
+
+ string description,
+
+ string id,
+
+ ImmutableDictionary labels,
+
+ string name,
+
+ string networkAreaId,
+
+ string organizationId,
+
+ string? region,
+
+ string routingTableId,
+
+ bool systemRoutes,
+
+ string updatedAt)
+ {
+ CreatedAt = createdAt;
+ Default = @default;
+ Description = description;
+ Id = id;
+ Labels = labels;
+ Name = name;
+ NetworkAreaId = networkAreaId;
+ OrganizationId = organizationId;
+ Region = region;
+ RoutingTableId = routingTableId;
+ SystemRoutes = systemRoutes;
+ UpdatedAt = updatedAt;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetRoutingTableRoute.cs b/sdk/dotnet/GetRoutingTableRoute.cs
new file mode 100644
index 00000000..2ee8b37a
--- /dev/null
+++ b/sdk/dotnet/GetRoutingTableRoute.cs
@@ -0,0 +1,232 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetRoutingTableRoute
+ {
+ ///
+ /// Routing table route datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table_route" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// route_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetRoutingTableRouteArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getRoutingTableRoute:getRoutingTableRoute", args ?? new GetRoutingTableRouteArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table route datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table_route" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// route_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTableRouteInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTableRoute:getRoutingTableRoute", args ?? new GetRoutingTableRouteInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table route datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table_route" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// route_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTableRouteInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTableRoute:getRoutingTableRoute", args ?? new GetRoutingTableRouteInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetRoutingTableRouteArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public string NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public string OrganizationId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ ///
+ /// Route ID.
+ ///
+ [Input("routeId", required: true)]
+ public string RouteId { get; set; } = null!;
+
+ ///
+ /// The routing tables ID.
+ ///
+ [Input("routingTableId", required: true)]
+ public string RoutingTableId { get; set; } = null!;
+
+ public GetRoutingTableRouteArgs()
+ {
+ }
+ public static new GetRoutingTableRouteArgs Empty => new GetRoutingTableRouteArgs();
+ }
+
+ public sealed class GetRoutingTableRouteInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public Input NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public Input OrganizationId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// Route ID.
+ ///
+ [Input("routeId", required: true)]
+ public Input RouteId { get; set; } = null!;
+
+ ///
+ /// The routing tables ID.
+ ///
+ [Input("routingTableId", required: true)]
+ public Input RoutingTableId { get; set; } = null!;
+
+ public GetRoutingTableRouteInvokeArgs()
+ {
+ }
+ public static new GetRoutingTableRouteInvokeArgs Empty => new GetRoutingTableRouteInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetRoutingTableRouteResult
+ {
+ ///
+ /// Date-time when the route was created
+ ///
+ public readonly string CreatedAt;
+ ///
+ /// Destination of the route.
+ ///
+ public readonly Outputs.GetRoutingTableRouteDestinationResult Destination;
+ public readonly string Id;
+ ///
+ /// Labels are key-value string pairs which can be attached to a resource container
+ ///
+ public readonly ImmutableDictionary Labels;
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ public readonly string NetworkAreaId;
+ ///
+ /// Next hop destination.
+ ///
+ public readonly Outputs.GetRoutingTableRouteNextHopResult NextHop;
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ public readonly string OrganizationId;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string? Region;
+ ///
+ /// Route ID.
+ ///
+ public readonly string RouteId;
+ ///
+ /// The routing tables ID.
+ ///
+ public readonly string RoutingTableId;
+ ///
+ /// Date-time when the route was updated
+ ///
+ public readonly string UpdatedAt;
+
+ [OutputConstructor]
+ private GetRoutingTableRouteResult(
+ string createdAt,
+
+ Outputs.GetRoutingTableRouteDestinationResult destination,
+
+ string id,
+
+ ImmutableDictionary labels,
+
+ string networkAreaId,
+
+ Outputs.GetRoutingTableRouteNextHopResult nextHop,
+
+ string organizationId,
+
+ string? region,
+
+ string routeId,
+
+ string routingTableId,
+
+ string updatedAt)
+ {
+ CreatedAt = createdAt;
+ Destination = destination;
+ Id = id;
+ Labels = labels;
+ NetworkAreaId = networkAreaId;
+ NextHop = nextHop;
+ OrganizationId = organizationId;
+ Region = region;
+ RouteId = routeId;
+ RoutingTableId = routingTableId;
+ UpdatedAt = updatedAt;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetRoutingTableRoutes.cs b/sdk/dotnet/GetRoutingTableRoutes.cs
new file mode 100644
index 00000000..1146be0f
--- /dev/null
+++ b/sdk/dotnet/GetRoutingTableRoutes.cs
@@ -0,0 +1,182 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetRoutingTableRoutes
+ {
+ ///
+ /// Routing table routes datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table_routes" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetRoutingTableRoutesArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getRoutingTableRoutes:getRoutingTableRoutes", args ?? new GetRoutingTableRoutesArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table routes datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table_routes" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTableRoutesInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTableRoutes:getRoutingTableRoutes", args ?? new GetRoutingTableRoutesInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table routes datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_table_routes" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTableRoutesInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTableRoutes:getRoutingTableRoutes", args ?? new GetRoutingTableRoutesInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetRoutingTableRoutesArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public string NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public string OrganizationId { get; set; } = null!;
+
+ ///
+ /// The datasource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ ///
+ /// The routing tables ID.
+ ///
+ [Input("routingTableId", required: true)]
+ public string RoutingTableId { get; set; } = null!;
+
+ public GetRoutingTableRoutesArgs()
+ {
+ }
+ public static new GetRoutingTableRoutesArgs Empty => new GetRoutingTableRoutesArgs();
+ }
+
+ public sealed class GetRoutingTableRoutesInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public Input NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public Input OrganizationId { get; set; } = null!;
+
+ ///
+ /// The datasource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ ///
+ /// The routing tables ID.
+ ///
+ [Input("routingTableId", required: true)]
+ public Input RoutingTableId { get; set; } = null!;
+
+ public GetRoutingTableRoutesInvokeArgs()
+ {
+ }
+ public static new GetRoutingTableRoutesInvokeArgs Empty => new GetRoutingTableRoutesInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetRoutingTableRoutesResult
+ {
+ public readonly string Id;
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ public readonly string NetworkAreaId;
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ public readonly string OrganizationId;
+ ///
+ /// The datasource region. If not defined, the provider region is used.
+ ///
+ public readonly string? Region;
+ ///
+ /// List of routes.
+ ///
+ public readonly ImmutableArray Routes;
+ ///
+ /// The routing tables ID.
+ ///
+ public readonly string RoutingTableId;
+
+ [OutputConstructor]
+ private GetRoutingTableRoutesResult(
+ string id,
+
+ string networkAreaId,
+
+ string organizationId,
+
+ string? region,
+
+ ImmutableArray routes,
+
+ string routingTableId)
+ {
+ Id = id;
+ NetworkAreaId = networkAreaId;
+ OrganizationId = organizationId;
+ Region = region;
+ Routes = routes;
+ RoutingTableId = routingTableId;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetRoutingTables.cs b/sdk/dotnet/GetRoutingTables.cs
new file mode 100644
index 00000000..e621269b
--- /dev/null
+++ b/sdk/dotnet/GetRoutingTables.cs
@@ -0,0 +1,160 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit
+{
+ public static class GetRoutingTables
+ {
+ ///
+ /// Routing table datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_tables" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetRoutingTablesArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getRoutingTables:getRoutingTables", args ?? new GetRoutingTablesArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_tables" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTablesInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTables:getRoutingTables", args ?? new GetRoutingTablesInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// Routing table datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// > 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.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_routing_tables" "example" {
+ /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetRoutingTablesInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getRoutingTables:getRoutingTables", args ?? new GetRoutingTablesInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetRoutingTablesArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public string NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public string OrganizationId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ public GetRoutingTablesArgs()
+ {
+ }
+ public static new GetRoutingTablesArgs Empty => new GetRoutingTablesArgs();
+ }
+
+ public sealed class GetRoutingTablesInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ [Input("networkAreaId", required: true)]
+ public Input NetworkAreaId { get; set; } = null!;
+
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ [Input("organizationId", required: true)]
+ public Input OrganizationId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ public GetRoutingTablesInvokeArgs()
+ {
+ }
+ public static new GetRoutingTablesInvokeArgs Empty => new GetRoutingTablesInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetRoutingTablesResult
+ {
+ public readonly string Id;
+ ///
+ /// List of routing tables.
+ ///
+ public readonly ImmutableArray Items;
+ ///
+ /// The network area ID to which the routing table is associated.
+ ///
+ public readonly string NetworkAreaId;
+ ///
+ /// STACKIT organization ID to which the routing table is associated.
+ ///
+ public readonly string OrganizationId;
+ ///
+ /// The resource region. If not defined, the provider region is used.
+ ///
+ public readonly string? Region;
+
+ [OutputConstructor]
+ private GetRoutingTablesResult(
+ string id,
+
+ ImmutableArray items,
+
+ string networkAreaId,
+
+ string organizationId,
+
+ string? region)
+ {
+ Id = id;
+ Items = items;
+ NetworkAreaId = networkAreaId;
+ OrganizationId = organizationId;
+ Region = region;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetScfOrganization.cs b/sdk/dotnet/GetScfOrganization.cs
new file mode 100644
index 00000000..087f0f4f
--- /dev/null
+++ b/sdk/dotnet/GetScfOrganization.cs
@@ -0,0 +1,196 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetScfOrganization
+ {
+ ///
+ /// STACKIT Cloud Foundry organization datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_organization" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetScfOrganizationArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getScfOrganization:getScfOrganization", args ?? new GetScfOrganizationArgs(), options.WithDefaults());
+
+ ///
+ /// STACKIT Cloud Foundry organization datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_organization" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetScfOrganizationInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getScfOrganization:getScfOrganization", args ?? new GetScfOrganizationInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// STACKIT Cloud Foundry organization datasource schema. Must have a `region` specified in the provider configuration.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_organization" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetScfOrganizationInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getScfOrganization:getScfOrganization", args ?? new GetScfOrganizationInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetScfOrganizationArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The ID of the Cloud Foundry Organization
+ ///
+ [Input("orgId", required: true)]
+ public string OrgId { get; set; } = null!;
+
+ ///
+ /// The ID of the project associated with the organization
+ ///
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ public GetScfOrganizationArgs()
+ {
+ }
+ public static new GetScfOrganizationArgs Empty => new GetScfOrganizationArgs();
+ }
+
+ public sealed class GetScfOrganizationInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The ID of the Cloud Foundry Organization
+ ///
+ [Input("orgId", required: true)]
+ public Input OrgId { get; set; } = null!;
+
+ ///
+ /// The ID of the project associated with the organization
+ ///
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ ///
+ /// The resource region. If not defined, the provider region is used
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ public GetScfOrganizationInvokeArgs()
+ {
+ }
+ public static new GetScfOrganizationInvokeArgs Empty => new GetScfOrganizationInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetScfOrganizationResult
+ {
+ ///
+ /// The time when the organization was created
+ ///
+ public readonly string CreatedAt;
+ public readonly string Id;
+ ///
+ /// The name of the organization
+ ///
+ public readonly string Name;
+ ///
+ /// The ID of the Cloud Foundry Organization
+ ///
+ public readonly string OrgId;
+ ///
+ /// The ID of the platform associated with the organization
+ ///
+ public readonly string PlatformId;
+ ///
+ /// The ID of the project associated with the organization
+ ///
+ public readonly string ProjectId;
+ ///
+ /// The ID of the quota associated with the organization
+ ///
+ public readonly string QuotaId;
+ ///
+ /// The resource region. If not defined, the provider region is used
+ ///
+ public readonly string Region;
+ ///
+ /// The status of the organization (e.g., deleting, delete_failed)
+ ///
+ public readonly string Status;
+ ///
+ /// A boolean indicating whether the organization is suspended
+ ///
+ public readonly bool Suspended;
+ ///
+ /// The time when the organization was last updated
+ ///
+ public readonly string UpdatedAt;
+
+ [OutputConstructor]
+ private GetScfOrganizationResult(
+ string createdAt,
+
+ string id,
+
+ string name,
+
+ string orgId,
+
+ string platformId,
+
+ string projectId,
+
+ string quotaId,
+
+ string region,
+
+ string status,
+
+ bool suspended,
+
+ string updatedAt)
+ {
+ CreatedAt = createdAt;
+ Id = id;
+ Name = name;
+ OrgId = orgId;
+ PlatformId = platformId;
+ ProjectId = projectId;
+ QuotaId = quotaId;
+ Region = region;
+ Status = status;
+ Suspended = suspended;
+ UpdatedAt = updatedAt;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetScfOrganizationManager.cs b/sdk/dotnet/GetScfOrganizationManager.cs
new file mode 100644
index 00000000..f9f1191e
--- /dev/null
+++ b/sdk/dotnet/GetScfOrganizationManager.cs
@@ -0,0 +1,182 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetScfOrganizationManager
+ {
+ ///
+ /// STACKIT Cloud Foundry organization manager datasource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_organization_manager" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetScfOrganizationManagerArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getScfOrganizationManager:getScfOrganizationManager", args ?? new GetScfOrganizationManagerArgs(), options.WithDefaults());
+
+ ///
+ /// STACKIT Cloud Foundry organization manager datasource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_organization_manager" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetScfOrganizationManagerInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getScfOrganizationManager:getScfOrganizationManager", args ?? new GetScfOrganizationManagerInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// STACKIT Cloud Foundry organization manager datasource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_organization_manager" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetScfOrganizationManagerInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getScfOrganizationManager:getScfOrganizationManager", args ?? new GetScfOrganizationManagerInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetScfOrganizationManagerArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The ID of the Cloud Foundry Organization
+ ///
+ [Input("orgId", required: true)]
+ public string OrgId { get; set; } = null!;
+
+ ///
+ /// The ID of the project associated with the organization of the organization manager
+ ///
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ ///
+ /// The region where the organization of the organization manager is located. If not defined, the provider region is used
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ public GetScfOrganizationManagerArgs()
+ {
+ }
+ public static new GetScfOrganizationManagerArgs Empty => new GetScfOrganizationManagerArgs();
+ }
+
+ public sealed class GetScfOrganizationManagerInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The ID of the Cloud Foundry Organization
+ ///
+ [Input("orgId", required: true)]
+ public Input OrgId { get; set; } = null!;
+
+ ///
+ /// The ID of the project associated with the organization of the organization manager
+ ///
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ ///
+ /// The region where the organization of the organization manager is located. If not defined, the provider region is used
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ public GetScfOrganizationManagerInvokeArgs()
+ {
+ }
+ public static new GetScfOrganizationManagerInvokeArgs Empty => new GetScfOrganizationManagerInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetScfOrganizationManagerResult
+ {
+ ///
+ /// The time when the organization manager was created
+ ///
+ public readonly string CreatedAt;
+ public readonly string Id;
+ ///
+ /// The ID of the Cloud Foundry Organization
+ ///
+ public readonly string OrgId;
+ ///
+ /// The ID of the platform associated with the organization of the organization manager
+ ///
+ public readonly string PlatformId;
+ ///
+ /// The ID of the project associated with the organization of the organization manager
+ ///
+ public readonly string ProjectId;
+ ///
+ /// The region where the organization of the organization manager is located. If not defined, the provider region is used
+ ///
+ public readonly string Region;
+ ///
+ /// The time when the organization manager was last updated
+ ///
+ public readonly string UpdatedAt;
+ ///
+ /// The ID of the organization manager user
+ ///
+ public readonly string UserId;
+ ///
+ /// An auto-generated organization manager user name
+ ///
+ public readonly string Username;
+
+ [OutputConstructor]
+ private GetScfOrganizationManagerResult(
+ string createdAt,
+
+ string id,
+
+ string orgId,
+
+ string platformId,
+
+ string projectId,
+
+ string region,
+
+ string updatedAt,
+
+ string userId,
+
+ string username)
+ {
+ CreatedAt = createdAt;
+ Id = id;
+ OrgId = orgId;
+ PlatformId = platformId;
+ ProjectId = projectId;
+ Region = region;
+ UpdatedAt = updatedAt;
+ UserId = userId;
+ Username = username;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetScfPlatform.cs b/sdk/dotnet/GetScfPlatform.cs
new file mode 100644
index 00000000..d4ff399a
--- /dev/null
+++ b/sdk/dotnet/GetScfPlatform.cs
@@ -0,0 +1,175 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 GetScfPlatform
+ {
+ ///
+ /// STACKIT Cloud Foundry Platform datasource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_platform" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// platform_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetScfPlatformArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getScfPlatform:getScfPlatform", args ?? new GetScfPlatformArgs(), options.WithDefaults());
+
+ ///
+ /// STACKIT Cloud Foundry Platform datasource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_platform" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// platform_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetScfPlatformInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getScfPlatform:getScfPlatform", args ?? new GetScfPlatformInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// STACKIT Cloud Foundry Platform datasource schema.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_scf_platform" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// platform_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetScfPlatformInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getScfPlatform:getScfPlatform", args ?? new GetScfPlatformInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetScfPlatformArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The unique id of the platform
+ ///
+ [Input("platformId", required: true)]
+ public string PlatformId { get; set; } = null!;
+
+ ///
+ /// The ID of the project associated with the platform
+ ///
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ ///
+ /// The region where the platform is located. If not defined, the provider region is used
+ ///
+ [Input("region")]
+ public string? Region { get; set; }
+
+ public GetScfPlatformArgs()
+ {
+ }
+ public static new GetScfPlatformArgs Empty => new GetScfPlatformArgs();
+ }
+
+ public sealed class GetScfPlatformInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The unique id of the platform
+ ///
+ [Input("platformId", required: true)]
+ public Input PlatformId { get; set; } = null!;
+
+ ///
+ /// The ID of the project associated with the platform
+ ///
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ ///
+ /// The region where the platform is located. If not defined, the provider region is used
+ ///
+ [Input("region")]
+ public Input? Region { get; set; }
+
+ public GetScfPlatformInvokeArgs()
+ {
+ }
+ public static new GetScfPlatformInvokeArgs Empty => new GetScfPlatformInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetScfPlatformResult
+ {
+ ///
+ /// The CF API Url of the platform
+ ///
+ public readonly string ApiUrl;
+ ///
+ /// The Stratos URL of the platform
+ ///
+ public readonly string ConsoleUrl;
+ ///
+ /// The name of the platform
+ ///
+ public readonly string DisplayName;
+ public readonly string Id;
+ ///
+ /// The unique id of the platform
+ ///
+ public readonly string PlatformId;
+ ///
+ /// The ID of the project associated with the platform
+ ///
+ public readonly string ProjectId;
+ ///
+ /// The region where the platform is located. If not defined, the provider region is used
+ ///
+ public readonly string Region;
+ ///
+ /// The ID of the platform System
+ ///
+ public readonly string SystemId;
+
+ [OutputConstructor]
+ private GetScfPlatformResult(
+ string apiUrl,
+
+ string consoleUrl,
+
+ string displayName,
+
+ string id,
+
+ string platformId,
+
+ string projectId,
+
+ string region,
+
+ string systemId)
+ {
+ ApiUrl = apiUrl;
+ ConsoleUrl = consoleUrl;
+ DisplayName = displayName;
+ Id = id;
+ PlatformId = platformId;
+ ProjectId = projectId;
+ Region = region;
+ SystemId = systemId;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetServerBackupSchedule.cs b/sdk/dotnet/GetServerBackupSchedule.cs
index ac0542f9..09a46458 100644
--- a/sdk/dotnet/GetServerBackupSchedule.cs
+++ b/sdk/dotnet/GetServerBackupSchedule.cs
@@ -14,7 +14,7 @@ public static class GetServerBackupSchedule
///
/// Server backup schedule datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -32,7 +32,7 @@ public static Task InvokeAsync(GetServerBackupSch
///
/// Server backup schedule datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -50,7 +50,7 @@ public static Output Invoke(GetServerBackupSchedu
///
/// Server backup schedule datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
diff --git a/sdk/dotnet/GetServerBackupSchedules.cs b/sdk/dotnet/GetServerBackupSchedules.cs
index 066b054d..3e15ce58 100644
--- a/sdk/dotnet/GetServerBackupSchedules.cs
+++ b/sdk/dotnet/GetServerBackupSchedules.cs
@@ -14,7 +14,7 @@ public static class GetServerBackupSchedules
///
/// Server backup schedules datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -31,7 +31,7 @@ public static Task InvokeAsync(GetServerBackupSc
///
/// Server backup schedules datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -48,7 +48,7 @@ public static Output Invoke(GetServerBackupSched
///
/// Server backup schedules datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
diff --git a/sdk/dotnet/GetServerUpdateSchedule.cs b/sdk/dotnet/GetServerUpdateSchedule.cs
index 3bb992e5..b6738709 100644
--- a/sdk/dotnet/GetServerUpdateSchedule.cs
+++ b/sdk/dotnet/GetServerUpdateSchedule.cs
@@ -14,7 +14,7 @@ public static class GetServerUpdateSchedule
///
/// Server update schedule datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -32,7 +32,7 @@ public static Task InvokeAsync(GetServerUpdateSch
///
/// Server update schedule datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -50,7 +50,7 @@ public static Output Invoke(GetServerUpdateSchedu
///
/// Server update schedule datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
diff --git a/sdk/dotnet/GetServerUpdateSchedules.cs b/sdk/dotnet/GetServerUpdateSchedules.cs
index 369d7628..7eab3597 100644
--- a/sdk/dotnet/GetServerUpdateSchedules.cs
+++ b/sdk/dotnet/GetServerUpdateSchedules.cs
@@ -14,7 +14,7 @@ public static class GetServerUpdateSchedules
///
/// Server update schedules datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -31,7 +31,7 @@ public static Task InvokeAsync(GetServerUpdateSc
///
/// Server update schedules datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
@@ -48,7 +48,7 @@ public static Output Invoke(GetServerUpdateSched
///
/// Server update schedules datasource schema. Must have a `region` specified in the provider configuration.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
///
/// ## Example Usage
///
diff --git a/sdk/dotnet/GetSkeCluster.cs b/sdk/dotnet/GetSkeCluster.cs
index 6855e117..d0ec9aa6 100644
--- a/sdk/dotnet/GetSkeCluster.cs
+++ b/sdk/dotnet/GetSkeCluster.cs
@@ -114,12 +114,6 @@ public GetSkeClusterInvokeArgs()
[OutputType]
public sealed class GetSkeClusterResult
{
- ///
- /// DEPRECATED as of Kubernetes 1.25+
- /// Flag to specify if privileged mode for containers is enabled or not.
- /// This should be used with care since it also disables a couple of other features like the use of some volume type (e.g. PVCs).
- ///
- public readonly bool AllowPrivilegedContainers;
///
/// The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.
///
@@ -134,10 +128,6 @@ public sealed class GetSkeClusterResult
public readonly ImmutableArray Hibernations;
public readonly string Id;
///
- /// Kubernetes version. This field is deprecated, use `kubernetes_version_used` instead
- ///
- public readonly string KubernetesVersion;
- ///
/// The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the `kubernetes_version_used` field.
///
public readonly string KubernetesVersionMin;
@@ -162,6 +152,10 @@ public sealed class GetSkeClusterResult
///
public readonly ImmutableArray NodePools;
///
+ /// The network ranges (in CIDR notation) used by pods of the cluster.
+ ///
+ public readonly ImmutableArray PodAddressRanges;
+ ///
/// STACKIT project ID to which the cluster is associated.
///
public readonly string ProjectId;
@@ -172,8 +166,6 @@ public sealed class GetSkeClusterResult
[OutputConstructor]
private GetSkeClusterResult(
- bool allowPrivilegedContainers,
-
ImmutableArray egressAddressRanges,
Outputs.GetSkeClusterExtensionsResult extensions,
@@ -182,8 +174,6 @@ private GetSkeClusterResult(
string id,
- string kubernetesVersion,
-
string kubernetesVersionMin,
string kubernetesVersionUsed,
@@ -196,22 +186,23 @@ private GetSkeClusterResult(
ImmutableArray nodePools,
+ ImmutableArray podAddressRanges,
+
string projectId,
string? region)
{
- AllowPrivilegedContainers = allowPrivilegedContainers;
EgressAddressRanges = egressAddressRanges;
Extensions = extensions;
Hibernations = hibernations;
Id = id;
- KubernetesVersion = kubernetesVersion;
KubernetesVersionMin = kubernetesVersionMin;
KubernetesVersionUsed = kubernetesVersionUsed;
Maintenance = maintenance;
Name = name;
Network = network;
NodePools = nodePools;
+ PodAddressRanges = podAddressRanges;
ProjectId = projectId;
Region = region;
}
diff --git a/sdk/dotnet/Git.cs b/sdk/dotnet/Git.cs
index 4d8222e5..9d694c0e 100644
--- a/sdk/dotnet/Git.cs
+++ b/sdk/dotnet/Git.cs
@@ -12,13 +12,43 @@ namespace Pulumi.Stackit
///
/// Git Instance resource schema.
///
- /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.
+ /// > This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources. This resource currently does not support updates. Changing the ACLs, flavor, or name will trigger resource recreation. Update functionality will be added soon. In the meantime, please proceed with caution. To update these attributes, please open a support ticket.
///
/// ## Example Usage
///
[StackitResourceType("stackit:index/git:Git")]
public partial class Git : global::Pulumi.CustomResource
{
+ ///
+ /// Restricted ACL for instance access.
+ ///
+ [Output("acls")]
+ public Output> Acls { get; private set; } = null!;
+
+ ///
+ /// How many bytes of disk space is consumed.
+ ///
+ [Output("consumedDisk")]
+ public Output ConsumedDisk { get; private set; } = null!;
+
+ ///
+ /// How many bytes of Object Storage is consumed.
+ ///
+ [Output("consumedObjectStorage")]
+ public Output ConsumedObjectStorage { get; private set; } = null!;
+
+ ///
+ /// Instance creation timestamp in RFC3339 format.
+ ///
+ [Output("created")]
+ public Output Created { get; private set; } = null!;
+
+ ///
+ /// 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`
+ ///
+ [Output("flavor")]
+ public Output Flavor { get; private set; } = null!;
+
///
/// ID linked to the git instance.
///
@@ -96,6 +126,24 @@ public static Git Get(string name, Input id, GitState? state = null, Cus
public sealed class GitArgs : global::Pulumi.ResourceArgs
{
+ [Input("acls")]
+ private InputList? _acls;
+
+ ///
+ /// Restricted ACL for instance access.
+ ///
+ public InputList Acls
+ {
+ get => _acls ?? (_acls = new InputList());
+ set => _acls = value;
+ }
+
+ ///
+ /// 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`
+ ///
+ [Input("flavor")]
+ public Input? Flavor { get; set; }
+
///
/// Unique name linked to the git instance.
///
@@ -116,6 +164,42 @@ public GitArgs()
public sealed class GitState : global::Pulumi.ResourceArgs
{
+ [Input("acls")]
+ private InputList? _acls;
+
+ ///
+ /// Restricted ACL for instance access.
+ ///
+ public InputList Acls
+ {
+ get => _acls ?? (_acls = new InputList());
+ set => _acls = value;
+ }
+
+ ///
+ /// How many bytes of disk space is consumed.
+ ///
+ [Input("consumedDisk")]
+ public Input? ConsumedDisk { get; set; }
+
+ ///
+ /// How many bytes of Object Storage is consumed.
+ ///
+ [Input("consumedObjectStorage")]
+ public Input? ConsumedObjectStorage { get; set; }
+
+ ///
+ /// Instance creation timestamp in RFC3339 format.
+ ///
+ [Input("created")]
+ public Input? Created { get; set; }
+
+ ///
+ /// 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`
+ ///
+ [Input("flavor")]
+ public Input? Flavor { get; set; }
+
///
/// ID linked to the git instance.
///
diff --git a/sdk/dotnet/Inputs/CdnCustomDomainCertificateArgs.cs b/sdk/dotnet/Inputs/CdnCustomDomainCertificateArgs.cs
new file mode 100644
index 00000000..8d05f9e8
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnCustomDomainCertificateArgs.cs
@@ -0,0 +1,58 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 CdnCustomDomainCertificateArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("certificate")]
+ private Input? _certificate;
+
+ ///
+ /// The PEM-encoded TLS certificate. Required for custom certificates.
+ ///
+ public Input? Certificate
+ {
+ get => _certificate;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _certificate = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ [Input("privateKey")]
+ private Input? _privateKey;
+
+ ///
+ /// The PEM-encoded private key for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
+ ///
+ public Input? PrivateKey
+ {
+ get => _privateKey;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _privateKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ ///
+ /// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
+ ///
+ [Input("version")]
+ public Input? Version { get; set; }
+
+ public CdnCustomDomainCertificateArgs()
+ {
+ }
+ public static new CdnCustomDomainCertificateArgs Empty => new CdnCustomDomainCertificateArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnCustomDomainCertificateGetArgs.cs b/sdk/dotnet/Inputs/CdnCustomDomainCertificateGetArgs.cs
new file mode 100644
index 00000000..e2de5d77
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnCustomDomainCertificateGetArgs.cs
@@ -0,0 +1,58 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 CdnCustomDomainCertificateGetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("certificate")]
+ private Input? _certificate;
+
+ ///
+ /// The PEM-encoded TLS certificate. Required for custom certificates.
+ ///
+ public Input? Certificate
+ {
+ get => _certificate;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _certificate = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ [Input("privateKey")]
+ private Input? _privateKey;
+
+ ///
+ /// The PEM-encoded private key for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
+ ///
+ public Input? PrivateKey
+ {
+ get => _privateKey;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _privateKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ ///
+ /// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
+ ///
+ [Input("version")]
+ public Input? Version { get; set; }
+
+ public CdnCustomDomainCertificateGetArgs()
+ {
+ }
+ public static new CdnCustomDomainCertificateGetArgs Empty => new CdnCustomDomainCertificateGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs
index 00a048b7..79e28ce1 100644
--- a/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigArgs.cs
@@ -18,6 +18,24 @@ public sealed class CdnDistributionConfigArgs : global::Pulumi.ResourceArgs
[Input("backend", required: true)]
public Input Backend { get; set; } = null!;
+ [Input("blockedCountries")]
+ private InputList? _blockedCountries;
+
+ ///
+ /// The configured countries where distribution of content is blocked
+ ///
+ public InputList BlockedCountries
+ {
+ get => _blockedCountries ?? (_blockedCountries = new InputList());
+ set => _blockedCountries = value;
+ }
+
+ ///
+ /// 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.
+ ///
+ [Input("optimizer")]
+ public Input? Optimizer { get; set; }
+
[Input("regions", required: true)]
private InputList? _regions;
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs
index fa1d3d81..50704489 100644
--- a/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigGetArgs.cs
@@ -18,6 +18,24 @@ public sealed class CdnDistributionConfigGetArgs : global::Pulumi.ResourceArgs
[Input("backend", required: true)]
public Input Backend { get; set; } = null!;
+ [Input("blockedCountries")]
+ private InputList? _blockedCountries;
+
+ ///
+ /// The configured countries where distribution of content is blocked
+ ///
+ public InputList BlockedCountries
+ {
+ get => _blockedCountries ?? (_blockedCountries = new InputList());
+ set => _blockedCountries = value;
+ }
+
+ ///
+ /// 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.
+ ///
+ [Input("optimizer")]
+ public Input? Optimizer { get; set; }
+
[Input("regions", required: true)]
private InputList? _regions;
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigOptimizerArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigOptimizerArgs.cs
new file mode 100644
index 00000000..3657f13c
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigOptimizerArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 CdnDistributionConfigOptimizerArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ public CdnDistributionConfigOptimizerArgs()
+ {
+ }
+ public static new CdnDistributionConfigOptimizerArgs Empty => new CdnDistributionConfigOptimizerArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/CdnDistributionConfigOptimizerGetArgs.cs b/sdk/dotnet/Inputs/CdnDistributionConfigOptimizerGetArgs.cs
new file mode 100644
index 00000000..ac01a20b
--- /dev/null
+++ b/sdk/dotnet/Inputs/CdnDistributionConfigOptimizerGetArgs.cs
@@ -0,0 +1,23 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know 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 CdnDistributionConfigOptimizerGetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ public CdnDistributionConfigOptimizerGetArgs()
+ {
+ }
+ public static new CdnDistributionConfigOptimizerGetArgs Empty => new CdnDistributionConfigOptimizerGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/GetCdnCustomDomainCertificate.cs b/sdk/dotnet/Inputs/GetCdnCustomDomainCertificate.cs
new file mode 100644
index 00000000..313222d7
--- /dev/null
+++ b/sdk/dotnet/Inputs/GetCdnCustomDomainCertificate.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 GetCdnCustomDomainCertificateArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
+ ///
+ [Input("version", required: true)]
+ public int Version { get; set; }
+
+ public GetCdnCustomDomainCertificateArgs()
+ {
+ }
+ public static new GetCdnCustomDomainCertificateArgs Empty => new GetCdnCustomDomainCertificateArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/GetCdnCustomDomainCertificateArgs.cs b/sdk/dotnet/Inputs/GetCdnCustomDomainCertificateArgs.cs
new file mode 100644
index 00000000..3c0779cc
--- /dev/null
+++ b/sdk/dotnet/Inputs/GetCdnCustomDomainCertificateArgs.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 GetCdnCustomDomainCertificateInputArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
+ ///
+ [Input("version", required: true)]
+ public Input Version { get; set; } = null!;
+
+ public GetCdnCustomDomainCertificateInputArgs()
+ {
+ }
+ public static new GetCdnCustomDomainCertificateInputArgs Empty => new GetCdnCustomDomainCertificateInputArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/GetImageV2Filter.cs b/sdk/dotnet/Inputs/GetImageV2Filter.cs
new file mode 100644
index 00000000..ef6a5d24
--- /dev/null
+++ b/sdk/dotnet/Inputs/GetImageV2Filter.cs
@@ -0,0 +1,50 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class GetImageV2FilterArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc.
+ ///
+ [Input("distro")]
+ public string? Distro { get; set; }
+
+ ///
+ /// Filter images by operating system type, such as `linux` or `windows`.
+ ///
+ [Input("os")]
+ public string? Os { get; set; }
+
+ ///
+ /// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot.
+ ///
+ [Input("secureBoot")]
+ public bool? SecureBoot { get; set; }
+
+ ///
+ /// Filter images based on UEFI support. Set to `true` to match images that support UEFI.
+ ///
+ [Input("uefi")]
+ public bool? Uefi { get; set; }
+
+ ///
+ /// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`.
+ ///
+ [Input("version")]
+ public string? Version { get; set; }
+
+ public GetImageV2FilterArgs()
+ {
+ }
+ public static new GetImageV2FilterArgs Empty => new GetImageV2FilterArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/GetImageV2FilterArgs.cs b/sdk/dotnet/Inputs/GetImageV2FilterArgs.cs
new file mode 100644
index 00000000..d0889adc
--- /dev/null
+++ b/sdk/dotnet/Inputs/GetImageV2FilterArgs.cs
@@ -0,0 +1,50 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class GetImageV2FilterInputArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc.
+ ///
+ [Input("distro")]
+ public Input? Distro { get; set; }
+
+ ///
+ /// Filter images by operating system type, such as `linux` or `windows`.
+ ///
+ [Input("os")]
+ public Input? Os { get; set; }
+
+ ///
+ /// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot.
+ ///
+ [Input("secureBoot")]
+ public Input? SecureBoot { get; set; }
+
+ ///
+ /// Filter images based on UEFI support. Set to `true` to match images that support UEFI.
+ ///
+ [Input("uefi")]
+ public Input? Uefi { get; set; }
+
+ ///
+ /// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`.
+ ///
+ [Input("version")]
+ public Input? Version { get; set; }
+
+ public GetImageV2FilterInputArgs()
+ {
+ }
+ public static new GetImageV2FilterInputArgs Empty => new GetImageV2FilterInputArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigArgs.cs
index 9d2bf3d5..e8cffa66 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigArgs.cs
@@ -13,7 +13,7 @@ namespace Pulumi.Stackit.Inputs
public sealed class ObservabilityInstanceAlertConfigArgs : global::Pulumi.ResourceArgs
{
///
- /// Global configuration for the alerts.
+ /// Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes.
///
[Input("global")]
public Input? Global { get; set; }
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigGetArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigGetArgs.cs
index 95bc8050..a36c0944 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigGetArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigGetArgs.cs
@@ -13,7 +13,7 @@ namespace Pulumi.Stackit.Inputs
public sealed class ObservabilityInstanceAlertConfigGetArgs : global::Pulumi.ResourceArgs
{
///
- /// Global configuration for the alerts.
+ /// Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes.
///
[Input("global")]
public Input? Global { get; set; }
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigArgs.cs
index aad06c4a..0551477d 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigArgs.cs
@@ -18,11 +18,21 @@ public sealed class ObservabilityInstanceAlertConfigReceiverEmailConfigArgs : gl
[Input("authIdentity")]
public Input? AuthIdentity { get; set; }
+ [Input("authPassword")]
+ private Input? _authPassword;
+
///
/// SMTP authentication password.
///
- [Input("authPassword")]
- public Input? AuthPassword { get; set; }
+ public Input? AuthPassword
+ {
+ get => _authPassword;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _authPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
///
/// SMTP authentication username.
@@ -36,6 +46,12 @@ public sealed class ObservabilityInstanceAlertConfigReceiverEmailConfigArgs : gl
[Input("from")]
public Input? From { get; set; }
+ ///
+ /// Whether to notify about resolved alerts.
+ ///
+ [Input("sendResolved")]
+ public Input? SendResolved { get; set; }
+
///
/// The SMTP host through which emails are sent.
///
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigGetArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigGetArgs.cs
index 3ed9795a..77d4c67b 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigGetArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverEmailConfigGetArgs.cs
@@ -18,11 +18,21 @@ public sealed class ObservabilityInstanceAlertConfigReceiverEmailConfigGetArgs :
[Input("authIdentity")]
public Input? AuthIdentity { get; set; }
+ [Input("authPassword")]
+ private Input? _authPassword;
+
///
/// SMTP authentication password.
///
- [Input("authPassword")]
- public Input? AuthPassword { get; set; }
+ public Input? AuthPassword
+ {
+ get => _authPassword;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _authPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
///
/// SMTP authentication username.
@@ -36,6 +46,12 @@ public sealed class ObservabilityInstanceAlertConfigReceiverEmailConfigGetArgs :
[Input("from")]
public Input? From { get; set; }
+ ///
+ /// Whether to notify about resolved alerts.
+ ///
+ [Input("sendResolved")]
+ public Input? SendResolved { get; set; }
+
///
/// The SMTP host through which emails are sent.
///
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs.cs
index 3bab69e1..3d142f0e 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs.cs
@@ -24,6 +24,18 @@ public sealed class ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs :
[Input("apiUrl")]
public Input? ApiUrl { get; set; }
+ ///
+ /// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`.
+ ///
+ [Input("priority")]
+ public Input? Priority { get; set; }
+
+ ///
+ /// Whether to notify about resolved alerts.
+ ///
+ [Input("sendResolved")]
+ public Input? SendResolved { get; set; }
+
///
/// Comma separated list of tags attached to the notifications.
///
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigGetArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigGetArgs.cs
index 610d3d0b..1a6db350 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigGetArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverOpsgenieConfigGetArgs.cs
@@ -24,6 +24,18 @@ public sealed class ObservabilityInstanceAlertConfigReceiverOpsgenieConfigGetArg
[Input("apiUrl")]
public Input? ApiUrl { get; set; }
+ ///
+ /// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`.
+ ///
+ [Input("priority")]
+ public Input? Priority { get; set; }
+
+ ///
+ /// Whether to notify about resolved alerts.
+ ///
+ [Input("sendResolved")]
+ public Input? SendResolved { get; set; }
+
///
/// Comma separated list of tags attached to the notifications.
///
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs.cs
index ec402b57..6fc57b80 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Stackit.Inputs
public sealed class ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat.
+ ///
+ [Input("googleChat")]
+ public Input? GoogleChat { get; set; }
+
///
/// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.
///
@@ -19,10 +25,26 @@ public sealed class ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs :
public Input? MsTeams { get; set; }
///
- /// The endpoint to send HTTP POST requests to. Must be a valid URL
+ /// Whether to notify about resolved alerts.
///
+ [Input("sendResolved")]
+ public Input? SendResolved { get; set; }
+
[Input("url")]
- public Input? Url { get; set; }
+ private Input? _url;
+
+ ///
+ /// The endpoint to send HTTP POST requests to. Must be a valid URL
+ ///
+ public Input? Url
+ {
+ get => _url;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _url = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
public ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs()
{
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigGetArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigGetArgs.cs
index c86e771f..04ceba20 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigGetArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigReceiverWebhooksConfigGetArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Stackit.Inputs
public sealed class ObservabilityInstanceAlertConfigReceiverWebhooksConfigGetArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat.
+ ///
+ [Input("googleChat")]
+ public Input? GoogleChat { get; set; }
+
///
/// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.
///
@@ -19,10 +25,26 @@ public sealed class ObservabilityInstanceAlertConfigReceiverWebhooksConfigGetArg
public Input? MsTeams { get; set; }
///
- /// The endpoint to send HTTP POST requests to. Must be a valid URL
+ /// Whether to notify about resolved alerts.
///
+ [Input("sendResolved")]
+ public Input? SendResolved { get; set; }
+
[Input("url")]
- public Input? Url { get; set; }
+ private Input? _url;
+
+ ///
+ /// The endpoint to send HTTP POST requests to. Must be a valid URL
+ ///
+ public Input? Url
+ {
+ get => _url;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _url = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
public ObservabilityInstanceAlertConfigReceiverWebhooksConfigGetArgs()
{
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteArgs.cs
index 4cf83e40..cd791f73 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteArgs.cs
@@ -36,30 +36,6 @@ public InputList GroupBies
[Input("groupWait")]
public Input? GroupWait { get; set; }
- [Input("match")]
- private InputMap? _match;
-
- ///
- /// A set of equality matchers an alert has to fulfill to match the node.
- ///
- public InputMap Match
- {
- get => _match ?? (_match = new InputMap());
- set => _match = value;
- }
-
- [Input("matchRegex")]
- private InputMap? _matchRegex;
-
- ///
- /// A set of regex-matchers an alert has to fulfill to match the node.
- ///
- public InputMap MatchRegex
- {
- get => _matchRegex ?? (_matchRegex = new InputMap());
- set => _matchRegex = value;
- }
-
///
/// The name of the receiver to route the alerts to.
///
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteGetArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteGetArgs.cs
index a998b63f..530b624b 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteGetArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteGetArgs.cs
@@ -36,30 +36,6 @@ public InputList GroupBies
[Input("groupWait")]
public Input? GroupWait { get; set; }
- [Input("match")]
- private InputMap? _match;
-
- ///
- /// A set of equality matchers an alert has to fulfill to match the node.
- ///
- public InputMap Match
- {
- get => _match ?? (_match = new InputMap());
- set => _match = value;
- }
-
- [Input("matchRegex")]
- private InputMap? _matchRegex;
-
- ///
- /// A set of regex-matchers an alert has to fulfill to match the node.
- ///
- public InputMap MatchRegex
- {
- get => _matchRegex ?? (_matchRegex = new InputMap());
- set => _matchRegex = value;
- }
-
///
/// The name of the receiver to route the alerts to.
///
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteArgs.cs
index be57f087..a4fa1112 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Stackit.Inputs
public sealed class ObservabilityInstanceAlertConfigRouteRouteArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Whether an alert should continue matching subsequent sibling nodes.
+ ///
+ [Input("continue")]
+ public Input? Continue { get; set; }
+
[Input("groupBies")]
private InputList? _groupBies;
@@ -40,8 +46,9 @@ public InputList GroupBies
private InputMap? _match;
///
- /// A set of equality matchers an alert has to fulfill to match the node.
+ /// 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
///
+ [Obsolete(@"Use `matchers` in the `routes` instead.")]
public InputMap Match
{
get => _match ?? (_match = new InputMap());
@@ -52,14 +59,27 @@ public InputMap Match
private InputMap? _matchRegex;
///
- /// A set of regex-matchers an alert has to fulfill to match the node.
+ /// 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
///
+ [Obsolete(@"Use `matchers` in the `routes` instead.")]
public InputMap MatchRegex
{
get => _matchRegex ?? (_matchRegex = new InputMap());
set => _matchRegex = value;
}
+ [Input("matchers")]
+ private InputList? _matchers;
+
+ ///
+ /// A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics.
+ ///
+ public InputList Matchers
+ {
+ get => _matchers ?? (_matchers = new InputList());
+ set => _matchers = value;
+ }
+
///
/// The name of the receiver to route the alerts to.
///
diff --git a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteGetArgs.cs b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteGetArgs.cs
index f49a9560..513316fd 100644
--- a/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteGetArgs.cs
+++ b/sdk/dotnet/Inputs/ObservabilityInstanceAlertConfigRouteRouteGetArgs.cs
@@ -12,6 +12,12 @@ namespace Pulumi.Stackit.Inputs
public sealed class ObservabilityInstanceAlertConfigRouteRouteGetArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Whether an alert should continue matching subsequent sibling nodes.
+ ///
+ [Input("continue")]
+ public Input? Continue { get; set; }
+
[Input("groupBies")]
private InputList? _groupBies;
@@ -40,8 +46,9 @@ public InputList GroupBies
private InputMap? _match;
///
- /// A set of equality matchers an alert has to fulfill to match the node.
+ /// 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
///
+ [Obsolete(@"Use `matchers` in the `routes` instead.")]
public InputMap Match
{
get => _match ?? (_match = new InputMap