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,446 @@
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__ = ['ProjectPackageDependencyProxyArgs', 'ProjectPackageDependencyProxy']
18
+
19
+ @pulumi.input_type
20
+ class ProjectPackageDependencyProxyArgs:
21
+ def __init__(__self__, *,
22
+ project: pulumi.Input[_builtins.str],
23
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
24
+ maven_external_registry_password: Optional[pulumi.Input[_builtins.str]] = None,
25
+ maven_external_registry_url: Optional[pulumi.Input[_builtins.str]] = None,
26
+ maven_external_registry_username: Optional[pulumi.Input[_builtins.str]] = None):
27
+ """
28
+ The set of arguments for constructing a ProjectPackageDependencyProxy resource.
29
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
30
+ :param pulumi.Input[_builtins.bool] enabled: Indicates whether the dependency proxy is enabled for packages.
31
+ :param pulumi.Input[_builtins.str] maven_external_registry_password: The password to authenticate with the external Maven registry. Must be set together with `maven_external_registry_username`. Cannot be imported.
32
+ :param pulumi.Input[_builtins.str] maven_external_registry_url: The URL of the external Maven registry.
33
+ :param pulumi.Input[_builtins.str] maven_external_registry_username: The username to authenticate with the external Maven registry. Must be set together with `maven_external_registry_password`.
34
+ """
35
+ pulumi.set(__self__, "project", project)
36
+ if enabled is not None:
37
+ pulumi.set(__self__, "enabled", enabled)
38
+ if maven_external_registry_password is not None:
39
+ pulumi.set(__self__, "maven_external_registry_password", maven_external_registry_password)
40
+ if maven_external_registry_url is not None:
41
+ pulumi.set(__self__, "maven_external_registry_url", maven_external_registry_url)
42
+ if maven_external_registry_username is not None:
43
+ pulumi.set(__self__, "maven_external_registry_username", maven_external_registry_username)
44
+
45
+ @_builtins.property
46
+ @pulumi.getter
47
+ def project(self) -> pulumi.Input[_builtins.str]:
48
+ """
49
+ The ID or URL-encoded path of the project.
50
+ """
51
+ return pulumi.get(self, "project")
52
+
53
+ @project.setter
54
+ def project(self, value: pulumi.Input[_builtins.str]):
55
+ pulumi.set(self, "project", value)
56
+
57
+ @_builtins.property
58
+ @pulumi.getter
59
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
60
+ """
61
+ Indicates whether the dependency proxy is enabled for packages.
62
+ """
63
+ return pulumi.get(self, "enabled")
64
+
65
+ @enabled.setter
66
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
67
+ pulumi.set(self, "enabled", value)
68
+
69
+ @_builtins.property
70
+ @pulumi.getter(name="mavenExternalRegistryPassword")
71
+ def maven_external_registry_password(self) -> Optional[pulumi.Input[_builtins.str]]:
72
+ """
73
+ The password to authenticate with the external Maven registry. Must be set together with `maven_external_registry_username`. Cannot be imported.
74
+ """
75
+ return pulumi.get(self, "maven_external_registry_password")
76
+
77
+ @maven_external_registry_password.setter
78
+ def maven_external_registry_password(self, value: Optional[pulumi.Input[_builtins.str]]):
79
+ pulumi.set(self, "maven_external_registry_password", value)
80
+
81
+ @_builtins.property
82
+ @pulumi.getter(name="mavenExternalRegistryUrl")
83
+ def maven_external_registry_url(self) -> Optional[pulumi.Input[_builtins.str]]:
84
+ """
85
+ The URL of the external Maven registry.
86
+ """
87
+ return pulumi.get(self, "maven_external_registry_url")
88
+
89
+ @maven_external_registry_url.setter
90
+ def maven_external_registry_url(self, value: Optional[pulumi.Input[_builtins.str]]):
91
+ pulumi.set(self, "maven_external_registry_url", value)
92
+
93
+ @_builtins.property
94
+ @pulumi.getter(name="mavenExternalRegistryUsername")
95
+ def maven_external_registry_username(self) -> Optional[pulumi.Input[_builtins.str]]:
96
+ """
97
+ The username to authenticate with the external Maven registry. Must be set together with `maven_external_registry_password`.
98
+ """
99
+ return pulumi.get(self, "maven_external_registry_username")
100
+
101
+ @maven_external_registry_username.setter
102
+ def maven_external_registry_username(self, value: Optional[pulumi.Input[_builtins.str]]):
103
+ pulumi.set(self, "maven_external_registry_username", value)
104
+
105
+
106
+ @pulumi.input_type
107
+ class _ProjectPackageDependencyProxyState:
108
+ def __init__(__self__, *,
109
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
110
+ maven_external_registry_password: Optional[pulumi.Input[_builtins.str]] = None,
111
+ maven_external_registry_url: Optional[pulumi.Input[_builtins.str]] = None,
112
+ maven_external_registry_username: Optional[pulumi.Input[_builtins.str]] = None,
113
+ project: Optional[pulumi.Input[_builtins.str]] = None):
114
+ """
115
+ Input properties used for looking up and filtering ProjectPackageDependencyProxy resources.
116
+ :param pulumi.Input[_builtins.bool] enabled: Indicates whether the dependency proxy is enabled for packages.
117
+ :param pulumi.Input[_builtins.str] maven_external_registry_password: The password to authenticate with the external Maven registry. Must be set together with `maven_external_registry_username`. Cannot be imported.
118
+ :param pulumi.Input[_builtins.str] maven_external_registry_url: The URL of the external Maven registry.
119
+ :param pulumi.Input[_builtins.str] maven_external_registry_username: The username to authenticate with the external Maven registry. Must be set together with `maven_external_registry_password`.
120
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
121
+ """
122
+ if enabled is not None:
123
+ pulumi.set(__self__, "enabled", enabled)
124
+ if maven_external_registry_password is not None:
125
+ pulumi.set(__self__, "maven_external_registry_password", maven_external_registry_password)
126
+ if maven_external_registry_url is not None:
127
+ pulumi.set(__self__, "maven_external_registry_url", maven_external_registry_url)
128
+ if maven_external_registry_username is not None:
129
+ pulumi.set(__self__, "maven_external_registry_username", maven_external_registry_username)
130
+ if project is not None:
131
+ pulumi.set(__self__, "project", project)
132
+
133
+ @_builtins.property
134
+ @pulumi.getter
135
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
136
+ """
137
+ Indicates whether the dependency proxy is enabled for packages.
138
+ """
139
+ return pulumi.get(self, "enabled")
140
+
141
+ @enabled.setter
142
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
143
+ pulumi.set(self, "enabled", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter(name="mavenExternalRegistryPassword")
147
+ def maven_external_registry_password(self) -> Optional[pulumi.Input[_builtins.str]]:
148
+ """
149
+ The password to authenticate with the external Maven registry. Must be set together with `maven_external_registry_username`. Cannot be imported.
150
+ """
151
+ return pulumi.get(self, "maven_external_registry_password")
152
+
153
+ @maven_external_registry_password.setter
154
+ def maven_external_registry_password(self, value: Optional[pulumi.Input[_builtins.str]]):
155
+ pulumi.set(self, "maven_external_registry_password", value)
156
+
157
+ @_builtins.property
158
+ @pulumi.getter(name="mavenExternalRegistryUrl")
159
+ def maven_external_registry_url(self) -> Optional[pulumi.Input[_builtins.str]]:
160
+ """
161
+ The URL of the external Maven registry.
162
+ """
163
+ return pulumi.get(self, "maven_external_registry_url")
164
+
165
+ @maven_external_registry_url.setter
166
+ def maven_external_registry_url(self, value: Optional[pulumi.Input[_builtins.str]]):
167
+ pulumi.set(self, "maven_external_registry_url", value)
168
+
169
+ @_builtins.property
170
+ @pulumi.getter(name="mavenExternalRegistryUsername")
171
+ def maven_external_registry_username(self) -> Optional[pulumi.Input[_builtins.str]]:
172
+ """
173
+ The username to authenticate with the external Maven registry. Must be set together with `maven_external_registry_password`.
174
+ """
175
+ return pulumi.get(self, "maven_external_registry_username")
176
+
177
+ @maven_external_registry_username.setter
178
+ def maven_external_registry_username(self, value: Optional[pulumi.Input[_builtins.str]]):
179
+ pulumi.set(self, "maven_external_registry_username", value)
180
+
181
+ @_builtins.property
182
+ @pulumi.getter
183
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
184
+ """
185
+ The ID or URL-encoded path of the project.
186
+ """
187
+ return pulumi.get(self, "project")
188
+
189
+ @project.setter
190
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
191
+ pulumi.set(self, "project", value)
192
+
193
+
194
+ @pulumi.type_token("gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy")
195
+ class ProjectPackageDependencyProxy(pulumi.CustomResource):
196
+ @overload
197
+ def __init__(__self__,
198
+ resource_name: str,
199
+ opts: Optional[pulumi.ResourceOptions] = None,
200
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
201
+ maven_external_registry_password: Optional[pulumi.Input[_builtins.str]] = None,
202
+ maven_external_registry_url: Optional[pulumi.Input[_builtins.str]] = None,
203
+ maven_external_registry_username: Optional[pulumi.Input[_builtins.str]] = None,
204
+ project: Optional[pulumi.Input[_builtins.str]] = None,
205
+ __props__=None):
206
+ """
207
+ The `ProjectPackageDependencyProxy` resource allows managing the project-level package dependency proxy for Maven packages.
208
+
209
+ This resource configures the external Maven registry settings for the dependency proxy, allowing packages to be cached and proxied through GitLab.
210
+
211
+ > This resource requires GitLab Premium or Ultimate and the packages and dependency proxy features to be enabled on the GitLab instance.
212
+
213
+ **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#mutationupdatedependencyproxypackagessettings)
214
+
215
+ ## Example Usage
216
+
217
+ ```python
218
+ import pulumi
219
+ import pulumi_gitlab as gitlab
220
+
221
+ # Configure the project package dependency proxy for Maven packages
222
+ example = gitlab.ProjectPackageDependencyProxy("example",
223
+ project=example_gitlab_project["id"],
224
+ enabled=True,
225
+ maven_external_registry_url="https://repo.maven.apache.org/maven2/")
226
+ # With authentication credentials for the external registry
227
+ authenticated = gitlab.ProjectPackageDependencyProxy("authenticated",
228
+ project=example_gitlab_project["id"],
229
+ enabled=True,
230
+ maven_external_registry_url="https://private-repo.example.com/maven/",
231
+ maven_external_registry_username="maven_user",
232
+ maven_external_registry_password=maven_registry_password)
233
+ ```
234
+
235
+ ## Import
236
+
237
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_package_dependency_proxy`. For example:
238
+
239
+ terraform
240
+
241
+ import {
242
+
243
+ to = gitlab_project_package_dependency_proxy.example
244
+
245
+ id = "see CLI command below for ID"
246
+
247
+ }
248
+
249
+ Importing using the CLI is supported with the following syntax:
250
+
251
+ You can import a project package dependency proxy using the project id. e.g. `{project-id}`
252
+
253
+ "maven_external_registry_password" will not populate when importing, but will still
254
+
255
+ be required in the configuration if credentials are used.
256
+
257
+ ```sh
258
+ $ pulumi import gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy example 42
259
+ ```
260
+
261
+ :param str resource_name: The name of the resource.
262
+ :param pulumi.ResourceOptions opts: Options for the resource.
263
+ :param pulumi.Input[_builtins.bool] enabled: Indicates whether the dependency proxy is enabled for packages.
264
+ :param pulumi.Input[_builtins.str] maven_external_registry_password: The password to authenticate with the external Maven registry. Must be set together with `maven_external_registry_username`. Cannot be imported.
265
+ :param pulumi.Input[_builtins.str] maven_external_registry_url: The URL of the external Maven registry.
266
+ :param pulumi.Input[_builtins.str] maven_external_registry_username: The username to authenticate with the external Maven registry. Must be set together with `maven_external_registry_password`.
267
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
268
+ """
269
+ ...
270
+ @overload
271
+ def __init__(__self__,
272
+ resource_name: str,
273
+ args: ProjectPackageDependencyProxyArgs,
274
+ opts: Optional[pulumi.ResourceOptions] = None):
275
+ """
276
+ The `ProjectPackageDependencyProxy` resource allows managing the project-level package dependency proxy for Maven packages.
277
+
278
+ This resource configures the external Maven registry settings for the dependency proxy, allowing packages to be cached and proxied through GitLab.
279
+
280
+ > This resource requires GitLab Premium or Ultimate and the packages and dependency proxy features to be enabled on the GitLab instance.
281
+
282
+ **Upstream API**: [GitLab GraphQL API docs](https://docs.gitlab.com/api/graphql/reference/#mutationupdatedependencyproxypackagessettings)
283
+
284
+ ## Example Usage
285
+
286
+ ```python
287
+ import pulumi
288
+ import pulumi_gitlab as gitlab
289
+
290
+ # Configure the project package dependency proxy for Maven packages
291
+ example = gitlab.ProjectPackageDependencyProxy("example",
292
+ project=example_gitlab_project["id"],
293
+ enabled=True,
294
+ maven_external_registry_url="https://repo.maven.apache.org/maven2/")
295
+ # With authentication credentials for the external registry
296
+ authenticated = gitlab.ProjectPackageDependencyProxy("authenticated",
297
+ project=example_gitlab_project["id"],
298
+ enabled=True,
299
+ maven_external_registry_url="https://private-repo.example.com/maven/",
300
+ maven_external_registry_username="maven_user",
301
+ maven_external_registry_password=maven_registry_password)
302
+ ```
303
+
304
+ ## Import
305
+
306
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_package_dependency_proxy`. For example:
307
+
308
+ terraform
309
+
310
+ import {
311
+
312
+ to = gitlab_project_package_dependency_proxy.example
313
+
314
+ id = "see CLI command below for ID"
315
+
316
+ }
317
+
318
+ Importing using the CLI is supported with the following syntax:
319
+
320
+ You can import a project package dependency proxy using the project id. e.g. `{project-id}`
321
+
322
+ "maven_external_registry_password" will not populate when importing, but will still
323
+
324
+ be required in the configuration if credentials are used.
325
+
326
+ ```sh
327
+ $ pulumi import gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy example 42
328
+ ```
329
+
330
+ :param str resource_name: The name of the resource.
331
+ :param ProjectPackageDependencyProxyArgs args: The arguments to use to populate this resource's properties.
332
+ :param pulumi.ResourceOptions opts: Options for the resource.
333
+ """
334
+ ...
335
+ def __init__(__self__, resource_name: str, *args, **kwargs):
336
+ resource_args, opts = _utilities.get_resource_args_opts(ProjectPackageDependencyProxyArgs, pulumi.ResourceOptions, *args, **kwargs)
337
+ if resource_args is not None:
338
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
339
+ else:
340
+ __self__._internal_init(resource_name, *args, **kwargs)
341
+
342
+ def _internal_init(__self__,
343
+ resource_name: str,
344
+ opts: Optional[pulumi.ResourceOptions] = None,
345
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
346
+ maven_external_registry_password: Optional[pulumi.Input[_builtins.str]] = None,
347
+ maven_external_registry_url: Optional[pulumi.Input[_builtins.str]] = None,
348
+ maven_external_registry_username: Optional[pulumi.Input[_builtins.str]] = None,
349
+ project: Optional[pulumi.Input[_builtins.str]] = None,
350
+ __props__=None):
351
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
352
+ if not isinstance(opts, pulumi.ResourceOptions):
353
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
354
+ if opts.id is None:
355
+ if __props__ is not None:
356
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
357
+ __props__ = ProjectPackageDependencyProxyArgs.__new__(ProjectPackageDependencyProxyArgs)
358
+
359
+ __props__.__dict__["enabled"] = enabled
360
+ __props__.__dict__["maven_external_registry_password"] = None if maven_external_registry_password is None else pulumi.Output.secret(maven_external_registry_password)
361
+ __props__.__dict__["maven_external_registry_url"] = maven_external_registry_url
362
+ __props__.__dict__["maven_external_registry_username"] = maven_external_registry_username
363
+ if project is None and not opts.urn:
364
+ raise TypeError("Missing required property 'project'")
365
+ __props__.__dict__["project"] = project
366
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["mavenExternalRegistryPassword"])
367
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
368
+ super(ProjectPackageDependencyProxy, __self__).__init__(
369
+ 'gitlab:index/projectPackageDependencyProxy:ProjectPackageDependencyProxy',
370
+ resource_name,
371
+ __props__,
372
+ opts)
373
+
374
+ @staticmethod
375
+ def get(resource_name: str,
376
+ id: pulumi.Input[str],
377
+ opts: Optional[pulumi.ResourceOptions] = None,
378
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
379
+ maven_external_registry_password: Optional[pulumi.Input[_builtins.str]] = None,
380
+ maven_external_registry_url: Optional[pulumi.Input[_builtins.str]] = None,
381
+ maven_external_registry_username: Optional[pulumi.Input[_builtins.str]] = None,
382
+ project: Optional[pulumi.Input[_builtins.str]] = None) -> 'ProjectPackageDependencyProxy':
383
+ """
384
+ Get an existing ProjectPackageDependencyProxy resource's state with the given name, id, and optional extra
385
+ properties used to qualify the lookup.
386
+
387
+ :param str resource_name: The unique name of the resulting resource.
388
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
389
+ :param pulumi.ResourceOptions opts: Options for the resource.
390
+ :param pulumi.Input[_builtins.bool] enabled: Indicates whether the dependency proxy is enabled for packages.
391
+ :param pulumi.Input[_builtins.str] maven_external_registry_password: The password to authenticate with the external Maven registry. Must be set together with `maven_external_registry_username`. Cannot be imported.
392
+ :param pulumi.Input[_builtins.str] maven_external_registry_url: The URL of the external Maven registry.
393
+ :param pulumi.Input[_builtins.str] maven_external_registry_username: The username to authenticate with the external Maven registry. Must be set together with `maven_external_registry_password`.
394
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
395
+ """
396
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
397
+
398
+ __props__ = _ProjectPackageDependencyProxyState.__new__(_ProjectPackageDependencyProxyState)
399
+
400
+ __props__.__dict__["enabled"] = enabled
401
+ __props__.__dict__["maven_external_registry_password"] = maven_external_registry_password
402
+ __props__.__dict__["maven_external_registry_url"] = maven_external_registry_url
403
+ __props__.__dict__["maven_external_registry_username"] = maven_external_registry_username
404
+ __props__.__dict__["project"] = project
405
+ return ProjectPackageDependencyProxy(resource_name, opts=opts, __props__=__props__)
406
+
407
+ @_builtins.property
408
+ @pulumi.getter
409
+ def enabled(self) -> pulumi.Output[_builtins.bool]:
410
+ """
411
+ Indicates whether the dependency proxy is enabled for packages.
412
+ """
413
+ return pulumi.get(self, "enabled")
414
+
415
+ @_builtins.property
416
+ @pulumi.getter(name="mavenExternalRegistryPassword")
417
+ def maven_external_registry_password(self) -> pulumi.Output[Optional[_builtins.str]]:
418
+ """
419
+ The password to authenticate with the external Maven registry. Must be set together with `maven_external_registry_username`. Cannot be imported.
420
+ """
421
+ return pulumi.get(self, "maven_external_registry_password")
422
+
423
+ @_builtins.property
424
+ @pulumi.getter(name="mavenExternalRegistryUrl")
425
+ def maven_external_registry_url(self) -> pulumi.Output[_builtins.str]:
426
+ """
427
+ The URL of the external Maven registry.
428
+ """
429
+ return pulumi.get(self, "maven_external_registry_url")
430
+
431
+ @_builtins.property
432
+ @pulumi.getter(name="mavenExternalRegistryUsername")
433
+ def maven_external_registry_username(self) -> pulumi.Output[Optional[_builtins.str]]:
434
+ """
435
+ The username to authenticate with the external Maven registry. Must be set together with `maven_external_registry_password`.
436
+ """
437
+ return pulumi.get(self, "maven_external_registry_username")
438
+
439
+ @_builtins.property
440
+ @pulumi.getter
441
+ def project(self) -> pulumi.Output[_builtins.str]:
442
+ """
443
+ The ID or URL-encoded path of the project.
444
+ """
445
+ return pulumi.get(self, "project")
446
+
@@ -31,7 +31,7 @@ class ProjectProtectedEnvironmentArgs:
31
31
  :param pulumi.Input[_builtins.str] environment: The name of the environment.
32
32
  :param pulumi.Input[_builtins.str] project: The ID or full path of the project which the protected environment is created against.
33
33
  :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentApprovalRuleArgs']]] approval_rules: Array of approval rules to deploy, with each described by a hash. Elements in the `approval_rules` should be one of `user_id`, `group_id` or `access_level`.
34
- :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
34
+ :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`. Use `deploy_access_levels_attribute` instead. To be removed in 19.0.
35
35
  :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs']]] deploy_access_levels_attributes: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
36
36
  """
37
37
  pulumi.set(__self__, "environment", environment)
@@ -39,8 +39,8 @@ class ProjectProtectedEnvironmentArgs:
39
39
  if approval_rules is not None:
40
40
  pulumi.set(__self__, "approval_rules", approval_rules)
41
41
  if deploy_access_levels is not None:
42
- warnings.warn("""This attribute is deprecated. Use `deploy_access_levels_attribute` instead.""", DeprecationWarning)
43
- pulumi.log.warn("""deploy_access_levels is deprecated: This attribute is deprecated. Use `deploy_access_levels_attribute` instead.""")
42
+ warnings.warn("""Use `deploy_access_levels_attribute` instead. To be removed in 19.0.""", DeprecationWarning)
43
+ pulumi.log.warn("""deploy_access_levels is deprecated: Use `deploy_access_levels_attribute` instead. To be removed in 19.0.""")
44
44
  if deploy_access_levels is not None:
45
45
  pulumi.set(__self__, "deploy_access_levels", deploy_access_levels)
46
46
  if deploy_access_levels_attributes is not None:
@@ -84,10 +84,10 @@ class ProjectProtectedEnvironmentArgs:
84
84
 
85
85
  @_builtins.property
86
86
  @pulumi.getter(name="deployAccessLevels")
87
- @_utilities.deprecated("""This attribute is deprecated. Use `deploy_access_levels_attribute` instead.""")
87
+ @_utilities.deprecated("""Use `deploy_access_levels_attribute` instead. To be removed in 19.0.""")
88
88
  def deploy_access_levels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]]:
89
89
  """
90
- Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
90
+ Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`. Use `deploy_access_levels_attribute` instead. To be removed in 19.0.
91
91
  """
92
92
  return pulumi.get(self, "deploy_access_levels")
93
93
 
@@ -119,7 +119,7 @@ class _ProjectProtectedEnvironmentState:
119
119
  """
