chore(docs): update docs (#725)

* chore(deps): bump terraform-plugin-docs from v0.16.0 to v0.21.0

* chore(docs): fix docs after generation using a patchfile

* chore(docs): re-generate docs
This commit is contained in:
Ruben Hönle 2025-03-21 15:31:33 +01:00 committed by GitHub
parent 6cc1dffc22
commit 698bbca3cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 116 additions and 77 deletions

View file

@ -23,6 +23,8 @@ lint: lint-golangci-lint lint-tf
generate-docs: generate-docs:
@echo "Generating documentation with tfplugindocs" @echo "Generating documentation with tfplugindocs"
@$(SCRIPTS_BASE)/tfplugindocs.sh @$(SCRIPTS_BASE)/tfplugindocs.sh
# workaround until STACKITTPR-165 will be resolved
@git apply $(SCRIPTS_BASE)/docs.patch
build: build:
@go build -o bin/terraform-provider-stackit @go build -o bin/terraform-provider-stackit

View file

@ -36,5 +36,3 @@ data "stackit_objectstorage_bucket" "example" {
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`name`". - `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`name`".
- `url_path_style` (String) - `url_path_style` (String)
- `url_virtual_hosted_style` (String) - `url_virtual_hosted_style` (String)

View file

@ -40,5 +40,3 @@ data "stackit_objectstorage_credentials_group" "example" {
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`credentials_group_id`,`credential_id`". - `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`credentials_group_id`,`credential_id`".
- `name` (String) - `name` (String)
- `secret_access_key` (String, Sensitive) - `secret_access_key` (String, Sensitive)

View file

@ -36,5 +36,3 @@ data "stackit_objectstorage_credentials_group" "example" {
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`credentials_group_id`". - `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`credentials_group_id`".
- `urn` (String) Credentials group uniform resource name (URN) - `urn` (String) Credentials group uniform resource name (URN)

View file

@ -33,4 +33,4 @@ data "stackit_resourcemanager_project" "example" {
- `id` (String) Terraform's internal data source. ID. It is structured as "`container_id`". - `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} - `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. - `name` (String) Project name.
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported - `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported

View file

@ -5,29 +5,35 @@ subcategory: ""
description: |- description: |-
Affinity Group schema. Must have a region specified in the provider configuration. Affinity Group schema. Must have a region specified in the provider configuration.
Usage with server Usage with server
```terraform
resource "stackitaffinitygroup" "affinity-group" { resource "stackit_affinity_group" "affinity-group" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-key-pair" name = "example-key-pair"
policy = "soft-affinity" policy = "soft-affinity"
} }
resource "stackitserver" "example-server" {
projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" resource "stackit_server" "example-server" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-server" name = "example-server"
bootvolume = { boot_volume = {
size = 64 size = 64
sourcetype = "image" source_type = "image"
sourceid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" source_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
} }
affinitygroup = stackitaffinitygroup.affinity-group.affinitygroupid affinity_group = stackit_affinity_group.affinity-group.affinity_group_id
availabilityzone = "eu01-1" availability_zone = "eu01-1"
machinetype = "g1.1" machine_type = "g1.1"
} }
```
Policies 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 hard-affinity- All servers launched in this group will be hosted on the same compute node.
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, 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. but if not possible they still will be scheduled instead of failure.
~> 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 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.
--- ---

View file

@ -7,23 +7,22 @@ description: |-
!> The stackit_argus_credential resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_credential instead, which offers the exact same functionality. !> The stackit_argus_credential resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_credential instead, which offers the exact same functionality.
Example move Example move
Example to move the deprecated stackit_argus_credential resource to the new stackit_observability_credential resource: Example to move the deprecated stackit_argus_credential resource to the new stackit_observability_credential resource:
1. Add a new stackit_observability_credential resource with the same values like your previous stackit_argus_credential resource. Add a new stackit_observability_credential resource with the same values like your previous stackit_argus_credential resource.Add a moved block which reference the stackit_argus_credential and stackit_observability_credential resource.Remove your old stackit_argus_credential resource and run $ terraform apply.
1. Add a moved block which reference the stackit_argus_credential and stackit_observability_credential resource.
1. Remove your old stackit_argus_credential resource and run $ terraform apply. resource "stackit_argus_credential" "example" {
```terraform project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
resource "stackitarguscredential" "example" { instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instanceid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
} }
moved { moved {
from = stackitarguscredential.example from = stackit_argus_credential.example
to = stackitobservabilitycredential.example to = stackit_observability_credential.example
} }
resource "stackitobservabilitycredential" "example" {
projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" resource "stackit_observability_credential" "example" {
instanceid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
} }
```
--- ---
# stackit_argus_credential (Resource) # stackit_argus_credential (Resource)

View file

@ -7,33 +7,32 @@ description: |-
!> The stackit_argus_instance resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_instance instead, which offers the exact same functionality. !> The stackit_argus_instance resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_instance instead, which offers the exact same functionality.
Example move Example move
Example to move the deprecated stackit_argus_instance resource to the newstackit_observability_instance resource: Example to move the deprecated stackit_argus_instance resource to the newstackit_observability_instance resource:
1. Add a new stackit_observability_instance resource with the same values like your previous stackit_argus_instance resource. Add a new stackit_observability_instance resource with the same values like your previous stackit_argus_instance resource.Add a moved block which reference the stackit_argus_instance and stackit_observability_instance resource.Remove your old stackit_argus_instance resource and run $ terraform apply.
1. Add a moved block which reference the stackit_argus_instance and stackit_observability_instance resource.
1. Remove your old stackit_argus_instance resource and run $ terraform apply. resource "stackit_argus_instance" "example" {
```terraform project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
resource "stackitargusinstance" "example" {
projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance" name = "example-instance"
planname = "Monitoring-Medium-EU01" plan_name = "Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"] acl = ["1.1.1.1/32", "2.2.2.2/32"]
metricsretentiondays = 7 metrics_retention_days = 7
metricsretentiondays5mdownsampling = 30 metrics_retention_days_5m_downsampling = 30
metricsretentiondays1hdownsampling = 365 metrics_retention_days_1h_downsampling = 365
} }
moved { moved {
from = stackitargusinstance.example from = stackit_argus_instance.example
to = stackitobservabilityinstance.example to = stackit_observability_instance.example
} }
resource "stackitobservabilityinstance" "example" {
projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" resource "stackit_observability_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance" name = "example-instance"
planname = "Monitoring-Medium-EU01" plan_name = "Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"] acl = ["1.1.1.1/32", "2.2.2.2/32"]
metricsretentiondays = 7 metrics_retention_days = 7
metricsretentiondays5mdownsampling = 30 metrics_retention_days_5m_downsampling = 30
metricsretentiondays1hdownsampling = 365 metrics_retention_days_1h_downsampling = 365
} }
```
--- ---
# stackit_argus_instance (Resource) # stackit_argus_instance (Resource)

View file

@ -7,17 +7,15 @@ description: |-
!> The stackit_argus_scrapeconfig resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_scrapeconfig instead, which offers the exact same functionality. !> The stackit_argus_scrapeconfig resource has been deprecated and will be removed after February 26th 2025. Please use stackit_observability_scrapeconfig instead, which offers the exact same functionality.
Example move Example move
Example to move the deprecated stackit_argus_scrapeconfig resource to the new stackit_observability_scrapeconfig resource: Example to move the deprecated stackit_argus_scrapeconfig resource to the new stackit_observability_scrapeconfig resource:
1. Add a new stackit_observability_scrapeconfig resource with the same values like your previous stackit_argus_scrapeconfig resource. Add a new stackit_observability_scrapeconfig resource with the same values like your previous stackit_argus_scrapeconfig resource.Add a moved block which reference the stackit_argus_scrapeconfig and stackit_observability_scrapeconfig resource.Remove your old stackit_argus_scrapeconfig resource and run $ terraform apply.
1. Add a moved block which reference the stackit_argus_scrapeconfig and stackit_observability_scrapeconfig resource.
1. Remove your old stackit_argus_scrapeconfig resource and run $ terraform apply. resource "stackit_argus_scrapeconfig" "example" {
```terraform project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
resource "stackitargusscrapeconfig" "example" { instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instanceid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job" name = "example-job"
metricspath = "/my-metrics" metrics_path = "/my-metrics"
saml2 = { saml2 = {
enableurl_parameters = true enable_url_parameters = true
} }
targets = [ targets = [
{ {
@ -28,17 +26,19 @@ description: |-
} }
] ]
} }
moved { moved {
from = stackitargusscrapeconfig.example from = stackit_argus_scrapeconfig.example
to = stackitobservabilityscrapeconfig.example to = stackit_observability_scrapeconfig.example
} }
resource "stackitobservabilityscrapeconfig" "example" {
projectid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" resource "stackit_observability_scrapeconfig" "example" {
instanceid = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-job" name = "example-job"
metricspath = "/my-metrics" metrics_path = "/my-metrics"
saml2 = { saml2 = {
enableurl_parameters = true enable_url_parameters = true
} }
targets = [ targets = [
{ {
@ -49,7 +49,6 @@ description: |-
} }
] ]
} }
```
--- ---
# stackit_argus_scrapeconfig (Resource) # stackit_argus_scrapeconfig (Resource)

View file

@ -36,5 +36,3 @@ resource "stackit_objectstorage_bucket" "example" {
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`name`". - `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`name`".
- `url_path_style` (String) - `url_path_style` (String)
- `url_virtual_hosted_style` (String) - `url_virtual_hosted_style` (String)

