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
@@ -25,7 +25,7 @@ class ProjectLabelArgs:
25
25
  name: Optional[pulumi.Input[_builtins.str]] = None):
26
26
  """
27
27
  The set of arguments for constructing a ProjectLabel resource.
28
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
28
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
29
29
  :param pulumi.Input[_builtins.str] project: The name or id of the project to add the label to.
30
30
  :param pulumi.Input[_builtins.str] description: The description of the label.
31
31
  :param pulumi.Input[_builtins.str] name: The name of the label.
@@ -41,7 +41,7 @@ class ProjectLabelArgs:
41
41
  @pulumi.getter
42
42
  def color(self) -> pulumi.Input[_builtins.str]:
43
43
  """
44
- The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
44
+ The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
45
45
  """
46
46
  return pulumi.get(self, "color")
47
47
 
@@ -97,7 +97,7 @@ class _ProjectLabelState:
97
97
  project: Optional[pulumi.Input[_builtins.str]] = None):
98
98
  """
99
99
  Input properties used for looking up and filtering ProjectLabel resources.
100
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
100
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
101
101
  :param pulumi.Input[_builtins.str] color_hex: Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`.
102
102
  :param pulumi.Input[_builtins.str] description: The description of the label.
103
103
  :param pulumi.Input[_builtins.int] label_id: The id of the project label.
@@ -121,7 +121,7 @@ class _ProjectLabelState:
121
121
  @pulumi.getter
122
122
  def color(self) -> Optional[pulumi.Input[_builtins.str]]:
123
123
  """
124
- The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
124
+ The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
125
125
  """
126
126
  return pulumi.get(self, "color")
127
127
 
@@ -242,15 +242,15 @@ class ProjectLabel(pulumi.CustomResource):
242
242
 
243
243
  Importing using the CLI is supported with the following syntax:
244
244
 
245
- Gitlab Project labels can be imported using an id made up of `{project_id}:{label_name}`, e.g.
245
+ Gitlab Project labels can be imported using an id made up of `{project_id}:{label_id}`, e.g.
246
246
 
247
247
  ```sh
248
- $ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:fixme
248
+ $ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:101010
249
249
  ```
250
250
 
251
251
  :param str resource_name: The name of the resource.
252
252
  :param pulumi.ResourceOptions opts: Options for the resource.
253
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
253
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
254
254
  :param pulumi.Input[_builtins.str] description: The description of the label.
255
255
  :param pulumi.Input[_builtins.str] name: The name of the label.
256
256
  :param pulumi.Input[_builtins.str] project: The name or id of the project to add the label to.
@@ -302,10 +302,10 @@ class ProjectLabel(pulumi.CustomResource):
302
302
 
303
303
  Importing using the CLI is supported with the following syntax:
304
304
 
305
- Gitlab Project labels can be imported using an id made up of `{project_id}:{label_name}`, e.g.
305
+ Gitlab Project labels can be imported using an id made up of `{project_id}:{label_id}`, e.g.
306
306
 
307
307
  ```sh
308
- $ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:fixme
308
+ $ pulumi import gitlab:index/projectLabel:ProjectLabel example 12345:101010
309
309
  ```
310
310
 
311
311
  :param str resource_name: The name of the resource.
@@ -369,7 +369,7 @@ class ProjectLabel(pulumi.CustomResource):
369
369
  :param str resource_name: The unique name of the resulting resource.
370
370
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
371
371
  :param pulumi.ResourceOptions opts: Options for the resource.
372
- :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
372
+ :param pulumi.Input[_builtins.str] color: The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
373
373
  :param pulumi.Input[_builtins.str] color_hex: Read-only, used by the provider to store the API response color. This is always in the 6-digit hex notation with leading '#' sign (e.g. #FFAABB). If `color` contains a color name, this attribute contains the hex notation equivalent. Otherwise, the value of this attribute is the same as `color`.
374
374
  :param pulumi.Input[_builtins.str] description: The description of the label.
375
375
  :param pulumi.Input[_builtins.int] label_id: The id of the project label.
@@ -392,7 +392,7 @@ class ProjectLabel(pulumi.CustomResource):
392
392
  @pulumi.getter
393
393
  def color(self) -> pulumi.Output[_builtins.str]:
394
394
  """
395
- The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Color_keywords).
395
+ The color of the label given in 6-digit hex notation with leading '#' sign (e.g. #FFAABB) or one of the [CSS color names](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/color_value#Color_keywords).
396
396
  """
397
397
  return pulumi.get(self, "color")
398
398
 
@@ -274,7 +274,7 @@ class ProjectLevelMrApprovals(pulumi.CustomResource):
274
274
 
275
275
  > This resource requires a GitLab Enterprise instance.
276
276
 
277
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#merge-request-level-mr-approvals)
277
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#approval-rules-for-a-merge-request)
278
278
 
279
279
  ## Example Usage
280
280
 
@@ -340,7 +340,7 @@ class ProjectLevelMrApprovals(pulumi.CustomResource):
340
340
 
341
341
  > This resource requires a GitLab Enterprise instance.
342
342
 
343
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#merge-request-level-mr-approvals)
343
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/merge_request_approvals/#approval-rules-for-a-merge-request)
344
344
 
345
345
  ## Example Usage
346
346
 
@@ -670,7 +670,7 @@ class ProjectLevelNotifications(pulumi.CustomResource):
670
670
 
671
671
  > While the API supports both groups and projects, this resource only supports projects currently.
672
672
 
673
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings)
673
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#get-group-or-project-notification-settings)
674
674
 
675
675
  ## Example Usage
676
676
 
@@ -748,7 +748,7 @@ class ProjectLevelNotifications(pulumi.CustomResource):
748
748
 
749
749
  > While the API supports both groups and projects, this resource only supports projects currently.
750
750
 
751
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings)
751
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/notification_settings/#get-group-or-project-notification-settings)
752
752
 
753
753
  ## Example Usage
754
754
 
@@ -206,7 +206,7 @@ class ProjectMembership(pulumi.CustomResource):
206
206
 
207
207
  > If a project should grant membership to an entire group use the `ProjectShareGroup` resource instead.
208
208
 
209
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/)
209
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_members/)
210
210
 
211
211
  ## Example Usage
212
212
 
@@ -266,7 +266,7 @@ class ProjectMembership(pulumi.CustomResource):
266
266
 
267
267
  > If a project should grant membership to an entire group use the `ProjectShareGroup` resource instead.
268
268
 
269
- **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/members/)
269
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/project_members/)
270
270
 
271
271
  ## Example Usage
272
272
 
@@ -285,10 +285,9 @@ class ProjectMirror(pulumi.CustomResource):
285
285
  url: Optional[pulumi.Input[_builtins.str]] = None,
286
286
  __props__=None):
287
287
  """
288
- The `ProjectMirror` resource allows to manage the lifecycle of a project mirror.
288
+ The `ProjectMirror` resource manages the lifecycle of a project mirror.
289
289
 
290
- This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured using a combination of the
291
- import_url, mirror, and mirror_trigger_builds properties on the Project resource.
290
+ This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource.
292
291
 
293
292
  > **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.
294
293
  If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
@@ -296,6 +295,8 @@ class ProjectMirror(pulumi.CustomResource):
296
295
 
297
296
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
298
297
 
298
+ This resource is deprecated in favor of `ProjectPushMirror` which is a rename. The alias will be removed in version 19.0.
299
+
299
300
  ## Example Usage
300
301
 
301
302
  ```python
@@ -346,10 +347,9 @@ class ProjectMirror(pulumi.CustomResource):
346
347
  args: ProjectMirrorArgs,
347
348
  opts: Optional[pulumi.ResourceOptions] = None):
348
349
  """
349
- The `ProjectMirror` resource allows to manage the lifecycle of a project mirror.
350
+ The `ProjectMirror` resource manages the lifecycle of a project mirror.
350
351
 
351
- This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured using a combination of the
352
- import_url, mirror, and mirror_trigger_builds properties on the Project resource.
352
+ This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource.
353
353
 
354
354
  > **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.
355
355
  If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
@@ -357,6 +357,8 @@ class ProjectMirror(pulumi.CustomResource):
357
357
 
358
358
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
359
359
 
360
+ This resource is deprecated in favor of `ProjectPushMirror` which is a rename. The alias will be removed in version 19.0.
361
+
360
362
  ## Example Usage
361
363
 
362
364
  ```python
@@ -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
+