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
@@ -26,7 +26,7 @@ class GetProjectHookResult:
26
26
  """
27
27
  A collection of values returned by getProjectHook.
28
28
  """
29
- def __init__(__self__, confidential_issues_events=None, confidential_note_events=None, custom_webhook_template=None, deployment_events=None, enable_ssl_verification=None, hook_id=None, id=None, issues_events=None, job_events=None, merge_requests_events=None, note_events=None, pipeline_events=None, project=None, project_id=None, push_events=None, push_events_branch_filter=None, releases_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, enable_ssl_verification=None, hook_id=None, id=None, issues_events=None, job_events=None, merge_requests_events=None, note_events=None, pipeline_events=None, project=None, project_id=None, push_events=None, push_events_branch_filter=None, releases_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)
@@ -87,6 +87,9 @@ class GetProjectHookResult:
87
87
  if url and not isinstance(url, str):
88
88
  raise TypeError("Expected argument 'url' to be a str")
89
89
  pulumi.set(__self__, "url", url)
90
+ if vulnerability_events and not isinstance(vulnerability_events, bool):
91
+ raise TypeError("Expected argument 'vulnerability_events' to be a bool")
92
+ pulumi.set(__self__, "vulnerability_events", vulnerability_events)
90
93
  if wiki_page_events and not isinstance(wiki_page_events, bool):
91
94
  raise TypeError("Expected argument 'wiki_page_events' to be a bool")
92
95
  pulumi.set(__self__, "wiki_page_events", wiki_page_events)
@@ -143,7 +146,7 @@ class GetProjectHookResult:
143
146
  @pulumi.getter
144
147
  def id(self) -> _builtins.str:
145
148
  """
146
- The provider-assigned unique ID for this managed resource.
149
+ The ID of this datasource. In the format `<project>:<hook-id>`.
147
150
  """
148
151
  return pulumi.get(self, "id")
149
152
 
@@ -237,9 +240,10 @@ class GetProjectHookResult:
237
240
 
238
241
  @_builtins.property
239
242
  @pulumi.getter
243
+ @_utilities.deprecated("""The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.""")
240
244
  def token(self) -> _builtins.str:
241
245
  """
242
- A token to present when invoking the hook. The token is not available for imported resources.
246
+ A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.
243
247
  """
244
248
  return pulumi.get(self, "token")
245
249
 
@@ -251,6 +255,14 @@ class GetProjectHookResult:
251
255
  """
252
256
  return pulumi.get(self, "url")
253
257
 
258
+ @_builtins.property
259
+ @pulumi.getter(name="vulnerabilityEvents")
260
+ def vulnerability_events(self) -> _builtins.bool:
261
+ """
262
+ Invoke the hook for vulnerability events.
263
+ """
264
+ return pulumi.get(self, "vulnerability_events")
265
+
254
266
  @_builtins.property
255
267
  @pulumi.getter(name="wikiPageEvents")
256
268
  def wiki_page_events(self) -> _builtins.bool:
@@ -286,6 +298,7 @@ class AwaitableGetProjectHookResult(GetProjectHookResult):
286
298
  tag_push_events=self.tag_push_events,
287
299
  token=self.token,
288
300
  url=self.url,
301
+ vulnerability_events=self.vulnerability_events,
289
302
  wiki_page_events=self.wiki_page_events)
290
303
 
291
304
 
@@ -293,7 +306,7 @@ def get_project_hook(hook_id: Optional[_builtins.int] = None,
293
306
  project: Optional[_builtins.str] = None,
294
307
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectHookResult:
295
308
  """
296
- The `ProjectHook` data source allows to retrieve details about a hook in a project.
309
+ The `ProjectHook` data source retrieves details about a hook in a project.
297
310
 
298
311
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_webhooks/#get-a-project-webhook)
299
312
 
@@ -339,12 +352,13 @@ def get_project_hook(hook_id: Optional[_builtins.int] = None,
339
352
  tag_push_events=pulumi.get(__ret__, 'tag_push_events'),
340
353
  token=pulumi.get(__ret__, 'token'),
341
354
  url=pulumi.get(__ret__, 'url'),
355
+ vulnerability_events=pulumi.get(__ret__, 'vulnerability_events'),
342
356
  wiki_page_events=pulumi.get(__ret__, 'wiki_page_events'))
