Skip to content

Commit 6a484b1

Browse files
Merge remote-tracking branch 'upstream/main' into fix/idempotent-lifecycle-ops
2 parents ed1b259 + 2977dba commit 6a484b1

250 files changed

Lines changed: 7763 additions & 4409 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
- main
99

1010
env:
11-
GO_VERSION: "1.24"
11+
GO_VERSION: "1.26"
1212
CODE_COVERAGE_FILE_NAME: "coverage.out" # must be the same as in Makefile
1313
CODE_COVERAGE_ARTIFACT_NAME: "code-coverage"
1414

@@ -72,7 +72,7 @@ jobs:
7272
pull-requests: write # write permission needed to comment on PR
7373
steps:
7474
- name: Check new code coverage
75-
uses: fgrosse/go-coverage-report@v1.2.0
75+
uses: fgrosse/go-coverage-report@v1.3.0
7676
continue-on-error: true # Add this line to prevent pipeline failures in forks
7777
with:
7878
coverage-artifact-name: ${{ env.CODE_COVERAGE_ARTIFACT_NAME }}

CONTRIBUTION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ If you want to onboard resources of a STACKIT service `foo` that was not yet in
103103

104104
### Local development
105105

106-
To test your changes locally, you have to compile the provider (requires Go 1.24) and configure the Terraform CLI to use the local version.
106+
To test your changes locally, you have to compile the provider (requires Go 1.26) and configure the Terraform CLI to use the local version.
107107

108108
1. Clone the repository.
109109
1. Run `$ make build` to build the Terraform provider binary in `<PATH_TO_REPO>/bin/`

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -222,13 +222,12 @@ Terraform acceptance tests are run using the command `make test-acceptance-tf`.
222222

223223
Additionally:
224224

225-
| Env var | Value | Example value | needed for Acc tests of the following services |
226-
|---------------------------------------------|---------------------------------------------------------------------------------------------------------|----------------------------------------|------------------------------------------------|
227-
| `TF_ACC_ORGANIZATION_ID` | ID of the STACKIT test organization | `5353ccfa-a984-4b96-a71d-b863dd2b7087` | `authorization`, `iaas` |
228-
| `TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_EMAIL` | Email of the STACKIT service account | `abc-serviceaccount@sa.stackit.cloud` | `authorization`, `resourcemanager` |
229-
| `TF_ACC_SERVER_ID` | ID of a STACKIT Server with STACKIT Server Agent enabled | `5353ccfa-a984-4b96-a71d-b863dd2b7087` | `serverbackup`, `serverupdate` |
230-
| `TF_ACC_TEST_PROJECT_PARENT_CONTAINER_ID` | Container ID of the project parent container (folder within an organization or the organization itself) | `organization-d2b7087` | `resourcemanager` |
231-
| `TF_ACC_TEST_PROJECT_PARENT_UUID` | UUID ID of the project parent container (folder within an organization or the organization itself) | `5353ccfa-a984-4b96-a71d-b863dd2b7087` | `resourcemanager` |
225+
| Env var | Value | Example value | needed for Acc tests of the following services |
226+
|---------------------------------------------|---------------------------------------------------------------------------------------------------------|----------------------------------------|--------------------------------------------------------------|
227+
| `TF_ACC_ORGANIZATION_ID` | ID of the STACKIT test organization | `5353ccfa-a984-4b96-a71d-b863dd2b7087` | `authorization`, `iaas` |
228+
| `TF_ACC_TEST_PROJECT_SERVICE_ACCOUNT_EMAIL` | Email of the STACKIT service account | `abc-serviceaccount@sa.stackit.cloud` | `authorization`, `iaas`, `resourcemanager`, `secretsmanager` |
229+
| `TF_ACC_TEST_PROJECT_PARENT_CONTAINER_ID` | Container ID of the project parent container (folder within an organization or the organization itself) | `organization-d2b7087` | `resourcemanager` |
230+
| `TF_ACC_TEST_PROJECT_PARENT_UUID` | UUID ID of the project parent container (folder within an organization or the organization itself) | `5353ccfa-a984-4b96-a71d-b863dd2b7087` | `resourcemanager` |
232231

233232
### Run Acceptance Tests of a single service
234233

docs/data-sources/edgecloud_plans.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ Read-Only:
4343
- `description` (String) Description of the plan.
4444
- `id` (String) The ID of the plan.
4545
- `max_edge_hosts` (Number) Maximum number of Edge Cloud hosts that can be used.
46+
- `min_edge_hosts` (Number) Minimum number of Edge Cloud hosts charged.
4647
- `name` (String) The name of the plan.

docs/data-sources/objectstorage_bucket.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,6 @@ data "stackit_objectstorage_bucket" "example" {
3434
### Read-Only
3535

3636
- `id` (String) Terraform's internal data source identifier. It is structured as "`project_id`,`region`,`name`".
37+
- `object_lock` (Boolean) Enable Object Lock on this bucket. Can only be set at creation time. Requires an active project-level compliance lock.
3738
- `url_path_style` (String)
3839
- `url_virtual_hosted_style` (String)
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_objectstorage_compliance_lock Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
ObjectStorage compliance lock resource schema. Must have a region specified in the provider configuration.
7+
---
8+
9+
# stackit_objectstorage_compliance_lock (Data Source)
10+
11+
ObjectStorage compliance lock resource schema. Must have a `region` specified in the provider configuration.
12+
13+
## Example Usage
14+
15+
```terraform
16+
data "stackit_objectstorage_compliance_lock" "example" {
17+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
18+
}
19+
```
20+
21+
<!-- schema generated by tfplugindocs -->
22+
## Schema
23+
24+
### Required
25+
26+
- `project_id` (String) STACKIT Project ID to which the compliance lock is associated.
27+
28+
### Optional
29+
30+
- `region` (String) The resource region. If not defined, the provider region is used.
31+
32+
### Read-Only
33+
34+
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`region`".
35+
- `max_retention_days` (Number) Maximum retention period in days.

docs/data-sources/secretsmanager_instance.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,15 @@ data "stackit_secretsmanager_instance" "example" {
3131

3232
- `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
3333
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`".
34+
- `kms_key` (Attributes) The STACKIT-KMS key for secret encryption and decryption. (see [below for nested schema](#nestedatt--kms_key))
3435
- `name` (String) Instance name.
36+
37+
<a id="nestedatt--kms_key"></a>
38+
### Nested Schema for `kms_key`
39+
40+
Read-Only:
41+
42+
- `key_id` (String) UUID of the key within the STACKIT-KMS to use for the encryption.
43+
- `key_ring_id` (String) UUID of the keyring where the key is located within the STACKTI-KMS.
44+
- `key_version` (Number) Version of the key within the STACKIT-KMS to use for the encryption.
45+
- `service_account_email` (String) Service-Account linked to the Key within the STACKIT-KMS.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_server_backup_enable Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Server backup enable datasource schema. Must have a region specified in the provider configuration.
7+
---
8+
9+
# stackit_server_backup_enable (Data Source)
10+
11+
Server backup enable datasource schema. Must have a `region` specified in the provider configuration.
12+
13+
14+
15+
<!-- schema generated by tfplugindocs -->
16+
## Schema
17+
18+
### Required
19+
20+
- `project_id` (String) STACKIT Project ID to which the server backup enable is associated.
21+
- `server_id` (String) Server ID to which the server backup enable is associated.
22+
23+
### Optional
24+
25+
- `region` (String) The resource region. If not defined, the provider region is used.
26+
27+
### Read-Only
28+
29+
- `enabled` (Boolean) Set to true if the service is enabled.
30+
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`server_id`,`region`".
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "stackit_server_update_enable Data Source - stackit"
4+
subcategory: ""
5+
description: |-
6+
Server update enable datasource schema. Must have a region specified in the provider configuration.
7+
---
8+
9+
# stackit_server_update_enable (Data Source)
10+
11+
Server update enable datasource schema. Must have a `region` specified in the provider configuration.
12+
13+
14+
15+
<!-- schema generated by tfplugindocs -->
16+
## Schema
17+
18+
### Required
19+
20+
- `project_id` (String) STACKIT Project ID to which the server update enable is associated.
21+
- `server_id` (String) Server ID to which the server update enable is associated.
22+
23+
### Optional
24+
25+
- `region` (String) The resource region. If not defined, the provider region is used.
26+
27+
### Read-Only
28+
29+
- `enabled` (Boolean) Set to true if the service is enabled.
30+
- `id` (String) Terraform's internal resource identifier. It is structured as "`project_id`,`server_id`,`region`".

docs/resources/objectstorage_bucket.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@ resource "stackit_objectstorage_bucket" "example" {
1818
name = "example-bucket"
1919
}
2020
21+
## With compliance lock
22+
resource "stackit_objectstorage_compliance_lock" "example_with_lock" {
23+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
24+
}
25+
26+
resource "stackit_objectstorage_bucket" "example_with_lock" {
27+
depends_on = [stackit_objectstorage_compliance_lock.example_with_lock]
28+
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
29+
name = "example-bucket-with-lock"
30+
object_lock = true
31+
}
32+
33+
2134
# Only use the import statement, if you want to import an existing objectstorage bucket
2235
import {
2336
to = stackit_objectstorage_bucket.import-example
@@ -35,6 +48,7 @@ import {
3548

3649
### Optional
3750

51+
- `object_lock` (Boolean) Enable Object Lock on this bucket. Can only be set at creation time. Requires an active project-level compliance lock.
3852
- `region` (String) The resource region. If not defined, the provider region is used.
3953

4054
### Read-Only

0 commit comments

Comments
 (0)