Skip to content

Commit df89715

Browse files
Merge branch 'master' into fix/populate-id
2 parents 91b55b0 + 841d016 commit df89715

File tree

202 files changed

+6404
-8336
lines changed

Some content is hidden

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

202 files changed

+6404
-8336
lines changed

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,33 @@
1+
## 2.10.0 (November 27, 2025)
2+
3+
⚙️ General:
4+
5+
* Bump dependency golang.org/x/crypto from 0.38.0 to 0.45.0 ([#1161](https://github.com/ovh/terraform-provider-ovh/pull/1161))
6+
7+
🎉 Features:
8+
9+
* Add provider option `ignore_init_error` to ignore initialization errors in specific scenarios ([#1163](https://github.com/ovh/terraform-provider-ovh/pull/1163))
10+
11+
💪 Improvements:
12+
13+
* `r/ovh_cloud_project_storage`: Add option to delete bucket replicas on resource deletion ([#1158](https://github.com/ovh/terraform-provider-ovh/pull/1158))
14+
* `r/ovh_cloud_project_storage`: Add field to avoid saving objects in state ([#1154](https://github.com/ovh/terraform-provider-ovh/pull/1154))
15+
16+
🐜 Bug fixes:
17+
18+
* `r/ovh_cloud_project_storage`: `name` and `region` attributes modification now triggers a resource re-creation ([#1152](https://github.com/ovh/terraform-provider-ovh/pull/1152))
19+
* `r/ovh_cloud_project_volume`: Fix available volume types list ([#1167](https://github.com/ovh/terraform-provider-ovh/pull/1167))
20+
* `r/ovh_cloud_project_user_s3_credential`: Do not remove ID in case of read error ([#1160](https://github.com/ovh/terraform-provider-ovh/pull/1160))
21+
* `r/ovh_cloud_project_loadbalancer`: Wait for flavor update to complete before saving state ([#1153](https://github.com/ovh/terraform-provider-ovh/pull/1153))
22+
* `r/ovh_cloud_project_alerting`: Handle email no longer returned by API ([#1151](https://github.com/ovh/terraform-provider-ovh/pull/1151))
23+
* `r/ovh_cloud_project_network_private`: Use correct route to delete regional networks ([#1145](https://github.com/ovh/terraform-provider-ovh/pull/1145))
24+
25+
📚 Documentation:
26+
27+
* `r/ovh_okms_secret`: Fix category in documentation ([#1144](https://github.com/ovh/terraform-provider-ovh/pull/1144))
28+
29+
❤️ Thanks for your contributions ❤️
30+
131
## 2.9.0 (November 4, 2025)
232

333
🎉 Features:

docs/data-sources/cloud_project_storage.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ data "ovh_cloud_project_storage" "storage" {
2828

2929
### Optional
3030

31+
- `hide_objects` (Boolean) If true, objects list will not be saved in state (useful for large buckets)
3132
- `limit` (Number) Limit the number of objects returned (1000 maximum, defaults to 1000)
3233
- `marker` (String) Key to start with when listing objects
3334
- `prefix` (String) List objects whose key begins with this prefix

docs/data-sources/okms_secret.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -70,21 +70,21 @@ In addition to the arguments above, the following attributes are exported:
7070
- `version` (Number) The resolved version number (requested or current latest).
7171
- `data` (String, Sensitive) Raw JSON secret payload (present only if `include_data` is true).
7272
- `metadata` (Block) Secret metadata:
73-
- `cas_required` (Boolean)
74-
- `created_at` (String)
75-
- `updated_at` (String)
76-
- `current_version` (Number)
77-
- `oldest_version` (Number)
78-
- `max_versions` (Number)
79-
- `deactivate_version_after` (String)
80-
- `custom_metadata` (Map of String)
73+
- `cas_required` (Boolean)
74+
- `created_at` (String)
75+
- `updated_at` (String)
76+
- `current_version` (Number)
77+
- `oldest_version` (Number)
78+
- `max_versions` (Number)
79+
- `deactivate_version_after` (String)
80+
- `custom_metadata` (Map of String)
8181
- `iam` (Block) IAM resource metadata:
82-
- `display_name` (String)
83-
- `id` (String)
84-
- `tags` (Map of String)
85-
- `urn` (String)
82+
- `display_name` (String)
83+
- `id` (String)
84+
- `tags` (Map of String)
85+
- `urn` (String)
8686

8787
## Behavior & Notes
8888

8989
- The `data` attribute retains the raw JSON returned by the API. Use `jsondecode()` to work with individual keys.
90-
- Changing only `include_data` (true -> false) will cause the `data` attribute to become null in subsequent refreshes (state no longer holds the payload).
90+
- Changing only `include_data` (true -> false) will cause the `data` attribute to become null in subsequent refreshes (state no longer holds the payload).

docs/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,8 @@ The following arguments are supported:
196196

197197
* `api_rate_limit` - (Optional) Specify the API request rate limit, X operations by seconds. If omitted, unlimited.
198198

199+
* `ignore_init_error` - (Optional) **⚠️ Use with caution and only if you know what you are doing.** If set to `true`, the provider will skip authentication validation during initialization. If omitted, the `OVH_IGNORE_INIT_ERROR` environment variable is used. This allows the provider to load even with invalid credentials, but any actual API calls will still fail. This is intended for development/testing purposes only where valid credentials are not available but the provider configuration must be present.
200+
199201
## Terraform State storage in an OVHcloud Object Storage (S3 compatibility)
200202

201203
In order to store your Terraform states on a High Performance (S3) OVHcloud Object Storage, please follow the [guide](https://help.ovhcloud.com/csm/en-public-cloud-compute-terraform-high-perf-object-storage-backend-state?id=kb_article_view&sysparm_article=KB0051345).

docs/resources/cloud_project_storage.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ resource "ovh_cloud_project_storage" "storage" {
3535
### Optional
3636

3737
- `encryption` (Attributes) Encryption configuration (see [below for nested schema](#nestedatt--encryption))
38+
- `hide_objects` (Boolean) If true, objects list will not be saved in state (useful for large buckets)
3839
- `limit` (Number) Limit the number of objects returned (1000 maximum, defaults to 1000)
3940
- `marker` (String) Key to start with when listing objects
4041
- `owner_id` (Number) Container owner user ID
@@ -92,6 +93,7 @@ Required:
9293
Optional:
9394

9495
- `storage_class` (String) Destination storage class
96+
- `remove_on_main_bucket_deletion` (Boolean) Whether to remove replicated bucket when the main bucket is deleted (make sure to apply your configuration when changing this value before deleting the main bucket)
9597

9698
<a id="nestedatt--replication--rules--filter"></a>
9799

docs/resources/cloud_project_volume.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The following arguments are supported:
2828
* `description` - A description of the volume
2929
* `name` - Name of the volume
3030
* `size` - Size (GB) of the volume
31-
* `type` - Type of the volume **Changing this value recreates the resource.**
31+
* `type` - Type of the volume **Changing this value recreates the resource.** Available types are: classic, classic-luks, classic-multiattach, high-speed, high-speed-luks, high-speed-gen2, high-speed-gen2-luks
3232

3333
## Attributes Reference
3434

docs/resources/dedicated_server.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ resource "ovh_dedicated_server" "server" {
140140
* `raid_level` - Software raid type
141141
* `size` - Partition size in MiB
142142
* `scheme_name` - Partitioning scheme (if applicable with selected operating system)
143-
* `properties` - Deprecated, has no effect
143+
* `properties` - Attribute 'properties' is deprecated and has no effect
144144

145145
### Arguments used to control the lifecycle of a dedicated server
146146

docs/resources/dedicated_server_reinstall_task.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ resource "ovh_dedicated_server_reinstall_task" "server_install" {
128128
http_headers = {
129129
Authorization = "Basic bG9naW46cGFzc3dvcmQ="
130130
}
131-
image_url = "https://github.com/ashmonger/akution_test/releases/download/0.5-compress/deb11k6.qcow2"
131+
image_url = "https://github.com/ashmonger/akution_test/releases/download/0.5-compress/deb11k6.qcow2"
132132
}
133133
}
134134
```
@@ -239,7 +239,7 @@ The following arguments are supported:
239239

240240
~> **WARNING** Some customizations may be required on some Operating Systems. [Check how to list the available and required customization(s) for your operating system](https://help.ovhcloud.com/csm/en-dedicated-servers-api-os-installation?id=kb_article_view&sysparm_article=KB0061951#os-inputs) (do not forget to adapt camel case customization name to snake case parameter).
241241

242-
* `properties` - Deprecated, has no effect
242+
* `properties` - Attribute 'properties' is deprecated and has no effect.
243243

244244
* `storage`: OS reinstallation storage configurations. [More details about disks, hardware/software RAID and partitioning configuration](https://help.ovhcloud.com/csm/en-dedicated-servers-api-partitioning?id=kb_article_view&sysparm_article=KB0043882) (do not forget to adapt camel case parameters to snake case parameters).
245245
* `disk_group_id`: Disk group id to install the OS to (default is 0, meaning automatic).

docs/resources/okms_secret.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
---
32
subcategory : "Key Management Service (KMS)"
43
---
@@ -48,6 +47,25 @@ output "api_key" {
4847
}
4948
```
5049

50+
# Reading a field from the secret version data:
51+
52+
```terraform
53+
data "ovh_okms_secret" "latest_with_data" {
54+
okms_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
55+
path = "app/api_credentials"
56+
include_data = true
57+
}
58+
59+
locals {
60+
secret_obj = jsondecode(data.ovh_okms_secret.latest_with_data.data)
61+
}
62+
63+
output "api_key" {
64+
value = local.secret_obj.api_key
65+
sensitive = true
66+
}
67+
```
68+
5169
Updating the secret (new version) while enforcing optimistic concurrency control using CAS:
5270

5371
```terraform

go.mod

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/ybriffa/rfc3339 v0.0.0-20220203155318-1789e3fd6e70
1717
go.uber.org/ratelimit v0.3.1
1818
golang.org/x/exp v0.0.0-20230809150735-7b3493d9a819
19-
golang.org/x/net v0.40.0
19+
golang.org/x/net v0.47.0
2020
gopkg.in/yaml.v3 v3.0.1
2121
)
2222

@@ -56,18 +56,18 @@ require (
5656
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
5757
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
5858
github.com/zclconf/go-cty v1.16.2 // indirect
59-
golang.org/x/crypto v0.38.0 // indirect
60-
golang.org/x/mod v0.24.0 // indirect
59+
golang.org/x/crypto v0.45.0 // indirect
60+
golang.org/x/mod v0.29.0 // indirect
6161
golang.org/x/oauth2 v0.27.0 // indirect
62-
golang.org/x/sync v0.14.0 // indirect
63-
golang.org/x/sys v0.33.0 // indirect
64-
golang.org/x/text v0.25.0 // indirect
65-
golang.org/x/tools v0.33.0 // indirect
62+
golang.org/x/sync v0.18.0 // indirect
63+
golang.org/x/sys v0.38.0 // indirect
64+
golang.org/x/text v0.31.0 // indirect
65+
golang.org/x/tools v0.38.0 // indirect
6666
google.golang.org/appengine v1.6.8 // indirect
6767
google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect
6868
google.golang.org/grpc v1.69.4 // indirect
6969
google.golang.org/protobuf v1.36.3 // indirect
7070
gopkg.in/ini.v1 v1.67.0 // indirect
7171
)
7272

73-
go 1.23.0
73+
go 1.24.0

0 commit comments

Comments
 (0)