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
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
16
18
 
17
19
  __all__ = ['GroupServiceAccountArgs', 'GroupServiceAccount']
18
20
 
@@ -22,6 +24,7 @@ class GroupServiceAccountArgs:
22
24
  group: pulumi.Input[_builtins.str],
23
25
  email: Optional[pulumi.Input[_builtins.str]] = None,
24
26
  name: Optional[pulumi.Input[_builtins.str]] = None,
27
+ timeouts: Optional[pulumi.Input['GroupServiceAccountTimeoutsArgs']] = None,
25
28
  username: Optional[pulumi.Input[_builtins.str]] = None):
26
29
  """
27
30
  The set of arguments for constructing a GroupServiceAccount resource.
@@ -35,6 +38,8 @@ class GroupServiceAccountArgs:
35
38
  pulumi.set(__self__, "email", email)
36
39
  if name is not None:
37
40
  pulumi.set(__self__, "name", name)
41
+ if timeouts is not None:
42
+ pulumi.set(__self__, "timeouts", timeouts)
38
43
  if username is not None:
39
44
  pulumi.set(__self__, "username", username)
40
45
 
@@ -74,6 +79,15 @@ class GroupServiceAccountArgs:
74
79
  def name(self, value: Optional[pulumi.Input[_builtins.str]]):
75
80
  pulumi.set(self, "name", value)
76
81
 
82
+ @_builtins.property
83
+ @pulumi.getter
84
+ def timeouts(self) -> Optional[pulumi.Input['GroupServiceAccountTimeoutsArgs']]:
85
+ return pulumi.get(self, "timeouts")
86
+
87
+ @timeouts.setter
88
+ def timeouts(self, value: Optional[pulumi.Input['GroupServiceAccountTimeoutsArgs']]):
89
+ pulumi.set(self, "timeouts", value)
90
+
77
91
  @_builtins.property
78
92
  @pulumi.getter
79
93
  def username(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -94,6 +108,7 @@ class _GroupServiceAccountState:
94
108
  group: Optional[pulumi.Input[_builtins.str]] = None,
95
109
  name: Optional[pulumi.Input[_builtins.str]] = None,
96
110
  service_account_id: Optional[pulumi.Input[_builtins.str]] = None,
111
+ timeouts: Optional[pulumi.Input['GroupServiceAccountTimeoutsArgs']] = None,
97
112
  username: Optional[pulumi.Input[_builtins.str]] = None):
98
113
  """
99
114
  Input properties used for looking up and filtering GroupServiceAccount resources.
@@ -111,6 +126,8 @@ class _GroupServiceAccountState:
111
126
  pulumi.set(__self__, "name", name)
112
127
  if service_account_id is not None:
113
128
  pulumi.set(__self__, "service_account_id", service_account_id)
129
+ if timeouts is not None:
130
+ pulumi.set(__self__, "timeouts", timeouts)
114
131
  if username is not None:
115
132
  pulumi.set(__self__, "username", username)
116
133
 
@@ -162,6 +179,15 @@ class _GroupServiceAccountState:
162
179
  def service_account_id(self, value: Optional[pulumi.Input[_builtins.str]]):
163
180
  pulumi.set(self, "service_account_id", value)
164
181
 
182
+ @_builtins.property
183
+ @pulumi.getter
184
+ def timeouts(self) -> Optional[pulumi.Input['GroupServiceAccountTimeoutsArgs']]:
185
+ return pulumi.get(self, "timeouts")
186
+
187
+ @timeouts.setter
188
+ def timeouts(self, value: Optional[pulumi.Input['GroupServiceAccountTimeoutsArgs']]):
189
+ pulumi.set(self, "timeouts", value)
190
+
165
191
  @_builtins.property
166
192
  @pulumi.getter
167
193
  def username(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -184,12 +210,13 @@ class GroupServiceAccount(pulumi.CustomResource):
184
210
  email: Optional[pulumi.Input[_builtins.str]] = None,
185
211
  group: Optional[pulumi.Input[_builtins.str]] = None,
186
212
  name: Optional[pulumi.Input[_builtins.str]] = None,
213
+ timeouts: Optional[pulumi.Input[Union['GroupServiceAccountTimeoutsArgs', 'GroupServiceAccountTimeoutsArgsDict']]] = None,
187
214
  username: Optional[pulumi.Input[_builtins.str]] = None,
188
215
  __props__=None):
189
216
  """
190
217
  The `GroupServiceAccount` resource allows creating a GitLab group service account.
191
218
 
192
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_service_accounts/)
219
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#group-service-accounts)
193
220
 
194
221
  ## Example Usage
195
222
 
@@ -262,7 +289,7 @@ class GroupServiceAccount(pulumi.CustomResource):
262
289
  """
263
290
  The `GroupServiceAccount` resource allows creating a GitLab group service account.
264
291
 
265
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_service_accounts/)
292
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#group-service-accounts)
266
293
 
267
294
  ## Example Usage
268
295
 
@@ -337,6 +364,7 @@ class GroupServiceAccount(pulumi.CustomResource):
337
364
  email: Optional[pulumi.Input[_builtins.str]] = None,
338
365
  group: Optional[pulumi.Input[_builtins.str]] = None,
339
366
  name: Optional[pulumi.Input[_builtins.str]] = None,
367
+ timeouts: Optional[pulumi.Input[Union['GroupServiceAccountTimeoutsArgs', 'GroupServiceAccountTimeoutsArgsDict']]] = None,
340
368
  username: Optional[pulumi.Input[_builtins.str]] = None,
341
369
  __props__=None):
342
370
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -352,6 +380,7 @@ class GroupServiceAccount(pulumi.CustomResource):
352
380
  raise TypeError("Missing required property 'group'")
353
381
  __props__.__dict__["group"] = group
354
382
  __props__.__dict__["name"] = name
383
+ __props__.__dict__["timeouts"] = timeouts
355
384
  __props__.__dict__["username"] = username
356
385
  __props__.__dict__["service_account_id"] = None
357
386
  super(GroupServiceAccount, __self__).__init__(
@@ -368,6 +397,7 @@ class GroupServiceAccount(pulumi.CustomResource):
368
397
  group: Optional[pulumi.Input[_builtins.str]] = None,
369
398
  name: Optional[pulumi.Input[_builtins.str]] = None,
370
399
  service_account_id: Optional[pulumi.Input[_builtins.str]] = None,
400
+ timeouts: Optional[pulumi.Input[Union['GroupServiceAccountTimeoutsArgs', 'GroupServiceAccountTimeoutsArgsDict']]] = None,
371
401
  username: Optional[pulumi.Input[_builtins.str]] = None) -> 'GroupServiceAccount':
372
402
  """
373
403
  Get an existing GroupServiceAccount resource's state with the given name, id, and optional extra
@@ -390,6 +420,7 @@ class GroupServiceAccount(pulumi.CustomResource):
390
420
  __props__.__dict__["group"] = group
391
421
  __props__.__dict__["name"] = name
392
422
  __props__.__dict__["service_account_id"] = service_account_id
423
+ __props__.__dict__["timeouts"] = timeouts
393
424
  __props__.__dict__["username"] = username
394
425
  return GroupServiceAccount(resource_name, opts=opts, __props__=__props__)
395
426
 
@@ -425,6 +456,11 @@ class GroupServiceAccount(pulumi.CustomResource):
425
456
  """
426
457
  return pulumi.get(self, "service_account_id")
427
458
 
459
+ @_builtins.property
460
+ @pulumi.getter
461
+ def timeouts(self) -> pulumi.Output[Optional['outputs.GroupServiceAccountTimeouts']]:
462
+ return pulumi.get(self, "timeouts")
463
+
428
464
  @_builtins.property
429
465
  @pulumi.getter
430
466
  def username(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -26,7 +26,8 @@ class GroupServiceAccountAccessTokenArgs:
26
26
  user_id: pulumi.Input[_builtins.int],
27
27
  expires_at: Optional[pulumi.Input[_builtins.str]] = None,
28
28
  name: Optional[pulumi.Input[_builtins.str]] = None,
29
- rotation_configuration: Optional[pulumi.Input['GroupServiceAccountAccessTokenRotationConfigurationArgs']] = None):
29
+ rotation_configuration: Optional[pulumi.Input['GroupServiceAccountAccessTokenRotationConfigurationArgs']] = None,
30
+ validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None):
30
31
  """
31
32
  The set of arguments for constructing a GroupServiceAccountAccessToken resource.
32
33
  :param pulumi.Input[_builtins.str] group: The ID or URL-encoded path of the group containing the service account. Must be a top level group.
@@ -35,6 +36,7 @@ class GroupServiceAccountAccessTokenArgs:
35
36
  :param pulumi.Input[_builtins.str] expires_at: The service account access token expiry date. When left blank, the token follows the standard rule of expiry for personal access tokens.
36
37
  :param pulumi.Input[_builtins.str] name: The name of the personal access token.
37
38
  :param pulumi.Input['GroupServiceAccountAccessTokenRotationConfigurationArgs'] rotation_configuration: The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run.
39
+ :param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
38
40
  """
39
41
  pulumi.set(__self__, "group", group)
