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,200 @@
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
+ 'GetMemberRoleResult',
19
+ 'AwaitableGetMemberRoleResult',
20
+ 'get_member_role',
21
+ 'get_member_role_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetMemberRoleResult:
26
+ """
27
+ A collection of values returned by getMemberRole.
28
+ """
29
+ def __init__(__self__, base_access_level=None, created_at=None, description=None, edit_path=None, enabled_permissions=None, id=None, iid=None, name=None):
30
+ if base_access_level and not isinstance(base_access_level, str):
31
+ raise TypeError("Expected argument 'base_access_level' to be a str")
32
+ pulumi.set(__self__, "base_access_level", base_access_level)
33
+ if created_at and not isinstance(created_at, str):
34
+ raise TypeError("Expected argument 'created_at' to be a str")
35
+ pulumi.set(__self__, "created_at", created_at)
36
+ if description and not isinstance(description, str):
37
+ raise TypeError("Expected argument 'description' to be a str")
38
+ pulumi.set(__self__, "description", description)
39
+ if edit_path and not isinstance(edit_path, str):
40
+ raise TypeError("Expected argument 'edit_path' to be a str")
41
+ pulumi.set(__self__, "edit_path", edit_path)
42
+ if enabled_permissions and not isinstance(enabled_permissions, list):
43
+ raise TypeError("Expected argument 'enabled_permissions' to be a list")
44
+ pulumi.set(__self__, "enabled_permissions", enabled_permissions)
45
+ if id and not isinstance(id, str):
46
+ raise TypeError("Expected argument 'id' to be a str")
47
+ pulumi.set(__self__, "id", id)
48
+ if iid and not isinstance(iid, int):
49
+ raise TypeError("Expected argument 'iid' to be a int")
50
+ pulumi.set(__self__, "iid", iid)
51
+ if name and not isinstance(name, str):
52
+ raise TypeError("Expected argument 'name' to be a str")
53
+ pulumi.set(__self__, "name", name)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter(name="baseAccessLevel")
57
+ def base_access_level(self) -> _builtins.str:
58
+ """
59
+ The base access level of the custom role.
60
+ """
61
+ return pulumi.get(self, "base_access_level")
62
+
63
+ @_builtins.property
64
+ @pulumi.getter(name="createdAt")
65
+ def created_at(self) -> _builtins.str:
66
+ """
67
+ Timestamp of when the member role was created.
68
+ """
69
+ return pulumi.get(self, "created_at")
70
+
71
+ @_builtins.property
72
+ @pulumi.getter
73
+ def description(self) -> _builtins.str:
74
+ """
75
+ Description of the member role.
76
+ """
77
+ return pulumi.get(self, "description")
78
+
79
+ @_builtins.property
80
+ @pulumi.getter(name="editPath")
81
+ def edit_path(self) -> _builtins.str:
82
+ """
83
+ The Web UI path to edit the member role
84
+ """
85
+ return pulumi.get(self, "edit_path")
86
+
87
+ @_builtins.property
88
+ @pulumi.getter(name="enabledPermissions")
89
+ def enabled_permissions(self) -> Sequence[_builtins.str]:
90
+ """
91
+ All permissions enabled for the custom role.
92
+ """
93
+ return pulumi.get(self, "enabled_permissions")
94
+
95
+ @_builtins.property
96
+ @pulumi.getter
97
+ def id(self) -> _builtins.str:
98
+ """
99
+ Globally unique ID of the member role. In the format of `gid://gitlab/MemberRole/1`
100
+ """
101
+ return pulumi.get(self, "id")
102
+
103
+ @_builtins.property
104
+ @pulumi.getter
105
+ def iid(self) -> _builtins.int:
106
+ """
107
+ The member role ID integer value extracted from the `id` attribute
108
+ """
109
+ return pulumi.get(self, "iid")
110
+
111
+ @_builtins.property
112
+ @pulumi.getter
113
+ def name(self) -> _builtins.str:
114
+ """
115
+ Name of the member role.
116
+ """
117
+ return pulumi.get(self, "name")
118
+
119
+
120
+ class AwaitableGetMemberRoleResult(GetMemberRoleResult):
121
+ # pylint: disable=using-constant-test
122
+ def __await__(self):
123
+ if False:
124
+ yield self
125
+ return GetMemberRoleResult(
126
+ base_access_level=self.base_access_level,
127
+ created_at=self.created_at,
128
+ description=self.description,
129
+ edit_path=self.edit_path,
130
+ enabled_permissions=self.enabled_permissions,
131
+ id=self.id,
132
+ iid=self.iid,
133
+ name=self.name)
134
+
135
+
136
+ def get_member_role(id: Optional[_builtins.str] = None,
137
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMemberRoleResult:
138
+ """
139
+ The `MemberRole` data source allows details of a custom member role to be retrieved.
140
+
141
+ **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#querymemberrole)
142
+
143
+ ## Example Usage
144
+
145
+ ```python
146
+ import pulumi
147
+ import pulumi_gitlab as gitlab
148
+
149
+ example = gitlab.get_member_role(id="gid://gitlab/MemberRole/1")
150
+ ```
151
+
152
+
153
+ :param _builtins.str id: Globally unique ID of the member role. In the format of `gid://gitlab/MemberRole/1`
154
+ """
155
+ __args__ = dict()
156
+ __args__['id'] = id
157
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
158
+ __ret__ = pulumi.runtime.invoke('gitlab:index/getMemberRole:getMemberRole', __args__, opts=opts, typ=GetMemberRoleResult).value
159
+
160
+ return AwaitableGetMemberRoleResult(
161
+ base_access_level=pulumi.get(__ret__, 'base_access_level'),
162
+ created_at=pulumi.get(__ret__, 'created_at'),
163
+ description=pulumi.get(__ret__, 'description'),
164
+ edit_path=pulumi.get(__ret__, 'edit_path'),
165
+ enabled_permissions=pulumi.get(__ret__, 'enabled_permissions'),
166
+ id=pulumi.get(__ret__, 'id'),
167
+ iid=pulumi.get(__ret__, 'iid'),
168
+ name=pulumi.get(__ret__, 'name'))
169
+ def get_member_role_output(id: Optional[pulumi.Input[_builtins.str]] = None,
170
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMemberRoleResult]:
171
+ """
172
+ The `MemberRole` data source allows details of a custom member role to be retrieved.
173
+
174
+ **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#querymemberrole)
175
+
176
+ ## Example Usage
177
+
178
+ ```python
179
+ import pulumi
180
+ import pulumi_gitlab as gitlab
181
+
182
+ example = gitlab.get_member_role(id="gid://gitlab/MemberRole/1")
183
+ ```
184
+
185
+
186
+ :param _builtins.str id: Globally unique ID of the member role. In the format of `gid://gitlab/MemberRole/1`
187
+ """
188
+ __args__ = dict()
189
+ __args__['id'] = id
190
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
191
+ __ret__ = pulumi.runtime.invoke_output('gitlab:index/getMemberRole:getMemberRole', __args__, opts=opts, typ=GetMemberRoleResult)
192
+ return __ret__.apply(lambda __response__: GetMemberRoleResult(
193
+ base_access_level=pulumi.get(__response__, 'base_access_level'),
194
+ created_at=pulumi.get(__response__, 'created_at'),
195
+ description=pulumi.get(__response__, 'description'),
196
+ edit_path=pulumi.get(__response__, 'edit_path'),
197
+ enabled_permissions=pulumi.get(__response__, 'enabled_permissions'),
198
+ id=pulumi.get(__response__, 'id'),
199
+ iid=pulumi.get(__response__, 'iid'),
200
+ name=pulumi.get(__response__, 'name')))
@@ -27,7 +27,7 @@ class GetProjectResult:
27
27
  """
28
28
  A collection of values returned by getProject.
29
29
  """
30
- def __init__(__self__, allow_pipeline_trigger_approve_deployment=None, analytics_access_level=None, archived=None, auto_cancel_pending_pipelines=None, auto_devops_deploy_strategy=None, auto_devops_enabled=None, autoclose_referenced_issues=None, build_git_strategy=None, build_timeout=None, builds_access_level=None, ci_config_path=None, ci_default_git_depth=None, ci_delete_pipelines_in_seconds=None, ci_id_token_sub_claim_components=None, ci_pipeline_variables_minimum_override_role=None, ci_restrict_pipeline_cancellation_role=None, ci_separated_caches=None, container_expiration_policies=None, container_registry_access_level=None, default_branch=None, description=None, emails_enabled=None, empty_repo=None, environments_access_level=None, external_authorization_classification_label=None, feature_flags_access_level=None, forking_access_level=None, http_url_to_repo=None, id=None, import_url=None, infrastructure_access_level=None, issues_access_level=None, issues_enabled=None, keep_latest_artifact=None, lfs_enabled=None, merge_commit_template=None, merge_pipelines_enabled=None, merge_requests_access_level=None, merge_requests_enabled=None, merge_trains_enabled=None, model_experiments_access_level=None, model_registry_access_level=None, monitor_access_level=None, name=None, namespace_id=None, path=None, path_with_namespace=None, pipelines_enabled=None, prevent_merge_without_jira_issue=None, printing_merge_request_link_enabled=None, public_builds=None, push_rules=None, releases_access_level=None, remove_source_branch_after_merge=None, repository_access_level=None, repository_storage=None, request_access_enabled=None, requirements_access_level=None, resolve_outdated_diff_discussions=None, restrict_user_defined_variables=None, runners_token=None, security_and_compliance_access_level=None, shared_with_groups=None, snippets_access_level=None, snippets_enabled=None, squash_commit_template=None, ssh_url_to_repo=None, suggestion_commit_message=None, topics=None, visibility_level=None, web_url=None, wiki_access_level=None, wiki_enabled=None):
30
+ def __init__(__self__, allow_pipeline_trigger_approve_deployment=None, analytics_access_level=None, archived=None, auto_cancel_pending_pipelines=None, auto_devops_deploy_strategy=None, auto_devops_enabled=None, autoclose_referenced_issues=None, build_git_strategy=None, build_timeout=None, builds_access_level=None, ci_config_path=None, ci_default_git_depth=None, ci_delete_pipelines_in_seconds=None, ci_id_token_sub_claim_components=None, ci_pipeline_variables_minimum_override_role=None, ci_restrict_pipeline_cancellation_role=None, ci_separated_caches=None, container_expiration_policies=None, container_registry_access_level=None, default_branch=None, description=None, emails_enabled=None, empty_repo=None, environments_access_level=None, external_authorization_classification_label=None, feature_flags_access_level=None, forking_access_level=None, http_url_to_repo=None, id=None, import_url=None, infrastructure_access_level=None, issues_access_level=None, issues_enabled=None, keep_latest_artifact=None, lfs_enabled=None, merge_commit_template=None, merge_pipelines_enabled=None, merge_requests_access_level=None, merge_requests_enabled=None, merge_trains_enabled=None, merge_trains_skip_train_allowed=None, model_experiments_access_level=None, model_registry_access_level=None, monitor_access_level=None, name=None, namespace_id=None, path=None, path_with_namespace=None, pipelines_enabled=None, prevent_merge_without_jira_issue=None, printing_merge_request_link_enabled=None, public_builds=None, push_rules=None, releases_access_level=None, remove_source_branch_after_merge=None, repository_access_level=None, repository_storage=None, request_access_enabled=None, requirements_access_level=None, resolve_outdated_diff_discussions=None, restrict_user_defined_variables=None, runners_token=None, security_and_compliance_access_level=None, shared_with_groups=None, snippets_access_level=None, snippets_enabled=None, squash_commit_template=None, ssh_url_to_repo=None, suggestion_commit_message=None, topics=None, visibility_level=None, web_url=None, wiki_access_level=None, wiki_enabled=None):
31
31
  if allow_pipeline_trigger_approve_deployment and not isinstance(allow_pipeline_trigger_approve_deployment, bool):
32
32
  raise TypeError("Expected argument 'allow_pipeline_trigger_approve_deployment' to be a bool")
33
33
  pulumi.set(__self__, "allow_pipeline_trigger_approve_deployment", allow_pipeline_trigger_approve_deployment)
@@ -148,6 +148,9 @@ class GetProjectResult:
148
148
  if merge_trains_enabled and not isinstance(merge_trains_enabled, bool):
149
149
  raise TypeError("Expected argument 'merge_trains_enabled' to be a bool")
150
150
  pulumi.set(__self__, "merge_trains_enabled", merge_trains_enabled)
151
+ if merge_trains_skip_train_allowed and not isinstance(merge_trains_skip_train_allowed, bool):
152
+ raise TypeError("Expected argument 'merge_trains_skip_train_allowed' to be a bool")
153
+ pulumi.set(__self__, "merge_trains_skip_train_allowed", merge_trains_skip_train_allowed)
151
154
  if model_experiments_access_level and not isinstance(model_experiments_access_level, str):
152
155
  raise TypeError("Expected argument 'model_experiments_access_level' to be a str")
153
156
  pulumi.set(__self__, "model_experiments_access_level", model_experiments_access_level)
@@ -570,6 +573,14 @@ class GetProjectResult:
570
573
  """
571
574
  return pulumi.get(self, "merge_trains_enabled")
572
575
 
576
+ @_builtins.property
577
+ @pulumi.getter(name="mergeTrainsSkipTrainAllowed")
578
+ def merge_trains_skip_train_allowed(self) -> _builtins.bool:
579
+ """
580
+ Allows merge train merge requests to be merged without waiting for pipelines to finish.
581
+ """
582
+ return pulumi.get(self, "merge_trains_skip_train_allowed")
583
+
573
584
  @_builtins.property
574
585
  @pulumi.getter(name="modelExperimentsAccessLevel")
575
586
  def model_experiments_access_level(self) -> _builtins.str:
@@ -885,6 +896,7 @@ class AwaitableGetProjectResult(GetProjectResult):
885
896
  merge_requests_access_level=self.merge_requests_access_level,
886
897
  merge_requests_enabled=self.merge_requests_enabled,
887
898
  merge_trains_enabled=self.merge_trains_enabled,
899
+ merge_trains_skip_train_allowed=self.merge_trains_skip_train_allowed,
888
900
  model_experiments_access_level=self.model_experiments_access_level,
889
901
  model_registry_access_level=self.model_registry_access_level,
890
902
  monitor_access_level=self.monitor_access_level,
@@ -988,6 +1000,7 @@ def get_project(ci_default_git_depth: Optional[_builtins.int] = None,
988
1000
  merge_requests_access_level=pulumi.get(__ret__, 'merge_requests_access_level'),
989
1001
  merge_requests_enabled=pulumi.get(__ret__, 'merge_requests_enabled'),
990
1002
  merge_trains_enabled=pulumi.get(__ret__, 'merge_trains_enabled'),
1003
+ merge_trains_skip_train_allowed=pulumi.get(__ret__, 'merge_trains_skip_train_allowed'),
991
1004
  model_experiments_access_level=pulumi.get(__ret__, 'model_experiments_access_level'),
992
1005
  model_registry_access_level=pulumi.get(__ret__, 'model_registry_access_level'),
993
1006
  monitor_access_level=pulumi.get(__ret__, 'monitor_access_level'),
@@ -1088,6 +1101,7 @@ def get_project_output(ci_default_git_depth: Optional[pulumi.Input[Optional[_bui
1088
1101
  merge_requests_access_level=pulumi.get(__response__, 'merge_requests_access_level'),
1089
1102
  merge_requests_enabled=pulumi.get(__response__, 'merge_requests_enabled'),
1090
1103
  merge_trains_enabled=pulumi.get(__response__, 'merge_trains_enabled'),
1104
+ merge_trains_skip_train_allowed=pulumi.get(__response__, 'merge_trains_skip_train_allowed'),
1091
1105
  model_experiments_access_level=pulumi.get(__response__, 'model_experiments_access_level'),
1092
1106
  model_registry_access_level=pulumi.get(__response__, 'model_registry_access_level'),
1093
1107
  monitor_access_level=pulumi.get(__response__, 'monitor_access_level'),
@@ -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)
@@ -237,10 +240,10 @@ class GetProjectHookResult:
237
240
 
238
241
  @_builtins.property
239
242
  @pulumi.getter
240
- @_utilities.deprecated("""The token is only available on resource creation, not in this datasource. It will always be blank.""")
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.""")
241
244
  def token(self) -> _builtins.str:
242
245
  """
243
- 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.
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.
244
247
  """
245
248
  return pulumi.get(self, "token")
246
249
 
@@ -252,6 +255,14 @@ class GetProjectHookResult:
252
255
  """
253
256
  return pulumi.get(self, "url")
254
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
+
255
266
  @_builtins.property
256
267
  @pulumi.getter(name="wikiPageEvents")
257
268
  def wiki_page_events(self) -> _builtins.bool:
@@ -287,6 +298,7 @@ class AwaitableGetProjectHookResult(GetProjectHookResult):
287
298
  tag_push_events=self.tag_push_events,
288
299
  token=self.token,
289
300
  url=self.url,
301
+ vulnerability_events=self.vulnerability_events,
290
302
  wiki_page_events=self.wiki_page_events)
291
303
 
292
304
 
@@ -340,6 +352,7 @@ def get_project_hook(hook_id: Optional[_builtins.int] = None,
340
352
  tag_push_events=pulumi.get(__ret__, 'tag_push_events'),
341
353
  token=pulumi.get(__ret__, 'token'),
342
354
  url=pulumi.get(__ret__, 'url'),
355
+ vulnerability_events=pulumi.get(__ret__, 'vulnerability_events'),
343
356
  wiki_page_events=pulumi.get(__ret__, 'wiki_page_events'))
344
357
  def get_project_hook_output(hook_id: Optional[pulumi.Input[_builtins.int]] = None,
345
358
  project: Optional[pulumi.Input[_builtins.str]] = None,
@@ -390,4 +403,5 @@ def get_project_hook_output(hook_id: Optional[pulumi.Input[_builtins.int]] = Non
390
403
  tag_push_events=pulumi.get(__response__, 'tag_push_events'),
391
404
  token=pulumi.get(__response__, 'token'),
392
405
  url=pulumi.get(__response__, 'url'),
406
+ vulnerability_events=pulumi.get(__response__, 'vulnerability_events'),
393
407
  wiki_page_events=pulumi.get(__response__, 'wiki_page_events')))
@@ -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')))
@@ -146,7 +146,7 @@ def get_project_membership(full_path: Optional[_builtins.str] = None,
146
146
  """
147
147
  The `ProjectMembership` data source allows you to list and filter all members of a project.
148
148
 
149
- **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)
150
150
 
151
151
 
152
152
  :param _builtins.str full_path: The full path of the project. Use `project` instead. Will be removed in 19.0.
@@ -185,7 +185,7 @@ def get_project_membership_output(full_path: Optional[pulumi.Input[Optional[_bui
185
185
  """
186
186
  The `ProjectMembership` data source allows you to list and filter all members of a project.
187
187
 
188
- **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)
189
189
 
190
190
 
191
191
  :param _builtins.str full_path: The full path of the project. Use `project` instead. Will be removed in 19.0.
@@ -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.