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.
Files changed (121) hide show
  1. pulumi_gitlab/__init__.py +107 -0
  2. pulumi_gitlab/_inputs.py +795 -0
  3. pulumi_gitlab/application_settings.py +16 -7
  4. pulumi_gitlab/branch.py +1 -1
  5. pulumi_gitlab/cluster_agent_token.py +1 -1
  6. pulumi_gitlab/config/__init__.pyi +15 -0
  7. pulumi_gitlab/config/vars.py +21 -0
  8. pulumi_gitlab/deploy_key_enable.py +4 -42
  9. pulumi_gitlab/deploy_token.py +11 -7
  10. pulumi_gitlab/get_artifact_file.py +266 -0
  11. pulumi_gitlab/get_branch.py +1 -1
  12. pulumi_gitlab/get_cluster_agent.py +3 -3
  13. pulumi_gitlab/get_cluster_agents.py +6 -6
  14. pulumi_gitlab/get_current_user.py +1 -1
  15. pulumi_gitlab/get_group.py +2 -2
  16. pulumi_gitlab/get_group_billable_member_memberships.py +2 -2
  17. pulumi_gitlab/get_group_hook.py +22 -3
  18. pulumi_gitlab/get_group_hooks.py +7 -3
  19. pulumi_gitlab/get_group_membership.py +2 -2
  20. pulumi_gitlab/get_group_saml_links.py +114 -0
  21. pulumi_gitlab/get_group_service_account.py +6 -2
  22. pulumi_gitlab/get_group_service_account_access_tokens.py +138 -0
  23. pulumi_gitlab/get_group_subgroups.py +1 -1
  24. pulumi_gitlab/get_group_variable.py +1 -1
  25. pulumi_gitlab/get_groups.py +1 -1
  26. pulumi_gitlab/get_instance_deploy_keys.py +1 -1
  27. pulumi_gitlab/get_instance_service_account.py +2 -2
  28. pulumi_gitlab/get_instance_variable.py +7 -7
  29. pulumi_gitlab/get_instance_variables.py +4 -4
  30. pulumi_gitlab/get_member_role.py +200 -0
  31. pulumi_gitlab/get_project.py +27 -7
  32. pulumi_gitlab/get_project_approval_rules.py +137 -0
  33. pulumi_gitlab/get_project_branches.py +1 -1
  34. pulumi_gitlab/get_project_hook.py +20 -5
  35. pulumi_gitlab/get_project_hooks.py +1 -1
  36. pulumi_gitlab/get_project_issue_label_events.py +170 -0
  37. pulumi_gitlab/get_project_membership.py +34 -16
  38. pulumi_gitlab/get_project_milestone.py +1 -1
  39. pulumi_gitlab/get_project_milestones.py +1 -1
  40. pulumi_gitlab/get_project_protected_tag.py +2 -2
  41. pulumi_gitlab/get_project_secure_file.py +247 -0
  42. pulumi_gitlab/get_project_tag.py +2 -2
  43. pulumi_gitlab/get_project_tags.py +1 -1
  44. pulumi_gitlab/get_project_variable.py +12 -12
  45. pulumi_gitlab/get_project_variables.py +4 -4
  46. pulumi_gitlab/get_projects.py +3 -3
  47. pulumi_gitlab/get_release_link.py +9 -9
  48. pulumi_gitlab/get_release_links.py +4 -4
  49. pulumi_gitlab/get_repository_file.py +1 -1
  50. pulumi_gitlab/get_repository_tree.py +1 -1
  51. pulumi_gitlab/get_security_policy_document.py +170 -0
  52. pulumi_gitlab/get_user.py +33 -1
  53. pulumi_gitlab/get_users.py +22 -2
  54. pulumi_gitlab/global_level_notifications.py +2 -2
  55. pulumi_gitlab/group.py +148 -7
  56. pulumi_gitlab/group_access_token.py +54 -7
  57. pulumi_gitlab/group_deploy_token.py +582 -0
  58. pulumi_gitlab/group_hook.py +163 -112
  59. pulumi_gitlab/group_label.py +7 -7
  60. pulumi_gitlab/group_level_mr_approvals.py +509 -0
  61. pulumi_gitlab/group_membership.py +10 -10
  62. pulumi_gitlab/group_service_account.py +38 -2
  63. pulumi_gitlab/group_service_account_access_token.py +146 -5
  64. pulumi_gitlab/group_share_group.py +13 -9
  65. pulumi_gitlab/instance_service_account.py +3 -3
  66. pulumi_gitlab/instance_variable.py +12 -12
  67. pulumi_gitlab/integration_custom_issue_tracker.py +4 -0
  68. pulumi_gitlab/integration_emails_on_push.py +9 -7
  69. pulumi_gitlab/integration_harbor.py +4 -0
  70. pulumi_gitlab/integration_jenkins.py +4 -0
  71. pulumi_gitlab/integration_redmine.py +4 -2
  72. pulumi_gitlab/integration_telegram.py +4 -0
  73. pulumi_gitlab/label.py +11 -7
  74. pulumi_gitlab/member_role.py +9 -9
  75. pulumi_gitlab/outputs.py +1279 -112
  76. pulumi_gitlab/pages_domain.py +7 -7
  77. pulumi_gitlab/personal_access_token.py +52 -5
  78. pulumi_gitlab/pipeline_schedule_variable.py +2 -2
  79. pulumi_gitlab/project.py +241 -105
  80. pulumi_gitlab/project_access_token.py +52 -5
  81. pulumi_gitlab/project_approval_rule.py +120 -0
  82. pulumi_gitlab/project_cicd_catalog.py +314 -0
  83. pulumi_gitlab/project_deploy_token.py +582 -0
  84. pulumi_gitlab/project_environment.py +4 -4
  85. pulumi_gitlab/project_external_status_check.py +469 -0
  86. pulumi_gitlab/project_freeze_period.py +22 -22
  87. pulumi_gitlab/project_hook.py +162 -109
  88. pulumi_gitlab/project_integration_emails_on_push.py +17 -7
  89. pulumi_gitlab/project_issue_link.py +502 -0
  90. pulumi_gitlab/project_job_token_scope.py +24 -4
  91. pulumi_gitlab/project_job_token_scopes.py +14 -14
  92. pulumi_gitlab/project_label.py +11 -11
  93. pulumi_gitlab/project_level_mr_approvals.py +2 -2
  94. pulumi_gitlab/project_level_notifications.py +2 -2
  95. pulumi_gitlab/project_membership.py +9 -9
  96. pulumi_gitlab/project_mirror.py +8 -6
  97. pulumi_gitlab/project_package_dependency_proxy.py +446 -0
  98. pulumi_gitlab/project_protected_environment.py +14 -14
  99. pulumi_gitlab/project_pull_mirror.py +837 -0
  100. pulumi_gitlab/project_push_mirror.py +547 -0
  101. pulumi_gitlab/project_secure_file.py +489 -0
  102. pulumi_gitlab/project_tag.py +3 -3
  103. pulumi_gitlab/project_target_branch_rule.py +2 -2
  104. pulumi_gitlab/project_variable.py +7 -7
  105. pulumi_gitlab/project_wiki_page.py +30 -0
  106. pulumi_gitlab/provider.py +76 -0
  107. pulumi_gitlab/pulumi-plugin.json +1 -1
  108. pulumi_gitlab/release_link.py +19 -19
  109. pulumi_gitlab/runner.py +8 -4
  110. pulumi_gitlab/system_hook.py +7 -7
  111. pulumi_gitlab/user_avatar.py +386 -0
  112. pulumi_gitlab/user_gpg_key.py +2 -2
  113. pulumi_gitlab/user_impersonation_token.py +52 -5
  114. pulumi_gitlab/user_runner.py +14 -14
  115. pulumi_gitlab/user_ssh_key.py +2 -2
  116. pulumi_gitlab/value_stream_analytics.py +92 -0
  117. {pulumi_gitlab-9.3.0a1759182301.dist-info → pulumi_gitlab-9.8.1.dist-info}/METADATA +1 -1
  118. pulumi_gitlab-9.8.1.dist-info/RECORD +207 -0
  119. pulumi_gitlab-9.3.0a1759182301.dist-info/RECORD +0 -188
  120. {pulumi_gitlab-9.3.0a1759182301.dist-info → pulumi_gitlab-9.8.1.dist-info}/WHEEL +0 -0
  121. {pulumi_gitlab-9.3.0a1759182301.dist-info → pulumi_gitlab-9.8.1.dist-info}/top_level.txt +0 -0