120
120
  Input properties used for looking up and filtering ProjectProtectedEnvironment resources.
121
121
  :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentApprovalRuleArgs']]] approval_rules: Array of approval rules to deploy, with each described by a hash. Elements in the `approval_rules` should be one of `user_id`, `group_id` or `access_level`.
122
- :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
122
+ :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`. Use `deploy_access_levels_attribute` instead. To be removed in 19.0.
123
123
  :param pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs']]] deploy_access_levels_attributes: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
124
124
  :param pulumi.Input[_builtins.str] environment: The name of the environment.
125
125
  :param pulumi.Input[_builtins.str] project: The ID or full path of the project which the protected environment is created against.
@@ -127,8 +127,8 @@ class _ProjectProtectedEnvironmentState:
127
127
  if approval_rules is not None:
128
128
  pulumi.set(__self__, "approval_rules", approval_rules)
129
129
  if deploy_access_levels is not None:
130
- warnings.warn("""This attribute is deprecated. Use `deploy_access_levels_attribute` instead.""", DeprecationWarning)
131
- pulumi.log.warn("""deploy_access_levels is deprecated: This attribute is deprecated. Use `deploy_access_levels_attribute` instead.""")
130
+ warnings.warn("""Use `deploy_access_levels_attribute` instead. To be removed in 19.0.""", DeprecationWarning)
131
+ pulumi.log.warn("""deploy_access_levels is deprecated: Use `deploy_access_levels_attribute` instead. To be removed in 19.0.""")
132
132
  if deploy_access_levels is not None:
133
133
  pulumi.set(__self__, "deploy_access_levels", deploy_access_levels)
134
134
  if deploy_access_levels_attributes is not None:
@@ -152,10 +152,10 @@ class _ProjectProtectedEnvironmentState:
152
152
 
153
153
  @_builtins.property
154
154
  @pulumi.getter(name="deployAccessLevels")
155
- @_utilities.deprecated("""This attribute is deprecated. Use `deploy_access_levels_attribute` instead.""")
155
+ @_utilities.deprecated("""Use `deploy_access_levels_attribute` instead. To be removed in 19.0.""")
156
156
  def deploy_access_levels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ProjectProtectedEnvironmentDeployAccessLevelArgs']]]]:
157
157
  """
158
- Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
158
+ Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`. Use `deploy_access_levels_attribute` instead. To be removed in 19.0.
159
159
  """
160
160
  return pulumi.get(self, "deploy_access_levels")
161
161
 
@@ -248,7 +248,7 @@ class ProjectProtectedEnvironment(pulumi.CustomResource):
248
248
  :param str resource_name: The name of the resource.
249
249
  :param pulumi.ResourceOptions opts: Options for the resource.
250
250
  :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentApprovalRuleArgs', 'ProjectProtectedEnvironmentApprovalRuleArgsDict']]]] approval_rules: Array of approval rules to deploy, with each described by a hash. Elements in the `approval_rules` should be one of `user_id`, `group_id` or `access_level`.
251
- :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentDeployAccessLevelArgs', 'ProjectProtectedEnvironmentDeployAccessLevelArgsDict']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
251
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentDeployAccessLevelArgs', 'ProjectProtectedEnvironmentDeployAccessLevelArgsDict']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`. Use `deploy_access_levels_attribute` instead. To be removed in 19.0.
252
252
  :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs', 'ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgsDict']]]] deploy_access_levels_attributes: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
253
253
  :param pulumi.Input[_builtins.str] environment: The name of the environment.
254
254
  :param pulumi.Input[_builtins.str] project: The ID or full path of the project which the protected environment is created against.
@@ -353,7 +353,7 @@ class ProjectProtectedEnvironment(pulumi.CustomResource):
353
353
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
354
354
  :param pulumi.ResourceOptions opts: Options for the resource.
355
355
  :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentApprovalRuleArgs', 'ProjectProtectedEnvironmentApprovalRuleArgsDict']]]] approval_rules: Array of approval rules to deploy, with each described by a hash. Elements in the `approval_rules` should be one of `user_id`, `group_id` or `access_level`.
356
- :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentDeployAccessLevelArgs', 'ProjectProtectedEnvironmentDeployAccessLevelArgsDict']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
356
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentDeployAccessLevelArgs', 'ProjectProtectedEnvironmentDeployAccessLevelArgsDict']]]] deploy_access_levels: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`. Use `deploy_access_levels_attribute` instead. To be removed in 19.0.
357
357
  :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgs', 'ProjectProtectedEnvironmentDeployAccessLevelsAttributeArgsDict']]]] deploy_access_levels_attributes: Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
358
358
  :param pulumi.Input[_builtins.str] environment: The name of the environment.
359
359
  :param pulumi.Input[_builtins.str] project: The ID or full path of the project which the protected environment is created against.
@@ -379,10 +379,10 @@ class ProjectProtectedEnvironment(pulumi.CustomResource):
379
379
 
380
380
  @_builtins.property
381
381
  @pulumi.getter(name="deployAccessLevels")
382
- @_utilities.deprecated("""This attribute is deprecated. Use `deploy_access_levels_attribute` instead.""")
382
+ @_utilities.deprecated("""Use `deploy_access_levels_attribute` instead. To be removed in 19.0.""")
383
383
  def deploy_access_levels(self) -> pulumi.Output[Optional[Sequence['outputs.ProjectProtectedEnvironmentDeployAccessLevel']]]:
384
384
  """
385
- Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`.
385
+ Array of access levels allowed to deploy, with each described by a hash. Elements in the `deploy_access_levels` should be one of `user_id`, `group_id` or `access_level`. Use `deploy_access_levels_attribute` instead. To be removed in 19.0.
386
386
  """
387
387
  return pulumi.get(self, "deploy_access_levels")
388
388