feat: mssql alpha instance (#2)
* fix: remove unused attribute types and functions from backup models * fix: update API client references to use sqlserverflexalpha package * fix: update package references to use sqlserverflexalpha and modify user data source model * fix: add sqlserverflexalpha user data source to provider * fix: add sqlserverflexalpha user resource and update related functionality * chore: add stackit_sqlserverflexalpha_user resource and instance_id variable * fix: refactor sqlserverflexalpha user resource and enhance schema with status and default_database --------- Co-authored-by: Andre Harms <andre.harms@stackit.cloud> Co-authored-by: Marcel S. Henselin <marcel.henselin@stackit.cloud>
This commit is contained in:
parent
df25ceffd4
commit
5381516661
385 changed files with 1431 additions and 14841 deletions
|
|
@ -1,115 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_affinity_group Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Affinity Group schema.
|
||||
Usage with server
|
||||
|
||||
resource "stackit_affinity_group" "affinity-group" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-key-pair"
|
||||
policy = "soft-affinity"
|
||||
}
|
||||
|
||||
resource "stackit_server" "example-server" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
affinity_group = stackit_affinity_group.affinity-group.affinity_group_id
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
}
|
||||
|
||||
|
||||
Policies
|
||||
|
||||
hard-affinity- All servers launched in this group will be hosted on the same compute node.
|
||||
hard-anti-affinity- All servers launched in this group will be
|
||||
hosted on different compute nodes.
|
||||
soft-affinity- All servers launched in this group will be hosted
|
||||
on the same compute node if possible, but if not possible they still will be scheduled instead of failure.
|
||||
soft-anti-affinity- All servers launched in this group will be hosted on different compute nodes if possible,
|
||||
but if not possible they still will be scheduled instead of failure.
|
||||
---
|
||||
|
||||
# stackit_affinity_group (Resource)
|
||||
|
||||
Affinity Group schema.
|
||||
|
||||
|
||||
|
||||
### Usage with server
|
||||
```terraform
|
||||
resource "stackit_affinity_group" "affinity-group" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-key-pair"
|
||||
policy = "soft-affinity"
|
||||
}
|
||||
|
||||
resource "stackit_server" "example-server" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
affinity_group = stackit_affinity_group.affinity-group.affinity_group_id
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Policies
|
||||
|
||||
* `hard-affinity`- All servers launched in this group will be hosted on the same compute node.
|
||||
|
||||
* `hard-anti-affinity`- All servers launched in this group will be
|
||||
hosted on different compute nodes.
|
||||
|
||||
* `soft-affinity`- All servers launched in this group will be hosted
|
||||
on the same compute node if possible, but if not possible they still will be scheduled instead of failure.
|
||||
|
||||
* `soft-anti-affinity`- All servers launched in this group will be hosted on different compute nodes if possible,
|
||||
but if not possible they still will be scheduled instead of failure.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_affinity_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-affinity-group-name"
|
||||
policy = "hard-anti-affinity"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing affinity group
|
||||
import {
|
||||
to = stackit_affinity_group.import-example
|
||||
id = "${var.project_id},${var.region},${var.affinity_group_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the affinity group.
|
||||
- `policy` (String) The policy of the affinity group.
|
||||
- `project_id` (String) STACKIT Project ID to which the affinity group is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `affinity_group_id` (String) The affinity group ID.
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`affinity_group_id`".
|
||||
- `members` (List of String) The servers that are part of the affinity group.
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_authorization_organization_role_assignment Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
organization Role Assignment resource schema.
|
||||
~> This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
---
|
||||
|
||||
# stackit_authorization_organization_role_assignment (Resource)
|
||||
|
||||
organization Role Assignment resource schema.
|
||||
|
||||
~> This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_authorization_organization_role_assignment" "example" {
|
||||
resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
role = "owner"
|
||||
subject = "john.doe@stackit.cloud"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing organization role assignment
|
||||
import {
|
||||
to = stackit_authorization_organization_role_assignment.import-example
|
||||
id = "${var.organization_id},${var.org_role_assignment_role},${var.org_role_assignment_subject}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `resource_id` (String) organization Resource to assign the role to.
|
||||
- `role` (String) Role to be assigned
|
||||
- `subject` (String) Identifier of user, service account or client. Usually email address or name in case of clients
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "[resource_id],[role],[subject]".
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_authorization_project_role_assignment Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
project Role Assignment resource schema.
|
||||
~> This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
---
|
||||
|
||||
# stackit_authorization_project_role_assignment (Resource)
|
||||
|
||||
project Role Assignment resource schema.
|
||||
|
||||
~> This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_authorization_project_role_assignment" "example" {
|
||||
resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
role = "owner"
|
||||
subject = "john.doe@stackit.cloud"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing project role assignment
|
||||
import {
|
||||
to = stackit_authorization_project_role_assignment.import-example
|
||||
id = "${var.project_id},${var.project_role_assignment_role},${var.project_role_assignment_subject}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `resource_id` (String) project Resource to assign the role to.
|
||||
- `role` (String) Role to be assigned
|
||||
- `subject` (String) Identifier of user, service account or client. Usually email address or name in case of clients
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "[resource_id],[role],[subject]".
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_cdn_custom_domain Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
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 https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
|
||||
---
|
||||
|
||||
# stackit_cdn_custom_domain (Resource)
|
||||
|
||||
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](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_cdn_custom_domain" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
distribution_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "https://xxx.xxx"
|
||||
certificate = {
|
||||
certificate = "-----BEGIN CERTIFICATE-----\nY2VydGlmaWNhdGVfZGF0YQ==\n-----END CERTIFICATE---"
|
||||
private_key = "-----BEGIN RSA PRIVATE KEY-----\nY2VydGlmaWNhdGVfZGF0YQ==\n-----END RSA PRIVATE KEY---"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing cdn custom domain
|
||||
import {
|
||||
to = stackit_cdn_custom_domain.import-example
|
||||
id = "${var.project_id},${var.distribution_id},${var.custom_domain_name}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `distribution_id` (String) CDN distribution ID
|
||||
- `name` (String)
|
||||
- `project_id` (String) STACKIT project ID associated with the distribution
|
||||
|
||||
### Optional
|
||||
|
||||
- `certificate` (Attributes) 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. (see [below for nested schema](#nestedatt--certificate))
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `errors` (List of String) List of distribution errors
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`distribution_id`".
|
||||
- `status` (String) Status of the distribution
|
||||
|
||||
<a id="nestedatt--certificate"></a>
|
||||
### Nested Schema for `certificate`
|
||||
|
||||
Optional:
|
||||
|
||||
- `certificate` (String, Sensitive) The PEM-encoded TLS certificate. Required for custom certificates.
|
||||
- `private_key` (String, Sensitive) The PEM-encoded private key for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `version` (Number) A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed.
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_cdn_distribution Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
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 https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
|
||||
---
|
||||
|
||||
# stackit_cdn_distribution (Resource)
|
||||
|
||||
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](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_cdn_distribution" "example_distribution" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
config = {
|
||||
backend = {
|
||||
type = "http"
|
||||
origin_url = "https://mybackend.onstackit.cloud"
|
||||
geofencing = {
|
||||
"https://mybackend.onstackit.cloud" = ["DE"]
|
||||
}
|
||||
}
|
||||
regions = ["EU", "US", "ASIA", "AF", "SA"]
|
||||
blocked_countries = ["DE", "AT", "CH"]
|
||||
|
||||
optimizer = {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing cdn distribution
|
||||
import {
|
||||
to = stackit_cdn_distribution.import-example
|
||||
id = "${var.project_id},${var.distribution_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `config` (Attributes) The distribution configuration (see [below for nested schema](#nestedatt--config))
|
||||
- `project_id` (String) STACKIT project ID associated with the distribution
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) Time when the distribution was created
|
||||
- `distribution_id` (String) CDN distribution ID
|
||||
- `domains` (Attributes List) List of configured domains for the distribution (see [below for nested schema](#nestedatt--domains))
|
||||
- `errors` (List of String) List of distribution errors
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`distribution_id`".
|
||||
- `status` (String) Status of the distribution
|
||||
- `updated_at` (String) Time when the distribution was last updated
|
||||
|
||||
<a id="nestedatt--config"></a>
|
||||
### Nested Schema for `config`
|
||||
|
||||
Required:
|
||||
|
||||
- `backend` (Attributes) The configured backend for the distribution (see [below for nested schema](#nestedatt--config--backend))
|
||||
- `regions` (List of String) The configured regions where content will be hosted
|
||||
|
||||
Optional:
|
||||
|
||||
- `blocked_countries` (List of String) The configured countries where distribution of content is blocked
|
||||
- `optimizer` (Attributes) 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. (see [below for nested schema](#nestedatt--config--optimizer))
|
||||
|
||||
<a id="nestedatt--config--backend"></a>
|
||||
### Nested Schema for `config.backend`
|
||||
|
||||
Required:
|
||||
|
||||
- `origin_url` (String) The configured backend type for the distribution
|
||||
- `type` (String) The configured backend type. Possible values are: `http`.
|
||||
|
||||
Optional:
|
||||
|
||||
- `geofencing` (Map of List of String) A map of URLs to a list of countries where content is allowed.
|
||||
- `origin_request_headers` (Map of String) The configured origin request headers for the backend
|
||||
|
||||
|
||||
<a id="nestedatt--config--optimizer"></a>
|
||||
### Nested Schema for `config.optimizer`
|
||||
|
||||
Optional:
|
||||
|
||||
- `enabled` (Boolean)
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--domains"></a>
|
||||
### Nested Schema for `domains`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `errors` (List of String) List of domain errors
|
||||
- `name` (String) The name of the domain
|
||||
- `status` (String) The status of the domain
|
||||
- `type` (String) The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_dns_record_set Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
DNS Record Set Resource schema.
|
||||
---
|
||||
|
||||
# stackit_dns_record_set (Resource)
|
||||
|
||||
DNS Record Set Resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_dns_record_set" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-record-set"
|
||||
type = "A"
|
||||
comment = "Example comment"
|
||||
records = ["1.2.3.4"]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing dns record set
|
||||
import {
|
||||
to = stackit_dns_record_set.import-example
|
||||
id = "${var.project_id},${var.zone_id},${var.record_set_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Name of the record which should be a valid domain according to rfc1035 Section 2.3.4. E.g. `example.com`
|
||||
- `project_id` (String) STACKIT project ID to which the dns record set is associated.
|
||||
- `records` (List of String) Records.
|
||||
- `type` (String) The record set type. E.g. `A` or `CNAME`
|
||||
- `zone_id` (String) The zone ID to which is dns record set is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `active` (Boolean) Specifies if the record set is active or not. Defaults to `true`
|
||||
- `comment` (String) Comment.
|
||||
- `ttl` (Number) Time to live. E.g. 3600
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `error` (String) Error shows error in case create/update/delete failed.
|
||||
- `fqdn` (String) Fully qualified domain name (FQDN) of the record set.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`zone_id`,`record_set_id`".
|
||||
- `record_set_id` (String) The rr set id.
|
||||
- `state` (String) Record set state.
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_dns_zone Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
DNS Zone resource schema.
|
||||
---
|
||||
|
||||
# stackit_dns_zone (Resource)
|
||||
|
||||
DNS Zone resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_dns_zone" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "Example zone"
|
||||
dns_name = "example-zone.com"
|
||||
contact_email = "aa@bb.ccc"
|
||||
type = "primary"
|
||||
acl = "192.168.0.0/24"
|
||||
description = "Example description"
|
||||
default_ttl = 1230
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing dns zone
|
||||
import {
|
||||
to = stackit_dns_zone.import-example
|
||||
id = "${var.project_id},${var.zone_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `dns_name` (String) The zone name. E.g. `example.com`
|
||||
- `name` (String) The user given name of the zone.
|
||||
- `project_id` (String) STACKIT project ID to which the dns zone is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `acl` (String) The access control list. E.g. `0.0.0.0/0,::/0`
|
||||
- `active` (Boolean)
|
||||
- `contact_email` (String) A contact e-mail for the zone.
|
||||
- `default_ttl` (Number) Default time to live. E.g. 3600.
|
||||
- `description` (String) Description of the zone.
|
||||
- `expire_time` (Number) Expire time. E.g. 1209600.
|
||||
- `is_reverse_zone` (Boolean) Specifies, if the zone is a reverse zone or not. Defaults to `false`
|
||||
- `negative_cache` (Number) Negative caching. E.g. 60
|
||||
- `primaries` (List of String) Primary name server for secondary zone. E.g. ["1.2.3.4"]
|
||||
- `refresh_time` (Number) Refresh time. E.g. 3600
|
||||
- `retry_time` (Number) Retry time. E.g. 600
|
||||
- `type` (String) Zone type. Defaults to `primary`. Possible values are: `primary`, `secondary`.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`zone_id`".
|
||||
- `primary_name_server` (String) Primary name server. FQDN.
|
||||
- `record_count` (Number) Record count how many records are in the zone.
|
||||
- `serial_number` (Number) Serial number. E.g. `2022111400`.
|
||||
- `state` (String) Zone state. E.g. `CREATE_SUCCEEDED`.
|
||||
- `visibility` (String) Visibility of the zone. E.g. `public`.
|
||||
- `zone_id` (String) The zone ID.
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_git Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
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 https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources 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.
|
||||
---
|
||||
|
||||
# stackit_git (Resource)
|
||||
|
||||
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](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) 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
|
||||
|
||||
```terraform
|
||||
resource "stackit_git" "git" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "git-example-instance"
|
||||
}
|
||||
|
||||
resource "stackit_git" "git" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "git-example-instance"
|
||||
acl = [
|
||||
"0.0.0.0/0"
|
||||
]
|
||||
flavor = "git-100"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing git resource
|
||||
import {
|
||||
to = stackit_git.import-example
|
||||
id = "${var.project_id},${var.git_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Unique name linked to the git instance.
|
||||
- `project_id` (String) STACKIT project ID to which the git instance is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `acl` (List of String) Restricted ACL for instance access.
|
||||
- `flavor` (String) 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`
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `consumed_disk` (String) How many bytes of disk space is consumed.
|
||||
- `consumed_object_storage` (String) How many bytes of Object Storage is consumed.
|
||||
- `created` (String) Instance creation timestamp in RFC3339 format.
|
||||
- `id` (String) Terraform's internal resource ID, structured as "`project_id`,`instance_id`".
|
||||
- `instance_id` (String) ID linked to the git instance.
|
||||
- `url` (String) Url linked to the git instance.
|
||||
- `version` (String) Version linked to the git instance.
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_image Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Image resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_image (Resource)
|
||||
|
||||
Image resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_image" "example_image" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-image"
|
||||
disk_format = "qcow2"
|
||||
local_file_path = "./path/to/image.qcow2"
|
||||
min_disk_size = 10
|
||||
min_ram = 5
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing image
|
||||
# Must set a configuration value for the local_file_path attribute as the provider has marked it as required.
|
||||
# Since this attribute is not fetched in general from the API call, after adding it this would replace your image resource after an terraform apply.
|
||||
# In order to prevent this you need to add:
|
||||
#lifecycle {
|
||||
# ignore_changes = [ local_file_path ]
|
||||
# }
|
||||
import {
|
||||
to = stackit_image.import-example
|
||||
id = "${var.project_id},${var.region},${var.image_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `disk_format` (String) The disk format of the image.
|
||||
- `local_file_path` (String) The filepath of the raw image file to be uploaded.
|
||||
- `name` (String) The name of the image.
|
||||
- `project_id` (String) STACKIT project ID to which the image is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `config` (Attributes) Properties to set hardware and scheduling settings for an image. (see [below for nested schema](#nestedatt--config))
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `min_disk_size` (Number) The minimum disk size of the image in GB.
|
||||
- `min_ram` (Number) The minimum RAM of the image in MB.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `checksum` (Attributes) Representation of an image checksum. (see [below for nested schema](#nestedatt--checksum))
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`image_id`".
|
||||
- `image_id` (String) The image ID.
|
||||
- `protected` (Boolean) Whether the image is protected.
|
||||
- `scope` (String) The scope of the image.
|
||||
|
||||
<a id="nestedatt--config"></a>
|
||||
### Nested Schema for `config`
|
||||
|
||||
Optional:
|
||||
|
||||
- `boot_menu` (Boolean) Enables the BIOS bootmenu.
|
||||
- `cdrom_bus` (String) Sets CDROM bus controller type.
|
||||
- `disk_bus` (String) Sets Disk bus controller type.
|
||||
- `nic_model` (String) Sets virtual network interface model.
|
||||
- `operating_system` (String) Enables operating system specific optimizations.
|
||||
- `operating_system_distro` (String) Operating system distribution.
|
||||
- `operating_system_version` (String) Version of the operating system.
|
||||
- `rescue_bus` (String) Sets the device bus when the image is used as a rescue image.
|
||||
- `rescue_device` (String) Sets the device when the image is used as a rescue image.
|
||||
- `secure_boot` (Boolean) Enables Secure Boot.
|
||||
- `uefi` (Boolean) Enables UEFI boot.
|
||||
- `video_model` (String) Sets Graphic device model.
|
||||
- `virtio_scsi` (Boolean) Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block.
|
||||
|
||||
|
||||
<a id="nestedatt--checksum"></a>
|
||||
### Nested Schema for `checksum`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `algorithm` (String) Algorithm for the checksum of the image data.
|
||||
- `digest` (String) Hexdigest of the checksum of the image data.
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_key_pair Resource - stackit"
|
||||
subcategory: ""
|
||||
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.
|
||||
Usage with server
|
||||
|
||||
resource "stackit_key_pair" "keypair" {
|
||||
name = "example-key-pair"
|
||||
public_key = chomp(file("path/to/id_rsa.pub"))
|
||||
}
|
||||
|
||||
resource "stackit_server" "example-server" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = "example-key-pair"
|
||||
}
|
||||
---
|
||||
|
||||
# stackit_key_pair (Resource)
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
### Usage with server
|
||||
```terraform
|
||||
resource "stackit_key_pair" "keypair" {
|
||||
name = "example-key-pair"
|
||||
public_key = chomp(file("path/to/id_rsa.pub"))
|
||||
}
|
||||
|
||||
resource "stackit_server" "example-server" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = "example-key-pair"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
# Create a key pair
|
||||
resource "stackit_key_pair" "keypair" {
|
||||
name = "example-key-pair"
|
||||
public_key = chomp(file("path/to/id_rsa.pub"))
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing key pair
|
||||
import {
|
||||
to = stackit_key_pair.import-example
|
||||
id = var.keypair_name
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the SSH key pair.
|
||||
- `public_key` (String) A string representation of the public SSH key. E.g., `ssh-rsa <key_data>` or `ssh-ed25519 <key-data>`.
|
||||
|
||||
### Optional
|
||||
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `fingerprint` (String) The fingerprint of the public SSH key.
|
||||
- `id` (String) Terraform's internal resource ID. It takes the value of the key pair "`name`".
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_kms_key Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
KMS Key resource schema. Uses the default_region specified in the provider configuration as a fallback in case no region is defined on resource level.
|
||||
~> Keys will not be instantly destroyed by terraform during a terraform destroy. They will just be scheduled for deletion via the API and thrown out of the Terraform state afterwards. This way we can ensure no key setups are deleted by accident and it gives you the option to recover your keys within the grace period.
|
||||
---
|
||||
|
||||
# stackit_kms_key (Resource)
|
||||
|
||||
KMS Key resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level.
|
||||
|
||||
~> Keys will **not** be instantly destroyed by terraform during a `terraform destroy`. They will just be scheduled for deletion via the API and thrown out of the Terraform state afterwards. **This way we can ensure no key setups are deleted by accident and it gives you the option to recover your keys within the grace period.**
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_kms_key" "key" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
keyring_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
display_name = "key-01"
|
||||
protection = "software"
|
||||
algorithm = "aes_256_gcm"
|
||||
purpose = "symmetric_encrypt_decrypt"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `algorithm` (String) The encryption algorithm that the key will use to encrypt data. Possible values are: `aes_256_gcm`, `rsa_2048_oaep_sha256`, `rsa_3072_oaep_sha256`, `rsa_4096_oaep_sha256`, `rsa_4096_oaep_sha512`, `hmac_sha256`, `hmac_sha384`, `hmac_sha512`, `ecdsa_p256_sha256`, `ecdsa_p384_sha384`, `ecdsa_p521_sha512`.
|
||||
- `display_name` (String) The display name to distinguish multiple keys
|
||||
- `keyring_id` (String) The ID of the associated keyring
|
||||
- `project_id` (String) STACKIT project ID to which the key is associated.
|
||||
- `protection` (String) The underlying system that is responsible for protecting the key material. Possible values are: `software`.
|
||||
- `purpose` (String) The purpose for which the key will be used. Possible values are: `symmetric_encrypt_decrypt`, `asymmetric_encrypt_decrypt`, `message_authentication_code`, `asymmetric_sign_verify`.
|
||||
|
||||
### Optional
|
||||
|
||||
- `access_scope` (String) The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.
|
||||
- `description` (String) A user chosen description to distinguish multiple keys
|
||||
- `import_only` (Boolean) States whether versions can be created or only imported.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`keyring_id`,`key_id`".
|
||||
- `key_id` (String) The ID of the key
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_kms_keyring Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
KMS Keyring resource schema. Uses the default_region specified in the provider configuration as a fallback in case no region is defined on resource level.
|
||||
~> Keyrings will not be destroyed by terraform during a terraform destroy. They will just be thrown out of the Terraform state and not deleted on API side. This way we can ensure no keyring setups are deleted by accident and it gives you the option to recover your keys within the grace period.
|
||||
---
|
||||
|
||||
# stackit_kms_keyring (Resource)
|
||||
|
||||
KMS Keyring resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level.
|
||||
|
||||
~> Keyrings will **not** be destroyed by terraform during a `terraform destroy`. They will just be thrown out of the Terraform state and not deleted on API side. **This way we can ensure no keyring setups are deleted by accident and it gives you the option to recover your keys within the grace period.**
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_kms_keyring" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
display_name = "example-name"
|
||||
description = "example description"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `display_name` (String) The display name to distinguish multiple keyrings.
|
||||
- `project_id` (String) STACKIT project ID to which the keyring is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `description` (String) A user chosen description to distinguish multiple keyrings.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`keyring_id`".
|
||||
- `keyring_id` (String) An auto generated unique id which identifies the keyring.
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_kms_wrapping_key Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
KMS wrapping key resource schema.
|
||||
---
|
||||
|
||||
# stackit_kms_wrapping_key (Resource)
|
||||
|
||||
KMS wrapping key resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_kms_wrapping_key" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
keyring_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
display_name = "example-name"
|
||||
protection = "software"
|
||||
algorithm = "rsa_2048_oaep_sha256"
|
||||
purpose = "wrap_symmetric_key"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `algorithm` (String) The wrapping algorithm used to wrap the key to import. Possible values are: `rsa_2048_oaep_sha256`, `rsa_3072_oaep_sha256`, `rsa_4096_oaep_sha256`, `rsa_4096_oaep_sha512`, `rsa_2048_oaep_sha256_aes_256_key_wrap`, `rsa_3072_oaep_sha256_aes_256_key_wrap`, `rsa_4096_oaep_sha256_aes_256_key_wrap`, `rsa_4096_oaep_sha512_aes_256_key_wrap`.
|
||||
- `display_name` (String) The display name to distinguish multiple wrapping keys.
|
||||
- `keyring_id` (String) The ID of the associated keyring
|
||||
- `project_id` (String) STACKIT project ID to which the keyring is associated.
|
||||
- `protection` (String) The underlying system that is responsible for protecting the key material. Possible values are: `software`.
|
||||
- `purpose` (String) The purpose for which the key will be used. Possible values are: `wrap_symmetric_key`, `wrap_asymmetric_key`.
|
||||
|
||||
### Optional
|
||||
|
||||
- `access_scope` (String) The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.
|
||||
- `description` (String) A user chosen description to distinguish multiple wrapping keys.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) The date and time the creation of the wrapping key was triggered.
|
||||
- `expires_at` (String) The date and time the wrapping key will expire.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`keyring_id`,`wrapping_key_id`".
|
||||
- `public_key` (String) The public key of the wrapping key.
|
||||
- `wrapping_key_id` (String) The ID of the wrapping key
|
||||
|
|
@ -1,377 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_loadbalancer Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Setting up supporting infrastructure
|
||||
The example below creates the supporting infrastructure using the STACKIT Terraform provider, including the network, network interface, a public IP address and server resources.
|
||||
---
|
||||
|
||||
# stackit_loadbalancer (Resource)
|
||||
|
||||
## Setting up supporting infrastructure
|
||||
|
||||
|
||||
The example below creates the supporting infrastructure using the STACKIT Terraform provider, including the network, network interface, a public IP address and server resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
# Create a network
|
||||
resource "stackit_network" "example_network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-network"
|
||||
ipv4_nameservers = ["8.8.8.8"]
|
||||
ipv4_prefix = "192.168.0.0/25"
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
routed = true
|
||||
}
|
||||
|
||||
# Create a network interface
|
||||
resource "stackit_network_interface" "nic" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_id = stackit_network.example_network.network_id
|
||||
}
|
||||
|
||||
# Create a public IP for the load balancer
|
||||
resource "stackit_public_ip" "public-ip" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
lifecycle {
|
||||
ignore_changes = [network_interface_id]
|
||||
}
|
||||
}
|
||||
|
||||
# Create a key pair for accessing the server instance
|
||||
resource "stackit_key_pair" "keypair" {
|
||||
name = "example-key-pair"
|
||||
public_key = chomp(file("path/to/id_rsa.pub"))
|
||||
}
|
||||
|
||||
# Create a server instance
|
||||
resource "stackit_server" "boot-from-image" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "59838a89-51b1-4892-b57f-b3caf598ee2f" // Ubuntu 24.04
|
||||
}
|
||||
availability_zone = "xxxx-x"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
network_interfaces = [
|
||||
stackit_network_interface.nic.network_interface_id
|
||||
]
|
||||
}
|
||||
|
||||
# Create a load balancer
|
||||
resource "stackit_loadbalancer" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-load-balancer"
|
||||
plan_id = "p10"
|
||||
target_pools = [
|
||||
{
|
||||
name = "example-target-pool"
|
||||
target_port = 80
|
||||
targets = [
|
||||
{
|
||||
display_name = stackit_server.boot-from-image.name
|
||||
ip = stackit_network_interface.nic.ipv4
|
||||
}
|
||||
]
|
||||
active_health_check = {
|
||||
healthy_threshold = 10
|
||||
interval = "3s"
|
||||
interval_jitter = "3s"
|
||||
timeout = "3s"
|
||||
unhealthy_threshold = 10
|
||||
}
|
||||
}
|
||||
]
|
||||
listeners = [
|
||||
{
|
||||
display_name = "example-listener"
|
||||
port = 80
|
||||
protocol = "PROTOCOL_TCP"
|
||||
target_pool = "example-target-pool"
|
||||
tcp = {
|
||||
idle_timeout = "90s"
|
||||
}
|
||||
}
|
||||
]
|
||||
networks = [
|
||||
{
|
||||
network_id = stackit_network.example_network.network_id
|
||||
role = "ROLE_LISTENERS_AND_TARGETS"
|
||||
}
|
||||
]
|
||||
external_address = stackit_public_ip.public-ip.ip
|
||||
options = {
|
||||
private_network_only = false
|
||||
}
|
||||
}
|
||||
|
||||
# This example demonstrates an advanced setup where the Load Balancer is in one
|
||||
# network and the target server is in another. This requires manual
|
||||
# security group configuration using the `disable_security_group_assignment`
|
||||
# and `security_group_id` attributes.
|
||||
|
||||
# We create two separate networks: one for the load balancer and one for the target.
|
||||
resource "stackit_network" "lb_network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "lb-network-example"
|
||||
ipv4_prefix = "192.168.10.0/25"
|
||||
ipv4_nameservers = ["8.8.8.8"]
|
||||
}
|
||||
|
||||
resource "stackit_network" "target_network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "target-network-example"
|
||||
ipv4_prefix = "192.168.10.0/25"
|
||||
ipv4_nameservers = ["8.8.8.8"]
|
||||
}
|
||||
|
||||
resource "stackit_public_ip" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
resource "stackit_loadbalancer" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-advanced-lb"
|
||||
external_address = stackit_public_ip.example.ip
|
||||
|
||||
# Key setting for manual mode: disables automatic security group handling.
|
||||
disable_security_group_assignment = true
|
||||
|
||||
networks = [{
|
||||
network_id = stackit_network.lb_network.network_id
|
||||
role = "ROLE_LISTENERS_AND_TARGETS"
|
||||
}]
|
||||
|
||||
listeners = [{
|
||||
port = 80
|
||||
protocol = "PROTOCOL_TCP"
|
||||
target_pool = "cross-network-pool"
|
||||
}]
|
||||
|
||||
target_pools = [{
|
||||
name = "cross-network-pool"
|
||||
target_port = 80
|
||||
targets = [{
|
||||
display_name = stackit_server.example.name
|
||||
ip = stackit_network_interface.nic.ipv4
|
||||
}]
|
||||
}]
|
||||
}
|
||||
|
||||
# Create a new security group to be assigned to the target server.
|
||||
resource "stackit_security_group" "target_sg" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "target-sg-for-lb-access"
|
||||
description = "Allows ingress traffic from the example load balancer."
|
||||
}
|
||||
|
||||
# Create a rule to allow traffic FROM the load balancer.
|
||||
# This rule uses the computed `security_group_id` of the load balancer.
|
||||
resource "stackit_security_group_rule" "allow_lb_ingress" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
security_group_id = stackit_security_group.target_sg.security_group_id
|
||||
direction = "ingress"
|
||||
protocol = {
|
||||
name = "tcp"
|
||||
}
|
||||
|
||||
# This is the crucial link: it allows traffic from the LB's security group.
|
||||
remote_security_group_id = stackit_loadbalancer.example.security_group_id
|
||||
|
||||
port_range = {
|
||||
min = 80
|
||||
max = 80
|
||||
}
|
||||
}
|
||||
|
||||
resource "stackit_server" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-remote-target"
|
||||
machine_type = "g2i.2"
|
||||
availability_zone = "eu01-1"
|
||||
|
||||
boot_volume = {
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
size = 10
|
||||
}
|
||||
|
||||
network_interfaces = [
|
||||
stackit_network_interface.nic.network_interface_id
|
||||
]
|
||||
}
|
||||
|
||||
resource "stackit_network_interface" "nic" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_id = stackit_network.target_network.network_id
|
||||
security_group_ids = [stackit_security_group.target_sg.security_group_id]
|
||||
}
|
||||
# End of advanced example
|
||||
|
||||
# Only use the import statement, if you want to import an existing loadbalancer
|
||||
import {
|
||||
to = stackit_loadbalancer.import-example
|
||||
id = "${var.project_id},${var.region},${var.loadbalancer_name}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `listeners` (Attributes List) List of all listeners which will accept traffic. Limited to 20. (see [below for nested schema](#nestedatt--listeners))
|
||||
- `name` (String) Load balancer name.
|
||||
- `networks` (Attributes List) List of networks that listeners and targets reside in. (see [below for nested schema](#nestedatt--networks))
|
||||
- `project_id` (String) STACKIT project ID to which the Load Balancer is associated.
|
||||
- `target_pools` (Attributes List) List of all target pools which will be used in the Load Balancer. Limited to 20. (see [below for nested schema](#nestedatt--target_pools))
|
||||
|
||||
### Optional
|
||||
|
||||
- `disable_security_group_assignment` (Boolean) 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.
|
||||
- `external_address` (String) External Load Balancer IP address where this Load Balancer is exposed.
|
||||
- `options` (Attributes) Defines any optional functionality you want to have enabled on your load balancer. (see [below for nested schema](#nestedatt--options))
|
||||
- `plan_id` (String) The service plan ID. If not defined, the default service plan is `p10`. Possible values are: `p10`, `p50`, `p250`, `p750`.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`","region","`name`".
|
||||
- `private_address` (String) Transient private Load Balancer IP address. It can change any time.
|
||||
- `security_group_id` (String) The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`.
|
||||
|
||||
<a id="nestedatt--listeners"></a>
|
||||
### Nested Schema for `listeners`
|
||||
|
||||
Required:
|
||||
|
||||
- `port` (Number) Port number where we listen for traffic.
|
||||
- `protocol` (String) Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`.
|
||||
- `target_pool` (String) Reference target pool by target pool name.
|
||||
|
||||
Optional:
|
||||
|
||||
- `display_name` (String)
|
||||
- `server_name_indicators` (Attributes List) A list of domain names to match in order to pass TLS traffic to the target pool in the current listener (see [below for nested schema](#nestedatt--listeners--server_name_indicators))
|
||||
- `tcp` (Attributes) Options that are specific to the TCP protocol. (see [below for nested schema](#nestedatt--listeners--tcp))
|
||||
- `udp` (Attributes) Options that are specific to the UDP protocol. (see [below for nested schema](#nestedatt--listeners--udp))
|
||||
|
||||
<a id="nestedatt--listeners--server_name_indicators"></a>
|
||||
### Nested Schema for `listeners.server_name_indicators`
|
||||
|
||||
Optional:
|
||||
|
||||
- `name` (String) A domain name to match in order to pass TLS traffic to the target pool in the current listener
|
||||
|
||||
|
||||
<a id="nestedatt--listeners--tcp"></a>
|
||||
### Nested Schema for `listeners.tcp`
|
||||
|
||||
Optional:
|
||||
|
||||
- `idle_timeout` (String) Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s
|
||||
|
||||
|
||||
<a id="nestedatt--listeners--udp"></a>
|
||||
### Nested Schema for `listeners.udp`
|
||||
|
||||
Optional:
|
||||
|
||||
- `idle_timeout` (String) Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--networks"></a>
|
||||
### Nested Schema for `networks`
|
||||
|
||||
Required:
|
||||
|
||||
- `network_id` (String) Openstack network ID.
|
||||
- `role` (String) The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`.
|
||||
|
||||
|
||||
<a id="nestedatt--target_pools"></a>
|
||||
### Nested Schema for `target_pools`
|
||||
|
||||
Required:
|
||||
|
||||
- `name` (String) Target pool name.
|
||||
- `target_port` (Number) Identical port number where each target listens for traffic.
|
||||
- `targets` (Attributes List) List of all targets which will be used in the pool. Limited to 1000. (see [below for nested schema](#nestedatt--target_pools--targets))
|
||||
|
||||
Optional:
|
||||
|
||||
- `active_health_check` (Attributes) (see [below for nested schema](#nestedatt--target_pools--active_health_check))
|
||||
- `session_persistence` (Attributes) Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. (see [below for nested schema](#nestedatt--target_pools--session_persistence))
|
||||
|
||||
<a id="nestedatt--target_pools--targets"></a>
|
||||
### Nested Schema for `target_pools.targets`
|
||||
|
||||
Required:
|
||||
|
||||
- `display_name` (String) Target display name
|
||||
- `ip` (String) Target IP
|
||||
|
||||
|
||||
<a id="nestedatt--target_pools--active_health_check"></a>
|
||||
### Nested Schema for `target_pools.active_health_check`
|
||||
|
||||
Optional:
|
||||
|
||||
- `healthy_threshold` (Number) Healthy threshold of the health checking.
|
||||
- `interval` (String) Interval duration of health checking in seconds.
|
||||
- `interval_jitter` (String) Interval duration threshold of the health checking in seconds.
|
||||
- `timeout` (String) Active health checking timeout duration in seconds.
|
||||
- `unhealthy_threshold` (Number) Unhealthy threshold of the health checking.
|
||||
|
||||
|
||||
<a id="nestedatt--target_pools--session_persistence"></a>
|
||||
### Nested Schema for `target_pools.session_persistence`
|
||||
|
||||
Optional:
|
||||
|
||||
- `use_source_ip_address` (Boolean) If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev.
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--options"></a>
|
||||
### Nested Schema for `options`
|
||||
|
||||
Optional:
|
||||
|
||||
- `acl` (Set of String) Load Balancer is accessible only from an IP address in this range.
|
||||
- `observability` (Attributes) We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. (see [below for nested schema](#nestedatt--options--observability))
|
||||
- `private_network_only` (Boolean) If true, Load Balancer is accessible only via a private network IP address.
|
||||
|
||||
<a id="nestedatt--options--observability"></a>
|
||||
### Nested Schema for `options.observability`
|
||||
|
||||
Optional:
|
||||
|
||||
- `logs` (Attributes) Observability logs configuration. Not changeable after creation. (see [below for nested schema](#nestedatt--options--observability--logs))
|
||||
- `metrics` (Attributes) Observability metrics configuration. Not changeable after creation. (see [below for nested schema](#nestedatt--options--observability--metrics))
|
||||
|
||||
<a id="nestedatt--options--observability--logs"></a>
|
||||
### Nested Schema for `options.observability.logs`
|
||||
|
||||
Optional:
|
||||
|
||||
- `credentials_ref` (String) Credentials reference for logs. Not changeable after creation.
|
||||
- `push_url` (String) Credentials reference for logs. Not changeable after creation.
|
||||
|
||||
|
||||
<a id="nestedatt--options--observability--metrics"></a>
|
||||
### Nested Schema for `options.observability.metrics`
|
||||
|
||||
Optional:
|
||||
|
||||
- `credentials_ref` (String) Credentials reference for metrics. Not changeable after creation.
|
||||
- `push_url` (String) Credentials reference for metrics. Not changeable after creation.
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_loadbalancer_observability_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
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
|
||||
---
|
||||
|
||||
# stackit_loadbalancer_observability_credential (Resource)
|
||||
|
||||
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
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_loadbalancer_observability_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
display_name = "example-credentials"
|
||||
username = "example-user"
|
||||
password = "example-password"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing loadbalancer observability credential
|
||||
import {
|
||||
to = stackit_loadbalancer_observability_credential.import-example
|
||||
id = "${var.project_id},${var.region},${var.credentials_ref}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `display_name` (String) Observability credential name.
|
||||
- `password` (String) The username for the observability service (e.g. Argus) where the logs/metrics will be pushed into.
|
||||
- `project_id` (String) STACKIT project ID to which the load balancer observability credential is associated.
|
||||
- `username` (String) The password for the observability service (e.g. Argus) where the logs/metrics will be pushed into.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `credentials_ref` (String) The credentials reference is used by the Load Balancer to define which credentials it will use.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`","region","`credentials_ref`".
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_logme_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
LogMe credential resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_logme_credential (Resource)
|
||||
|
||||
LogMe credential resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_logme_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing logme credential
|
||||
import {
|
||||
to = stackit_logme_credential.import-example
|
||||
id = "${var.project_id},${var.logme_instance_id},${var.logme_credentials_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the LogMe instance.
|
||||
- `project_id` (String) STACKIT Project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `uri` (String, Sensitive)
|
||||
- `username` (String)
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_logme_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
LogMe instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_logme_instance (Resource)
|
||||
|
||||
LogMe instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_logme_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
version = "2"
|
||||
plan_name = "stackit-logme2-1.2.50-replica"
|
||||
parameters = {
|
||||
sgw_acl = "193.148.160.0/19,45.129.40.0/21,45.135.244.0/22"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing logme instance
|
||||
import {
|
||||
to = stackit_logme_instance.import-example
|
||||
id = "${var.project_id},${var.logme_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Instance name.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `version` (String) The service version.
|
||||
|
||||
### Optional
|
||||
|
||||
- `parameters` (Attributes) Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. (see [below for nested schema](#nestedatt--parameters))
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `instance_id` (String) ID of the LogMe instance.
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Optional:
|
||||
|
||||
- `enable_monitoring` (Boolean) Enable monitoring.
|
||||
- `fluentd_tcp` (Number)
|
||||
- `fluentd_tls` (Number)
|
||||
- `fluentd_tls_ciphers` (String)
|
||||
- `fluentd_tls_max_version` (String)
|
||||
- `fluentd_tls_min_version` (String)
|
||||
- `fluentd_tls_version` (String)
|
||||
- `fluentd_udp` (Number)
|
||||
- `graphite` (String) If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port).
|
||||
- `ism_deletion_after` (String) Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`.
|
||||
- `ism_jitter` (Number)
|
||||
- `ism_job_interval` (Number) Jitter of the execution time.
|
||||
- `java_heapspace` (Number) The amount of memory (in MB) allocated as heap by the JVM for OpenSearch.
|
||||
- `java_maxmetaspace` (Number) The amount of memory (in MB) used by the JVM to store metadata for OpenSearch.
|
||||
- `max_disk_threshold` (Number) The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped.
|
||||
- `metrics_frequency` (Number) The frequency in seconds at which metrics are emitted (in seconds).
|
||||
- `metrics_prefix` (String) The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key.
|
||||
- `monitoring_instance_id` (String) The ID of the STACKIT monitoring instance.
|
||||
- `opensearch_tls_ciphers` (List of String)
|
||||
- `opensearch_tls_protocols` (List of String)
|
||||
- `sgw_acl` (String) Comma separated list of IP networks in CIDR notation which are allowed to access this instance.
|
||||
- `syslog` (List of String) List of syslog servers to send logs to.
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mariadb_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MariaDB credential resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mariadb_credential (Resource)
|
||||
|
||||
MariaDB credential resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_mariadb_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing mariadb credential
|
||||
import {
|
||||
to = stackit_mariadb_credential.import-example
|
||||
id = "${var.project_id},${var.mariadb_instance_id},${var.mariadb_credential_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the MariaDB instance.
|
||||
- `project_id` (String) STACKIT Project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `name` (String)
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `uri` (String, Sensitive)
|
||||
- `username` (String)
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mariadb_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MariaDB instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mariadb_instance (Resource)
|
||||
|
||||
MariaDB instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_mariadb_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
version = "10.11"
|
||||
plan_name = "stackit-mariadb-1.2.10-replica"
|
||||
parameters = {
|
||||
sgw_acl = "193.148.160.0/19,45.129.40.0/21,45.135.244.0/22"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing mariadb instance
|
||||
import {
|
||||
to = stackit_mariadb_instance.import-example
|
||||
id = "${var.project_id},${var.mariadb_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Instance name.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `version` (String) The service version.
|
||||
|
||||
### Optional
|
||||
|
||||
- `parameters` (Attributes) Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. (see [below for nested schema](#nestedatt--parameters))
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `instance_id` (String) ID of the MariaDB instance.
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Optional:
|
||||
|
||||
- `enable_monitoring` (Boolean) Enable monitoring.
|
||||
- `graphite` (String) Graphite server URL (host and port). If set, monitoring with Graphite will be enabled.
|
||||
- `max_disk_threshold` (Number) The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped.
|
||||
- `metrics_frequency` (Number) The frequency in seconds at which metrics are emitted.
|
||||
- `metrics_prefix` (String) The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key
|
||||
- `monitoring_instance_id` (String) The ID of the STACKIT monitoring instance. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported.
|
||||
- `sgw_acl` (String) Comma separated list of IP networks in CIDR notation which are allowed to access this instance.
|
||||
- `syslog` (List of String) List of syslog servers to send logs to.
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_modelserving_token Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
AI Model Serving Auth Token Resource schema.
|
||||
Example Usage
|
||||
Automatically rotate AI model serving token
|
||||
|
||||
resource "time_rotating" "rotate" {
|
||||
rotation_days = 80
|
||||
}
|
||||
|
||||
resource "stackit_modelserving_token" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "Example token"
|
||||
|
||||
rotate_when_changed = {
|
||||
rotation = time_rotating.rotate.id
|
||||
}
|
||||
|
||||
}
|
||||
---
|
||||
|
||||
# stackit_modelserving_token (Resource)
|
||||
|
||||
AI Model Serving Auth Token Resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
### Automatically rotate AI model serving token
|
||||
```terraform
|
||||
resource "time_rotating" "rotate" {
|
||||
rotation_days = 80
|
||||
}
|
||||
|
||||
resource "stackit_modelserving_token" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "Example token"
|
||||
|
||||
rotate_when_changed = {
|
||||
rotation = time_rotating.rotate.id
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Name of the AI model serving auth token.
|
||||
- `project_id` (String) STACKIT project ID to which the AI model serving auth token is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `description` (String) The description of the AI model serving auth token.
|
||||
- `region` (String) Region to which the AI model serving auth token is associated. If not defined, the provider region is used
|
||||
- `rotate_when_changed` (Map of String) 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.
|
||||
- `ttl_duration` (String) The TTL duration of the AI model serving auth token. E.g. 5h30m40s,5h,5h30m,30m,30s
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`token_id`".
|
||||
- `state` (String) State of the AI model serving auth token.
|
||||
- `token` (String, Sensitive) Content of the AI model serving auth token.
|
||||
- `token_id` (String) The AI model serving auth token ID.
|
||||
- `valid_until` (String) The time until the AI model serving auth token is valid.
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mongodbflex_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MongoDB Flex instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mongodbflex_instance (Resource)
|
||||
|
||||
MongoDB Flex instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_mongodbflex_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
||||
flavor = {
|
||||
cpu = 1
|
||||
ram = 4
|
||||
}
|
||||
replicas = 1
|
||||
storage = {
|
||||
class = "class"
|
||||
size = 10
|
||||
}
|
||||
version = "7.0"
|
||||
options = {
|
||||
type = "Single"
|
||||
snapshot_retention_days = 3
|
||||
point_in_time_window_hours = 30
|
||||
}
|
||||
backup_schedule = "0 0 * * *"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing mongodbflex instance
|
||||
import {
|
||||
to = stackit_mongodbflex_instance.import-example
|
||||
id = "${var.project_id},${var.region},${var.instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `acl` (List of String) The Access Control List (ACL) for the MongoDB Flex instance.
|
||||
- `backup_schedule` (String) The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *").
|
||||
- `flavor` (Attributes) (see [below for nested schema](#nestedatt--flavor))
|
||||
- `name` (String) Instance name.
|
||||
- `options` (Attributes) (see [below for nested schema](#nestedatt--options))
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `replicas` (Number)
|
||||
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
|
||||
- `version` (String)
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`".
|
||||
- `instance_id` (String) ID of the MongoDB Flex instance.
|
||||
|
||||
<a id="nestedatt--flavor"></a>
|
||||
### Nested Schema for `flavor`
|
||||
|
||||
Required:
|
||||
|
||||
- `cpu` (Number)
|
||||
- `ram` (Number)
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `description` (String)
|
||||
- `id` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--options"></a>
|
||||
### Nested Schema for `options`
|
||||
|
||||
Required:
|
||||
|
||||
- `point_in_time_window_hours` (Number) The number of hours back in time the point-in-time recovery feature will be able to recover.
|
||||
- `type` (String) Type of the MongoDB Flex instance. Possible values are: `Replica`, `Sharded`, `Single`.
|
||||
|
||||
Optional:
|
||||
|
||||
- `daily_snapshot_retention_days` (Number) The number of days that daily backups will be retained.
|
||||
- `monthly_snapshot_retention_months` (Number) The number of months that monthly backups will be retained.
|
||||
- `snapshot_retention_days` (Number) The number of days that continuous backups (controlled via the `backup_schedule`) will be retained.
|
||||
- `weekly_snapshot_retention_weeks` (Number) The number of weeks that weekly backups will be retained.
|
||||
|
||||
|
||||
<a id="nestedatt--storage"></a>
|
||||
### Nested Schema for `storage`
|
||||
|
||||
Required:
|
||||
|
||||
- `class` (String)
|
||||
- `size` (Number)
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mongodbflex_user Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MongoDB Flex user resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mongodbflex_user (Resource)
|
||||
|
||||
MongoDB Flex user resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_mongodbflex_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
username = "username"
|
||||
roles = ["role"]
|
||||
database = "database"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing mongodbflex user
|
||||
import {
|
||||
to = stackit_mongodbflex_user.import-example
|
||||
id = "${var.project_id},${var.region},${var.instance_id},${user_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `database` (String)
|
||||
- `instance_id` (String) ID of the MongoDB Flex instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `roles` (Set of String) Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`]
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `username` (String)
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`user_id`".
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `uri` (String, Sensitive)
|
||||
- `user_id` (String) User ID.
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network resource schema. Must have a region specified in the provider configuration.
|
||||
~> Behavior of not configured ipv4_nameservers will change from January 2026. When ipv4_nameservers is not set, it will be set to the network area's default_nameservers.
|
||||
To prevent any nameserver configuration, the ipv4_nameservers attribute should be explicitly set to an empty list [].
|
||||
In cases where ipv4_nameservers are defined within the resource, the existing behavior will remain unchanged.
|
||||
---
|
||||
|
||||
# stackit_network (Resource)
|
||||
|
||||
Network resource schema. Must have a `region` specified in the provider configuration.
|
||||
~> Behavior of not configured `ipv4_nameservers` will change from January 2026. When `ipv4_nameservers` is not set, it will be set to the network area's `default_nameservers`.
|
||||
To prevent any nameserver configuration, the `ipv4_nameservers` attribute should be explicitly set to an empty list `[]`.
|
||||
In cases where `ipv4_nameservers` are defined within the resource, the existing behavior will remain unchanged.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_network" "example_with_name" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-with-name"
|
||||
}
|
||||
|
||||
resource "stackit_network" "example_routed_network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-routed-network"
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
routed = true
|
||||
}
|
||||
|
||||
resource "stackit_network" "example_non_routed_network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-non-routed-network"
|
||||
ipv4_nameservers = ["1.2.3.4", "5.6.7.8"]
|
||||
ipv4_gateway = "10.1.2.3"
|
||||
ipv4_prefix = "10.1.2.0/24"
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
routed = false
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing network
|
||||
# Note: There will be a conflict which needs to be resolved manually.
|
||||
# These attributes cannot be configured together: [ipv4_prefix,ipv4_prefix_length,ipv4_gateway]
|
||||
import {
|
||||
to = stackit_network.import-example
|
||||
id = "${var.project_id},${var.region},${var.network_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the network.
|
||||
- `project_id` (String) STACKIT project ID to which the network is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `ipv4_gateway` (String) The IPv4 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.
|
||||
- `ipv4_nameservers` (List of String) The IPv4 nameservers of the network.
|
||||
- `ipv4_prefix` (String) The IPv4 prefix of the network (CIDR).
|
||||
- `ipv4_prefix_length` (Number) The IPv4 prefix length of the network.
|
||||
- `ipv6_gateway` (String) The IPv6 gateway of a network. If not specified, the first IP of the network will be assigned as the gateway.
|
||||
- `ipv6_nameservers` (List of String) The IPv6 nameservers of the network.
|
||||
- `ipv6_prefix` (String) The IPv6 prefix of the network (CIDR).
|
||||
- `ipv6_prefix_length` (Number) The IPv6 prefix length of the network.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `nameservers` (List of String, Deprecated) The nameservers of the network. This field is deprecated and will be removed in January 2026, use `ipv4_nameservers` to configure the nameservers for IPv4.
|
||||
- `no_ipv4_gateway` (Boolean) If set to `true`, the network doesn't have a gateway.
|
||||
- `no_ipv6_gateway` (Boolean) If set to `true`, the network doesn't have a gateway.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `routed` (Boolean) If set to `true`, the network is routed and therefore accessible from other networks.
|
||||
- `routing_table_id` (String) The ID of the routing table associated with the network.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`network_id`".
|
||||
- `ipv4_prefixes` (List of String) The IPv4 prefixes of the network.
|
||||
- `ipv6_prefixes` (List of String) The IPv6 prefixes of the network.
|
||||
- `network_id` (String) The network ID.
|
||||
- `prefixes` (List of String, Deprecated) The prefixes of the network. This field is deprecated and will be removed in January 2026, use `ipv4_prefixes` to read the prefixes of the IPv4 networks.
|
||||
- `public_ip` (String) The public IP of the network.
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_area Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network area resource schema.
|
||||
---
|
||||
|
||||
# stackit_network_area (Resource)
|
||||
|
||||
Network area resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_network_area" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-network-area"
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing network area
|
||||
import {
|
||||
to = stackit_network_area.import-example
|
||||
id = "${var.organization_id},${var.network_area_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the network area.
|
||||
- `organization_id` (String) STACKIT organization ID to which the network area is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `default_nameservers` (List of String, Deprecated) List of DNS Servers/Nameservers for configuration of network area for region `eu01`.
|
||||
- `default_prefix_length` (Number, Deprecated) The default prefix length for networks in the network area for region `eu01`.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `max_prefix_length` (Number, Deprecated) The maximal prefix length for networks in the network area for region `eu01`.
|
||||
- `min_prefix_length` (Number, Deprecated) The minimal prefix length for networks in the network area for region `eu01`.
|
||||
- `network_ranges` (Attributes List, Deprecated) List of Network ranges for configuration of network area for region `eu01`. (see [below for nested schema](#nestedatt--network_ranges))
|
||||
- `transfer_network` (String, Deprecated) Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`organization_id`,`network_area_id`".
|
||||
- `network_area_id` (String) The network area ID.
|
||||
- `project_count` (Number) The amount of projects currently referencing this area.
|
||||
|
||||
<a id="nestedatt--network_ranges"></a>
|
||||
### Nested Schema for `network_ranges`
|
||||
|
||||
Required:
|
||||
|
||||
- `prefix` (String, Deprecated) Classless Inter-Domain Routing (CIDR).
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `network_range_id` (String, Deprecated)
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_area_region Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network area region resource schema.
|
||||
---
|
||||
|
||||
# stackit_network_area_region (Resource)
|
||||
|
||||
Network area region resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_network_area_region" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
ipv4 = {
|
||||
transfer_network = "10.1.2.0/24"
|
||||
network_ranges = [
|
||||
{
|
||||
prefix = "10.0.0.0/16"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing network area region
|
||||
import {
|
||||
to = stackit_network_area_region.import-example
|
||||
id = "${var.organization_id},${var.network_area_id},${var.region}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `ipv4` (Attributes) The regional IPv4 config of a network area. (see [below for nested schema](#nestedatt--ipv4))
|
||||
- `network_area_id` (String) The network area ID.
|
||||
- `organization_id` (String) STACKIT organization ID to which the network area is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`organization_id`,`network_area_id`,`region`".
|
||||
|
||||
<a id="nestedatt--ipv4"></a>
|
||||
### Nested Schema for `ipv4`
|
||||
|
||||
Required:
|
||||
|
||||
- `network_ranges` (Attributes List) List of Network ranges. (see [below for nested schema](#nestedatt--ipv4--network_ranges))
|
||||
- `transfer_network` (String) IPv4 Classless Inter-Domain Routing (CIDR).
|
||||
|
||||
Optional:
|
||||
|
||||
- `default_nameservers` (List of String) List of DNS Servers/Nameservers.
|
||||
- `default_prefix_length` (Number) The default prefix length for networks in the network area.
|
||||
- `max_prefix_length` (Number) The maximal prefix length for networks in the network area.
|
||||
- `min_prefix_length` (Number) The minimal prefix length for networks in the network area.
|
||||
|
||||
<a id="nestedatt--ipv4--network_ranges"></a>
|
||||
### Nested Schema for `ipv4.network_ranges`
|
||||
|
||||
Required:
|
||||
|
||||
- `prefix` (String) Classless Inter-Domain Routing (CIDR).
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `network_range_id` (String)
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_area_route Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network area route resource schema. Must have a `region` specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_network_area_route (Resource)
|
||||
|
||||
Network area route resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_network_area_route" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
destination = {
|
||||
type = "cidrv4"
|
||||
value = "192.168.0.0/24"
|
||||
}
|
||||
next_hop = {
|
||||
type = "ipv4"
|
||||
value = "192.168.0.0"
|
||||
}
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing network area route
|
||||
import {
|
||||
to = stackit_network_area_route.import-example
|
||||
id = "${var.organization_id},${var.network_area_id},${var.region},${var.network_area_route_id}"
|
||||
}
|
||||
```
|
||||
|
||||
## Migration of IaaS resources from versions <= v0.74.0
|
||||
|
||||
The release of the STACKIT IaaS API v2 provides a lot of new features, but also includes some breaking changes
|
||||
(when coming from v1 of the STACKIT IaaS API) which must be somehow represented on Terraform side. The
|
||||
`stackit_network_area_route` resource did undergo some changes. See the example below how to migrate your resources.
|
||||
|
||||
### Breaking change: Network area route resource (stackit_network_area_route)
|
||||
|
||||
**Configuration for <= v0.74.0**
|
||||
|
||||
```terraform
|
||||
resource "stackit_network_area_route" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
prefix = "192.168.0.0/24" # prefix field got removed for provider versions > v0.74.0, use the new destination field instead
|
||||
next_hop = "192.168.0.0" # schema of the next_hop field changed, see below
|
||||
}
|
||||
```
|
||||
|
||||
**Configuration for > v0.74.0**
|
||||
|
||||
```terraform
|
||||
resource "stackit_network_area_route" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
destination = { # the new 'destination' field replaces the old 'prefix' field
|
||||
type = "cidrv4"
|
||||
value = "192.168.0.0/24" # migration: put the value of the old 'prefix' field here
|
||||
}
|
||||
next_hop = {
|
||||
type = "ipv4"
|
||||
value = "192.168.0.0" # migration: put the value of the old 'next_hop' field here
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `destination` (Attributes) Destination of the route. (see [below for nested schema](#nestedatt--destination))
|
||||
- `network_area_id` (String) The network area ID to which the network area route is associated.
|
||||
- `next_hop` (Attributes) Next hop destination. (see [below for nested schema](#nestedatt--next_hop))
|
||||
- `organization_id` (String) STACKIT organization ID to which the network area is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`organization_id`,`network_area_id`,`region`,`network_area_route_id`".
|
||||
- `network_area_route_id` (String) The network area route ID.
|
||||
|
||||
<a id="nestedatt--destination"></a>
|
||||
### Nested Schema for `destination`
|
||||
|
||||
Required:
|
||||
|
||||
- `type` (String) CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently.
|
||||
- `value` (String) An CIDR string.
|
||||
|
||||
|
||||
<a id="nestedatt--next_hop"></a>
|
||||
### Nested Schema for `next_hop`
|
||||
|
||||
Required:
|
||||
|
||||
- `type` (String) Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently.
|
||||
|
||||
Optional:
|
||||
|
||||
- `value` (String) Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently.
|
||||
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_interface Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network interface resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_network_interface (Resource)
|
||||
|
||||
Network interface resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_network_interface" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
allowed_addresses = ["192.168.0.0/24"]
|
||||
security_group_ids = ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing network interface
|
||||
import {
|
||||
to = stackit_network_interface.import-example
|
||||
id = "${var.project_id},${var.region},${var.network_id},${var.network_interface_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `network_id` (String) The network ID to which the network interface is associated.
|
||||
- `project_id` (String) STACKIT project ID to which the network is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `allowed_addresses` (List of String) The list of CIDR (Classless Inter-Domain Routing) notations.
|
||||
- `ipv4` (String) The IPv4 address.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a network interface.
|
||||
- `name` (String) The name of the network interface.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `security` (Boolean) The Network Interface Security. If set to false, then no security groups will apply to this network interface.
|
||||
- `security_group_ids` (List of String) The list of security group UUIDs. If security is set to false, setting this field will lead to an error.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `device` (String) The device UUID of the network interface.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`network_id`,`network_interface_id`".
|
||||
- `mac` (String) The MAC address of network interface.
|
||||
- `network_interface_id` (String) The network interface ID.
|
||||
- `type` (String) Type of network interface. Some of the possible values are: Possible values are: `server`, `metadata`, `gateway`.
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_objectstorage_bucket Resource - stackit"
|
||||
subcategory: ""
|
||||
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.
|
||||
---
|
||||
|
||||
# stackit_objectstorage_bucket (Resource)
|
||||
|
||||
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.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_objectstorage_bucket" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-bucket"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing objectstorage bucket
|
||||
import {
|
||||
to = stackit_objectstorage_bucket.import-example
|
||||
id = "${var.project_id},${var.region},${var.bucket_name}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The bucket name. It must be DNS conform.
|
||||
- `project_id` (String) STACKIT Project ID to which the bucket is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`name`".
|
||||
- `url_path_style` (String)
|
||||
- `url_virtual_hosted_style` (String)
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_objectstorage_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
ObjectStorage credential resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_objectstorage_credential (Resource)
|
||||
|
||||
ObjectStorage credential resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_objectstorage_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
expiration_timestamp = "2027-01-02T03:04:05Z"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing objectstorage credential
|
||||
import {
|
||||
to = stackit_objectstorage_credential.import-example
|
||||
id = "${var.project_id},${var.region},${var.bucket_credentials_group_id},${var.bucket_credential_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credentials_group_id` (String) The credential group ID.
|
||||
- `project_id` (String) STACKIT Project ID to which the credential group is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `expiration_timestamp` (String) Expiration timestamp, in RFC339 format without fractional seconds. Example: "2025-01-01T00:00:00Z". If not set, the credential never expires.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `access_key` (String)
|
||||
- `credential_id` (String) The credential ID.
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`credentials_group_id`,`credential_id`".
|
||||
- `name` (String)
|
||||
- `secret_access_key` (String, Sensitive)
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_objectstorage_credentials_group Resource - stackit"
|
||||
subcategory: ""
|
||||
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.
|
||||
---
|
||||
|
||||
# stackit_objectstorage_credentials_group (Resource)
|
||||
|
||||
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.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_objectstorage_credentials_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-credentials-group"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing objectstorage credential group
|
||||
import {
|
||||
to = stackit_objectstorage_credentials_group.import-example
|
||||
id = "${var.project_id},${var.region},${var.bucket_credentials_group_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The credentials group's display name.
|
||||
- `project_id` (String) Project ID to which the credentials group is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `credentials_group_id` (String) The credentials group ID
|
||||
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`region`,`credentials_group_id`".
|
||||
- `urn` (String) Credentials group uniform resource name (URN)
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_alertgroup Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability alert group resource schema. Used to create alerts based on metrics (Thanos). Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_alertgroup (Resource)
|
||||
|
||||
Observability alert group resource schema. Used to create alerts based on metrics (Thanos). Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_observability_alertgroup" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-alert-group"
|
||||
interval = "60s"
|
||||
rules = [
|
||||
{
|
||||
alert = "example-alert-name"
|
||||
expression = "kube_node_status_condition{condition=\"Ready\", status=\"false\"} > 0"
|
||||
for = "60s"
|
||||
labels = {
|
||||
severity = "critical"
|
||||
},
|
||||
annotations = {
|
||||
summary : "example summary"
|
||||
description : "example description"
|
||||
}
|
||||
},
|
||||
{
|
||||
alert = "example-alert-name-2"
|
||||
expression = "kube_node_status_condition{condition=\"Ready\", status=\"false\"} > 0"
|
||||
for = "1m"
|
||||
labels = {
|
||||
severity = "critical"
|
||||
},
|
||||
annotations = {
|
||||
summary : "example summary"
|
||||
description : "example description"
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing observability alertgroup
|
||||
import {
|
||||
to = stackit_observability_alertgroup.import-example
|
||||
id = "${var.project_id},${var.observability_instance_id},${var.observability_alertgroup_name}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) Observability instance ID to which the alert group is associated.
|
||||
- `name` (String) The name of the alert group. Is the identifier and must be unique in the group.
|
||||
- `project_id` (String) STACKIT project ID to which the alert group is associated.
|
||||
- `rules` (Attributes List) Rules for the alert group (see [below for nested schema](#nestedatt--rules))
|
||||
|
||||
### Optional
|
||||
|
||||
- `interval` (String) 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'.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`name`".
|
||||
|
||||
<a id="nestedatt--rules"></a>
|
||||
### Nested Schema for `rules`
|
||||
|
||||
Required:
|
||||
|
||||
- `alert` (String) The name of the alert rule. Is the identifier and must be unique in the group.
|
||||
- `expression` (String) The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts.
|
||||
|
||||
Optional:
|
||||
|
||||
- `annotations` (Map of String) A map of key:value. Annotations to add or overwrite for each alert
|
||||
- `for` (String) Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s
|
||||
- `labels` (Map of String) A map of key:value. Labels to add or overwrite for each alert
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability credential resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_credential (Resource)
|
||||
|
||||
Observability credential resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_observability_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
description = "Description of the credential."
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) The Observability Instance ID the credential belongs to.
|
||||
- `project_id` (String) STACKIT project ID to which the credential is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `description` (String) A description of the credential.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`username`".
|
||||
- `password` (String, Sensitive) Credential password
|
||||
- `username` (String) Credential username
|
||||
|
|
@ -1,187 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_instance (Resource)
|
||||
|
||||
Observability instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_observability_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
plan_name = "Observability-Starter-EU01"
|
||||
acl = ["1.1.1.1/32", "2.2.2.2/32"]
|
||||
logs_retention_days = 30
|
||||
traces_retention_days = 30
|
||||
metrics_retention_days = 90
|
||||
metrics_retention_days_5m_downsampling = 90
|
||||
metrics_retention_days_1h_downsampling = 90
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing observability instance
|
||||
import {
|
||||
to = stackit_observability_instance.import-example
|
||||
id = "${var.project_id},${var.observability_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the Observability instance.
|
||||
- `plan_name` (String) Specifies the Observability plan. E.g. `Observability-Monitoring-Medium-EU01`.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `acl` (Set of String) The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation.
|
||||
- `alert_config` (Attributes) Alert configuration for the instance. (see [below for nested schema](#nestedatt--alert_config))
|
||||
- `logs_retention_days` (Number) Specifies for how many days the logs are kept. Default is set to `7`.
|
||||
- `metrics_retention_days` (Number) Specifies for how many days the raw metrics are kept. Default is set to `90`.
|
||||
- `metrics_retention_days_1h_downsampling` (Number) 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`.
|
||||
- `metrics_retention_days_5m_downsampling` (Number) 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`.
|
||||
- `parameters` (Map of String) Additional parameters.
|
||||
- `traces_retention_days` (Number) Specifies for how many days the traces are kept. Default is set to `7`.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `alerting_url` (String) Specifies Alerting URL.
|
||||
- `dashboard_url` (String) Specifies Observability instance dashboard URL.
|
||||
- `grafana_initial_admin_password` (String, Sensitive) Specifies an initial Grafana admin password.
|
||||
- `grafana_initial_admin_user` (String) Specifies an initial Grafana admin username.
|
||||
- `grafana_public_read_access` (Boolean) If true, anyone can access Grafana dashboards without logging in.
|
||||
- `grafana_url` (String) Specifies Grafana URL.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `instance_id` (String) The Observability instance ID.
|
||||
- `is_updatable` (Boolean) Specifies if the instance can be updated.
|
||||
- `jaeger_traces_url` (String)
|
||||
- `jaeger_ui_url` (String)
|
||||
- `logs_push_url` (String) Specifies URL for pushing logs.
|
||||
- `logs_url` (String) Specifies Logs URL.
|
||||
- `metrics_push_url` (String) Specifies URL for pushing metrics.
|
||||
- `metrics_url` (String) Specifies metrics URL.
|
||||
- `otlp_traces_url` (String)
|
||||
- `plan_id` (String) The Observability plan ID.
|
||||
- `targets_url` (String) Specifies Targets URL.
|
||||
- `zipkin_spans_url` (String)
|
||||
|
||||
<a id="nestedatt--alert_config"></a>
|
||||
### Nested Schema for `alert_config`
|
||||
|
||||
Required:
|
||||
|
||||
- `receivers` (Attributes List) List of alert receivers. (see [below for nested schema](#nestedatt--alert_config--receivers))
|
||||
- `route` (Attributes) Route configuration for the alerts. (see [below for nested schema](#nestedatt--alert_config--route))
|
||||
|
||||
Optional:
|
||||
|
||||
- `global` (Attributes) 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. (see [below for nested schema](#nestedatt--alert_config--global))
|
||||
|
||||
<a id="nestedatt--alert_config--receivers"></a>
|
||||
### Nested Schema for `alert_config.receivers`
|
||||
|
||||
Required:
|
||||
|
||||
- `name` (String) Name of the receiver.
|
||||
|
||||
Optional:
|
||||
|
||||
- `email_configs` (Attributes List) List of email configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--email_configs))
|
||||
- `opsgenie_configs` (Attributes List) List of OpsGenie configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--opsgenie_configs))
|
||||
- `webhooks_configs` (Attributes List) List of Webhooks configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--webhooks_configs))
|
||||
|
||||
<a id="nestedatt--alert_config--receivers--email_configs"></a>
|
||||
### Nested Schema for `alert_config.receivers.email_configs`
|
||||
|
||||
Optional:
|
||||
|
||||
- `auth_identity` (String) SMTP authentication information. Must be a valid email address
|
||||
- `auth_password` (String, Sensitive) SMTP authentication password.
|
||||
- `auth_username` (String) SMTP authentication username.
|
||||
- `from` (String) The sender email address. Must be a valid email address
|
||||
- `send_resolved` (Boolean) Whether to notify about resolved alerts.
|
||||
- `smart_host` (String) The SMTP host through which emails are sent.
|
||||
- `to` (String) The email address to send notifications to. Must be a valid email address
|
||||
|
||||
|
||||
<a id="nestedatt--alert_config--receivers--opsgenie_configs"></a>
|
||||
### Nested Schema for `alert_config.receivers.opsgenie_configs`
|
||||
|
||||
Optional:
|
||||
|
||||
- `api_key` (String) The API key for OpsGenie.
|
||||
- `api_url` (String) The host to send OpsGenie API requests to. Must be a valid URL
|
||||
- `priority` (String) Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`.
|
||||
- `send_resolved` (Boolean) Whether to notify about resolved alerts.
|
||||
- `tags` (String) Comma separated list of tags attached to the notifications.
|
||||
|
||||
|
||||
<a id="nestedatt--alert_config--receivers--webhooks_configs"></a>
|
||||
### Nested Schema for `alert_config.receivers.webhooks_configs`
|
||||
|
||||
Optional:
|
||||
|
||||
- `google_chat` (Boolean) Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat.
|
||||
- `ms_teams` (Boolean) Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.
|
||||
- `send_resolved` (Boolean) Whether to notify about resolved alerts.
|
||||
- `url` (String, Sensitive) The endpoint to send HTTP POST requests to. Must be a valid URL
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--alert_config--route"></a>
|
||||
### Nested Schema for `alert_config.route`
|
||||
|
||||
Required:
|
||||
|
||||
- `receiver` (String) The name of the receiver to route the alerts to.
|
||||
|
||||
Optional:
|
||||
|
||||
- `group_by` (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
|
||||
- `group_interval` (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
|
||||
- `group_wait` (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)
|
||||
- `repeat_interval` (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).
|
||||
- `routes` (Attributes List) List of child routes. (see [below for nested schema](#nestedatt--alert_config--route--routes))
|
||||
|
||||
<a id="nestedatt--alert_config--route--routes"></a>
|
||||
### Nested Schema for `alert_config.route.routes`
|
||||
|
||||
Required:
|
||||
|
||||
- `receiver` (String) The name of the receiver to route the alerts to.
|
||||
|
||||
Optional:
|
||||
|
||||
- `continue` (Boolean) Whether an alert should continue matching subsequent sibling nodes.
|
||||
- `group_by` (List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.
|
||||
- `group_interval` (String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)
|
||||
- `group_wait` (String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)
|
||||
- `match` (Map of String, Deprecated) 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
|
||||
- `match_regex` (Map of String, Deprecated) 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
|
||||
- `matchers` (List of String) 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.
|
||||
- `repeat_interval` (String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--alert_config--global"></a>
|
||||
### Nested Schema for `alert_config.global`
|
||||
|
||||
Optional:
|
||||
|
||||
- `opsgenie_api_key` (String, Sensitive) The API key for OpsGenie.
|
||||
- `opsgenie_api_url` (String) The host to send OpsGenie API requests to. Must be a valid URL
|
||||
- `resolve_timeout` (String) The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt.
|
||||
- `smtp_auth_identity` (String) SMTP authentication information. Must be a valid email address
|
||||
- `smtp_auth_password` (String, Sensitive) SMTP Auth using LOGIN and PLAIN.
|
||||
- `smtp_auth_username` (String) SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server.
|
||||
- `smtp_from` (String) The default SMTP From header field. Must be a valid email address
|
||||
- `smtp_smart_host` (String) The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_logalertgroup Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability log alert group resource schema. Used to create alerts based on logs (Loki). Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_logalertgroup (Resource)
|
||||
|
||||
Observability log alert group resource schema. Used to create alerts based on logs (Loki). Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_observability_logalertgroup" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-log-alert-group"
|
||||
interval = "60m"
|
||||
rules = [
|
||||
{
|
||||
alert = "example-log-alert-name"
|
||||
expression = "sum(rate({namespace=\"example\", pod=\"logger\"} |= \"Simulated error message\" [1m])) > 0"
|
||||
for = "60s"
|
||||
labels = {
|
||||
severity = "critical"
|
||||
},
|
||||
annotations = {
|
||||
summary : "example summary"
|
||||
description : "example description"
|
||||
}
|
||||
},
|
||||
{
|
||||
alert = "example-log-alert-name-2"
|
||||
expression = "sum(rate({namespace=\"example\", pod=\"logger\"} |= \"Another error message\" [1m])) > 0"
|
||||
for = "60s"
|
||||
labels = {
|
||||
severity = "critical"
|
||||
},
|
||||
annotations = {
|
||||
summary : "example summary"
|
||||
description : "example description"
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing observability logalertgroup
|
||||
import {
|
||||
to = stackit_observability_logalertgroup.import-example
|
||||
id = "${var.project_id},${var.observability_instance_id},${var.observability_logalertgroup_name}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) Observability instance ID to which the log alert group is associated.
|
||||
- `name` (String) The name of the log alert group. Is the identifier and must be unique in the group.
|
||||
- `project_id` (String) STACKIT project ID to which the log alert group is associated.
|
||||
- `rules` (Attributes List) Rules for the log alert group (see [below for nested schema](#nestedatt--rules))
|
||||
|
||||
### Optional
|
||||
|
||||
- `interval` (String) 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'.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`name`".
|
||||
|
||||
<a id="nestedatt--rules"></a>
|
||||
### Nested Schema for `rules`
|
||||
|
||||
Required:
|
||||
|
||||
- `alert` (String) The name of the alert rule. Is the identifier and must be unique in the group.
|
||||
- `expression` (String) The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts.
|
||||
|
||||
Optional:
|
||||
|
||||
- `annotations` (Map of String) A map of key:value. Annotations to add or overwrite for each alert
|
||||
- `for` (String) Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s
|
||||
- `labels` (Map of String) A map of key:value. Labels to add or overwrite for each alert
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_scrapeconfig Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability scrape config resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_scrapeconfig (Resource)
|
||||
|
||||
Observability scrape config resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_observability_scrapeconfig" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-job"
|
||||
metrics_path = "/my-metrics"
|
||||
saml2 = {
|
||||
enable_url_parameters = true
|
||||
}
|
||||
targets = [
|
||||
{
|
||||
urls = ["url1", "urls2"]
|
||||
labels = {
|
||||
"url1" = "dev"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing observability scrapeconfig
|
||||
import {
|
||||
to = stackit_observability_scrapeconfig.import-example
|
||||
id = "${var.project_id},${var.observability_instance_id},${var.observability_scrapeconfig_name}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) Observability instance ID to which the scraping job is associated.
|
||||
- `metrics_path` (String) Specifies the job scraping url path. E.g. `/metrics`.
|
||||
- `name` (String) Specifies the name of the scraping job.
|
||||
- `project_id` (String) STACKIT project ID to which the scraping job is associated.
|
||||
- `targets` (Attributes List) The targets list (specified by the static config). (see [below for nested schema](#nestedatt--targets))
|
||||
|
||||
### Optional
|
||||
|
||||
- `basic_auth` (Attributes) A basic authentication block. (see [below for nested schema](#nestedatt--basic_auth))
|
||||
- `saml2` (Attributes) A SAML2 configuration block. (see [below for nested schema](#nestedatt--saml2))
|
||||
- `sample_limit` (Number) Specifies the scrape sample limit. Upper limit depends on the service plan. Defaults to `5000`.
|
||||
- `scheme` (String) Specifies the http scheme. Defaults to `https`.
|
||||
- `scrape_interval` (String) Specifies the scrape interval as duration string. Defaults to `5m`.
|
||||
- `scrape_timeout` (String) Specifies the scrape timeout as duration string. Defaults to `2m`.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`name`".
|
||||
|
||||
<a id="nestedatt--targets"></a>
|
||||
### Nested Schema for `targets`
|
||||
|
||||
Required:
|
||||
|
||||
- `urls` (List of String) Specifies target URLs.
|
||||
|
||||
Optional:
|
||||
|
||||
- `labels` (Map of String) Specifies labels.
|
||||
|
||||
|
||||
<a id="nestedatt--basic_auth"></a>
|
||||
### Nested Schema for `basic_auth`
|
||||
|
||||
Required:
|
||||
|
||||
- `password` (String, Sensitive) Specifies basic auth password.
|
||||
- `username` (String) Specifies basic auth username.
|
||||
|
||||
|
||||
<a id="nestedatt--saml2"></a>
|
||||
### Nested Schema for `saml2`
|
||||
|
||||
Optional:
|
||||
|
||||
- `enable_url_parameters` (Boolean) Specifies if URL parameters are enabled. Defaults to `true`
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_opensearch_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
OpenSearch credential resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_opensearch_credential (Resource)
|
||||
|
||||
OpenSearch credential resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_opensearch_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing opensearch credential
|
||||
import {
|
||||
to = stackit_opensearch_credential.import-example
|
||||
id = "${var.project_id},${var.instance_id},${var.credential_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the OpenSearch instance.
|
||||
- `project_id` (String) STACKIT Project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `scheme` (String)
|
||||
- `uri` (String, Sensitive)
|
||||
- `username` (String)
|
||||
|
|
@ -1,76 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_opensearch_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
OpenSearch instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_opensearch_instance (Resource)
|
||||
|
||||
OpenSearch instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_opensearch_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
version = "2"
|
||||
plan_name = "stackit-opensearch-1.2.10-replica"
|
||||
parameters = {
|
||||
sgw_acl = "193.148.160.0/19,45.129.40.0/21,45.135.244.0/22"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing opensearch instance
|
||||
import {
|
||||
to = stackit_opensearch_instance.import-example
|
||||
id = "${var.project_id},${var.instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Instance name.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `version` (String) The service version.
|
||||
|
||||
### Optional
|
||||
|
||||
- `parameters` (Attributes) Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. (see [below for nested schema](#nestedatt--parameters))
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `instance_id` (String) ID of the OpenSearch instance.
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Optional:
|
||||
|
||||
- `enable_monitoring` (Boolean) Enable monitoring.
|
||||
- `graphite` (String) If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port).
|
||||
- `java_garbage_collector` (String) The garbage collector to use for OpenSearch.
|
||||
- `java_heapspace` (Number) The amount of memory (in MB) allocated as heap by the JVM for OpenSearch.
|
||||
- `java_maxmetaspace` (Number) The amount of memory (in MB) used by the JVM to store metadata for OpenSearch.
|
||||
- `max_disk_threshold` (Number) The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped.
|
||||
- `metrics_frequency` (Number) The frequency in seconds at which metrics are emitted (in seconds).
|
||||
- `metrics_prefix` (String) The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key.
|
||||
- `monitoring_instance_id` (String) The ID of the STACKIT monitoring instance.
|
||||
- `plugins` (List of String) List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled.
|
||||
- `sgw_acl` (String) Comma separated list of IP networks in CIDR notation which are allowed to access this instance.
|
||||
- `syslog` (List of String) List of syslog servers to send logs to.
|
||||
- `tls_ciphers` (List of String) List of TLS ciphers to use.
|
||||
- `tls_protocols` (List of String) The TLS protocol to use.
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_postgresflex_database Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Postgres Flex database resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_postgresflex_database (Resource)
|
||||
|
||||
Postgres Flex database resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_postgresflex_database" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "mydb"
|
||||
owner = "myusername"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing postgresflex database
|
||||
import {
|
||||
to = stackit_postgresflex_database.import-example
|
||||
id = "${var.project_id},${var.region},${var.postgres_instance_id},${var.postgres_database_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the Postgres Flex instance.
|
||||
- `name` (String) Database name.
|
||||
- `owner` (String) Username of the database owner.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `database_id` (String) Database ID.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`,`database_id`".
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_postgresflex_user Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Postgres Flex user resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_postgresflex_user (Resource)
|
||||
|
||||
Postgres Flex user resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_postgresflex_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
username = "username"
|
||||
roles = ["role"]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing postgresflex user
|
||||
import {
|
||||
to = stackit_postgresflex_user.import-example
|
||||
id = "${var.project_id},${var.region},${var.postgres_instance_id},${var.user_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the PostgresFlex instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `roles` (Set of String) Database access levels for the user. Possible values are: `login`, `createdb`.
|
||||
- `username` (String)
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`,`user_id`".
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `uri` (String, Sensitive)
|
||||
- `user_id` (String) User ID.
|
||||
|
|
@ -1,19 +1,21 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_postgresflex_instance Resource - stackit"
|
||||
page_title: "stackitprivatepreview_postgresflexalpha_instance Resource - stackitprivatepreview"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Postgres Flex instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_postgresflex_instance (Resource)
|
||||
# stackitprivatepreview_postgresflexalpha_instance (Resource)
|
||||
|
||||
Postgres Flex instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_postgresflex_instance" "example" {
|
||||
# Copyright (c) STACKIT
|
||||
|
||||
resource "stackitprivatepreview_postgresflexalpha_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
||||
|
|
@ -32,7 +34,7 @@ resource "stackit_postgresflex_instance" "example" {
|
|||
|
||||
# Only use the import statement, if you want to import an existing postgresflex instance
|
||||
import {
|
||||
to = stackit_postgresflex_instance.import-example
|
||||
to = stackitprivatepreview_postgresflexalpha_instance.import-example
|
||||
id = "${var.project_id},${var.region},${var.postgres_instance_id}"
|
||||
}
|
||||
```
|
||||
|
|
@ -44,8 +46,10 @@ import {
|
|||
|
||||
- `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance.
|
||||
- `backup_schedule` (String)
|
||||
- `encryption` (Attributes) The encryption block. (see [below for nested schema](#nestedatt--encryption))
|
||||
- `flavor` (Attributes) (see [below for nested schema](#nestedatt--flavor))
|
||||
- `name` (String) Instance name.
|
||||
- `network` (Attributes) (see [below for nested schema](#nestedatt--network))
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `replicas` (Number)
|
||||
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
|
||||
|
|
@ -60,6 +64,17 @@ import {
|
|||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`".
|
||||
- `instance_id` (String) ID of the PostgresFlex instance.
|
||||
|
||||
<a id="nestedatt--encryption"></a>
|
||||
### Nested Schema for `encryption`
|
||||
|
||||
Required:
|
||||
|
||||
- `key_id` (String) Key ID of the encryption key.
|
||||
- `key_ring_id` (String)
|
||||
- `key_version` (String)
|
||||
- `service_account` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--flavor"></a>
|
||||
### Nested Schema for `flavor`
|
||||
|
||||
|
|
@ -74,6 +89,14 @@ Read-Only:
|
|||
- `id` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--network"></a>
|
||||
### Nested Schema for `network`
|
||||
|
||||
Required:
|
||||
|
||||
- `access_scope` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--storage"></a>
|
||||
### Nested Schema for `storage`
|
||||
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_public_ip Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Public IP resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_public_ip (Resource)
|
||||
|
||||
Public IP resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_public_ip" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_interface_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing public ip
|
||||
import {
|
||||
to = stackit_public_ip.import-example
|
||||
id = "${var.project_id},${var.region},${var.public_ip_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the public IP is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `network_interface_id` (String) Associates the public IP with a network interface or a virtual IP (ID). If you are using this resource with a Kubernetes Load Balancer or any other resource which associates a network interface implicitly, use the lifecycle `ignore_changes` property in this field to prevent unintentional removal of the network interface due to drift in the Terraform state
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`public_ip_id`".
|
||||
- `ip` (String) The IP address.
|
||||
- `public_ip_id` (String) The public IP ID.
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_public_ip_associate Resource - stackit"
|
||||
subcategory: ""
|
||||
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_public_ip resource to create a new public IP. Must have a region specified in the provider configuration.
|
||||
!> The stackit_public_ip_associate resource should not be used together with the stackit_public_ip resource for the same public IP or for the same network interface.
|
||||
Using 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.
|
||||
---
|
||||
|
||||
# stackit_public_ip_associate (Resource)
|
||||
|
||||
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_public_ip` resource to create a new public IP. Must have a `region` specified in the provider configuration.
|
||||
|
||||
!> The `stackit_public_ip_associate` resource should not be used together with the `stackit_public_ip` resource for the same public IP or for the same network interface.
|
||||
Using 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.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_public_ip_associate" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
public_ip_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_interface_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing public ip associate
|
||||
import {
|
||||
to = stackit_public_ip_associate.import-example
|
||||
id = "${var.project_id},${var.region},${var.public_ip_id},${var.network_interface_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `network_interface_id` (String) The ID of the network interface (or virtual IP) to which the public IP should be attached to.
|
||||
- `project_id` (String) STACKIT project ID to which the public IP is associated.
|
||||
- `public_ip_id` (String) The public IP ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`public_ip_id`,`network_interface_id`".
|
||||
- `ip` (String) The IP address.
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_rabbitmq_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
RabbitMQ credential resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_rabbitmq_credential (Resource)
|
||||
|
||||
RabbitMQ credential resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_rabbitmq_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing rabbitmq credential
|
||||
import {
|
||||
to = stackit_rabbitmq_credential.import-example
|
||||
id = "${var.project_id},${var.rabbitmq_instance_id},${var.rabbitmq_credential_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the RabbitMQ instance.
|
||||
- `project_id` (String) STACKIT Project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `http_api_uri` (String)
|
||||
- `http_api_uris` (List of String)
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `management` (String)
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `uri` (String, Sensitive)
|
||||
- `uris` (List of String)
|
||||
- `username` (String)
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_rabbitmq_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
RabbitMQ instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_rabbitmq_instance (Resource)
|
||||
|
||||
RabbitMQ instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_rabbitmq_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
version = "3.13"
|
||||
plan_name = "stackit-rabbitmq-1.2.10-replica"
|
||||
parameters = {
|
||||
sgw_acl = "193.148.160.0/19,45.129.40.0/21,45.135.244.0/22"
|
||||
consumer_timeout = 18000000
|
||||
enable_monitoring = false
|
||||
plugins = ["rabbitmq_consistent_hash_exchange", "rabbitmq_federation", "rabbitmq_tracing"]
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing rabbitmq instance
|
||||
import {
|
||||
to = stackit_rabbitmq_instance.import-example
|
||||
id = "${var.project_id},${var.rabbitmq_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Instance name.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `version` (String) The service version.
|
||||
|
||||
### Optional
|
||||
|
||||
- `parameters` (Attributes) Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. (see [below for nested schema](#nestedatt--parameters))
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `instance_id` (String) ID of the RabbitMQ instance.
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Optional:
|
||||
|
||||
- `consumer_timeout` (Number) The timeout in milliseconds for the consumer.
|
||||
- `enable_monitoring` (Boolean) Enable monitoring.
|
||||
- `graphite` (String) Graphite server URL (host and port). If set, monitoring with Graphite will be enabled.
|
||||
- `max_disk_threshold` (Number) The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped.
|
||||
- `metrics_frequency` (Number) The frequency in seconds at which metrics are emitted.
|
||||
- `metrics_prefix` (String) The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key
|
||||
- `monitoring_instance_id` (String) The ID of the STACKIT monitoring instance.
|
||||
- `plugins` (List of String) List of plugins to install. Must be a supported plugin name.
|
||||
- `roles` (List of String) List of roles to assign to the instance.
|
||||
- `sgw_acl` (String) Comma separated list of IP networks in CIDR notation which are allowed to access this instance.
|
||||
- `syslog` (List of String) List of syslog servers to send logs to.
|
||||
- `tls_ciphers` (List of String) List of TLS ciphers to use.
|
||||
- `tls_protocols` (String) TLS protocol to use.
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_redis_credential Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Redis credential resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_redis_credential (Resource)
|
||||
|
||||
Redis credential resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_redis_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing redis credential
|
||||
import {
|
||||
to = stackit_redis_credential.import-example
|
||||
id = "${var.project_id},${var.redis_instance_id},${var.redis_credential_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the Redis instance.
|
||||
- `project_id` (String) STACKIT Project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `load_balanced_host` (String)
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `uri` (String, Sensitive) Connection URI.
|
||||
- `username` (String)
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_redis_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Redis instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_redis_instance (Resource)
|
||||
|
||||
Redis instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_redis_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
version = "7"
|
||||
plan_name = "stackit-redis-1.2.10-replica"
|
||||
parameters = {
|
||||
sgw_acl = "193.148.160.0/19,45.129.40.0/21,45.135.244.0/22"
|
||||
enable_monitoring = false
|
||||
down_after_milliseconds = 30000
|
||||
syslog = ["logs4.your-syslog-endpoint.com:54321"]
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing redis instance
|
||||
import {
|
||||
to = stackit_redis_instance.import-example
|
||||
id = "${var.project_id},${var.redis_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Instance name.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `version` (String) The service version.
|
||||
|
||||
### Optional
|
||||
|
||||
- `parameters` (Attributes) Configuration parameters. Please note that removing a previously configured field from your Terraform configuration won't replace its value in the API. To update a previously configured field, explicitly set a new value for it. (see [below for nested schema](#nestedatt--parameters))
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `instance_id` (String) ID of the Redis instance.
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Optional:
|
||||
|
||||
- `down_after_milliseconds` (Number) The number of milliseconds after which the instance is considered down.
|
||||
- `enable_monitoring` (Boolean) Enable monitoring.
|
||||
- `failover_timeout` (Number) The failover timeout in milliseconds.
|
||||
- `graphite` (String) Graphite server URL (host and port). If set, monitoring with Graphite will be enabled.
|
||||
- `lazyfree_lazy_eviction` (String) The lazy eviction enablement (yes or no).
|
||||
- `lazyfree_lazy_expire` (String) The lazy expire enablement (yes or no).
|
||||
- `lua_time_limit` (Number) The Lua time limit.
|
||||
- `max_disk_threshold` (Number) The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped.
|
||||
- `maxclients` (Number) The maximum number of clients.
|
||||
- `maxmemory_policy` (String) The policy to handle the maximum memory (volatile-lru, noeviction, etc).
|
||||
- `maxmemory_samples` (Number) The maximum memory samples.
|
||||
- `metrics_frequency` (Number) The frequency in seconds at which metrics are emitted.
|
||||
- `metrics_prefix` (String) The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key
|
||||
- `min_replicas_max_lag` (Number) The minimum replicas maximum lag.
|
||||
- `monitoring_instance_id` (String) The ID of the STACKIT monitoring instance.
|
||||
- `notify_keyspace_events` (String) The notify keyspace events.
|
||||
- `sgw_acl` (String) Comma separated list of IP networks in CIDR notation which are allowed to access this instance.
|
||||
- `snapshot` (String) The snapshot configuration.
|
||||
- `syslog` (List of String) List of syslog servers to send logs to.
|
||||
- `tls_ciphers` (List of String) List of TLS ciphers to use.
|
||||
- `tls_ciphersuites` (String) TLS cipher suites to use.
|
||||
- `tls_protocols` (String) TLS protocol to use.
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_resourcemanager_folder Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Resource Manager folder resource schema.
|
||||
---
|
||||
|
||||
# stackit_resourcemanager_folder (Resource)
|
||||
|
||||
Resource Manager folder resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_resourcemanager_folder" "example" {
|
||||
name = "example-folder"
|
||||
owner_email = "foo.bar@stackit.cloud"
|
||||
parent_container_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Note:
|
||||
# You can add projects under folders.
|
||||
# However, when deleting a project, be aware:
|
||||
# - Projects may remain "invisible" for up to 7 days after deletion
|
||||
# - During this time, deleting the parent folder may fail because the project is still technically linked
|
||||
resource "stackit_resourcemanager_project" "example_project" {
|
||||
name = "example-project"
|
||||
owner_email = "foo.bar@stackit.cloud"
|
||||
parent_container_id = stackit_resourcemanager_folder.example.container_id
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing resourcemanager folder
|
||||
# Note: There will be a conflict which needs to be resolved manually.
|
||||
# Must set a configuration value for the owner_email attribute as the provider has marked it as required.
|
||||
import {
|
||||
to = stackit_resourcemanager_folder.import-example
|
||||
id = var.container_id
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the folder.
|
||||
- `owner_email` (String) Email address of the owner of the folder. This value is only considered during creation. Changing it afterwards will have no effect.
|
||||
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported.
|
||||
|
||||
### Optional
|
||||
|
||||
- `labels` (Map of String) 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}.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `container_id` (String) Folder container ID. Globally unique, user-friendly identifier.
|
||||
- `creation_time` (String) Date-time at which the folder was created.
|
||||
- `folder_id` (String) Folder UUID identifier. Globally unique folder identifier
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`container_id`".
|
||||
- `update_time` (String) Date-time at which the folder was last modified.
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_resourcemanager_project Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Resource Manager project resource schema.
|
||||
-> In case you're getting started with an empty STACKIT organization and want to use this resource to create projects in it, check out this guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/stackit_org_service_account for how to create a service account which you can use for authentication in the STACKIT Terraform provider.
|
||||
---
|
||||
|
||||
# stackit_resourcemanager_project (Resource)
|
||||
|
||||
Resource Manager project resource schema.
|
||||
|
||||
-> In case you're getting started with an empty STACKIT organization and want to use this resource to create projects in it, check out [this guide](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/stackit_org_service_account) for how to create a service account which you can use for authentication in the STACKIT Terraform provider.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_resourcemanager_project" "example" {
|
||||
parent_container_id = "example-parent-container-abc123"
|
||||
name = "example-container"
|
||||
labels = {
|
||||
"Label 1" = "foo"
|
||||
// "networkArea" = stackit_network_area.foo.network_area_id
|
||||
}
|
||||
owner_email = "john.doe@stackit.cloud"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing resourcemanager project
|
||||
# Note: There will be a conflict which needs to be resolved manually.
|
||||
# Must set a configuration value for the owner_email attribute as the provider has marked it as required.
|
||||
import {
|
||||
to = stackit_resourcemanager_project.import-example
|
||||
id = var.container_id
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Project name.
|
||||
- `owner_email` (String) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
|
||||
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported
|
||||
|
||||
### Optional
|
||||
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.
|
||||
To create a project within a STACKIT Network Area, setting the label `networkArea=<networkAreaID>` is required. This can not be changed after project creation.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `container_id` (String) Project container ID. Globally unique, user-friendly identifier.
|
||||
- `creation_time` (String) Date-time at which the project was created.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`container_id`".
|
||||
- `project_id` (String) Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.
|
||||
- `update_time` (String) Date-time at which the project was last modified.
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_routing_table Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Routing table resource schema. Must have a region specified in the provider configuration.
|
||||
~> 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.
|
||||
---
|
||||
|
||||
# stackit_routing_table (Resource)
|
||||
|
||||
Routing table resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> 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.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_routing_table" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing routing table
|
||||
import {
|
||||
to = stackit_routing_table.import-example
|
||||
id = "${var.organization_id},${var.region},${var.network_area_id},${var.routing_table_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the routing table.
|
||||
- `network_area_id` (String) The network area ID to which the routing table is associated.
|
||||
- `organization_id` (String) STACKIT organization ID to which the routing table is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `description` (String) Description of the routing table.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `system_routes` (Boolean) This controls whether the routes for project-to-project communication are created automatically or not.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) Date-time when the routing table was created
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`".
|
||||
- `routing_table_id` (String) The routing tables ID.
|
||||
- `updated_at` (String) Date-time when the routing table was updated
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_routing_table_route Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Routing table route resource schema. Must have a region specified in the provider configuration.
|
||||
~> 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.
|
||||
---
|
||||
|
||||
# stackit_routing_table_route (Resource)
|
||||
|
||||
Routing table route resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> 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.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "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"
|
||||
destination = {
|
||||
type = "cidrv4"
|
||||
value = "192.168.178.0/24"
|
||||
}
|
||||
next_hop = {
|
||||
type = "ipv4"
|
||||
value = "192.168.178.1"
|
||||
}
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing routing table route
|
||||
import {
|
||||
to = stackit_routing_table_route.import-example
|
||||
id = "${var.organization_id},${var.region},${var.network_area_id},${var.routing_table_id},${var.routing_table_route_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `destination` (Attributes) Destination of the route. (see [below for nested schema](#nestedatt--destination))
|
||||
- `network_area_id` (String) The network area ID to which the routing table is associated.
|
||||
- `next_hop` (Attributes) Next hop destination. (see [below for nested schema](#nestedatt--next_hop))
|
||||
- `organization_id` (String) STACKIT organization ID to which the routing table is associated.
|
||||
- `routing_table_id` (String) The routing tables ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) Date-time when the route was created.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`,`route_id`".
|
||||
- `route_id` (String) The ID of the route.
|
||||
- `updated_at` (String) Date-time when the route was updated.
|
||||
|
||||
<a id="nestedatt--destination"></a>
|
||||
### Nested Schema for `destination`
|
||||
|
||||
Required:
|
||||
|
||||
- `type` (String) CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage.
|
||||
- `value` (String) An CIDR string.
|
||||
|
||||
|
||||
<a id="nestedatt--next_hop"></a>
|
||||
### Nested Schema for `next_hop`
|
||||
|
||||
Required:
|
||||
|
||||
- `type` (String) Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`.
|
||||
|
||||
Optional:
|
||||
|
||||
- `value` (String) Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_scf_organization Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
STACKIT Cloud Foundry organization resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_scf_organization (Resource)
|
||||
|
||||
STACKIT Cloud Foundry organization resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_scf_organization" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
}
|
||||
|
||||
resource "stackit_scf_organization" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
platform_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
quota_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
suspended = false
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing scf organization
|
||||
import {
|
||||
to = stackit_scf_organization.import-example
|
||||
id = "${var.project_id},${var.region},${var.org_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the organization
|
||||
- `project_id` (String) The ID of the project associated with the organization
|
||||
|
||||
### Optional
|
||||
|
||||
- `platform_id` (String) The ID of the platform associated with the organization
|
||||
- `quota_id` (String) The ID of the quota associated with the organization
|
||||
- `region` (String) The resource region. If not defined, the provider region is used
|
||||
- `suspended` (Boolean) A boolean indicating whether the organization is suspended
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) The time when the organization was created
|
||||
- `id` (String) Terraform's internal resource ID, structured as "`project_id`,`region`,`org_id`".
|
||||
- `org_id` (String) The ID of the Cloud Foundry Organization
|
||||
- `status` (String) The status of the organization (e.g., deleting, delete_failed)
|
||||
- `updated_at` (String) The time when the organization was last updated
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_scf_organization_manager Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
STACKIT Cloud Foundry organization manager resource schema.
|
||||
---
|
||||
|
||||
# stackit_scf_organization_manager (Resource)
|
||||
|
||||
STACKIT Cloud Foundry organization manager resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_scf_organization_manager" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing scf org user
|
||||
# The password field is still null after import and must be entered manually in the state.
|
||||
import {
|
||||
to = stackit_scf_organization_manager.import-example
|
||||
id = "${var.project_id},${var.region},${var.org_id},${var.user_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `org_id` (String) The ID of the Cloud Foundry Organization
|
||||
- `project_id` (String) The ID of the project associated with the organization of the organization manager
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The region where the organization of the organization manager is located. If not defined, the provider region is used
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) The time when the organization manager was created
|
||||
- `id` (String) Terraform's internal resource ID, structured as "`project_id`,`region`,`org_id`,`user_id`".
|
||||
- `password` (String, Sensitive) An auto-generated password
|
||||
- `platform_id` (String) The ID of the platform associated with the organization of the organization manager
|
||||
- `updated_at` (String) The time when the organization manager was last updated
|
||||
- `user_id` (String) The ID of the organization manager user
|
||||
- `username` (String) An auto-generated organization manager user name
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_secretsmanager_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Secrets Manager instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_secretsmanager_instance (Resource)
|
||||
|
||||
Secrets Manager instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_secretsmanager_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
acls = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing secretsmanager instance
|
||||
import {
|
||||
to = stackit_secretsmanager_instance.import-example
|
||||
id = "${var.project_id},${var.secret_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Instance name.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `acls` (Set of String) The access control list for this instance. Each entry is an IP or IP range that is permitted to access, in CIDR notation
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `instance_id` (String) ID of the Secrets Manager instance.
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_secretsmanager_user Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Secrets Manager user resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_secretsmanager_user (Resource)
|
||||
|
||||
Secrets Manager user resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_secretsmanager_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
description = "Example user"
|
||||
write_enabled = false
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing secretsmanager user
|
||||
import {
|
||||
to = stackit_secretsmanager_user.import-example
|
||||
id = "${var.project_id},${var.secret_instance_id},${var.secret_user_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `description` (String) A user chosen description to differentiate between multiple users. Can't be changed after creation.
|
||||
- `instance_id` (String) ID of the Secrets Manager instance.
|
||||
- `project_id` (String) STACKIT Project ID to which the instance is associated.
|
||||
- `write_enabled` (Boolean) If true, the user has writeaccess to the secrets engine.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`instance_id`,`user_id`".
|
||||
- `password` (String, Sensitive) An auto-generated password.
|
||||
- `user_id` (String) The user's ID.
|
||||
- `username` (String) An auto-generated user name.
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_security_group Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Security group resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_security_group (Resource)
|
||||
|
||||
Security group resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_security_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "my_security_group"
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing security group
|
||||
import {
|
||||
to = stackit_security_group.import-example
|
||||
id = "${var.project_id},${var.security_group_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the security group.
|
||||
- `project_id` (String) STACKIT project ID to which the security group is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `description` (String) The description of the security group.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `stateful` (Boolean) Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`security_group_id`".
|
||||
- `security_group_id` (String) The security group ID.
|
||||
|
|
@ -1,87 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_security_group_rule Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Security group rule resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_security_group_rule (Resource)
|
||||
|
||||
Security group rule resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_security_group_rule" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
security_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
direction = "ingress"
|
||||
icmp_parameters = {
|
||||
code = 0
|
||||
type = 8
|
||||
}
|
||||
protocol = {
|
||||
name = "icmp"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing security group rule
|
||||
# Note: There will be a conflict which needs to be resolved manually.
|
||||
# Attribute "protocol.number" cannot be specified when "protocol.name" is specified.
|
||||
import {
|
||||
to = stackit_security_group_rule.import-example
|
||||
id = "${var.project_id},${var.security_group_id},${var.security_group_rule_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `direction` (String) The direction of the traffic which the rule should match. Some of the possible values are: Possible values are: `ingress`, `egress`.
|
||||
- `project_id` (String) STACKIT project ID to which the security group rule is associated.
|
||||
- `security_group_id` (String) The security group ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `description` (String) The rule description.
|
||||
- `ether_type` (String) The ethertype which the rule should match.
|
||||
- `icmp_parameters` (Attributes) ICMP Parameters. These parameters should only be provided if the protocol is ICMP. (see [below for nested schema](#nestedatt--icmp_parameters))
|
||||
- `ip_range` (String) The remote IP range which the rule should match.
|
||||
- `port_range` (Attributes) The range of ports. This should only be provided if the protocol is not ICMP. (see [below for nested schema](#nestedatt--port_range))
|
||||
- `protocol` (Attributes) The internet protocol which the rule should match. (see [below for nested schema](#nestedatt--protocol))
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `remote_security_group_id` (String) The remote security group which the rule should match.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`security_group_id`,`security_group_rule_id`".
|
||||
- `security_group_rule_id` (String) The security group rule ID.
|
||||
|
||||
<a id="nestedatt--icmp_parameters"></a>
|
||||
### Nested Schema for `icmp_parameters`
|
||||
|
||||
Required:
|
||||
|
||||
- `code` (Number) ICMP code. Can be set if the protocol is ICMP.
|
||||
- `type` (Number) ICMP type. Can be set if the protocol is ICMP.
|
||||
|
||||
|
||||
<a id="nestedatt--port_range"></a>
|
||||
### Nested Schema for `port_range`
|
||||
|
||||
Required:
|
||||
|
||||
- `max` (Number) The maximum port number. Should be greater or equal to the minimum.
|
||||
- `min` (Number) The minimum port number. Should be less or equal to the maximum.
|
||||
|
||||
|
||||
<a id="nestedatt--protocol"></a>
|
||||
### Nested Schema for `protocol`
|
||||
|
||||
Optional:
|
||||
|
||||
- `name` (String) The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`.
|
||||
- `number` (Number) The protocol number which the rule should match. Either `name` or `number` must be provided.
|
||||
|
|
@ -1,441 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server resource schema. Must have a region specified in the provider configuration.
|
||||
Example Usage
|
||||
With key pair
|
||||
|
||||
resource "stackit_key_pair" "keypair" {
|
||||
name = "example-key-pair"
|
||||
public_key = chomp(file("path/to/id_rsa.pub"))
|
||||
}
|
||||
|
||||
resource "stackit_server" "user-data-from-file" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-server"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
user_data = file("${path.module}/cloud-init.yaml")
|
||||
}
|
||||
|
||||
|
||||
Boot from volume
|
||||
|
||||
resource "stackit_server" "boot-from-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = "example-keypair"
|
||||
}
|
||||
|
||||
|
||||
Boot from existing volume
|
||||
|
||||
resource "stackit_volume" "example-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
size = 12
|
||||
source = {
|
||||
type = "image"
|
||||
id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-volume"
|
||||
availability_zone = "eu01-1"
|
||||
}
|
||||
|
||||
resource "stackit_server" "boot-from-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
source_type = "volume"
|
||||
source_id = stackit_volume.example-volume.volume_id
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
}
|
||||
|
||||
|
||||
Network setup
|
||||
|
||||
resource "stackit_network" "network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-network"
|
||||
nameservers = ["192.0.2.0", "198.51.100.0", "203.0.113.0"]
|
||||
ipv4_prefix_length = 24
|
||||
}
|
||||
|
||||
resource "stackit_security_group" "sec-group" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-security-group"
|
||||
stateful = true
|
||||
}
|
||||
|
||||
resource "stackit_security_group_rule" "rule" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
security_group_id = stackit_security_group.sec-group.security_group_id
|
||||
direction = "ingress"
|
||||
ether_type = "IPv4"
|
||||
}
|
||||
|
||||
resource "stackit_network_interface" "nic" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_id = stackit_network.network.network_id
|
||||
security_group_ids = [stackit_security_group.sec-group.security_group_id]
|
||||
}
|
||||
|
||||
resource "stackit_server" "server-with-network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
network_interfaces = [
|
||||
stackit_network_interface.nic.network_interface_id
|
||||
]
|
||||
}
|
||||
|
||||
resource "stackit_public_ip" "public-ip" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_interface_id = stackit_network_interface.nic.network_interface_id
|
||||
}
|
||||
|
||||
|
||||
Server with attached volume
|
||||
|
||||
resource "stackit_volume" "example-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
size = 12
|
||||
performance_class = "storage_premium_perf6"
|
||||
name = "example-volume"
|
||||
availability_zone = "eu01-1"
|
||||
}
|
||||
|
||||
resource "stackit_server" "server-with-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
}
|
||||
|
||||
resource "stackit_server_volume_attach" "attach_volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = stackit_server.server-with-volume.server_id
|
||||
volume_id = stackit_volume.example-volume.volume_id
|
||||
}
|
||||
|
||||
|
||||
Server with user data (cloud-init)
|
||||
|
||||
resource "stackit_server" "user-data" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-server"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
user_data = "#!/bin/bash\n/bin/su"
|
||||
}
|
||||
|
||||
resource "stackit_server" "user-data-from-file" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-server"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
user_data = file("${path.module}/cloud-init.yaml")
|
||||
}
|
||||
---
|
||||
|
||||
# stackit_server (Resource)
|
||||
|
||||
Server resource schema. Must have a region specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
|
||||
### With key pair
|
||||
```terraform
|
||||
resource "stackit_key_pair" "keypair" {
|
||||
name = "example-key-pair"
|
||||
public_key = chomp(file("path/to/id_rsa.pub"))
|
||||
}
|
||||
|
||||
resource "stackit_server" "user-data-from-file" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-server"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
user_data = file("${path.module}/cloud-init.yaml")
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Boot from volume
|
||||
```terraform
|
||||
resource "stackit_server" "boot-from-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = "example-keypair"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Boot from existing volume
|
||||
```terraform
|
||||
resource "stackit_volume" "example-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
size = 12
|
||||
source = {
|
||||
type = "image"
|
||||
id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-volume"
|
||||
availability_zone = "eu01-1"
|
||||
}
|
||||
|
||||
resource "stackit_server" "boot-from-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
source_type = "volume"
|
||||
source_id = stackit_volume.example-volume.volume_id
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Network setup
|
||||
```terraform
|
||||
resource "stackit_network" "network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-network"
|
||||
nameservers = ["192.0.2.0", "198.51.100.0", "203.0.113.0"]
|
||||
ipv4_prefix_length = 24
|
||||
}
|
||||
|
||||
resource "stackit_security_group" "sec-group" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-security-group"
|
||||
stateful = true
|
||||
}
|
||||
|
||||
resource "stackit_security_group_rule" "rule" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
security_group_id = stackit_security_group.sec-group.security_group_id
|
||||
direction = "ingress"
|
||||
ether_type = "IPv4"
|
||||
}
|
||||
|
||||
resource "stackit_network_interface" "nic" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_id = stackit_network.network.network_id
|
||||
security_group_ids = [stackit_security_group.sec-group.security_group_id]
|
||||
}
|
||||
|
||||
resource "stackit_server" "server-with-network" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
network_interfaces = [
|
||||
stackit_network_interface.nic.network_interface_id
|
||||
]
|
||||
}
|
||||
|
||||
resource "stackit_public_ip" "public-ip" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_interface_id = stackit_network_interface.nic.network_interface_id
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Server with attached volume
|
||||
```terraform
|
||||
resource "stackit_volume" "example-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
size = 12
|
||||
performance_class = "storage_premium_perf6"
|
||||
name = "example-volume"
|
||||
availability_zone = "eu01-1"
|
||||
}
|
||||
|
||||
resource "stackit_server" "server-with-volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
availability_zone = "eu01-1"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
}
|
||||
|
||||
resource "stackit_server_volume_attach" "attach_volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = stackit_server.server-with-volume.server_id
|
||||
volume_id = stackit_volume.example-volume.volume_id
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
### Server with user data (cloud-init)
|
||||
```terraform
|
||||
resource "stackit_server" "user-data" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-server"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
user_data = "#!/bin/bash\n/bin/su"
|
||||
}
|
||||
|
||||
resource "stackit_server" "user-data-from-file" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
name = "example-server"
|
||||
machine_type = "g2i.1"
|
||||
keypair_name = stackit_key_pair.keypair.name
|
||||
user_data = file("${path.module}/cloud-init.yaml")
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_server" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-server"
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = "59838a89-51b1-4892-b57f-b3caf598ee2f" // Ubuntu 24.04
|
||||
}
|
||||
availability_zone = "xxxx-x"
|
||||
machine_type = "g2i.1"
|
||||
network_interfaces = [
|
||||
stackit_network_interface.example.network_interface_id
|
||||
]
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing server
|
||||
# Note: There will be a conflict which needs to be resolved manually.
|
||||
# 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.
|
||||
# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an terraform apply.
|
||||
# In order to prevent this you need to add:
|
||||
# lifecycle {
|
||||
# ignore_changes = [ boot_volume ]
|
||||
# }
|
||||
import {
|
||||
to = stackit_server.import-example
|
||||
id = "${var.project_id},${var.region},${var.server_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `machine_type` (String) Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/)
|
||||
- `name` (String) The name of the server.
|
||||
- `project_id` (String) STACKIT project ID to which the server is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `affinity_group` (String) The affinity group the server is assigned to.
|
||||
- `availability_zone` (String) The availability zone of the server.
|
||||
- `boot_volume` (Attributes) The boot volume for the server (see [below for nested schema](#nestedatt--boot_volume))
|
||||
- `desired_status` (String) The desired status of the server resource. Possible values are: `active`, `inactive`, `deallocated`.
|
||||
- `image_id` (String) The image ID to be used for an ephemeral disk on the server.
|
||||
- `keypair_name` (String) The name of the keypair used during server creation.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `network_interfaces` (List of String) The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.**
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `user_data` (String) User data that is passed via cloud-init to the server.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) Date-time when the server was created
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`server_id`".
|
||||
- `launched_at` (String) Date-time when the server was launched
|
||||
- `server_id` (String) The server ID.
|
||||
- `updated_at` (String) Date-time when the server was updated
|
||||
|
||||
<a id="nestedatt--boot_volume"></a>
|
||||
### Nested Schema for `boot_volume`
|
||||
|
||||
Required:
|
||||
|
||||
- `source_id` (String) The ID of the source, either image ID or volume ID
|
||||
- `source_type` (String) The type of the source. Possible values are: `volume`, `image`.
|
||||
|
||||
Optional:
|
||||
|
||||
- `delete_on_termination` (Boolean) Delete the volume during the termination of the server. Only allowed when `source_type` is `image`.
|
||||
- `performance_class` (String) The performance class of the server.
|
||||
- `size` (Number) The size of the boot volume in GB. Must be provided when `source_type` is `image`.
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `id` (String) The ID of the boot volume
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_backup_schedule Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server backup schedule resource 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 https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
|
||||
---
|
||||
|
||||
# stackit_server_backup_schedule (Resource)
|
||||
|
||||
Server backup schedule resource 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](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_server_backup_schedule" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example_backup_schedule_name"
|
||||
rrule = "DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1"
|
||||
enabled = true
|
||||
backup_properties = {
|
||||
name = "example_backup_name"
|
||||
retention_period = 14
|
||||
volume_ids = null
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing server backup schedule
|
||||
import {
|
||||
to = stackit_server_backup_schedule.import-example
|
||||
id = "${var.project_id},${var.region},${var.server_id},${var.server_backup_schedule_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `backup_properties` (Attributes) Backup schedule details for the backups. (see [below for nested schema](#nestedatt--backup_properties))
|
||||
- `enabled` (Boolean) Is the backup schedule enabled or disabled.
|
||||
- `name` (String) The schedule name.
|
||||
- `project_id` (String) STACKIT Project ID to which the server is associated.
|
||||
- `rrule` (String) Backup schedule described in `rrule` (recurrence rule) format.
|
||||
- `server_id` (String) Server ID for the backup schedule.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `backup_schedule_id` (Number) Backup schedule ID.
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`server_id`,`backup_schedule_id`".
|
||||
|
||||
<a id="nestedatt--backup_properties"></a>
|
||||
### Nested Schema for `backup_properties`
|
||||
|
||||
Required:
|
||||
|
||||
- `name` (String)
|
||||
- `retention_period` (Number)
|
||||
|
||||
Optional:
|
||||
|
||||
- `volume_ids` (List of String)
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_network_interface_attach Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot.
|
||||
---
|
||||
|
||||
# stackit_server_network_interface_attach (Resource)
|
||||
|
||||
Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_server_network_interface_attach" "attached_network_interface" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_interface_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing server network interface attachment
|
||||
import {
|
||||
to = stackit_server_network_interface_attach.import-example
|
||||
id = "${var.project_id},${var.region},${var.server_id},${var.network_interface_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `network_interface_id` (String) The network interface ID.
|
||||
- `project_id` (String) STACKIT project ID to which the network interface attachment is associated.
|
||||
- `server_id` (String) The server ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`server_id`,`network_interface_id`".
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_service_account_attach Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Service account attachment resource schema. Attaches a service account to a server. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_server_service_account_attach (Resource)
|
||||
|
||||
Service account attachment resource schema. Attaches a service account to a server. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_server_service_account_attach" "attached_service_account" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
service_account_email = "service-account@stackit.cloud"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing server service account attachment
|
||||
import {
|
||||
to = stackit_server_service_account_attach.import-example
|
||||
id = "${var.project_id},${var.region},${var.server_id},${var.service_account_email}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the service account attachment is associated.
|
||||
- `server_id` (String) The server ID.
|
||||
- `service_account_email` (String) The service account email.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`server_id`,`service_account_email`".
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_update_schedule Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server update schedule resource 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 https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
|
||||
---
|
||||
|
||||
# stackit_server_update_schedule (Resource)
|
||||
|
||||
Server update schedule resource 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](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources) for how to opt-in to use beta resources.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_server_update_schedule" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example_update_schedule_name"
|
||||
rrule = "DTSTART;TZID=Europe/Sofia:20200803T023000 RRULE:FREQ=DAILY;INTERVAL=1"
|
||||
enabled = true
|
||||
maintenance_window = 1
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing server update schedule
|
||||
import {
|
||||
to = stackit_server_update_schedule.import-example
|
||||
id = "${var.project_id},${var.region},${var.server_id},${var.server_update_schedule_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `enabled` (Boolean) Is the update schedule enabled or disabled.
|
||||
- `maintenance_window` (Number) Maintenance window [1..24].
|
||||
- `name` (String) The schedule name.
|
||||
- `project_id` (String) STACKIT Project ID to which the server is associated.
|
||||
- `rrule` (String) Update schedule described in `rrule` (recurrence rule) format.
|
||||
- `server_id` (String) Server ID for the update schedule.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`server_id`,`update_schedule_id`".
|
||||
- `update_schedule_id` (Number) Update schedule ID.
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_volume_attach Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Volume attachment resource schema. Attaches a volume to a server. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_server_volume_attach (Resource)
|
||||
|
||||
Volume attachment resource schema. Attaches a volume to a server. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_server_volume_attach" "attached_volume" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
volume_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing server volume attachment
|
||||
import {
|
||||
to = stackit_server_volume_attach.import-example
|
||||
id = "${var.project_id},${var.region},${var.server_id},${var.volume_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the volume attachment is associated.
|
||||
- `server_id` (String) The server ID.
|
||||
- `volume_id` (String) The volume ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`server_id`,`volume_id`".
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_service_account Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Service account resource schema.
|
||||
---
|
||||
|
||||
# stackit_service_account (Resource)
|
||||
|
||||
Service account resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_service_account" "sa" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "sa01"
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing service account
|
||||
import {
|
||||
to = stackit_service_account.import-example
|
||||
id = "${var.project_id},${var.service_account_email}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Name of the service account.
|
||||
- `project_id` (String) STACKIT project ID to which the service account is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `email` (String) Email of the service account.
|
||||
- `id` (String) Terraform's internal resource ID, structured as "`project_id`,`email`".
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_service_account_access_token Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Service account access token schema.
|
||||
!> 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/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations.
|
||||
Example Usage
|
||||
Automatically rotate access tokens
|
||||
|
||||
resource "stackit_service_account" "sa" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "sa01"
|
||||
}
|
||||
|
||||
resource "time_rotating" "rotate" {
|
||||
rotation_days = 80
|
||||
}
|
||||
|
||||
resource "stackit_service_account_access_token" "sa_token" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
service_account_email = stackit_service_account.sa.email
|
||||
ttl_days = 180
|
||||
|
||||
rotate_when_changed = {
|
||||
rotation = time_rotating.rotate.id
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# stackit_service_account_access_token (Resource)
|
||||
|
||||
Service account access token schema.
|
||||
|
||||
!> 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/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations.
|
||||
|
||||
## Example Usage
|
||||
|
||||
|
||||
### Automatically rotate access tokens
|
||||
```terraform
|
||||
resource "stackit_service_account" "sa" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "sa01"
|
||||
}
|
||||
|
||||
resource "time_rotating" "rotate" {
|
||||
rotation_days = 80
|
||||
}
|
||||
|
||||
resource "stackit_service_account_access_token" "sa_token" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
service_account_email = stackit_service_account.sa.email
|
||||
ttl_days = 180
|
||||
|
||||
rotate_when_changed = {
|
||||
rotation = time_rotating.rotate.id
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID associated with the service account token.
|
||||
- `service_account_email` (String) Email address linked to the service account.
|
||||
|
||||
### Optional
|
||||
|
||||
- `rotate_when_changed` (Map of String) 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.
|
||||
- `ttl_days` (Number) Specifies the token's validity duration in days. If unspecified, defaults to 90 days.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `access_token_id` (String) Identifier for the access token linked to the service account.
|
||||
- `active` (Boolean) Indicate whether the token is currently active or inactive
|
||||
- `created_at` (String) Timestamp indicating when the access token was created.
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`service_account_email`,`access_token_id`".
|
||||
- `token` (String, Sensitive) JWT access token for API authentication. Prefixed by 'Bearer' and should be stored securely as it is irretrievable once lost.
|
||||
- `valid_until` (String) Estimated expiration timestamp of the access token. For precise validity, check the JWT details.
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_service_account_key Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Service account key schema.
|
||||
Example Usage
|
||||
Automatically rotate service account keys
|
||||
|
||||
resource "stackit_service_account" "sa" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "sa01"
|
||||
}
|
||||
|
||||
resource "time_rotating" "rotate" {
|
||||
rotation_days = 80
|
||||
}
|
||||
|
||||
resource "stackit_service_account_key" "sa_key" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
service_account_email = stackit_service_account.sa.email
|
||||
ttl_days = 90
|
||||
|
||||
rotate_when_changed = {
|
||||
rotation = time_rotating.rotate.id
|
||||
}
|
||||
}
|
||||
---
|
||||
|
||||
# stackit_service_account_key (Resource)
|
||||
|
||||
Service account key schema.
|
||||
## Example Usage
|
||||
|
||||
|
||||
### Automatically rotate service account keys
|
||||
```terraform
|
||||
resource "stackit_service_account" "sa" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "sa01"
|
||||
}
|
||||
|
||||
resource "time_rotating" "rotate" {
|
||||
rotation_days = 80
|
||||
}
|
||||
|
||||
resource "stackit_service_account_key" "sa_key" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
service_account_email = stackit_service_account.sa.email
|
||||
ttl_days = 90
|
||||
|
||||
rotate_when_changed = {
|
||||
rotation = time_rotating.rotate.id
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) The STACKIT project ID associated with the service account key.
|
||||
- `service_account_email` (String) The email address associated with the service account, used for account identification and communication.
|
||||
|
||||
### Optional
|
||||
|
||||
- `public_key` (String) Specifies the public_key (RSA2048 key-pair). If not provided, a certificate from STACKIT will be used to generate a private_key.
|
||||
- `rotate_when_changed` (Map of String) 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.
|
||||
- `ttl_days` (Number) Specifies the key's validity duration in days. If left unspecified, the key is considered valid until it is deleted
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`service_account_email`,`key_id`".
|
||||
- `json` (String, Sensitive) The raw JSON representation of the service account key json, available for direct use.
|
||||
- `key_id` (String) The unique identifier for the key associated with the service account.
|
||||
|
|
@ -1,204 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_ske_cluster Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
SKE Cluster Resource schema. Must have a region specified in the provider configuration.
|
||||
-> When updating node_pools of a stackit_ske_cluster, the Terraform plan 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.
|
||||
---
|
||||
|
||||
# stackit_ske_cluster (Resource)
|
||||
|
||||
SKE Cluster Resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
-> When updating `node_pools` of a `stackit_ske_cluster`, the Terraform plan 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.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_ske_cluster" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
kubernetes_version_min = "x.x"
|
||||
node_pools = [
|
||||
{
|
||||
name = "np-example"
|
||||
machine_type = "x.x"
|
||||
os_version = "x.x.x"
|
||||
minimum = "2"
|
||||
maximum = "3"
|
||||
availability_zones = ["eu01-3"]
|
||||
}
|
||||
]
|
||||
maintenance = {
|
||||
enable_kubernetes_version_updates = true
|
||||
enable_machine_image_version_updates = true
|
||||
start = "01:00:00Z"
|
||||
end = "02:00:00Z"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing ske cluster
|
||||
import {
|
||||
to = stackit_ske_cluster.import-example
|
||||
id = "${var.project_id},${var.region},${var.ske_name}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The cluster name.
|
||||
- `node_pools` (Attributes List) One or more `node_pool` block as defined below. (see [below for nested schema](#nestedatt--node_pools))
|
||||
- `project_id` (String) STACKIT project ID to which the cluster is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `extensions` (Attributes) A single extensions block as defined below. (see [below for nested schema](#nestedatt--extensions))
|
||||
- `hibernations` (Attributes List) One or more hibernation block as defined below. (see [below for nested schema](#nestedatt--hibernations))
|
||||
- `kubernetes_version_min` (String) The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field.
|
||||
- `maintenance` (Attributes) A single maintenance block as defined below. (see [below for nested schema](#nestedatt--maintenance))
|
||||
- `network` (Attributes) Network block as defined below. (see [below for nested schema](#nestedatt--network))
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `egress_address_ranges` (List of String) The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`name`".
|
||||
- `kubernetes_version_used` (String) 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 [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).
|
||||
- `pod_address_ranges` (List of String) The network ranges (in CIDR notation) used by pods of the cluster.
|
||||
|
||||
<a id="nestedatt--node_pools"></a>
|
||||
### Nested Schema for `node_pools`
|
||||
|
||||
Required:
|
||||
|
||||
- `availability_zones` (List of String) Specify a list of availability zones. E.g. `eu01-m`
|
||||
- `machine_type` (String) The machine type.
|
||||
- `maximum` (Number) Maximum number of nodes in the pool.
|
||||
- `minimum` (Number) Minimum number of nodes in the pool.
|
||||
- `name` (String) Specifies the name of the node pool.
|
||||
|
||||
Optional:
|
||||
|
||||
- `allow_system_components` (Boolean) Allow system components to run on this node pool.
|
||||
- `cri` (String) Specifies the container runtime. Defaults to `containerd`
|
||||
- `labels` (Map of String) Labels to add to each node.
|
||||
- `max_surge` (Number) Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time.
|
||||
- `max_unavailable` (Number) Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time.
|
||||
- `os_name` (String) The name of the OS image. Defaults to `flatcar`.
|
||||
- `os_version` (String, Deprecated) This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead.
|
||||
- `os_version_min` (String) The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field.
|
||||
- `taints` (Attributes List) Specifies a taint list as defined below. (see [below for nested schema](#nestedatt--node_pools--taints))
|
||||
- `volume_size` (Number) The volume size in GB. Defaults to `20`
|
||||
- `volume_type` (String) Specifies the volume type. Defaults to `storage_premium_perf1`.
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `os_version_used` (String) Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).
|
||||
|
||||
<a id="nestedatt--node_pools--taints"></a>
|
||||
### Nested Schema for `node_pools.taints`
|
||||
|
||||
Required:
|
||||
|
||||
- `effect` (String) The taint effect. E.g `PreferNoSchedule`.
|
||||
- `key` (String) Taint key to be applied to a node.
|
||||
|
||||
Optional:
|
||||
|
||||
- `value` (String) Taint value corresponding to the taint key.
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--extensions"></a>
|
||||
### Nested Schema for `extensions`
|
||||
|
||||
Optional:
|
||||
|
||||
- `acl` (Attributes) Cluster access control configuration. (see [below for nested schema](#nestedatt--extensions--acl))
|
||||
- `argus` (Attributes, Deprecated) A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. (see [below for nested schema](#nestedatt--extensions--argus))
|
||||
- `dns` (Attributes) DNS extension configuration (see [below for nested schema](#nestedatt--extensions--dns))
|
||||
- `observability` (Attributes) A single observability block as defined below. (see [below for nested schema](#nestedatt--extensions--observability))
|
||||
|
||||
<a id="nestedatt--extensions--acl"></a>
|
||||
### Nested Schema for `extensions.acl`
|
||||
|
||||
Required:
|
||||
|
||||
- `allowed_cidrs` (List of String) Specify a list of CIDRs to whitelist.
|
||||
- `enabled` (Boolean) Is ACL enabled?
|
||||
|
||||
|
||||
<a id="nestedatt--extensions--argus"></a>
|
||||
### Nested Schema for `extensions.argus`
|
||||
|
||||
Required:
|
||||
|
||||
- `enabled` (Boolean) Flag to enable/disable Argus extensions.
|
||||
|
||||
Optional:
|
||||
|
||||
- `argus_instance_id` (String) Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`.
|
||||
|
||||
|
||||
<a id="nestedatt--extensions--dns"></a>
|
||||
### Nested Schema for `extensions.dns`
|
||||
|
||||
Required:
|
||||
|
||||
- `enabled` (Boolean) Flag to enable/disable DNS extensions
|
||||
|
||||
Optional:
|
||||
|
||||
- `zones` (List of String) Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`)
|
||||
|
||||
|
||||
<a id="nestedatt--extensions--observability"></a>
|
||||
### Nested Schema for `extensions.observability`
|
||||
|
||||
Required:
|
||||
|
||||
- `enabled` (Boolean) Flag to enable/disable Observability extensions.
|
||||
|
||||
Optional:
|
||||
|
||||
- `instance_id` (String) Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`.
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--hibernations"></a>
|
||||
### Nested Schema for `hibernations`
|
||||
|
||||
Required:
|
||||
|
||||
- `end` (String) End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am.
|
||||
- `start` (String) Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm.
|
||||
|
||||
Optional:
|
||||
|
||||
- `timezone` (String) Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`.
|
||||
|
||||
|
||||
<a id="nestedatt--maintenance"></a>
|
||||
### Nested Schema for `maintenance`
|
||||
|
||||
Required:
|
||||
|
||||
- `end` (String) Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`.
|
||||
- `start` (String) Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`.
|
||||
|
||||
Optional:
|
||||
|
||||
- `enable_kubernetes_version_updates` (Boolean) Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).
|
||||
- `enable_machine_image_version_updates` (Boolean) Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).
|
||||
|
||||
|
||||
<a id="nestedatt--network"></a>
|
||||
### Nested Schema for `network`
|
||||
|
||||
Optional:
|
||||
|
||||
- `id` (String) ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed.
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_ske_kubeconfig Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
SKE kubeconfig resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_ske_kubeconfig (Resource)
|
||||
|
||||
SKE kubeconfig resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_ske_kubeconfig" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
cluster_name = "example-cluster"
|
||||
|
||||
refresh = true
|
||||
expiration = 7200 # 2 hours
|
||||
refresh_before = 3600 # 1 hour
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `cluster_name` (String) Name of the SKE cluster.
|
||||
- `project_id` (String) STACKIT project ID to which the cluster is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `expiration` (Number) Expiration time of the kubeconfig, in seconds. Defaults to `3600`
|
||||
- `refresh` (Boolean) If set to true, the provider will check if the kubeconfig has expired and will generated a new valid one in-place
|
||||
- `refresh_before` (Number) Number of seconds before expiration to trigger refresh of the kubeconfig at. Only used if refresh is set to true.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `creation_time` (String) Date-time when the kubeconfig was created
|
||||
- `expires_at` (String) Timestamp when the kubeconfig expires
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`cluster_name`,`kube_config_id`".
|
||||
- `kube_config` (String, Sensitive) Raw short-lived admin kubeconfig.
|
||||
- `kube_config_id` (String) Internally generated UUID to identify a kubeconfig resource in Terraform, since the SKE API doesnt return a kubeconfig identifier
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_sqlserverflex_instance Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
SQLServer Flex instance resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_sqlserverflex_instance (Resource)
|
||||
|
||||
SQLServer Flex instance resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_sqlserverflex_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
acl = ["XXX.XXX.XXX.X/XX", "XX.XXX.XX.X/XX"]
|
||||
backup_schedule = "00 00 * * *"
|
||||
flavor = {
|
||||
cpu = 4
|
||||
ram = 16
|
||||
}
|
||||
storage = {
|
||||
class = "class"
|
||||
size = 5
|
||||
}
|
||||
version = 2022
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing sqlserverflex instance
|
||||
import {
|
||||
to = stackit_sqlserverflex_instance.import-example
|
||||
id = "${var.project_id},${var.region},${var.sql_instance_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `flavor` (Attributes) (see [below for nested schema](#nestedatt--flavor))
|
||||
- `name` (String) Instance name.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `acl` (List of String) The Access Control List (ACL) for the SQLServer Flex instance.
|
||||
- `backup_schedule` (String) The backup schedule. Should follow the cron scheduling system format (e.g. "0 0 * * *")
|
||||
- `options` (Attributes) (see [below for nested schema](#nestedatt--options))
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
|
||||
- `version` (String)
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`".
|
||||
- `instance_id` (String) ID of the SQLServer Flex instance.
|
||||
- `replicas` (Number)
|
||||
|
||||
<a id="nestedatt--flavor"></a>
|
||||
### Nested Schema for `flavor`
|
||||
|
||||
Required:
|
||||
|
||||
- `cpu` (Number)
|
||||
- `ram` (Number)
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `description` (String)
|
||||
- `id` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--options"></a>
|
||||
### Nested Schema for `options`
|
||||
|
||||
Optional:
|
||||
|
||||
- `retention_days` (Number)
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `edition` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--storage"></a>
|
||||
### Nested Schema for `storage`
|
||||
|
||||
Optional:
|
||||
|
||||
- `class` (String)
|
||||
- `size` (Number)
|
||||
|
|
@ -1,19 +1,21 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_sqlserverflex_user Resource - stackit"
|
||||
page_title: "stackitprivatepreview_sqlserverflexalpha_user Resource - stackitprivatepreview"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
SQLServer Flex user resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_sqlserverflex_user (Resource)
|
||||
# stackitprivatepreview_sqlserverflexalpha_user (Resource)
|
||||
|
||||
SQLServer Flex user resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_sqlserverflex_user" "example" {
|
||||
# Copyright (c) STACKIT
|
||||
|
||||
resource "stackitprivatepreview_sqlserverflexalpha_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
username = "username"
|
||||
|
|
@ -22,7 +24,7 @@ resource "stackit_sqlserverflex_user" "example" {
|
|||
|
||||
# Only use the import statement, if you want to import an existing sqlserverflex user
|
||||
import {
|
||||
to = stackit_sqlserverflex_user.import-example
|
||||
to = stackitprivatepreview_sqlserverflexalpha_user.import-example
|
||||
id = "${var.project_id},${var.region},${var.sql_instance_id},${var.sql_user_id}"
|
||||
}
|
||||
```
|
||||
|
|
@ -43,8 +45,10 @@ import {
|
|||
|
||||
### Read-Only
|
||||
|
||||
- `default_database` (String)
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`,`user_id`".
|
||||
- `password` (String, Sensitive) Password of the user account.
|
||||
- `port` (Number)
|
||||
- `status` (String)
|
||||
- `user_id` (String) User ID.
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_volume Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Volume resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_volume (Resource)
|
||||
|
||||
Volume resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
resource "stackit_volume" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "my_volume"
|
||||
availability_zone = "eu01-1"
|
||||
size = 64
|
||||
labels = {
|
||||
"key" = "value"
|
||||
}
|
||||
}
|
||||
|
||||
# Only use the import statement, if you want to import an existing volume
|
||||
import {
|
||||
to = stackit_volume.import-example
|
||||
id = "${var.project_id},${var.region},${var.volume_id}"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `availability_zone` (String) The availability zone of the volume.
|
||||
- `project_id` (String) STACKIT project ID to which the volume is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `description` (String) The description of the volume.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `name` (String) The name of the volume.
|
||||
- `performance_class` (String) The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/products/storage/block-storage/basics/service-plans/#currently-available-service-plans-performance-classes)
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `size` (Number) 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
|
||||
- `source` (Attributes) 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 (see [below for nested schema](#nestedatt--source))
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`volume_id`".
|
||||
- `server_id` (String) The server ID of the server to which the volume is attached to.
|
||||
- `volume_id` (String) The volume ID.
|
||||
|
||||
<a id="nestedatt--source"></a>
|
||||
### Nested Schema for `source`
|
||||
|
||||
Required:
|
||||
|
||||
- `id` (String) The ID of the source, e.g. image ID
|
||||
- `type` (String) The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue