Skip to content

Commit 5826754

Browse files
Update docs for v17.10.0 release
1 parent d1cad48 commit 5826754

18 files changed

+344
-16
lines changed

CHANGELOG.md

+36
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1+
## 17.10.0 (2025-03-20)
2+
3+
This release was tested against GitLab 17.10, 17.9, and 17.8 for both CE and EE
4+
5+
## KNOWN ISSUES (1 change)
6+
7+
- resource/gitlab_project: `restrict_user_defined_variables` will always be set to `true`, even when configured as `false`. This is an upstream API issue that can be tracked [here](https://gitlab.com/gitlab-org/gitlab/-/issues/526130). This will cause an immediate `plan` after `apply` if that attribute is included in the config. Removing the attribute from the config temporarily will prevent this behavior, and the setting may be configured via the API using `ci_variable_override_restriction` attribute instead.
8+
9+
### FEATURES (4 changes)
10+
11+
- resource/gitlab_integration_harbor: [Add resource for managing project Harbor integrations](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/fb23b2cd01091be1d5527cb795a5ae63909d098e) by @bas.bremer ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2371))
12+
- resource/gitlab_project_target_branch_rule: [Add resource for managing defeault branch target rules for merge requests](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/9b57d1dd8032e5b59b5263e6a339b508dd6978ed) by @kevineor ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2307))
13+
- datasource/gitlab_project_mirror_public_key: [Add a new data source for retrieving public keys for project mirrors](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/c9738041b2d94286e21ef59c8b59dacf9381d72f) by @mness ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2373))
14+
- datasource/gitlab_group_access_tokens: [Add a new data source for retrieving group-level access tokens](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/43fa923d8823deef3d473fa75c0d9c27e3ff28bb) by @jdesnoes ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2341))
15+
16+
### IMPROVEMENTS (12 changes)
17+
18+
- resource/gitlab_group_hook: [Add missing attributes to group_hook resource](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/42f0718bfd452fa435295b7854ca0628c3061a49) by @mness ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2363))
19+
- resource/gitlab_group_service_account_access_token: [Add support for `expiration_days` in `rotation_config`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/2c5df5cf607105d0c2feda78056607e37515b5a7) by @pguinoiseau ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2326))
20+
- resource/gitlab_user: [Add support for `force_random_password`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/b12b74b64d5720863e281dc51db5ecef5319186f) by @PatrickRice ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2354))
21+
- resource/gitlab_project_variable: [Add support for `hidden` variables](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/cc9721a2ee3cf126c4038352943c90b08f521005) by @PatrickRice ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2369))
22+
- resource/gitlab_group_share_group: [Add support for `member_role_id`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/9080be31789a63811113654142dc70c53d8ea2e2) by @heidi.berry ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2344))
23+
- resource/gitlab_project_environment: [Add `auto_stop_setting` to `gitlab_project_environment`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/c8669f4ca7e59241f21badbd2be4d99001f9bdd3) by @jtymes ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2300))
24+
- resource/gitlab_project_mirror: [Add support for `mirror_branch_regex`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/6fd6a628e8dbf01c93fe26f3359a36ed639def96) by @heidi.berry ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2360))
25+
- resource/gitlab_project_mirror: [Add support for `auth_method`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/c9738041b2d94286e21ef59c8b59dacf9381d72f) by @mness ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2373))
26+
- resource/gitlab_project: [Add support for `permanently_delete_on_destroy`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/f3523d96438bfe1712dce19f73ef04801b4f8fa5) by @heidi.berry ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2358))
27+
- resource/gitlab_application_settings: [Add support for `lock_memberships_to_ldap`](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/c3ab985184d7536d8b34b4bc1a763c058930d3b1) by @heidi.berry ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2359))
28+
- datasource/gitlab_users: [Add support for several new attributes.](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/fde7c9f221526fb1600548aafa0b748deba8d2e9) by @heidi.berry ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2361))
29+
- datasource/gitlab_project_environment: [Add `auto_stop_setting` as a read-only attribute](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/c8669f4ca7e59241f21badbd2be4d99001f9bdd3) by @jtymes ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2300))
30+
31+
### BUG FIXES (3 changes)
32+
33+
- resource/gitlab_value_stream_analytics: [Update `stages` from an unordered list to an ordered list since order matters in the API](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/7982745332ad8f4b90d1019e6273317e58326230) by @calee1 ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2339))
34+
- resource/gitlab_group_membership: [Fix group membership resource error when user is removed outside of terraform](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/e2ce55c59cf9af30825be8ea8c822097d5716574) by @mness ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2356))
35+
- resource/gitlab_group_label: [Fixed an error encountered when upgrading past version 17.5 where an `UpgradeState` function was missing](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/commit/f64becbf07afce3729a31bb05071308a2e1efe3f) by @PatrickRice ([merge request](https://gitlab.com/gitlab-org/terraform-provider-gitlab/-/merge_requests/2368))
36+
137
## 17.9.0 (2025-02-20)
238

339
This release was tested against GitLab 17.9, 17.8, and 17.7 for both CE and EE
+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "gitlab_group_access_tokens Data Source - terraform-provider-gitlab"
4+
subcategory: ""
5+
description: |-
6+
The gitlab_access_tokens data source allows to retrieve all group-level access tokens.
7+
Upstream API: GitLab REST API docs https://docs.gitlab.com/api/group_access_tokens/
8+
---
9+
10+
# gitlab_group_access_tokens (Data Source)
11+
12+
The `gitlab_access_tokens` data source allows to retrieve all group-level access tokens.
13+
14+
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_access_tokens/)
15+
16+
## Example Usage
17+
18+
```terraform
19+
data "gitlab_group_access_tokens" "access_tokens" {
20+
group = "my/example/group"
21+
}
22+
```
23+
24+
<!-- schema generated by tfplugindocs -->
25+
## Schema
26+
27+
### Required
28+
29+
- `group` (String) The name or id of the group.
30+
31+
### Read-Only
32+
33+
- `access_tokens` (List of Object) The list of access tokens returned by the search (see [below for nested schema](#nestedatt--access_tokens))
34+
- `id` (String) The ID of this Terraform resource.
35+
36+
<a id="nestedatt--access_tokens"></a>
37+
### Nested Schema for `access_tokens`
38+
39+
Read-Only:
40+
41+
- `access_level` (String)
42+
- `active` (Boolean)
43+
- `created_at` (String)
44+
- `expires_at` (String)
45+
- `group` (String)
46+
- `id` (String)
47+
- `name` (String)
48+
- `revoked` (Boolean)
49+
- `scopes` (Set of String)
50+
- `user_id` (Number)

docs/data-sources/project_environments.md

+2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ data "gitlab_project_environments" "this" {
4949

5050
Read-Only:
5151

52+
- `auto_stop_at` (String) Timestamp of when the environment is scheduled to stop, RFC3339 format.
53+
- `auto_stop_setting` (String) The auto stop setting for the environment.
5254
- `cluster_agent_id` (Number) The ID of the environments cluster agent or `null` if none is assigned.
5355
- `created_at` (String) Timestamp of the environment creation, RFC3339 format.
5456
- `description` (String) The description of the environment.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "gitlab_project_mirror_public_key Data Source - terraform-provider-gitlab"
4+
subcategory: ""
5+
description: |-
6+
The gitlab_project_mirror_public_key data source allows the public key of a project mirror to be retrieved by its mirror id and the project it belongs to.
7+
Note: Supported on GitLab 17.9 or higher.
8+
Upstream API: GitLab REST API docs https://docs.gitlab.com/api/remote_mirrors/#get-a-single-projects-remote-mirror-public-key
9+
---
10+
11+
# gitlab_project_mirror_public_key (Data Source)
12+
13+
The `gitlab_project_mirror_public_key` data source allows the public key of a project mirror to be retrieved by its mirror id and the project it belongs to.
14+
15+
**Note**: Supported on GitLab 17.9 or higher.
16+
17+
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/#get-a-single-projects-remote-mirror-public-key)
18+
19+
## Example Usage
20+
21+
```terraform
22+
data "gitlab_project_mirror_public_key" "example" {
23+
project_id = 30
24+
mirror_id = 42
25+
}
26+
27+
data "gitlab_project_mirror_public_key" "example" {
28+
project_id = "foo/bar/baz"
29+
mirror_id = 123
30+
}
31+
```
32+
33+
<!-- schema generated by tfplugindocs -->
34+
## Schema
35+
36+
### Required
37+
38+
- `mirror_id` (Number) The id of the remote mirror.
39+
- `project_id` (String) The integer or path with namespace that uniquely identifies the project.
40+
41+
### Read-Only
42+
43+
- `id` (String) The ID of this Terraform resource. In the format of `<project_id>:<mirror_id>`.
44+
- `public_key` (String) Public key of the remote mirror.

docs/data-sources/users.md

+5
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,16 @@ data "gitlab_users" "example-two" {
4242
- `blocked` (Boolean) Filter users that are blocked.
4343
- `created_after` (String) Search for users created after a specific date. (Requires administrator privileges)
4444
- `created_before` (String) Search for users created before a specific date. (Requires administrator privileges)
45+
- `exclude_external` (Boolean) Filters only non external users.
46+
- `exclude_internal` (Boolean) Filters only non internal users.
4547
- `extern_provider` (String) Lookup users by external provider. (Requires administrator privileges)
4648
- `extern_uid` (String) Lookup users by external UID. (Requires administrator privileges)
49+
- `external` (Boolean) Filters only external users.
4750
- `order_by` (String) Order the users' list by `id`, `name`, `username`, `created_at` or `updated_at`. (Requires administrator privileges)
4851
- `search` (String) Search users by username, name or email.
4952
- `sort` (String) Sort users' list in asc or desc order. (Requires administrator privileges)
53+
- `username` (String) Get a single user with a specific username.
54+
- `without_project_bots` (Boolean) Filters user without project bots.
5055

5156
### Read-Only
5257

docs/resources/application_settings.md

+1
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ resource "gitlab_application_settings" "this" {
217217
- `keep_latest_artifact` (Boolean) Prevent the deletion of the artifacts from the most recent successful jobs, regardless of the expiry time.
218218
- `local_markdown_version` (Number) Increase this value when any cached Markdown should be invalidated.
219219
- `lock_duo_features_enabled` (Boolean) Indicates whether the GitLab Duo features enabled setting is enforced for all subgroups. Self-managed, Premium and Ultimate only.
220+
- `lock_memberships_to_ldap` (Boolean) Set to true to lock all memberships to LDAP. Premium and Ultimate only.
220221
- `mailgun_events_enabled` (Boolean) Enable Mailgun event receiver.
221222
- `mailgun_signing_key` (String, Sensitive) The Mailgun HTTP webhook signing key for receiving events from webhook.
222223
- `maintenance_mode` (Boolean) When instance is in maintenance mode, non-administrative users can sign in with read-only access and make read-only API requests.

docs/resources/group_hook.md

+13-3
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,32 @@ page_title: "gitlab_group_hook Resource - terraform-provider-gitlab"
44
subcategory: ""
55
description: |-
66
The gitlab_group_hook resource allows to manage the lifecycle of a group hook.
7-
Upstream API: GitLab REST API docs https://docs.gitlab.com/api/groups/#hooks
7+
Upstream API: GitLab REST API docs https://docs.gitlab.com/api/group_webhooks/
88
---
99

1010
# gitlab_group_hook (Resource)
1111

1212
The `gitlab_group_hook` resource allows to manage the lifecycle of a group hook.
1313

14-
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#hooks)
14+
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_webhooks/)
1515

1616
## Example Usage
1717

1818
```terraform
1919
resource "gitlab_group_hook" "example" {
2020
group = "example/hooked"
2121
url = "https://example.com/hook/example"
22+
name = "Example"
23+
description = "Example Group Webhook"
2224
merge_requests_events = true
2325
}
2426
2527
# Setting all attributes
2628
resource "gitlab_group_hook" "all_attributes" {
2729
group = 1
2830
url = "http://example.com"
31+
name = "Example"
32+
description = "Example Group Webhook"
2933
token = "supersecret"
3034
enable_ssl_verification = false
3135
push_events = true
@@ -42,6 +46,8 @@ resource "gitlab_group_hook" "all_attributes" {
4246
deployment_events = true
4347
releases_events = true
4448
subgroup_events = true
49+
feature_flag_events = true
50+
branch_filter_strategy = "wildcard"
4551
}
4652
4753
# Using Custom Headers
@@ -74,15 +80,19 @@ resource "gitlab_group_hook" "all_attributes" {
7480

7581
### Optional
7682

83+
- `branch_filter_strategy` (String) Filter push events by branch. Valid values are: `wildcard`, `regex`, `all_branches`.
7784
- `confidential_issues_events` (Boolean) Invoke the hook for confidential issues events.
7885
- `confidential_note_events` (Boolean) Invoke the hook for confidential note events.
7986
- `custom_headers` (Attributes List) Custom headers for the project webhook. (see [below for nested schema](#nestedatt--custom_headers))
8087
- `custom_webhook_template` (String) Custom webhook template.
8188
- `deployment_events` (Boolean) Invoke the hook for deployment events.
89+
- `description` (String) Description of the group webhook.
8290
- `enable_ssl_verification` (Boolean) Enable SSL verification when invoking the hook.
91+
- `feature_flag_events` (Boolean) Invoke the hook for feature flag events.
8392
- `issues_events` (Boolean) Invoke the hook for issues events.
8493
- `job_events` (Boolean) Invoke the hook for job events.
8594
- `merge_requests_events` (Boolean) Invoke the hook for merge requests events.
95+
- `name` (String) Name of the group webhook.
8696
- `note_events` (Boolean) Invoke the hook for note events.
8797
- `pipeline_events` (Boolean) Invoke the hook for pipeline events.
8898
- `push_events` (Boolean) Invoke the hook for push events.
@@ -97,7 +107,7 @@ resource "gitlab_group_hook" "all_attributes" {
97107

98108
- `group_id` (Number) The id of the group for the hook.
99109
- `hook_id` (Number) The id of the group hook.
100-
- `id` (String) The id of the group hook. In the format of "group:hook_id"
110+
- `id` (String) The id of the group hook. In the format of `group:hook_id`
101111

102112
<a id="nestedatt--custom_headers"></a>
103113
### Nested Schema for `custom_headers`

docs/resources/group_service_account_access_token.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: |-
77
~> Use of the timestamp() function with expires_at will cause the resource to be re-created with every apply, it's recommended to use plantimestamp() or a static value instead.
88
~> Reading the access token status of a service account requires an admin token or a top-level group owner token on gitlab.com. As a result, this resource will ignore permission errors when attempting to read the token status, and will rely on the values in state instead. This can lead to apply-time failures if the token configured for the provider doesn't have permissions to rotate tokens for the service account.
99
~> Use rotation_configuration to automatically rotate tokens instead of using timestamp() as timestamp will cause changes with every plan. terraform apply must still be run to rotate the token.
10-
~> Due to a limitation in the API, the rotation_configuration is unable to set the new expiry date. Instead, when the resource is created, it will default the expiry date to 7 days in the future. On each subsequent apply, the new expiry will be 7 days from the date of the apply.
10+
~> Due to a limitation in the API, the rotation_configuration is unable to set the new expiry date before GitLab 17.9. Instead, when the resource is created, it will default the expiry date to 7 days in the future. On each subsequent apply, the new expiry will be 7 days from the date of the apply.
1111
Upstream API: GitLab API docs https://docs.gitlab.com/api/group_service_accounts/#create-a-personal-access-token-for-a-service-account-user
1212
---
1313

@@ -21,7 +21,7 @@ The `gitlab_group_service_account_access_token` resource allows to manage the li
2121

2222
~> Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `terraform apply` must still be run to rotate the token.
2323

24-
~> Due to a limitation in the API, the `rotation_configuration` is unable to set the new expiry date. Instead, when the resource is created, it will default the expiry date to 7 days in the future. On each subsequent apply, the new expiry will be 7 days from the date of the apply.
24+
~> Due to a limitation in the API, the `rotation_configuration` is unable to set the new expiry date before GitLab 17.9. Instead, when the resource is created, it will default the expiry date to 7 days in the future. On each subsequent apply, the new expiry will be 7 days from the date of the apply.
2525

2626
**Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/group_service_accounts/#create-a-personal-access-token-for-a-service-account-user)
2727

@@ -104,6 +104,10 @@ Required:
104104

105105
- `rotate_before_days` (Number) The duration (in days) before the expiration when the token should be rotated. As an example, if set to 7 days, the token will rotate 7 days before the expiration date, but only when `terraform apply` is run in that timeframe.
106106

107+
Optional:
108+
109+
- `expiration_days` (Number) The duration (in days) the new token should be valid for.
110+
107111
## Import
108112

109113
Starting in Terraform v1.5.0 you can use an [import block](https://developer.hashicorp.com/terraform/language/import) to import `gitlab_group_service_account_access_token`. For example:

docs/resources/group_share_group.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
page_title: "gitlab_group_share_group Resource - terraform-provider-gitlab"
44
subcategory: ""
55
description: |-
6-
The gitlab_group_share_group resource allows to manage the lifecycle of group shared with another group.
6+
The gitlab_group_share_group resource allows managing the lifecycle of a group shared with another group.
77
Upstream API: GitLab REST API docs https://docs.gitlab.com/api/groups/#share-groups-with-groups
88
---
99

1010
# gitlab_group_share_group (Resource)
1111

12-
The `gitlab_group_share_group` resource allows to manage the lifecycle of group shared with another group.
12+
The `gitlab_group_share_group` resource allows managing the lifecycle of a group shared with another group.
1313

1414
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#share-groups-with-groups)
1515

@@ -36,10 +36,11 @@ resource "gitlab_group_share_group" "test" {
3636
### Optional
3737

3838
- `expires_at` (String) Share expiration date. Format: `YYYY-MM-DD`
39+
- `member_role_id` (Number) The ID of a custom member role. Only available for Ultimate instances.
3940

4041
### Read-Only
4142

42-
- `id` (String) The ID of this resource.
43+
- `id` (String) The ID of this resource. In the format of <group-id:share-group-id>.
4344

4445
## Import
4546

0 commit comments

Comments
 (0)