pulumi-gitlab 9.3.0a1759182301__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 +107 -0
- pulumi_gitlab/_inputs.py +795 -0
- pulumi_gitlab/application_settings.py +16 -7
- pulumi_gitlab/branch.py +1 -1
- pulumi_gitlab/cluster_agent_token.py +1 -1
- pulumi_gitlab/config/__init__.pyi +15 -0
- pulumi_gitlab/config/vars.py +21 -0
- pulumi_gitlab/deploy_key_enable.py +4 -42
- pulumi_gitlab/deploy_token.py +11 -7
- pulumi_gitlab/get_artifact_file.py +266 -0
- pulumi_gitlab/get_branch.py +1 -1
- pulumi_gitlab/get_cluster_agent.py +3 -3
- pulumi_gitlab/get_cluster_agents.py +6 -6
- pulumi_gitlab/get_current_user.py +1 -1
- pulumi_gitlab/get_group.py +2 -2
- pulumi_gitlab/get_group_billable_member_memberships.py +2 -2
- pulumi_gitlab/get_group_hook.py +22 -3
- pulumi_gitlab/get_group_hooks.py +7 -3
- pulumi_gitlab/get_group_membership.py +2 -2
- pulumi_gitlab/get_group_saml_links.py +114 -0
- pulumi_gitlab/get_group_service_account.py +6 -2
- pulumi_gitlab/get_group_service_account_access_tokens.py +138 -0
- pulumi_gitlab/get_group_subgroups.py +1 -1
- pulumi_gitlab/get_group_variable.py +1 -1
- pulumi_gitlab/get_groups.py +1 -1
- pulumi_gitlab/get_instance_deploy_keys.py +1 -1
- pulumi_gitlab/get_instance_service_account.py +2 -2
- pulumi_gitlab/get_instance_variable.py +7 -7
- pulumi_gitlab/get_instance_variables.py +4 -4
- pulumi_gitlab/get_member_role.py +200 -0
- pulumi_gitlab/get_project.py +27 -7
- pulumi_gitlab/get_project_approval_rules.py +137 -0
- pulumi_gitlab/get_project_branches.py +1 -1
- pulumi_gitlab/get_project_hook.py +20 -5
- pulumi_gitlab/get_project_hooks.py +1 -1
- pulumi_gitlab/get_project_issue_label_events.py +170 -0
- pulumi_gitlab/get_project_membership.py +34 -16
- pulumi_gitlab/get_project_milestone.py +1 -1
- pulumi_gitlab/get_project_milestones.py +1 -1
- 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_project_variable.py +12 -12
- pulumi_gitlab/get_project_variables.py +4 -4
- pulumi_gitlab/get_projects.py +3 -3
- pulumi_gitlab/get_release_link.py +9 -9
- pulumi_gitlab/get_release_links.py +4 -4
- pulumi_gitlab/get_repository_file.py +1 -1
- pulumi_gitlab/get_repository_tree.py +1 -1
- pulumi_gitlab/get_security_policy_document.py +170 -0
- pulumi_gitlab/get_user.py +33 -1
- pulumi_gitlab/get_users.py +22 -2
- pulumi_gitlab/global_level_notifications.py +2 -2
- pulumi_gitlab/group.py +148 -7
- pulumi_gitlab/group_access_token.py +54 -7
- pulumi_gitlab/group_deploy_token.py +582 -0
- pulumi_gitlab/group_hook.py +163 -112
- pulumi_gitlab/group_label.py +7 -7
- pulumi_gitlab/group_level_mr_approvals.py +509 -0
- pulumi_gitlab/group_membership.py +10 -10
- pulumi_gitlab/group_service_account.py +38 -2
- pulumi_gitlab/group_service_account_access_token.py +146 -5
- pulumi_gitlab/group_share_group.py +13 -9
- pulumi_gitlab/instance_service_account.py +3 -3
- pulumi_gitlab/instance_variable.py +12 -12
- pulumi_gitlab/integration_custom_issue_tracker.py +4 -0
- pulumi_gitlab/integration_emails_on_push.py +9 -7
- pulumi_gitlab/integration_harbor.py +4 -0
- pulumi_gitlab/integration_jenkins.py +4 -0
- pulumi_gitlab/integration_redmine.py +4 -2
- pulumi_gitlab/integration_telegram.py +4 -0
- pulumi_gitlab/label.py +11 -7
- pulumi_gitlab/member_role.py +9 -9
- pulumi_gitlab/outputs.py +1279 -112
- pulumi_gitlab/pages_domain.py +7 -7
- pulumi_gitlab/personal_access_token.py +52 -5
- pulumi_gitlab/pipeline_schedule_variable.py +2 -2
- pulumi_gitlab/project.py +241 -105
- pulumi_gitlab/project_access_token.py +52 -5
- pulumi_gitlab/project_approval_rule.py +120 -0
- pulumi_gitlab/project_cicd_catalog.py +314 -0
- pulumi_gitlab/project_deploy_token.py +582 -0
- pulumi_gitlab/project_environment.py +4 -4
- pulumi_gitlab/project_external_status_check.py +469 -0
- pulumi_gitlab/project_freeze_period.py +22 -22
- pulumi_gitlab/project_hook.py +162 -109
- 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_job_token_scopes.py +14 -14
- 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 +9 -9
- pulumi_gitlab/project_mirror.py +8 -6
- pulumi_gitlab/project_package_dependency_proxy.py +446 -0
- pulumi_gitlab/project_protected_environment.py +14 -14
- 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 +30 -0
- pulumi_gitlab/provider.py +76 -0
- pulumi_gitlab/pulumi-plugin.json +1 -1
- pulumi_gitlab/release_link.py +19 -19
- pulumi_gitlab/runner.py +8 -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 +52 -5
- pulumi_gitlab/user_runner.py +14 -14
- pulumi_gitlab/user_ssh_key.py +2 -2
- pulumi_gitlab/value_stream_analytics.py +92 -0
- {pulumi_gitlab-9.3.0a1759182301.dist-info → pulumi_gitlab-9.8.1.dist-info}/METADATA +1 -1
- pulumi_gitlab-9.8.1.dist-info/RECORD +207 -0
- pulumi_gitlab-9.3.0a1759182301.dist-info/RECORD +0 -188
- {pulumi_gitlab-9.3.0a1759182301.dist-info → pulumi_gitlab-9.8.1.dist-info}/WHEEL +0 -0
- {pulumi_gitlab-9.3.0a1759182301.dist-info → pulumi_gitlab-9.8.1.dist-info}/top_level.txt +0 -0
pulumi_gitlab/group.py
CHANGED
|
@@ -22,6 +22,7 @@ __all__ = ['GroupArgs', 'Group']
|
|
|
22
22
|
class GroupArgs:
|
|
23
23
|
def __init__(__self__, *,
|
|
24
24
|
path: pulumi.Input[_builtins.str],
|
|
25
|
+
allow_merge_on_skipped_pipeline: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
25
26
|
allowed_email_domains_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
26
27
|
auto_devops_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
27
28
|
avatar: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -37,6 +38,8 @@ class GroupArgs:
|
|
|
37
38
|
membership_lock: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
38
39
|
mentions_disabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
39
40
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
41
|
+
only_allow_merge_if_all_discussions_are_resolved: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
42
|
+
only_allow_merge_if_pipeline_succeeds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
40
43
|
parent_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
41
44
|
permanently_remove_on_delete: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
42
45
|
prevent_forking_outside_group: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -54,6 +57,7 @@ class GroupArgs:
|
|
|
54
57
|
"""
|
|
55
58
|
The set of arguments for constructing a Group resource.
|
|
56
59
|
:param pulumi.Input[_builtins.str] path: The path of the group.
|
|
60
|
+
:param pulumi.Input[_builtins.bool] allow_merge_on_skipped_pipeline: Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only.
|
|
57
61
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_email_domains_lists: A list of email address domains to allow group access. Will be concatenated together into a comma separated string.
|
|
58
62
|
:param pulumi.Input[_builtins.bool] auto_devops_enabled: Default to Auto DevOps pipeline for all projects within this group.
|
|
59
63
|
:param pulumi.Input[_builtins.str] avatar: A local path to the avatar image to upload. **Note**: not available for imported resources.
|
|
@@ -69,10 +73,12 @@ class GroupArgs:
|
|
|
69
73
|
:param pulumi.Input[_builtins.bool] membership_lock: Users cannot be added to projects in this group.
|
|
70
74
|
:param pulumi.Input[_builtins.bool] mentions_disabled: Disable the capability of a group from getting mentioned.
|
|
71
75
|
:param pulumi.Input[_builtins.str] name: The name of the group.
|
|
76
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_all_discussions_are_resolved: Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
77
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_pipeline_succeeds: Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
72
78
|
:param pulumi.Input[_builtins.int] parent_id: Id of the parent group (creates a nested group).
|
|
73
79
|
:param pulumi.Input[_builtins.bool] permanently_remove_on_delete: Whether the group should be permanently removed during a `delete` operation. This only works with subgroups. Must be configured via an `apply` before the `destroy` is run.
|
|
74
80
|
:param pulumi.Input[_builtins.bool] prevent_forking_outside_group: Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
|
|
75
|
-
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`
|
|
81
|
+
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
|
|
76
82
|
:param pulumi.Input['GroupPushRulesArgs'] push_rules: Push rules for the group.
|
|
77
83
|
:param pulumi.Input[_builtins.bool] request_access_enabled: Allow users to request member access.
|
|
78
84
|
:param pulumi.Input[_builtins.bool] require_two_factor_authentication: Require all users in this group to setup Two-factor authentication.
|
|
@@ -85,6 +91,8 @@ class GroupArgs:
|
|
|
85
91
|
:param pulumi.Input[_builtins.str] wiki_access_level: The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`.
|
|
86
92
|
"""
|
|
87
93
|
pulumi.set(__self__, "path", path)
|
|
94
|
+
if allow_merge_on_skipped_pipeline is not None:
|
|
95
|
+
pulumi.set(__self__, "allow_merge_on_skipped_pipeline", allow_merge_on_skipped_pipeline)
|
|
88
96
|
if allowed_email_domains_lists is not None:
|
|
89
97
|
pulumi.set(__self__, "allowed_email_domains_lists", allowed_email_domains_lists)
|
|
90
98
|
if auto_devops_enabled is not None:
|
|
@@ -118,6 +126,10 @@ class GroupArgs:
|
|
|
118
126
|
pulumi.set(__self__, "mentions_disabled", mentions_disabled)
|
|
119
127
|
if name is not None:
|
|
120
128
|
pulumi.set(__self__, "name", name)
|
|
129
|
+
if only_allow_merge_if_all_discussions_are_resolved is not None:
|
|
130
|
+
pulumi.set(__self__, "only_allow_merge_if_all_discussions_are_resolved", only_allow_merge_if_all_discussions_are_resolved)
|
|
131
|
+
if only_allow_merge_if_pipeline_succeeds is not None:
|
|
132
|
+
pulumi.set(__self__, "only_allow_merge_if_pipeline_succeeds", only_allow_merge_if_pipeline_succeeds)
|
|
121
133
|
if parent_id is not None:
|
|
122
134
|
pulumi.set(__self__, "parent_id", parent_id)
|
|
123
135
|
if permanently_remove_on_delete is not None:
|
|
@@ -159,6 +171,18 @@ class GroupArgs:
|
|
|
159
171
|
def path(self, value: pulumi.Input[_builtins.str]):
|
|
160
172
|
pulumi.set(self, "path", value)
|
|
161
173
|
|
|
174
|
+
@_builtins.property
|
|
175
|
+
@pulumi.getter(name="allowMergeOnSkippedPipeline")
|
|
176
|
+
def allow_merge_on_skipped_pipeline(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
177
|
+
"""
|
|
178
|
+
Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only.
|
|
179
|
+
"""
|
|
180
|
+
return pulumi.get(self, "allow_merge_on_skipped_pipeline")
|
|
181
|
+
|
|
182
|
+
@allow_merge_on_skipped_pipeline.setter
|
|
183
|
+
def allow_merge_on_skipped_pipeline(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
184
|
+
pulumi.set(self, "allow_merge_on_skipped_pipeline", value)
|
|
185
|
+
|
|
162
186
|
@_builtins.property
|
|
163
187
|
@pulumi.getter(name="allowedEmailDomainsLists")
|
|
164
188
|
def allowed_email_domains_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
@@ -340,6 +364,30 @@ class GroupArgs:
|
|
|
340
364
|
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
341
365
|
pulumi.set(self, "name", value)
|
|
342
366
|
|
|
367
|
+
@_builtins.property
|
|
368
|
+
@pulumi.getter(name="onlyAllowMergeIfAllDiscussionsAreResolved")
|
|
369
|
+
def only_allow_merge_if_all_discussions_are_resolved(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
370
|
+
"""
|
|
371
|
+
Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
372
|
+
"""
|
|
373
|
+
return pulumi.get(self, "only_allow_merge_if_all_discussions_are_resolved")
|
|
374
|
+
|
|
375
|
+
@only_allow_merge_if_all_discussions_are_resolved.setter
|
|
376
|
+
def only_allow_merge_if_all_discussions_are_resolved(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
377
|
+
pulumi.set(self, "only_allow_merge_if_all_discussions_are_resolved", value)
|
|
378
|
+
|
|
379
|
+
@_builtins.property
|
|
380
|
+
@pulumi.getter(name="onlyAllowMergeIfPipelineSucceeds")
|
|
381
|
+
def only_allow_merge_if_pipeline_succeeds(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
382
|
+
"""
|
|
383
|
+
Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
384
|
+
"""
|
|
385
|
+
return pulumi.get(self, "only_allow_merge_if_pipeline_succeeds")
|
|
386
|
+
|
|
387
|
+
@only_allow_merge_if_pipeline_succeeds.setter
|
|
388
|
+
def only_allow_merge_if_pipeline_succeeds(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
389
|
+
pulumi.set(self, "only_allow_merge_if_pipeline_succeeds", value)
|
|
390
|
+
|
|
343
391
|
@_builtins.property
|
|
344
392
|
@pulumi.getter(name="parentId")
|
|
345
393
|
def parent_id(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
@@ -380,7 +428,7 @@ class GroupArgs:
|
|
|
380
428
|
@pulumi.getter(name="projectCreationLevel")
|
|
381
429
|
def project_creation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
382
430
|
"""
|
|
383
|
-
Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`
|
|
431
|
+
Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
|
|
384
432
|
"""
|
|
385
433
|
return pulumi.get(self, "project_creation_level")
|
|
386
434
|
|
|
@@ -512,6 +560,7 @@ class GroupArgs:
|
|
|
512
560
|
@pulumi.input_type
|
|
513
561
|
class _GroupState:
|
|
514
562
|
def __init__(__self__, *,
|
|
563
|
+
allow_merge_on_skipped_pipeline: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
515
564
|
allowed_email_domains_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
516
565
|
auto_devops_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
517
566
|
avatar: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -530,6 +579,8 @@ class _GroupState:
|
|
|
530
579
|
membership_lock: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
531
580
|
mentions_disabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
532
581
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
582
|
+
only_allow_merge_if_all_discussions_are_resolved: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
583
|
+
only_allow_merge_if_pipeline_succeeds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
533
584
|
parent_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
534
585
|
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
535
586
|
permanently_remove_on_delete: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -549,6 +600,7 @@ class _GroupState:
|
|
|
549
600
|
wiki_access_level: Optional[pulumi.Input[_builtins.str]] = None):
|
|
550
601
|
"""
|
|
551
602
|
Input properties used for looking up and filtering Group resources.
|
|
603
|
+
:param pulumi.Input[_builtins.bool] allow_merge_on_skipped_pipeline: Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only.
|
|
552
604
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_email_domains_lists: A list of email address domains to allow group access. Will be concatenated together into a comma separated string.
|
|
553
605
|
:param pulumi.Input[_builtins.bool] auto_devops_enabled: Default to Auto DevOps pipeline for all projects within this group.
|
|
554
606
|
:param pulumi.Input[_builtins.str] avatar: A local path to the avatar image to upload. **Note**: not available for imported resources.
|
|
@@ -567,11 +619,13 @@ class _GroupState:
|
|
|
567
619
|
:param pulumi.Input[_builtins.bool] membership_lock: Users cannot be added to projects in this group.
|
|
568
620
|
:param pulumi.Input[_builtins.bool] mentions_disabled: Disable the capability of a group from getting mentioned.
|
|
569
621
|
:param pulumi.Input[_builtins.str] name: The name of the group.
|
|
622
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_all_discussions_are_resolved: Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
623
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_pipeline_succeeds: Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
570
624
|
:param pulumi.Input[_builtins.int] parent_id: Id of the parent group (creates a nested group).
|
|
571
625
|
:param pulumi.Input[_builtins.str] path: The path of the group.
|
|
572
626
|
:param pulumi.Input[_builtins.bool] permanently_remove_on_delete: Whether the group should be permanently removed during a `delete` operation. This only works with subgroups. Must be configured via an `apply` before the `destroy` is run.
|
|
573
627
|
:param pulumi.Input[_builtins.bool] prevent_forking_outside_group: Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
|
|
574
|
-
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`
|
|
628
|
+
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
|
|
575
629
|
:param pulumi.Input['GroupPushRulesArgs'] push_rules: Push rules for the group.
|
|
576
630
|
:param pulumi.Input[_builtins.bool] request_access_enabled: Allow users to request member access.
|
|
577
631
|
:param pulumi.Input[_builtins.bool] require_two_factor_authentication: Require all users in this group to setup Two-factor authentication.
|
|
@@ -585,6 +639,8 @@ class _GroupState:
|
|
|
585
639
|
:param pulumi.Input[_builtins.str] web_url: Web URL of the group.
|
|
586
640
|
:param pulumi.Input[_builtins.str] wiki_access_level: The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`.
|
|
587
641
|
"""
|
|
642
|
+
if allow_merge_on_skipped_pipeline is not None:
|
|
643
|
+
pulumi.set(__self__, "allow_merge_on_skipped_pipeline", allow_merge_on_skipped_pipeline)
|
|
588
644
|
if allowed_email_domains_lists is not None:
|
|
589
645
|
pulumi.set(__self__, "allowed_email_domains_lists", allowed_email_domains_lists)
|
|
590
646
|
if auto_devops_enabled is not None:
|
|
@@ -624,6 +680,10 @@ class _GroupState:
|
|
|
624
680
|
pulumi.set(__self__, "mentions_disabled", mentions_disabled)
|
|
625
681
|
if name is not None:
|
|
626
682
|
pulumi.set(__self__, "name", name)
|
|
683
|
+
if only_allow_merge_if_all_discussions_are_resolved is not None:
|
|
684
|
+
pulumi.set(__self__, "only_allow_merge_if_all_discussions_are_resolved", only_allow_merge_if_all_discussions_are_resolved)
|
|
685
|
+
if only_allow_merge_if_pipeline_succeeds is not None:
|
|
686
|
+
pulumi.set(__self__, "only_allow_merge_if_pipeline_succeeds", only_allow_merge_if_pipeline_succeeds)
|
|
627
687
|
if parent_id is not None:
|
|
628
688
|
pulumi.set(__self__, "parent_id", parent_id)
|
|
629
689
|
if path is not None:
|
|
@@ -659,6 +719,18 @@ class _GroupState:
|
|
|
659
719
|
if wiki_access_level is not None:
|
|
660
720
|
pulumi.set(__self__, "wiki_access_level", wiki_access_level)
|
|
661
721
|
|
|
722
|
+
@_builtins.property
|
|
723
|
+
@pulumi.getter(name="allowMergeOnSkippedPipeline")
|
|
724
|
+
def allow_merge_on_skipped_pipeline(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
725
|
+
"""
|
|
726
|
+
Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only.
|
|
727
|
+
"""
|
|
728
|
+
return pulumi.get(self, "allow_merge_on_skipped_pipeline")
|
|
729
|
+
|
|
730
|
+
@allow_merge_on_skipped_pipeline.setter
|
|
731
|
+
def allow_merge_on_skipped_pipeline(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
732
|
+
pulumi.set(self, "allow_merge_on_skipped_pipeline", value)
|
|
733
|
+
|
|
662
734
|
@_builtins.property
|
|
663
735
|
@pulumi.getter(name="allowedEmailDomainsLists")
|
|
664
736
|
def allowed_email_domains_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
@@ -876,6 +948,30 @@ class _GroupState:
|
|
|
876
948
|
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
877
949
|
pulumi.set(self, "name", value)
|
|
878
950
|
|
|
951
|
+
@_builtins.property
|
|
952
|
+
@pulumi.getter(name="onlyAllowMergeIfAllDiscussionsAreResolved")
|
|
953
|
+
def only_allow_merge_if_all_discussions_are_resolved(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
954
|
+
"""
|
|
955
|
+
Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
956
|
+
"""
|
|
957
|
+
return pulumi.get(self, "only_allow_merge_if_all_discussions_are_resolved")
|
|
958
|
+
|
|
959
|
+
@only_allow_merge_if_all_discussions_are_resolved.setter
|
|
960
|
+
def only_allow_merge_if_all_discussions_are_resolved(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
961
|
+
pulumi.set(self, "only_allow_merge_if_all_discussions_are_resolved", value)
|
|
962
|
+
|
|
963
|
+
@_builtins.property
|
|
964
|
+
@pulumi.getter(name="onlyAllowMergeIfPipelineSucceeds")
|
|
965
|
+
def only_allow_merge_if_pipeline_succeeds(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
966
|
+
"""
|
|
967
|
+
Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
968
|
+
"""
|
|
969
|
+
return pulumi.get(self, "only_allow_merge_if_pipeline_succeeds")
|
|
970
|
+
|
|
971
|
+
@only_allow_merge_if_pipeline_succeeds.setter
|
|
972
|
+
def only_allow_merge_if_pipeline_succeeds(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
973
|
+
pulumi.set(self, "only_allow_merge_if_pipeline_succeeds", value)
|
|
974
|
+
|
|
879
975
|
@_builtins.property
|
|
880
976
|
@pulumi.getter(name="parentId")
|
|
881
977
|
def parent_id(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
@@ -928,7 +1024,7 @@ class _GroupState:
|
|
|
928
1024
|
@pulumi.getter(name="projectCreationLevel")
|
|
929
1025
|
def project_creation_level(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
930
1026
|
"""
|
|
931
|
-
Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`
|
|
1027
|
+
Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
|
|
932
1028
|
"""
|
|
933
1029
|
return pulumi.get(self, "project_creation_level")
|
|
934
1030
|
|
|
@@ -1087,6 +1183,7 @@ class Group(pulumi.CustomResource):
|
|
|
1087
1183
|
def __init__(__self__,
|
|
1088
1184
|
resource_name: str,
|
|
1089
1185
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1186
|
+
allow_merge_on_skipped_pipeline: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1090
1187
|
allowed_email_domains_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1091
1188
|
auto_devops_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1092
1189
|
avatar: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -1102,6 +1199,8 @@ class Group(pulumi.CustomResource):
|
|
|
1102
1199
|
membership_lock: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1103
1200
|
mentions_disabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1104
1201
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1202
|
+
only_allow_merge_if_all_discussions_are_resolved: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1203
|
+
only_allow_merge_if_pipeline_succeeds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1105
1204
|
parent_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1106
1205
|
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1107
1206
|
permanently_remove_on_delete: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -1208,6 +1307,7 @@ class Group(pulumi.CustomResource):
|
|
|
1208
1307
|
|
|
1209
1308
|
:param str resource_name: The name of the resource.
|
|
1210
1309
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1310
|
+
:param pulumi.Input[_builtins.bool] allow_merge_on_skipped_pipeline: Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only.
|
|
1211
1311
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_email_domains_lists: A list of email address domains to allow group access. Will be concatenated together into a comma separated string.
|
|
1212
1312
|
:param pulumi.Input[_builtins.bool] auto_devops_enabled: Default to Auto DevOps pipeline for all projects within this group.
|
|
1213
1313
|
:param pulumi.Input[_builtins.str] avatar: A local path to the avatar image to upload. **Note**: not available for imported resources.
|
|
@@ -1223,11 +1323,13 @@ class Group(pulumi.CustomResource):
|
|
|
1223
1323
|
:param pulumi.Input[_builtins.bool] membership_lock: Users cannot be added to projects in this group.
|
|
1224
1324
|
:param pulumi.Input[_builtins.bool] mentions_disabled: Disable the capability of a group from getting mentioned.
|
|
1225
1325
|
:param pulumi.Input[_builtins.str] name: The name of the group.
|
|
1326
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_all_discussions_are_resolved: Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
1327
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_pipeline_succeeds: Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
1226
1328
|
:param pulumi.Input[_builtins.int] parent_id: Id of the parent group (creates a nested group).
|
|
1227
1329
|
:param pulumi.Input[_builtins.str] path: The path of the group.
|
|
1228
1330
|
:param pulumi.Input[_builtins.bool] permanently_remove_on_delete: Whether the group should be permanently removed during a `delete` operation. This only works with subgroups. Must be configured via an `apply` before the `destroy` is run.
|
|
1229
1331
|
:param pulumi.Input[_builtins.bool] prevent_forking_outside_group: Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
|
|
1230
|
-
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`
|
|
1332
|
+
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
|
|
1231
1333
|
:param pulumi.Input[Union['GroupPushRulesArgs', 'GroupPushRulesArgsDict']] push_rules: Push rules for the group.
|
|
1232
1334
|
:param pulumi.Input[_builtins.bool] request_access_enabled: Allow users to request member access.
|
|
1233
1335
|
:param pulumi.Input[_builtins.bool] require_two_factor_authentication: Require all users in this group to setup Two-factor authentication.
|
|
@@ -1348,6 +1450,7 @@ class Group(pulumi.CustomResource):
|
|
|
1348
1450
|
def _internal_init(__self__,
|
|
1349
1451
|
resource_name: str,
|
|
1350
1452
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1453
|
+
allow_merge_on_skipped_pipeline: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1351
1454
|
allowed_email_domains_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1352
1455
|
auto_devops_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1353
1456
|
avatar: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -1363,6 +1466,8 @@ class Group(pulumi.CustomResource):
|
|
|
1363
1466
|
membership_lock: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1364
1467
|
mentions_disabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1365
1468
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1469
|
+
only_allow_merge_if_all_discussions_are_resolved: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1470
|
+
only_allow_merge_if_pipeline_succeeds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1366
1471
|
parent_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1367
1472
|
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1368
1473
|
permanently_remove_on_delete: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -1387,6 +1492,7 @@ class Group(pulumi.CustomResource):
|
|
|
1387
1492
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
1388
1493
|
__props__ = GroupArgs.__new__(GroupArgs)
|
|
1389
1494
|
|
|
1495
|
+
__props__.__dict__["allow_merge_on_skipped_pipeline"] = allow_merge_on_skipped_pipeline
|
|
1390
1496
|
__props__.__dict__["allowed_email_domains_lists"] = allowed_email_domains_lists
|
|
1391
1497
|
__props__.__dict__["auto_devops_enabled"] = auto_devops_enabled
|
|
1392
1498
|
__props__.__dict__["avatar"] = avatar
|
|
@@ -1402,6 +1508,8 @@ class Group(pulumi.CustomResource):
|
|
|
1402
1508
|
__props__.__dict__["membership_lock"] = membership_lock
|
|
1403
1509
|
__props__.__dict__["mentions_disabled"] = mentions_disabled
|
|
1404
1510
|
__props__.__dict__["name"] = name
|
|
1511
|
+
__props__.__dict__["only_allow_merge_if_all_discussions_are_resolved"] = only_allow_merge_if_all_discussions_are_resolved
|
|
1512
|
+
__props__.__dict__["only_allow_merge_if_pipeline_succeeds"] = only_allow_merge_if_pipeline_succeeds
|
|
1405
1513
|
__props__.__dict__["parent_id"] = parent_id
|
|
1406
1514
|
if path is None and not opts.urn:
|
|
1407
1515
|
raise TypeError("Missing required property 'path'")
|
|
@@ -1436,6 +1544,7 @@ class Group(pulumi.CustomResource):
|
|
|
1436
1544
|
def get(resource_name: str,
|
|
1437
1545
|
id: pulumi.Input[str],
|
|
1438
1546
|
opts: Optional[pulumi.ResourceOptions] = None,
|
|
1547
|
+
allow_merge_on_skipped_pipeline: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1439
1548
|
allowed_email_domains_lists: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
1440
1549
|
auto_devops_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1441
1550
|
avatar: Optional[pulumi.Input[_builtins.str]] = None,
|
|
@@ -1454,6 +1563,8 @@ class Group(pulumi.CustomResource):
|
|
|
1454
1563
|
membership_lock: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1455
1564
|
mentions_disabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1456
1565
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1566
|
+
only_allow_merge_if_all_discussions_are_resolved: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1567
|
+
only_allow_merge_if_pipeline_succeeds: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
1457
1568
|
parent_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
1458
1569
|
path: Optional[pulumi.Input[_builtins.str]] = None,
|
|
1459
1570
|
permanently_remove_on_delete: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
@@ -1478,6 +1589,7 @@ class Group(pulumi.CustomResource):
|
|
|
1478
1589
|
:param str resource_name: The unique name of the resulting resource.
|
|
1479
1590
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
1480
1591
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
1592
|
+
:param pulumi.Input[_builtins.bool] allow_merge_on_skipped_pipeline: Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only.
|
|
1481
1593
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_email_domains_lists: A list of email address domains to allow group access. Will be concatenated together into a comma separated string.
|
|
1482
1594
|
:param pulumi.Input[_builtins.bool] auto_devops_enabled: Default to Auto DevOps pipeline for all projects within this group.
|
|
1483
1595
|
:param pulumi.Input[_builtins.str] avatar: A local path to the avatar image to upload. **Note**: not available for imported resources.
|
|
@@ -1496,11 +1608,13 @@ class Group(pulumi.CustomResource):
|
|
|
1496
1608
|
:param pulumi.Input[_builtins.bool] membership_lock: Users cannot be added to projects in this group.
|
|
1497
1609
|
:param pulumi.Input[_builtins.bool] mentions_disabled: Disable the capability of a group from getting mentioned.
|
|
1498
1610
|
:param pulumi.Input[_builtins.str] name: The name of the group.
|
|
1611
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_all_discussions_are_resolved: Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
1612
|
+
:param pulumi.Input[_builtins.bool] only_allow_merge_if_pipeline_succeeds: Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
1499
1613
|
:param pulumi.Input[_builtins.int] parent_id: Id of the parent group (creates a nested group).
|
|
1500
1614
|
:param pulumi.Input[_builtins.str] path: The path of the group.
|
|
1501
1615
|
:param pulumi.Input[_builtins.bool] permanently_remove_on_delete: Whether the group should be permanently removed during a `delete` operation. This only works with subgroups. Must be configured via an `apply` before the `destroy` is run.
|
|
1502
1616
|
:param pulumi.Input[_builtins.bool] prevent_forking_outside_group: Defaults to false. When enabled, users can not fork projects from this group to external namespaces.
|
|
1503
|
-
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`
|
|
1617
|
+
:param pulumi.Input[_builtins.str] project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
|
|
1504
1618
|
:param pulumi.Input[Union['GroupPushRulesArgs', 'GroupPushRulesArgsDict']] push_rules: Push rules for the group.
|
|
1505
1619
|
:param pulumi.Input[_builtins.bool] request_access_enabled: Allow users to request member access.
|
|
1506
1620
|
:param pulumi.Input[_builtins.bool] require_two_factor_authentication: Require all users in this group to setup Two-factor authentication.
|
|
@@ -1518,6 +1632,7 @@ class Group(pulumi.CustomResource):
|
|
|
1518
1632
|
|
|
1519
1633
|
__props__ = _GroupState.__new__(_GroupState)
|
|
1520
1634
|
|
|
1635
|
+
__props__.__dict__["allow_merge_on_skipped_pipeline"] = allow_merge_on_skipped_pipeline
|
|
1521
1636
|
__props__.__dict__["allowed_email_domains_lists"] = allowed_email_domains_lists
|
|
1522
1637
|
__props__.__dict__["auto_devops_enabled"] = auto_devops_enabled
|
|
1523
1638
|
__props__.__dict__["avatar"] = avatar
|
|
@@ -1536,6 +1651,8 @@ class Group(pulumi.CustomResource):
|
|
|
1536
1651
|
__props__.__dict__["membership_lock"] = membership_lock
|
|
1537
1652
|
__props__.__dict__["mentions_disabled"] = mentions_disabled
|
|
1538
1653
|
__props__.__dict__["name"] = name
|
|
1654
|
+
__props__.__dict__["only_allow_merge_if_all_discussions_are_resolved"] = only_allow_merge_if_all_discussions_are_resolved
|
|
1655
|
+
__props__.__dict__["only_allow_merge_if_pipeline_succeeds"] = only_allow_merge_if_pipeline_succeeds
|
|
1539
1656
|
__props__.__dict__["parent_id"] = parent_id
|
|
1540
1657
|
__props__.__dict__["path"] = path
|
|
1541
1658
|
__props__.__dict__["permanently_remove_on_delete"] = permanently_remove_on_delete
|
|
@@ -1555,6 +1672,14 @@ class Group(pulumi.CustomResource):
|
|
|
1555
1672
|
__props__.__dict__["wiki_access_level"] = wiki_access_level
|
|
1556
1673
|
return Group(resource_name, opts=opts, __props__=__props__)
|
|
1557
1674
|
|
|
1675
|
+
@_builtins.property
|
|
1676
|
+
@pulumi.getter(name="allowMergeOnSkippedPipeline")
|
|
1677
|
+
def allow_merge_on_skipped_pipeline(self) -> pulumi.Output[_builtins.bool]:
|
|
1678
|
+
"""
|
|
1679
|
+
Allow merging merge requests when the pipeline is skipped. Only applies when only*allow*merge*if*pipeline_succeeds is true. Premium and Ultimate only.
|
|
1680
|
+
"""
|
|
1681
|
+
return pulumi.get(self, "allow_merge_on_skipped_pipeline")
|
|
1682
|
+
|
|
1558
1683
|
@_builtins.property
|
|
1559
1684
|
@pulumi.getter(name="allowedEmailDomainsLists")
|
|
1560
1685
|
def allowed_email_domains_lists(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
@@ -1700,6 +1825,22 @@ class Group(pulumi.CustomResource):
|
|
|
1700
1825
|
"""
|
|
1701
1826
|
return pulumi.get(self, "name")
|
|
1702
1827
|
|
|
1828
|
+
@_builtins.property
|
|
1829
|
+
@pulumi.getter(name="onlyAllowMergeIfAllDiscussionsAreResolved")
|
|
1830
|
+
def only_allow_merge_if_all_discussions_are_resolved(self) -> pulumi.Output[_builtins.bool]:
|
|
1831
|
+
"""
|
|
1832
|
+
Only allow merging merge requests when all discussions are resolved. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
1833
|
+
"""
|
|
1834
|
+
return pulumi.get(self, "only_allow_merge_if_all_discussions_are_resolved")
|
|
1835
|
+
|
|
1836
|
+
@_builtins.property
|
|
1837
|
+
@pulumi.getter(name="onlyAllowMergeIfPipelineSucceeds")
|
|
1838
|
+
def only_allow_merge_if_pipeline_succeeds(self) -> pulumi.Output[_builtins.bool]:
|
|
1839
|
+
"""
|
|
1840
|
+
Only allow merging merge requests if the pipeline succeeds. When enabled for a group, applies to all projects in the group. Premium and Ultimate only.
|
|
1841
|
+
"""
|
|
1842
|
+
return pulumi.get(self, "only_allow_merge_if_pipeline_succeeds")
|
|
1843
|
+
|
|
1703
1844
|
@_builtins.property
|
|
1704
1845
|
@pulumi.getter(name="parentId")
|
|
1705
1846
|
def parent_id(self) -> pulumi.Output[_builtins.int]:
|
|
@@ -1736,7 +1877,7 @@ class Group(pulumi.CustomResource):
|
|
|
1736
1877
|
@pulumi.getter(name="projectCreationLevel")
|
|
1737
1878
|
def project_creation_level(self) -> pulumi.Output[_builtins.str]:
|
|
1738
1879
|
"""
|
|
1739
|
-
Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`
|
|
1880
|
+
Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
|
|
1740
1881
|
"""
|
|
1741
1882
|
return pulumi.get(self, "project_creation_level")
|
|
1742
1883
|
|
|
@@ -27,7 +27,8 @@ class GroupAccessTokenArgs:
|
|
|
27
27
|
description: Optional[pulumi.Input[_builtins.str]] = None,
|
|
28
28
|
expires_at: Optional[pulumi.Input[_builtins.str]] = None,
|
|
29
29
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
30
|
-
rotation_configuration: Optional[pulumi.Input['GroupAccessTokenRotationConfigurationArgs']] = None
|
|
30
|
+
rotation_configuration: Optional[pulumi.Input['GroupAccessTokenRotationConfigurationArgs']] = None,
|
|
31
|
+
validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
31
32
|
"""
|
|
32
33
|
The set of arguments for constructing a GroupAccessToken resource.
|
|
33
34
|
:param pulumi.Input[_builtins.str] group: The ID or full path of the group.
|
|
@@ -37,6 +38,7 @@ class GroupAccessTokenArgs:
|
|
|
37
38
|
:param pulumi.Input[_builtins.str] expires_at: When the token will expire, YYYY-MM-DD format.
|
|
38
39
|
:param pulumi.Input[_builtins.str] name: The name of the group access token.
|
|
39
40
|
:param pulumi.Input['GroupAccessTokenRotationConfigurationArgs'] rotation_configuration: The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run.
|
|
41
|
+
:param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
|
|
40
42
|
"""
|
|
41
43
|
pulumi.set(__self__, "group", group)
|
|
42
44
|
pulumi.set(__self__, "scopes", scopes)
|
|
@@ -50,6 +52,8 @@ class GroupAccessTokenArgs:
|
|
|
50
52
|
pulumi.set(__self__, "name", name)
|
|
51
53
|
if rotation_configuration is not None:
|
|
52
54
|
pulumi.set(__self__, "rotation_configuration", rotation_configuration)
|
|
55
|
+
if validate_past_expiration_date is not None:
|
|
56
|
+
pulumi.set(__self__, "validate_past_expiration_date", validate_past_expiration_date)
|
|
53
57
|
|
|
54
58
|
@_builtins.property
|
|
55
59
|
@pulumi.getter
|
|
@@ -135,6 +139,18 @@ class GroupAccessTokenArgs:
|
|
|
135
139
|
def rotation_configuration(self, value: Optional[pulumi.Input['GroupAccessTokenRotationConfigurationArgs']]):
|
|
136
140
|
pulumi.set(self, "rotation_configuration", value)
|
|
137
141
|
|
|
142
|
+
@_builtins.property
|
|
143
|
+
@pulumi.getter(name="validatePastExpirationDate")
|
|
144
|
+
def validate_past_expiration_date(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
145
|
+
"""
|
|
146
|
+
Wether to validate if the expiration date is in the future.
|
|
147
|
+
"""
|
|
148
|
+
return pulumi.get(self, "validate_past_expiration_date")
|
|
149
|
+
|
|
150
|
+
@validate_past_expiration_date.setter
|
|
151
|
+
def validate_past_expiration_date(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
152
|
+
pulumi.set(self, "validate_past_expiration_date", value)
|
|
153
|
+
|
|
138
154
|
|
|
139
155
|
@pulumi.input_type
|
|
140
156
|
class _GroupAccessTokenState:
|
|
@@ -150,7 +166,8 @@ class _GroupAccessTokenState:
|
|
|
150
166
|
rotation_configuration: Optional[pulumi.Input['GroupAccessTokenRotationConfigurationArgs']] = None,
|
|
151
167
|
scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
152
168
|
token: Optional[pulumi.Input[_builtins.str]] = None,
|
|
153
|
-
user_id: Optional[pulumi.Input[_builtins.int]] = None
|
|
169
|
+
user_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
170
|
+
validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
154
171
|
"""
|
|
155
172
|
Input properties used for looking up and filtering GroupAccessToken resources.
|
|
156
173
|
:param pulumi.Input[_builtins.str] access_level: The access level for the group access token. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`. Default is `maintainer`.
|
|
@@ -165,6 +182,7 @@ class _GroupAccessTokenState:
|
|
|
165
182
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the group access token. Valid values are: `api`, `read_api`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_repository`, `write_repository`, `create_runner`, `manage_runner`, `ai_features`, `k8s_proxy`, `read_observability`, `write_observability`, `self_rotate`
|
|
166
183
|
:param pulumi.Input[_builtins.str] token: The token of the group access token. **Note**: the token is not available for imported resources.
|
|
167
184
|
:param pulumi.Input[_builtins.int] user_id: The user_id associated to the token.
|
|
185
|
+
:param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
|
|
168
186
|
"""
|
|
169
187
|
if access_level is not None:
|
|
170
188
|
pulumi.set(__self__, "access_level", access_level)
|
|
@@ -190,6 +208,8 @@ class _GroupAccessTokenState:
|
|
|
190
208
|
pulumi.set(__self__, "token", token)
|
|
191
209
|
if user_id is not None:
|
|
192
210
|
pulumi.set(__self__, "user_id", user_id)
|
|
211
|
+
if validate_past_expiration_date is not None:
|
|
212
|
+
pulumi.set(__self__, "validate_past_expiration_date", validate_past_expiration_date)
|
|
193
213
|
|
|
194
214
|
@_builtins.property
|
|
195
215
|
@pulumi.getter(name="accessLevel")
|
|
@@ -335,6 +355,18 @@ class _GroupAccessTokenState:
|
|
|
335
355
|
def user_id(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
336
356
|
pulumi.set(self, "user_id", value)
|
|
337
357
|
|
|
358
|
+
@_builtins.property
|
|
359
|
+
@pulumi.getter(name="validatePastExpirationDate")
|
|
360
|
+
def validate_past_expiration_date(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
361
|
+
"""
|
|
362
|
+
Wether to validate if the expiration date is in the future.
|
|
363
|
+
"""
|
|
364
|
+
return pulumi.get(self, "validate_past_expiration_date")
|
|
365
|
+
|
|
366
|
+
@validate_past_expiration_date.setter
|
|
367
|
+
def validate_past_expiration_date(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
368
|
+
pulumi.set(self, "validate_past_expiration_date", value)
|
|
369
|
+
|
|
338
370
|
|
|
339
371
|
@pulumi.type_token("gitlab:index/groupAccessToken:GroupAccessToken")
|
|
340
372
|
class GroupAccessToken(pulumi.CustomResource):
|
|
@@ -349,15 +381,16 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
349
381
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
350
382
|
rotation_configuration: Optional[pulumi.Input[Union['GroupAccessTokenRotationConfigurationArgs', 'GroupAccessTokenRotationConfigurationArgsDict']]] = None,
|
|
351
383
|
scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
384
|
+
validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
352
385
|
__props__=None):
|
|
353
386
|
"""
|
|
354
387
|
The `GroupAccessToken` resource allows to manage the lifecycle of a group access token.
|
|
355
388
|
|
|
356
|
-
> 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/)
|
|
357
390
|
|
|
358
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.
|
|
359
392
|
|
|
360
|
-
> Due to [Automatic reuse detection](https://docs.gitlab.com/api/
|
|
393
|
+
> Due to [Automatic reuse detection](https://docs.gitlab.com/api/personal_access_tokens/#automatic-reuse-detection) it's possible that a new Group Access Token will immediately be revoked. Check if an old process using the old token is running if this happens.
|
|
361
394
|
|
|
362
395
|
**Upstream API**: [GitLab REST API](https://docs.gitlab.com/api/group_access_tokens/)
|
|
363
396
|
|
|
@@ -412,6 +445,7 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
412
445
|
:param pulumi.Input[_builtins.str] name: The name of the group access token.
|
|
413
446
|
:param pulumi.Input[Union['GroupAccessTokenRotationConfigurationArgs', 'GroupAccessTokenRotationConfigurationArgsDict']] rotation_configuration: The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run.
|
|
414
447
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the group access token. Valid values are: `api`, `read_api`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_repository`, `write_repository`, `create_runner`, `manage_runner`, `ai_features`, `k8s_proxy`, `read_observability`, `write_observability`, `self_rotate`
|
|
448
|
+
:param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
|
|
415
449
|
"""
|
|
416
450
|
...
|
|
417
451
|
@overload
|
|
@@ -422,11 +456,11 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
422
456
|
"""
|
|
423
457
|
The `GroupAccessToken` resource allows to manage the lifecycle of a group access token.
|
|
424
458
|
|
|
425
|
-
> 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/)
|
|
426
460
|
|
|
427
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.
|
|
428
462
|
|
|
429
|
-
> Due to [Automatic reuse detection](https://docs.gitlab.com/api/
|
|
463
|
+
> Due to [Automatic reuse detection](https://docs.gitlab.com/api/personal_access_tokens/#automatic-reuse-detection) it's possible that a new Group Access Token will immediately be revoked. Check if an old process using the old token is running if this happens.
|
|
430
464
|
|
|
431
465
|
**Upstream API**: [GitLab REST API](https://docs.gitlab.com/api/group_access_tokens/)
|
|
432
466
|
|
|
@@ -494,6 +528,7 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
494
528
|
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
495
529
|
rotation_configuration: Optional[pulumi.Input[Union['GroupAccessTokenRotationConfigurationArgs', 'GroupAccessTokenRotationConfigurationArgsDict']]] = None,
|
|
496
530
|
scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
531
|
+
validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
497
532
|
__props__=None):
|
|
498
533
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
499
534
|
if not isinstance(opts, pulumi.ResourceOptions):
|
|
@@ -514,6 +549,7 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
514
549
|
if scopes is None and not opts.urn:
|
|
515
550
|
raise TypeError("Missing required property 'scopes'")
|
|
516
551
|
__props__.__dict__["scopes"] = scopes
|
|
552
|
+
__props__.__dict__["validate_past_expiration_date"] = validate_past_expiration_date
|
|
517
553
|
__props__.__dict__["active"] = None
|
|
518
554
|
__props__.__dict__["created_at"] = None
|
|
519
555
|
__props__.__dict__["revoked"] = None
|
|
@@ -542,7 +578,8 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
542
578
|
rotation_configuration: Optional[pulumi.Input[Union['GroupAccessTokenRotationConfigurationArgs', 'GroupAccessTokenRotationConfigurationArgsDict']]] = None,
|
|
543
579
|
scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
544
580
|
token: Optional[pulumi.Input[_builtins.str]] = None,
|
|
545
|
-
user_id: Optional[pulumi.Input[_builtins.int]] = None
|
|
581
|
+
user_id: Optional[pulumi.Input[_builtins.int]] = None,
|
|
582
|
+
validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None) -> 'GroupAccessToken':
|
|
546
583
|
"""
|
|
547
584
|
Get an existing GroupAccessToken resource's state with the given name, id, and optional extra
|
|
548
585
|
properties used to qualify the lookup.
|
|
@@ -562,6 +599,7 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
562
599
|
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the group access token. Valid values are: `api`, `read_api`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_repository`, `write_repository`, `create_runner`, `manage_runner`, `ai_features`, `k8s_proxy`, `read_observability`, `write_observability`, `self_rotate`
|
|
563
600
|
:param pulumi.Input[_builtins.str] token: The token of the group access token. **Note**: the token is not available for imported resources.
|
|
564
601
|
:param pulumi.Input[_builtins.int] user_id: The user_id associated to the token.
|
|
602
|
+
:param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
|
|
565
603
|
"""
|
|
566
604
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
567
605
|
|
|
@@ -579,6 +617,7 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
579
617
|
__props__.__dict__["scopes"] = scopes
|
|
580
618
|
__props__.__dict__["token"] = token
|
|
581
619
|
__props__.__dict__["user_id"] = user_id
|
|
620
|
+
__props__.__dict__["validate_past_expiration_date"] = validate_past_expiration_date
|
|
582
621
|
return GroupAccessToken(resource_name, opts=opts, __props__=__props__)
|
|
583
622
|
|
|
584
623
|
@_builtins.property
|
|
@@ -677,3 +716,11 @@ class GroupAccessToken(pulumi.CustomResource):
|
|
|
677
716
|
"""
|
|
678
717
|
return pulumi.get(self, "user_id")
|
|
679
718
|
|
|
719
|
+
@_builtins.property
|
|
720
|
+
@pulumi.getter(name="validatePastExpirationDate")
|
|
721
|
+
def validate_past_expiration_date(self) -> pulumi.Output[_builtins.bool]:
|
|
722
|
+
"""
|
|
723
|
+
Wether to validate if the expiration date is in the future.
|
|
724
|
+
"""
|
|
725
|
+
return pulumi.get(self, "validate_past_expiration_date")
|
|
726
|
+
|