View file

@ -40,5 +40,3 @@ resource "stackit_objectstorage_credential" "example" {
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`credentials_group_id`,`credential_id`". - `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`credentials_group_id`,`credential_id`".
- `name` (String) - `name` (String)
- `secret_access_key` (String, Sensitive) - `secret_access_key` (String, Sensitive)

View file

@ -36,5 +36,3 @@ resource "stackit_objectstorage_credentials_group" "example" {
- `credentials_group_id` (String) The credentials group ID - `credentials_group_id` (String) The credentials group ID
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`credentials_group_id`". - `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`credentials_group_id`".
- `urn` (String) Credentials group uniform resource name (URN) - `urn` (String) Credentials group uniform resource name (URN)

46
scripts/docs.patch Normal file
View file

@ -0,0 +1,46 @@
diff --git a/docs/data-sources/resourcemanager_project.md b/docs/data-sources/resourcemanager_project.md
index 0ca28db..9fdabec 100644
--- a/docs/data-sources/resourcemanager_project.md
+++ b/docs/data-sources/resourcemanager_project.md
@@ -32,16 +32,5 @@ data "stackit_resourcemanager_project" "example" {
- `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}
-- `members` (Attributes List, Deprecated) The members assigned to the project. At least one subject needs to be a user, and not a client or service account. This value is only considered during creation. Changing it afterwards will have no effect.
-
-!> The "members" field has been deprecated in favor of the "owner_email" field. Please use the "owner_email" field to assign the owner role to a user. (see [below for nested schema](#nestedatt--members))
- `name` (String) Project name.
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported
-
-<a id="nestedatt--members"></a>
-### Nested Schema for `members`
-
-Read-Only:
-
-- `role` (String) The role of the member in the project. Legacy roles (`project.admin`, `project.auditor`, `project.member`, `project.owner`) are not supported.
-- `subject` (String) Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.
diff --git a/docs/resources/resourcemanager_project.md b/docs/resources/resourcemanager_project.md
index ac601e3..ea0a70b 100644
--- a/docs/resources/resourcemanager_project.md
+++ b/docs/resources/resourcemanager_project.md
@@ -36,20 +36,9 @@ resource "stackit_resourcemanager_project" "example" {
### Optional
- `labels` (Map of String) Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. To add a project to a STACKIT Network Area, setting the label `networkArea=<networkAreaID>` is required.
-- `members` (Attributes List, Deprecated) The members assigned to the project. At least one subject needs to be a user, and not a client or service account. This value is only considered during creation. Changing it afterwards will have no effect.
-
-!> The "members" field has been deprecated in favor of the "owner_email" field. Please use the "owner_email" field to assign the owner role to a user. (see [below for nested schema](#nestedatt--members))
### Read-Only
- `container_id` (String) Project container ID. Globally unique, user-friendly identifier.
- `id` (String) Terraform's internal resource ID. It is structured as "`container_id`".
- `project_id` (String) Project UUID identifier. This is the ID that can be used in most of the other resources to identify the project.
-
-<a id="nestedatt--members"></a>
-### Nested Schema for `members`
-
-Required:
-
-- `role` (String) The role of the member in the project. Possible values include, but are not limited to: `owner`, `editor`, `reader`. Legacy roles (`project.admin`, `project.auditor`, `project.member`, `project.owner`) are not supported.
-- `subject` (String) Unique identifier of the user, service account or client. This is usually the email address for users or service accounts, and the name in case of clients.

View file

@ -17,7 +17,7 @@ elif [ "$action" = "tools" ]; then
go mod download go mod download
go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.62.0 go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.62.0
go install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs@v0.16.0 go install github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs@v0.21.0
else else
echo "Invalid action: '$action', please use $0 help for help" echo "Invalid action: '$action', please use $0 help for help"
fi fi