pulumi-gitlab 9.5.0a1761172288__py3-none-any.whl → 9.8.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. pulumi_gitlab/__init__.py +69 -0
  2. pulumi_gitlab/_inputs.py +557 -0
  3. pulumi_gitlab/branch.py +1 -1
  4. pulumi_gitlab/deploy_key_enable.py +4 -42
  5. pulumi_gitlab/get_artifact_file.py +266 -0
  6. pulumi_gitlab/get_group_billable_member_memberships.py +2 -2
  7. pulumi_gitlab/get_group_hook.py +15 -1
  8. pulumi_gitlab/get_group_membership.py +2 -2
  9. pulumi_gitlab/get_group_service_account.py +2 -2
  10. pulumi_gitlab/get_group_service_account_access_tokens.py +138 -0
  11. pulumi_gitlab/get_group_variable.py +1 -1
  12. pulumi_gitlab/get_instance_service_account.py +2 -2
  13. pulumi_gitlab/get_member_role.py +200 -0
  14. pulumi_gitlab/get_project.py +15 -1
  15. pulumi_gitlab/get_project_hook.py +17 -3
  16. pulumi_gitlab/get_project_issue_label_events.py +170 -0
  17. pulumi_gitlab/get_project_membership.py +2 -2
  18. pulumi_gitlab/get_project_protected_tag.py +2 -2
  19. pulumi_gitlab/get_project_secure_file.py +247 -0
  20. pulumi_gitlab/get_project_tag.py +2 -2
  21. pulumi_gitlab/get_project_tags.py +1 -1
  22. pulumi_gitlab/get_projects.py +3 -3
  23. pulumi_gitlab/get_release_link.py +5 -5
  24. pulumi_gitlab/get_release_links.py +3 -3
  25. pulumi_gitlab/get_security_policy_document.py +170 -0
  26. pulumi_gitlab/get_user.py +32 -0
  27. pulumi_gitlab/global_level_notifications.py +2 -2
  28. pulumi_gitlab/group.py +141 -0
  29. pulumi_gitlab/group_access_token.py +4 -4
  30. pulumi_gitlab/group_hook.py +163 -112
  31. pulumi_gitlab/group_label.py +7 -7
  32. pulumi_gitlab/group_level_mr_approvals.py +36 -0
  33. pulumi_gitlab/group_membership.py +2 -2
  34. pulumi_gitlab/group_service_account.py +2 -2
  35. pulumi_gitlab/group_service_account_access_token.py +92 -2
  36. pulumi_gitlab/group_share_group.py +2 -2
  37. pulumi_gitlab/instance_service_account.py +2 -2
  38. pulumi_gitlab/instance_variable.py +12 -12
  39. pulumi_gitlab/integration_emails_on_push.py +9 -7
  40. pulumi_gitlab/label.py +7 -7
  41. pulumi_gitlab/member_role.py +9 -9
  42. pulumi_gitlab/outputs.py +851 -15
  43. pulumi_gitlab/pages_domain.py +7 -7
  44. pulumi_gitlab/personal_access_token.py +2 -2
  45. pulumi_gitlab/pipeline_schedule_variable.py +2 -2
  46. pulumi_gitlab/project.py +54 -7
  47. pulumi_gitlab/project_access_token.py +2 -2
  48. pulumi_gitlab/project_approval_rule.py +120 -0
  49. pulumi_gitlab/project_cicd_catalog.py +314 -0
  50. pulumi_gitlab/project_deploy_token.py +2 -2
  51. pulumi_gitlab/project_hook.py +155 -102
  52. pulumi_gitlab/project_integration_emails_on_push.py +17 -7
  53. pulumi_gitlab/project_issue_link.py +502 -0
  54. pulumi_gitlab/project_job_token_scope.py +24 -4
  55. pulumi_gitlab/project_label.py +11 -11
  56. pulumi_gitlab/project_level_mr_approvals.py +2 -2
  57. pulumi_gitlab/project_level_notifications.py +2 -2
  58. pulumi_gitlab/project_membership.py +2 -2
  59. pulumi_gitlab/project_mirror.py +8 -6
  60. pulumi_gitlab/project_package_dependency_proxy.py +446 -0
  61. pulumi_gitlab/project_pull_mirror.py +837 -0
  62. pulumi_gitlab/project_push_mirror.py +547 -0
  63. pulumi_gitlab/project_secure_file.py +489 -0
  64. pulumi_gitlab/project_tag.py +3 -3
  65. pulumi_gitlab/project_target_branch_rule.py +2 -2
  66. pulumi_gitlab/project_variable.py +7 -7
  67. pulumi_gitlab/project_wiki_page.py +26 -0
  68. pulumi_gitlab/pulumi-plugin.json +1 -1
  69. pulumi_gitlab/release_link.py +19 -19
  70. pulumi_gitlab/runner.py +4 -4
  71. pulumi_gitlab/system_hook.py +7 -7
  72. pulumi_gitlab/user_avatar.py +386 -0
  73. pulumi_gitlab/user_gpg_key.py +2 -2
  74. pulumi_gitlab/user_impersonation_token.py +2 -2
  75. pulumi_gitlab/user_runner.py +14 -14
  76. pulumi_gitlab/user_ssh_key.py +2 -2
  77. pulumi_gitlab/value_stream_analytics.py +88 -0
  78. {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/METADATA +1 -1
  79. {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/RECORD +81 -68
  80. {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/WHEEL +0 -0
  81. {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,266 @@
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__ = [
18
+ 'GetArtifactFileResult',
19
+ 'AwaitableGetArtifactFileResult',
20
+ 'get_artifact_file',
21
+ 'get_artifact_file_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetArtifactFileResult:
26
+ """
27
+ A collection of values returned by getArtifactFile.
28
+ """
29
+ def __init__(__self__, artifact_path=None, content=None, content_base64=None, id=None, job=None, max_size_bytes=None, project=None, ref=None):
30
+ if artifact_path and not isinstance(artifact_path, str):
31
+ raise TypeError("Expected argument 'artifact_path' to be a str")
32
+ pulumi.set(__self__, "artifact_path", artifact_path)
33
+ if content and not isinstance(content, str):
34
+ raise TypeError("Expected argument 'content' to be a str")
35
+ pulumi.set(__self__, "content", content)
36
+ if content_base64 and not isinstance(content_base64, str):
37
+ raise TypeError("Expected argument 'content_base64' to be a str")
38
+ pulumi.set(__self__, "content_base64", content_base64)
39
+ if id and not isinstance(id, str):
40
+ raise TypeError("Expected argument 'id' to be a str")
41
+ pulumi.set(__self__, "id", id)
42
+ if job and not isinstance(job, str):
43
+ raise TypeError("Expected argument 'job' to be a str")
44
+ pulumi.set(__self__, "job", job)
45
+ if max_size_bytes and not isinstance(max_size_bytes, int):
46
+ raise TypeError("Expected argument 'max_size_bytes' to be a int")
47
+ pulumi.set(__self__, "max_size_bytes", max_size_bytes)
48
+ if project and not isinstance(project, str):
49
+ raise TypeError("Expected argument 'project' to be a str")
50
+ pulumi.set(__self__, "project", project)
51
+ if ref and not isinstance(ref, str):
52
+ raise TypeError("Expected argument 'ref' to be a str")
53
+ pulumi.set(__self__, "ref", ref)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter(name="artifactPath")
57
+ def artifact_path(self) -> _builtins.str:
58
+ """
59
+ Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `get_artifact_file` data source in your configuration uses a unique artifact_path to avoid ambiguity.
60
+ """
61
+ return pulumi.get(self, "artifact_path")
62
+
63
+ @_builtins.property
64
+ @pulumi.getter
65
+ def content(self) -> _builtins.str:
66
+ """
67
+ The content of the artifact file as a UTF-8 string. Use `content_base64` for binary files.
68
+ """
69
+ return pulumi.get(self, "content")
70
+
71
+ @_builtins.property
72
+ @pulumi.getter(name="contentBase64")
73
+ def content_base64(self) -> _builtins.str:
74
+ """
75
+ The content of the artifact file as a base64-encoded string. Useful for binary files.
76
+ """
77
+ return pulumi.get(self, "content_base64")
78
+
79
+ @_builtins.property
80
+ @pulumi.getter
81
+ def id(self) -> _builtins.str:
82
+ """
83
+ The ID of this datasource. In the format `<project>:<ref>:<job>:<artifact_path>`.
84
+ """
85
+ return pulumi.get(self, "id")
86
+
87
+ @_builtins.property
88
+ @pulumi.getter
89
+ def job(self) -> _builtins.str:
90
+ """
91
+ The name of the job.
92
+ """
93
+ return pulumi.get(self, "job")
94
+
95
+ @_builtins.property
96
+ @pulumi.getter(name="maxSizeBytes")
97
+ def max_size_bytes(self) -> Optional[_builtins.int]:
98
+ """
99
+ Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes).
100
+ """
101
+ return pulumi.get(self, "max_size_bytes")
102
+
103
+ @_builtins.property
104
+ @pulumi.getter
105
+ def project(self) -> _builtins.str:
106
+ """
107
+ The ID or URL-encoded path of the project.
108
+ """
109
+ return pulumi.get(self, "project")
110
+
111
+ @_builtins.property
112
+ @pulumi.getter
113
+ def ref(self) -> _builtins.str:
114
+ """
115
+ The name of the branch, tag, or commit SHA.
116
+ """
117
+ return pulumi.get(self, "ref")
118
+
119
+
120
+ class AwaitableGetArtifactFileResult(GetArtifactFileResult):
121
+ # pylint: disable=using-constant-test
122
+ def __await__(self):
123
+ if False:
124
+ yield self
125
+ return GetArtifactFileResult(
126
+ artifact_path=self.artifact_path,
127
+ content=self.content,
128
+ content_base64=self.content_base64,
129
+ id=self.id,
130
+ job=self.job,
131
+ max_size_bytes=self.max_size_bytes,
132
+ project=self.project,
133
+ ref=self.ref)
134
+
135
+
136
+ def get_artifact_file(artifact_path: Optional[_builtins.str] = None,
137
+ job: Optional[_builtins.str] = None,
138
+ max_size_bytes: Optional[_builtins.int] = None,
139
+ project: Optional[_builtins.str] = None,
140
+ ref: Optional[_builtins.str] = None,
141
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetArtifactFileResult:
142
+ """
143
+ The `get_artifact_file` data source allows downloading a single artifact file from a specific job in the latest successful pipeline for a given reference (branch, tag, or commit).
144
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/job_artifacts/#download-a-single-artifact-file-by-reference-name)
145
+
146
+ ## Example Usage
147
+
148
+ ```python
149
+ import pulumi
150
+ import pulumi_gitlab as gitlab
151
+
152
+ # Download a text artifact file from the latest successful pipeline
153
+ config = gitlab.get_artifact_file(project="namespace/myproject",
154
+ job="build-job",
155
+ ref="main",
156
+ artifact_path="config/settings.json")
157
+ pulumi.export("configContent", config.content)
158
+ # Download a binary artifact file using base64 encoding
159
+ binary = gitlab.get_artifact_file(project="namespace/myproject",
160
+ job="build-job",
161
+ ref="v1.0.0",
162
+ artifact_path="dist/app.zip")
163
+ pulumi.export("binaryContentBase64", binary.content_base64)
164
+ # Download artifact from a specific tag
165
+ release = gitlab.get_artifact_file(project="12345",
166
+ job="release-job",
167
+ ref="v2.1.0",
168
+ artifact_path="release-notes.txt")
169
+ # Download a larger artifact with custom size limit
170
+ large_artifact = gitlab.get_artifact_file(project="namespace/myproject",
171
+ job="build-job",
172
+ ref="main",
173
+ artifact_path="dist/large-file.zip",
174
+ max_size_bytes=20971520)
175
+ ```
176
+
177
+
178
+ :param _builtins.str artifact_path: Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `get_artifact_file` data source in your configuration uses a unique artifact_path to avoid ambiguity.
179
+ :param _builtins.str job: The name of the job.
180
+ :param _builtins.int max_size_bytes: Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes).
181
+ :param _builtins.str project: The ID or URL-encoded path of the project.
182
+ :param _builtins.str ref: The name of the branch, tag, or commit SHA.
183
+ """
184
+ __args__ = dict()
185
+ __args__['artifactPath'] = artifact_path
186
+ __args__['job'] = job
187
+ __args__['maxSizeBytes'] = max_size_bytes
188
+ __args__['project'] = project
189
+ __args__['ref'] = ref
190
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
191
+ __ret__ = pulumi.runtime.invoke('gitlab:index/getArtifactFile:getArtifactFile', __args__, opts=opts, typ=GetArtifactFileResult).value
192
+
193
+ return AwaitableGetArtifactFileResult(
194
+ artifact_path=pulumi.get(__ret__, 'artifact_path'),
195
+ content=pulumi.get(__ret__, 'content'),
196
+ content_base64=pulumi.get(__ret__, 'content_base64'),
197
+ id=pulumi.get(__ret__, 'id'),
198
+ job=pulumi.get(__ret__, 'job'),
199
+ max_size_bytes=pulumi.get(__ret__, 'max_size_bytes'),
200
+ project=pulumi.get(__ret__, 'project'),
201
+ ref=pulumi.get(__ret__, 'ref'))
202
+ def get_artifact_file_output(artifact_path: Optional[pulumi.Input[_builtins.str]] = None,
203
+ job: Optional[pulumi.Input[_builtins.str]] = None,
204
+ max_size_bytes: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
205
+ project: Optional[pulumi.Input[_builtins.str]] = None,
206
+ ref: Optional[pulumi.Input[_builtins.str]] = None,
207
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetArtifactFileResult]:
208
+ """
209
+ The `get_artifact_file` data source allows downloading a single artifact file from a specific job in the latest successful pipeline for a given reference (branch, tag, or commit).
210
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/job_artifacts/#download-a-single-artifact-file-by-reference-name)
211
+
212
+ ## Example Usage
213
+
214
+ ```python
215
+ import pulumi
216
+ import pulumi_gitlab as gitlab
217
+
218
+ # Download a text artifact file from the latest successful pipeline
219
+ config = gitlab.get_artifact_file(project="namespace/myproject",
220
+ job="build-job",
221
+ ref="main",
222
+ artifact_path="config/settings.json")
223
+ pulumi.export("configContent", config.content)
224
+ # Download a binary artifact file using base64 encoding
225
+ binary = gitlab.get_artifact_file(project="namespace/myproject",
226
+ job="build-job",
227
+ ref="v1.0.0",
228
+ artifact_path="dist/app.zip")
229
+ pulumi.export("binaryContentBase64", binary.content_base64)
230
+ # Download artifact from a specific tag
231
+ release = gitlab.get_artifact_file(project="12345",
232
+ job="release-job",
233
+ ref="v2.1.0",
234
+ artifact_path="release-notes.txt")
235
+ # Download a larger artifact with custom size limit
236
+ large_artifact = gitlab.get_artifact_file(project="namespace/myproject",
237
+ job="build-job",
238
+ ref="main",
239
+ artifact_path="dist/large-file.zip",
240
+ max_size_bytes=20971520)
241
+ ```
242
+
243
+
244
+ :param _builtins.str artifact_path: Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `get_artifact_file` data source in your configuration uses a unique artifact_path to avoid ambiguity.
245
+ :param _builtins.str job: The name of the job.
246
+ :param _builtins.int max_size_bytes: Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes).
247
+ :param _builtins.str project: The ID or URL-encoded path of the project.
248
+ :param _builtins.str ref: The name of the branch, tag, or commit SHA.
249
+ """
250
+ __args__ = dict()
251
+ __args__['artifactPath'] = artifact_path
252
+ __args__['job'] = job
253
+ __args__['maxSizeBytes'] = max_size_bytes
254
+ __args__['project'] = project
255
+ __args__['ref'] = ref
256
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
257
+ __ret__ = pulumi.runtime.invoke_output('gitlab:index/getArtifactFile:getArtifactFile', __args__, opts=opts, typ=GetArtifactFileResult)
258
+ return __ret__.apply(lambda __response__: GetArtifactFileResult(
259
+ artifact_path=pulumi.get(__response__, 'artifact_path'),
260
+ content=pulumi.get(__response__, 'content'),
261
+ content_base64=pulumi.get(__response__, 'content_base64'),
262
+ id=pulumi.get(__response__, 'id'),
263
+ job=pulumi.get(__response__, 'job'),
264
+ max_size_bytes=pulumi.get(__response__, 'max_size_bytes'),
265
+ project=pulumi.get(__response__, 'project'),
266
+ ref=pulumi.get(__response__, 'ref')))
@@ -97,7 +97,7 @@ def get_group_billable_member_memberships(group_id: Optional[_builtins.str] = No
97
97
  > When using the `email` attribute, an exact match is not guaranteed. The most related match will be returned. Starting with GitLab 16.6,
98
98
  the most related match will prioritize an exact match if one is available.
99
99
 
100
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-memberships-for-a-billable-member-of-a-group)
100
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/#list-all-billable-members-of-a-group)
101
101
 
102
102
  ## Example Usage
103
103
 
@@ -135,7 +135,7 @@ def get_group_billable_member_memberships_output(group_id: Optional[pulumi.Input
135
135
  > When using the `email` attribute, an exact match is not guaranteed. The most related match will be returned. Starting with GitLab 16.6,
136
136
  the most related match will prioritize an exact match if one is available.
137
137
 
138
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-memberships-for-a-billable-member-of-a-group)
138
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/#list-all-billable-members-of-a-group)
139
139
 
140
140
  ## Example Usage
141
141
 
@@ -26,7 +26,7 @@ class GetGroupHookResult:
26
26
  """
27
27
  A collection of values returned by getGroupHook.
28
28
  """
29
- def __init__(__self__, confidential_issues_events=None, confidential_note_events=None, custom_webhook_template=None, deployment_events=None, emoji_events=None, enable_ssl_verification=None, group=None, group_id=None, hook_id=None, id=None, issues_events=None, job_events=None, merge_requests_events=None, note_events=None, pipeline_events=None, push_events=None, push_events_branch_filter=None, releases_events=None, subgroup_events=None, tag_push_events=None, token=None, url=None, wiki_page_events=None):
29
+ def __init__(__self__, confidential_issues_events=None, confidential_note_events=None, custom_webhook_template=None, deployment_events=None, emoji_events=None, enable_ssl_verification=None, group=None, group_id=None, hook_id=None, id=None, issues_events=None, job_events=None, merge_requests_events=None, note_events=None, pipeline_events=None, push_events=None, push_events_branch_filter=None, releases_events=None, subgroup_events=None, tag_push_events=None, token=None, url=None, vulnerability_events=None, wiki_page_events=None):
30
30
  if confidential_issues_events and not isinstance(confidential_issues_events, bool):
31
31
  raise TypeError("Expected argument 'confidential_issues_events' to be a bool")
32
32
  pulumi.set(__self__, "confidential_issues_events", confidential_issues_events)
@@ -93,6 +93,9 @@ class GetGroupHookResult:
93
93
  if url and not isinstance(url, str):
94
94
  raise TypeError("Expected argument 'url' to be a str")
95
95
  pulumi.set(__self__, "url", url)
96
+ if vulnerability_events and not isinstance(vulnerability_events, bool):
97
+ raise TypeError("Expected argument 'vulnerability_events' to be a bool")
98
+ pulumi.set(__self__, "vulnerability_events", vulnerability_events)
96
99
  if wiki_page_events and not isinstance(wiki_page_events, bool):
97
100
  raise TypeError("Expected argument 'wiki_page_events' to be a bool")
98
101
  pulumi.set(__self__, "wiki_page_events", wiki_page_events)
@@ -274,6 +277,14 @@ class GetGroupHookResult:
274
277
  """
275
278
  return pulumi.get(self, "url")
276
279
 
280
+ @_builtins.property
281
+ @pulumi.getter(name="vulnerabilityEvents")
282
+ def vulnerability_events(self) -> _builtins.bool:
283
+ """
284
+ Invoke the hook for vulnerability events.
285
+ """
286
+ return pulumi.get(self, "vulnerability_events")
287
+
277
288
  @_builtins.property
278
289
  @pulumi.getter(name="wikiPageEvents")
279
290
  def wiki_page_events(self) -> _builtins.bool:
@@ -311,6 +322,7 @@ class AwaitableGetGroupHookResult(GetGroupHookResult):
311
322
  tag_push_events=self.tag_push_events,
312
323
  token=self.token,
313
324
  url=self.url,
325
+ vulnerability_events=self.vulnerability_events,
314
326
  wiki_page_events=self.wiki_page_events)
315
327
 
316
328
 
@@ -357,6 +369,7 @@ def get_group_hook(group: Optional[_builtins.str] = None,
357
369
  tag_push_events=pulumi.get(__ret__, 'tag_push_events'),
358
370
  token=pulumi.get(__ret__, 'token'),
359
371
  url=pulumi.get(__ret__, 'url'),
372
+ vulnerability_events=pulumi.get(__ret__, 'vulnerability_events'),
360
373
  wiki_page_events=pulumi.get(__ret__, 'wiki_page_events'))
361
374
  def get_group_hook_output(group: Optional[pulumi.Input[_builtins.str]] = None,
362
375
  hook_id: Optional[pulumi.Input[_builtins.int]] = None,
@@ -400,4 +413,5 @@ def get_group_hook_output(group: Optional[pulumi.Input[_builtins.str]] = None,
400
413
  tag_push_events=pulumi.get(__response__, 'tag_push_events'),
401
414
  token=pulumi.get(__response__, 'token'),
402
415
  url=pulumi.get(__response__, 'url'),
416
+ vulnerability_events=pulumi.get(__response__, 'vulnerability_events'),
403
417
  wiki_page_events=pulumi.get(__response__, 'wiki_page_events')))
@@ -118,7 +118,7 @@ def get_group_membership(access_level: Optional[_builtins.str] = None,
118
118
  """
119
119
  The `GroupMembership` data source allows to list and filter all members of a group specified by either its id or full path.
120
120
 
121
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project)
121
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/#list-all-members-of-a-group)
122
122
 
123
123
 
124
124
  :param _builtins.str access_level: Only return members with the desired access level. Acceptable values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`.
@@ -149,7 +149,7 @@ def get_group_membership_output(access_level: Optional[pulumi.Input[Optional[_bu
149
149
  """
150
150
  The `GroupMembership` data source allows to list and filter all members of a group specified by either its id or full path.
151
151
 
152
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project)
152
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_members/#list-all-members-of-a-group)
153
153
 
154
154
 
155
155
  :param _builtins.str access_level: Only return members with the desired access level. Acceptable values are: `guest`, `reporter`, `developer`, `maintainer`, `owner`.
@@ -100,7 +100,7 @@ def get_group_service_account(group: Optional[_builtins.str] = None,
100
100
  """
101
101
  The `GroupServiceAccount` data source retrieves information about a GitLab service account in a group.
102
102
 
103
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_service_accounts/#list-service-account-users)
103
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#list-all-group-service-accounts)
104
104
 
105
105
  ## Example Usage
106
106
 
@@ -126,7 +126,7 @@ def get_group_service_account_output(group: Optional[pulumi.Input[_builtins.str]
126
126
  """
127
127
  The `GroupServiceAccount` data source retrieves information about a GitLab service account in a group.
128
128
 
129
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/group_service_accounts/#list-service-account-users)
129
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#list-all-group-service-accounts)
130
130
 
131
131
  ## Example Usage
132
132
 
@@ -0,0 +1,138 @@
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
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetGroupServiceAccountAccessTokensResult',
20
+ 'AwaitableGetGroupServiceAccountAccessTokensResult',
21
+ 'get_group_service_account_access_tokens',
22
+ 'get_group_service_account_access_tokens_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetGroupServiceAccountAccessTokensResult:
27
+ """
28
+ A collection of values returned by getGroupServiceAccountAccessTokens.
29
+ """
30
+ def __init__(__self__, access_tokens=None, group=None, id=None, service_account_id=None):
31
+ if access_tokens and not isinstance(access_tokens, list):
32
+ raise TypeError("Expected argument 'access_tokens' to be a list")
33
+ pulumi.set(__self__, "access_tokens", access_tokens)
34
+ if group and not isinstance(group, str):
35
+ raise TypeError("Expected argument 'group' to be a str")
36
+ pulumi.set(__self__, "group", group)
37
+ if id and not isinstance(id, str):
38
+ raise TypeError("Expected argument 'id' to be a str")
39
+ pulumi.set(__self__, "id", id)
40
+ if service_account_id and not isinstance(service_account_id, int):
41
+ raise TypeError("Expected argument 'service_account_id' to be a int")
42
+ pulumi.set(__self__, "service_account_id", service_account_id)
43
+
44
+ @_builtins.property
45
+ @pulumi.getter(name="accessTokens")
46
+ def access_tokens(self) -> Sequence['outputs.GetGroupServiceAccountAccessTokensAccessTokenResult']:
47
+ """
48
+ The list of access tokens for the service account.
49
+ """
50
+ return pulumi.get(self, "access_tokens")
51
+
52
+ @_builtins.property
53
+ @pulumi.getter
54
+ def group(self) -> _builtins.str:
55
+ """
56
+ The ID or URL-encoded path of the group containing the service account. Must be a top level group.
57
+ """
58
+ return pulumi.get(self, "group")
59
+
60
+ @_builtins.property
61
+ @pulumi.getter
62
+ def id(self) -> _builtins.str:
63
+ return pulumi.get(self, "id")
64
+
65
+ @_builtins.property
66
+ @pulumi.getter(name="serviceAccountId")
67
+ def service_account_id(self) -> _builtins.int:
68
+ """
69
+ The ID of the service account user.
70
+ """
71
+ return pulumi.get(self, "service_account_id")
72
+
73
+
74
+ class AwaitableGetGroupServiceAccountAccessTokensResult(GetGroupServiceAccountAccessTokensResult):
75
+ # pylint: disable=using-constant-test
76
+ def __await__(self):
77
+ if False:
78
+ yield self
79
+ return GetGroupServiceAccountAccessTokensResult(
80
+ access_tokens=self.access_tokens,
81
+ group=self.group,
82
+ id=self.id,
83
+ service_account_id=self.service_account_id)
84
+
85
+
86
+ def get_group_service_account_access_tokens(group: Optional[_builtins.str] = None,
87
+ service_account_id: Optional[_builtins.int] = None,
88
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGroupServiceAccountAccessTokensResult:
89
+ """
90
+ The `get_group_service_account_access_tokens` data source allows to retrieve all access tokens for a group service account.
91
+
92
+ > **Note:** The data source returns the token metadata only. The token value is not available.
93
+
94
+ > **Permissions:** You must have administrator access or be an Owner of the group to list the tokens of a service account.
95
+
96
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/personal_access_tokens/#list-all-personal-access-tokens)
97
+
98
+
99
+ :param _builtins.str group: The ID or URL-encoded path of the group containing the service account. Must be a top level group.
100
+ :param _builtins.int service_account_id: The ID of the service account user.
101
+ """
102
+ __args__ = dict()
103
+ __args__['group'] = group
104
+ __args__['serviceAccountId'] = service_account_id
105
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
106
+ __ret__ = pulumi.runtime.invoke('gitlab:index/getGroupServiceAccountAccessTokens:getGroupServiceAccountAccessTokens', __args__, opts=opts, typ=GetGroupServiceAccountAccessTokensResult).value
107
+
108
+ return AwaitableGetGroupServiceAccountAccessTokensResult(
109
+ access_tokens=pulumi.get(__ret__, 'access_tokens'),
110
+ group=pulumi.get(__ret__, 'group'),
111
+ id=pulumi.get(__ret__, 'id'),
112
+ service_account_id=pulumi.get(__ret__, 'service_account_id'))
113
+ def get_group_service_account_access_tokens_output(group: Optional[pulumi.Input[_builtins.str]] = None,
114
+ service_account_id: Optional[pulumi.Input[_builtins.int]] = None,
115
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGroupServiceAccountAccessTokensResult]:
116
+ """
117
+ The `get_group_service_account_access_tokens` data source allows to retrieve all access tokens for a group service account.
118
+
119
+ > **Note:** The data source returns the token metadata only. The token value is not available.
120
+
121
+ > **Permissions:** You must have administrator access or be an Owner of the group to list the tokens of a service account.
122
+
123
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/personal_access_tokens/#list-all-personal-access-tokens)
124
+
125
+
126
+ :param _builtins.str group: The ID or URL-encoded path of the group containing the service account. Must be a top level group.
127
+ :param _builtins.int service_account_id: The ID of the service account user.
128
+ """
129
+ __args__ = dict()
130
+ __args__['group'] = group
131
+ __args__['serviceAccountId'] = service_account_id
132
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
133
+ __ret__ = pulumi.runtime.invoke_output('gitlab:index/getGroupServiceAccountAccessTokens:getGroupServiceAccountAccessTokens', __args__, opts=opts, typ=GetGroupServiceAccountAccessTokensResult)
134
+ return __ret__.apply(lambda __response__: GetGroupServiceAccountAccessTokensResult(
135
+ access_tokens=pulumi.get(__response__, 'access_tokens'),
136
+ group=pulumi.get(__response__, 'group'),
137
+ id=pulumi.get(__response__, 'id'),
138
+ service_account_id=pulumi.get(__response__, 'service_account_id')))
@@ -99,7 +99,7 @@ class GetGroupVariableResult:
99
99
  @pulumi.getter
100
100
  def masked(self) -> _builtins.bool:
101
101
  """
102
- 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).
102
+ 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).
103
103
  """
104
104
  return pulumi.get(self, "masked")
105
105
 
@@ -101,7 +101,7 @@ def get_instance_service_account(service_account_id: Optional[_builtins.str] = N
101
101
 
102
102
  > 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`
103
103
 
104
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_service_accounts/)
104
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#instance-service-accounts)
105
105
 
106
106
  ## Example Usage
107
107
 
@@ -133,7 +133,7 @@ def get_instance_service_account_output(service_account_id: Optional[pulumi.Inpu
133
133
 
134
134
  > 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`
135
135
 
136
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/user_service_accounts/)
136
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/service_accounts/#instance-service-accounts)
137
137
 
138
138
  ## Example Usage
139
139