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.
- pulumi_gitlab/__init__.py +69 -0
- pulumi_gitlab/_inputs.py +557 -0
- pulumi_gitlab/branch.py +1 -1
- pulumi_gitlab/deploy_key_enable.py +4 -42
- pulumi_gitlab/get_artifact_file.py +266 -0
- pulumi_gitlab/get_group_billable_member_memberships.py +2 -2
- pulumi_gitlab/get_group_hook.py +15 -1
- pulumi_gitlab/get_group_membership.py +2 -2
- pulumi_gitlab/get_group_service_account.py +2 -2
- pulumi_gitlab/get_group_service_account_access_tokens.py +138 -0
- pulumi_gitlab/get_group_variable.py +1 -1
- pulumi_gitlab/get_instance_service_account.py +2 -2
- pulumi_gitlab/get_member_role.py +200 -0
- pulumi_gitlab/get_project.py +15 -1
- pulumi_gitlab/get_project_hook.py +17 -3
- pulumi_gitlab/get_project_issue_label_events.py +170 -0
- pulumi_gitlab/get_project_membership.py +2 -2
- pulumi_gitlab/get_project_protected_tag.py +2 -2
- pulumi_gitlab/get_project_secure_file.py +247 -0
- pulumi_gitlab/get_project_tag.py +2 -2
- pulumi_gitlab/get_project_tags.py +1 -1
- pulumi_gitlab/get_projects.py +3 -3
- pulumi_gitlab/get_release_link.py +5 -5
- pulumi_gitlab/get_release_links.py +3 -3
- pulumi_gitlab/get_security_policy_document.py +170 -0
- pulumi_gitlab/get_user.py +32 -0
- pulumi_gitlab/global_level_notifications.py +2 -2
- pulumi_gitlab/group.py +141 -0
- pulumi_gitlab/group_access_token.py +4 -4
- pulumi_gitlab/group_hook.py +163 -112
- pulumi_gitlab/group_label.py +7 -7
- pulumi_gitlab/group_level_mr_approvals.py +36 -0
- pulumi_gitlab/group_membership.py +2 -2
- pulumi_gitlab/group_service_account.py +2 -2
- pulumi_gitlab/group_service_account_access_token.py +92 -2
- pulumi_gitlab/group_share_group.py +2 -2
- pulumi_gitlab/instance_service_account.py +2 -2
- pulumi_gitlab/instance_variable.py +12 -12
- pulumi_gitlab/integration_emails_on_push.py +9 -7
- pulumi_gitlab/label.py +7 -7
- pulumi_gitlab/member_role.py +9 -9
- pulumi_gitlab/outputs.py +851 -15
- pulumi_gitlab/pages_domain.py +7 -7
- pulumi_gitlab/personal_access_token.py +2 -2
- pulumi_gitlab/pipeline_schedule_variable.py +2 -2
- pulumi_gitlab/project.py +54 -7
- pulumi_gitlab/project_access_token.py +2 -2
- pulumi_gitlab/project_approval_rule.py +120 -0
- pulumi_gitlab/project_cicd_catalog.py +314 -0
- pulumi_gitlab/project_deploy_token.py +2 -2
- pulumi_gitlab/project_hook.py +155 -102
- pulumi_gitlab/project_integration_emails_on_push.py +17 -7
- pulumi_gitlab/project_issue_link.py +502 -0
- pulumi_gitlab/project_job_token_scope.py +24 -4
- pulumi_gitlab/project_label.py +11 -11
- pulumi_gitlab/project_level_mr_approvals.py +2 -2
- pulumi_gitlab/project_level_notifications.py +2 -2
- pulumi_gitlab/project_membership.py +2 -2
- pulumi_gitlab/project_mirror.py +8 -6
- pulumi_gitlab/project_package_dependency_proxy.py +446 -0
- pulumi_gitlab/project_pull_mirror.py +837 -0
- pulumi_gitlab/project_push_mirror.py +547 -0
- pulumi_gitlab/project_secure_file.py +489 -0
- pulumi_gitlab/project_tag.py +3 -3
- pulumi_gitlab/project_target_branch_rule.py +2 -2
- pulumi_gitlab/project_variable.py +7 -7
- pulumi_gitlab/project_wiki_page.py +26 -0
- pulumi_gitlab/pulumi-plugin.json +1 -1
- pulumi_gitlab/release_link.py +19 -19
- pulumi_gitlab/runner.py +4 -4
- pulumi_gitlab/system_hook.py +7 -7
- pulumi_gitlab/user_avatar.py +386 -0
- pulumi_gitlab/user_gpg_key.py +2 -2
- pulumi_gitlab/user_impersonation_token.py +2 -2
- pulumi_gitlab/user_runner.py +14 -14
- pulumi_gitlab/user_ssh_key.py +2 -2
- pulumi_gitlab/value_stream_analytics.py +88 -0
- {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/METADATA +1 -1
- {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/RECORD +81 -68
- {pulumi_gitlab-9.5.0a1761172288.dist-info → pulumi_gitlab-9.8.1.dist-info}/WHEEL +0 -0
- {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/
|
|
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/
|
|
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
|
|
pulumi_gitlab/get_group_hook.py
CHANGED
|
@@ -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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/#
|
|
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/
|
|
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/
|
|
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
|
|