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
@@ -375,7 +375,7 @@ class ApplicationSettingsArgs:
375
375
  :param pulumi.Input[_builtins.int] decompress_archive_file_timeout: Default timeout for decompressing archived files, in seconds. Set to 0 to disable timeouts.
376
376
  :param pulumi.Input[_builtins.str] default_artifacts_expire_in: Set the default expiration time for each job’s artifacts.
377
377
  :param pulumi.Input[_builtins.str] default_branch_name: Instance-level custom initial branch name
378
- :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2.
378
+ :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `default_branch_protection_defaults` instead. To be removed in 19.0.
379
379
  :param pulumi.Input['ApplicationSettingsDefaultBranchProtectionDefaultsArgs'] default_branch_protection_defaults: The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional.
380
380
  :param pulumi.Input[_builtins.str] default_ci_config_path: Default CI/CD configuration file and path for new projects (.gitlab-ci.yml if not set).
381
381
  :param pulumi.Input[_builtins.str] default_group_visibility: What visibility level new groups receive. Can take private, internal and public as a parameter.
@@ -727,6 +727,9 @@ class ApplicationSettingsArgs:
727
727
  pulumi.set(__self__, "default_artifacts_expire_in", default_artifacts_expire_in)
728
728
  if default_branch_name is not None:
729
729
  pulumi.set(__self__, "default_branch_name", default_branch_name)
730
+ if default_branch_protection is not None:
731
+ warnings.warn("""Use `default_branch_protection_defaults` instead. To be removed in 19.0.""", DeprecationWarning)
732
+ pulumi.log.warn("""default_branch_protection is deprecated: Use `default_branch_protection_defaults` instead. To be removed in 19.0.""")
730
733
  if default_branch_protection is not None:
731
734
  pulumi.set(__self__, "default_branch_protection", default_branch_protection)
732
735
  if default_branch_protection_defaults is not None:
@@ -1794,9 +1797,10 @@ class ApplicationSettingsArgs:
1794
1797
 
1795
1798
  @_builtins.property
1796
1799
  @pulumi.getter(name="defaultBranchProtection")
1800
+ @_utilities.deprecated("""Use `default_branch_protection_defaults` instead. To be removed in 19.0.""")
1797
1801
  def default_branch_protection(self) -> Optional[pulumi.Input[_builtins.int]]:
1798
1802
  """
1799
- Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2.
1803
+ Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `default_branch_protection_defaults` instead. To be removed in 19.0.
1800
1804
  """
1801
1805
  return pulumi.get(self, "default_branch_protection")
1802
1806
 
@@ -5293,7 +5297,7 @@ class _ApplicationSettingsState:
5293
5297
  :param pulumi.Input[_builtins.int] decompress_archive_file_timeout: Default timeout for decompressing archived files, in seconds. Set to 0 to disable timeouts.
5294
5298
  :param pulumi.Input[_builtins.str] default_artifacts_expire_in: Set the default expiration time for each job’s artifacts.
5295
5299
  :param pulumi.Input[_builtins.str] default_branch_name: Instance-level custom initial branch name
5296
- :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2.
5300
+ :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `default_branch_protection_defaults` instead. To be removed in 19.0.
5297
5301
  :param pulumi.Input['ApplicationSettingsDefaultBranchProtectionDefaultsArgs'] default_branch_protection_defaults: The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional.
5298
5302
  :param pulumi.Input[_builtins.str] default_ci_config_path: Default CI/CD configuration file and path for new projects (.gitlab-ci.yml if not set).
5299
5303
  :param pulumi.Input[_builtins.str] default_group_visibility: What visibility level new groups receive. Can take private, internal and public as a parameter.
@@ -5647,6 +5651,9 @@ class _ApplicationSettingsState:
5647
5651
  pulumi.set(__self__, "default_artifacts_expire_in", default_artifacts_expire_in)
5648
5652
  if default_branch_name is not None:
5649
5653
  pulumi.set(__self__, "default_branch_name", default_branch_name)
5654
+ if default_branch_protection is not None:
5655
+ warnings.warn("""Use `default_branch_protection_defaults` instead. To be removed in 19.0.""", DeprecationWarning)
5656
+ pulumi.log.warn("""default_branch_protection is deprecated: Use `default_branch_protection_defaults` instead. To be removed in 19.0.""")
5650
5657
  if default_branch_protection is not None:
5651
5658
  pulumi.set(__self__, "default_branch_protection", default_branch_protection)
5652
5659
  if default_branch_protection_defaults is not None:
@@ -6718,9 +6725,10 @@ class _ApplicationSettingsState:
6718
6725
 
6719
6726
  @_builtins.property
6720
6727
  @pulumi.getter(name="defaultBranchProtection")
6728
+ @_utilities.deprecated("""Use `default_branch_protection_defaults` instead. To be removed in 19.0.""")
6721
6729
  def default_branch_protection(self) -> Optional[pulumi.Input[_builtins.int]]:
6722
6730
  """
6723
- Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2.
6731
+ Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `default_branch_protection_defaults` instead. To be removed in 19.0.
6724
6732
  """
6725
6733
  return pulumi.get(self, "default_branch_protection")
6726
6734
 
@@ -10246,7 +10254,7 @@ class ApplicationSettings(pulumi.CustomResource):
10246
10254
  :param pulumi.Input[_builtins.int] decompress_archive_file_timeout: Default timeout for decompressing archived files, in seconds. Set to 0 to disable timeouts.
10247
10255
  :param pulumi.Input[_builtins.str] default_artifacts_expire_in: Set the default expiration time for each job’s artifacts.
10248
10256
  :param pulumi.Input[_builtins.str] default_branch_name: Instance-level custom initial branch name
10249
- :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2.
10257
+ :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `default_branch_protection_defaults` instead. To be removed in 19.0.
10250
10258
  :param pulumi.Input[Union['ApplicationSettingsDefaultBranchProtectionDefaultsArgs', 'ApplicationSettingsDefaultBranchProtectionDefaultsArgsDict']] default_branch_protection_defaults: The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional.
10251
10259
  :param pulumi.Input[_builtins.str] default_ci_config_path: Default CI/CD configuration file and path for new projects (.gitlab-ci.yml if not set).
10252
10260
  :param pulumi.Input[_builtins.str] default_group_visibility: What visibility level new groups receive. Can take private, internal and public as a parameter.
@@ -11530,7 +11538,7 @@ class ApplicationSettings(pulumi.CustomResource):
11530
11538
  :param pulumi.Input[_builtins.int] decompress_archive_file_timeout: Default timeout for decompressing archived files, in seconds. Set to 0 to disable timeouts.
11531
11539
  :param pulumi.Input[_builtins.str] default_artifacts_expire_in: Set the default expiration time for each job’s artifacts.
11532
11540
  :param pulumi.Input[_builtins.str] default_branch_name: Instance-level custom initial branch name
11533
- :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2.
11541
+ :param pulumi.Input[_builtins.int] default_branch_protection: Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `default_branch_protection_defaults` instead. To be removed in 19.0.
11534
11542
  :param pulumi.Input[Union['ApplicationSettingsDefaultBranchProtectionDefaultsArgs', 'ApplicationSettingsDefaultBranchProtectionDefaultsArgsDict']] default_branch_protection_defaults: The default*branch*protection*defaults attribute describes the default branch protection defaults. All parameters are optional.
11535
11543
  :param pulumi.Input[_builtins.str] default_ci_config_path: Default CI/CD configuration file and path for new projects (.gitlab-ci.yml if not set).
11536
11544
  :param pulumi.Input[_builtins.str] default_group_visibility: What visibility level new groups receive. Can take private, internal and public as a parameter.
@@ -12471,9 +12479,10 @@ class ApplicationSettings(pulumi.CustomResource):
12471
12479
 
12472
12480
  @_builtins.property
12473
12481
  @pulumi.getter(name="defaultBranchProtection")
12482
+ @_utilities.deprecated("""Use `default_branch_protection_defaults` instead. To be removed in 19.0.""")
12474
12483
  def default_branch_protection(self) -> pulumi.Output[_builtins.int]:
12475
12484
  """
12476
- Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2.
12485
+ Determine if developers can push to the default branch. Can take: 0 (not protected, both users with the Developer role or Maintainer role can push new commits and force push), 1 (partially protected, users with the Developer role or Maintainer role can push new commits, but cannot force push) or 2 (fully protected, users with the Developer or Maintainer role cannot push new commits, but users with the Developer or Maintainer role can; no one can force push) as a parameter. Default is 2. Use `default_branch_protection_defaults` instead. To be removed in 19.0.
12477
12486
  """
12478
12487
  return pulumi.get(self, "default_branch_protection")
12479
12488
 
pulumi_gitlab/branch.py CHANGED
@@ -538,7 +538,7 @@ class Branch(pulumi.CustomResource):
538
538
 
539
539
  @_builtins.property
540
540
  @pulumi.getter(name="keepOnDestroy")
541
- def keep_on_destroy(self) -> pulumi.Output[Optional[_builtins.bool]]:
541
+ def keep_on_destroy(self) -> pulumi.Output[_builtins.bool]:
542
542
  """
543
543
  Indicates whether the branch is kept once the resource destroyed (must be applied before a destroy).
544
544
  """
@@ -540,7 +540,7 @@ class ClusterAgentToken(pulumi.CustomResource):
540
540
 
541
541
  @_builtins.property
542
542
  @pulumi.getter
543
- def description(self) -> pulumi.Output[Optional[_builtins.str]]:
543
+ def description(self) -> pulumi.Output[_builtins.str]:
544
544
  """
545
545
  The Description for the agent.
546
546
  """
@@ -34,8 +34,23 @@ clientKey: Optional[str]
34
34
  File path to client key when GitLab instance is behind company proxy. File must contain PEM encoded data. Required when `client_cert` is set.
35
35
  """
36
36
 
37
+ configFile: Optional[str]
38
+ """
39
+ The path to the configuration file to use. It may be sourced from the `GITLAB_CONFIG_FILE` environment variable.
40
+ """
41
+
42
+ context: Optional[str]
43
+ """
44
+ The context to use for authentication and configuration. The context must exist in the configuration file. It may be sourced from the `GITLAB_CONTEXT` environment variable.
45
+ """
46
+
37
47
  earlyAuthCheck: Optional[bool]
38
48
 
49
+ enableAutoCiSupport: Optional[bool]
50
+ """
51
+ If automatic CI support should be enabled or not. This only works when not providing a token.
52
+ """
53
+
39
54
  headers: Optional[str]
40
55
  """
41
56
  A map of headers to append to all API request to the GitLab instance.
@@ -48,10 +48,31 @@ class _ExportableConfig(types.ModuleType):
48
48
  """
49
49
  return __config__.get('clientKey')
50
50
 
51
+ @_builtins.property
52
+ def config_file(self) -> Optional[str]:
53
+ """
54
+ The path to the configuration file to use. It may be sourced from the `GITLAB_CONFIG_FILE` environment variable.
55
+ """
56
+ return __config__.get('configFile')
57
+
58
+ @_builtins.property
59
+ def context(self) -> Optional[str]:
60
+ """
61
+ The context to use for authentication and configuration. The context must exist in the configuration file. It may be sourced from the `GITLAB_CONTEXT` environment variable.
62
+ """
63
+ return __config__.get('context')
64
+
51
65
  @_builtins.property
52
66
  def early_auth_check(self) -> Optional[bool]:
53
67
  return __config__.get_bool('earlyAuthCheck')
54
68
 
69
+ @_builtins.property
70
+ def enable_auto_ci_support(self) -> Optional[bool]:
71
+ """
72
+ If automatic CI support should be enabled or not. This only works when not providing a token.
73
+ """
74
+ return __config__.get_bool('enableAutoCiSupport')
75
+
55
76
  @_builtins.property
56
77
  def headers(self) -> Optional[str]:
57
78
  """
@@ -21,25 +21,17 @@ class DeployKeyEnableArgs:
21
21
  def __init__(__self__, *,
22
22
  key_id: pulumi.Input[_builtins.str],
23
23
  project: pulumi.Input[_builtins.str],
24
- can_push: Optional[pulumi.Input[_builtins.bool]] = None,
25
- key: Optional[pulumi.Input[_builtins.str]] = None,
26
- title: Optional[pulumi.Input[_builtins.str]] = None):
24
+ can_push: Optional[pulumi.Input[_builtins.bool]] = None):
27
25
  """
28
26
  The set of arguments for constructing a DeployKeyEnable resource.
29
27
  :param pulumi.Input[_builtins.str] key_id: The Gitlab key id for the pre-existing deploy key
30
28
  :param pulumi.Input[_builtins.str] project: The name or id of the project to add the deploy key to.
31
29
  :param pulumi.Input[_builtins.bool] can_push: Can deploy key push to the project's repository.
32
- :param pulumi.Input[_builtins.str] key: Deploy key.
33
- :param pulumi.Input[_builtins.str] title: Deploy key's title.
34
30
  """
35
31
  pulumi.set(__self__, "key_id", key_id)
36
32
  pulumi.set(__self__, "project", project)
37
33
  if can_push is not None:
38
34
  pulumi.set(__self__, "can_push", can_push)
39
- if key is not None:
40
- pulumi.set(__self__, "key", key)
41
- if title is not None:
42
- pulumi.set(__self__, "title", title)
43
35
 
44
36
  @_builtins.property
45
37
  @pulumi.getter(name="keyId")
@@ -77,30 +69,6 @@ class DeployKeyEnableArgs:
77
69
  def can_push(self, value: Optional[pulumi.Input[_builtins.bool]]):
78
70
  pulumi.set(self, "can_push", value)
79
71
 
80
- @_builtins.property
81
- @pulumi.getter
82
- def key(self) -> Optional[pulumi.Input[_builtins.str]]:
83
- """
84
- Deploy key.
85
- """
86
- return pulumi.get(self, "key")
87
-
88
- @key.setter
89
- def key(self, value: Optional[pulumi.Input[_builtins.str]]):
90
- pulumi.set(self, "key", value)
91
-
92
- @_builtins.property
93
- @pulumi.getter
94
- def title(self) -> Optional[pulumi.Input[_builtins.str]]:
95
- """
96
- Deploy key's title.
97
- """
98
- return pulumi.get(self, "title")
99
-
100
- @title.setter
101
- def title(self, value: Optional[pulumi.Input[_builtins.str]]):
102
- pulumi.set(self, "title", value)
103
-
104
72
 
105
73
  @pulumi.input_type
106
74
  class _DeployKeyEnableState:
@@ -197,10 +165,8 @@ class DeployKeyEnable(pulumi.CustomResource):
197
165
  resource_name: str,
198
166
  opts: Optional[pulumi.ResourceOptions] = None,
199
167
  can_push: Optional[pulumi.Input[_builtins.bool]] = None,
200
- key: Optional[pulumi.Input[_builtins.str]] = None,
201
168
  key_id: Optional[pulumi.Input[_builtins.str]] = None,
202
169
  project: Optional[pulumi.Input[_builtins.str]] = None,
203
- title: Optional[pulumi.Input[_builtins.str]] = None,
204
170
  __props__=None):
205
171
  """
206
172
  The `DeployKeyEnable` resource allows to enable an already existing deploy key (see `DeployKey resource`) for a specific project.
@@ -261,10 +227,8 @@ class DeployKeyEnable(pulumi.CustomResource):
261
227
  :param str resource_name: The name of the resource.
262
228
  :param pulumi.ResourceOptions opts: Options for the resource.
263
229
  :param pulumi.Input[_builtins.bool] can_push: Can deploy key push to the project's repository.
264
- :param pulumi.Input[_builtins.str] key: Deploy key.
265
230
  :param pulumi.Input[_builtins.str] key_id: The Gitlab key id for the pre-existing deploy key
266
231
  :param pulumi.Input[_builtins.str] project: The name or id of the project to add the deploy key to.
267
- :param pulumi.Input[_builtins.str] title: Deploy key's title.
268
232
  """
269
233
  ...
270
234
  @overload
@@ -344,10 +308,8 @@ class DeployKeyEnable(pulumi.CustomResource):
344
308
  resource_name: str,
345
309
  opts: Optional[pulumi.ResourceOptions] = None,
346
310
  can_push: Optional[pulumi.Input[_builtins.bool]] = None,
347
- key: Optional[pulumi.Input[_builtins.str]] = None,
348
311
  key_id: Optional[pulumi.Input[_builtins.str]] = None,
349
312
  project: Optional[pulumi.Input[_builtins.str]] = None,
350
- title: Optional[pulumi.Input[_builtins.str]] = None,
351
313
  __props__=None):
352
314
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
353
315
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -358,14 +320,14 @@ class DeployKeyEnable(pulumi.CustomResource):
358
320
  __props__ = DeployKeyEnableArgs.__new__(DeployKeyEnableArgs)
359
321
 
360
322
  __props__.__dict__["can_push"] = can_push
361
- __props__.__dict__["key"] = key
362
323
  if key_id is None and not opts.urn:
363
324
  raise TypeError("Missing required property 'key_id'")
364
325
  __props__.__dict__["key_id"] = key_id
365
326
  if project is None and not opts.urn:
366
327
  raise TypeError("Missing required property 'project'")
367
328
  __props__.__dict__["project"] = project
368
- __props__.__dict__["title"] = title
329
+ __props__.__dict__["key"] = None
330
+ __props__.__dict__["title"] = None
369
331
  super(DeployKeyEnable, __self__).__init__(
370
332
  'gitlab:index/deployKeyEnable:DeployKeyEnable',
371
333
  resource_name,
@@ -407,7 +369,7 @@ class DeployKeyEnable(pulumi.CustomResource):
407
369
 
408
370
  @_builtins.property
409
371
  @pulumi.getter(name="canPush")
410
- def can_push(self) -> pulumi.Output[Optional[_builtins.bool]]:
372
+ def can_push(self) -> pulumi.Output[_builtins.bool]:
411
373
  """
412
374
  Can deploy key push to the project's repository.
413
375
  """
@@ -27,7 +27,7 @@ class DeployTokenArgs:
27
27
  username: Optional[pulumi.Input[_builtins.str]] = None):
28
28
  """
29
29
  The set of arguments for constructing a DeployToken resource.
30
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: Valid values: `read_repository`, `read_registry`, `read_package_registry`, `write_registry`, `write_package_registry`.
30
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the deploy token. Valid values are: `read_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_package_registry`, `write_package_registry`
31
31
  :param pulumi.Input[_builtins.str] expires_at: Time the token will expire it, RFC3339 format. Will not expire per default.
32
32
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the deploy token to.
33
33
  :param pulumi.Input[_builtins.str] name: A name to describe the deploy token with.
@@ -50,7 +50,7 @@ class DeployTokenArgs:
50
50
  @pulumi.getter
51
51
  def scopes(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
52
52
  """
53
- Valid values: `read_repository`, `read_registry`, `read_package_registry`, `write_registry`, `write_package_registry`.
53
+ The scopes of the deploy token. Valid values are: `read_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_package_registry`, `write_package_registry`
54
54
  """
55
55
  return pulumi.get(self, "scopes")
56
56
 
@@ -137,7 +137,7 @@ class _DeployTokenState:
137
137
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the deploy token to.
138
138
  :param pulumi.Input[_builtins.str] name: A name to describe the deploy token with.
139
139
  :param pulumi.Input[_builtins.str] project: The name or id of the project to add the deploy token to.
140
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: Valid values: `read_repository`, `read_registry`, `read_package_registry`, `write_registry`, `write_package_registry`.
140
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the deploy token. Valid values are: `read_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_package_registry`, `write_package_registry`
141
141
  :param pulumi.Input[_builtins.str] token: The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources.
142
142
  :param pulumi.Input[_builtins.str] username: A username for the deploy token. Default is `gitlab+deploy-token-{n}`.
143
143
  """
@@ -222,7 +222,7 @@ class _DeployTokenState:
222
222
  @pulumi.getter
223
223
  def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
224
224
  """
225
- Valid values: `read_repository`, `read_registry`, `read_package_registry`, `write_registry`, `write_package_registry`.
225
+ The scopes of the deploy token. Valid values are: `read_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_package_registry`, `write_package_registry`
226
226
  """
227
227
  return pulumi.get(self, "scopes")
228
228
 
@@ -271,6 +271,8 @@ class DeployToken(pulumi.CustomResource):
271
271
  """
272
272
  The `DeployToken` resource allows to manage the lifecycle of group and project deploy tokens.
273
273
 
274
+ > This resource is deprecated and will be removed in 19.0. Use `ProjectDeployToken` or `GroupDeployToken` instead!
275
+
274
276
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/deploy_tokens/)
275
277
 
276
278
  ## Import
@@ -307,7 +309,7 @@ class DeployToken(pulumi.CustomResource):
307
309
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the deploy token to.
308
310
  :param pulumi.Input[_builtins.str] name: A name to describe the deploy token with.
309
311
  :param pulumi.Input[_builtins.str] project: The name or id of the project to add the deploy token to.
310
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: Valid values: `read_repository`, `read_registry`, `read_package_registry`, `write_registry`, `write_package_registry`.
312
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the deploy token. Valid values are: `read_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_package_registry`, `write_package_registry`
311
313
  :param pulumi.Input[_builtins.str] username: A username for the deploy token. Default is `gitlab+deploy-token-{n}`.
312
314
  """
313
315
  ...
@@ -319,6 +321,8 @@ class DeployToken(pulumi.CustomResource):
319
321
  """
320
322
  The `DeployToken` resource allows to manage the lifecycle of group and project deploy tokens.
321
323
 
324
+ > This resource is deprecated and will be removed in 19.0. Use `ProjectDeployToken` or `GroupDeployToken` instead!
325
+
322
326
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/deploy_tokens/)
323
327
 
324
328
  ## Import
@@ -421,7 +425,7 @@ class DeployToken(pulumi.CustomResource):
421
425
  :param pulumi.Input[_builtins.str] group: The name or id of the group to add the deploy token to.
422
426
  :param pulumi.Input[_builtins.str] name: A name to describe the deploy token with.
423
427
  :param pulumi.Input[_builtins.str] project: The name or id of the project to add the deploy token to.
424
- :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: Valid values: `read_repository`, `read_registry`, `read_package_registry`, `write_registry`, `write_package_registry`.
428
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] scopes: The scopes of the deploy token. Valid values are: `read_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_package_registry`, `write_package_registry`
425
429
  :param pulumi.Input[_builtins.str] token: The secret token. This is only populated when creating a new deploy token. **Note**: The token is not available for imported resources.
426
430
  :param pulumi.Input[_builtins.str] username: A username for the deploy token. Default is `gitlab+deploy-token-{n}`.
427
431
  """
@@ -483,7 +487,7 @@ class DeployToken(pulumi.CustomResource):
483
487
  @pulumi.getter
484
488
  def scopes(self) -> pulumi.Output[Sequence[_builtins.str]]:
485
489
  """
486
- Valid values: `read_repository`, `read_registry`, `read_package_registry`, `write_registry`, `write_package_registry`.
490
+ The scopes of the deploy token. Valid values are: `read_repository`, `read_registry`, `write_registry`, `read_virtual_registry`, `write_virtual_registry`, `read_package_registry`, `write_package_registry`
487
491
  """
488
492
  return pulumi.get(self, "scopes")
489
493
 
@@ -0,0 +1,266 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = [
18
+ 'GetArtifactFileResult',
19
+ 'AwaitableGetArtifactFileResult',
20
+ 'get_artifact_file',
21
+ 'get_artifact_file_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetArtifactFileResult:
26
+ """
27
+ A collection of values returned by getArtifactFile.
28
+ """
29
+ def __init__(__self__, artifact_path=None, content=None, content_base64=None, id=None, job=None, max_size_bytes=None, project=None, ref=None):
30
+ if artifact_path and not isinstance(artifact_path, str):
31
+ raise TypeError("Expected argument 'artifact_path' to be a str")
32
+ pulumi.set(__self__, "artifact_path", artifact_path)
33
+ if content and not isinstance(content, str):
34
+ raise TypeError("Expected argument 'content' to be a str")
35
+ pulumi.set(__self__, "content", content)
36
+ if content_base64 and not isinstance(content_base64, str):
37
+ raise TypeError("Expected argument 'content_base64' to be a str")
38
+ pulumi.set(__self__, "content_base64", content_base64)
39
+ if id and not isinstance(id, str):
40
+ raise TypeError("Expected argument 'id' to be a str")
41
+ pulumi.set(__self__, "id", id)
42
+ if job and not isinstance(job, str):
43
+ raise TypeError("Expected argument 'job' to be a str")
44
+ pulumi.set(__self__, "job", job)
45
+ if max_size_bytes and not isinstance(max_size_bytes, int):
46
+ raise TypeError("Expected argument 'max_size_bytes' to be a int")
47
+ pulumi.set(__self__, "max_size_bytes", max_size_bytes)
48
+ if project and not isinstance(project, str):
49
+ raise TypeError("Expected argument 'project' to be a str")
50
+ pulumi.set(__self__, "project", project)
51
+ if ref and not isinstance(ref, str):
52
+ raise TypeError("Expected argument 'ref' to be a str")
53
+ pulumi.set(__self__, "ref", ref)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter(name="artifactPath")
57
+ def artifact_path(self) -> _builtins.str:
58
+ """
59
+ Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `get_artifact_file` data source in your configuration uses a unique artifact_path to avoid ambiguity.
60
+ """
61
+ return pulumi.get(self, "artifact_path")
62
+
63
+ @_builtins.property
64
+ @pulumi.getter
65
+ def content(self) -> _builtins.str:
66
+ """
67
+ The content of the artifact file as a UTF-8 string. Use `content_base64` for binary files.
68
+ """
69
+ return pulumi.get(self, "content")
70
+
71
+ @_builtins.property
72
+ @pulumi.getter(name="contentBase64")
73
+ def content_base64(self) -> _builtins.str:
74
+ """
75
+ The content of the artifact file as a base64-encoded string. Useful for binary files.
76
+ """
77
+ return pulumi.get(self, "content_base64")
78
+
79
+ @_builtins.property
80
+ @pulumi.getter
81
+ def id(self) -> _builtins.str:
82
+ """
83
+ The ID of this datasource. In the format `<project>:<ref>:<job>:<artifact_path>`.
84
+ """
85
+ return pulumi.get(self, "id")
86
+
87
+ @_builtins.property
88
+ @pulumi.getter
89
+ def job(self) -> _builtins.str:
90
+ """
91
+ The name of the job.
92
+ """
93
+ return pulumi.get(self, "job")
94
+
95
+ @_builtins.property
96
+ @pulumi.getter(name="maxSizeBytes")
97
+ def max_size_bytes(self) -> Optional[_builtins.int]:
98
+ """
99
+ Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes).
100
+ """
101
+ return pulumi.get(self, "max_size_bytes")
102
+
103
+ @_builtins.property
104
+ @pulumi.getter
105
+ def project(self) -> _builtins.str:
106
+ """
107
+ The ID or URL-encoded path of the project.
108
+ """
109
+ return pulumi.get(self, "project")
110
+
111
+ @_builtins.property
112
+ @pulumi.getter
113
+ def ref(self) -> _builtins.str:
114
+ """
115
+ The name of the branch, tag, or commit SHA.
116
+ """
117
+ return pulumi.get(self, "ref")
118
+
119
+
120
+ class AwaitableGetArtifactFileResult(GetArtifactFileResult):
121
+ # pylint: disable=using-constant-test
122
+ def __await__(self):
123
+ if False:
124
+ yield self
125
+ return GetArtifactFileResult(
126
+ artifact_path=self.artifact_path,
127
+ content=self.content,
128
+ content_base64=self.content_base64,
129
+ id=self.id,
130
+ job=self.job,
131
+ max_size_bytes=self.max_size_bytes,
132
+ project=self.project,
133
+ ref=self.ref)
134
+
135
+
136
+ def get_artifact_file(artifact_path: Optional[_builtins.str] = None,
137
+ job: Optional[_builtins.str] = None,
138
+ max_size_bytes: Optional[_builtins.int] = None,
139
+ project: Optional[_builtins.str] = None,
140
+ ref: Optional[_builtins.str] = None,
141
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetArtifactFileResult:
142
+ """
143
+ The `get_artifact_file` data source allows downloading a single artifact file from a specific job in the latest successful pipeline for a given reference (branch, tag, or commit).
144
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/job_artifacts/#download-a-single-artifact-file-by-reference-name)
145
+
146
+ ## Example Usage
147
+
148
+ ```python
149
+ import pulumi
150
+ import pulumi_gitlab as gitlab
151
+
152
+ # Download a text artifact file from the latest successful pipeline
153
+ config = gitlab.get_artifact_file(project="namespace/myproject",
154
+ job="build-job",
155
+ ref="main",
156
+ artifact_path="config/settings.json")
157
+ pulumi.export("configContent", config.content)
158
+ # Download a binary artifact file using base64 encoding
159
+ binary = gitlab.get_artifact_file(project="namespace/myproject",
160
+ job="build-job",
161
+ ref="v1.0.0",
162
+ artifact_path="dist/app.zip")
163
+ pulumi.export("binaryContentBase64", binary.content_base64)
164
+ # Download artifact from a specific tag
165
+ release = gitlab.get_artifact_file(project="12345",
166
+ job="release-job",
167
+ ref="v2.1.0",
168
+ artifact_path="release-notes.txt")
169
+ # Download a larger artifact with custom size limit
170
+ large_artifact = gitlab.get_artifact_file(project="namespace/myproject",
171
+ job="build-job",
172
+ ref="main",
173
+ artifact_path="dist/large-file.zip",
174
+ max_size_bytes=20971520)
175
+ ```
176
+
177
+
178
+ :param _builtins.str artifact_path: Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `get_artifact_file` data source in your configuration uses a unique artifact_path to avoid ambiguity.
179
+ :param _builtins.str job: The name of the job.
180
+ :param _builtins.int max_size_bytes: Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes).
181
+ :param _builtins.str project: The ID or URL-encoded path of the project.
182
+ :param _builtins.str ref: The name of the branch, tag, or commit SHA.
183
+ """
184
+ __args__ = dict()
185
+ __args__['artifactPath'] = artifact_path
186
+ __args__['job'] = job
187
+ __args__['maxSizeBytes'] = max_size_bytes
188
+ __args__['project'] = project
189
+ __args__['ref'] = ref
190
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
191
+ __ret__ = pulumi.runtime.invoke('gitlab:index/getArtifactFile:getArtifactFile', __args__, opts=opts, typ=GetArtifactFileResult).value
192
+
193
+ return AwaitableGetArtifactFileResult(
194
+ artifact_path=pulumi.get(__ret__, 'artifact_path'),
195
+ content=pulumi.get(__ret__, 'content'),
196
+ content_base64=pulumi.get(__ret__, 'content_base64'),
197
+ id=pulumi.get(__ret__, 'id'),
198
+ job=pulumi.get(__ret__, 'job'),
199
+ max_size_bytes=pulumi.get(__ret__, 'max_size_bytes'),
200
+ project=pulumi.get(__ret__, 'project'),
201
+ ref=pulumi.get(__ret__, 'ref'))
202
+ def get_artifact_file_output(artifact_path: Optional[pulumi.Input[_builtins.str]] = None,
203
+ job: Optional[pulumi.Input[_builtins.str]] = None,
204
+ max_size_bytes: Optional[pulumi.Input[Optional[_builtins.int]]] = None,
205
+ project: Optional[pulumi.Input[_builtins.str]] = None,
206
+ ref: Optional[pulumi.Input[_builtins.str]] = None,
207
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetArtifactFileResult]:
208
+ """
209
+ The `get_artifact_file` data source allows downloading a single artifact file from a specific job in the latest successful pipeline for a given reference (branch, tag, or commit).
210
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/job_artifacts/#download-a-single-artifact-file-by-reference-name)
211
+
212
+ ## Example Usage
213
+
214
+ ```python
215
+ import pulumi
216
+ import pulumi_gitlab as gitlab
217
+
218
+ # Download a text artifact file from the latest successful pipeline
219
+ config = gitlab.get_artifact_file(project="namespace/myproject",
220
+ job="build-job",
221
+ ref="main",
222
+ artifact_path="config/settings.json")
223
+ pulumi.export("configContent", config.content)
224
+ # Download a binary artifact file using base64 encoding
225
+ binary = gitlab.get_artifact_file(project="namespace/myproject",
226
+ job="build-job",
227
+ ref="v1.0.0",
228
+ artifact_path="dist/app.zip")
229
+ pulumi.export("binaryContentBase64", binary.content_base64)
230
+ # Download artifact from a specific tag
231
+ release = gitlab.get_artifact_file(project="12345",
232
+ job="release-job",
233
+ ref="v2.1.0",
234
+ artifact_path="release-notes.txt")
235
+ # Download a larger artifact with custom size limit
236
+ large_artifact = gitlab.get_artifact_file(project="namespace/myproject",
237
+ job="build-job",
238
+ ref="main",
239
+ artifact_path="dist/large-file.zip",
240
+ max_size_bytes=20971520)
241
+ ```
242
+
243
+
244
+ :param _builtins.str artifact_path: Path to the artifact file within the job's artifacts archive. This path is relative to the archive contents (not the local filesystem). Ensure each `get_artifact_file` data source in your configuration uses a unique artifact_path to avoid ambiguity.
245
+ :param _builtins.str job: The name of the job.
246
+ :param _builtins.int max_size_bytes: Maximum bytes to read from the artifact. Defaults to 10MB (10485760 bytes).
247
+ :param _builtins.str project: The ID or URL-encoded path of the project.
248
+ :param _builtins.str ref: The name of the branch, tag, or commit SHA.
249
+ """
250
+ __args__ = dict()
251
+ __args__['artifactPath'] = artifact_path
252
+ __args__['job'] = job
253
+ __args__['maxSizeBytes'] = max_size_bytes
254
+ __args__['project'] = project
255
+ __args__['ref'] = ref
256
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
257
+ __ret__ = pulumi.runtime.invoke_output('gitlab:index/getArtifactFile:getArtifactFile', __args__, opts=opts, typ=GetArtifactFileResult)
258
+ return __ret__.apply(lambda __response__: GetArtifactFileResult(
259
+ artifact_path=pulumi.get(__response__, 'artifact_path'),
260
+ content=pulumi.get(__response__, 'content'),
261
+ content_base64=pulumi.get(__response__, 'content_base64'),
262
+ id=pulumi.get(__response__, 'id'),
263
+ job=pulumi.get(__response__, 'job'),
264
+ max_size_bytes=pulumi.get(__response__, 'max_size_bytes'),
265
+ project=pulumi.get(__response__, 'project'),
266
+ ref=pulumi.get(__response__, 'ref')))
@@ -106,7 +106,7 @@ class GetBranchResult:
106
106
  @pulumi.getter
107
107
  def id(self) -> _builtins.str:
108
108
  """
109
- The provider-assigned unique ID for this managed resource.
109
+ The ID of this datasource. In the format `<project:name>`.
110
110
  """
111
111
  return pulumi.get(self, "id")
112
112