pulumi-gitlab 9.5.0a1761172288__py3-none-any.whl → 9.8.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gitlab/__init__.py +69 -0
- pulumi_gitlab/_inputs.py +557 -0
- pulumi_gitlab/branch.py +1 -1
- pulumi_gitlab/deploy_key_enable.py +4 -42
- pulumi_gitlab/get_artifact_file.py +266 -0
- pulumi_gitlab/get_group_billable_member_memberships.py +2 -2
- pulumi_gitlab/get_group_hook.py +15 -1
- pulumi_gitlab/get_group_membership.py +2 -2
- pulumi_gitlab/get_group_service_account.py +2 -2
- pulumi_gitlab/get_group_service_account_access_tokens.py +138 -0
- pulumi_gitlab/get_group_variable.py +1 -1
- pulumi_gitlab/get_instance_service_account.py +2 -2
- pulumi_gitlab/get_member_role.py +200 -0
- pulumi_gitlab/get_project.py +15 -1
- pulumi_gitlab/get_project_hook.py +17 -3
- pulumi_gitlab/get_project_issue_label_events.py +170 -0
- pulumi_gitlab/get_project_membership.py +2 -2
- pulumi_gitlab/get_project_protected_tag.py +2 -2
- pulumi_gitlab/get_project_secure_file.py +247 -0
- pulumi_gitlab/get_project_tag.py +2 -2
- pulumi_gitlab/get_project_tags.py +1 -1
- pulumi_gitlab/get_projects.py +3 -3
- pulumi_gitlab/get_release_link.py +5 -5
- pulumi_gitlab/get_release_links.py +3 -3
- pulumi_gitlab/get_security_policy_document.py +170 -0
- pulumi_gitlab/get_user.py +32 -0
- pulumi_gitlab/global_level_notifications.py +2 -2
- pulumi_gitlab/group.py +141 -0
- pulumi_gitlab/group_access_token.py +4 -4
- pulumi_gitlab/group_hook.py +163 -112
- pulumi_gitlab/group_label.py +7 -7
- pulumi_gitlab/group_level_mr_approvals.py +36 -0
- pulumi_gitlab/group_membership.py +2 -2
- pulumi_gitlab/group_service_account.py +2 -2
- pulumi_gitlab/group_service_account_access_token.py +92 -2
- pulumi_gitlab/group_share_group.py +2 -2
- pulumi_gitlab/instance_service_account.py +2 -2
- pulumi_gitlab/instance_variable.py +12 -12
- pulumi_gitlab/integration_emails_on_push.py +9 -7
- pulumi_gitlab/label.py +7 -7
- pulumi_gitlab/member_role.py +9 -9
- pulumi_gitlab/outputs.py +851 -15
- pulumi_gitlab/pages_domain.py +7 -7
- pulumi_gitlab/personal_access_token.py +2 -2
- pulumi_gitlab/pipeline_schedule_variable.py +2 -2
- pulumi_gitlab/project.py +54 -7
- pulumi_gitlab/project_access_token.py +2 -2
- pulumi_gitlab/project_approval_rule.py +120 -0
- pulumi_gitlab/project_cicd_catalog.py +314 -0
- pulumi_gitlab/project_deploy_token.py +2 -2
- pulumi_gitlab/project_hook.py +155 -102
- pulumi_gitlab/project_integration_emails_on_push.py +17 -7
- pulumi_gitlab/project_issue_link.py +502 -0
- pulumi_gitlab/project_job_token_scope.py +24 -4
- pulumi_gitlab/project_label.py +11 -11
- pulumi_gitlab/project_level_mr_approvals.py +2 -2
- pulumi_gitlab/project_level_notifications.py +2 -2
- pulumi_gitlab/project_membership.py +2 -2
- pulumi_gitlab/project_mirror.py +8 -6
- pulumi_gitlab/project_package_dependency_proxy.py +446 -0
- pulumi_gitlab/project_pull_mirror.py +837 -0
- pulumi_gitlab/project_push_mirror.py +547 -0
- pulumi_gitlab/project_secure_file.py +489 -0
- pulumi_gitlab/project_tag.py +3 -3
- pulumi_gitlab/project_target_branch_rule.py +2 -2
- pulumi_gitlab/project_variable.py +7 -7
- pulumi_gitlab/project_wiki_page.py +26 -0
- pulumi_gitlab/pulumi-plugin.json +1 -1
- pulumi_gitlab/release_link.py +19 -19
- pulumi_gitlab/runner.py +4 -4
- pulumi_gitlab/system_hook.py +7 -7
- pulumi_gitlab/user_avatar.py +386 -0
- pulumi_gitlab/user_gpg_key.py +2 -2
- pulumi_gitlab/user_impersonation_token.py +2 -2
- pulumi_gitlab/user_runner.py +14 -14
- pulumi_gitlab/user_ssh_key.py +2 -2
- pulumi_gitlab/value_stream_analytics.py +88 -0
- {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/METADATA +1 -1
- {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/RECORD +81 -68
- {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/WHEEL +0 -0
- {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/top_level.txt +0 -0
pulumi_gitlab/pages_domain.py
CHANGED
|
@@ -28,7 +28,7 @@ class PagesDomainArgs:
|
|
|
28
28
|
"""
|
|
29
29
|
The set of arguments for constructing a PagesDomain resource.
|
|
30
30
|
:param pulumi.Input[_builtins.str] domain: The custom domain indicated by the user.
|
|
31
|
-
:param pulumi.Input[_builtins.str] project: The ID or
|
|
31
|
+
:param pulumi.Input[_builtins.str] project: The ID or Namespace path of the project owned by the authenticated user.
|
|
32
32
|
:param pulumi.Input[_builtins.bool] auto_ssl_enabled: Enables [automatic generation](https://docs.gitlab.com/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration/) of SSL certificates issued by Let’s Encrypt for custom domains. When this is set to "true", certificate can't be provided.
|
|
33
33
|
:param pulumi.Input[_builtins.str] certificate: The certificate in PEM format with intermediates following in most specific to least specific order.
|
|
34
34
|
:param pulumi.Input[_builtins.bool] expired: Whether the certificate is expired.
|
|
@@ -61,7 +61,7 @@ class PagesDomainArgs:
|
|
|
61
61
|
@pulumi.getter
|
|
62
62
|
def project(self) -> pulumi.Input[_builtins.str]:
|
|
63
63
|
"""
|
|
64
|
-
The ID or
|
|
64
|
+
The ID or Namespace path of the project owned by the authenticated user.
|
|
65
65
|
"""
|
|
66
66
|
return pulumi.get(self, "project")
|
|
67
67
|
|
|
@@ -137,7 +137,7 @@ class _PagesDomainState:
|
|
|
137
137
|
:param pulumi.Input[_builtins.str] domain: The custom domain indicated by the user.
|
|
138
138
|
:param pulumi.Input[_builtins.bool] expired: Whether the certificate is expired.
|
|
139
139
|
:param pulumi.Input[_builtins.str] key: The certificate key in PEM format.
|
|
140
|
-
:param pulumi.Input[_builtins.str] project: The ID or
|
|
140
|
+
:param pulumi.Input[_builtins.str] project: The ID or Namespace path of the project owned by the authenticated user.
|
|
141
141
|
:param pulumi.Input[_builtins.str] url: The URL for the given domain.
|
|
142
142
|
:param pulumi.Input[_builtins.str] verification_code: The verification code for the domain.
|
|
143
143
|
:param pulumi.Input[_builtins.bool] verified: The certificate data.
|
|
@@ -225,7 +225,7 @@ class _PagesDomainState:
|
|
|
225
225
|
@pulumi.getter
|
|
226
226
|
def project(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
227
227
|
"""
|
|
228
|
-
The ID or
|
|
228
|
+
The ID or Namespace path of the project owned by the authenticated user.
|
|
229
229
|
"""
|
|
230
230
|
return pulumi.get(self, "project")
|
|
231
231
|
|
|
@@ -317,7 +317,7 @@ class PagesDomain(pulumi.CustomResource):
|
|
|
317
317
|
:param pulumi.Input[_builtins.str] domain: The custom domain indicated by the user.
|
|
318
318
|
:param pulumi.Input[_builtins.bool] expired: Whether the certificate is expired.
|
|
319
319
|
:param pulumi.Input[_builtins.str] key: The certificate key in PEM format.
|
|
320
|
-
:param pulumi.Input[_builtins.str] project: The ID or
|
|
320
|
+
:param pulumi.Input[_builtins.str] project: The ID or Namespace path of the project owned by the authenticated user.
|
|
321
321
|
"""
|
|
322
322
|
...
|
|
323
323
|
@overload
|
|
@@ -428,7 +428,7 @@ class PagesDomain(pulumi.CustomResource):
|
|
|
428
428
|
:param pulumi.Input[_builtins.str] domain: The custom domain indicated by the user.
|
|
429
429
|
:param pulumi.Input[_builtins.bool] expired: Whether the certificate is expired.
|
|
430
430
|
:param pulumi.Input[_builtins.str] key: The certificate key in PEM format.
|
|
431
|
-
:param pulumi.Input[_builtins.str] project: The ID or
|
|
431
|
+
:param pulumi.Input[_builtins.str] project: The ID or Namespace path of the project owned by the authenticated user.
|
|
432
432
|
:param pulumi.Input[_builtins.str] url: The URL for the given domain.
|
|
433
433
|
:param pulumi.Input[_builtins.str] verification_code: The verification code for the domain.
|
|
434
434
|
:param pulumi.Input[_builtins.bool] verified: The certificate data.
|
|
@@ -492,7 +492,7 @@ class PagesDomain(pulumi.CustomResource):
|
|
|
492
492
|
@pulumi.getter
|
|
493
493
|
def project(self) -> pulumi.Output[_builtins.str]:
|
|
494
494
|
"""
|
|
495
|
-
The ID or
|
|
495
|
+
The ID or Namespace path of the project owned by the authenticated user.
|
|
496
496
|
"""
|
|
497
497
|
return pulumi.get(self, "project")
|
|
498
498
|
|
|
@@ -341,7 +341,7 @@ class PersonalAccessToken(pulumi.CustomResource):
|
|
|
341
341
|
|
|
342
342
|
> 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.
|
|
343
343
|
|
|
344
|
-
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/
|
|
344
|
+
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/development/tracing/)
|
|
345
345
|
|
|
346
346
|
> Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.
|
|
347
347
|
|
|
@@ -413,7 +413,7 @@ class PersonalAccessToken(pulumi.CustomResource):
|
|
|
413
413
|
|
|
414
414
|
> 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.
|
|
415
415
|
|
|
416
|
-
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/
|
|
416
|
+
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/development/tracing/)
|
|
417
417
|
|
|
418
418
|
> Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.
|
|
419
419
|
|
|
@@ -203,7 +203,7 @@ class PipelineScheduleVariable(pulumi.CustomResource):
|
|
|
203
203
|
"""
|
|
204
204
|
The `PipelineScheduleVariable` resource allows to manage the lifecycle of a variable for a pipeline schedule.
|
|
205
205
|
|
|
206
|
-
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_schedules/#pipeline-schedule-
|
|
206
|
+
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_schedules/#get-a-pipeline-schedule-variable)
|
|
207
207
|
|
|
208
208
|
## Example Usage
|
|
209
209
|
|
|
@@ -262,7 +262,7 @@ class PipelineScheduleVariable(pulumi.CustomResource):
|
|
|
262
262
|
"""
|
|
263
263
|
The `PipelineScheduleVariable` resource allows to manage the lifecycle of a variable for a pipeline schedule.
|
|
264
264
|
|
|
265
|
-
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_schedules/#pipeline-schedule-
|
|
265
|
+
**Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/pipeline_schedules/#get-a-pipeline-schedule-variable)
|
|
266
266
|
|
|
267
267
|
## Example Usage
|
|
268
268
|
|
pulumi_gitlab/project.py
CHANGED
|
@@ -78,6 +78,7 @@ class ProjectArgs:
|
|
|
78
78
|
merge_requests_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
79
79
|
merge_requests_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
80
80
|
merge_trains_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
81
|
+
merge_trains_skip_train_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
81
82
|
mirror: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
82
83
|
mirror_overwrites_diverged_branches: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
83
84
|
mirror_trigger_builds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -185,6 +186,7 @@ class ProjectArgs:
|
|
|
185
186
|
:param pulumi.Input[_builtins.bool] merge_requests_enabled: Enable merge requests for the project. Use `merge_requests_access_level` instead. To be removed in 19.0.
|
|
186
187
|
:param pulumi.Input[_builtins.str] merge_requests_template: Sets the template for new merge requests in the project.
|
|
187
188
|
:param pulumi.Input[_builtins.bool] merge_trains_enabled: Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
189
|
+
:param pulumi.Input[_builtins.bool] merge_trains_skip_train_allowed: Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
188
190
|
:param pulumi.Input[_builtins.bool] mirror: Enable project pull mirror.
|
|
189
191
|
:param pulumi.Input[_builtins.bool] mirror_overwrites_diverged_branches: Enable overwrite diverged branches for a mirrored project.
|
|
190
192
|
:param pulumi.Input[_builtins.bool] mirror_trigger_builds: Enable trigger builds on pushes for a mirrored project.
|
|
@@ -233,7 +235,7 @@ class ProjectArgs:
|
|
|
233
235
|
:param pulumi.Input[_builtins.int] template_project_id: When used with use*custom*template, project ID of a custom project template. This is preferable to using template*name since template*name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`. See `GroupProjectFileTemplate` to set a project as a template project. If a project has not been set as a template, using it here will result in an error.
|
|
234
236
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] topics: The list of topics for the project.
|
|
235
237
|
:param pulumi.Input[_builtins.bool] use_custom_template: Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
|
|
236
|
-
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/
|
|
238
|
+
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
|
|
237
239
|
:param pulumi.Input[_builtins.str] visibility_level: Set to `public` to create a public project. Valid values are `private`, `internal`, `public`.
|
|
238
240
|
:param pulumi.Input[_builtins.str] wiki_access_level: Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
|
|
239
241
|
:param pulumi.Input[_builtins.bool] wiki_enabled: Enable wiki for the project. Use `wiki_access_level` instead. To be removed in 19.0.
|
|
@@ -364,6 +366,8 @@ class ProjectArgs:
|
|
|
364
366
|
pulumi.set(__self__, "merge_requests_template", merge_requests_template)
|
|
365
367
|
if merge_trains_enabled is not None:
|
|
366
368
|
pulumi.set(__self__, "merge_trains_enabled", merge_trains_enabled)
|
|
369
|
+
if merge_trains_skip_train_allowed is not None:
|
|
370
|
+
pulumi.set(__self__, "merge_trains_skip_train_allowed", merge_trains_skip_train_allowed)
|
|
367
371
|
if mirror is not None:
|
|
368
372
|
pulumi.set(__self__, "mirror", mirror)
|
|
369
373
|
if mirror_overwrites_diverged_branches is not None:
|
|
@@ -1167,6 +1171,18 @@ class ProjectArgs:
|
|
|
1167
1171
|
def merge_trains_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
1168
1172
|
pulumi.set(self, "merge_trains_enabled", value)
|
|
1169
1173
|
|
|
1174
|
+
@_builtins.property
|
|
1175
|
+
@pulumi.getter(name="mergeTrainsSkipTrainAllowed")
|
|
1176
|
+
def merge_trains_skip_train_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
1177
|
+
"""
|
|
1178
|
+
Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
1179
|
+
"""
|
|
1180
|
+
return pulumi.get(self, "merge_trains_skip_train_allowed")
|
|
1181
|
+
|
|
1182
|
+
@merge_trains_skip_train_allowed.setter
|
|
1183
|
+
def merge_trains_skip_train_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
1184
|
+
pulumi.set(self, "merge_trains_skip_train_allowed", value)
|
|
1185
|
+
|
|
1170
1186
|
@_builtins.property
|
|
1171
1187
|
@pulumi.getter
|
|
1172
1188
|
def mirror(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
@@ -1708,7 +1724,7 @@ class ProjectArgs:
|
|
|
1708
1724
|
def use_custom_template(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
1709
1725
|
"""
|
|
1710
1726
|
Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
|
|
1711
|
-
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/
|
|
1727
|
+
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
|
|
1712
1728
|
"""
|
|
1713
1729
|
return pulumi.get(self, "use_custom_template")
|
|
1714
1730
|
|
|
@@ -1817,6 +1833,7 @@ class _ProjectState:
|
|
|
1817
1833
|
merge_requests_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1818
1834
|
merge_requests_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1819
1835
|
merge_trains_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1836
|
+
merge_trains_skip_train_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1820
1837
|
mirror: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1821
1838
|
mirror_overwrites_diverged_branches: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1822
1839
|
mirror_trigger_builds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -1931,6 +1948,7 @@ class _ProjectState:
|
|
|
1931
1948
|
:param pulumi.Input[_builtins.bool] merge_requests_enabled: Enable merge requests for the project. Use `merge_requests_access_level` instead. To be removed in 19.0.
|
|
1932
1949
|
:param pulumi.Input[_builtins.str] merge_requests_template: Sets the template for new merge requests in the project.
|
|
1933
1950
|
:param pulumi.Input[_builtins.bool] merge_trains_enabled: Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
1951
|
+
:param pulumi.Input[_builtins.bool] merge_trains_skip_train_allowed: Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
1934
1952
|
:param pulumi.Input[_builtins.bool] mirror: Enable project pull mirror.
|
|
1935
1953
|
:param pulumi.Input[_builtins.bool] mirror_overwrites_diverged_branches: Enable overwrite diverged branches for a mirrored project.
|
|
1936
1954
|
:param pulumi.Input[_builtins.bool] mirror_trigger_builds: Enable trigger builds on pushes for a mirrored project.
|
|
@@ -1982,7 +2000,7 @@ class _ProjectState:
|
|
|
1982
2000
|
:param pulumi.Input[_builtins.int] template_project_id: When used with use*custom*template, project ID of a custom project template. This is preferable to using template*name since template*name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`. See `GroupProjectFileTemplate` to set a project as a template project. If a project has not been set as a template, using it here will result in an error.
|
|
1983
2001
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] topics: The list of topics for the project.
|
|
1984
2002
|
:param pulumi.Input[_builtins.bool] use_custom_template: Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
|
|
1985
|
-
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/
|
|
2003
|
+
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
|
|
1986
2004
|
:param pulumi.Input[_builtins.str] visibility_level: Set to `public` to create a public project. Valid values are `private`, `internal`, `public`.
|
|
1987
2005
|
:param pulumi.Input[_builtins.str] web_url: URL that can be used to find the project in a browser.
|
|
1988
2006
|
:param pulumi.Input[_builtins.str] wiki_access_level: Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
|
|
@@ -2120,6 +2138,8 @@ class _ProjectState:
|
|
|
2120
2138
|
pulumi.set(__self__, "merge_requests_template", merge_requests_template)
|
|
2121
2139
|
if merge_trains_enabled is not None:
|
|
2122
2140
|
pulumi.set(__self__, "merge_trains_enabled", merge_trains_enabled)
|
|
2141
|
+
if merge_trains_skip_train_allowed is not None:
|
|
2142
|
+
pulumi.set(__self__, "merge_trains_skip_train_allowed", merge_trains_skip_train_allowed)
|
|
2123
2143
|
if mirror is not None:
|
|
2124
2144
|
pulumi.set(__self__, "mirror", mirror)
|
|
2125
2145
|
if mirror_overwrites_diverged_branches is not None:
|
|
@@ -2967,6 +2987,18 @@ class _ProjectState:
|
|
|
2967
2987
|
def merge_trains_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
2968
2988
|
pulumi.set(self, "merge_trains_enabled", value)
|
|
2969
2989
|
|
|
2990
|
+
@_builtins.property
|
|
2991
|
+
@pulumi.getter(name="mergeTrainsSkipTrainAllowed")
|
|
2992
|
+
def merge_trains_skip_train_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
2993
|
+
"""
|
|
2994
|
+
Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
2995
|
+
"""
|
|
2996
|
+
return pulumi.get(self, "merge_trains_skip_train_allowed")
|
|
2997
|
+
|
|
2998
|
+
@merge_trains_skip_train_allowed.setter
|
|
2999
|
+
def merge_trains_skip_train_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
3000
|
+
pulumi.set(self, "merge_trains_skip_train_allowed", value)
|
|
3001
|
+
|
|
2970
3002
|
@_builtins.property
|
|
2971
3003
|
@pulumi.getter
|
|
2972
3004
|
def mirror(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
@@ -3544,7 +3576,7 @@ class _ProjectState:
|
|
|
3544
3576
|
def use_custom_template(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
3545
3577
|
"""
|
|
3546
3578
|
Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
|
|
3547
|
-
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/
|
|
3579
|
+
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
|
|
3548
3580
|
"""
|
|
3549
3581
|
return pulumi.get(self, "use_custom_template")
|
|
3550
3582
|
|
|
@@ -3665,6 +3697,7 @@ class Project(pulumi.CustomResource):
|
|
|
3665
3697
|
merge_requests_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3666
3698
|
merge_requests_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
3667
3699
|
merge_trains_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3700
|
+
merge_trains_skip_train_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3668
3701
|
mirror: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3669
3702
|
mirror_overwrites_diverged_branches: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3670
3703
|
mirror_trigger_builds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -3806,6 +3839,7 @@ class Project(pulumi.CustomResource):
|
|
|
3806
3839
|
:param pulumi.Input[_builtins.bool] merge_requests_enabled: Enable merge requests for the project. Use `merge_requests_access_level` instead. To be removed in 19.0.
|
|
3807
3840
|
:param pulumi.Input[_builtins.str] merge_requests_template: Sets the template for new merge requests in the project.
|
|
3808
3841
|
:param pulumi.Input[_builtins.bool] merge_trains_enabled: Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
3842
|
+
:param pulumi.Input[_builtins.bool] merge_trains_skip_train_allowed: Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
3809
3843
|
:param pulumi.Input[_builtins.bool] mirror: Enable project pull mirror.
|
|
3810
3844
|
:param pulumi.Input[_builtins.bool] mirror_overwrites_diverged_branches: Enable overwrite diverged branches for a mirrored project.
|
|
3811
3845
|
:param pulumi.Input[_builtins.bool] mirror_trigger_builds: Enable trigger builds on pushes for a mirrored project.
|
|
@@ -3854,7 +3888,7 @@ class Project(pulumi.CustomResource):
|
|
|
3854
3888
|
:param pulumi.Input[_builtins.int] template_project_id: When used with use*custom*template, project ID of a custom project template. This is preferable to using template*name since template*name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`. See `GroupProjectFileTemplate` to set a project as a template project. If a project has not been set as a template, using it here will result in an error.
|
|
3855
3889
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] topics: The list of topics for the project.
|
|
3856
3890
|
:param pulumi.Input[_builtins.bool] use_custom_template: Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
|
|
3857
|
-
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/
|
|
3891
|
+
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
|
|
3858
3892
|
:param pulumi.Input[_builtins.str] visibility_level: Set to `public` to create a public project. Valid values are `private`, `internal`, `public`.
|
|
3859
3893
|
:param pulumi.Input[_builtins.str] wiki_access_level: Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
|
|
3860
3894
|
:param pulumi.Input[_builtins.bool] wiki_enabled: Enable wiki for the project. Use `wiki_access_level` instead. To be removed in 19.0.
|
|
@@ -3970,6 +4004,7 @@ class Project(pulumi.CustomResource):
|
|
|
3970
4004
|
merge_requests_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3971
4005
|
merge_requests_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
3972
4006
|
merge_trains_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
4007
|
+
merge_trains_skip_train_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3973
4008
|
mirror: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3974
4009
|
mirror_overwrites_diverged_branches: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
3975
4010
|
mirror_trigger_builds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -4084,6 +4119,7 @@ class Project(pulumi.CustomResource):
|
|
|
4084
4119
|
__props__.__dict__["merge_requests_enabled"] = merge_requests_enabled
|
|
4085
4120
|
__props__.__dict__["merge_requests_template"] = merge_requests_template
|
|
4086
4121
|
__props__.__dict__["merge_trains_enabled"] = merge_trains_enabled
|
|
4122
|
+
__props__.__dict__["merge_trains_skip_train_allowed"] = merge_trains_skip_train_allowed
|
|
4087
4123
|
__props__.__dict__["mirror"] = mirror
|
|
4088
4124
|
__props__.__dict__["mirror_overwrites_diverged_branches"] = mirror_overwrites_diverged_branches
|
|
4089
4125
|
__props__.__dict__["mirror_trigger_builds"] = mirror_trigger_builds
|
|
@@ -4211,6 +4247,7 @@ class Project(pulumi.CustomResource):
|
|
|
4211
4247
|
merge_requests_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
4212
4248
|
merge_requests_template: Optional[pulumi.Input[_builtins.str]] = None,
|
|
4213
4249
|
merge_trains_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
4250
|
+
merge_trains_skip_train_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
4214
4251
|
mirror: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
4215
4252
|
mirror_overwrites_diverged_branches: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
4216
4253
|
mirror_trigger_builds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -4330,6 +4367,7 @@ class Project(pulumi.CustomResource):
|
|
|
4330
4367
|
:param pulumi.Input[_builtins.bool] merge_requests_enabled: Enable merge requests for the project. Use `merge_requests_access_level` instead. To be removed in 19.0.
|
|
4331
4368
|
:param pulumi.Input[_builtins.str] merge_requests_template: Sets the template for new merge requests in the project.
|
|
4332
4369
|
:param pulumi.Input[_builtins.bool] merge_trains_enabled: Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
4370
|
+
:param pulumi.Input[_builtins.bool] merge_trains_skip_train_allowed: Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
4333
4371
|
:param pulumi.Input[_builtins.bool] mirror: Enable project pull mirror.
|
|
4334
4372
|
:param pulumi.Input[_builtins.bool] mirror_overwrites_diverged_branches: Enable overwrite diverged branches for a mirrored project.
|
|
4335
4373
|
:param pulumi.Input[_builtins.bool] mirror_trigger_builds: Enable trigger builds on pushes for a mirrored project.
|
|
@@ -4381,7 +4419,7 @@ class Project(pulumi.CustomResource):
|
|
|
4381
4419
|
:param pulumi.Input[_builtins.int] template_project_id: When used with use*custom*template, project ID of a custom project template. This is preferable to using template*name since template*name may be ambiguous (enterprise edition). This option is mutually exclusive with `template_name`. See `GroupProjectFileTemplate` to set a project as a template project. If a project has not been set as a template, using it here will result in an error.
|
|
4382
4420
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] topics: The list of topics for the project.
|
|
4383
4421
|
:param pulumi.Input[_builtins.bool] use_custom_template: Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
|
|
4384
|
-
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/
|
|
4422
|
+
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
|
|
4385
4423
|
:param pulumi.Input[_builtins.str] visibility_level: Set to `public` to create a public project. Valid values are `private`, `internal`, `public`.
|
|
4386
4424
|
:param pulumi.Input[_builtins.str] web_url: URL that can be used to find the project in a browser.
|
|
4387
4425
|
:param pulumi.Input[_builtins.str] wiki_access_level: Set the wiki access level. Valid values are `disabled`, `private`, `enabled`.
|
|
@@ -4451,6 +4489,7 @@ class Project(pulumi.CustomResource):
|
|
|
4451
4489
|
__props__.__dict__["merge_requests_enabled"] = merge_requests_enabled
|
|
4452
4490
|
__props__.__dict__["merge_requests_template"] = merge_requests_template
|
|
4453
4491
|
__props__.__dict__["merge_trains_enabled"] = merge_trains_enabled
|
|
4492
|
+
__props__.__dict__["merge_trains_skip_train_allowed"] = merge_trains_skip_train_allowed
|
|
4454
4493
|
__props__.__dict__["mirror"] = mirror
|
|
4455
4494
|
__props__.__dict__["mirror_overwrites_diverged_branches"] = mirror_overwrites_diverged_branches
|
|
4456
4495
|
__props__.__dict__["mirror_trigger_builds"] = mirror_trigger_builds
|
|
@@ -4989,6 +5028,14 @@ class Project(pulumi.CustomResource):
|
|
|
4989
5028
|
"""
|
|
4990
5029
|
return pulumi.get(self, "merge_trains_enabled")
|
|
4991
5030
|
|
|
5031
|
+
@_builtins.property
|
|
5032
|
+
@pulumi.getter(name="mergeTrainsSkipTrainAllowed")
|
|
5033
|
+
def merge_trains_skip_train_allowed(self) -> pulumi.Output[_builtins.bool]:
|
|
5034
|
+
"""
|
|
5035
|
+
Allows merge train merge requests to be merged without waiting for pipelines to finish. Requires `merge_pipelines_enabled` to be set to `true` to take effect.
|
|
5036
|
+
"""
|
|
5037
|
+
return pulumi.get(self, "merge_trains_skip_train_allowed")
|
|
5038
|
+
|
|
4992
5039
|
@_builtins.property
|
|
4993
5040
|
@pulumi.getter
|
|
4994
5041
|
def mirror(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
@@ -5378,7 +5425,7 @@ class Project(pulumi.CustomResource):
|
|
|
5378
5425
|
def use_custom_template(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
|
5379
5426
|
"""
|
|
5380
5427
|
Use either custom instance or group (with group*with*project*templates*id) project template (enterprise edition).
|
|
5381
|
-
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/
|
|
5428
|
+
> When using a custom template, [Group Tokens won't work](https://docs.gitlab.com/user/project/settings/import_export_troubleshooting/#import-using-the-rest-api-fails-when-using-a-group-access-token). You must use a real user's Personal Access Token.
|
|
5382
5429
|
"""
|
|
5383
5430
|
return pulumi.get(self, "use_custom_template")
|
|
5384
5431
|
|
|
@@ -386,7 +386,7 @@ class ProjectAccessToken(pulumi.CustomResource):
|
|
|
386
386
|
"""
|
|
387
387
|
The `ProjectAccessToken` resource allows to manage the lifecycle of a project access token.
|
|
388
388
|
|
|
389
|
-
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/
|
|
389
|
+
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/development/tracing/)
|
|
390
390
|
|
|
391
391
|
> Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.
|
|
392
392
|
|
|
@@ -456,7 +456,7 @@ class ProjectAccessToken(pulumi.CustomResource):
|
|
|
456
456
|
"""
|
|
457
457
|
The `ProjectAccessToken` resource allows to manage the lifecycle of a project access token.
|
|
458
458
|
|
|
459
|
-
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/
|
|
459
|
+
> Observability scopes are in beta and may not work on all instances. See more details in [the documentation](https://docs.gitlab.com/development/tracing/)
|
|
460
460
|
|
|
461
461
|
> Use `rotation_configuration` to automatically rotate tokens instead of using `timestamp()` as timestamp will cause changes with every plan. `pulumi up` must still be run to rotate the token.
|
|
462
462
|
|
|
@@ -370,6 +370,66 @@ class ProjectApprovalRule(pulumi.CustomResource):
|
|
|
370
370
|
"""
|
|
371
371
|
## Example Usage
|
|
372
372
|
|
|
373
|
+
```python
|
|
374
|
+
import pulumi
|
|
375
|
+
import pulumi_gitlab as gitlab
|
|
376
|
+
import pulumi_std as std
|
|
377
|
+
|
|
378
|
+
example_one = gitlab.ProjectApprovalRule("example-one",
|
|
379
|
+
project="5",
|
|
380
|
+
name="Example Rule",
|
|
381
|
+
approvals_required=3,
|
|
382
|
+
user_ids=[
|
|
383
|
+
50,
|
|
384
|
+
500,
|
|
385
|
+
],
|
|
386
|
+
group_ids=[51])
|
|
387
|
+
# With Protected Branch IDs
|
|
388
|
+
example = gitlab.BranchProtection("example",
|
|
389
|
+
project="5",
|
|
390
|
+
branch="release/*",
|
|
391
|
+
push_access_level="maintainer",
|
|
392
|
+
merge_access_level="developer")
|
|
393
|
+
example_two = gitlab.ProjectApprovalRule("example-two",
|
|
394
|
+
project="5",
|
|
395
|
+
name="Example Rule 2",
|
|
396
|
+
approvals_required=3,
|
|
397
|
+
user_ids=[
|
|
398
|
+
50,
|
|
399
|
+
500,
|
|
400
|
+
],
|
|
401
|
+
group_ids=[51],
|
|
402
|
+
protected_branch_ids=[example.branch_protection_id])
|
|
403
|
+
# Example using `data.gitlab_user` and `for` loop
|
|
404
|
+
users = {__key: gitlab.get_user(username=__value) for __key, __value in std.toset(input=[
|
|
405
|
+
"user1",
|
|
406
|
+
"user2",
|
|
407
|
+
"user3",
|
|
408
|
+
]).result}
|
|
409
|
+
example_three = gitlab.ProjectApprovalRule("example-three",
|
|
410
|
+
project="5",
|
|
411
|
+
name="Example Rule 3",
|
|
412
|
+
approvals_required=3,
|
|
413
|
+
user_ids=[user.id for user in users])
|
|
414
|
+
# Example using `approval_rule` using `any_approver` as rule type
|
|
415
|
+
any_approver = gitlab.ProjectApprovalRule("any_approver",
|
|
416
|
+
project="5",
|
|
417
|
+
name="Any name",
|
|
418
|
+
rule_type="any_approver",
|
|
419
|
+
approvals_required=1)
|
|
420
|
+
# Example using `applies_to_all_protected_branches`
|
|
421
|
+
example_four = gitlab.ProjectApprovalRule("example-four",
|
|
422
|
+
project="5",
|
|
423
|
+
name="Example Rule 4",
|
|
424
|
+
approvals_required=3,
|
|
425
|
+
user_ids=[
|
|
426
|
+
50,
|
|
427
|
+
500,
|
|
428
|
+
],
|
|
429
|
+
group_ids=[51],
|
|
430
|
+
applies_to_all_protected_branches=True)
|
|
431
|
+
```
|
|
432
|
+
|
|
373
433
|
## Import
|
|
374
434
|
|
|
375
435
|
Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_approval_rule`. For example:
|
|
@@ -414,6 +474,66 @@ class ProjectApprovalRule(pulumi.CustomResource):
|
|
|
414
474
|
"""
|
|
415
475
|
## Example Usage
|
|
416
476
|
|
|
477
|
+
```python
|
|
478
|
+
import pulumi
|
|
479
|
+
import pulumi_gitlab as gitlab
|
|
480
|
+
import pulumi_std as std
|
|
481
|
+
|
|
482
|
+
example_one = gitlab.ProjectApprovalRule("example-one",
|
|
483
|
+
project="5",
|
|
484
|
+
name="Example Rule",
|
|
485
|
+
approvals_required=3,
|
|
486
|
+
user_ids=[
|
|
487
|
+
50,
|
|
488
|
+
500,
|
|
489
|
+
],
|
|
490
|
+
group_ids=[51])
|
|
491
|
+
# With Protected Branch IDs
|
|
492
|
+
example = gitlab.BranchProtection("example",
|
|
493
|
+
project="5",
|
|
494
|
+
branch="release/*",
|
|
495
|
+
push_access_level="maintainer",
|
|
496
|
+
merge_access_level="developer")
|
|
497
|
+
example_two = gitlab.ProjectApprovalRule("example-two",
|
|
498
|
+
project="5",
|
|
499
|
+
name="Example Rule 2",
|
|
500
|
+
approvals_required=3,
|
|
501
|
+
user_ids=[
|
|
502
|
+
50,
|
|
503
|
+
500,
|
|
504
|
+
],
|
|
505
|
+
group_ids=[51],
|
|
506
|
+
protected_branch_ids=[example.branch_protection_id])
|
|
507
|
+
# Example using `data.gitlab_user` and `for` loop
|
|
508
|
+
users = {__key: gitlab.get_user(username=__value) for __key, __value in std.toset(input=[
|
|
509
|
+
"user1",
|
|
510
|
+
"user2",
|
|
511
|
+
"user3",
|
|
512
|
+
]).result}
|
|
513
|
+
example_three = gitlab.ProjectApprovalRule("example-three",
|
|
514
|
+
project="5",
|
|
515
|
+
name="Example Rule 3",
|
|
516
|
+
approvals_required=3,
|
|
517
|
+
user_ids=[user.id for user in users])
|
|
518
|
+
# Example using `approval_rule` using `any_approver` as rule type
|
|
519
|
+
any_approver = gitlab.ProjectApprovalRule("any_approver",
|
|
520
|
+
project="5",
|
|
521
|
+
name="Any name",
|
|
522
|
+
rule_type="any_approver",
|
|
523
|
+
approvals_required=1)
|
|
524
|
+
# Example using `applies_to_all_protected_branches`
|
|
525
|
+
example_four = gitlab.ProjectApprovalRule("example-four",
|
|
526
|
+
project="5",
|
|
527
|
+
name="Example Rule 4",
|
|
528
|
+
approvals_required=3,
|
|
529
|
+
user_ids=[
|
|
530
|
+
50,
|
|
531
|
+
500,
|
|
532
|
+
],
|
|
533
|
+
group_ids=[51],
|
|
534
|
+
applies_to_all_protected_branches=True)
|
|
535
|
+
```
|
|
536
|
+
|
|
417
537
|
## Import
|
|
418
538
|
|
|
419
539
|
Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_approval_rule`. For example:
|