Deprecate stackit_loadbalancer_credential and add new stackit_loadbalancer_observability_credential (#357)

* Copy over old resource files

* Adjustments to the new observability credential resource.go

* Register new resource in the provider

* Add example

* Adapt acc test

* Update docs

* Add deprecation message

* Fix linter

* Add deprecation message to dscription
This commit is contained in:
João Palet 2024-05-13 15:30:51 +01:00 committed by GitHub
parent 6eb1310056
commit ee905a3a5f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 580 additions and 14 deletions

View file

@ -1,6 +1,6 @@
# STACKIT Provider
# STACKIT Terraform Provider
The STACKIT provider is the official Terraform provider to integrate all the resources developed by STACKIT.
The STACKIT Terraform provider is the official Terraform provider to integrate all the resources developed by [STACKIT](https://www.stackit.de/en/).
## Example Usage
@ -34,14 +34,14 @@ provider "stackit" {
## Authentication
To authenticate, you will need a [service account](https://docs.stackit.cloud/stackit/en/service-accounts-134415819.html). Create it in the STACKIT Portal an assign it the necessary permissions, e.g. `project.owner`. There are multiple ways to authenticate:
To authenticate, you will need a [service account](https://docs.stackit.cloud/stackit/en/service-accounts-134415819.html). Create it in the [STACKIT Portal](https://portal.stackit.cloud/) and assign it the necessary permissions, e.g. `project.owner`. There are multiple ways to authenticate:
- Key flow (recommended)
- Token flow
When setting up authentication, the provider will always try to use the key flow first and search for credentials in several locations, following a specific order:
1. Explicit configuration, e.g. by seting the field `stackit_service_account_key_path` in the provider block (see example below)
1. Explicit configuration, e.g. by setting the field `stackit_service_account_key_path` in the provider block (see example below)
2. Environment variable, e.g. by setting `STACKIT_SERVICE_ACCOUNT_KEY_PATH`
3. Credentials file

View file

@ -4,12 +4,15 @@ page_title: "stackit_loadbalancer_credential Resource - stackit"
subcategory: ""
description: |-
Load balancer credential resource schema. Must have a region specified in the provider configuration.
!> The stackit_loadbalancer_credential resource has been deprecated and will be removed after November 13th 2024. Please use stackit_loadbalancer_observability_credential instead, which offers the exact same functionality.
---
# stackit_loadbalancer_credential (Resource)
Load balancer credential resource schema. Must have a `region` specified in the provider configuration.
!> The `stackit_loadbalancer_credential` resource has been deprecated and will be removed after November 13th 2024. Please use `stackit_loadbalancer_observability_credential` instead, which offers the exact same functionality.
## Example Usage
```terraform

View file

@ -0,0 +1,37 @@
---
# 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"
}
```
<!-- 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.
### 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`","`credentials_ref`".