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
@@ -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
+ from ._inputs import *
18
+
19
+ __all__ = [
20
+ 'GetSecurityPolicyDocumentResult',
21
+ 'AwaitableGetSecurityPolicyDocumentResult',
22
+ 'get_security_policy_document',
23
+ 'get_security_policy_document_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetSecurityPolicyDocumentResult:
28
+ """
29
+ A collection of values returned by getSecurityPolicyDocument.
30
+ """
31
+ def __init__(__self__, id=None, scan_execution_policies=None, yaml=None):
32
+ if id and not isinstance(id, str):
33
+ raise TypeError("Expected argument 'id' to be a str")
34
+ pulumi.set(__self__, "id", id)
35
+ if scan_execution_policies and not isinstance(scan_execution_policies, list):
36
+ raise TypeError("Expected argument 'scan_execution_policies' to be a list")
37
+ pulumi.set(__self__, "scan_execution_policies", scan_execution_policies)
38
+ if yaml and not isinstance(yaml, str):
39
+ raise TypeError("Expected argument 'yaml' to be a str")
40
+ pulumi.set(__self__, "yaml", yaml)
41
+
42
+ @_builtins.property
43
+ @pulumi.getter
44
+ def id(self) -> _builtins.str:
45
+ """
46
+ Unique identifier for this policy document (hash of generated YAML).
47
+ """
48
+ return pulumi.get(self, "id")
49
+
50
+ @_builtins.property
51
+ @pulumi.getter(name="scanExecutionPolicies")
52
+ def scan_execution_policies(self) -> Optional[Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyResult']]:
53
+ """
54
+ Scan execution policy configuration. Multiple policies can be specified.
55
+ """
56
+ return pulumi.get(self, "scan_execution_policies")
57
+
58
+ @_builtins.property
59
+ @pulumi.getter
60
+ def yaml(self) -> _builtins.str:
61
+ """
62
+ The generated policy document in YAML format, ready to write to `.gitlab/security-policies/policy.yml`.
63
+ """
64
+ return pulumi.get(self, "yaml")
65
+
66
+
67
+ class AwaitableGetSecurityPolicyDocumentResult(GetSecurityPolicyDocumentResult):
68
+ # pylint: disable=using-constant-test
69
+ def __await__(self):
70
+ if False:
71
+ yield self
72
+ return GetSecurityPolicyDocumentResult(
73
+ id=self.id,
74
+ scan_execution_policies=self.scan_execution_policies,
75
+ yaml=self.yaml)
76
+
77
+
78
+ def get_security_policy_document(scan_execution_policies: Optional[Sequence[Union['GetSecurityPolicyDocumentScanExecutionPolicyArgs', 'GetSecurityPolicyDocumentScanExecutionPolicyArgsDict']]] = None,
79
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityPolicyDocumentResult:
80
+ """
81
+ Generates a GitLab security policy YAML document from structured configuration.
82
+ This data source performs pure transformation without any API calls.
83
+
84
+ **Upstream API**: [GitLab Security Policies Documentation](https://docs.gitlab.com/ee/user/application_security/policies/scan_execution_policies/)
85
+
86
+ ## Example Usage
87
+
88
+ ```python
89
+ import pulumi
90
+ import pulumi_gitlab as gitlab
91
+
92
+ # Use this with `gitlab_repository_file` to manage your policies using native HCL
93
+ scan = gitlab.get_security_policy_document(scan_execution_policies=[{
94
+ "name": "Basic SAST Policy",
95
+ "enabled": True,
96
+ "rules": [{
97
+ "type": "pipeline",
98
+ "branch_type": "all",
99
+ }],
100
+ "actions": [{
101
+ "scan": "sast",
102
+ }],
103
+ }])
104
+ # See `gitlab_project_security_policy_attachment` or `gitlab_group_security_policy_attachment`
105
+ # for how to link a security policy project to a project or group.
106
+ policy = gitlab.RepositoryFile("policy",
107
+ project="1234",
108
+ ref="main",
109
+ file_path=".gitlab/security-policies/policy.yml",
110
+ content=scan.yaml)
111
+ ```
112
+
113
+
114
+ :param Sequence[Union['GetSecurityPolicyDocumentScanExecutionPolicyArgs', 'GetSecurityPolicyDocumentScanExecutionPolicyArgsDict']] scan_execution_policies: Scan execution policy configuration. Multiple policies can be specified.
115
+ """
116
+ __args__ = dict()
117
+ __args__['scanExecutionPolicies'] = scan_execution_policies
118
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
119
+ __ret__ = pulumi.runtime.invoke('gitlab:index/getSecurityPolicyDocument:getSecurityPolicyDocument', __args__, opts=opts, typ=GetSecurityPolicyDocumentResult).value
120
+
121
+ return AwaitableGetSecurityPolicyDocumentResult(
122
+ id=pulumi.get(__ret__, 'id'),
123
+ scan_execution_policies=pulumi.get(__ret__, 'scan_execution_policies'),
124
+ yaml=pulumi.get(__ret__, 'yaml'))
125
+ def get_security_policy_document_output(scan_execution_policies: Optional[pulumi.Input[Optional[Sequence[Union['GetSecurityPolicyDocumentScanExecutionPolicyArgs', 'GetSecurityPolicyDocumentScanExecutionPolicyArgsDict']]]]] = None,
126
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityPolicyDocumentResult]:
127
+ """
128
+ Generates a GitLab security policy YAML document from structured configuration.
129
+ This data source performs pure transformation without any API calls.
130
+
131
+ **Upstream API**: [GitLab Security Policies Documentation](https://docs.gitlab.com/ee/user/application_security/policies/scan_execution_policies/)
132
+
133
+ ## Example Usage
134
+
135
+ ```python
136
+ import pulumi
137
+ import pulumi_gitlab as gitlab
138
+
139
+ # Use this with `gitlab_repository_file` to manage your policies using native HCL
140
+ scan = gitlab.get_security_policy_document(scan_execution_policies=[{
141
+ "name": "Basic SAST Policy",
142
+ "enabled": True,
143
+ "rules": [{
144
+ "type": "pipeline",
145
+ "branch_type": "all",
146
+ }],
147
+ "actions": [{
148
+ "scan": "sast",
149
+ }],
150
+ }])
151
+ # See `gitlab_project_security_policy_attachment` or `gitlab_group_security_policy_attachment`
152
+ # for how to link a security policy project to a project or group.
153
+ policy = gitlab.RepositoryFile("policy",
154
+ project="1234",
155
+ ref="main",
156
+ file_path=".gitlab/security-policies/policy.yml",
157
+ content=scan.yaml)
158
+ ```
159
+
160
+
161
+ :param Sequence[Union['GetSecurityPolicyDocumentScanExecutionPolicyArgs', 'GetSecurityPolicyDocumentScanExecutionPolicyArgsDict']] scan_execution_policies: Scan execution policy configuration. Multiple policies can be specified.
162
+ """
163
+ __args__ = dict()
164
+ __args__['scanExecutionPolicies'] = scan_execution_policies
165
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
166
+ __ret__ = pulumi.runtime.invoke_output('gitlab:index/getSecurityPolicyDocument:getSecurityPolicyDocument', __args__, opts=opts, typ=GetSecurityPolicyDocumentResult)
167
+ return __ret__.apply(lambda __response__: GetSecurityPolicyDocumentResult(
168
+ id=pulumi.get(__response__, 'id'),
169
+ scan_execution_policies=pulumi.get(__response__, 'scan_execution_policies'),
170
+ yaml=pulumi.get(__response__, 'yaml')))
pulumi_gitlab/get_user.py CHANGED
@@ -213,7 +213,7 @@ class GetUserResult:
213
213
  @pulumi.getter
214
214
  def id(self) -> _builtins.str:
215
215
  """
216
- The provider-assigned unique ID for this managed resource.
216
+ The ID of this datasource. In the format `<user-id>`.
217
217
  """
218
218
  return pulumi.get(self, "id")
219
219
 
@@ -424,6 +424,22 @@ def get_user(email: Optional[_builtins.str] = None,
424
424
 
425
425
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/users/#get-a-single-user)
426
426
 
427
+ ## Example Usage
428
+
429
+ ```python
430
+ import pulumi
431
+ import pulumi_gitlab as gitlab
432
+ import pulumi_std as std
433
+
434
+ example = gitlab.get_user(username="myuser")
435
+ # Example using `for_each`
436
+ example_two = {__key: gitlab.get_user(username=__value) for __key, __value in std.toset(input=[
437
+ "user1",
438
+ "user2",
439
+ "user3",
440
+ ]).result}
441
+ ```
442
+
427
443
 
428
444
  :param _builtins.str email: The public email address of the user.
429
445
  :param _builtins.bool email_exact_match: (Experimental) If true, returns only an exact match. Otherwise, fuzzy matching might return the closest result. If no exact match is available, the data source returns an error.
@@ -487,6 +503,22 @@ def get_user_output(email: Optional[pulumi.Input[Optional[_builtins.str]]] = Non
487
503
 
488
504
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/users/#get-a-single-user)
489
505
 
506
+ ## Example Usage
507
+
508
+ ```python
509
+ import pulumi
510
+ import pulumi_gitlab as gitlab
511
+ import pulumi_std as std
512
+
513
+ example = gitlab.get_user(username="myuser")
514
+ # Example using `for_each`
515
+ example_two = {__key: gitlab.get_user(username=__value) for __key, __value in std.toset(input=[
516
+ "user1",
517
+ "user2",
518
+ "user3",
519
+ ]).result}
520
+ ```
521
+
490
522
 
491
523
  :param _builtins.str email: The public email address of the user.
492
524
  :param _builtins.bool email_exact_match: (Experimental) If true, returns only an exact match. Otherwise, fuzzy matching might return the closest result. If no exact match is available, the data source returns an error.
@@ -27,7 +27,7 @@ class GetUsersResult:
27
27
  """
28
28
  A collection of values returned by getUsers.
29
29
  """
30
- def __init__(__self__, active=None, blocked=None, created_after=None, created_before=None, exclude_external=None, exclude_internal=None, extern_provider=None, extern_uid=None, external=None, id=None, order_by=None, search=None, sort=None, username=None, users=None, without_project_bots=None):
30
+ def __init__(__self__, active=None, blocked=None, created_after=None, created_before=None, exclude_external=None, exclude_internal=None, extern_provider=None, extern_uid=None, external=None, humans=None, id=None, order_by=None, search=None, sort=None, username=None, users=None, without_project_bots=None):
31
31
  if active and not isinstance(active, bool):
32
32
  raise TypeError("Expected argument 'active' to be a bool")
33
33
  pulumi.set(__self__, "active", active)
@@ -55,6 +55,9 @@ class GetUsersResult:
55
55
  if external and not isinstance(external, bool):
56
56
  raise TypeError("Expected argument 'external' to be a bool")
57
57
  pulumi.set(__self__, "external", external)
58
+ if humans and not isinstance(humans, bool):
59
+ raise TypeError("Expected argument 'humans' to be a bool")
60
+ pulumi.set(__self__, "humans", humans)
58
61
  if id and not isinstance(id, str):
59
62
  raise TypeError("Expected argument 'id' to be a str")
60
63
  pulumi.set(__self__, "id", id)
@@ -149,11 +152,19 @@ class GetUsersResult:
149
152
  """
150
153
  return pulumi.get(self, "external")
151
154
 
155
+ @_builtins.property
156
+ @pulumi.getter
157
+ def humans(self) -> Optional[_builtins.bool]:
158
+ """
159
+ Filters only regular users that are not bot or internal users.
160
+ """
161
+ return pulumi.get(self, "humans")
162
+
152
163
  @_builtins.property
153
164
  @pulumi.getter
154
165
  def id(self) -> _builtins.str:
155
166
  """
156
- The provider-assigned unique ID for this managed resource.
167
+ The ID of this datasource. In the format of a hash taken from the search options.
157
168
  """
158
169
  return pulumi.get(self, "id")
159
170
 
@@ -221,6 +232,7 @@ class AwaitableGetUsersResult(GetUsersResult):
221
232
  extern_provider=self.extern_provider,
222
233
  extern_uid=self.extern_uid,
223
234
  external=self.external,
235
+ humans=self.humans,
224
236
  id=self.id,
225
237
  order_by=self.order_by,
226
238
  search=self.search,
@@ -239,6 +251,7 @@ def get_users(active: Optional[_builtins.bool] = None,
239
251
  extern_provider: Optional[_builtins.str] = None,
240
252
  extern_uid: Optional[_builtins.str] = None,
241
253
  external: Optional[_builtins.bool] = None,
254
+ humans: Optional[_builtins.bool] = None,
242
255
  order_by: Optional[_builtins.str] = None,
243
256
  search: Optional[_builtins.str] = None,
244
257
  sort: Optional[_builtins.str] = None,
@@ -276,6 +289,7 @@ def get_users(active: Optional[_builtins.bool] = None,
276
289
  :param _builtins.str extern_provider: Lookup users by external provider. (Requires administrator privileges)
277
290
  :param _builtins.str extern_uid: Lookup users by external UID. (Requires administrator privileges)
278
291
  :param _builtins.bool external: Filters only external users.
292
+ :param _builtins.bool humans: Filters only regular users that are not bot or internal users.
279
293
  :param _builtins.str order_by: Order the users' list by `id`, `name`, `username`, `created_at` or `updated_at`. (Requires administrator privileges)
280
294
  :param _builtins.str search: Search users by username, name or email.
281
295
  :param _builtins.str sort: Sort users' list in asc or desc order. (Requires administrator privileges)
@@ -292,6 +306,7 @@ def get_users(active: Optional[_builtins.bool] = None,
292
306
  __args__['externProvider'] = extern_provider
293
307
  __args__['externUid'] = extern_uid
294
308
  __args__['external'] = external
309
+ __args__['humans'] = humans
295
310
  __args__['orderBy'] = order_by
296
311
  __args__['search'] = search
297
312
  __args__['sort'] = sort
@@ -310,6 +325,7 @@ def get_users(active: Optional[_builtins.bool] = None,
310
325
  extern_provider=pulumi.get(__ret__, 'extern_provider'),
311
326
  extern_uid=pulumi.get(__ret__, 'extern_uid'),
312
327
  external=pulumi.get(__ret__, 'external'),
328
+ humans=pulumi.get(__ret__, 'humans'),
313
329
  id=pulumi.get(__ret__, 'id'),
314
330
  order_by=pulumi.get(__ret__, 'order_by'),
315
331
  search=pulumi.get(__ret__, 'search'),
@@ -326,6 +342,7 @@ def get_users_output(active: Optional[pulumi.Input[Optional[_builtins.bool]]] =
326
342
  extern_provider: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
327
343
  extern_uid: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
328
344
  external: Optional[pulumi.Input[Optional[_builtins.bool]]] = None,
345
+ humans: Optional[pulumi.Input[Optional[_builtins.bool]]] = None,
329
346
  order_by: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
330
347
  search: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
331
348
  sort: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
@@ -363,6 +380,7 @@ def get_users_output(active: Optional[pulumi.Input[Optional[_builtins.bool]]] =
363
380
  :param _builtins.str extern_provider: Lookup users by external provider. (Requires administrator privileges)
364
381
  :param _builtins.str extern_uid: Lookup users by external UID. (Requires administrator privileges)
365
382
  :param _builtins.bool external: Filters only external users.
383
+ :param _builtins.bool humans: Filters only regular users that are not bot or internal users.
366
384
  :param _builtins.str order_by: Order the users' list by `id`, `name`, `username`, `created_at` or `updated_at`. (Requires administrator privileges)
367
385
  :param _builtins.str search: Search users by username, name or email.
368
386
  :param _builtins.str sort: Sort users' list in asc or desc order. (Requires administrator privileges)
@@ -379,6 +397,7 @@ def get_users_output(active: Optional[pulumi.Input[Optional[_builtins.bool]]] =
379
397
  __args__['externProvider'] = extern_provider
380
398
  __args__['externUid'] = extern_uid
381
399
  __args__['external'] = external
400
+ __args__['humans'] = humans
382
401
  __args__['orderBy'] = order_by
383
402
  __args__['search'] = search
384
403
  __args__['sort'] = sort
@@ -396,6 +415,7 @@ def get_users_output(active: Optional[pulumi.Input[Optional[_builtins.bool]]] =
396
415
  extern_provider=pulumi.get(__response__, 'extern_provider'),
397
416
  extern_uid=pulumi.get(__response__, 'extern_uid'),
398
417
  external=pulumi.get(__response__, 'external'),
418
+ humans=pulumi.get(__response__, 'humans'),
399
419
  id=pulumi.get(__response__, 'id'),
400
420
  order_by=pulumi.get(__response__, 'order_by'),
401
421
  search=pulumi.get(__response__, 'search'),
@@ -636,7 +636,7 @@ class GlobalLevelNotifications(pulumi.CustomResource):
636
636
  """
637
637
  The `GlobalLevelNotifications` resource allows to manage global notifications.
638
638
 
639
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings)
639
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#get-group-or-project-notification-settings)
640
640
 
641
641
  ## Import
642
642
 
@@ -694,7 +694,7 @@ class GlobalLevelNotifications(pulumi.CustomResource):
694
694
  """
695
695
  The `GlobalLevelNotifications` resource allows to manage global notifications.
696
696
 
697
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings)
697
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#get-group-or-project-notification-settings)
698
698
 
699
699
  ## Import
700
700