343
357
  def get_project_hook_output(hook_id: Optional[pulumi.Input[_builtins.int]] = None,
344
358
  project: Optional[pulumi.Input[_builtins.str]] = None,
345
359
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectHookResult]:
346
360
  """
347
- The `ProjectHook` data source allows to retrieve details about a hook in a project.
361
+ The `ProjectHook` data source retrieves details about a hook in a project.
348
362
 
349
363
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_webhooks/#get-a-project-webhook)
350
364
 
@@ -389,4 +403,5 @@ def get_project_hook_output(hook_id: Optional[pulumi.Input[_builtins.int]] = Non
389
403
  tag_push_events=pulumi.get(__response__, 'tag_push_events'),
390
404
  token=pulumi.get(__response__, 'token'),
391
405
  url=pulumi.get(__response__, 'url'),
406
+ vulnerability_events=pulumi.get(__response__, 'vulnerability_events'),
392
407
  wiki_page_events=pulumi.get(__response__, 'wiki_page_events')))
@@ -50,7 +50,7 @@ class GetProjectHooksResult:
50
50
  @pulumi.getter
51
51
  def id(self) -> _builtins.str:
52
52
  """
53
- The provider-assigned unique ID for this managed resource.
53
+ The ID of this datasource. In the format `<project>`.
54
54
  """
55
55
  return pulumi.get(self, "id")
56
56
 
@@ -0,0 +1,170 @@
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
+ 'GetProjectIssueLabelEventsResult',
20
+ 'AwaitableGetProjectIssueLabelEventsResult',
21
+ 'get_project_issue_label_events',
22
+ 'get_project_issue_label_events_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetProjectIssueLabelEventsResult:
27
+ """
28
+ A collection of values returned by getProjectIssueLabelEvents.
29
+ """
30
+ def __init__(__self__, events=None, id=None, issue_iid=None, pages_returned=None, project=None):
31
+ if events and not isinstance(events, list):
32
+ raise TypeError("Expected argument 'events' to be a list")
33
+ pulumi.set(__self__, "events", events)
34
+ if id and not isinstance(id, str):
35
+ raise TypeError("Expected argument 'id' to be a str")
36
+ pulumi.set(__self__, "id", id)
37
+ if issue_iid and not isinstance(issue_iid, int):
38
+ raise TypeError("Expected argument 'issue_iid' to be a int")
39
+ pulumi.set(__self__, "issue_iid", issue_iid)
40
+ if pages_returned and not isinstance(pages_returned, int):
41
+ raise TypeError("Expected argument 'pages_returned' to be a int")
42
+ pulumi.set(__self__, "pages_returned", pages_returned)
43
+ if project and not isinstance(project, str):
44
+ raise TypeError("Expected argument 'project' to be a str")
45
+ pulumi.set(__self__, "project", project)
46
+
47
+ @_builtins.property
48
+ @pulumi.getter
49
+ def events(self) -> Sequence['outputs.GetProjectIssueLabelEventsEventResult']:
50
+ """
51
+ List of label events for the issue.
52
+ """
53
+ return pulumi.get(self, "events")
54
+
55
+ @_builtins.property
56
+ @pulumi.getter
57
+ def id(self) -> _builtins.str:
58
+ return pulumi.get(self, "id")
59
+
60
+ @_builtins.property
61
+ @pulumi.getter(name="issueIid")
62
+ def issue_iid(self) -> _builtins.int:
63
+ """
64
+ The internal ID of the issue.
65
+ """
66
+ return pulumi.get(self, "issue_iid")
67
+
68
+ @_builtins.property
69
+ @pulumi.getter(name="pagesReturned")
70
+ def pages_returned(self) -> Optional[_builtins.int]:
71
+ """
72
+ Number of pages to return. Default is 1.
73
+ """
74
+ return pulumi.get(self, "pages_returned")
75
+
76
+ @_builtins.property
77
+ @pulumi.getter
78
+ def project(self) -> _builtins.str:
79
+ """
80
+ The ID or full path of the project.
81
+ """
82
+ return pulumi.get(self, "project")
83
+
84
+
85
+ class AwaitableGetProjectIssueLabelEventsResult(GetProjectIssueLabelEventsResult):
86
+ # pylint: disable=using-constant-test
87
+ def __await__(self):
88
+ if False:
89
+ yield self
90
+ return GetProjectIssueLabelEventsResult(
91
+ events=self.events,
92
+ id=self.id,
93
+ issue_iid=self.issue_iid,
94
+ pages_returned=self.pages_returned,
95
+ project=self.project)
96
+
97
+
98
+ def get_project_issue_label_events(issue_iid: Optional[_builtins.int] = None,
99
+ pages_returned: Optional[_builtins.int] = None,
100
+ project: Optional[_builtins.str] = None,
101
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectIssueLabelEventsResult:
102
+ """
103
+ The `get_project_issue_label_events` data source retrieves label events for a specific GitLab project issue.
104
+
105
+ **Upstream API**: [GitLab Resource Label Events API docs](https://docs.gitlab.com/api/resource_label_events/)
106
+
107
+ ## Example Usage
108
+
109
+ ```python
110
+ import pulumi
111
+ import pulumi_gitlab as gitlab
112
+
113
+ example = gitlab.get_project_issue_label_events(project="my-group/my-project",
114
+ issue_iid=42)
115
+ ```
116
+
117
+
118
+ :param _builtins.int issue_iid: The internal ID of the issue.
119
+ :param _builtins.int pages_returned: Number of pages to return. Default is 1.
120
+ :param _builtins.str project: The ID or full path of the project.
121
+ """
122
+ __args__ = dict()
123
+ __args__['issueIid'] = issue_iid
124
+ __args__['pagesReturned'] = pages_returned
125
+ __args__['project'] = project
126
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
127
+ __ret__ = pulumi.runtime.invoke('gitlab:index/getProjectIssueLabelEvents:getProjectIssueLabelEvents', __args__, opts=opts, typ=GetProjectIssueLabelEventsResult).value
128
+
129
+ return AwaitableGetProjectIssueLabelEventsResult(
130
+ events=pulumi.get(__ret__, 'events'),
131
+ id=pulumi.get(__ret__, 'id'),
132
+ issue_iid=pulumi.get(__ret__, 'issue_iid'),
133
+ pages_returned=pulumi.get(__ret__, 'pages_returned'),
134
+ project=pulumi.get(__ret__, 'project'))
135
+ def get_project_issue_label_events_output(issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
136
+ pages_returned: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
137
+ project: Optional[pulumi.Input[_builtins.str]] = None,
138
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectIssueLabelEventsResult]:
139
+ """
140
+ The `get_project_issue_label_events` data source retrieves label events for a specific GitLab project issue.
141
+
142
+ **Upstream API**: [GitLab Resource Label Events API docs](https://docs.gitlab.com/api/resource_label_events/)
143
+
144
+ ## Example Usage
145
+
146
+ ```python
147
+ import pulumi
148
+ import pulumi_gitlab as gitlab
149
+
150
+ example = gitlab.get_project_issue_label_events(project="my-group/my-project",
151
+ issue_iid=42)
152
+ ```
153
+
154
+
155
+ :param _builtins.int issue_iid: The internal ID of the issue.
156
+ :param _builtins.int pages_returned: Number of pages to return. Default is 1.
157
+ :param _builtins.str project: The ID or full path of the project.
158
+ """
159
+ __args__ = dict()
160
+ __args__['issueIid'] = issue_iid
161
+ __args__['pagesReturned'] = pages_returned
162
+ __args__['project'] = project
163
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
164
+ __ret__ = pulumi.runtime.invoke_output('gitlab:index/getProjectIssueLabelEvents:getProjectIssueLabelEvents', __args__, opts=opts, typ=GetProjectIssueLabelEventsResult)
165
+ return __ret__.apply(lambda __response__: GetProjectIssueLabelEventsResult(
166
+ events=pulumi.get(__response__, 'events'),
167
+ id=pulumi.get(__response__, 'id'),
168
+ issue_iid=pulumi.get(__response__, 'issue_iid'),
169
+ pages_returned=pulumi.get(__response__, 'pages_returned'),
170
+ project=pulumi.get(__response__, 'project')))
@@ -27,7 +27,7 @@ class GetProjectMembershipResult:
27
27
  """
28
28
  A collection of values returned by getProjectMembership.
29
29
  """
30
- def __init__(__self__, full_path=None, id=None, inherited=None, members=None, project_id=None, query=None, user_ids=None):
30
+ def __init__(__self__, full_path=None, id=None, inherited=None, members=None, project=None, project_id=None, query=None, user_ids=None):
31
31
  if full_path and not isinstance(full_path, str):
32
32
  raise TypeError("Expected argument 'full_path' to be a str")
33
33
  pulumi.set(__self__, "full_path", full_path)
@@ -40,6 +40,9 @@ class GetProjectMembershipResult:
40
40
  if members and not isinstance(members, list):
41
41
  raise TypeError("Expected argument 'members' to be a list")
42
42
  pulumi.set(__self__, "members", members)
43
+ if project and not isinstance(project, str):
44
+ raise TypeError("Expected argument 'project' to be a str")
45
+ pulumi.set(__self__, "project", project)
43
46
  if project_id and not isinstance(project_id, int):
44
47
  raise TypeError("Expected argument 'project_id' to be a int")
45
48
  pulumi.set(__self__, "project_id", project_id)
@@ -52,9 +55,10 @@ class GetProjectMembershipResult:
52
55
 
53
56
  @_builtins.property
54
57
  @pulumi.getter(name="fullPath")
58
+ @_utilities.deprecated("""Use `project` instead. Will be removed in 19.0.""")
55
59
  def full_path(self) -> _builtins.str:
56
60
  """
57
- The full path of the project.
61
+ The full path of the project. Use `project` instead. Will be removed in 19.0.
58
62
  """
59
63
  return pulumi.get(self, "full_path")
60
64
 
@@ -62,7 +66,7 @@ class GetProjectMembershipResult:
62
66
  @pulumi.getter
63
67
  def id(self) -> _builtins.str:
64
68
  """
65
- The provider-assigned unique ID for this managed resource.
69
+ The ID of this datasource. In the format `<project:query-hash>` if query is set, otherwise `<project>`.
66
70
  """
67
71
  return pulumi.get(self, "id")
68
72
 
@@ -82,11 +86,20 @@ class GetProjectMembershipResult:
82
86
  """
83
87
  return pulumi.get(self, "members")
84
88
 
89
+ @_builtins.property
90
+ @pulumi.getter
91
+ def project(self) -> _builtins.str:
92
+ """
93
+ The ID or full path of the project.
94
+ """
95
+ return pulumi.get(self, "project")
96
+
85
97
  @_builtins.property
86
98
  @pulumi.getter(name="projectId")
99
+ @_utilities.deprecated("""Use `project` instead. Will be removed in 19.0.""")
87
100
  def project_id(self) -> _builtins.int:
88
101
  """
89
- The ID of the project.
102
+ The ID of the project. Use `project` instead. Will be removed in 19.0.
90
103
  """
91
104
  return pulumi.get(self, "project_id")
92
105
 
@@ -117,6 +130,7 @@ class AwaitableGetProjectMembershipResult(GetProjectMembershipResult):
117
130
  id=self.id,
118
131
  inherited=self.inherited,
119
132
  members=self.members,
133
+ project=self.project,
120
134
  project_id=self.project_id,
121
135
  query=self.query,
122
136
  user_ids=self.user_ids)
@@ -124,27 +138,28 @@ class AwaitableGetProjectMembershipResult(GetProjectMembershipResult):
124
138
 
125
139
  def get_project_membership(full_path: Optional[_builtins.str] = None,
126
140
  inherited: Optional[_builtins.bool] = None,
141
+ project: Optional[_builtins.str] = None,
127
142
  project_id: Optional[_builtins.int] = None,
128
143
  query: Optional[_builtins.str] = None,
129
144
  user_ids: Optional[Sequence[_builtins.int]] = None,
130
145
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetProjectMembershipResult:
131
146
  """
132
- The `ProjectMembership` data source allows to list and filter all members of a project specified by either its id or full path.
133
-
134
- > **Note** exactly one of project_id or full_path must be provided.
147
+ The `ProjectMembership` data source allows you to list and filter all members of a project.
135
148
 
136
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project)
149
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_members/#list-all-members-of-a-project)
137
150
 
138
151
 
139
- :param _builtins.str full_path: The full path of the project.
152
+ :param _builtins.str full_path: The full path of the project. Use `project` instead. Will be removed in 19.0.
140
153
  :param _builtins.bool inherited: Return all project members including members through ancestor groups
141
- :param _builtins.int project_id: The ID of the project.
154
+ :param _builtins.str project: The ID or full path of the project.
155
+ :param _builtins.int project_id: The ID of the project. Use `project` instead. Will be removed in 19.0.
142
156
  :param _builtins.str query: A query string to search for members
143
157
  :param Sequence[_builtins.int] user_ids: List of user ids to filter members by
144
158
  """
145
159
  __args__ = dict()
146
160
  __args__['fullPath'] = full_path
147
161
  __args__['inherited'] = inherited
162
+ __args__['project'] = project
148
163
  __args__['projectId'] = project_id
149
164
  __args__['query'] = query
150
165
  __args__['userIds'] = user_ids
@@ -156,32 +171,34 @@ def get_project_membership(full_path: Optional[_builtins.str] = None,
156
171
  id=pulumi.get(__ret__, 'id'),
157
172
  inherited=pulumi.get(__ret__, 'inherited'),
158
173
  members=pulumi.get(__ret__, 'members'),
174
+ project=pulumi.get(__ret__, 'project'),
159
175
  project_id=pulumi.get(__ret__, 'project_id'),
160
176
  query=pulumi.get(__ret__, 'query'),
161
177
  user_ids=pulumi.get(__ret__, 'user_ids'))
162
178
  def get_project_membership_output(full_path: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
163
179
  inherited: Optional[pulumi.Input[Optional[_builtins.bool]]] = None,
180
+ project: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
164
181
  project_id: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
165
182
  query: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
166
183
  user_ids: Optional[pulumi.Input[Optional[Sequence[_builtins.int]]]] = None,
167
184
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetProjectMembershipResult]:
168
185
  """
169
- The `ProjectMembership` data source allows to list and filter all members of a project specified by either its id or full path.
170
-
171
- > **Note** exactly one of project_id or full_path must be provided.
186
+ The `ProjectMembership` data source allows you to list and filter all members of a project.
172
187
 
173
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project)
188
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_members/#list-all-members-of-a-project)
174
189
 
175
190
 
176
- :param _builtins.str full_path: The full path of the project.
191
+ :param _builtins.str full_path: The full path of the project. Use `project` instead. Will be removed in 19.0.
177
192
  :param _builtins.bool inherited: Return all project members including members through ancestor groups
178
- :param _builtins.int project_id: The ID of the project.
193
+ :param _builtins.str project: The ID or full path of the project.
194
+ :param _builtins.int project_id: The ID of the project. Use `project` instead. Will be removed in 19.0.
179
195
  :param _builtins.str query: A query string to search for members
180
196
  :param Sequence[_builtins.int] user_ids: List of user ids to filter members by
181
197
  """
182
198
  __args__ = dict()
183
199
  __args__['fullPath'] = full_path
184
200
  __args__['inherited'] = inherited
201
+ __args__['project'] = project
185
202
  __args__['projectId'] = project_id
186
203
  __args__['query'] = query
187
204
  __args__['userIds'] = user_ids
@@ -192,6 +209,7 @@ def get_project_membership_output(full_path: Optional[pulumi.Input[Optional[_bui
192
209
  id=pulumi.get(__response__, 'id'),
193
210
  inherited=pulumi.get(__response__, 'inherited'),
194
211
  members=pulumi.get(__response__, 'members'),
212
+ project=pulumi.get(__response__, 'project'),
195
213
  project_id=pulumi.get(__response__, 'project_id'),
196
214
  query=pulumi.get(__response__, 'query'),
197
215
  user_ids=pulumi.get(__response__, 'user_ids')))
@@ -106,7 +106,7 @@ class GetProjectMilestoneResult:
106
106
  @pulumi.getter
107
107
  def id(self) -> _builtins.str:
108
108
  """
109
- The provider-assigned unique ID for this managed resource.
109
+ The ID of this datasource. In the format `<project:milestone-id>`.
110
110
  """
111
111
  return pulumi.get(self, "id")
112
112
 
@@ -57,7 +57,7 @@ class GetProjectMilestonesResult:
57
57
  @pulumi.getter
58
58
  def id(self) -> _builtins.str:
59
59
  """
60
- The provider-assigned unique ID for this managed resource.
60
+ The ID of this datasource. In the format `<project:options-hash>`.
61
61
  """
62
62
  return pulumi.get(self, "id")
63
63
 
@@ -92,7 +92,7 @@ def get_project_protected_tag(project: Optional[_builtins.str] = None,
92
92
  """
93
93
  The `get_project_protected_tag` data source allows details of a protected tag to be retrieved by its name and the project it belongs to.
94
94
 
95
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_tags/#get-a-single-protected-tag-or-wildcard-protected-tag)
95
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_tags/#get-a-protected-tag-or-wildcard-protected-tag)
96
96
 
97
97
 
98
98
  :param _builtins.str project: The integer or path with namespace that uniquely identifies the project.
@@ -115,7 +115,7 @@ def get_project_protected_tag_output(project: Optional[pulumi.Input[_builtins.st
115
115
  """
116
116
  The `get_project_protected_tag` data source allows details of a protected tag to be retrieved by its name and the project it belongs to.
117
117
 
118
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_tags/#get-a-single-protected-tag-or-wildcard-protected-tag)
118
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/protected_tags/#get-a-protected-tag-or-wildcard-protected-tag)
119
119
 
120
120
 
121
121
  :param _builtins.str project: The integer or path with namespace that uniquely identifies the project.