@@ -25,7 +25,7 @@ class GroupLabelArgs:
25
25
  name: Optional[pulumi.Input[_builtins.str]] = None):
26
26
  """
27
27
  The set of arguments for constructing a GroupLabel resource.
28
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
28
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
29
29
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the label to.
30
30
  :param pulumi.Input[_builtins.str] description: The description of the label.
31
31
  :param pulumi.Input[_builtins.str] name: The name of the label.
@@ -41,7 +41,7 @@ class GroupLabelArgs:
41
41
  @pulumi.getter
42
42
  def color(self) -> pulumi.Input[_builtins.str]:
43
43
  """
44
- The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
44
+ The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
45
45
  """
46
46
  return pulumi.get(self, "color")
47
47
 
@@ -97,7 +97,7 @@ class _GroupLabelState:
97
97
  name: Optional[pulumi.Input[_builtins.str]] = None):
98
98
  """
99
99
  Input properties used for looking up and filtering GroupLabel resources.
100
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
100
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
101
101
  :param pulumi.Input[_builtins.str] color_hex: Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`.
102
102
  :param pulumi.Input[_builtins.str] description: The description of the label.
103
103
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the label to.
@@ -121,7 +121,7 @@ class _GroupLabelState:
121
121
  @pulumi.getter
122
122
  def color(self) -> Optional[pulumi.Input[_builtins.str]]:
123
123
  """
124
- The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
124
+ The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
125
125
  """
126
126
  return pulumi.get(self, "color")
127
127
 
@@ -243,7 +243,7 @@ class GroupLabel(pulumi.CustomResource):
243
243
 
244
244
  :param str resource_name: The name of the resource.
245
245
  :param pulumi.ResourceOptions opts: Options for the resource.
246
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
246
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
247
247
  :param pulumi.Input[_builtins.str] description: The description of the label.
248
248
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the label to.
249
249
  :param pulumi.Input[_builtins.str] name: The name of the label.
@@ -355,7 +355,7 @@ class GroupLabel(pulumi.CustomResource):
355
355
  :param str resource_name: The unique name of the resulting resource.
356
356
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
357
357
  :param pulumi.ResourceOptions opts: Options for the resource.
358
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
358
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
359
359
  :param pulumi.Input[_builtins.str] color_hex: Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`.
360
360
  :param pulumi.Input[_builtins.str] description: The description of the label.
361
361
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the label to.
@@ -378,7 +378,7 @@ class GroupLabel(pulumi.CustomResource):
378
378
  @pulumi.getter
379
379
  def color(self) -> pulumi.Output[_builtins.str]:
380
380
  """
381
- The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
381
+ The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
382
382
  """
383
383
  return pulumi.get(self, "color")
384
384
 
@@ -0,0 +1,509 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = ['GroupLevelMrApprovalsArgs', 'GroupLevelMrApprovals']
18
+
19
+ @pulumi.input_type
20
+ class GroupLevelMrApprovalsArgs:
21
+ def __init__(__self__, *,
22
+ group: pulumi.Input[_builtins.str],
23
+ allow_author_approval: Optional[pulumi.Input[_builtins.bool]] = None,
24
+ allow_committer_approval: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ allow_overrides_to_approver_list_per_merge_request: Optional[pulumi.Input[_builtins.bool]] = None,
26
+ keep_settings_on_destroy: Optional[pulumi.Input[_builtins.bool]] = None,
27
+ require_reauthentication_to_approve: Optional[pulumi.Input[_builtins.bool]] = None,
28
+ retain_approvals_on_push: Optional[pulumi.Input[_builtins.bool]] = None):
29
+ """
30
+ The set of arguments for constructing a GroupLevelMrApprovals resource.
31
+ :param pulumi.Input[_builtins.str] group: The ID or URL-encoded path of the group.
32
+ :param pulumi.Input[_builtins.bool] allow_author_approval: Allow or prevent authors from self approving merge requests; `true` means authors can self approve.
33
+ :param pulumi.Input[_builtins.bool] allow_committer_approval: Allow or prevent committers from self approving merge requests.
34
+ :param pulumi.Input[_builtins.bool] allow_overrides_to_approver_list_per_merge_request: Allow or prevent overriding approvers per merge request.
35
+ :param pulumi.Input[_builtins.bool] require_reauthentication_to_approve: Require approver to authenticate before adding the approval.
36
+ :param pulumi.Input[_builtins.bool] retain_approvals_on_push: Retain approval count on a new push.
37
+ """
38
+ pulumi.set(__self__, "group", group)
39
+ if allow_author_approval is not None:
40
+ pulumi.set(__self__, "allow_author_approval", allow_author_approval)
41
+ if allow_committer_approval is not None:
42
+ pulumi.set(__self__, "allow_committer_approval", allow_committer_approval)
43
+ if allow_overrides_to_approver_list_per_merge_request is not None:
44
+ pulumi.set(__self__, "allow_overrides_to_approver_list_per_merge_request", allow_overrides_to_approver_list_per_merge_request)
45
+ if keep_settings_on_destroy is not None:
46
+ pulumi.set(__self__, "keep_settings_on_destroy", keep_settings_on_destroy)
47
+ if require_reauthentication_to_approve is not None:
48
+ pulumi.set(__self__, "require_reauthentication_to_approve", require_reauthentication_to_approve)
49
+ if retain_approvals_on_push is not None:
50
+ pulumi.set(__self__, "retain_approvals_on_push", retain_approvals_on_push)
51
+
52
+ @_builtins.property
53
+ @pulumi.getter
54
+ def group(self) -> pulumi.Input[_builtins.str]:
55
+ """
56
+ The ID or URL-encoded path of the group.
57
+ """
58
+ return pulumi.get(self, "group")
59
+
60
+ @group.setter
61
+ def group(self, value: pulumi.Input[_builtins.str]):
62
+ pulumi.set(self, "group", value)
63
+
64
+ @_builtins.property
65
+ @pulumi.getter(name="allowAuthorApproval")
66
+ def allow_author_approval(self) -> Optional[pulumi.Input[_builtins.bool]]:
67
+ """
68
+ Allow or prevent authors from self approving merge requests; `true` means authors can self approve.
69
+ """
70
+ return pulumi.get(self, "allow_author_approval")
71
+
72
+ @allow_author_approval.setter
73
+ def allow_author_approval(self, value: Optional[pulumi.Input[_builtins.bool]]):
74
+ pulumi.set(self, "allow_author_approval", value)
75
+
76
+ @_builtins.property
77
+ @pulumi.getter(name="allowCommitterApproval")
78
+ def allow_committer_approval(self) -> Optional[pulumi.Input[_builtins.bool]]:
79
+ """
80
+ Allow or prevent committers from self approving merge requests.
81
+ """
82
+ return pulumi.get(self, "allow_committer_approval")
83
+
84
+ @allow_committer_approval.setter
85
+ def allow_committer_approval(self, value: Optional[pulumi.Input[_builtins.bool]]):
86
+ pulumi.set(self, "allow_committer_approval", value)
87
+
88
+ @_builtins.property
89
+ @pulumi.getter(name="allowOverridesToApproverListPerMergeRequest")
90
+ def allow_overrides_to_approver_list_per_merge_request(self) -> Optional[pulumi.Input[_builtins.bool]]:
91
+ """
92
+ Allow or prevent overriding approvers per merge request.
93
+ """
94
+ return pulumi.get(self, "allow_overrides_to_approver_list_per_merge_request")
95
+
96
+ @allow_overrides_to_approver_list_per_merge_request.setter
97
+ def allow_overrides_to_approver_list_per_merge_request(self, value: Optional[pulumi.Input[_builtins.bool]]):
98
+ pulumi.set(self, "allow_overrides_to_approver_list_per_merge_request", value)
99
+
100
+ @_builtins.property
101
+ @pulumi.getter(name="keepSettingsOnDestroy")
102
+ def keep_settings_on_destroy(self) -> Optional[pulumi.Input[_builtins.bool]]:
103
+ return pulumi.get(self, "keep_settings_on_destroy")
104
+
105
+ @keep_settings_on_destroy.setter
106
+ def keep_settings_on_destroy(self, value: Optional[pulumi.Input[_builtins.bool]]):
107
+ pulumi.set(self, "keep_settings_on_destroy", value)
108
+
109
+ @_builtins.property
110
+ @pulumi.getter(name="requireReauthenticationToApprove")
111
+ def require_reauthentication_to_approve(self) -> Optional[pulumi.Input[_builtins.bool]]:
112
+ """
113
+ Require approver to authenticate before adding the approval.
114
+ """
115
+ return pulumi.get(self, "require_reauthentication_to_approve")
116
+
117
+ @require_reauthentication_to_approve.setter
118
+ def require_reauthentication_to_approve(self, value: Optional[pulumi.Input[_builtins.bool]]):
119
+ pulumi.set(self, "require_reauthentication_to_approve", value)
120
+
121
+ @_builtins.property
122
+ @pulumi.getter(name="retainApprovalsOnPush")
123
+ def retain_approvals_on_push(self) -> Optional[pulumi.Input[_builtins.bool]]:
124
+ """
125
+ Retain approval count on a new push.
126
+ """
127
+ return pulumi.get(self, "retain_approvals_on_push")
128
+
129
+ @retain_approvals_on_push.setter
130
+ def retain_approvals_on_push(self, value: Optional[pulumi.Input[_builtins.bool]]):
131
+ pulumi.set(self, "retain_approvals_on_push", value)
132
+
133
+
134
+ @pulumi.input_type
135
+ class _GroupLevelMrApprovalsState:
136
+ def __init__(__self__, *,
137
+ allow_author_approval: Optional[pulumi.Input[_builtins.bool]] = None,
138
+ allow_committer_approval: Optional[pulumi.Input[_builtins.bool]] = None,
139
+ allow_overrides_to_approver_list_per_merge_request: Optional[pulumi.Input[_builtins.bool]] = None,
140
+ group: Optional[pulumi.Input[_builtins.str]] = None,
141
+ keep_settings_on_destroy: Optional[pulumi.Input[_builtins.bool]] = None,
142
+ require_reauthentication_to_approve: Optional[pulumi.Input[_builtins.bool]] = None,
143
+ retain_approvals_on_push: Optional[pulumi.Input[_builtins.bool]] = None):
144
+ """
145
+ Input properties used for looking up and filtering GroupLevelMrApprovals resources.
146
+ :param pulumi.Input[_builtins.bool] allow_author_approval: Allow or prevent authors from self approving merge requests; `true` means authors can self approve.
147
+ :param pulumi.Input[_builtins.bool] allow_committer_approval: Allow or prevent committers from self approving merge requests.
148
+ :param pulumi.Input[_builtins.bool] allow_overrides_to_approver_list_per_merge_request: Allow or prevent overriding approvers per merge request.
149
+ :param pulumi.Input[_builtins.str] group: The ID or URL-encoded path of the group.
150
+ :param pulumi.Input[_builtins.bool] require_reauthentication_to_approve: Require approver to authenticate before adding the approval.
151
+ :param pulumi.Input[_builtins.bool] retain_approvals_on_push: Retain approval count on a new push.
152
+ """
153
+ if allow_author_approval is not None:
154
+ pulumi.set(__self__, "allow_author_approval", allow_author_approval)
155
+ if allow_committer_approval is not None:
156
+ pulumi.set(__self__, "allow_committer_approval", allow_committer_approval)
157
+ if allow_overrides_to_approver_list_per_merge_request is not None:
158
+ pulumi.set(__self__, "allow_overrides_to_approver_list_per_merge_request", allow_overrides_to_approver_list_per_merge_request)
159
+ if group is not None:
160
+ pulumi.set(__self__, "group", group)
161
+ if keep_settings_on_destroy is not None:
162
+ pulumi.set(__self__, "keep_settings_on_destroy", keep_settings_on_destroy)
163
+ if require_reauthentication_to_approve is not None:
164
+ pulumi.set(__self__, "require_reauthentication_to_approve", require_reauthentication_to_approve)
165
+ if retain_approvals_on_push is not None:
166
+ pulumi.set(__self__, "retain_approvals_on_push", retain_approvals_on_push)
167
+
168
+ @_builtins.property
169
+ @pulumi.getter(name="allowAuthorApproval")
170
+ def allow_author_approval(self) -> Optional[pulumi.Input[_builtins.bool]]:
171
+ """
172
+ Allow or prevent authors from self approving merge requests; `true` means authors can self approve.
173
+ """
174
+ return pulumi.get(self, "allow_author_approval")
175
+
176
+ @allow_author_approval.setter
177
+ def allow_author_approval(self, value: Optional[pulumi.Input[_builtins.bool]]):
178
+ pulumi.set(self, "allow_author_approval", value)
179
+
180
+ @_builtins.property
181
+ @pulumi.getter(name="allowCommitterApproval")
182
+ def allow_committer_approval(self) -> Optional[pulumi.Input[_builtins.bool]]:
183
+ """
184
+ Allow or prevent committers from self approving merge requests.
185
+ """
186
+ return pulumi.get(self, "allow_committer_approval")
187
+
188
+ @allow_committer_approval.setter
189
+ def allow_committer_approval(self, value: Optional[pulumi.Input[_builtins.bool]]):
190
+ pulumi.set(self, "allow_committer_approval", value)
191
+
192
+ @_builtins.property
193
+ @pulumi.getter(name="allowOverridesToApproverListPerMergeRequest")
194
+ def allow_overrides_to_approver_list_per_merge_request(self) -> Optional[pulumi.Input[_builtins.bool]]:
195
+ """
196
+ Allow or prevent overriding approvers per merge request.
197
+ """
198
+ return pulumi.get(self, "allow_overrides_to_approver_list_per_merge_request")
199
+
200
+ @allow_overrides_to_approver_list_per_merge_request.setter
201
+ def allow_overrides_to_approver_list_per_merge_request(self, value: Optional[pulumi.Input[_builtins.bool]]):
202
+ pulumi.set(self, "allow_overrides_to_approver_list_per_merge_request", value)
203
+
204
+ @_builtins.property
205
+ @pulumi.getter
206
+ def group(self) -> Optional[pulumi.Input[_builtins.str]]:
207
+ """
208
+ The ID or URL-encoded path of the group.
209
+ """
210
+ return pulumi.get(self, "group")
211
+
212
+ @group.setter
213
+ def group(self, value: Optional[pulumi.Input[_builtins.str]]):
214
+ pulumi.set(self, "group", value)
215
+
216
+ @_builtins.property
217
+ @pulumi.getter(name="keepSettingsOnDestroy")
218
+ def keep_settings_on_destroy(self) -> Optional[pulumi.Input[_builtins.bool]]:
219
+ return pulumi.get(self, "keep_settings_on_destroy")
220
+
221
+ @keep_settings_on_destroy.setter
222
+ def keep_settings_on_destroy(self, value: Optional[pulumi.Input[_builtins.bool]]):
223
+ pulumi.set(self, "keep_settings_on_destroy", value)
224
+
225
+ @_builtins.property
226
+ @pulumi.getter(name="requireReauthenticationToApprove")
227
+ def require_reauthentication_to_approve(self) -> Optional[pulumi.Input[_builtins.bool]]:
228
+ """
229
+ Require approver to authenticate before adding the approval.
230
+ """
231
+ return pulumi.get(self, "require_reauthentication_to_approve")
232
+
233
+ @require_reauthentication_to_approve.setter
234
+ def require_reauthentication_to_approve(self, value: Optional[pulumi.Input[_builtins.bool]]):
235
+ pulumi.set(self, "require_reauthentication_to_approve", value)
236
+
237
+ @_builtins.property
238
+ @pulumi.getter(name="retainApprovalsOnPush")
239
+ def retain_approvals_on_push(self) -> Optional[pulumi.Input[_builtins.bool]]:
240
+ """
241
+ Retain approval count on a new push.
242
+ """
243
+ return pulumi.get(self, "retain_approvals_on_push")
244
+
245
+ @retain_approvals_on_push.setter
246
+ def retain_approvals_on_push(self, value: Optional[pulumi.Input[_builtins.bool]]):
247
+ pulumi.set(self, "retain_approvals_on_push", value)
248
+
249
+
250
+ @pulumi.type_token("gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals")
251
+ class GroupLevelMrApprovals(pulumi.CustomResource):
252
+ @overload
253
+ def __init__(__self__,
254
+ resource_name: str,
255
+ opts: Optional[pulumi.ResourceOptions] = None,
256
+ allow_author_approval: Optional[pulumi.Input[_builtins.bool]] = None,
257
+ allow_committer_approval: Optional[pulumi.Input[_builtins.bool]] = None,
258
+ allow_overrides_to_approver_list_per_merge_request: Optional[pulumi.Input[_builtins.bool]] = None,
259
+ group: Optional[pulumi.Input[_builtins.str]] = None,
260
+ keep_settings_on_destroy: Optional[pulumi.Input[_builtins.bool]] = None,
261
+ require_reauthentication_to_approve: Optional[pulumi.Input[_builtins.bool]] = None,
262
+ retain_approvals_on_push: Optional[pulumi.Input[_builtins.bool]] = None,
263
+ __props__=None):
264
+ """
265
+ ## Example Usage
266
+
267
+ ```python
268
+ import pulumi
269
+ import pulumi_gitlab as gitlab
270
+
271
+ foo = gitlab.Group("foo",
272
+ name="test_group",
273
+ path="test_group",
274
+ description="An example group")
275
+ foo_group_level_mr_approvals = gitlab.GroupLevelMrApprovals("foo",
276
+ group=foo.id,
277
+ allow_author_approval=True,
278
+ allow_committer_approval=True,
279
+ allow_overrides_to_approver_list_per_merge_request=True,
280
+ retain_approvals_on_push=True,
281
+ selective_code_owner_removals=False,
282
+ require_reauthentication_to_approve=True)
283
+ ```
284
+
285
+ ## Import
286
+
287
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_group_level_mr_approvals`. For example:
288
+
289
+ terraform
290
+
291
+ import {
292
+
293
+ to = gitlab_group_level_mr_approvals.example
294
+
295
+ id = "see CLI command below for ID"
296
+
297
+ }
298
+
299
+ Importing using the CLI is supported with the following syntax:
300
+
301
+ ```sh
302
+ $ pulumi import gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals You can import an approval configuration state using `<resource> <group_id>`.
303
+ ```
304
+
305
+ For example:
306
+
307
+ ```sh
308
+ $ pulumi import gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals foo 1234
309
+ ```
310
+
311
+ :param str resource_name: The name of the resource.
312
+ :param pulumi.ResourceOptions opts: Options for the resource.
313
+ :param pulumi.Input[_builtins.bool] allow_author_approval: Allow or prevent authors from self approving merge requests; `true` means authors can self approve.
314
+ :param pulumi.Input[_builtins.bool] allow_committer_approval: Allow or prevent committers from self approving merge requests.
315
+ :param pulumi.Input[_builtins.bool] allow_overrides_to_approver_list_per_merge_request: Allow or prevent overriding approvers per merge request.
316
+ :param pulumi.Input[_builtins.str] group: The ID or URL-encoded path of the group.
317
+ :param pulumi.Input[_builtins.bool] require_reauthentication_to_approve: Require approver to authenticate before adding the approval.
318
+ :param pulumi.Input[_builtins.bool] retain_approvals_on_push: Retain approval count on a new push.
319
+ """
320
+ ...
321
+ @overload
322
+ def __init__(__self__,
323
+ resource_name: str,
324
+ args: GroupLevelMrApprovalsArgs,
325
+ opts: Optional[pulumi.ResourceOptions] = None):
326
+ """
327
+ ## Example Usage
328
+
329
+ ```python
330
+ import pulumi
331
+ import pulumi_gitlab as gitlab
332
+
333
+ foo = gitlab.Group("foo",
334
+ name="test_group",
335
+ path="test_group",
336
+ description="An example group")
337
+ foo_group_level_mr_approvals = gitlab.GroupLevelMrApprovals("foo",
338
+ group=foo.id,
339
+ allow_author_approval=True,
340
+ allow_committer_approval=True,
341
+ allow_overrides_to_approver_list_per_merge_request=True,
342
+ retain_approvals_on_push=True,
343
+ selective_code_owner_removals=False,
344
+ require_reauthentication_to_approve=True)
345
+ ```
346
+
347
+ ## Import
348
+
349
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_group_level_mr_approvals`. For example:
350
+
351
+ terraform
352
+
353
+ import {
354
+
355
+ to = gitlab_group_level_mr_approvals.example
356
+
357
+ id = "see CLI command below for ID"
358
+
359
+ }
360
+
361
+ Importing using the CLI is supported with the following syntax:
362
+
363
+ ```sh
364
+ $ pulumi import gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals You can import an approval configuration state using `<resource> <group_id>`.
365
+ ```
366
+
367
+ For example:
368
+
369
+ ```sh
370
+ $ pulumi import gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals foo 1234
371
+ ```
372
+
373
+ :param str resource_name: The name of the resource.
374
+ :param GroupLevelMrApprovalsArgs args: The arguments to use to populate this resource's properties.
375
+ :param pulumi.ResourceOptions opts: Options for the resource.
376
+ """
377
+ ...
378
+ def __init__(__self__, resource_name: str, *args, **kwargs):
379
+ resource_args, opts = _utilities.get_resource_args_opts(GroupLevelMrApprovalsArgs, pulumi.ResourceOptions, *args, **kwargs)
380
+ if resource_args is not None:
381
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
382
+ else:
383
+ __self__._internal_init(resource_name, *args, **kwargs)
384
+
385
+ def _internal_init(__self__,
386
+ resource_name: str,
387
+ opts: Optional[pulumi.ResourceOptions] = None,
388
+ allow_author_approval: Optional[pulumi.Input[_builtins.bool]] = None,
389
+ allow_committer_approval: Optional[pulumi.Input[_builtins.bool]] = None,
390
+ allow_overrides_to_approver_list_per_merge_request: Optional[pulumi.Input[_builtins.bool]] = None,
391
+ group: Optional[pulumi.Input[_builtins.str]] = None,
392
+ keep_settings_on_destroy: Optional[pulumi.Input[_builtins.bool]] = None,
393
+ require_reauthentication_to_approve: Optional[pulumi.Input[_builtins.bool]] = None,
394
+ retain_approvals_on_push: Optional[pulumi.Input[_builtins.bool]] = None,
395
+ __props__=None):
396
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
397
+ if not isinstance(opts, pulumi.ResourceOptions):
398
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
399
+ if opts.id is None:
400
+ if __props__ is not None:
401
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
402
+ __props__ = GroupLevelMrApprovalsArgs.__new__(GroupLevelMrApprovalsArgs)
403
+
404
+ __props__.__dict__["allow_author_approval"] = allow_author_approval
405
+ __props__.__dict__["allow_committer_approval"] = allow_committer_approval
406
+ __props__.__dict__["allow_overrides_to_approver_list_per_merge_request"] = allow_overrides_to_approver_list_per_merge_request
407
+ if group is None and not opts.urn:
408
+ raise TypeError("Missing required property 'group'")
409
+ __props__.__dict__["group"] = group
410
+ __props__.__dict__["keep_settings_on_destroy"] = keep_settings_on_destroy
411
+ __props__.__dict__["require_reauthentication_to_approve"] = require_reauthentication_to_approve
412
+ __props__.__dict__["retain_approvals_on_push"] = retain_approvals_on_push
413
+ super(GroupLevelMrApprovals, __self__).__init__(
414
+ 'gitlab:index/groupLevelMrApprovals:GroupLevelMrApprovals',
415
+ resource_name,
416
+ __props__,
417
+ opts)
418
+
419
+ @staticmethod
420
+ def get(resource_name: str,
421
+ id: pulumi.Input[str],
422
+ opts: Optional[pulumi.ResourceOptions] = None,
423
+ allow_author_approval: Optional[pulumi.Input[_builtins.bool]] = None,
424
+ allow_committer_approval: Optional[pulumi.Input[_builtins.bool]] = None,
425
+ allow_overrides_to_approver_list_per_merge_request: Optional[pulumi.Input[_builtins.bool]] = None,
426
+ group: Optional[pulumi.Input[_builtins.str]] = None,
427
+ keep_settings_on_destroy: Optional[pulumi.Input[_builtins.bool]] = None,
428
+ require_reauthentication_to_approve: Optional[pulumi.Input[_builtins.bool]] = None,
429
+ retain_approvals_on_push: Optional[pulumi.Input[_builtins.bool]] = None) -> 'GroupLevelMrApprovals':
430
+ """
431
+ Get an existing GroupLevelMrApprovals resource's state with the given name, id, and optional extra
432
+ properties used to qualify the lookup.
433
+
434
+ :param str resource_name: The unique name of the resulting resource.
435
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
436
+ :param pulumi.ResourceOptions opts: Options for the resource.
437
+ :param pulumi.Input[_builtins.bool] allow_author_approval: Allow or prevent authors from self approving merge requests; `true` means authors can self approve.
438
+ :param pulumi.Input[_builtins.bool] allow_committer_approval: Allow or prevent committers from self approving merge requests.
439
+ :param pulumi.Input[_builtins.bool] allow_overrides_to_approver_list_per_merge_request: Allow or prevent overriding approvers per merge request.
440
+ :param pulumi.Input[_builtins.str] group: The ID or URL-encoded path of the group.
441
+ :param pulumi.Input[_builtins.bool] require_reauthentication_to_approve: Require approver to authenticate before adding the approval.
442
+ :param pulumi.Input[_builtins.bool] retain_approvals_on_push: Retain approval count on a new push.
443
+ """
444
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
445
+
446
+ __props__ = _GroupLevelMrApprovalsState.__new__(_GroupLevelMrApprovalsState)
447
+
448
+ __props__.__dict__["allow_author_approval"] = allow_author_approval
449
+ __props__.__dict__["allow_committer_approval"] = allow_committer_approval
450
+ __props__.__dict__["allow_overrides_to_approver_list_per_merge_request"] = allow_overrides_to_approver_list_per_merge_request
451
+ __props__.__dict__["group"] = group
452
+ __props__.__dict__["keep_settings_on_destroy"] = keep_settings_on_destroy
453
+ __props__.__dict__["require_reauthentication_to_approve"] = require_reauthentication_to_approve
454
+ __props__.__dict__["retain_approvals_on_push"] = retain_approvals_on_push
455
+ return GroupLevelMrApprovals(resource_name, opts=opts, __props__=__props__)
456
+
457
+ @_builtins.property
458
+ @pulumi.getter(name="allowAuthorApproval")
459
+ def allow_author_approval(self) -> pulumi.Output[_builtins.bool]:
460
+ """
461
+ Allow or prevent authors from self approving merge requests; `true` means authors can self approve.
462
+ """
463
+ return pulumi.get(self, "allow_author_approval")
464
+
465
+ @_builtins.property
466
+ @pulumi.getter(name="allowCommitterApproval")
467
+ def allow_committer_approval(self) -> pulumi.Output[_builtins.bool]:
468
+ """
469
+ Allow or prevent committers from self approving merge requests.
470
+ """
471
+ return pulumi.get(self, "allow_committer_approval")
472
+
473
+ @_builtins.property
474
+ @pulumi.getter(name="allowOverridesToApproverListPerMergeRequest")
475
+ def allow_overrides_to_approver_list_per_merge_request(self) -> pulumi.Output[_builtins.bool]:
476
+ """
477
+ Allow or prevent overriding approvers per merge request.
478
+ """
479
+ return pulumi.get(self, "allow_overrides_to_approver_list_per_merge_request")
480
+
481
+ @_builtins.property
482
+ @pulumi.getter
483
+ def group(self) -> pulumi.Output[_builtins.str]:
484
+ """
485
+ The ID or URL-encoded path of the group.
486
+ """
487
+ return pulumi.get(self, "group")
488
+
489
+ @_builtins.property
490
+ @pulumi.getter(name="keepSettingsOnDestroy")
491
+ def keep_settings_on_destroy(self) -> pulumi.Output[_builtins.bool]:
492
+ return pulumi.get(self, "keep_settings_on_destroy")
493
+
494
+ @_builtins.property
495
+ @pulumi.getter(name="requireReauthenticationToApprove")
496
+ def require_reauthentication_to_approve(self) -> pulumi.Output[_builtins.bool]:
497
+ """
498
+ Require approver to authenticate before adding the approval.
499
+ """
500
+ return pulumi.get(self, "require_reauthentication_to_approve")
501
+
502
+ @_builtins.property
503
+ @pulumi.getter(name="retainApprovalsOnPush")
504
+ def retain_approvals_on_push(self) -> pulumi.Output[_builtins.bool]:
505
+ """
506
+ Retain approval count on a new push.
507
+ """
508
+ return pulumi.get(self, "retain_approvals_on_push")
509
+
@@ -32,7 +32,7 @@ class GroupMembershipArgs:
32
32
  :param pulumi.Input[_builtins.int] group_id: The ID of the group.