40
42
  pulumi.set(__self__, "scopes", scopes)
@@ -45,6 +47,8 @@ class GroupServiceAccountAccessTokenArgs:
45
47
  pulumi.set(__self__, "name", name)
46
48
  if rotation_configuration is not None:
47
49
  pulumi.set(__self__, "rotation_configuration", rotation_configuration)
50
+ if validate_past_expiration_date is not None:
51
+ pulumi.set(__self__, "validate_past_expiration_date", validate_past_expiration_date)
48
52
 
49
53
  @_builtins.property
50
54
  @pulumi.getter
@@ -118,6 +122,18 @@ class GroupServiceAccountAccessTokenArgs:
118
122
  def rotation_configuration(self, value: Optional[pulumi.Input['GroupServiceAccountAccessTokenRotationConfigurationArgs']]):
119
123
  pulumi.set(self, "rotation_configuration", value)
120
124
 
125
+ @_builtins.property
126
+ @pulumi.getter(name="validatePastExpirationDate")
127
+ def validate_past_expiration_date(self) -> Optional[pulumi.Input[_builtins.bool]]:
128
+ """
129
+ Wether to validate if the expiration date is in the future.
130
+ """
131
+ return pulumi.get(self, "validate_past_expiration_date")
132
+
133
+ @validate_past_expiration_date.setter
134
+ def validate_past_expiration_date(self, value: Optional[pulumi.Input[_builtins.bool]]):
135
+ pulumi.set(self, "validate_past_expiration_date", value)
136
+
121
137
 
122
138
  @pulumi.input_type
123
139
  class _GroupServiceAccountAccessTokenState:
@@ -131,7 +147,8 @@ class _GroupServiceAccountAccessTokenState:
131
147
  rotation_configuration: Optional[pulumi.Input['GroupServiceAccountAccessTokenRotationConfigurationArgs']] = None,
132
148
  scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
133
149
  token: Optional[pulumi.Input[_builtins.str]] = None,
134
- user_id: Optional[pulumi.Input[_builtins.int]] = None):
150
+ user_id: Optional[pulumi.Input[_builtins.int]] = None,
151
+ validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None):
135
152
  """
136
153
  Input properties used for looking up and filtering GroupServiceAccountAccessToken resources.
137
154
  :param pulumi.Input[_builtins.bool] active: True if the token is active.
@@ -144,6 +161,7 @@ class _GroupServiceAccountAccessTokenState:
144
161
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the group service account access token. Valid values are: `api`, `read_user`, `read_api`, `read_repository`, `write_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `sudo`, `admin_mode`, `create_runner`, `manage_runner`, `ai_features`, `k8s_proxy`, `self_rotate`, `read_service_ping`. If `self_rotate` is included, you must also provide either `expires_at` or `rotation_configuration`.
145
162
  :param pulumi.Input[_builtins.str] token: The token of the group service account access token. **Note**: the token is not available for imported resources.
146
163
  :param pulumi.Input[_builtins.int] user_id: The ID of a service account user.
164
+ :param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
147
165
  """
148
166
  if active is not None:
149
167
  pulumi.set(__self__, "active", active)
@@ -165,6 +183,8 @@ class _GroupServiceAccountAccessTokenState:
165
183
  pulumi.set(__self__, "token", token)
166
184
  if user_id is not None:
167
185
  pulumi.set(__self__, "user_id", user_id)
186
+ if validate_past_expiration_date is not None:
187
+ pulumi.set(__self__, "validate_past_expiration_date", validate_past_expiration_date)
168
188
 
169
189
  @_builtins.property
170
190
  @pulumi.getter
@@ -286,6 +306,18 @@ class _GroupServiceAccountAccessTokenState:
286
306
  def user_id(self, value: Optional[pulumi.Input[_builtins.int]]):
287
307
  pulumi.set(self, "user_id", value)
288
308
 
309
+ @_builtins.property
310
+ @pulumi.getter(name="validatePastExpirationDate")
311
+ def validate_past_expiration_date(self) -> Optional[pulumi.Input[_builtins.bool]]:
312
+ """
313
+ Wether to validate if the expiration date is in the future.
314
+ """
315
+ return pulumi.get(self, "validate_past_expiration_date")
316
+
317
+ @validate_past_expiration_date.setter
318
+ def validate_past_expiration_date(self, value: Optional[pulumi.Input[_builtins.bool]]):
319
+ pulumi.set(self, "validate_past_expiration_date", value)
320
+
289
321
 
290
322
  @pulumi.type_token("gitlab:index/groupServiceAccountAccessToken:GroupServiceAccountAccessToken")
291
323
  class GroupServiceAccountAccessToken(pulumi.CustomResource):
@@ -299,6 +331,7 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
299
331
  rotation_configuration: Optional[pulumi.Input[Union['GroupServiceAccountAccessTokenRotationConfigurationArgs', 'GroupServiceAccountAccessTokenRotationConfigurationArgsDict']]] = None,
300
332
  scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
301
333
  user_id: Optional[pulumi.Input[_builtins.int]] = None,
334
+ validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None,
302
335
  __props__=None):
303
336
  """
304
337
  The `GroupServiceAccountAccessToken` resource allows to manage the lifecycle of a group service account access token.
@@ -311,7 +344,54 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
311
344
 
312
345
  > Due to a limitation in the API, the `rotation_configuration` is unable to set the new expiry date before GitLab 17.9. Instead, when the resource is created, it will default the expiry date to 7 days in the future. On each subsequent apply, the new expiry will be 7 days from the date of the apply.
313
346
 
314
- **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/group_service_accounts/#create-a-personal-access-token-for-a-service-account-user)
347
+ **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/service_accounts/#create-a-personal-access-token-for-a-group-service-account)
348
+
349
+ ## Example Usage
350
+
351
+ ```python
352
+ import pulumi
353
+ import pulumi_gitlab as gitlab
354
+
355
+ # This must be a top-level group
356
+ example = gitlab.Group("example",
357
+ name="example",
358
+ path="example",
359
+ description="An example group")
360
+ # The service account against the top-level group
361
+ example_sa = gitlab.GroupServiceAccount("example_sa",
362
+ group=example.id,
363
+ name="example-name",
364
+ username="example-username")
365
+ # To assign the service account to a group
366
+ example_membership = gitlab.GroupMembership("example_membership",
367
+ group_id=example.id,
368
+ user_id=example_sa.service_account_id,
369
+ access_level="developer",
370
+ expires_at="2020-03-14")
371
+ # The service account access token with no expiry
372
+ example_sa_token_no_expiry = gitlab.GroupServiceAccountAccessToken("example_sa_token_no_expiry",
373
+ group=example.id,
374
+ user_id=example_sa.service_account_id,
375
+ name="Example service account access token",
376
+ scopes=["api"])
377
+ # The service account access token with expires at
378
+ example_sa_token_expires_at = gitlab.GroupServiceAccountAccessToken("example_sa_token_expires_at",
379
+ group=example.id,
380
+ user_id=example_sa.service_account_id,
381
+ name="Example service account access token",
382
+ expires_at="2020-03-14",
383
+ scopes=["api"])
384
+ # The service account access token with rotation configuration
385
+ example_sa_token_rotation_configuration = gitlab.GroupServiceAccountAccessToken("example_sa_token_rotation_configuration",
386
+ group=example.id,
387
+ user_id=example_sa.service_account_id,
388
+ name="Example service account access token",
389
+ rotation_configuration={
390
+ "rotate_before_days": 2,
391
+ "expiration_days": 7,
392
+ },
393
+ scopes=["api"])
394
+ ```
315
395
 
316
396
  ## Import
317
397
 
@@ -349,6 +429,7 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
349
429
  :param pulumi.Input[Union['GroupServiceAccountAccessTokenRotationConfigurationArgs', 'GroupServiceAccountAccessTokenRotationConfigurationArgsDict']] rotation_configuration: The configuration for when to rotate a token automatically. Will not rotate a token until `pulumi up` is run.
350
430
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the group service account access token. Valid values are: `api`, `read_user`, `read_api`, `read_repository`, `write_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `sudo`, `admin_mode`, `create_runner`, `manage_runner`, `ai_features`, `k8s_proxy`, `self_rotate`, `read_service_ping`. If `self_rotate` is included, you must also provide either `expires_at` or `rotation_configuration`.
351
431
  :param pulumi.Input[_builtins.int] user_id: The ID of a service account user.
432
+ :param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
352
433
  """
353
434
  ...
354
435
  @overload
@@ -367,7 +448,54 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
367
448
 
368
449
  > Due to a limitation in the API, the `rotation_configuration` is unable to set the new expiry date before GitLab 17.9. Instead, when the resource is created, it will default the expiry date to 7 days in the future. On each subsequent apply, the new expiry will be 7 days from the date of the apply.
369
450
 
370
- **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/group_service_accounts/#create-a-personal-access-token-for-a-service-account-user)
451
+ **Upstream API**: [GitLab API docs](https://docs.gitlab.com/api/service_accounts/#create-a-personal-access-token-for-a-group-service-account)
452
+
453
+ ## Example Usage
454
+
455
+ ```python
456
+ import pulumi
457
+ import pulumi_gitlab as gitlab
458
+
459
+ # This must be a top-level group
460
+ example = gitlab.Group("example",
461
+ name="example",
462
+ path="example",
463
+ description="An example group")
464
+ # The service account against the top-level group
465
+ example_sa = gitlab.GroupServiceAccount("example_sa",
466
+ group=example.id,
467
+ name="example-name",
468
+ username="example-username")
469
+ # To assign the service account to a group
470
+ example_membership = gitlab.GroupMembership("example_membership",
471
+ group_id=example.id,
472
+ user_id=example_sa.service_account_id,
473
+ access_level="developer",
474
+ expires_at="2020-03-14")
475
+ # The service account access token with no expiry
476
+ example_sa_token_no_expiry = gitlab.GroupServiceAccountAccessToken("example_sa_token_no_expiry",
477
+ group=example.id,
478
+ user_id=example_sa.service_account_id,
479
+ name="Example service account access token",
480
+ scopes=["api"])
481
+ # The service account access token with expires at
482
+ example_sa_token_expires_at = gitlab.GroupServiceAccountAccessToken("example_sa_token_expires_at",
483
+ group=example.id,
484
+ user_id=example_sa.service_account_id,
485
+ name="Example service account access token",
486
+ expires_at="2020-03-14",
487
+ scopes=["api"])
488
+ # The service account access token with rotation configuration
489
+ example_sa_token_rotation_configuration = gitlab.GroupServiceAccountAccessToken("example_sa_token_rotation_configuration",
490
+ group=example.id,
491
+ user_id=example_sa.service_account_id,
492
+ name="Example service account access token",
493
+ rotation_configuration={
494
+ "rotate_before_days": 2,
495
+ "expiration_days": 7,
496
+ },
497
+ scopes=["api"])
498
+ ```
371
499
 
372
500
  ## Import
373
501
 
@@ -418,6 +546,7 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
418
546
  rotation_configuration: Optional[pulumi.Input[Union['GroupServiceAccountAccessTokenRotationConfigurationArgs', 'GroupServiceAccountAccessTokenRotationConfigurationArgsDict']]] = None,
419
547
  scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
420
548
  user_id: Optional[pulumi.Input[_builtins.int]] = None,
549
+ validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None,
421
550
  __props__=None):
422
551
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
423
552
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -439,6 +568,7 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
439
568
  if user_id is None and not opts.urn:
440
569
  raise TypeError("Missing required property 'user_id'")
441
570
  __props__.__dict__["user_id"] = user_id
571
+ __props__.__dict__["validate_past_expiration_date"] = validate_past_expiration_date
442
572
  __props__.__dict__["active"] = None
443
573
  __props__.__dict__["created_at"] = None
444
574
  __props__.__dict__["revoked"] = None
@@ -464,7 +594,8 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
464
594
  rotation_configuration: Optional[pulumi.Input[Union['GroupServiceAccountAccessTokenRotationConfigurationArgs', 'GroupServiceAccountAccessTokenRotationConfigurationArgsDict']]] = None,
465
595
  scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
466
596
  token: Optional[pulumi.Input[_builtins.str]] = None,
467
- user_id: Optional[pulumi.Input[_builtins.int]] = None) -> 'GroupServiceAccountAccessToken':
597
+ user_id: Optional[pulumi.Input[_builtins.int]] = None,
598
+ validate_past_expiration_date: Optional[pulumi.Input[_builtins.bool]] = None) -> 'GroupServiceAccountAccessToken':
468
599
  """
469
600
  Get an existing GroupServiceAccountAccessToken resource's state with the given name, id, and optional extra
470
601
  properties used to qualify the lookup.
@@ -482,6 +613,7 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
482
613
  :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the group service account access token. Valid values are: `api`, `read_user`, `read_api`, `read_repository`, `write_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `sudo`, `admin_mode`, `create_runner`, `manage_runner`, `ai_features`, `k8s_proxy`, `self_rotate`, `read_service_ping`. If `self_rotate` is included, you must also provide either `expires_at` or `rotation_configuration`.
483
614
  :param pulumi.Input[_builtins.str] token: The token of the group service account access token. **Note**: the token is not available for imported resources.
484
615
  :param pulumi.Input[_builtins.int] user_id: The ID of a service account user.
616
+ :param pulumi.Input[_builtins.bool] validate_past_expiration_date: Wether to validate if the expiration date is in the future.
485
617
  """
486
618
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
487
619
 
@@ -497,6 +629,7 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
497
629
  __props__.__dict__["scopes"] = scopes
498
630
  __props__.__dict__["token"] = token
499
631
  __props__.__dict__["user_id"] = user_id
632
+ __props__.__dict__["validate_past_expiration_date"] = validate_past_expiration_date
500
633
  return GroupServiceAccountAccessToken(resource_name, opts=opts, __props__=__props__)
501
634
 
502
635
  @_builtins.property
@@ -579,3 +712,11 @@ class GroupServiceAccountAccessToken(pulumi.CustomResource):
579
712
  """
580
713
  return pulumi.get(self, "user_id")
581
714
 
715
+ @_builtins.property
716
+ @pulumi.getter(name="validatePastExpirationDate")
717
+ def validate_past_expiration_date(self) -> pulumi.Output[_builtins.bool]:
718
+ """
719
+ Wether to validate if the expiration date is in the future.
720
+ """
721
+ return pulumi.get(self, "validate_past_expiration_date")
722
+
@@ -30,7 +30,7 @@ class GroupShareGroupArgs:
30
30
  :param pulumi.Input[_builtins.str] group_id: The id of the main group to be shared.
31
31
  :param pulumi.Input[_builtins.int] share_group_id: The id of the additional group with which the main group will be shared.
32
32
  :param pulumi.Input[_builtins.str] expires_at: Share expiration date. Format: `YYYY-MM-DD`
33
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances. If `member_role_id` is removed from the config, the group share will revert to a base role.
33
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `member_role_id` is removed from the config, the group share will revert to a base role.
34
34
  """
35
35
  pulumi.set(__self__, "group_access", group_access)
36
36
  pulumi.set(__self__, "group_id", group_id)
@@ -92,7 +92,7 @@ class GroupShareGroupArgs:
92
92
  @pulumi.getter(name="memberRoleId")
93
93
  def member_role_id(self) -> Optional[pulumi.Input[_builtins.int]]:
94
94
  """
95
- The ID of a custom member role. Only available for Ultimate instances. If `member_role_id` is removed from the config, the group share will revert to a base role.
95
+ The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `member_role_id` is removed from the config, the group share will revert to a base role.
96
96
  """
97
97
  return pulumi.get(self, "member_role_id")
98
98
 
@@ -114,7 +114,7 @@ class _GroupShareGroupState:
114
114
  :param pulumi.Input[_builtins.str] expires_at: Share expiration date. Format: `YYYY-MM-DD`
