Support project UUID identifier in resource manager project (#161)

* Add projectId to resource manager project, fix value conversion error

* Support both uuid and container id, update acceptance tests

* Update docs

* Fix unit tests

* Adapt acc test names
This commit is contained in:
Vicente Pinto 2023-12-13 14:17:28 +00:00 committed by GitHub
parent dc3c3487c0
commit 62b6a1b3de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 226 additions and 65 deletions

View file

@ -3,12 +3,12 @@
page_title: "stackit_resourcemanager_project Data Source - stackit"
subcategory: ""
description: |-
Resource Manager project data source schema.
Resource Manager project data source schema. To identify the project, you need to provider either projectid or containerid. If you provide both, project_id will be used.
---
# stackit_resourcemanager_project (Data Source)
Resource Manager project data source schema.
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
@ -22,13 +22,14 @@ data "stackit_resourcemanager_project" "example" {
<!-- schema generated by tfplugindocs -->
## Schema
### Required
### Optional
- `container_id` (String) Project container ID.
- `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
- `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 container ID
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported

View file

@ -131,7 +131,7 @@ Using this flow is less secure since the token is long-lived. You can provide th
- `region` (String) Region will be used as the default location for regional services. Not all services require a region, some are global
- `resourcemanager_custom_endpoint` (String) Custom endpoint for the Resource Manager service
- `secretsmanager_custom_endpoint` (String) Custom endpoint for the Secrets Manager service
- `service_account_email` (String) Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL
- `service_account_email` (String) Service account email. It can also be set using the environment variable STACKIT_SERVICE_ACCOUNT_EMAIL. It is required if you want to use the resource manager project resource.
- `service_account_key` (String) Service account key used for authentication. If set alongside private key, the key flow will be used to authenticate all operations.
- `service_account_key_path` (String) Path for the service account key used for authentication. If set alongside the private key, the key flow will be used to authenticate all operations.
- `service_account_token` (String) Token used for authentication. If set, the token flow will be used to authenticate all operations.

View file

@ -3,12 +3,12 @@
page_title: "stackit_resourcemanager_project Resource - stackit"
subcategory: ""
description: |-
Resource Manager project resource schema.
Resource Manager project resource schema. To use this resource, it is required that you set the service account email in the provider configuration.
---
# stackit_resourcemanager_project (Resource)
Resource Manager project resource schema.
Resource Manager project resource schema. To use this resource, it is required that you set the service account email in the provider configuration.
## Example Usage
@ -31,7 +31,7 @@ resource "stackit_resourcemanager_project" "example" {
- `name` (String) Project name.
- `owner_email` (String) Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect.
- `parent_container_id` (String) Parent container ID
- `parent_container_id` (String) Parent resource identifier. Both container ID (user-friendly) and UUID are supported
### Optional
@ -41,3 +41,4 @@ resource "stackit_resourcemanager_project" "example" {
- `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.

View file

@ -111,9 +111,12 @@ Optional:
Required:
- `allowed_cidrs` (List of String) Specify a list of CIDRs to whitelist.
- `enabled` (Boolean) Is ACL enabled?
Optional:
- `allowed_cidrs` (List of String) Specify a list of CIDRs to whitelist.
<a id="nestedatt--extensions--argus"></a>
### Nested Schema for `extensions.argus`