33
33
  :param pulumi.Input[_builtins.int] user_id: The ID of the user.
34
34
  :param pulumi.Input[_builtins.str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD`
35
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances.
35
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances.
36
36
  :param pulumi.Input[_builtins.bool] skip_subresources_on_destroy: Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
37
37
  :param pulumi.Input[_builtins.bool] unassign_issuables_on_destroy: Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
38
38
  """
@@ -100,7 +100,7 @@ class GroupMembershipArgs:
100
100
  @pulumi.getter(name="memberRoleId")
101
101
  def member_role_id(self) -> Optional[pulumi.Input[_builtins.int]]:
102
102
  """
103
- The ID of a custom member role. Only available for Ultimate instances.
103
+ The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances.
104
104
  """
105
105
  return pulumi.get(self, "member_role_id")
106
106
 
@@ -148,7 +148,7 @@ class _GroupMembershipState:
148
148
  :param pulumi.Input[_builtins.str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`.
149
149
  :param pulumi.Input[_builtins.str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD`
150
150
  :param pulumi.Input[_builtins.int] group_id: The ID of the group.
151
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances.
151
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances.
152
152
  :param pulumi.Input[_builtins.bool] skip_subresources_on_destroy: Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
153
153
  :param pulumi.Input[_builtins.bool] unassign_issuables_on_destroy: Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
154
154
  :param pulumi.Input[_builtins.int] user_id: The ID of the user.
@@ -208,7 +208,7 @@ class _GroupMembershipState:
208
208
  @pulumi.getter(name="memberRoleId")
209
209
  def member_role_id(self) -> Optional[pulumi.Input[_builtins.int]]:
210
210
  """
211
- The ID of a custom member role. Only available for Ultimate instances.
211
+ The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances.
212
212
  """
213
213
  return pulumi.get(self, "member_role_id")
214
214
 
@@ -272,7 +272,7 @@ class GroupMembership(pulumi.CustomResource):
272
272
 
273
273
  > If a group should grant membership to another group use the `GroupShareGroup` resource instead.
274
274
 
275
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/)
275
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/)
276
276
 
277
277
  ## Example Usage
278
278
 
@@ -314,7 +314,7 @@ class GroupMembership(pulumi.CustomResource):
314
314
  :param pulumi.Input[_builtins.str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`.
315
315
  :param pulumi.Input[_builtins.str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD`
316
316
  :param pulumi.Input[_builtins.int] group_id: The ID of the group.
317
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances.
317
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances.
318
318
  :param pulumi.Input[_builtins.bool] skip_subresources_on_destroy: Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
319
319
  :param pulumi.Input[_builtins.bool] unassign_issuables_on_destroy: Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
320
320
  :param pulumi.Input[_builtins.int] user_id: The ID of the user.
@@ -330,7 +330,7 @@ class GroupMembership(pulumi.CustomResource):
330
330
 
331
331
  > If a group should grant membership to another group use the `GroupShareGroup` resource instead.
332
332
 
333
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/)
333
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/)
334
334
 
335
335
  ## Example Usage
336
336
 
@@ -438,7 +438,7 @@ class GroupMembership(pulumi.CustomResource):
438
438
  :param pulumi.Input[_builtins.str] access_level: Access level for the member. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`.
439
439
  :param pulumi.Input[_builtins.str] expires_at: Expiration date for the group membership. Format: `YYYY-MM-DD`
440
440
  :param pulumi.Input[_builtins.int] group_id: The ID of the group.
441
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances.
441
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances.
442
442
  :param pulumi.Input[_builtins.bool] skip_subresources_on_destroy: Whether the deletion of direct memberships of the removed member in subgroups and projects should be skipped. Only used during a destroy.
443
443
  :param pulumi.Input[_builtins.bool] unassign_issuables_on_destroy: Whether the removed member should be unassigned from any issues or merge requests inside a given group or project. Only used during a destroy.
444
444
  :param pulumi.Input[_builtins.int] user_id: The ID of the user.
@@ -482,9 +482,9 @@ class GroupMembership(pulumi.CustomResource):
482
482
 
483
483
  @_builtins.property
484
484
  @pulumi.getter(name="memberRoleId")
485
- def member_role_id(self) -> pulumi.Output[_builtins.int]:
485
+ def member_role_id(self) -> pulumi.Output[Optional[_builtins.int]]:
486
486
  """
487
- The ID of a custom member role. Only available for Ultimate instances.
487
+ The ID of a custom member role. Not including the member role ID will cause the role to update the membership to the base role if the custom role is current set. Only available for Ultimate instances.
488
488
  """
489
489
  return pulumi.get(self, "member_role_id")
490
490