115
115
  :param pulumi.Input[_builtins.str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`
116
116
  :param pulumi.Input[_builtins.str] group_id: The id of the main group to be shared.
117
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances. If `member_role_id` is removed from the config, the group share will revert to a base role.
117
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `member_role_id` is removed from the config, the group share will revert to a base role.
118
118
  :param pulumi.Input[_builtins.int] share_group_id: The id of the additional group with which the main group will be shared.
119
119
  """
120
120
  if expires_at is not None:
@@ -168,7 +168,7 @@ class _GroupShareGroupState:
168
168
  @pulumi.getter(name="memberRoleId")
169
169
  def member_role_id(self) -> Optional[pulumi.Input[_builtins.int]]:
170
170
  """
171
- The ID of a custom member role. Only available for Ultimate instances. If `member_role_id` is removed from the config, the group share will revert to a base role.
171
+ The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `member_role_id` is removed from the config, the group share will revert to a base role.
172
172
  """
173
173
  return pulumi.get(self, "member_role_id")
174
174
 
@@ -204,7 +204,9 @@ class GroupShareGroup(pulumi.CustomResource):
204
204
  """
205
205
  The `GroupShareGroup` resource allows managing the lifecycle of a group shared with another group.
206
206
 
207
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#share-groups-with-groups)
207
+ > Note that `member_role_id` requires a feature flag enabled, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details.
208
+
209
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#invite-groups)
208
210
 
209
211
  ## Example Usage
210
212
 
@@ -246,7 +248,7 @@ class GroupShareGroup(pulumi.CustomResource):
246
248
  :param pulumi.Input[_builtins.str] expires_at: Share expiration date. Format: `YYYY-MM-DD`
247
249
  :param pulumi.Input[_builtins.str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`
248
250
  :param pulumi.Input[_builtins.str] group_id: The id of the main group to be shared.
249
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances. If `member_role_id` is removed from the config, the group share will revert to a base role.
251
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `member_role_id` is removed from the config, the group share will revert to a base role.
250
252
  :param pulumi.Input[_builtins.int] share_group_id: The id of the additional group with which the main group will be shared.
251
253
  """
252
254
  ...
@@ -258,7 +260,9 @@ class GroupShareGroup(pulumi.CustomResource):
258
260
  """
259
261
  The `GroupShareGroup` resource allows managing the lifecycle of a group shared with another group.
260
262
 
261
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#share-groups-with-groups)
263
+ > Note that `member_role_id` requires a feature flag enabled, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details.
264
+
265
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/groups/#invite-groups)
262
266
 
263
267
  ## Example Usage
264
268
 
@@ -360,7 +364,7 @@ class GroupShareGroup(pulumi.CustomResource):
360
364
  :param pulumi.Input[_builtins.str] expires_at: Share expiration date. Format: `YYYY-MM-DD`
361
365
  :param pulumi.Input[_builtins.str] group_access: The access level to grant the group. Valid values are: `no one`, `minimal`, `guest`, `planner`, `reporter`, `developer`, `maintainer`, `owner`
362
366
  :param pulumi.Input[_builtins.str] group_id: The id of the main group to be shared.
363
- :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances. If `member_role_id` is removed from the config, the group share will revert to a base role.
367
+ :param pulumi.Input[_builtins.int] member_role_id: The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `member_role_id` is removed from the config, the group share will revert to a base role.
364
368
  :param pulumi.Input[_builtins.int] share_group_id: The id of the additional group with which the main group will be shared.
365
369
  """
366
370
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -402,7 +406,7 @@ class GroupShareGroup(pulumi.CustomResource):
402
406
  @pulumi.getter(name="memberRoleId")
403
407
  def member_role_id(self) -> pulumi.Output[Optional[_builtins.int]]:
404
408
  """
405
- The ID of a custom member role. Only available for Ultimate instances. If `member_role_id` is removed from the config, the group share will revert to a base role.
409
+ The ID of a custom member role. Only available for Ultimate instances and requires a feature flag enabling, see [this feature issue](https://gitlab.com/gitlab-org/gitlab/-/issues/443369) for details. If `member_role_id` is removed from the config, the group share will revert to a base role.
406
410
  """
407
411
  return pulumi.get(self, "member_role_id")
408
412
 
@@ -186,7 +186,7 @@ class InstanceServiceAccount(pulumi.CustomResource):
186
186
 
187
187
  > In order for a user to create a user account, they must have admin privileges at the instance level. This makes this feature unavailable on `gitlab.com`
188
188
 
189
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_service_accounts/)
189
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#instance-service-accounts)
190
190
 
191
191
  ## Example Usage
192
192
 
@@ -252,7 +252,7 @@ class InstanceServiceAccount(pulumi.CustomResource):
252
252
 
253
253
  > In order for a user to create a user account, they must have admin privileges at the instance level. This makes this feature unavailable on `gitlab.com`
254
254
 
255
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_service_accounts/)
255
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#instance-service-accounts)
256
256
 
257
257
  ## Example Usage
258
258
 
@@ -403,7 +403,7 @@ class InstanceServiceAccount(pulumi.CustomResource):
403
403
 
404
404
  @_builtins.property
405
405
  @pulumi.getter
406
- def username(self) -> pulumi.Output[Optional[_builtins.str]]:
406
+ def username(self) -> pulumi.Output[_builtins.str]:
407
407
  """
408
408
  The username of the user account. If not set, generates a name prepended with service*account*.
409
409
  """
@@ -31,7 +31,7 @@ class InstanceVariableArgs:
31
31
  :param pulumi.Input[_builtins.str] key: The name of the variable.
32
32
  :param pulumi.Input[_builtins.str] value: The value of the variable.
33
33
  :param pulumi.Input[_builtins.str] description: The description of the variable. Maximum of 255 characters.
34
- :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
34
+ :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`.
35
35
  :param pulumi.Input[_builtins.bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
36
36
  :param pulumi.Input[_builtins.bool] raw: Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
37
37
  :param pulumi.Input[_builtins.str] variable_type: The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`.
@@ -89,7 +89,7 @@ class InstanceVariableArgs:
89
89
  @pulumi.getter
90
90
  def masked(self) -> Optional[pulumi.Input[_builtins.bool]]:
91
91
  """
92
- If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
92
+ If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`.
93
93
  """
94
94
  return pulumi.get(self, "masked")
95
95
 
@@ -148,7 +148,7 @@ class _InstanceVariableState:
148
148
  Input properties used for looking up and filtering InstanceVariable resources.
149
149
  :param pulumi.Input[_builtins.str] description: The description of the variable. Maximum of 255 characters.
150
150
  :param pulumi.Input[_builtins.str] key: The name of the variable.
151
- :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
151
+ :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`.
152
152
  :param pulumi.Input[_builtins.bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
153
153
  :param pulumi.Input[_builtins.bool] raw: Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
154
154
  :param pulumi.Input[_builtins.str] value: The value of the variable.
@@ -197,7 +197,7 @@ class _InstanceVariableState:
197
197
  @pulumi.getter
198
198
  def masked(self) -> Optional[pulumi.Input[_builtins.bool]]:
199
199
  """
200
- If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
200
+ If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`.
201
201
  """
202
202
  return pulumi.get(self, "masked")
203
203
 
@@ -312,7 +312,7 @@ class InstanceVariable(pulumi.CustomResource):
312
312
  :param pulumi.ResourceOptions opts: Options for the resource.
313
313
  :param pulumi.Input[_builtins.str] description: The description of the variable. Maximum of 255 characters.
314
314
  :param pulumi.Input[_builtins.str] key: The name of the variable.
315
- :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
315
+ :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`.
316
316
  :param pulumi.Input[_builtins.bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
317
317
  :param pulumi.Input[_builtins.bool] raw: Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
318
318
  :param pulumi.Input[_builtins.str] value: The value of the variable.
@@ -432,7 +432,7 @@ class InstanceVariable(pulumi.CustomResource):
432
432
  :param pulumi.ResourceOptions opts: Options for the resource.
433
433
  :param pulumi.Input[_builtins.str] description: The description of the variable. Maximum of 255 characters.
434
434
  :param pulumi.Input[_builtins.str] key: The name of the variable.
435
- :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
435
+ :param pulumi.Input[_builtins.bool] masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`.
436
436
  :param pulumi.Input[_builtins.bool] protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
437
437
  :param pulumi.Input[_builtins.bool] raw: Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
438
438
  :param pulumi.Input[_builtins.str] value: The value of the variable.
@@ -453,7 +453,7 @@ class InstanceVariable(pulumi.CustomResource):
453
453
 
454
454
  @_builtins.property
455
455
  @pulumi.getter
456
- def description(self) -> pulumi.Output[Optional[_builtins.str]]:
456
+ def description(self) -> pulumi.Output[_builtins.str]:
457
457
  """
458
458
  The description of the variable. Maximum of 255 characters.
459
459
  """
@@ -469,15 +469,15 @@ class InstanceVariable(pulumi.CustomResource):
469
469
 
470
470
  @_builtins.property
471
471
  @pulumi.getter
472
- def masked(self) -> pulumi.Output[Optional[_builtins.bool]]:
472
+ def masked(self) -> pulumi.Output[_builtins.bool]:
473
473
  """
474
- If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
474
+ If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#mask-a-cicd-variable). Defaults to `false`.
475
475
  """
476
476
  return pulumi.get(self, "masked")
477
477
 
478
478
  @_builtins.property
479
479
  @pulumi.getter
480
- def protected(self) -> pulumi.Output[Optional[_builtins.bool]]:
480
+ def protected(self) -> pulumi.Output[_builtins.bool]:
481
481
  """
482
482
  If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
483
483
  """
@@ -485,7 +485,7 @@ class InstanceVariable(pulumi.CustomResource):
485
485
 
486
486
  @_builtins.property
487
487
  @pulumi.getter
488
- def raw(self) -> pulumi.Output[Optional[_builtins.bool]]:
488
+ def raw(self) -> pulumi.Output[_builtins.bool]:
489
489
  """
490
490
  Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
491
491
  """
@@ -501,7 +501,7 @@ class InstanceVariable(pulumi.CustomResource):
501
501
 
502
502
  @_builtins.property
503
503
  @pulumi.getter(name="variableType")
504
- def variable_type(self) -> pulumi.Output[Optional[_builtins.str]]:
504
+ def variable_type(self) -> pulumi.Output[_builtins.str]:
505
505
  """
506
506
  The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`.
507
507
  """
@@ -202,6 +202,8 @@ class IntegrationCustomIssueTracker(pulumi.CustomResource):
202
202
  """
203
203
  The `IntegrationCustomIssueTracker` resource manages the lifecycle of a project integration with a Custom Issue Tracker.
204
204
 
205
+ > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationCustomIssueTracker`instead.
206
+
205
207
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#custom-issue-tracker)
206
208
 
207
209
  ## Example Usage
@@ -257,6 +259,8 @@ class IntegrationCustomIssueTracker(pulumi.CustomResource):
257
259
  """
258
260
  The `IntegrationCustomIssueTracker` resource manages the lifecycle of a project integration with a Custom Issue Tracker.
259
261
 
262
+ > This resource is deprecated and will be removed in 19.0. Use `ProjectIntegrationCustomIssueTracker`instead.
263
+
260
264
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_integrations/#custom-issue-tracker)
261
265
 
262
266
  ## Example Usage