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
24
.copywrite.hcl
Normal file
24
.copywrite.hcl
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# NOTE: This file is for HashiCorp specific licensing automation and can be deleted after creating a new repo with this template.
|
||||
schema_version = 1
|
||||
|
||||
project {
|
||||
license = "Apache-2.0"
|
||||
copyright_year = 2025
|
||||
|
||||
header_ignore = [
|
||||
# internal catalog metadata (prose)
|
||||
"META.d/**/*.yaml",
|
||||
|
||||
# examples used within documentation (prose)
|
||||
"examples/**",
|
||||
|
||||
# GitHub issue template configuration
|
||||
".github/ISSUE_TEMPLATE/*.yml",
|
||||
|
||||
# golangci-lint tooling configuration
|
||||
".golangci.yml",
|
||||
|
||||
# GoReleaser tooling configuration
|
||||
".goreleaser.yml",
|
||||
]
|
||||
}
|
||||
2
.github/actions/build/action.yaml
vendored
2
.github/actions/build/action.yaml
vendored
|
|
@ -1,3 +1,5 @@
|
|||
# Copyright (c) STACKIT
|
||||
|
||||
name: Build
|
||||
description: "Build pipeline"
|
||||
inputs:
|
||||
|
|
|
|||
2
.github/docs/contribution-guide/resource.go
vendored
2
.github/docs/contribution-guide/resource.go
vendored
|
|
@ -1,3 +1,5 @@
|
|||
// Copyright (c) STACKIT
|
||||
|
||||
package foo
|
||||
|
||||
import (
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
// Copyright (c) STACKIT
|
||||
|
||||
package utils
|
||||
|
||||
import (
|
||||
|
|
|
|||
2
.github/workflows/ci.yaml
vendored
2
.github/workflows/ci.yaml
vendored
|
|
@ -8,7 +8,7 @@ on:
|
|||
- main
|
||||
|
||||
env:
|
||||
GO_VERSION: "1.24"
|
||||
GO_VERSION: "1.25"
|
||||
CODE_COVERAGE_FILE_NAME: "coverage.out" # must be the same as in Makefile
|
||||
CODE_COVERAGE_ARTIFACT_NAME: "code-coverage"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) HashiCorp, Inc.
|
||||
# Copyright (c) STACKIT
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
# Visit https://goreleaser.com for documentation on how to customize this
|
||||
|
|
|
|||
|
|
@ -1,39 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_affinity_group Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Affinity Group schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_affinity_group (Data Source)
|
||||
|
||||
Affinity Group schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_affinity_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
affinity_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `affinity_group_id` (String) The affinity group ID.
|
||||
- `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
|
||||
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`affinity_group_id`".
|
||||
- `members` (List of String) Affinity Group schema. Must have a `region` specified in the provider configuration.
|
||||
- `name` (String) The name of the affinity group.
|
||||
- `policy` (String) The policy of the affinity group.
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_cdn_custom_domain Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
CDN distribution data source schema.
|
||||
~> This datasource 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 (Data Source)
|
||||
|
||||
CDN distribution data source schema.
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_cdn_custom_domain" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
distribution_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "https://xxx.xxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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`
|
||||
|
||||
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,84 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_cdn_distribution Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
CDN distribution data source schema.
|
||||
~> This datasource 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 (Data Source)
|
||||
|
||||
CDN distribution data source schema.
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_cdn_distribution" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
distribution_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `distribution_id` (String) STACKIT project ID associated with the distribution
|
||||
- `project_id` (String) STACKIT project ID associated with the distribution
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `config` (Attributes) The distribution configuration (see [below for nested schema](#nestedatt--config))
|
||||
- `created_at` (String) Time when the distribution was created
|
||||
- `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`
|
||||
|
||||
Optional:
|
||||
|
||||
- `blocked_countries` (List of String) The configured countries where distribution of content is blocked
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `backend` (Attributes) The configured backend for the distribution (see [below for nested schema](#nestedatt--config--backend))
|
||||
- `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))
|
||||
- `regions` (List of String) The configured regions where content will be hosted
|
||||
|
||||
<a id="nestedatt--config--backend"></a>
|
||||
### Nested Schema for `config.backend`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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
|
||||
- `origin_url` (String) The configured backend type for the distribution
|
||||
- `type` (String) The configured backend type. Possible values are: `http`.
|
||||
|
||||
|
||||
<a id="nestedatt--config--optimizer"></a>
|
||||
### Nested Schema for `config.optimizer`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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,43 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_dns_record_set Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
DNS Record Set Resource schema.
|
||||
---
|
||||
|
||||
# stackit_dns_record_set (Data Source)
|
||||
|
||||
DNS Record Set Resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_dns_record_set" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
record_set_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the dns record set is associated.
|
||||
- `record_set_id` (String) The rr set id.
|
||||
- `zone_id` (String) The zone ID to which is dns record set is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `active` (Boolean) Specifies if the record set is active or not.
|
||||
- `comment` (String) Comment.
|
||||
- `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 data source. ID. It is structured as "`project_id`,`zone_id`,`record_set_id`".
|
||||
- `name` (String) Name of the record which should be a valid domain according to rfc1035 Section 2.3.4. E.g. `example.com`
|
||||
- `records` (List of String) Records.
|
||||
- `state` (String) Record set state.
|
||||
- `ttl` (Number) Time to live. E.g. 3600
|
||||
- `type` (String) The record set type. E.g. `A` or `CNAME`
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_dns_zone Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
DNS Zone resource schema.
|
||||
---
|
||||
|
||||
# stackit_dns_zone (Data Source)
|
||||
|
||||
DNS Zone resource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_dns_zone" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
zone_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the dns zone is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `dns_name` (String) The zone name. E.g. `example.com`
|
||||
- `zone_id` (String) The zone ID.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `acl` (String) The access control list.
|
||||
- `active` (Boolean)
|
||||
- `contact_email` (String) A contact e-mail for the zone.
|
||||
- `default_ttl` (Number) Default time to live.
|
||||
- `description` (String) Description of the zone.
|
||||
- `expire_time` (Number) Expire time.
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`zone_id`".
|
||||
- `is_reverse_zone` (Boolean) Specifies, if the zone is a reverse zone or not.
|
||||
- `name` (String) The user given name of the zone.
|
||||
- `negative_cache` (Number) Negative caching.
|
||||
- `primaries` (List of String) Primary name server for secondary zone.
|
||||
- `primary_name_server` (String) Primary name server. FQDN.
|
||||
- `record_count` (Number) Record count how many records are in the zone.
|
||||
- `refresh_time` (Number) Refresh time.
|
||||
- `retry_time` (Number) Retry time.
|
||||
- `serial_number` (Number) Serial number.
|
||||
- `state` (String) Zone state.
|
||||
- `type` (String) Zone type.
|
||||
- `visibility` (String) Visibility of the zone.
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_git Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Git Instance datasource schema.
|
||||
~> This datasource 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_git (Data Source)
|
||||
|
||||
Git Instance datasource schema.
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_git" "git" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID linked to the git instance.
|
||||
- `project_id` (String) STACKIT project ID to which the git instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `acl` (List of String) Restricted ACL for instance access.
|
||||
- `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.
|
||||
- `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`
|
||||
- `id` (String) Terraform's internal resource ID, structured as "`project_id`,`instance_id`".
|
||||
- `name` (String) Unique name linked to the git instance.
|
||||
- `url` (String) Url linked to the git instance.
|
||||
- `version` (String) Version linked to the git instance.
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_iaas_project Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Project details. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_iaas_project (Data Source)
|
||||
|
||||
Project details. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_iaas_project" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `area_id` (String) The area ID to which the project belongs to.
|
||||
- `created_at` (String) Date-time when the project was created.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`".
|
||||
- `internet_access` (Boolean) Specifies if the project has internet_access
|
||||
- `state` (String, Deprecated) Specifies the status of the project.
|
||||
- `status` (String) Specifies the status of the project.
|
||||
- `updated_at` (String) Date-time when the project was last updated.
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_image Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Image datasource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_image (Data Source)
|
||||
|
||||
Image datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_image" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
image_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `image_id` (String) The image ID.
|
||||
- `project_id` (String) STACKIT project ID to which the image is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `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))
|
||||
- `config` (Attributes) Properties to set hardware and scheduling settings for an image. (see [below for nested schema](#nestedatt--config))
|
||||
- `disk_format` (String) The disk format of the image.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`image_id`".
|
||||
- `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.
|
||||
- `name` (String) The name of the image.
|
||||
- `protected` (Boolean) Whether the image is protected.
|
||||
- `scope` (String) The scope of the image.
|
||||
|
||||
<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.
|
||||
|
||||
|
||||
<a id="nestedatt--config"></a>
|
||||
### Nested Schema for `config`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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.
|
||||
|
|
@ -1,161 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_image_v2 Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Image datasource schema. Must have a region specified in the provider configuration.
|
||||
~> Important: When using the name, name_regex, or filter attributes to select images dynamically, be aware that image IDs may change frequently. Each OS patch or update results in a new unique image ID. If this data source is used to populate fields like boot_volume.source_id in a server resource, it may cause Terraform to detect changes and recreate the associated resource.
|
||||
To avoid unintended updates or resource replacements:
|
||||
Prefer using a static image_id to pin a specific image version.If you accept automatic image updates but wish to suppress resource changes, use a lifecycle block to ignore relevant changes. For example:
|
||||
|
||||
resource "stackit_server" "example" {
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = data.stackit_image.latest.id
|
||||
}
|
||||
|
||||
lifecycle {
|
||||
ignore_changes = [boot_volume[0].source_id]
|
||||
}
|
||||
}
|
||||
|
||||
You can also list available images using the STACKIT CLI https://github.com/stackitcloud/stackit-cli:
|
||||
|
||||
stackit image list
|
||||
|
||||
~> This datasource 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_image_v2 (Data Source)
|
||||
|
||||
Image datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> Important: When using the `name`, `name_regex`, or `filter` attributes to select images dynamically, be aware that image IDs may change frequently. Each OS patch or update results in a new unique image ID. If this data source is used to populate fields like `boot_volume.source_id` in a server resource, it may cause Terraform to detect changes and recreate the associated resource.
|
||||
|
||||
To avoid unintended updates or resource replacements:
|
||||
- Prefer using a static `image_id` to pin a specific image version.
|
||||
- If you accept automatic image updates but wish to suppress resource changes, use a `lifecycle` block to ignore relevant changes. For example:
|
||||
|
||||
```hcl
|
||||
resource "stackit_server" "example" {
|
||||
boot_volume = {
|
||||
size = 64
|
||||
source_type = "image"
|
||||
source_id = data.stackit_image.latest.id
|
||||
}
|
||||
|
||||
lifecycle {
|
||||
ignore_changes = [boot_volume[0].source_id]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
You can also list available images using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):
|
||||
|
||||
```bash
|
||||
stackit image list
|
||||
```
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_image_v2" "default" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
image_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
data "stackit_image_v2" "name_match" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "Ubuntu 22.04"
|
||||
}
|
||||
|
||||
data "stackit_image_v2" "name_regex_latest" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name_regex = "^Ubuntu .*"
|
||||
}
|
||||
|
||||
data "stackit_image_v2" "name_regex_oldest" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name_regex = "^Ubuntu .*"
|
||||
sort_ascending = true
|
||||
}
|
||||
|
||||
data "stackit_image_v2" "filter_distro_version" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
filter = {
|
||||
distro = "debian"
|
||||
version = "11"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the image is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `filter` (Attributes) Additional filtering options based on image properties. Can be used independently or in conjunction with `name` or `name_regex`. (see [below for nested schema](#nestedatt--filter))
|
||||
- `image_id` (String) Image ID to fetch directly
|
||||
- `name` (String) Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`.
|
||||
- `name_regex` (String) Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`.
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `sort_ascending` (Boolean) If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `checksum` (Attributes) Representation of an image checksum. (see [below for nested schema](#nestedatt--checksum))
|
||||
- `config` (Attributes) Properties to set hardware and scheduling settings for an image. (see [below for nested schema](#nestedatt--config))
|
||||
- `disk_format` (String) The disk format of the image.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`image_id`".
|
||||
- `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.
|
||||
- `protected` (Boolean) Whether the image is protected.
|
||||
- `scope` (String) The scope of the image.
|
||||
|
||||
<a id="nestedatt--filter"></a>
|
||||
### Nested Schema for `filter`
|
||||
|
||||
Optional:
|
||||
|
||||
- `distro` (String) Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc.
|
||||
- `os` (String) Filter images by operating system type, such as `linux` or `windows`.
|
||||
- `secure_boot` (Boolean) Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot.
|
||||
- `uefi` (Boolean) Filter images based on UEFI support. Set to `true` to match images that support UEFI.
|
||||
- `version` (String) Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`.
|
||||
|
||||
|
||||
<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.
|
||||
|
||||
|
||||
<a id="nestedatt--config"></a>
|
||||
### Nested Schema for `config`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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.
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_key_pair Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Key pair resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_key_pair (Data Source)
|
||||
|
||||
Key pair resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_key_pair" "example" {
|
||||
name = "example-key-pair-name"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The name of the SSH key pair.
|
||||
|
||||
### 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`".
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container.
|
||||
- `public_key` (String) A string representation of the public SSH key. E.g., `ssh-rsa <key_data>` or `ssh-ed25519 <key-data>`.
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_kms_key Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
KMS Key datasource schema. Uses the default_region specified in the provider configuration as a fallback in case no region is defined on datasource level.
|
||||
---
|
||||
|
||||
# stackit_kms_key (Data Source)
|
||||
|
||||
KMS Key datasource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_kms_key" "key" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
keyring_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
key_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `key_id` (String) The ID of the key
|
||||
- `keyring_id` (String) The ID of the associated key ring
|
||||
- `project_id` (String) STACKIT project ID to which the key is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `access_scope` (String) The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.
|
||||
- `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`.
|
||||
- `description` (String) A user chosen description to distinguish multiple keys
|
||||
- `display_name` (String) The display name to distinguish multiple keys
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`keyring_id`,`key_id`".
|
||||
- `import_only` (Boolean) States whether versions can be created or only imported.
|
||||
- `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`.
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_kms_keyring Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
KMS Keyring datasource schema. Uses the default_region specified in the provider configuration as a fallback in case no region is defined on datasource level.
|
||||
---
|
||||
|
||||
# stackit_kms_keyring (Data Source)
|
||||
|
||||
KMS Keyring datasource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_kms_keyring" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
keyring_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `keyring_id` (String) An auto generated unique id which identifies the keyring.
|
||||
- `project_id` (String) STACKIT project ID to which the keyring is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) A user chosen description to distinguish multiple keyrings.
|
||||
- `display_name` (String) The display name to distinguish multiple keyrings.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`keyring_id`".
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_kms_wrapping_key Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
KMS wrapping key datasource schema.
|
||||
---
|
||||
|
||||
# stackit_kms_wrapping_key (Data Source)
|
||||
|
||||
KMS wrapping key datasource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_kms_wrapping_key" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
keyring_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
wrapping_key_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `keyring_id` (String) The ID of the associated keyring
|
||||
- `project_id` (String) STACKIT project ID to which the keyring is associated.
|
||||
- `wrapping_key_id` (String) The ID of the wrapping key
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `access_scope` (String) The access scope of the key. Default is `PUBLIC`. Possible values are: `PUBLIC`, `SNA`.
|
||||
- `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`.
|
||||
- `created_at` (String) The date and time the creation of the wrapping key was triggered.
|
||||
- `description` (String) A user chosen description to distinguish multiple wrapping keys.
|
||||
- `display_name` (String) The display name to distinguish multiple wrapping keys.
|
||||
- `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`".
|
||||
- `protection` (String) The underlying system that is responsible for protecting the key material. Possible values are: `software`.
|
||||
- `public_key` (String) The public key of the wrapping key.
|
||||
- `purpose` (String) The purpose for which the key will be used. Possible values are: `wrap_symmetric_key`, `wrap_asymmetric_key`.
|
||||
|
|
@ -1,174 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_loadbalancer Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Load Balancer data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_loadbalancer (Data Source)
|
||||
|
||||
Load Balancer data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_loadbalancer" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-load-balancer"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) Load balancer name.
|
||||
- `project_id` (String) STACKIT project ID to which the Load Balancer is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `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.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`","region","`name`".
|
||||
- `listeners` (Attributes List) List of all listeners which will accept traffic. Limited to 20. (see [below for nested schema](#nestedatt--listeners))
|
||||
- `networks` (Attributes List) List of networks that listeners and targets reside in. (see [below for nested schema](#nestedatt--networks))
|
||||
- `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`.
|
||||
- `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`.
|
||||
- `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))
|
||||
|
||||
<a id="nestedatt--listeners"></a>
|
||||
### Nested Schema for `listeners`
|
||||
|
||||
Optional:
|
||||
|
||||
- `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))
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `display_name` (String)
|
||||
- `port` (Number) Port number where we listen for traffic.
|
||||
- `protocol` (String) Protocol is the highest network protocol we understand to load balance.
|
||||
- `target_pool` (String) Reference target pool by target pool name.
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `idle_timeout` (String) Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour.
|
||||
|
||||
|
||||
<a id="nestedatt--listeners--udp"></a>
|
||||
### Nested Schema for `listeners.udp`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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.
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--networks"></a>
|
||||
### Nested Schema for `networks`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `network_id` (String) Openstack network ID.
|
||||
- `role` (String) The role defines how the load balancer is using the network.
|
||||
|
||||
|
||||
<a id="nestedatt--options"></a>
|
||||
### Nested Schema for `options`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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. (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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `logs` (Attributes) Observability logs configuration. (see [below for nested schema](#nestedatt--options--observability--logs))
|
||||
- `metrics` (Attributes) Observability metrics configuration. (see [below for nested schema](#nestedatt--options--observability--metrics))
|
||||
|
||||
<a id="nestedatt--options--observability--logs"></a>
|
||||
### Nested Schema for `options.observability.logs`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `credentials_ref` (String) Credentials reference for logs.
|
||||
- `push_url` (String) Credentials reference for logs.
|
||||
|
||||
|
||||
<a id="nestedatt--options--observability--metrics"></a>
|
||||
### Nested Schema for `options.observability.metrics`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `credentials_ref` (String) Credentials reference for metrics.
|
||||
- `push_url` (String) Credentials reference for metrics.
|
||||
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--target_pools"></a>
|
||||
### Nested Schema for `target_pools`
|
||||
|
||||
Optional:
|
||||
|
||||
- `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))
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `active_health_check` (Attributes) (see [below for nested schema](#nestedatt--target_pools--active_health_check))
|
||||
- `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))
|
||||
|
||||
<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--target_pools--active_health_check"></a>
|
||||
### Nested Schema for `target_pools.active_health_check`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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--targets"></a>
|
||||
### Nested Schema for `target_pools.targets`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `display_name` (String) Target display name
|
||||
- `ip` (String) Target IP
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_logme_credential Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
LogMe credential data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_logme_credential (Data Source)
|
||||
|
||||
LogMe credential data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_logme_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credential_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `instance_id` (String) ID of the LogMe instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `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_logme_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
LogMe instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_logme_instance (Data Source)
|
||||
|
||||
LogMe instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_logme_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `name` (String) Instance name.
|
||||
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `version` (String) The service version.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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,77 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_machine_type Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Machine type data source.
|
||||
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs/guides/opting_into_beta_resources for how to opt-in to use beta resources.
|
||||
---
|
||||
|
||||
# stackit_machine_type (Data Source)
|
||||
|
||||
Machine type data source.
|
||||
|
||||
~> This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our [guide](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
|
||||
data "stackit_machine_type" "two_vcpus_filter" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
filter = "vcpus==2"
|
||||
}
|
||||
|
||||
data "stackit_machine_type" "filter_sorted_ascending_false" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
filter = "vcpus >= 2 && ram >= 2048"
|
||||
sort_ascending = false
|
||||
}
|
||||
|
||||
data "stackit_machine_type" "intel_icelake_generic_filter" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
filter = "extraSpecs.cpu==\"intel-icelake-generic\" && vcpus == 2"
|
||||
}
|
||||
|
||||
# returns warning
|
||||
data "stackit_machine_type" "no_match" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
filter = "vcpus == 99"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `filter` (String) Expr-lang filter for filtering machine types.
|
||||
|
||||
Examples:
|
||||
- vcpus == 2
|
||||
- ram >= 2048
|
||||
- extraSpecs.cpu == "intel-icelake-generic"
|
||||
- extraSpecs.cpu == "intel-icelake-generic" && vcpus == 2
|
||||
|
||||
Syntax reference: https://expr-lang.org/docs/language-definition
|
||||
|
||||
You can also list available machine-types using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):
|
||||
|
||||
```bash
|
||||
stackit server machine-type list
|
||||
```
|
||||
- `project_id` (String) STACKIT Project ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
- `sort_ascending` (Boolean) Sort machine types by name ascending (`true`) or descending (`false`). Defaults to `false`
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) Machine type description.
|
||||
- `disk` (Number) Disk size in GB.
|
||||
- `extra_specs` (Map of String) Extra specs (e.g., CPU type, overcommit ratio).
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`image_id`".
|
||||
- `name` (String) Name of the machine type (e.g. 's1.2').
|
||||
- `ram` (Number) RAM size in MB.
|
||||
- `vcpus` (Number) Number of vCPUs.
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mariadb_credential Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MariaDB credential data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mariadb_credential (Data Source)
|
||||
|
||||
MariaDB credential data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_mariadb_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credential_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `instance_id` (String) ID of the MariaDB instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `name` (String)
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `uri` (String, Sensitive)
|
||||
- `username` (String)
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mariadb_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MariaDB instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mariadb_instance (Data Source)
|
||||
|
||||
MariaDB instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_mariadb_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `name` (String) Instance name.
|
||||
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `version` (String) The service version.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `enable_monitoring` (Boolean) Enable monitoring.
|
||||
- `graphite` (String)
|
||||
- `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.
|
||||
- `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,76 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mongodbflex_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MongoDB Flex instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mongodbflex_instance (Data Source)
|
||||
|
||||
MongoDB Flex instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_mongodbflex_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the MongoDB Flex instance.
|
||||
- `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
|
||||
|
||||
- `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))
|
||||
- `id` (String) Terraform's internal data source ID. It is structured as "`project_id`,`region`,`instance_id`".
|
||||
- `name` (String) Instance name.
|
||||
- `options` (Attributes) Custom parameters for the MongoDB Flex instance. (see [below for nested schema](#nestedatt--options))
|
||||
- `replicas` (Number)
|
||||
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
|
||||
- `version` (String)
|
||||
|
||||
<a id="nestedatt--flavor"></a>
|
||||
### Nested Schema for `flavor`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `cpu` (Number)
|
||||
- `description` (String)
|
||||
- `id` (String)
|
||||
- `ram` (Number)
|
||||
|
||||
|
||||
<a id="nestedatt--options"></a>
|
||||
### Nested Schema for `options`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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.
|
||||
- `point_in_time_window_hours` (Number) The number of hours back in time the point-in-time recovery feature will be able to recover.
|
||||
- `snapshot_retention_days` (Number) The number of days that continuous backups (controlled via the `backup_schedule`) will be retained.
|
||||
- `type` (String) Type of the MongoDB Flex instance.
|
||||
- `weekly_snapshot_retention_weeks` (Number) The number of weeks that weekly backups will be retained.
|
||||
|
||||
|
||||
<a id="nestedatt--storage"></a>
|
||||
### Nested Schema for `storage`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `class` (String)
|
||||
- `size` (Number)
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_mongodbflex_user Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
MongoDB Flex user data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_mongodbflex_user (Data Source)
|
||||
|
||||
MongoDB Flex user data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_mongodbflex_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the MongoDB Flex instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `user_id` (String) User ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `database` (String)
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`instance_id`,`user_id`".
|
||||
- `port` (Number)
|
||||
- `roles` (Set of String)
|
||||
- `username` (String)
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_network (Data Source)
|
||||
|
||||
Network resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_network" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `network_id` (String) The network ID.
|
||||
- `project_id` (String) STACKIT project ID to which the network is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) Can only be used when experimental "network" is set. This is likely going to undergo significant changes or be removed in the future.
|
||||
The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`network_id`".
|
||||
- `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, Deprecated) The IPv4 prefix of the network (CIDR).
|
||||
- `ipv4_prefix_length` (Number) The IPv4 prefix length of the network.
|
||||
- `ipv4_prefixes` (List of String) The IPv4 prefixes 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, Deprecated) The IPv6 prefix of the network (CIDR).
|
||||
- `ipv6_prefix_length` (Number) The IPv6 prefix length of the network.
|
||||
- `ipv6_prefixes` (List of String) The IPv6 prefixes of the network.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `name` (String) The name of the network.
|
||||
- `nameservers` (List of String, Deprecated) The nameservers of the network. This field is deprecated and will be removed soon, use `ipv4_nameservers` to configure the nameservers for IPv4.
|
||||
- `prefixes` (List of String, Deprecated) The prefixes of the network. This field is deprecated and will be removed soon, use `ipv4_prefixes` to read the prefixes of the IPv4 networks.
|
||||
- `public_ip` (String) The public IP of the network.
|
||||
- `routed` (Boolean) Shows if the network is routed and therefore accessible from other networks.
|
||||
- `routing_table_id` (String) Can only be used when experimental "network" is set. This is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
The ID of the routing table associated with the network.
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_area Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network area datasource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_network_area (Data Source)
|
||||
|
||||
Network area datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_network_area" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `network_area_id` (String) The network area ID.
|
||||
- `organization_id` (String) STACKIT organization ID to which the network area is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `default_nameservers` (List of String, Deprecated) List of DNS Servers/Nameservers.
|
||||
- `default_prefix_length` (Number, Deprecated) The default prefix length for networks in the network area.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`organization_id`,`network_area_id`".
|
||||
- `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.
|
||||
- `min_prefix_length` (Number, Deprecated) The minimal prefix length for networks in the network area.
|
||||
- `name` (String) The name of the network area.
|
||||
- `network_ranges` (Attributes List, Deprecated) List of Network ranges. (see [below for nested schema](#nestedatt--network_ranges))
|
||||
- `project_count` (Number) The amount of projects currently referencing this area.
|
||||
- `transfer_network` (String, Deprecated) Classless Inter-Domain Routing (CIDR).
|
||||
|
||||
<a id="nestedatt--network_ranges"></a>
|
||||
### Nested Schema for `network_ranges`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `network_range_id` (String)
|
||||
- `prefix` (String)
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_area_region Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network area region data source schema.
|
||||
---
|
||||
|
||||
# stackit_network_area_region (Data Source)
|
||||
|
||||
Network area region data source schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_network_area_region" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `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`".
|
||||
- `ipv4` (Attributes) The regional IPv4 config of a network area. (see [below for nested schema](#nestedatt--ipv4))
|
||||
|
||||
<a id="nestedatt--ipv4"></a>
|
||||
### Nested Schema for `ipv4`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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.
|
||||
- `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).
|
||||
|
||||
<a id="nestedatt--ipv4--network_ranges"></a>
|
||||
### Nested Schema for `ipv4.network_ranges`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `network_range_id` (String)
|
||||
- `prefix` (String) Classless Inter-Domain Routing (CIDR).
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_area_route Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network area route data resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_network_area_route (Data Source)
|
||||
|
||||
Network area route data resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_network_area_route" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_route_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `network_area_id` (String) The network area ID to which the network area route is associated.
|
||||
- `network_area_route_id` (String) The network area route 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
|
||||
|
||||
- `destination` (Attributes) Destination of the route. (see [below for nested schema](#nestedatt--destination))
|
||||
- `id` (String) Terraform's internal data source ID. It is structured as "`organization_id`,`region`,`network_area_id`,`network_area_route_id`".
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `next_hop` (Attributes) Next hop destination. (see [below for nested schema](#nestedatt--next_hop))
|
||||
|
||||
<a id="nestedatt--destination"></a>
|
||||
### Nested Schema for `destination`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `type` (String) CIDRV type. Possible values are: `cidrv4`, `cidrv6`.
|
||||
- `value` (String) An CIDR string.
|
||||
|
||||
|
||||
<a id="nestedatt--next_hop"></a>
|
||||
### Nested Schema for `next_hop`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `type` (String) Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`.
|
||||
- `value` (String) Either IPv4 or IPv6 (not set for blackhole and internet).
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_network_interface Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Network interface datasource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_network_interface (Data Source)
|
||||
|
||||
Network interface datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_network_interface" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_interface_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `network_id` (String) The network ID to which the network interface is associated.
|
||||
- `network_interface_id` (String) The network interface ID.
|
||||
- `project_id` (String) STACKIT project ID to which the network interface is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `allowed_addresses` (List of String) The list of CIDR (Classless Inter-Domain Routing) notations.
|
||||
- `device` (String) The device UUID of the network interface.
|
||||
- `id` (String) Terraform's internal data source ID. It is structured as "`project_id`,`region`,`network_id`,`network_interface_id`".
|
||||
- `ipv4` (String) The IPv4 address.
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a network interface.
|
||||
- `mac` (String) The MAC address of network interface.
|
||||
- `name` (String) The name of the network interface.
|
||||
- `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.
|
||||
- `type` (String) Type of network interface. Some of the possible values are: Possible values are: `server`, `metadata`, `gateway`.
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_objectstorage_bucket Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
ObjectStorage bucket data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_objectstorage_bucket (Data Source)
|
||||
|
||||
ObjectStorage bucket data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_objectstorage_bucket" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-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 data source identifier. It is structured as "`project_id`,`region`,`name`".
|
||||
- `url_path_style` (String)
|
||||
- `url_virtual_hosted_style` (String)
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_objectstorage_credential Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
ObjectStorage credential data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_objectstorage_credential (Data Source)
|
||||
|
||||
ObjectStorage credential data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_objectstorage_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credential_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credential_id` (String) The credential ID.
|
||||
- `credentials_group_id` (String) The credential group ID.
|
||||
- `project_id` (String) STACKIT Project ID to which the credential group is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `expiration_timestamp` (String)
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`credentials_group_id`,`credential_id`".
|
||||
- `name` (String)
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_objectstorage_credentials_group Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
ObjectStorage credentials group data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_objectstorage_credentials_group (Data Source)
|
||||
|
||||
ObjectStorage credentials group data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_objectstorage_credentials_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credentials_group_id` (String) The credentials group ID.
|
||||
- `project_id` (String) Object Storage 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
|
||||
|
||||
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`region`,`credentials_group_id`".
|
||||
- `name` (String) The credentials group's display name.
|
||||
- `urn` (String) Credentials group uniform resource name (URN)
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_alertgroup Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability alert group datasource schema. Used to create alerts based on metrics (Thanos). Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_alertgroup (Data Source)
|
||||
|
||||
Observability alert group datasource schema. Used to create alerts based on metrics (Thanos). Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_observability_alertgroup" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-alert-group"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`name`".
|
||||
- `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'.
|
||||
- `rules` (Attributes List) (see [below for nested schema](#nestedatt--rules))
|
||||
|
||||
<a id="nestedatt--rules"></a>
|
||||
### Nested Schema for `rules`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `alert` (String) The name of the alert rule. Is the identifier and must be unique in the group.
|
||||
- `annotations` (Map of String) A map of key:value. Annotations to add or overwrite for each alert
|
||||
- `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.
|
||||
- `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,158 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_instance (Data Source)
|
||||
|
||||
Observability instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_observability_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) The Observability instance ID.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `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))
|
||||
- `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 data source. ID. It is structured as "`project_id`,`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_retention_days` (Number) Specifies for how many days the logs are kept. Default is set to `7`.
|
||||
- `logs_url` (String) Specifies Logs URL.
|
||||
- `metrics_push_url` (String) Specifies URL for pushing metrics.
|
||||
- `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`.
|
||||
- `metrics_url` (String) Specifies metrics URL.
|
||||
- `name` (String) The name of the Observability instance.
|
||||
- `otlp_traces_url` (String)
|
||||
- `parameters` (Map of String) Additional parameters.
|
||||
- `plan_id` (String) The Observability plan ID.
|
||||
- `plan_name` (String) Specifies the Observability plan. E.g. `Observability-Monitoring-Medium-EU01`.
|
||||
- `targets_url` (String) Specifies Targets URL.
|
||||
- `traces_retention_days` (Number) Specifies for how many days the traces are kept. Default is set to `7`.
|
||||
- `zipkin_spans_url` (String)
|
||||
|
||||
<a id="nestedatt--alert_config"></a>
|
||||
### Nested Schema for `alert_config`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `global` (Attributes) Global configuration for the alerts. (see [below for nested schema](#nestedatt--alert_config--global))
|
||||
- `receivers` (Attributes List) List of alert receivers. (see [below for nested schema](#nestedatt--alert_config--receivers))
|
||||
- `route` (Attributes) The route for the alert. (see [below for nested schema](#nestedatt--alert_config--route))
|
||||
|
||||
<a id="nestedatt--alert_config--global"></a>
|
||||
### Nested Schema for `alert_config.global`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).
|
||||
|
||||
|
||||
<a id="nestedatt--alert_config--receivers"></a>
|
||||
### Nested Schema for `alert_config.receivers`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `email_configs` (Attributes List) List of email configurations. (see [below for nested schema](#nestedatt--alert_config--receivers--email_configs))
|
||||
- `name` (String) Name of the receiver.
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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.) .
|
||||
- `receiver` (String) The name of the receiver to route the alerts to.
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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.
|
||||
- `receiver` (String) The name of the receiver to route the alerts to.
|
||||
- `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).
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_logalertgroup Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability log alert group datasource schema. Used to create alerts based on logs (Loki). Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_logalertgroup (Data Source)
|
||||
|
||||
Observability log alert group datasource schema. Used to create alerts based on logs (Loki). Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_observability_logalertgroup" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-log-alert-group"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`,`name`".
|
||||
- `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'.
|
||||
- `rules` (Attributes List) (see [below for nested schema](#nestedatt--rules))
|
||||
|
||||
<a id="nestedatt--rules"></a>
|
||||
### Nested Schema for `rules`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `alert` (String) The name of the alert rule. Is the identifier and must be unique in the group.
|
||||
- `annotations` (Map of String) A map of key:value. Annotations to add or overwrite for each alert
|
||||
- `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.
|
||||
- `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,67 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_observability_scrapeconfig Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Observability scrape config data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_observability_scrapeconfig (Data Source)
|
||||
|
||||
Observability scrape config data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_observability_scrapeconfig" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) Observability instance ID to which the scraping job is associated.
|
||||
- `name` (String) Specifies the name of the scraping job
|
||||
- `project_id` (String) STACKIT project ID to which the scraping job is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `basic_auth` (Attributes) A basic authentication block. (see [below for nested schema](#nestedatt--basic_auth))
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`instance_id`,`name`".
|
||||
- `metrics_path` (String) Specifies the job scraping url path.
|
||||
- `saml2` (Attributes) A SAML2 configuration block. (see [below for nested schema](#nestedatt--saml2))
|
||||
- `sample_limit` (Number) Specifies the scrape sample limit.
|
||||
- `scheme` (String) Specifies the http scheme.
|
||||
- `scrape_interval` (String) Specifies the scrape interval as duration string.
|
||||
- `scrape_timeout` (String) Specifies the scrape timeout as duration string.
|
||||
- `targets` (Attributes List) The targets list (specified by the static config). (see [below for nested schema](#nestedatt--targets))
|
||||
|
||||
<a id="nestedatt--basic_auth"></a>
|
||||
### Nested Schema for `basic_auth`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `password` (String, Sensitive) Specifies basic auth password.
|
||||
- `username` (String) Specifies basic auth username.
|
||||
|
||||
|
||||
<a id="nestedatt--saml2"></a>
|
||||
### Nested Schema for `saml2`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `enable_url_parameters` (Boolean) Specifies if URL parameters are enabled
|
||||
|
||||
|
||||
<a id="nestedatt--targets"></a>
|
||||
### Nested Schema for `targets`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `labels` (Map of String) Specifies labels.
|
||||
- `urls` (List of String) Specifies target URLs.
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_opensearch_credential Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
OpenSearch credential data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_opensearch_credential (Data Source)
|
||||
|
||||
OpenSearch credential data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_opensearch_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credential_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `instance_id` (String) ID of the OpenSearch instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`,`credential_id`".
|
||||
- `password` (String, Sensitive)
|
||||
- `port` (Number)
|
||||
- `scheme` (String)
|
||||
- `uri` (String, Sensitive)
|
||||
- `username` (String)
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_opensearch_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
OpenSearch instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_opensearch_instance (Data Source)
|
||||
|
||||
OpenSearch instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_opensearch_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `name` (String) Instance name.
|
||||
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `version` (String) The service version.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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` (String) The TLS protocol to use.
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_postgresflex_database Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Postgres Flex database resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_postgresflex_database (Data Source)
|
||||
|
||||
Postgres Flex database resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_postgresflex_database" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
database_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `database_id` (String) Database ID.
|
||||
- `instance_id` (String) ID of the Postgres Flex instance.
|
||||
- `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
|
||||
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`instance_id`,`database_id`".
|
||||
- `name` (String) Database name.
|
||||
- `owner` (String) Username of the database owner.
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_postgresflex_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Postgres Flex instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_postgresflex_instance (Data Source)
|
||||
|
||||
Postgres Flex instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_postgresflex_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `acl` (List of String) The Access Control List (ACL) for the PostgresFlex instance.
|
||||
- `backup_schedule` (String)
|
||||
- `flavor` (Attributes) (see [below for nested schema](#nestedatt--flavor))
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`instance_id`".
|
||||
- `name` (String) Instance name.
|
||||
- `replicas` (Number)
|
||||
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
|
||||
- `version` (String)
|
||||
|
||||
<a id="nestedatt--flavor"></a>
|
||||
### Nested Schema for `flavor`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `cpu` (Number)
|
||||
- `description` (String)
|
||||
- `id` (String)
|
||||
- `ram` (Number)
|
||||
|
||||
|
||||
<a id="nestedatt--storage"></a>
|
||||
### Nested Schema for `storage`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `class` (String)
|
||||
- `size` (Number)
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_postgresflex_user Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Postgres Flex user data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_postgresflex_user (Data Source)
|
||||
|
||||
Postgres Flex user data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_postgresflex_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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.
|
||||
- `user_id` (String) User ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`instance_id`,`user_id`".
|
||||
- `port` (Number)
|
||||
- `roles` (Set of String)
|
||||
- `username` (String)
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_public_ip Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Public IP resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_public_ip (Data Source)
|
||||
|
||||
Public IP resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_public_ip" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
public_ip_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `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 datasource ID. It is structured as "`project_id`,`region`,`public_ip_id`".
|
||||
- `ip` (String) The IP address.
|
||||
- `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).
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_public_ip_ranges Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
A list of all public IP ranges that STACKIT uses.
|
||||
---
|
||||
|
||||
# stackit_public_ip_ranges (Data Source)
|
||||
|
||||
A list of all public IP ranges that STACKIT uses.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_public_ip_ranges" "example" {}
|
||||
|
||||
# example usage: allow stackit services and customer vpn cidr to access observability apis
|
||||
locals {
|
||||
vpn_cidrs = ["X.X.X.X/32", "X.X.X.X/24"]
|
||||
}
|
||||
|
||||
resource "stackit_observability_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
plan_name = "Observability-Monitoring-Medium-EU01"
|
||||
# Allow all stackit services and customer vpn cidr to access observability apis
|
||||
acl = concat(data.stackit_public_ip_ranges.example.cidr_list, local.vpn_cidrs)
|
||||
metrics_retention_days = 90
|
||||
metrics_retention_days_5m_downsampling = 90
|
||||
metrics_retention_days_1h_downsampling = 90
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `cidr_list` (List of String) A list of IP range strings (CIDRs) extracted from the public_ip_ranges for easy consumption.
|
||||
- `id` (String) Terraform's internal resource ID. It takes the values of "`public_ip_ranges.*.cidr`".
|
||||
- `public_ip_ranges` (Attributes List) A list of all public IP ranges. (see [below for nested schema](#nestedatt--public_ip_ranges))
|
||||
|
||||
<a id="nestedatt--public_ip_ranges"></a>
|
||||
### Nested Schema for `public_ip_ranges`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `cidr` (String) Classless Inter-Domain Routing (CIDR)
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_rabbitmq_credential Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
RabbitMQ credential data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_rabbitmq_credential (Data Source)
|
||||
|
||||
RabbitMQ credential data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_rabbitmq_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credential_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `instance_id` (String) ID of the RabbitMQ instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `http_api_uri` (String)
|
||||
- `http_api_uris` (List of String)
|
||||
- `id` (String) Terraform's internal data source. 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,61 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_rabbitmq_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
RabbitMQ instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_rabbitmq_instance (Data Source)
|
||||
|
||||
RabbitMQ instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_rabbitmq_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `name` (String) Instance name.
|
||||
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `version` (String) The service version.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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,41 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_redis_credential Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Redis credential data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_redis_credential (Data Source)
|
||||
|
||||
Redis credential data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_redis_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credential_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `credential_id` (String) The credential's ID.
|
||||
- `instance_id` (String) ID of the Redis instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `host` (String)
|
||||
- `hosts` (List of String)
|
||||
- `id` (String) Terraform's internal data source. 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,70 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_redis_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Redis instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_redis_instance (Data Source)
|
||||
|
||||
Redis instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_redis_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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
|
||||
|
||||
- `cf_guid` (String)
|
||||
- `cf_organization_guid` (String)
|
||||
- `cf_space_guid` (String)
|
||||
- `dashboard_url` (String)
|
||||
- `id` (String) Terraform's internal data source. identifier. It is structured as "`project_id`,`instance_id`".
|
||||
- `image_url` (String)
|
||||
- `name` (String) Instance name.
|
||||
- `parameters` (Attributes) (see [below for nested schema](#nestedatt--parameters))
|
||||
- `plan_id` (String) The selected plan ID.
|
||||
- `plan_name` (String) The selected plan name.
|
||||
- `version` (String) The service version.
|
||||
|
||||
<a id="nestedatt--parameters"></a>
|
||||
### Nested Schema for `parameters`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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,36 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_resourcemanager_folder Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
|
||||
---
|
||||
|
||||
# stackit_resourcemanager_folder (Data Source)
|
||||
|
||||
Resource Manager folder data source schema. To identify the folder, you need to provide the container_id.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_resourcemanager_folder" "example" {
|
||||
container_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `container_id` (String) Folder container ID. Globally unique, user-friendly identifier.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `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`".
|
||||
- `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}.
|
||||
- `name` (String) The name of the folder.
|
||||
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported.
|
||||
- `update_time` (String) Date-time at which the folder was last modified.
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_resourcemanager_project Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Resource Manager project data source schema. To identify the project, you need to provider either project_id or container_id. If you provide both, project_id will be used.
|
||||
---
|
||||
|
||||
# stackit_resourcemanager_project (Data Source)
|
||||
|
||||
Resource Manager project data source schema. To identify the project, you need to provider either project_id or container_id. If you provide both, project_id will be used.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_resourcemanager_project" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
container_id = "example-container-abc123"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Optional
|
||||
|
||||
- `container_id` (String) Project container ID. Globally unique, user-friendly identifier.
|
||||
- `project_id` (String) Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `creation_time` (String) Date-time at which the project was created.
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`container_id`".
|
||||
- `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}
|
||||
- `name` (String) Project name.
|
||||
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported
|
||||
- `update_time` (String) Date-time at which the project was last modified.
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_routing_table Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Routing table datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
---
|
||||
|
||||
# stackit_routing_table (Data Source)
|
||||
|
||||
Routing table datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_routing_table" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `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.
|
||||
- `routing_table_id` (String) The routing tables ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) Date-time when the routing table was created
|
||||
- `default` (Boolean) When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise.
|
||||
- `description` (String) Description of the routing table.
|
||||
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`".
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `name` (String) The name of the routing table.
|
||||
- `system_routes` (Boolean) This controls whether the routes for project-to-project communication are created automatically or not.
|
||||
- `updated_at` (String) Date-time when the routing table was updated
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_routing_table_route Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Routing table route datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
---
|
||||
|
||||
# stackit_routing_table_route (Data Source)
|
||||
|
||||
Routing table route datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_routing_table_route" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
route_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `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.
|
||||
- `route_id` (String) Route ID.
|
||||
- `routing_table_id` (String) The routing tables ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `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
|
||||
- `destination` (Attributes) Destination of the route. (see [below for nested schema](#nestedatt--destination))
|
||||
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`,`route_id`".
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `next_hop` (Attributes) Next hop destination. (see [below for nested schema](#nestedatt--next_hop))
|
||||
- `updated_at` (String) Date-time when the route was updated
|
||||
|
||||
<a id="nestedatt--destination"></a>
|
||||
### Nested Schema for `destination`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `type` (String) Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`.
|
||||
- `value` (String) Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_routing_table_routes Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Routing table routes datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
---
|
||||
|
||||
# stackit_routing_table_routes (Data Source)
|
||||
|
||||
Routing table routes datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_routing_table_routes" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
routing_table_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `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.
|
||||
- `routing_table_id` (String) The routing tables ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The datasource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`,`routing_table_id`,`route_id`".
|
||||
- `routes` (Attributes List) List of routes. (see [below for nested schema](#nestedatt--routes))
|
||||
|
||||
<a id="nestedatt--routes"></a>
|
||||
### Nested Schema for `routes`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `created_at` (String) Date-time when the route was created
|
||||
- `destination` (Attributes) Destination of the route. (see [below for nested schema](#nestedatt--routes--destination))
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `next_hop` (Attributes) Next hop destination. (see [below for nested schema](#nestedatt--routes--next_hop))
|
||||
- `route_id` (String) Route ID.
|
||||
- `updated_at` (String) Date-time when the route was updated
|
||||
|
||||
<a id="nestedatt--routes--destination"></a>
|
||||
### Nested Schema for `routes.destination`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `type` (String) CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage.
|
||||
- `value` (String) An CIDR string.
|
||||
|
||||
|
||||
<a id="nestedatt--routes--next_hop"></a>
|
||||
### Nested Schema for `routes.next_hop`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `type` (String) Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`.
|
||||
- `value` (String) Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage.
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_routing_tables Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Routing table datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
---
|
||||
|
||||
# stackit_routing_tables (Data Source)
|
||||
|
||||
Routing table datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource is part of the routing-tables experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_routing_tables" "example" {
|
||||
organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `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
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal datasource ID. It is structured as "`organization_id`,`region`,`network_area_id`".
|
||||
- `items` (Attributes List) List of routing tables. (see [below for nested schema](#nestedatt--items))
|
||||
|
||||
<a id="nestedatt--items"></a>
|
||||
### Nested Schema for `items`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `created_at` (String) Date-time when the routing table was created
|
||||
- `default` (Boolean) When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise.
|
||||
- `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
|
||||
- `name` (String) The name of the routing table.
|
||||
- `routing_table_id` (String) The routing tables ID.
|
||||
- `system_routes` (Boolean) This controls whether the routes for project-to-project communication are created automatically or not.
|
||||
- `updated_at` (String) Date-time when the routing table was updated
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_scf_organization Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
STACKIT Cloud Foundry organization datasource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_scf_organization (Data Source)
|
||||
|
||||
STACKIT Cloud Foundry organization datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_scf_organization" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used
|
||||
|
||||
### 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`".
|
||||
- `name` (String) The name of the organization
|
||||
- `platform_id` (String) The ID of the platform associated with the organization
|
||||
- `quota_id` (String) The ID of the quota associated with the organization
|
||||
- `status` (String) The status of the organization (e.g., deleting, delete_failed)
|
||||
- `suspended` (Boolean) A boolean indicating whether the organization is suspended
|
||||
- `updated_at` (String) The time when the organization was last updated
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_scf_organization_manager Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
STACKIT Cloud Foundry organization manager datasource schema.
|
||||
---
|
||||
|
||||
# stackit_scf_organization_manager (Data Source)
|
||||
|
||||
STACKIT Cloud Foundry organization manager datasource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_scf_organization_manager" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
org_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- 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`".
|
||||
- `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,40 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_scf_platform Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
STACKIT Cloud Foundry Platform datasource schema.
|
||||
---
|
||||
|
||||
# stackit_scf_platform (Data Source)
|
||||
|
||||
STACKIT Cloud Foundry Platform datasource schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_scf_platform" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
platform_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `platform_id` (String) The unique id of the platform
|
||||
- `project_id` (String) The ID of the project associated with the platform
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The region where the platform is located. If not defined, the provider region is used
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `api_url` (String) The CF API Url of the platform
|
||||
- `console_url` (String) The Stratos URL of the platform
|
||||
- `display_name` (String) The name of the platform
|
||||
- `id` (String) Terraform's internal resource ID, structured as "`project_id`,`region`,`platform_id`".
|
||||
- `system_id` (String) The ID of the platform System
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_secretsmanager_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Secrets Manager instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_secretsmanager_instance (Data Source)
|
||||
|
||||
Secrets Manager instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_secretsmanager_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the Secrets Manager instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `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
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
|
||||
- `name` (String) Instance name.
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_secretsmanager_user Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Secrets Manager user data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_secretsmanager_user (Data Source)
|
||||
|
||||
Secrets Manager user data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_secretsmanager_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the Secrets Manager instance.
|
||||
- `project_id` (String) STACKIT Project ID to which the instance is associated.
|
||||
- `user_id` (String) The user's ID.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) A user chosen description to differentiate between multiple users. Can't be changed after creation.
|
||||
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`instance_id`,`user_id`".
|
||||
- `username` (String) An auto-generated user name.
|
||||
- `write_enabled` (Boolean) If true, the user has writeaccess to the secrets engine.
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_security_group Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Security group datasource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_security_group (Data Source)
|
||||
|
||||
Security group datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_security_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
security_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the security group is associated.
|
||||
- `security_group_id` (String) The security group ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) The description of the security group.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`security_group_id`".
|
||||
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container
|
||||
- `name` (String) The name of the security group.
|
||||
- `stateful` (Boolean) Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server.
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_security_group_rule Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Security group datasource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_security_group_rule (Data Source)
|
||||
|
||||
Security group datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_security_group_rule" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
security_group_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
security_group_rule_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the security group rule is associated.
|
||||
- `security_group_id` (String) The security group ID.
|
||||
- `security_group_rule_id` (String) The security group rule ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) The description of the security group rule.
|
||||
- `direction` (String) The direction of the traffic which the rule should match. Some of the possible values are: Possible values are: `ingress`, `egress`.
|
||||
- `ether_type` (String) The ethertype which the rule should match.
|
||||
- `icmp_parameters` (Attributes) ICMP Parameters. (see [below for nested schema](#nestedatt--icmp_parameters))
|
||||
- `id` (String) Terraform's internal datasource ID. It is structured as "`project_id`,`region`,`security_group_id`,`security_group_rule_id`".
|
||||
- `ip_range` (String) The remote IP range which the rule should match.
|
||||
- `port_range` (Attributes) The range of ports. (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))
|
||||
- `remote_security_group_id` (String) The remote security group which the rule should match.
|
||||
|
||||
<a id="nestedatt--icmp_parameters"></a>
|
||||
### Nested Schema for `icmp_parameters`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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 minimum.
|
||||
|
||||
|
||||
<a id="nestedatt--protocol"></a>
|
||||
### Nested Schema for `protocol`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `name` (String) The protocol name which the rule should match.
|
||||
- `number` (Number) The protocol number which the rule should match.
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server datasource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_server (Data Source)
|
||||
|
||||
Server datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_server" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the server is associated.
|
||||
- `server_id` (String) The server ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `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))
|
||||
- `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`".
|
||||
- `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
|
||||
- `launched_at` (String) Date-time when the server was launched
|
||||
- `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.
|
||||
- `network_interfaces` (List of String) The IDs of network interfaces which should be attached to the server. Updating it will recreate the server.
|
||||
- `updated_at` (String) Date-time when the server was updated
|
||||
- `user_data` (String) User data that is passed via cloud-init to the server.
|
||||
|
||||
<a id="nestedatt--boot_volume"></a>
|
||||
### Nested Schema for `boot_volume`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `delete_on_termination` (Boolean) Delete the volume during the termination of the server.
|
||||
- `id` (String) The ID of the boot volume
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_backup_schedule Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server backup schedule datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource 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 (Data Source)
|
||||
|
||||
Server backup schedule datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_server_backup_schedule" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
backup_schedule_id = xxxxx
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `backup_schedule_id` (Number) Backup schedule ID.
|
||||
- `project_id` (String) STACKIT Project ID to which the server is associated.
|
||||
- `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_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.
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`server_id`,`backup_schedule_id`".
|
||||
- `name` (String) The schedule name.
|
||||
- `rrule` (String) Backup schedule described in `rrule` (recurrence rule) format.
|
||||
|
||||
<a id="nestedatt--backup_properties"></a>
|
||||
### Nested Schema for `backup_properties`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `name` (String)
|
||||
- `retention_period` (Number)
|
||||
- `volume_ids` (List of String)
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_backup_schedules Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server backup schedules datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource 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_schedules (Data Source)
|
||||
|
||||
Server backup schedules datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_server_backup_schedules" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT Project ID (UUID) to which the server is associated.
|
||||
- `server_id` (String) Server ID (UUID) to which the backup schedule is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`server_id`".
|
||||
- `items` (Attributes List) (see [below for nested schema](#nestedatt--items))
|
||||
|
||||
<a id="nestedatt--items"></a>
|
||||
### Nested Schema for `items`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `backup_properties` (Attributes) Backup schedule details for the backups. (see [below for nested schema](#nestedatt--items--backup_properties))
|
||||
- `backup_schedule_id` (Number)
|
||||
- `enabled` (Boolean) Is the backup schedule enabled or disabled.
|
||||
- `name` (String) The backup schedule name.
|
||||
- `rrule` (String) Backup schedule described in `rrule` (recurrence rule) format.
|
||||
|
||||
<a id="nestedatt--items--backup_properties"></a>
|
||||
### Nested Schema for `items.backup_properties`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `name` (String)
|
||||
- `retention_period` (Number)
|
||||
- `volume_ids` (List of String)
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_update_schedule Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server update schedule datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource 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 (Data Source)
|
||||
|
||||
Server update schedule datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_server_update_schedule" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
update_schedule_id = xxxxx
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT Project ID to which the server is associated.
|
||||
- `server_id` (String) Server ID for the update schedule.
|
||||
- `update_schedule_id` (Number) Update schedule ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `enabled` (Boolean) Is the update schedule enabled or disabled.
|
||||
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`server_id`,`update_schedule_id`".
|
||||
- `maintenance_window` (Number) Maintenance window [1..24].
|
||||
- `name` (String) The schedule name.
|
||||
- `rrule` (String) Update schedule described in `rrule` (recurrence rule) format.
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_server_update_schedules Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Server update schedules datasource schema. Must have a region specified in the provider configuration.
|
||||
~> This datasource 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_schedules (Data Source)
|
||||
|
||||
Server update schedules datasource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
~> This datasource 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
|
||||
data "stackit_server_update_schedules" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
server_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT Project ID (UUID) to which the server is associated.
|
||||
- `server_id` (String) Server ID (UUID) to which the update schedule is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`region`,`server_id`".
|
||||
- `items` (Attributes List) (see [below for nested schema](#nestedatt--items))
|
||||
|
||||
<a id="nestedatt--items"></a>
|
||||
### Nested Schema for `items`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `enabled` (Boolean) Is the update schedule enabled or disabled.
|
||||
- `maintenance_window` (Number) Maintenance window [1..24].
|
||||
- `name` (String) The update schedule name.
|
||||
- `rrule` (String) Update schedule described in `rrule` (recurrence rule) format.
|
||||
- `update_schedule_id` (Number)
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_service_account Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Service account data source schema.
|
||||
---
|
||||
|
||||
# stackit_service_account (Data Source)
|
||||
|
||||
Service account data source schema.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_service_account" "sa" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
email = "sa01-8565oq1@sa.stackit.cloud"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `email` (String) Email of the service account.
|
||||
- `project_id` (String) STACKIT project ID to which the service account is associated.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `id` (String) Terraform's internal resource ID, structured as "`project_id`,`email`".
|
||||
- `name` (String) Name of the service account.
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_ske_cluster Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
SKE Cluster data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_ske_cluster (Data Source)
|
||||
|
||||
SKE Cluster data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_ske_cluster" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-name"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `name` (String) The cluster name.
|
||||
- `project_id` (String) STACKIT project ID to which the cluster is associated.
|
||||
|
||||
### Optional
|
||||
|
||||
- `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.
|
||||
- `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))
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`name`".
|
||||
- `kubernetes_version_min` (String) The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & 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 `kubernetes_version_used` field.
|
||||
- `kubernetes_version_used` (String) Full Kubernetes version used. For example, if `1.22` was selected, this value may result to `1.22.15`
|
||||
- `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))
|
||||
- `node_pools` (Attributes List) One or more `node_pool` block as defined below. (see [below for nested schema](#nestedatt--node_pools))
|
||||
- `pod_address_ranges` (List of String) The network ranges (in CIDR notation) used by pods of the cluster.
|
||||
|
||||
<a id="nestedatt--extensions"></a>
|
||||
### Nested Schema for `extensions`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `argus_instance_id` (String) Instance ID of argus
|
||||
- `enabled` (Boolean) Flag to enable/disable argus extensions.
|
||||
|
||||
|
||||
<a id="nestedatt--extensions--dns"></a>
|
||||
### Nested Schema for `extensions.dns`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `enabled` (Boolean) Flag to enable/disable DNS extensions
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `enabled` (Boolean) Flag to enable/disable Observability extensions.
|
||||
- `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`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `end` (String) End time of hibernation, in crontab syntax.
|
||||
- `start` (String) Start time of cluster hibernation in crontab syntax.
|
||||
- `timezone` (String) Timezone name corresponding to a file in the IANA Time Zone database.
|
||||
|
||||
|
||||
<a id="nestedatt--maintenance"></a>
|
||||
### Nested Schema for `maintenance`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `enable_kubernetes_version_updates` (Boolean) Flag to enable/disable auto-updates of the Kubernetes version.
|
||||
- `enable_machine_image_version_updates` (Boolean) Flag to enable/disable auto-updates of the OS image version.
|
||||
- `end` (String) Date time for maintenance window end.
|
||||
- `start` (String) Date time for maintenance window start.
|
||||
|
||||
|
||||
<a id="nestedatt--network"></a>
|
||||
### Nested Schema for `network`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `id` (String) ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed.
|
||||
|
||||
|
||||
<a id="nestedatt--node_pools"></a>
|
||||
### Nested Schema for `node_pools`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `allow_system_components` (Boolean) Allow system components to run on this node pool.
|
||||
- `availability_zones` (List of String) Specify a list of availability zones.
|
||||
- `cri` (String) Specifies the container runtime.
|
||||
- `labels` (Map of String) Labels to add to each node.
|
||||
- `machine_type` (String) The machine type.
|
||||
- `max_surge` (Number) The maximum number of nodes upgraded simultaneously.
|
||||
- `max_unavailable` (Number) The maximum number of nodes unavailable during upgraded.
|
||||
- `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.
|
||||
- `os_name` (String) The name of the OS image.
|
||||
- `os_version` (String) The OS image version.
|
||||
- `os_version_min` (String) The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field.
|
||||
- `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/).
|
||||
- `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.
|
||||
- `volume_type` (String) Specifies the volume type.
|
||||
|
||||
<a id="nestedatt--node_pools--taints"></a>
|
||||
### Nested Schema for `node_pools.taints`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `effect` (String) The taint effect.
|
||||
- `key` (String) Taint key to be applied to a node.
|
||||
- `value` (String) Taint value corresponding to the taint key.
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_sqlserverflex_instance Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
SQLServer Flex instance data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_sqlserverflex_instance (Data Source)
|
||||
|
||||
SQLServer Flex instance data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_sqlserverflex_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `instance_id` (String) ID of the SQLServer Flex instance.
|
||||
- `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
|
||||
|
||||
- `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 * * *").
|
||||
- `flavor` (Attributes) (see [below for nested schema](#nestedatt--flavor))
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`instance_id`".
|
||||
- `name` (String) Instance name.
|
||||
- `options` (Attributes) Custom parameters for the SQLServer Flex instance. (see [below for nested schema](#nestedatt--options))
|
||||
- `replicas` (Number)
|
||||
- `storage` (Attributes) (see [below for nested schema](#nestedatt--storage))
|
||||
- `version` (String)
|
||||
|
||||
<a id="nestedatt--flavor"></a>
|
||||
### Nested Schema for `flavor`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `cpu` (Number)
|
||||
- `description` (String)
|
||||
- `id` (String)
|
||||
- `ram` (Number)
|
||||
|
||||
|
||||
<a id="nestedatt--options"></a>
|
||||
### Nested Schema for `options`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `edition` (String)
|
||||
- `retention_days` (Number)
|
||||
|
||||
|
||||
<a id="nestedatt--storage"></a>
|
||||
### Nested Schema for `storage`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `class` (String)
|
||||
- `size` (Number)
|
||||
|
|
@ -1,19 +1,21 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_sqlserverflex_user Data Source - stackit"
|
||||
page_title: "stackitprivatepreview_sqlserverflexalpha_user Data Source - stackitprivatepreview"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
SQLServer Flex user data source schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_sqlserverflex_user (Data Source)
|
||||
# stackitprivatepreview_sqlserverflexalpha_user (Data Source)
|
||||
|
||||
SQLServer Flex user data source schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_sqlserverflex_user" "example" {
|
||||
# Copyright (c) STACKIT
|
||||
|
||||
data "stackitprivatepreview_sqlserverflexalpha_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
user_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
|
|
@ -27,7 +29,7 @@ data "stackit_sqlserverflex_user" "example" {
|
|||
|
||||
- `instance_id` (String) ID of the SQLServer Flex instance.
|
||||
- `project_id` (String) STACKIT project ID to which the instance is associated.
|
||||
- `user_id` (String) User ID.
|
||||
- `user_id` (Number) User ID.
|
||||
|
||||
### Optional
|
||||
|
||||
|
|
@ -35,8 +37,10 @@ data "stackit_sqlserverflex_user" "example" {
|
|||
|
||||
### Read-Only
|
||||
|
||||
- `default_database` (String)
|
||||
- `host` (String)
|
||||
- `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`region`,`instance_id`,`user_id`".
|
||||
- `port` (Number)
|
||||
- `roles` (Set of String) Database access levels for the user.
|
||||
- `status` (String)
|
||||
- `username` (String) Username of the SQLServer Flex instance.
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_volume Data Source - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Volume resource schema. Must have a region specified in the provider configuration.
|
||||
---
|
||||
|
||||
# stackit_volume (Data Source)
|
||||
|
||||
Volume resource schema. Must have a `region` specified in the provider configuration.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
data "stackit_volume" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
volume_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `project_id` (String) STACKIT project ID to which the volume is associated.
|
||||
- `volume_id` (String) The volume ID.
|
||||
|
||||
### Optional
|
||||
|
||||
- `region` (String) The resource region. If not defined, the provider region is used.
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `availability_zone` (String) The availability zone of the volume.
|
||||
- `description` (String) The description of the volume.
|
||||
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`volume_id`".
|
||||
- `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)
|
||||
- `server_id` (String) The server ID of the server to which the volume is attached to.
|
||||
- `size` (Number) The size of the volume in GB. It can only be updated to a larger value than the current size
|
||||
- `source` (Attributes) The source of the volume. It can be either a volume, an image, a snapshot or a backup (see [below for nested schema](#nestedatt--source))
|
||||
|
||||
<a id="nestedatt--source"></a>
|
||||
### Nested Schema for `source`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `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`.
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "stackit_access_token Ephemeral Resource - stackit"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Ephemeral resource that generates a short-lived STACKIT access token (JWT) using a service account key. A new token is generated each time the resource is evaluated, and it remains consistent for the duration of a Terraform operation. If a private key is not explicitly provided, the provider attempts to extract it from the service account key instead. Access tokens generated from service account keys expire after 60 minutes.
|
||||
~> Service account key credentials must be configured either in the STACKIT provider configuration or via environment variables (see example below). If any other authentication method is configured, this ephemeral resource will fail with an error.
|
||||
~> This ephemeral-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_access_token (Ephemeral Resource)
|
||||
|
||||
Ephemeral resource that generates a short-lived STACKIT access token (JWT) using a service account key. A new token is generated each time the resource is evaluated, and it remains consistent for the duration of a Terraform operation. If a private key is not explicitly provided, the provider attempts to extract it from the service account key instead. Access tokens generated from service account keys expire after 60 minutes.
|
||||
|
||||
~> Service account key credentials must be configured either in the STACKIT provider configuration or via environment variables (see example below). If any other authentication method is configured, this ephemeral resource will fail with an error.
|
||||
|
||||
~> This ephemeral-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
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
service_account_key_path = "/path/to/sa_key.json"
|
||||
enable_beta_resources = true
|
||||
}
|
||||
|
||||
ephemeral "stackit_access_token" "example" {}
|
||||
|
||||
locals {
|
||||
stackit_api_base_url = "https://iaas.api.stackit.cloud"
|
||||
public_ip_path = "/v2/projects/${var.project_id}/regions/${var.region}/public-ips"
|
||||
|
||||
public_ip_payload = {
|
||||
labels = {
|
||||
key = "value"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Docs: https://registry.terraform.io/providers/Mastercard/restapi/latest
|
||||
provider "restapi" {
|
||||
uri = local.stackit_api_base_url
|
||||
write_returns_object = true
|
||||
|
||||
headers = {
|
||||
Authorization = "Bearer ${ephemeral.stackit_access_token.example.access_token}"
|
||||
Content-Type = "application/json"
|
||||
}
|
||||
|
||||
create_method = "POST"
|
||||
update_method = "PATCH"
|
||||
destroy_method = "DELETE"
|
||||
}
|
||||
|
||||
resource "restapi_object" "public_ip_restapi" {
|
||||
path = local.public_ip_path
|
||||
data = jsonencode(local.public_ip_payload)
|
||||
|
||||
id_attribute = "id"
|
||||
read_method = "GET"
|
||||
create_method = "POST"
|
||||
update_method = "PATCH"
|
||||
destroy_method = "DELETE"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `access_token` (String, Sensitive) JWT access token for STACKIT API authentication.
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
---
|
||||
page_title: "Using AWS Provider for STACKIT Object Storage (S3 compatible)"
|
||||
---
|
||||
# Using AWS Provider for STACKIT Object Storage (S3 compatible)
|
||||
|
||||
## Overview
|
||||
|
||||
This guide outlines the process of utilizing the [AWS Terraform Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) alongside the STACKIT provider to create and manage STACKIT Object Storage (S3 compatible) resources.
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Configure STACKIT Provider**
|
||||
|
||||
First, configure the STACKIT provider to connect to the STACKIT services.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
```
|
||||
|
||||
2. **Define STACKIT Object Storage Bucket**
|
||||
|
||||
Create a STACKIT Object Storage Bucket and obtain credentials for the AWS provider.
|
||||
|
||||
```hcl
|
||||
resource "stackit_objectstorage_bucket" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
}
|
||||
|
||||
resource "stackit_objectstorage_credentials_group" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-credentials-group"
|
||||
}
|
||||
|
||||
resource "stackit_objectstorage_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
credentials_group_id = stackit_objectstorage_credentials_group.example.credentials_group_id
|
||||
expiration_timestamp = "2027-01-02T03:04:05Z"
|
||||
}
|
||||
```
|
||||
|
||||
3. **Configure AWS Provider**
|
||||
|
||||
Configure the AWS provider to connect to the STACKIT Object Storage bucket.
|
||||
|
||||
```hcl
|
||||
provider "aws" {
|
||||
region = "eu01"
|
||||
skip_credentials_validation = true
|
||||
skip_region_validation = true
|
||||
skip_requesting_account_id = true
|
||||
|
||||
access_key = stackit_objectstorage_credential.example.access_key
|
||||
secret_key = stackit_objectstorage_credential.example.secret_access_key
|
||||
|
||||
endpoints {
|
||||
s3 = "https://object.storage.eu01.onstackit.cloud"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
4. **Use the Provider to Manage Objects or Policies**
|
||||
|
||||
```hcl
|
||||
resource "aws_s3_object" "test_file" {
|
||||
bucket = stackit_objectstorage_bucket.example.name
|
||||
key = "hello_world.txt"
|
||||
source = "files/hello_world.txt"
|
||||
content_type = "text/plain"
|
||||
etag = filemd5("files/hello_world.txt")
|
||||
}
|
||||
|
||||
resource "aws_s3_bucket_policy" "allow_public_read_access" {
|
||||
bucket = stackit_objectstorage_bucket.example.name
|
||||
policy = <<EOF
|
||||
{
|
||||
"Statement": [
|
||||
{
|
||||
"Sid": "Public GET",
|
||||
"Effect": "Allow",
|
||||
"Principal": "*",
|
||||
"Action": "s3:GetObject",
|
||||
"Resource": "urn:sgws:s3:::example/*"
|
||||
}
|
||||
]
|
||||
}
|
||||
EOF
|
||||
}
|
||||
```
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
---
|
||||
page_title: "Using Kubernetes Provider with STACKIT SKE"
|
||||
---
|
||||
# Using Kubernetes Provider with STACKIT SKE
|
||||
|
||||
## Overview
|
||||
|
||||
This guide outlines the process of utilizing the [HashiCorp Kubernetes provider](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs) alongside the STACKIT provider to create and manage resources in a STACKIT SKE Cluster.
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Configure STACKIT Provider**
|
||||
|
||||
First, configure the STACKIT provider to connect to the STACKIT services.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
```
|
||||
|
||||
2. **Create STACKIT SKE Cluster**
|
||||
|
||||
Define and create the STACKIT SKE cluster resource with the necessary specifications.
|
||||
|
||||
```hcl
|
||||
resource "stackit_ske_cluster" "ske_cluster_01" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-cluster"
|
||||
kubernetes_version_min = "1.31"
|
||||
|
||||
node_pools = [
|
||||
{
|
||||
name = "example-node-pool"
|
||||
machine_type = "g2i.4"
|
||||
minimum = 1
|
||||
maximum = 2
|
||||
availability_zones = ["eu01-1"]
|
||||
os_version_min = "3815.2.5"
|
||||
os_name = "flatcar"
|
||||
volume_size = 32
|
||||
volume_type = "storage_premium_perf6"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
3. **Define STACKIT SKE Kubeconfig**
|
||||
|
||||
Create a resource to obtain the kubeconfig for the newly created STACKIT SKE cluster.
|
||||
|
||||
```hcl
|
||||
resource "stackit_ske_kubeconfig" "ske_kubeconfig_01" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
cluster_name = stackit_ske_cluster.ske_cluster_01.name
|
||||
refresh = true
|
||||
}
|
||||
```
|
||||
|
||||
4. **Configure Kubernetes Provider**
|
||||
|
||||
Use the kubeconfig from the STACKIT SKE cluster to configure the Kubernetes provider.
|
||||
|
||||
```hcl
|
||||
provider "kubernetes" {
|
||||
host = yamldecode(stackit_ske_kubeconfig.ske_kubeconfig_01.kube_config).clusters[0].cluster.server
|
||||
client_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.ske_kubeconfig_01.kube_config).users[0].user["client-certificate-data"])
|
||||
client_key = base64decode(yamldecode(stackit_ske_kubeconfig.ske_kubeconfig_01.kube_config).users[0].user["client-key-data"])
|
||||
cluster_ca_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.ske_kubeconfig_01.kube_config).clusters[0].cluster["certificate-authority-data"])
|
||||
}
|
||||
```
|
||||
|
||||
5. **Define Kubernetes Resources**
|
||||
|
||||
Now you can start defining Kubernetes resources that you want to manage. Here is an example of creating a Kubernetes Namespace.
|
||||
|
||||
```hcl
|
||||
resource "kubernetes_namespace" "dev" {
|
||||
metadata {
|
||||
name = "dev"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
---
|
||||
page_title: "Configuring Beta Resources in the STACKIT Terraform Provider"
|
||||
---
|
||||
# Configuring Beta Resources in the STACKIT Terraform Provider
|
||||
|
||||
## Overview
|
||||
|
||||
This guide explains how to opt into beta resources within the STACKIT Terraform provider. Beta resources are new services and features from STACKIT that are still in development and might not yet have a stable API.
|
||||
|
||||
Opting into beta functionality allows users to experiment with new features and services before their official release, without compromising the stability of other resources and the provider itself. However, it's important to remember that beta resources may not be as stable as fully released counterparts, so use them with caution and provide feedback to help improve these services.
|
||||
|
||||
## The Process of Opting into the Beta
|
||||
|
||||
To use beta resources in the STACKIT Terraform provider, you have two options:
|
||||
|
||||
### Option 1: Provider Configuration
|
||||
|
||||
Set the `enable_beta_resources` option in the provider configuration. This is a boolean attribute that can be either `true` or `false`.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
enable_beta_resources = true
|
||||
}
|
||||
```
|
||||
|
||||
### Option 2: Environment Variable
|
||||
|
||||
Set the `STACKIT_TF_ENABLE_BETA_RESOURCES` environment variable to `"true"` or `"false"`. Other values will be ignored and will produce a warning.
|
||||
|
||||
```sh
|
||||
export STACKIT_TF_ENABLE_BETA_RESOURCES=true
|
||||
```
|
||||
|
||||
-> The environment variable takes precedence over the provider configuration option. This means that if the `STACKIT_TF_ENABLE_BETA_RESOURCES` environment variable is set to a valid value (`"true"` or `"false"`), it will override the `enable_beta_resources` option specified in the provider configuration.
|
||||
|
|
@ -1,251 +0,0 @@
|
|||
---
|
||||
page_title: "How to provision Cloud Foundry using Terraform"
|
||||
---
|
||||
# How to provision Cloud Foundry using Terraform
|
||||
|
||||
## Objective
|
||||
|
||||
This tutorial demonstrates how to provision Cloud Foundry resources by
|
||||
integrating the STACKIT Terraform provider with the Cloud Foundry Terraform
|
||||
provider. The STACKIT Terraform provider will create a managed Cloud Foundry
|
||||
organization and set up a technical "org manager" user with
|
||||
`organization_manager` permissions. These credentials, along with the Cloud
|
||||
Foundry API URL (retrieved dynamically from a platform data resource), are
|
||||
passed to the Cloud Foundry Terraform provider to manage resources within the
|
||||
new organization.
|
||||
|
||||
### Output
|
||||
|
||||
This configuration creates a Cloud Foundry organization, mirroring the structure
|
||||
created via the portal. It sets up three distinct spaces: `dev`, `qa`, and
|
||||
`prod`. The configuration assigns, a specified user the `organization_manager`
|
||||
and `organization_user` roles at the organization level, and the
|
||||
`space_developer` role in each space.
|
||||
|
||||
### Scope
|
||||
|
||||
This tutorial covers the interaction between the STACKIT Terraform provider and
|
||||
the Cloud Foundry Terraform provider. It assumes you are familiar with:
|
||||
|
||||
- Setting up a STACKIT project and configuring the STACKIT Terraform provider
|
||||
with a service account (see the general STACKIT documentation for details).
|
||||
- Basic Terraform concepts, such as variables and locals.
|
||||
|
||||
This document does not cover foundational topics or every feature of the Cloud
|
||||
Foundry Terraform provider.
|
||||
|
||||
### Example configuration
|
||||
|
||||
The following Terraform configuration provisions a Cloud Foundry organization
|
||||
and related resources using the STACKIT Terraform provider and the Cloud Foundry
|
||||
Terraform provider:
|
||||
|
||||
```
|
||||
terraform {
|
||||
required_providers {
|
||||
stackit = {
|
||||
source = "stackitcloud/stackit"
|
||||
}
|
||||
cloudfoundry = {
|
||||
source = "cloudfoundry/cloudfoundry"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
variable "project_id" {
|
||||
type = string
|
||||
description = "Id of the Project"
|
||||
}
|
||||
|
||||
variable "org_name" {
|
||||
type = string
|
||||
description = "Name of the Organization"
|
||||
}
|
||||
|
||||
variable "admin_email" {
|
||||
type = string
|
||||
description = "Users who are granted permissions"
|
||||
}
|
||||
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
|
||||
resource "stackit_scf_organization" "scf_org" {
|
||||
name = var.org_name
|
||||
project_id = var.project_id
|
||||
}
|
||||
|
||||
data "stackit_scf_platform" "scf_platform" {
|
||||
project_id = var.project_id
|
||||
platform_id = stackit_scf_organization.scf_org.platform_id
|
||||
}
|
||||
|
||||
resource "stackit_scf_organization_manager" "scf_manager" {
|
||||
project_id = var.project_id
|
||||
org_id = stackit_scf_organization.scf_org.org_id
|
||||
}
|
||||
|
||||
provider "cloudfoundry" {
|
||||
api_url = data.stackit_scf_platform.scf_platform.api_url
|
||||
user = stackit_scf_organization_manager.scf_manager.username
|
||||
password = stackit_scf_organization_manager.scf_manager.password
|
||||
}
|
||||
|
||||
locals {
|
||||
spaces = ["dev", "qa", "prod"]
|
||||
}
|
||||
|
||||
resource "cloudfoundry_org_role" "org_user" {
|
||||
username = var.admin_email
|
||||
type = "organization_user"
|
||||
org = stackit_scf_organization.scf_org.org_id
|
||||
}
|
||||
|
||||
resource "cloudfoundry_org_role" "org_manager" {
|
||||
username = var.admin_email
|
||||
type = "organization_manager"
|
||||
org = stackit_scf_organization.scf_org.org_id
|
||||
}
|
||||
|
||||
resource "cloudfoundry_space" "spaces" {
|
||||
for_each = toset(local.spaces)
|
||||
name = each.key
|
||||
org = stackit_scf_organization.scf_org.org_id
|
||||
}
|
||||
|
||||
resource "cloudfoundry_space_role" "space_developer" {
|
||||
for_each = toset(local.spaces)
|
||||
username = var.admin_email
|
||||
type = "space_developer"
|
||||
depends_on = [cloudfoundry_org_role.org_user]
|
||||
space = cloudfoundry_space.spaces[each.key].id
|
||||
}
|
||||
```
|
||||
|
||||
## Explanation of configuration
|
||||
|
||||
### STACKIT provider configuration
|
||||
|
||||
```
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
```
|
||||
|
||||
The STACKIT Cloud Foundry Application Programming Interface (SCF API) is
|
||||
regionalized. Each region operates independently. Set `default_region` in the
|
||||
provider configuration, to specify the region for all resources, unless you
|
||||
override it for individual resources. You must also provide access data for the
|
||||
relevant STACKIT project for the provider to function.
|
||||
|
||||
For more details, see
|
||||
the:[STACKIT Terraform Provider documentation.](https://registry.terraform.io/providers/stackitcloud/stackit/latest/docs)
|
||||
|
||||
### stackit_scf_organization.scf_org resource
|
||||
|
||||
```
|
||||
resource "stackit_scf_organization" "scf_org" {
|
||||
name = var.org_name
|
||||
project_id = var.project_id
|
||||
}
|
||||
```
|
||||
|
||||
This resource provisions a Cloud Foundry organization, which acts as the
|
||||
foundational container in the Cloud Foundry environment. Each Cloud Foundry
|
||||
provider configuration is scoped to a specific organization. The organization’s
|
||||
name, defined by a variable, must be unique across the platform. The
|
||||
organization is created within a designated STACKIT project, which requires the
|
||||
STACKIT provider to be configured with the necessary permissions for that
|
||||
project.
|
||||
|
||||
### stackit_scf_organization_manager.scf_manager resource
|
||||
|
||||
```
|
||||
resource "stackit_scf_organization_manager" "scf_manager" {
|
||||
project_id = var.project_id
|
||||
org_id = stackit_scf_organization.scf_org.org_id
|
||||
}
|
||||
```
|
||||
|
||||
This resource creates a technical user in the Cloud Foundry organization with
|
||||
the organization_manager permission. The user is linked to the organization and
|
||||
is automatically deleted when the organization is removed.
|
||||
|
||||
### stackit_scf_platform.scf_platform data source
|
||||
|
||||
```
|
||||
data "stackit_scf_platform" "scf_platform" {
|
||||
project_id = var.project_id
|
||||
platform_id = stackit_scf_organization.scf_org.platform_id
|
||||
}
|
||||
```
|
||||
|
||||
This data source retrieves properties of the Cloud Foundry platform where the
|
||||
organization is provisioned. It does not create resources, but provides
|
||||
information about the existing platform.
|
||||
|
||||
### Cloud Foundry provider configuration
|
||||
|
||||
```
|
||||
provider "cloudfoundry" {
|
||||
api_url = data.stackit_scf_platform.scf_platform.api_url
|
||||
user = stackit_scf_organization_manager.scf_manager.username
|
||||
password = stackit_scf_organization_manager.scf_manager.password
|
||||
}
|
||||
```
|
||||
|
||||
The Cloud Foundry provider is configured to manage resources in the new
|
||||
organization. The provider uses the API URL from the `stackit_scf_platform` data
|
||||
source and authenticates using the credentials of the technical user created by
|
||||
the `stackit_scf_organization_manager` resource.
|
||||
|
||||
For more information, see the:
|
||||
[Cloud Foundry Terraform Provider documentation.](https://registry.terraform.io/providers/cloudfoundry/cloudfoundry/latest/docs)
|
||||
|
||||
## Deploy resources
|
||||
|
||||
Follow these steps to initialize your environment and provision Cloud Foundry
|
||||
resources using Terraform.
|
||||
|
||||
### Initialize Terraform
|
||||
|
||||
Run the following command to initialize the working directory and download the
|
||||
required provider plugins:
|
||||
|
||||
```
|
||||
terraform init
|
||||
```
|
||||
|
||||
### Create the organization manager user
|
||||
|
||||
Run this command to provision the organization and technical user needed to
|
||||
initialize the Cloud Foundry Terraform provider. This step is required only
|
||||
during the initial setup. For later changes, you do not need the -target flag.
|
||||
|
||||
```
|
||||
terraform apply -target stackit_scf_organization_manager.scf_manager
|
||||
```
|
||||
|
||||
### Apply the full configuration
|
||||
|
||||
Run this command to provision all resources defined in your Terraform
|
||||
configuration within the Cloud Foundry organization:
|
||||
|
||||
```
|
||||
terraform apply
|
||||
```
|
||||
|
||||
## Verify the deployment
|
||||
|
||||
Verify that your Cloud Foundry resources are provisioned correctly. Use the
|
||||
following Cloud Foundry CLI commands to check applications, services, and
|
||||
routes:
|
||||
|
||||
- `cf apps`
|
||||
- `cf services`
|
||||
- `cf routes`
|
||||
|
||||
For more information, see the
|
||||
[Cloud Foundry documentation](https://docs.cloudfoundry.org/) and the
|
||||
[Cloud Foundry CLI Reference Guide](https://cli.cloudfoundry.org/).
|
||||
|
|
@ -1,267 +0,0 @@
|
|||
---
|
||||
page_title: "Alerting with Kube-State-Metrics in STACKIT Observability"
|
||||
---
|
||||
# Alerting with Kube-State-Metrics in STACKIT Observability
|
||||
|
||||
## Overview
|
||||
|
||||
This guide explains how to configure the STACKIT Observability product to send alerts using metrics gathered from kube-state-metrics.
|
||||
|
||||
1. **Set Up Providers**
|
||||
|
||||
Begin by configuring the STACKIT and Kubernetes providers to connect to the STACKIT services.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
|
||||
provider "kubernetes" {
|
||||
host = yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.server
|
||||
client_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-certificate-data)
|
||||
client_key = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-key-data)
|
||||
cluster_ca_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.certificate-authority-data)
|
||||
}
|
||||
|
||||
provider "helm" {
|
||||
kubernetes {
|
||||
host = yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.server
|
||||
client_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-certificate-data)
|
||||
client_key = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-key-data)
|
||||
cluster_ca_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.certificate-authority-data)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
2. **Create SKE Cluster and Kubeconfig Resource**
|
||||
|
||||
Set up a STACKIT SKE Cluster and generate the associated kubeconfig resource.
|
||||
|
||||
```hcl
|
||||
resource "stackit_ske_cluster" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
kubernetes_version_min = "1.31"
|
||||
node_pools = [
|
||||
{
|
||||
name = "standard"
|
||||
machine_type = "c1.4"
|
||||
minimum = "3"
|
||||
maximum = "9"
|
||||
max_surge = "3"
|
||||
availability_zones = ["eu01-1", "eu01-2", "eu01-3"]
|
||||
os_version_min = "4081.2.1"
|
||||
os_name = "flatcar"
|
||||
volume_size = 32
|
||||
volume_type = "storage_premium_perf6"
|
||||
}
|
||||
]
|
||||
maintenance = {
|
||||
enable_kubernetes_version_updates = true
|
||||
enable_machine_image_version_updates = true
|
||||
start = "01:00:00Z"
|
||||
end = "02:00:00Z"
|
||||
}
|
||||
}
|
||||
|
||||
resource "stackit_ske_kubeconfig" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
cluster_name = stackit_ske_cluster.example.name
|
||||
refresh = true
|
||||
}
|
||||
```
|
||||
|
||||
3. **Create Observability Instance and Credentials**
|
||||
|
||||
Establish a STACKIT Observability instance and its credentials to handle alerts.
|
||||
|
||||
```hcl
|
||||
locals {
|
||||
alert_config = {
|
||||
route = {
|
||||
receiver = "EmailStackit",
|
||||
repeat_interval = "1m",
|
||||
continue = true
|
||||
}
|
||||
receivers = [
|
||||
{
|
||||
name = "EmailStackit",
|
||||
email_configs = [
|
||||
{
|
||||
to = "<email>"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
resource "stackit_observability_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
plan_name = "Observability-Large-EU01"
|
||||
alert_config = local.alert_config
|
||||
}
|
||||
|
||||
resource "stackit_observability_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = stackit_observability_instance.example.instance_id
|
||||
}
|
||||
```
|
||||
|
||||
4. **Install Prometheus Operator**
|
||||
|
||||
Use the Prometheus Helm chart to install kube-state-metrics and transfer metrics to the STACKIT Observability instance. Customize the helm values as needed for your deployment.
|
||||
|
||||
```yaml
|
||||
# helm values
|
||||
# save as prom-values.tftpl
|
||||
prometheus:
|
||||
enabled: true
|
||||
agentMode: true
|
||||
prometheusSpec:
|
||||
enableRemoteWriteReceiver: true
|
||||
scrapeInterval: 60s
|
||||
evaluationInterval: 60s
|
||||
replicas: 1
|
||||
storageSpec:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
storageClassName: premium-perf4-stackit
|
||||
accessModes: ['ReadWriteOnce']
|
||||
resources:
|
||||
requests:
|
||||
storage: 80Gi
|
||||
remoteWrite:
|
||||
- url: ${metrics_push_url}
|
||||
queueConfig:
|
||||
batchSendDeadline: '5s'
|
||||
# both values need to be configured according to your observability plan
|
||||
capacity: 30000
|
||||
maxSamplesPerSend: 3000
|
||||
writeRelabelConfigs:
|
||||
- sourceLabels: ['__name__']
|
||||
regex: 'apiserver_.*|etcd_.*|prober_.*|storage_.*|workqueue_(work|queue)_duration_seconds_bucket|kube_pod_tolerations|kubelet_.*|kubernetes_feature_enabled|instance_scrape_target_status'
|
||||
action: 'drop'
|
||||
- sourceLabels: ['namespace']
|
||||
regex: 'example'
|
||||
action: 'keep'
|
||||
basicAuth:
|
||||
username:
|
||||
key: username
|
||||
name: ${secret_name}
|
||||
password:
|
||||
key: password
|
||||
name: ${secret_name}
|
||||
|
||||
grafana:
|
||||
enabled: false
|
||||
|
||||
defaultRules:
|
||||
create: false
|
||||
|
||||
alertmanager:
|
||||
enabled: false
|
||||
|
||||
nodeExporter:
|
||||
enabled: true
|
||||
|
||||
kube-state-metrics:
|
||||
enabled: true
|
||||
customResourceState:
|
||||
enabled: true
|
||||
collectors:
|
||||
- deployments
|
||||
- pods
|
||||
```
|
||||
|
||||
```hcl
|
||||
resource "kubernetes_namespace" "monitoring" {
|
||||
metadata {
|
||||
name = "monitoring"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_secret" "argus_prometheus_authorization" {
|
||||
metadata {
|
||||
name = "argus-prometheus-credentials"
|
||||
namespace = kubernetes_namespace.monitoring.metadata[0].name
|
||||
}
|
||||
|
||||
data = {
|
||||
username = stackit_observability_credential.example.username
|
||||
password = stackit_observability_credential.example.password
|
||||
}
|
||||
}
|
||||
|
||||
resource "helm_release" "prometheus_operator" {
|
||||
name = "prometheus-operator"
|
||||
repository = "https://prometheus-community.github.io/helm-charts"
|
||||
chart = "kube-prometheus-stack"
|
||||
version = "60.1.0"
|
||||
namespace = kubernetes_namespace.monitoring.metadata[0].name
|
||||
|
||||
values = [
|
||||
templatefile("prom-values.tftpl", {
|
||||
metrics_push_url = stackit_observability_instance.example.metrics_push_url
|
||||
secret_name = kubernetes_secret.argus_prometheus_authorization.metadata[0].name
|
||||
})
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
5. **Create Alert Group**
|
||||
|
||||
Define an alert group with a rule to notify when a pod is running in the "example" namespace.
|
||||
|
||||
```hcl
|
||||
resource "stackit_observability_alertgroup" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = stackit_observability_instance.example.instance_id
|
||||
name = "TestAlertGroup"
|
||||
interval = "2h"
|
||||
rules = [
|
||||
{
|
||||
alert = "SimplePodCheck"
|
||||
expression = "sum(kube_pod_status_phase{phase=\"Running\", namespace=\"example\"}) > 0"
|
||||
for = "60s"
|
||||
labels = {
|
||||
severity = "critical"
|
||||
},
|
||||
annotations = {
|
||||
summary = "Test Alert is working"
|
||||
description = "Test Alert"
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
6. **Deploy Test Pod**
|
||||
|
||||
Deploy a test pod; doing so should trigger an email notification, as the deployment satisfies the conditions defined in the alert group rule. In a real-world scenario, you would typically configure alerts to monitor pods for error states instead.
|
||||
|
||||
```hcl
|
||||
resource "kubernetes_namespace" "example" {
|
||||
metadata {
|
||||
name = "example"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_pod" "example" {
|
||||
metadata {
|
||||
name = "nginx"
|
||||
namespace = kubernetes_namespace.example.metadata[0].name
|
||||
labels = {
|
||||
app = "nginx"
|
||||
}
|
||||
}
|
||||
|
||||
spec {
|
||||
container {
|
||||
image = "nginx:latest"
|
||||
name = "nginx"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -1,199 +0,0 @@
|
|||
---
|
||||
page_title: "SKE Log Alerts with STACKIT Observability"
|
||||
---
|
||||
# SKE Log Alerts with STACKIT Observability
|
||||
|
||||
## Overview
|
||||
|
||||
This guide walks you through setting up log-based alerting in STACKIT Observability using Promtail to ship Kubernetes logs.
|
||||
|
||||
1. **Set Up Providers**
|
||||
|
||||
Begin by configuring the STACKIT and Kubernetes providers to connect to the STACKIT services.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
region = "eu01"
|
||||
}
|
||||
|
||||
provider "kubernetes" {
|
||||
host = yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.server
|
||||
client_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-certificate-data)
|
||||
client_key = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-key-data)
|
||||
cluster_ca_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.certificate-authority-data)
|
||||
}
|
||||
|
||||
provider "helm" {
|
||||
kubernetes {
|
||||
host = yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.server
|
||||
client_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-certificate-data)
|
||||
client_key = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).users.0.user.client-key-data)
|
||||
cluster_ca_certificate = base64decode(yamldecode(stackit_ske_kubeconfig.example.kube_config).clusters.0.cluster.certificate-authority-data)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
2. **Create SKE Cluster and Kubeconfig Resource**
|
||||
|
||||
Set up a STACKIT SKE Cluster and generate the associated kubeconfig resource.
|
||||
|
||||
```hcl
|
||||
resource "stackit_ske_cluster" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
kubernetes_version_min = "1.31"
|
||||
node_pools = [
|
||||
{
|
||||
name = "standard"
|
||||
machine_type = "c1.4"
|
||||
minimum = "3"
|
||||
maximum = "9"
|
||||
max_surge = "3"
|
||||
availability_zones = ["eu01-1", "eu01-2", "eu01-3"]
|
||||
os_version_min = "4081.2.1"
|
||||
os_name = "flatcar"
|
||||
volume_size = 32
|
||||
volume_type = "storage_premium_perf6"
|
||||
}
|
||||
]
|
||||
maintenance = {
|
||||
enable_kubernetes_version_updates = true
|
||||
enable_machine_image_version_updates = true
|
||||
start = "01:00:00Z"
|
||||
end = "02:00:00Z"
|
||||
}
|
||||
}
|
||||
|
||||
resource "stackit_ske_kubeconfig" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
cluster_name = stackit_ske_cluster.example.name
|
||||
refresh = true
|
||||
}
|
||||
```
|
||||
|
||||
3. **Create Observability Instance and Credentials**
|
||||
|
||||
Establish a STACKIT Observability instance and its credentials to handle alerts.
|
||||
|
||||
```hcl
|
||||
locals {
|
||||
alert_config = {
|
||||
route = {
|
||||
receiver = "EmailStackit",
|
||||
repeat_interval = "1m",
|
||||
continue = true
|
||||
}
|
||||
receivers = [
|
||||
{
|
||||
name = "EmailStackit",
|
||||
email_configs = [
|
||||
{
|
||||
to = "<email>"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
resource "stackit_observability_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example"
|
||||
plan_name = "Observability-Large-EU01"
|
||||
alert_config = local.alert_config
|
||||
}
|
||||
|
||||
resource "stackit_observability_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = stackit_observability_instance.example.instance_id
|
||||
}
|
||||
```
|
||||
|
||||
4. **Install Promtail**
|
||||
|
||||
Deploy Promtail via Helm to collect logs and forward them to the STACKIT Observability Loki endpoint.
|
||||
|
||||
```hcl
|
||||
resource "helm_release" "promtail" {
|
||||
name = "promtail"
|
||||
repository = "https://grafana.github.io/helm-charts"
|
||||
chart = "promtail"
|
||||
namespace = kubernetes_namespace.monitoring.metadata.0.name
|
||||
version = "6.16.4"
|
||||
|
||||
values = [
|
||||
<<-EOF
|
||||
config:
|
||||
clients:
|
||||
# To find the Loki push URL, navigate to the observability instance in the portal and select the API tab.
|
||||
- url: "https://${stackit_observability_credential.example.username}:${stackit_observability_credential.example.password}@<your-loki-push-url>/instances/${stackit_observability_instance.example.instance_id}/loki/api/v1/push"
|
||||
EOF
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
5. **Create Alert Group**
|
||||
|
||||
Create a log alert that triggers when a specific pod logs an error message.
|
||||
|
||||
```hcl
|
||||
resource "stackit_observability_logalertgroup" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = stackit_observability_instance.example.instance_id
|
||||
name = "TestLogAlertGroup"
|
||||
interval = "1m"
|
||||
rules = [
|
||||
{
|
||||
alert = "SimplePodLogAlertCheck"
|
||||
expression = "sum(rate({namespace=\"example\", pod=\"logger\"} |= \"Simulated error message\" [1m])) > 0"
|
||||
for = "60s"
|
||||
labels = {
|
||||
severity = "critical"
|
||||
},
|
||||
annotations = {
|
||||
summary : "Test Log Alert is working"
|
||||
description : "Test Log Alert"
|
||||
},
|
||||
},
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
6. **Deploy Test Pod**
|
||||
|
||||
Launch a pod that emits simulated error logs. This should trigger the alert if everything is set up correctly.
|
||||
|
||||
```hcl
|
||||
resource "kubernetes_namespace" "example" {
|
||||
metadata {
|
||||
name = "example"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_pod" "logger" {
|
||||
metadata {
|
||||
name = "logger"
|
||||
namespace = kubernetes_namespace.example.metadata[0].name
|
||||
labels = {
|
||||
app = "logger"
|
||||
}
|
||||
}
|
||||
|
||||
spec {
|
||||
container {
|
||||
name = "logger"
|
||||
image = "bash"
|
||||
command = [
|
||||
"bash",
|
||||
"-c",
|
||||
<<EOF
|
||||
while true; do
|
||||
sleep $(shuf -i 1-3 -n 1)
|
||||
echo "ERROR: $(date) - Simulated error message $(shuf -i 1-100 -n 1)" 1>&2
|
||||
done
|
||||
EOF
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -1,255 +0,0 @@
|
|||
---
|
||||
page_title: "Using STACKIT CDN to service static files from an HTTP Origin with STACKIT CDN"
|
||||
---
|
||||
|
||||
# Using STACKIT CDN to service static files from an HTTP Origin with STACKIT CDN
|
||||
|
||||
This guide will walk you through the process of setting up a STACKIT CDN distribution to serve static files from a
|
||||
generic HTTP origin using Terraform. This is a common use case for developers who want to deliver content with low
|
||||
latency and high data transfer speeds.
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before you begin, make sure you have the following:
|
||||
|
||||
* A **STACKIT project** and a user account with the necessary permissions for the CDN.
|
||||
* A **Service Account Key**: you can read about creating one here: [Create a Service Account Key
|
||||
](https://docs.stackit.cloud/platform/access-and-identity/service-accounts/how-tos/manage-service-account-keys/)
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Configure the Terraform Provider
|
||||
|
||||
First, you need to configure the STACKIT provider in your Terraform configuration. Create a file named `main.tf` and add
|
||||
the following code. This block tells Terraform to download and use the STACKIT provider.
|
||||
|
||||
```terraform
|
||||
terraform {
|
||||
required_providers {
|
||||
stackit = {
|
||||
source = "stackitcloud/stackit"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
variable "service_account_key" {
|
||||
type = string
|
||||
description = "Your STACKIT service account key."
|
||||
sensitive = true
|
||||
default = "path/to/sa-key.json"
|
||||
}
|
||||
|
||||
variable "project_id" {
|
||||
type = string
|
||||
default = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # Your project ID
|
||||
}
|
||||
|
||||
provider "stackit" {
|
||||
# The STACKIT provider is configured using the defined variables.
|
||||
default_region = "eu01"
|
||||
service_account_key_path = var.service_account_key
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## Step 2: Create the DNS Zone
|
||||
|
||||
The first resource you'll create is the DNS zone, which will manage the records for your domain.
|
||||
|
||||
```terraform
|
||||
resource "stackit_dns_zone" "example_zone" {
|
||||
project_id = var.project_id
|
||||
name = "My DNS zone"
|
||||
dns_name = "myapp.runs.onstackit.cloud"
|
||||
contact_email = "aa@bb.ccc"
|
||||
type = "primary"
|
||||
}
|
||||
```
|
||||
|
||||
## Step 3: Create the CDN Distribution
|
||||
|
||||
Next, define the CDN distribution. This is the core service that will cache and serve your content from its origin.
|
||||
|
||||
```terraform
|
||||
resource "stackit_cdn_distribution" "example_distribution" {
|
||||
project_id = var.project_id
|
||||
|
||||
config = {
|
||||
# Define the backend configuration
|
||||
backend = {
|
||||
type = "http"
|
||||
|
||||
# Replace with the URL of your HTTP origin
|
||||
origin_url = "https://your-origin-server.com"
|
||||
}
|
||||
|
||||
# The regions where content will be hosted
|
||||
regions = ["EU", "US", "ASIA", "AF", "SA"]
|
||||
blocked_countries = []
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## Step 4: Create the DNS CNAME Record
|
||||
|
||||
Finally, create the **CNAME record** to point your custom domain to the CDN. This step must come after the CDN is
|
||||
created because it needs the CDN's unique domain name as its target.
|
||||
|
||||
```terraform
|
||||
resource "stackit_dns_record_set" "cname_record" {
|
||||
project_id = stackit_dns_zone.example_zone.project_id
|
||||
zone_id = stackit_dns_zone.example_zone.zone_id
|
||||
|
||||
# This is the custom domain name which will be added to your zone
|
||||
name = "cdn"
|
||||
type = "CNAME"
|
||||
ttl = 3600
|
||||
|
||||
# Points to the CDN distribution's unique domain.
|
||||
# Notice the added dot at the end of the domain name to point to a FQDN.
|
||||
records = ["${stackit_cdn_distribution.example_distribution.domains[0].name}."]
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
This record directs traffic from your custom domain to the STACKIT CDN infrastructure.
|
||||
|
||||
## Step 5: Add a Custom Domain to the CDN
|
||||
|
||||
To provide a user-friendly URL, associate a custom domain (like `cdn.myapp.runs.onstackit.cloud`) with your
|
||||
distribution.
|
||||
|
||||
```terraform
|
||||
resource "stackit_cdn_custom_domain" "example_custom_domain" {
|
||||
project_id = stackit_cdn_distribution.example_distribution.project_id
|
||||
distribution_id = stackit_cdn_distribution.example_distribution.distribution_id
|
||||
|
||||
# Creates "cdn.myapp.runs.onstackit.cloud" dynamically
|
||||
name = "${stackit_dns_record_set.cname_record.name}.${stackit_dns_zone.example_zone.dns_name}"
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
This resource links the subdomain you created in the previous step to the CDN distribution.
|
||||
|
||||
## Complete Terraform Configuration
|
||||
|
||||
Here is the complete `main.tf` file, which follows the logical order of operations.
|
||||
|
||||
```terraform
|
||||
# This configuration file sets up a complete STACKIT CDN distribution
|
||||
# with a custom domain managed by STACKIT DNS.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# PROVIDER CONFIGURATION
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
terraform {
|
||||
required_providers {
|
||||
stackit = {
|
||||
source = "stackitcloud/stackit"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
variable "service_account_key" {
|
||||
type = string
|
||||
description = "Your STACKIT service account key."
|
||||
sensitive = true
|
||||
default = "path/to/sa-key.json"
|
||||
}
|
||||
|
||||
variable "project_id" {
|
||||
type = string
|
||||
description = "Your STACKIT project ID."
|
||||
default = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
}
|
||||
|
||||
provider "stackit" {
|
||||
# The STACKIT provider is configured using the defined variables.
|
||||
default_region = "eu01"
|
||||
service_account_key_path = var.service_account_key
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# DNS ZONE RESOURCE
|
||||
# -----------------------------------------------------------------------------
|
||||
# The DNS zone manages all records for your domain.
|
||||
# It's the first resource to be created.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
resource "stackit_dns_zone" "example_zone" {
|
||||
project_id = var.project_id
|
||||
name = "My DNS zone"
|
||||
dns_name = "myapp.runs.onstackit.cloud"
|
||||
contact_email = "aa@bb.ccc"
|
||||
type = "primary"
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# CDN DISTRIBUTION RESOURCE
|
||||
# -----------------------------------------------------------------------------
|
||||
# This resource defines the CDN, its origin, and caching regions.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
resource "stackit_cdn_distribution" "example_distribution" {
|
||||
project_id = var.project_id
|
||||
|
||||
config = {
|
||||
# Define the backend configuration
|
||||
backend = {
|
||||
type = "http"
|
||||
|
||||
# Replace with the URL of your HTTP origin
|
||||
origin_url = "https://your-origin-server.com"
|
||||
}
|
||||
|
||||
# The regions where content will be hosted
|
||||
regions = ["EU", "US", "ASIA", "AF", "SA"]
|
||||
blocked_countries = []
|
||||
}
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# CUSTOM DOMAIN AND DNS RECORD
|
||||
# -----------------------------------------------------------------------------
|
||||
# These resources link your CDN to a user-friendly custom domain and create
|
||||
# the necessary DNS record to route traffic.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
resource "stackit_dns_record_set" "cname_record" {
|
||||
project_id = stackit_dns_zone.example_zone.project_id
|
||||
zone_id = stackit_dns_zone.example_zone.zone_id
|
||||
# This is the custom domain name which will be added to your zone
|
||||
name = "cdn"
|
||||
type = "CNAME"
|
||||
ttl = 3600
|
||||
# Points to the CDN distribution's unique domain.
|
||||
# The dot at the end makes it a fully qualified domain name (FQDN).
|
||||
records = ["${stackit_cdn_distribution.example_distribution.domains[0].name}."]
|
||||
|
||||
}
|
||||
|
||||
resource "stackit_cdn_custom_domain" "example_custom_domain" {
|
||||
project_id = stackit_cdn_distribution.example_distribution.project_id
|
||||
distribution_id = stackit_cdn_distribution.example_distribution.distribution_id
|
||||
|
||||
# Creates "cdn.myapp.runs.onstackit.cloud" dynamically
|
||||
name = "${stackit_dns_record_set.cname_record.name}.${stackit_dns_zone.example_zone.dns_name}"
|
||||
}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# OUTPUTS
|
||||
# -----------------------------------------------------------------------------
|
||||
# This output will display the final custom URL after `terraform apply` is run.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
output "custom_cdn_url" {
|
||||
description = "The final custom domain URL for the CDN distribution."
|
||||
value = "https://${stackit_cdn_custom_domain.example_custom_domain.name}"
|
||||
}
|
||||
|
||||
```
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
page_title: "Creating projects in empty organization via Terraform"
|
||||
---
|
||||
# Creating projects in empty organization via Terraform
|
||||
|
||||
Consider the following situation: You're starting with an empty STACKIT organization and want to create projects
|
||||
in this organization using the `stackit_resourcemanager_project` resource. Unfortunately it's not possible to create
|
||||
a service account on organization level which can be used for authentication in the STACKIT Terraform provider.
|
||||
The following steps will help you to get started:
|
||||
|
||||
1. Using the STACKIT portal, create a dummy project in your organization which will hold your service account, let's name it e.g. "dummy-service-account-project".
|
||||
2. In this "dummy-service-account-project", create a service account. Create and save a service account key to use for authentication for the STACKIT Terraform provider later as described in the docs. Now copy the e-mail address of the service account you just created.
|
||||
3. Here comes the important part: Navigate to your organization, open it and select "Access". Click on the "Grant access" button and paste the e-mail address of your service account. Be careful to grant the service account enough permissions to create projects in your organization, e.g. by assigning the "owner" role to it.
|
||||
|
||||
*This problem was brought up initially in [this](https://github.com/stackitcloud/terraform-provider-stackit/issues/855) issue on GitHub.*
|
||||
|
|
@ -1,163 +0,0 @@
|
|||
---
|
||||
page_title: "Using the STACKIT Loadbalancer together with STACKIT Observability"
|
||||
---
|
||||
# Using the STACKIT Loadbalancer together with STACKIT Observability
|
||||
|
||||
## Overview
|
||||
|
||||
This guide explains how to configure the STACKIT Loadbalancer product to send metrics and logs to a STACKIT Observability instance.
|
||||
|
||||
1. **Set Up Providers**
|
||||
|
||||
Begin by configuring the STACKIT provider to connect to the STACKIT services.
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
```
|
||||
|
||||
2. **Create an Observability instance**
|
||||
|
||||
Establish a STACKIT Observability instance and its credentials.
|
||||
|
||||
```hcl
|
||||
resource "stackit_observability_instance" "observability01" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
plan_name = "Observability-Monitoring-Medium-EU01"
|
||||
acl = ["0.0.0.0/0"]
|
||||
metrics_retention_days = 90
|
||||
metrics_retention_days_5m_downsampling = 90
|
||||
metrics_retention_days_1h_downsampling = 90
|
||||
}
|
||||
|
||||
resource "stackit_observability_credential" "observability01-credential" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = stackit_observability_instance.observability01.instance_id
|
||||
}
|
||||
```
|
||||
|
||||
3. **Create STACKIT Loadbalancer credentials reference**
|
||||
|
||||
Create a STACKIT Loadbalancer credentials which will be used in the STACKIT Loadbalancer resource as a reference.
|
||||
|
||||
```hcl
|
||||
resource "stackit_loadbalancer_observability_credential" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
display_name = "example-credentials"
|
||||
username = stackit_observability_credential.observability01-credential.username
|
||||
password = stackit_observability_credential.observability01-credential.password
|
||||
}
|
||||
```
|
||||
|
||||
4. **Create the STACKIT Loadbalancer**
|
||||
|
||||
```hcl
|
||||
# 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"
|
||||
# set the path of your public key file here
|
||||
public_key = chomp(file("/home/bob/.ssh/id_ed25519.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 = "eu01-1"
|
||||
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"
|
||||
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"
|
||||
}
|
||||
]
|
||||
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
|
||||
observability = {
|
||||
logs = {
|
||||
# uses the load balancer credential from the last step
|
||||
credentials_ref = stackit_loadbalancer_observability_credential.example.credentials_ref
|
||||
# uses the observability instance from step 1
|
||||
push_url = stackit_observability_instance.observability01.logs_push_url
|
||||
}
|
||||
metrics = {
|
||||
# uses the load balancer credential from the last step
|
||||
credentials_ref = stackit_loadbalancer_observability_credential.example.credentials_ref
|
||||
# uses the observability instance from step 1
|
||||
push_url = stackit_observability_instance.observability01.metrics_push_url
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
---
|
||||
page_title: "Using Vault Provider with STACKIT Secrets Manager"
|
||||
---
|
||||
# Using Vault Provider with STACKIT Secrets Manager
|
||||
|
||||
## Overview
|
||||
|
||||
This guide outlines the process of utilizing the [HashiCorp Vault provider](https://registry.terraform.io/providers/hashicorp/vault) alongside the STACKIT provider to write secrets in the STACKIT Secrets Manager. The guide focuses on secrets from STACKIT Cloud resources but can be adapted for any secret.
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Configure STACKIT Provider**
|
||||
|
||||
```hcl
|
||||
provider "stackit" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
```
|
||||
|
||||
2. **Create STACKIT Secrets Manager Instance**
|
||||
|
||||
```hcl
|
||||
resource "stackit_secretsmanager_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
}
|
||||
```
|
||||
|
||||
3. **Define STACKIT Secrets Manager User**
|
||||
|
||||
```hcl
|
||||
resource "stackit_secretsmanager_user" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
instance_id = stackit_secretsmanager_instance.example.instance_id
|
||||
description = "Example user"
|
||||
write_enabled = true
|
||||
}
|
||||
```
|
||||
|
||||
4. **Configure Vault Provider**
|
||||
|
||||
```hcl
|
||||
provider "vault" {
|
||||
address = "https://prod.sm.eu01.stackit.cloud"
|
||||
skip_child_token = true
|
||||
|
||||
auth_login_userpass {
|
||||
username = stackit_secretsmanager_user.example.username
|
||||
password = stackit_secretsmanager_user.example.password
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
5. **Define Terraform Resource (Example: Observability Monitoring Instance)**
|
||||
|
||||
```hcl
|
||||
resource "stackit_observability_instance" "example" {
|
||||
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
||||
name = "example-instance"
|
||||
plan_name = "Observability-Monitoring-Medium-EU01"
|
||||
}
|
||||
```
|
||||
|
||||
6. **Store Secret in Vault**
|
||||
|
||||
```hcl
|
||||
resource "vault_kv_secret_v2" "example" {
|
||||
mount = stackit_secretsmanager_instance.example.instance_id
|
||||
name = "my-secret"
|
||||
cas = 1
|
||||
delete_all_versions = true
|
||||
data_json = jsonencode(
|
||||
{
|
||||
grafana_password = stackit_observability_instance.example.grafana_initial_admin_password,
|
||||
other_secret = ...,
|
||||
}
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
## Note
|
||||
|
||||
This example can be adapted for various resources within the provider as well as any other Secret the user wants to set in the Secrets Manager instance. Adapting this examples means replacing the Observability Monitoring Grafana password with the appropriate value.
|
||||
|
|
@ -1,31 +1,33 @@
|
|||
# STACKIT Terraform Provider
|
||||
# STACKITPRIVATEPREVIEW Terraform Provider
|
||||
|
||||
The STACKIT Terraform provider is the official Terraform provider to integrate all the resources developed by [STACKIT](https://www.stackit.de/en/).
|
||||
|
||||
## Example Usage
|
||||
|
||||
```terraform
|
||||
provider "stackit" {
|
||||
# Copyright (c) STACKIT
|
||||
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
}
|
||||
|
||||
# Authentication
|
||||
|
||||
# Token flow (scheduled for deprecation and will be removed on December 17, 2025)
|
||||
provider "stackit" {
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
service_account_token = var.service_account_token
|
||||
}
|
||||
|
||||
# Key flow
|
||||
provider "stackit" {
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
service_account_key = var.service_account_key
|
||||
private_key = var.private_key
|
||||
}
|
||||
|
||||
# Key flow (using path)
|
||||
provider "stackit" {
|
||||
provider "stackitprivatepreview" {
|
||||
default_region = "eu01"
|
||||
service_account_key_path = var.service_account_key_path
|
||||
private_key_path = var.private_key_path
|
||||
|
|
|
|||
|
|
@ -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`".
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue