pulumi-gitlab 9.7.0__py3-none-any.whl → 9.8.0__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 CHANGED
@@ -134,6 +134,7 @@ from .project import *
134
134
  from .project_access_token import *
135
135
  from .project_approval_rule import *
136
136
  from .project_badge import *
137
+ from .project_cicd_catalog import *
137
138
  from .project_cluster import *
138
139
  from .project_compliance_frameworks import *
139
140
  from .project_container_repository_protection import *
@@ -158,6 +159,7 @@ from .project_integration_telegram import *
158
159
  from .project_integration_youtrack import *
159
160
  from .project_issue import *
160
161
  from .project_issue_board import *
162
+ from .project_issue_link import *
161
163
  from .project_job_token_scope import *
162
164
  from .project_job_token_scopes import *
163
165
  from .project_label import *
@@ -167,10 +169,14 @@ from .project_membership import *
167
169
  from .project_merge_request_note import *
168
170
  from .project_milestone import *
169
171
  from .project_mirror import *
172
+ from .project_package_dependency_proxy import *
170
173
  from .project_pages_settings import *
171
174
  from .project_protected_environment import *
175
+ from .project_pull_mirror import *
176
+ from .project_push_mirror import *
172
177
  from .project_push_rules import *
173
178
  from .project_runner_enablement import *
179
+ from .project_secure_file import *
174
180
  from .project_security_policy_attachment import *
175
181
  from .project_share_group import *
176
182
  from .project_tag import *
@@ -695,6 +701,14 @@ _utilities.register(
695
701
  "gitlab:index/projectBadge:ProjectBadge": "ProjectBadge"
696
702
  }
697
703
  },
704
+ {
705
+ "pkg": "gitlab",
706
+ "mod": "index/projectCicdCatalog",
707
+ "fqn": "pulumi_gitlab",
708
+ "classes": {
709
+ "gitlab:index/projectCicdCatalog:ProjectCicdCatalog": "ProjectCicdCatalog"
710
+ }
711
+ },
698
712
  {
699
713
  "pkg": "gitlab",
700
714
  "mod": "index/projectCluster",
@@ -887,6 +901,14 @@ _utilities.register(
887
901
  "gitlab:index/projectIssueBoard:ProjectIssueBoard": "ProjectIssueBoard"
888
902
  }
889
903
  },
904
+ {
905
+ "pkg": "gitlab",
906
+ "mod": "index/projectIssueLink",
907
+ "fqn": "pulumi_gitlab",
908
+ "classes": {
909
+ "gitlab:index/projectIssueLink:ProjectIssueLink": "ProjectIssueLink"
910
+ }
911
+ },
890
912
  {
891
913
  "pkg": "gitlab",
892
914
  "mod": "index/projectJobTokenScope",
@@ -959,6 +981,14 @@ _utilities.register(
959
981
  "gitlab:index/projectMirror:ProjectMirror": "ProjectMirror"
960
982
  }
961
983
  },
984
+ {
985
+ "pkg": "gitlab",
986
+ "mod": "index/projectPackageDependencyProxy",
987
+ "fqn": "pulumi_gitlab",
988
+ "classes": {
989
+ "gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy": "ProjectPackageDependencyProxy"
990
+ }
991
+ },
962
992
  {
963
993
  "pkg": "gitlab",
964
994
  "mod": "index/projectPagesSettings",
@@ -975,6 +1005,22 @@ _utilities.register(
975
1005
  "gitlab:index/projectProtectedEnvironment:ProjectProtectedEnvironment": "ProjectProtectedEnvironment"
976
1006
  }
977
1007
  },
1008
+ {
1009
+ "pkg": "gitlab",
1010
+ "mod": "index/projectPullMirror",
1011
+ "fqn": "pulumi_gitlab",
1012
+ "classes": {
1013
+ "gitlab:index/projectPullMirror:ProjectPullMirror": "ProjectPullMirror"
1014
+ }
1015
+ },
1016
+ {
1017
+ "pkg": "gitlab",
1018
+ "mod": "index/projectPushMirror",
1019
+ "fqn": "pulumi_gitlab",
1020
+ "classes": {
1021
+ "gitlab:index/projectPushMirror:ProjectPushMirror": "ProjectPushMirror"
1022
+ }
1023
+ },
978
1024
  {
979
1025
  "pkg": "gitlab",
980
1026
  "mod": "index/projectPushRules",
@@ -991,6 +1037,14 @@ _utilities.register(
991
1037
  "gitlab:index/projectRunnerEnablement:ProjectRunnerEnablement": "ProjectRunnerEnablement"
992
1038
  }
993
1039
  },
1040
+ {
1041
+ "pkg": "gitlab",
1042
+ "mod": "index/projectSecureFile",
1043
+ "fqn": "pulumi_gitlab",
1044
+ "classes": {
1045
+ "gitlab:index/projectSecureFile:ProjectSecureFile": "ProjectSecureFile"
1046
+ }
1047
+ },
994
1048
  {
995
1049
  "pkg": "gitlab",
996
1050
  "mod": "index/projectSecurityPolicyAttachment",
@@ -237,10 +237,10 @@ class GetProjectHookResult:
237
237
 
238
238
  @_builtins.property
239
239
  @pulumi.getter
240
- @_utilities.deprecated("""The token is only available on resource creation, not in this datasource. It will always be blank.""")
240
+ @_utilities.deprecated("""The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.""")
241
241
  def token(self) -> _builtins.str:
242
242
  """
243
- A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank.
243
+ A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.
244
244
  """
245
245
  return pulumi.get(self, "token")
246
246
 
@@ -163,7 +163,7 @@ def get_project_secure_file(name: Optional[_builtins.str] = None,
163
163
  secure_file_id: Optional[_builtins.int] = None,
164
164
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectSecureFileResult:
165
165
  """
166
- The `get_project_secure_file` data source allows the contents of a secure file to be retrieved by either Name or ID.
166
+ The `ProjectSecureFile` data source allows the contents of a secure file to be retrieved by either Name or ID.
167
167
 
168
168
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/secure_files/)
169
169
 
@@ -207,7 +207,7 @@ def get_project_secure_file_output(name: Optional[pulumi.Input[Optional[_builtin
207
207
  secure_file_id: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
208
208
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectSecureFileResult]:
209
209
  """
210
- The `get_project_secure_file` data source allows the contents of a secure file to be retrieved by either Name or ID.
210
+ The `ProjectSecureFile` data source allows the contents of a secure file to be retrieved by either Name or ID.
211
211
 
212
212
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/secure_files/)
213
213
 
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,6 +73,8 @@ 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.
@@ -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]]:
@@ -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,6 +619,8 @@ 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.
@@ -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]]:
@@ -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,6 +1323,8 @@ 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.
@@ -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,6 +1608,8 @@ 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.
@@ -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]: