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
pulumi_gitlab/outputs.py CHANGED
@@ -30,6 +30,7 @@ __all__ = [
30
30
  'GroupProtectedEnvironmentDeployAccessLevel',
31
31
  'GroupPushRules',
32
32
  'GroupServiceAccountAccessTokenRotationConfiguration',
33
+ 'GroupServiceAccountTimeouts',
33
34
  'InstanceServiceAccountTimeouts',
34
35
  'PersonalAccessTokenRotationConfiguration',
35
36
  'ProjectAccessTokenRotationConfiguration',
@@ -56,7 +57,10 @@ __all__ = [
56
57
  'GetGroupBillableMemberMembershipsMembershipResult',
57
58
  'GetGroupHooksHookResult',
58
59
  'GetGroupMembershipMemberResult',
60
+ 'GetGroupMembershipMemberGroupSamlIdentityResult',
59
61
  'GetGroupProvisionedUsersProvisionedUserResult',
62
+ 'GetGroupSamlLinksSamlLinkResult',
63
+ 'GetGroupServiceAccountAccessTokensAccessTokenResult',
60
64
  'GetGroupSharedWithGroupResult',
61
65
  'GetGroupSubgroupsSubgroupResult',
62
66
  'GetGroupVariablesVariableResult',
@@ -71,11 +75,15 @@ __all__ = [
71
75
  'GetPipelineSchedulesPipelineScheduleResult',
72
76
  'GetPipelineSchedulesPipelineScheduleOwnerResult',
73
77
  'GetProjectAccessTokensAccessTokenResult',
78
+ 'GetProjectApprovalRulesApprovalRuleResult',
74
79
  'GetProjectBranchesBranchResult',
75
80
  'GetProjectBranchesBranchCommitResult',
76
81
  'GetProjectContainerExpirationPolicyResult',
77
82
  'GetProjectEnvironmentsEnvironmentResult',
78
83
  'GetProjectHooksHookResult',
84
+ 'GetProjectIssueLabelEventsEventResult',
85
+ 'GetProjectIssueLabelEventsEventLabelResult',
86
+ 'GetProjectIssueLabelEventsEventUserResult',
79
87
  'GetProjectIssueTaskCompletionStatusResult',
80
88
  'GetProjectIssuesIssueResult',
81
89
  'GetProjectIssuesIssueTaskCompletionStatusResult',
@@ -97,6 +105,9 @@ __all__ = [
97
105
  'GetProjectProtectedTagsProtectedTagResult',
98
106
  'GetProjectProtectedTagsProtectedTagCreateAccessLevelResult',
99
107
  'GetProjectPushRuleResult',
108
+ 'GetProjectSecureFileMetadataResult',
109
+ 'GetProjectSecureFileMetadataIssuerResult',
110
+ 'GetProjectSecureFileMetadataSubjectResult',
100
111
  'GetProjectSharedWithGroupResult',
101
112
  'GetProjectTagCommitResult',
102
113
  'GetProjectTagReleaseResult',
@@ -117,6 +128,12 @@ __all__ = [
117
128
  'GetReleaseLinksReleaseLinkResult',
118
129
  'GetRepositoryTreeTreeResult',
119
130
  'GetRunnersRunnerResult',
131
+ 'GetSecurityPolicyDocumentScanExecutionPolicyResult',
132
+ 'GetSecurityPolicyDocumentScanExecutionPolicyActionResult',
133
+ 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult',
134
+ 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult',
135
+ 'GetSecurityPolicyDocumentScanExecutionPolicyRuleResult',
136
+ 'GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult',
120
137
  'GetUserSshkeysKeyResult',
121
138
  'GetUsersUserResult',
122
139
  ]
@@ -1367,6 +1384,25 @@ class GroupServiceAccountAccessTokenRotationConfiguration(dict):
1367
1384
  return pulumi.get(self, "expiration_days")
1368
1385
 
1369
1386
 
1387
+ @pulumi.output_type
1388
+ class GroupServiceAccountTimeouts(dict):
1389
+ def __init__(__self__, *,
1390
+ delete: Optional[_builtins.str] = None):
1391
+ """
1392
+ :param _builtins.str delete: How long to wait for the service account to be fully deleted. Defaults to 10 minutes.
1393
+ """
1394
+ if delete is not None:
1395
+ pulumi.set(__self__, "delete", delete)
1396
+
1397
+ @_builtins.property
1398
+ @pulumi.getter
1399
+ def delete(self) -> Optional[_builtins.str]:
1400
+ """
1401
+ How long to wait for the service account to be fully deleted. Defaults to 10 minutes.
1402
+ """
1403
+ return pulumi.get(self, "delete")
1404
+
1405
+
1370
1406
  @pulumi.output_type
1371
1407
  class InstanceServiceAccountTimeouts(dict):
1372
1408
  def __init__(__self__, *,
@@ -3499,7 +3535,7 @@ class GetGroupBillableMemberMembershipsMembershipResult(dict):
3499
3535
  source_id: _builtins.int,
3500
3536
  source_members_url: _builtins.str):
3501
3537
  """
3502
- :param _builtins.str access_level: Access-level of the member. For details see: https://docs.gitlab.com/api/access_requests/#valid-access-levels
3538
+ :param _builtins.str access_level: Access-level of the member. For details see: https://docs.gitlab.com/user/permissions/#default-roles
3503
3539
  :param _builtins.str created_at: Datetime when the membership was first added.
3504
3540
  :param _builtins.str expires_at: Date when the membership will end.
3505
3541
  :param _builtins.int id: The id of the membership.
@@ -3519,7 +3555,7 @@ class GetGroupBillableMemberMembershipsMembershipResult(dict):
3519
3555
  @pulumi.getter(name="accessLevel")
3520
3556
  def access_level(self) -> _builtins.str:
3521
3557
  """
3522
- Access-level of the member. For details see: https://docs.gitlab.com/api/access_requests/#valid-access-levels
3558
+ Access-level of the member. For details see: https://docs.gitlab.com/user/permissions/#default-roles
3523
3559
  """
3524
3560
  return pulumi.get(self, "access_level")
3525
3561
 
@@ -3596,6 +3632,7 @@ class GetGroupHooksHookResult(dict):
3596
3632
  tag_push_events: _builtins.bool,
3597
3633
  token: _builtins.str,
3598
3634
  url: _builtins.str,
3635
+ vulnerability_events: _builtins.bool,
3599
3636
  wiki_page_events: _builtins.bool):
3600
3637
  """
3601
3638
  :param _builtins.bool confidential_issues_events: Invoke the hook for confidential issues events.
@@ -3617,8 +3654,9 @@ class GetGroupHooksHookResult(dict):
3617
3654
  :param _builtins.bool releases_events: Invoke the hook for releases events.
3618
3655
  :param _builtins.bool subgroup_events: Invoke the hook for subgroup events.
3619
3656
  :param _builtins.bool tag_push_events: Invoke the hook for tag push events.
3620
- :param _builtins.str token: A token to present when invoking the hook. The token is not available for imported resources.
3657
+ :param _builtins.str token: A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.
3621
3658
  :param _builtins.str url: The url of the hook to invoke.
3659
+ :param _builtins.bool vulnerability_events: Invoke the hook for vulnerability events.
3622
3660
  :param _builtins.bool wiki_page_events: Invoke the hook for wiki page events.
3623
3661
  """
3624
3662
  pulumi.set(__self__, "confidential_issues_events", confidential_issues_events)
@@ -3642,6 +3680,7 @@ class GetGroupHooksHookResult(dict):
3642
3680
  pulumi.set(__self__, "tag_push_events", tag_push_events)
3643
3681
  pulumi.set(__self__, "token", token)
3644
3682
  pulumi.set(__self__, "url", url)
3683
+ pulumi.set(__self__, "vulnerability_events", vulnerability_events)
3645
3684
  pulumi.set(__self__, "wiki_page_events", wiki_page_events)
3646
3685
 
3647
3686
  @_builtins.property
@@ -3798,9 +3837,10 @@ class GetGroupHooksHookResult(dict):
3798
3837
 
3799
3838
  @_builtins.property
3800
3839
  @pulumi.getter
3840
+ @_utilities.deprecated("""The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.""")
3801
3841
  def token(self) -> _builtins.str:
3802
3842
  """
3803
- A token to present when invoking the hook. The token is not available for imported resources.
3843
+ A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.
3804
3844
  """
3805
3845
  return pulumi.get(self, "token")
3806
3846
 
@@ -3812,6 +3852,14 @@ class GetGroupHooksHookResult(dict):
3812
3852
  """
3813
3853
  return pulumi.get(self, "url")
3814
3854
 
3855
+ @_builtins.property
3856
+ @pulumi.getter(name="vulnerabilityEvents")
3857
+ def vulnerability_events(self) -> _builtins.bool:
3858
+ """
3859
+ Invoke the hook for vulnerability events.
3860
+ """
3861
+ return pulumi.get(self, "vulnerability_events")
3862
+
3815
3863
  @_builtins.property
3816
3864
  @pulumi.getter(name="wikiPageEvents")
3817
3865
  def wiki_page_events(self) -> _builtins.bool:
@@ -3827,6 +3875,7 @@ class GetGroupMembershipMemberResult(dict):
3827
3875
  access_level: _builtins.str,
3828
3876
  avatar_url: _builtins.str,
3829
3877
  expires_at: _builtins.str,
3878
+ group_saml_identity: 'outputs.GetGroupMembershipMemberGroupSamlIdentityResult',
3830
3879
  id: _builtins.int,
3831
3880
  name: _builtins.str,
3832
3881
  state: _builtins.str,
@@ -3836,6 +3885,7 @@ class GetGroupMembershipMemberResult(dict):
3836
3885
  :param _builtins.str access_level: The level of access to the group.
3837
3886
  :param _builtins.str avatar_url: The avatar URL of the user.
3838
3887
  :param _builtins.str expires_at: Expiration date for the group membership.
3888
+ :param 'GetGroupMembershipMemberGroupSamlIdentityArgs' group_saml_identity: SAML identity linked to the group member.
3839
3889
  :param _builtins.int id: The unique id assigned to the user by the gitlab server.
3840
3890
  :param _builtins.str name: The name of the user.
3841
3891
  :param _builtins.str state: Whether the user is active or blocked.
@@ -3845,6 +3895,7 @@ class GetGroupMembershipMemberResult(dict):
3845
3895
  pulumi.set(__self__, "access_level", access_level)
3846
3896
  pulumi.set(__self__, "avatar_url", avatar_url)
3847
3897
  pulumi.set(__self__, "expires_at", expires_at)
3898
+ pulumi.set(__self__, "group_saml_identity", group_saml_identity)
3848
3899
  pulumi.set(__self__, "id", id)
3849
3900
  pulumi.set(__self__, "name", name)
3850
3901
  pulumi.set(__self__, "state", state)
@@ -3875,6 +3926,14 @@ class GetGroupMembershipMemberResult(dict):
3875
3926
  """
3876
3927
  return pulumi.get(self, "expires_at")
3877
3928
 
3929
+ @_builtins.property
3930
+ @pulumi.getter(name="groupSamlIdentity")
3931
+ def group_saml_identity(self) -> 'outputs.GetGroupMembershipMemberGroupSamlIdentityResult':
3932
+ """
3933
+ SAML identity linked to the group member.
3934
+ """
3935
+ return pulumi.get(self, "group_saml_identity")
3936
+
3878
3937
  @_builtins.property
3879
3938
  @pulumi.getter
3880
3939
  def id(self) -> _builtins.int:
@@ -3916,6 +3975,46 @@ class GetGroupMembershipMemberResult(dict):
3916
3975
  return pulumi.get(self, "web_url")
3917
3976
 
3918
3977
 
3978
+ @pulumi.output_type
3979
+ class GetGroupMembershipMemberGroupSamlIdentityResult(dict):
3980
+ def __init__(__self__, *,
3981
+ extern_uid: _builtins.str,
3982
+ provider: _builtins.str,
3983
+ saml_provider_id: _builtins.int):
3984
+ """
3985
+ :param _builtins.str extern_uid: The external UID of the group SAML identity.
3986
+ :param _builtins.str provider: The provider of the SAML identity.
3987
+ :param _builtins.int saml_provider_id: The ID of the SAML provider.
3988
+ """
3989
+ pulumi.set(__self__, "extern_uid", extern_uid)
3990
+ pulumi.set(__self__, "provider", provider)
3991
+ pulumi.set(__self__, "saml_provider_id", saml_provider_id)
3992
+
3993
+ @_builtins.property
3994
+ @pulumi.getter(name="externUid")
3995
+ def extern_uid(self) -> _builtins.str:
3996
+ """
3997
+ The external UID of the group SAML identity.
3998
+ """
3999
+ return pulumi.get(self, "extern_uid")
4000
+
4001
+ @_builtins.property
4002
+ @pulumi.getter
4003
+ def provider(self) -> _builtins.str:
4004
+ """
4005
+ The provider of the SAML identity.
4006
+ """
4007
+ return pulumi.get(self, "provider")
4008
+
4009
+ @_builtins.property
4010
+ @pulumi.getter(name="samlProviderId")
4011
+ def saml_provider_id(self) -> _builtins.int:
4012
+ """
4013
+ The ID of the SAML provider.
4014
+ """
4015
+ return pulumi.get(self, "saml_provider_id")
4016
+
4017
+
3919
4018
  @pulumi.output_type
3920
4019
  class GetGroupProvisionedUsersProvisionedUserResult(dict):
3921
4020
  def __init__(__self__, *,
@@ -4198,6 +4297,100 @@ class GetGroupProvisionedUsersProvisionedUserResult(dict):
4198
4297
  return pulumi.get(self, "website_url")
4199
4298
 
4200
4299
 
4300
+ @pulumi.output_type
4301
+ class GetGroupSamlLinksSamlLinkResult(dict):
4302
+ def __init__(__self__, *,
4303
+ access_level: _builtins.str,
4304
+ member_role_id: _builtins.int,
4305
+ name: _builtins.str):
4306
+ """
4307
+ :param _builtins.str access_level: The base access level for members of the SAML group.
4308
+ :param _builtins.int member_role_id: Member Role ID (custom role for members of the SAML group.
4309
+ :param _builtins.str name: Name of the SAML group.
4310
+ """
4311
+ pulumi.set(__self__, "access_level", access_level)
4312
+ pulumi.set(__self__, "member_role_id", member_role_id)
4313
+ pulumi.set(__self__, "name", name)
4314
+
4315
+ @_builtins.property
4316
+ @pulumi.getter(name="accessLevel")
4317
+ def access_level(self) -> _builtins.str:
4318
+ """
4319
+ The base access level for members of the SAML group.
4320
+ """
4321
+ return pulumi.get(self, "access_level")
4322
+
4323
+ @_builtins.property
4324
+ @pulumi.getter(name="memberRoleId")
4325
+ def member_role_id(self) -> _builtins.int:
4326
+ """
4327
+ Member Role ID (custom role for members of the SAML group.
4328
+ """
4329
+ return pulumi.get(self, "member_role_id")
4330
+
4331
+ @_builtins.property
4332
+ @pulumi.getter
4333
+ def name(self) -> _builtins.str:
4334
+ """
4335
+ Name of the SAML group.
4336
+ """
4337
+ return pulumi.get(self, "name")
4338
+
4339
+
4340
+ @pulumi.output_type
4341
+ class GetGroupServiceAccountAccessTokensAccessTokenResult(dict):
4342
+ def __init__(__self__, *,
4343
+ active: _builtins.bool,
4344
+ created_at: _builtins.str,
4345
+ expires_at: _builtins.str,
4346
+ id: _builtins.str,
4347
+ name: _builtins.str,
4348
+ revoked: _builtins.bool,
4349
+ scopes: Sequence[_builtins.str]):
4350
+ pulumi.set(__self__, "active", active)
4351
+ pulumi.set(__self__, "created_at", created_at)
4352
+ pulumi.set(__self__, "expires_at", expires_at)
4353
+ pulumi.set(__self__, "id", id)
4354
+ pulumi.set(__self__, "name", name)
4355
+ pulumi.set(__self__, "revoked", revoked)
4356
+ pulumi.set(__self__, "scopes", scopes)
4357
+
4358
+ @_builtins.property
4359
+ @pulumi.getter
4360
+ def active(self) -> _builtins.bool:
4361
+ return pulumi.get(self, "active")
4362
+
4363
+ @_builtins.property
4364
+ @pulumi.getter(name="createdAt")
4365
+ def created_at(self) -> _builtins.str:
4366
+ return pulumi.get(self, "created_at")
4367
+
4368
+ @_builtins.property
4369
+ @pulumi.getter(name="expiresAt")
4370
+ def expires_at(self) -> _builtins.str:
4371
+ return pulumi.get(self, "expires_at")
4372
+
4373
+ @_builtins.property
4374
+ @pulumi.getter
4375
+ def id(self) -> _builtins.str:
4376
+ return pulumi.get(self, "id")
4377
+
4378
+ @_builtins.property
4379
+ @pulumi.getter
4380
+ def name(self) -> _builtins.str:
4381
+ return pulumi.get(self, "name")
4382
+
4383
+ @_builtins.property
4384
+ @pulumi.getter
4385
+ def revoked(self) -> _builtins.bool:
4386
+ return pulumi.get(self, "revoked")
4387
+
4388
+ @_builtins.property
4389
+ @pulumi.getter
4390
+ def scopes(self) -> Sequence[_builtins.str]:
4391
+ return pulumi.get(self, "scopes")
4392
+
4393
+
4201
4394
  @pulumi.output_type
4202
4395
  class GetGroupSharedWithGroupResult(dict):
4203
4396
  def __init__(__self__, *,
@@ -4291,6 +4484,36 @@ class GetGroupSubgroupsSubgroupResult(dict):
4291
4484
  visibility: _builtins.str,
4292
4485
  web_url: _builtins.str,
4293
4486
  wiki_access_level: _builtins.str):
4487
+ """
4488
+ :param _builtins.str allowed_email_domains_list: A list of email address domains to allow group access.
4489
+ :param _builtins.bool auto_devops_enabled: Default to Auto DevOps pipeline for all projects within this group.
4490
+ :param _builtins.str avatar_url: The URL of the avatar image.
4491
+ :param _builtins.str created_at: Group created at date.
4492
+ :param _builtins.int default_branch_protection: Whether developers and maintainers can push to the applicable default branch.
4493
+ :param _builtins.str description: The description of the group.
4494
+ :param _builtins.bool emails_enabled: Enable email notifications.
4495
+ :param _builtins.int file_template_project_id: The ID of the project that will be used for file templates.
4496
+ :param _builtins.str full_name: The full name of the group.
4497
+ :param _builtins.str full_path: The full path of the group.
4498
+ :param _builtins.int group_id: The ID of the group.
4499
+ :param _builtins.str ip_restriction_ranges: A list of IP addresses or subnet masks to restrict group access.
4500
+ :param _builtins.bool lfs_enabled: Is LFS enabled for projects in this group.
4501
+ :param _builtins.bool mentions_disabled: Disable the capability of a group from getting mentioned.
4502
+ :param _builtins.str name: The name of this group.
4503
+ :param _builtins.int parent_id: ID of the parent group.
4504
+ :param _builtins.str path: The path of the group.
4505
+ :param _builtins.str project_creation_level: Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
4506
+ :param _builtins.bool request_access_enabled: Is request for access enabled to the group.
4507
+ :param _builtins.bool require_two_factor_authentication: Require all users in this group to setup Two-factor authentication.
4508
+ :param _builtins.bool share_with_group_lock: Prevent sharing a project with another group within this group.
4509
+ :param _builtins.str shared_runners_setting: Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabled_and_overridable`, `disabled_and_unoverridable`, `disabled_with_override`.
4510
+ :param Mapping[str, _builtins.str] statistics: Group statistics.
4511
+ :param _builtins.str subgroup_creation_level: Allowed to create subgroups. Valid values are: `owner`, `maintainer`.
4512
+ :param _builtins.int two_factor_grace_period: Time before Two-factor authentication is enforced (in hours).
4513
+ :param _builtins.str visibility: Limited by visibility `public`, `internal`, or `private`.
4514
+ :param _builtins.str web_url: Web URL of the group.
4515
+ :param _builtins.str wiki_access_level: The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`.
4516
+ """
4294
4517
  pulumi.set(__self__, "allowed_email_domains_list", allowed_email_domains_list)
4295
4518
  pulumi.set(__self__, "auto_devops_enabled", auto_devops_enabled)
4296
4519
  pulumi.set(__self__, "avatar_url", avatar_url)
@@ -4323,141 +4546,225 @@ class GetGroupSubgroupsSubgroupResult(dict):
4323
4546
  @_builtins.property
4324
4547
  @pulumi.getter(name="allowedEmailDomainsList")
4325
4548
  def allowed_email_domains_list(self) -> _builtins.str:
4549
+ """
4550
+ A list of email address domains to allow group access.
4551
+ """
4326
4552
  return pulumi.get(self, "allowed_email_domains_list")
4327
4553
 
4328
4554
  @_builtins.property
4329
4555
  @pulumi.getter(name="autoDevopsEnabled")
4330
4556
  def auto_devops_enabled(self) -> _builtins.bool:
4557
+ """
4558
+ Default to Auto DevOps pipeline for all projects within this group.
4559
+ """
4331
4560
  return pulumi.get(self, "auto_devops_enabled")
4332
4561
 
4333
4562
  @_builtins.property
4334
4563
  @pulumi.getter(name="avatarUrl")
4335
4564
  def avatar_url(self) -> _builtins.str:
4565
+ """
4566
+ The URL of the avatar image.
4567
+ """
4336
4568
  return pulumi.get(self, "avatar_url")
4337
4569
 
4338
4570
  @_builtins.property
4339
4571
  @pulumi.getter(name="createdAt")
4340
4572
  def created_at(self) -> _builtins.str:
4573
+ """
4574
+ Group created at date.
4575
+ """
4341
4576
  return pulumi.get(self, "created_at")
4342
4577
 
4343
4578
  @_builtins.property
4344
4579
  @pulumi.getter(name="defaultBranchProtection")
4345
4580
  def default_branch_protection(self) -> _builtins.int:
4581
+ """
4582
+ Whether developers and maintainers can push to the applicable default branch.
4583
+ """
4346
4584
  return pulumi.get(self, "default_branch_protection")
4347
4585
 
4348
4586
  @_builtins.property
4349
4587
  @pulumi.getter
4350
4588
  def description(self) -> _builtins.str:
4589
+ """
4590
+ The description of the group.
4591
+ """
4351
4592
  return pulumi.get(self, "description")
4352
4593
 
4353
4594
  @_builtins.property
4354
4595
  @pulumi.getter(name="emailsEnabled")
4355
4596
  def emails_enabled(self) -> _builtins.bool:
4597
+ """
4598
+ Enable email notifications.
4599
+ """
4356
4600
  return pulumi.get(self, "emails_enabled")
4357
4601
 
4358
4602
  @_builtins.property
4359
4603
  @pulumi.getter(name="fileTemplateProjectId")
4360
4604
  def file_template_project_id(self) -> _builtins.int:
4605
+ """
4606
+ The ID of the project that will be used for file templates.
4607
+ """
4361
4608
  return pulumi.get(self, "file_template_project_id")
4362
4609
 
4363
4610
  @_builtins.property
4364
4611
  @pulumi.getter(name="fullName")
4365
4612
  def full_name(self) -> _builtins.str:
4613
+ """
4614
+ The full name of the group.
4615
+ """
4366
4616
  return pulumi.get(self, "full_name")
4367
4617
 
4368
4618
  @_builtins.property
4369
4619
  @pulumi.getter(name="fullPath")
4370
4620
  def full_path(self) -> _builtins.str:
4621
+ """
4622
+ The full path of the group.
4623
+ """
4371
4624
  return pulumi.get(self, "full_path")
4372
4625
 
4373
4626
  @_builtins.property
4374
4627
  @pulumi.getter(name="groupId")
4375
4628
  def group_id(self) -> _builtins.int:
4629
+ """
4630
+ The ID of the group.
4631
+ """
4376
4632
  return pulumi.get(self, "group_id")
4377
4633
 
4378
4634
  @_builtins.property
4379
4635
  @pulumi.getter(name="ipRestrictionRanges")
4380
4636
  def ip_restriction_ranges(self) -> _builtins.str:
4637
+ """
4638
+ A list of IP addresses or subnet masks to restrict group access.
4639
+ """
4381
4640
  return pulumi.get(self, "ip_restriction_ranges")
4382
4641
 
4383
4642
  @_builtins.property
4384
4643
  @pulumi.getter(name="lfsEnabled")
4385
4644
  def lfs_enabled(self) -> _builtins.bool:
4645
+ """
4646
+ Is LFS enabled for projects in this group.
4647
+ """
4386
4648
  return pulumi.get(self, "lfs_enabled")
4387
4649
 
4388
4650
  @_builtins.property
4389
4651
  @pulumi.getter(name="mentionsDisabled")
4390
4652
  def mentions_disabled(self) -> _builtins.bool:
4653
+ """
4654
+ Disable the capability of a group from getting mentioned.
4655
+ """
4391
4656
  return pulumi.get(self, "mentions_disabled")
4392
4657
 
4393
4658
  @_builtins.property
4394
4659
  @pulumi.getter
4395
4660
  def name(self) -> _builtins.str:
4661
+ """
4662
+ The name of this group.
4663
+ """
4396
4664
  return pulumi.get(self, "name")
4397
4665
 
4398
4666
  @_builtins.property
4399
4667
  @pulumi.getter(name="parentId")
4400
4668
  def parent_id(self) -> _builtins.int:
4669
+ """
4670
+ ID of the parent group.
4671
+ """
4401
4672
  return pulumi.get(self, "parent_id")
4402
4673
 
4403
4674
  @_builtins.property
4404
4675
  @pulumi.getter
4405
4676
  def path(self) -> _builtins.str:
4677
+ """
4678
+ The path of the group.
4679
+ """
4406
4680
  return pulumi.get(self, "path")
4407
4681
 
4408
4682
  @_builtins.property
4409
4683
  @pulumi.getter(name="projectCreationLevel")
4410
4684
  def project_creation_level(self) -> _builtins.str:
4685
+ """
4686
+ Determine if developers can create projects in the group. Valid values are: `noone`, `owner`, `maintainer`, `developer`, `administrator`
4687
+ """
4411
4688
  return pulumi.get(self, "project_creation_level")
4412
4689
 
4413
4690
  @_builtins.property
4414
4691
  @pulumi.getter(name="requestAccessEnabled")
4415
4692
  def request_access_enabled(self) -> _builtins.bool:
4693
+ """
4694
+ Is request for access enabled to the group.
4695
+ """
4416
4696
  return pulumi.get(self, "request_access_enabled")
4417
4697
 
4418
4698
  @_builtins.property
4419
4699
  @pulumi.getter(name="requireTwoFactorAuthentication")
4420
4700
  def require_two_factor_authentication(self) -> _builtins.bool:
4701
+ """
4702
+ Require all users in this group to setup Two-factor authentication.
4703
+ """
4421
4704
  return pulumi.get(self, "require_two_factor_authentication")
4422
4705
 
4423
4706
  @_builtins.property
4424
4707
  @pulumi.getter(name="shareWithGroupLock")
4425
4708
  def share_with_group_lock(self) -> _builtins.bool:
4709
+ """
4710
+ Prevent sharing a project with another group within this group.
4711
+ """
4426
4712
  return pulumi.get(self, "share_with_group_lock")
4427
4713
 
4428
4714
  @_builtins.property
4429
4715
  @pulumi.getter(name="sharedRunnersSetting")
4430
4716
  def shared_runners_setting(self) -> _builtins.str:
4717
+ """
4718
+ Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabled_and_overridable`, `disabled_and_unoverridable`, `disabled_with_override`.
4719
+ """
4431
4720
  return pulumi.get(self, "shared_runners_setting")
4432
4721
 
4433
4722
  @_builtins.property
4434
4723
  @pulumi.getter
4435
4724
  def statistics(self) -> Mapping[str, _builtins.str]:
4725
+ """
4726
+ Group statistics.
4727
+ """
4436
4728
  return pulumi.get(self, "statistics")
4437
4729
 
4438
4730
  @_builtins.property
4439
4731
  @pulumi.getter(name="subgroupCreationLevel")
4440
4732
  def subgroup_creation_level(self) -> _builtins.str:
4733
+ """
4734
+ Allowed to create subgroups. Valid values are: `owner`, `maintainer`.
4735
+ """
4441
4736
  return pulumi.get(self, "subgroup_creation_level")
4442
4737
 
4443
4738
  @_builtins.property
4444
4739
  @pulumi.getter(name="twoFactorGracePeriod")
4445
4740
  def two_factor_grace_period(self) -> _builtins.int:
4741
+ """
4742
+ Time before Two-factor authentication is enforced (in hours).
4743
+ """
4446
4744
  return pulumi.get(self, "two_factor_grace_period")
4447
4745
 
4448
4746
  @_builtins.property
4449
4747
  @pulumi.getter
4450
4748
  def visibility(self) -> _builtins.str:
4749
+ """
4750
+ Limited by visibility `public`, `internal`, or `private`.
4751
+ """
4451
4752
  return pulumi.get(self, "visibility")
4452
4753
 
4453
4754
  @_builtins.property
4454
4755
  @pulumi.getter(name="webUrl")
4455
4756
  def web_url(self) -> _builtins.str:
4757
+ """
4758
+ Web URL of the group.
4759
+ """
4456
4760
  return pulumi.get(self, "web_url")
4457
4761
 
4458
4762
  @_builtins.property
4459
4763
  @pulumi.getter(name="wikiAccessLevel")
4460
4764
  def wiki_access_level(self) -> _builtins.str:
4765
+ """
4766
+ The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`.
4767
+ """
4461
4768
  return pulumi.get(self, "wiki_access_level")
4462
4769
 
4463
4770
 
@@ -4549,19 +4856,19 @@ class GetGroupsGroupResult(dict):
4549
4856
  web_url: _builtins.str,
4550
4857
  wiki_access_level: _builtins.str):
4551
4858
  """
4552
- :param _builtins.int default_branch_protection: Whether developers and maintainers can push to the applicable default branch.
4859
+ :param _builtins.int default_branch_protection: Whether developers and maintainers can push to the applicable default branch. Will be removed in 19.0.
4553
4860
  :param _builtins.str description: The description of the group.
4554
4861
  :param _builtins.str full_name: The full name of the group.
4555
4862
  :param _builtins.str full_path: The full path of the group.
4556
4863
  :param _builtins.int group_id: The ID of the group.
4557
- :param _builtins.bool lfs_enabled: Boolean, is LFS enabled for projects in this group.
4864
+ :param _builtins.bool lfs_enabled: Is LFS enabled for projects in this group.
4558
4865
  :param _builtins.str name: The name of this group.
4559
- :param _builtins.int parent_id: Integer, ID of the parent group.
4866
+ :param _builtins.int parent_id: ID of the parent group.
4560
4867
  :param _builtins.str path: The path of the group.
4561
4868
  :param _builtins.bool prevent_forking_outside_group: When enabled, users can not fork projects from this group to external namespaces.
4562
- :param _builtins.bool request_access_enabled: Boolean, is request for access enabled to the group.
4869
+ :param _builtins.bool request_access_enabled: Is request for access enabled to the group.
4563
4870
  :param _builtins.str runners_token: The group level registration token to use during runner setup.
4564
- :param _builtins.str shared_runners_setting: Enable or disable shared runners for a groups subgroups and projects. Valid values are: `enabled`, `disabled_and_overridable`, `disabled_and_unoverridable`, `disabled_with_override`.
4871
+ :param _builtins.str shared_runners_setting: Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabled_and_overridable`, `disabled_and_unoverridable`, `disabled_with_override`.
4565
4872
  :param _builtins.str visibility_level: Visibility level of the group. Possible values are `private`, `internal`, `public`.
4566
4873
  :param _builtins.str web_url: Web URL of the group.
4567
4874
  :param _builtins.str wiki_access_level: The group's wiki access level. Only available on Premium and Ultimate plans. Valid values are `disabled`, `private`, `enabled`.
@@ -4585,9 +4892,10 @@ class GetGroupsGroupResult(dict):
4585
4892
 
4586
4893
  @_builtins.property
4587
4894
  @pulumi.getter(name="defaultBranchProtection")
4895
+ @_utilities.deprecated("""Will be removed in 19.0.""")
4588
4896
  def default_branch_protection(self) -> _builtins.int:
4589
4897
  """
4590
- Whether developers and maintainers can push to the applicable default branch.
4898
+ Whether developers and maintainers can push to the applicable default branch. Will be removed in 19.0.
4591
4899
  """
4592
4900
  return pulumi.get(self, "default_branch_protection")
4593
4901
 
@@ -4627,7 +4935,7 @@ class GetGroupsGroupResult(dict):
4627
4935
  @pulumi.getter(name="lfsEnabled")
4628
4936
  def lfs_enabled(self) -> _builtins.bool:
4629
4937
  """
4630
- Boolean, is LFS enabled for projects in this group.
4938
+ Is LFS enabled for projects in this group.
4631
4939
  """
4632
4940
  return pulumi.get(self, "lfs_enabled")
4633
4941
 
@@ -4643,7 +4951,7 @@ class GetGroupsGroupResult(dict):
4643
4951
  @pulumi.getter(name="parentId")
4644
4952
  def parent_id(self) -> _builtins.int:
4645
4953
  """
4646
- Integer, ID of the parent group.
4954
+ ID of the parent group.
4647
4955
  """
4648
4956
  return pulumi.get(self, "parent_id")
4649
4957
 
@@ -4667,7 +4975,7 @@ class GetGroupsGroupResult(dict):
4667
4975
  @pulumi.getter(name="requestAccessEnabled")
4668
4976
  def request_access_enabled(self) -> _builtins.bool:
4669
4977
  """
4670
- Boolean, is request for access enabled to the group.
4978
+ Is request for access enabled to the group.
4671
4979
  """
4672
4980
  return pulumi.get(self, "request_access_enabled")
4673
4981
 
@@ -4683,7 +4991,7 @@ class GetGroupsGroupResult(dict):
4683
4991
  @pulumi.getter(name="sharedRunnersSetting")
4684
4992
  def shared_runners_setting(self) -> _builtins.str:
4685
4993
  """
4686
- Enable or disable shared runners for a groups subgroups and projects. Valid values are: `enabled`, `disabled_and_overridable`, `disabled_and_unoverridable`, `disabled_with_override`.
4994
+ Enable or disable shared runners for a group's subgroups and projects. Valid values are: `enabled`, `disabled_and_overridable`, `disabled_and_unoverridable`, `disabled_with_override`.
4687
4995
  """
4688
4996
  return pulumi.get(self, "shared_runners_setting")
4689
4997
 
@@ -4882,11 +5190,11 @@ class GetInstanceVariablesVariableResult(dict):
4882
5190
  """
4883
5191
  :param _builtins.str description: The description of the variable. Maximum of 255 characters.
4884
5192
  :param _builtins.str key: The name of the variable.
4885
- :param _builtins.bool masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
4886
- :param _builtins.bool protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
4887
- :param _builtins.bool raw: Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
5193
+ :param _builtins.bool masked: If set to `true`, the value of the variable will be hidden in job logs.
5194
+ :param _builtins.bool protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags.
5195
+ :param _builtins.bool raw: If set to `true`, the variable will be treated as a raw string.
4888
5196
  :param _builtins.str value: The value of the variable.
4889
- :param _builtins.str variable_type: The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`.
5197
+ :param _builtins.str variable_type: The type of the variable, either `env_var` or `file`.
4890
5198
  """
4891
5199
  pulumi.set(__self__, "description", description)
4892
5200
  pulumi.set(__self__, "key", key)
@@ -4916,7 +5224,7 @@ class GetInstanceVariablesVariableResult(dict):
4916
5224
  @pulumi.getter
4917
5225
  def masked(self) -> _builtins.bool:
4918
5226
  """
4919
- If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
5227
+ If set to `true`, the value of the variable will be hidden in job logs.
4920
5228
  """
4921
5229
  return pulumi.get(self, "masked")
4922
5230
 
@@ -4924,7 +5232,7 @@ class GetInstanceVariablesVariableResult(dict):
4924
5232
  @pulumi.getter
4925
5233
  def protected(self) -> _builtins.bool:
4926
5234
  """
4927
- If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
5235
+ If set to `true`, the variable will be passed only to pipelines running on protected branches and tags.
4928
5236
  """
4929
5237
  return pulumi.get(self, "protected")
4930
5238
 
@@ -4932,7 +5240,7 @@ class GetInstanceVariablesVariableResult(dict):
4932
5240
  @pulumi.getter
4933
5241
  def raw(self) -> _builtins.bool:
4934
5242
  """
4935
- Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
5243
+ If set to `true`, the variable will be treated as a raw string.
4936
5244
  """
4937
5245
  return pulumi.get(self, "raw")
4938
5246
 
@@ -4948,7 +5256,7 @@ class GetInstanceVariablesVariableResult(dict):
4948
5256
  @pulumi.getter(name="variableType")
4949
5257
  def variable_type(self) -> _builtins.str:
4950
5258
  """
4951
- The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`.
5259
+ The type of the variable, either `env_var` or `file`.
4952
5260
  """
4953
5261
  return pulumi.get(self, "variable_type")
4954
5262
 
@@ -5448,72 +5756,189 @@ class GetProjectAccessTokensAccessTokenResult(dict):
5448
5756
 
5449
5757
 
5450
5758
  @pulumi.output_type
5451
- class GetProjectBranchesBranchResult(dict):
5759
+ class GetProjectApprovalRulesApprovalRuleResult(dict):
5452
5760
  def __init__(__self__, *,
5453
- can_push: _builtins.bool,
5454
- commits: Sequence['outputs.GetProjectBranchesBranchCommitResult'],
5455
- default: _builtins.bool,
5456
- developers_can_merge: _builtins.bool,
5457
- developers_can_push: _builtins.bool,
5458
- merged: _builtins.bool,
5761
+ applies_to_all_protected_branches: _builtins.bool,
5762
+ approvals_required: _builtins.int,
5763
+ eligible_approver_ids: Sequence[_builtins.int],
5764
+ group_ids: Sequence[_builtins.int],
5765
+ id: _builtins.int,
5459
5766
  name: _builtins.str,
5460
- protected: _builtins.bool,
5461
- web_url: _builtins.str):
5462
- """
5463
- :param _builtins.bool can_push: Bool, true if you can push to the branch.
5464
- :param Sequence['GetProjectBranchesBranchCommitArgs'] commits: The commit associated with this branch.
5465
- :param _builtins.bool default: Bool, true if branch is the default branch for the project.
5466
- :param _builtins.bool developers_can_merge: Bool, true if developer level access allows to merge branch.
5467
- :param _builtins.bool developers_can_push: Bool, true if developer level access allows git push.
5468
- :param _builtins.bool merged: Bool, true if the branch has been merged into its parent.
5469
- :param _builtins.str name: The name of the branch.
5470
- :param _builtins.bool protected: Bool, true if branch has branch protection.
5471
- :param _builtins.str web_url: URL that can be used to find the branch in a browser.
5472
- """
5473
- pulumi.set(__self__, "can_push", can_push)
5474
- pulumi.set(__self__, "commits", commits)
5475
- pulumi.set(__self__, "default", default)
5476
- pulumi.set(__self__, "developers_can_merge", developers_can_merge)
5477
- pulumi.set(__self__, "developers_can_push", developers_can_push)
5478
- pulumi.set(__self__, "merged", merged)
5767
+ protected_branch_ids: Sequence[_builtins.int],
5768
+ report_type: _builtins.str,
5769
+ rule_type: _builtins.str,
5770
+ user_ids: Sequence[_builtins.int]):
5771
+ """
5772
+ :param _builtins.bool applies_to_all_protected_branches: If true, applies the rule to all protected branches, ignoring the protected branches attribute.
5773
+ :param _builtins.int approvals_required: The number of approvals required for this rule.
5774
+ :param Sequence[_builtins.int] eligible_approver_ids: List of all approver IDs that are eligible to approve this rule.
5775
+ :param Sequence[_builtins.int] group_ids: List of group IDs that are eligible to approve this rule.
5776
+ :param _builtins.int id: The ID of the approval rule.
5777
+ :param _builtins.str name: The name of the approval rule.
5778
+ :param Sequence[_builtins.int] protected_branch_ids: List of protected branch IDs that this rule applies to.
5779
+ :param _builtins.str report_type: The report type. Required when the rule type is `report_approver`. The supported report types are `license_scanning` and `code_coverage`.
5780
+ :param _builtins.str rule_type: The type of the approval rule. Can be `any_approver`, `regular` or `report_approver`.
5781
+ :param Sequence[_builtins.int] user_ids: List of user IDs that are eligible to approve this rule.
5782
+ """
5783
+ pulumi.set(__self__, "applies_to_all_protected_branches", applies_to_all_protected_branches)
5784
+ pulumi.set(__self__, "approvals_required", approvals_required)
5785
+ pulumi.set(__self__, "eligible_approver_ids", eligible_approver_ids)
5786
+ pulumi.set(__self__, "group_ids", group_ids)
5787
+ pulumi.set(__self__, "id", id)
5479
5788
  pulumi.set(__self__, "name", name)
5480
- pulumi.set(__self__, "protected", protected)
5481
- pulumi.set(__self__, "web_url", web_url)
5789
+ pulumi.set(__self__, "protected_branch_ids", protected_branch_ids)
5790
+ pulumi.set(__self__, "report_type", report_type)
5791
+ pulumi.set(__self__, "rule_type", rule_type)
5792
+ pulumi.set(__self__, "user_ids", user_ids)
5482
5793
 
5483
5794
  @_builtins.property
5484
- @pulumi.getter(name="canPush")
5485
- def can_push(self) -> _builtins.bool:
5795
+ @pulumi.getter(name="appliesToAllProtectedBranches")
5796
+ def applies_to_all_protected_branches(self) -> _builtins.bool:
5486
5797
  """
5487
- Bool, true if you can push to the branch.
5798
+ If true, applies the rule to all protected branches, ignoring the protected branches attribute.
5488
5799
  """
5489
- return pulumi.get(self, "can_push")
5800
+ return pulumi.get(self, "applies_to_all_protected_branches")
5490
5801
 
5491
5802
  @_builtins.property
5492
- @pulumi.getter
5493
- def commits(self) -> Sequence['outputs.GetProjectBranchesBranchCommitResult']:
5803
+ @pulumi.getter(name="approvalsRequired")
5804
+ def approvals_required(self) -> _builtins.int:
5494
5805
  """
5495
- The commit associated with this branch.
5806
+ The number of approvals required for this rule.
5496
5807
  """
5497
- return pulumi.get(self, "commits")
5808
+ return pulumi.get(self, "approvals_required")
5498
5809
 
5499
5810
  @_builtins.property
5500
- @pulumi.getter
5501
- def default(self) -> _builtins.bool:
5811
+ @pulumi.getter(name="eligibleApproverIds")
5812
+ def eligible_approver_ids(self) -> Sequence[_builtins.int]:
5502
5813
  """
5503
- Bool, true if branch is the default branch for the project.
5814
+ List of all approver IDs that are eligible to approve this rule.
5504
5815
  """
5505
- return pulumi.get(self, "default")
5816
+ return pulumi.get(self, "eligible_approver_ids")
5506
5817
 
5507
5818
  @_builtins.property
5508
- @pulumi.getter(name="developersCanMerge")
5509
- def developers_can_merge(self) -> _builtins.bool:
5819
+ @pulumi.getter(name="groupIds")
5820
+ def group_ids(self) -> Sequence[_builtins.int]:
5510
5821
  """
5511
- Bool, true if developer level access allows to merge branch.
5822
+ List of group IDs that are eligible to approve this rule.
5512
5823
  """
5513
- return pulumi.get(self, "developers_can_merge")
5824
+ return pulumi.get(self, "group_ids")
5514
5825
 
5515
5826
  @_builtins.property
5516
- @pulumi.getter(name="developersCanPush")
5827
+ @pulumi.getter
5828
+ def id(self) -> _builtins.int:
5829
+ """
5830
+ The ID of the approval rule.
5831
+ """
5832
+ return pulumi.get(self, "id")
5833
+
5834
+ @_builtins.property
5835
+ @pulumi.getter
5836
+ def name(self) -> _builtins.str:
5837
+ """
5838
+ The name of the approval rule.
5839
+ """
5840
+ return pulumi.get(self, "name")
5841
+
5842
+ @_builtins.property
5843
+ @pulumi.getter(name="protectedBranchIds")
5844
+ def protected_branch_ids(self) -> Sequence[_builtins.int]:
5845
+ """
5846
+ List of protected branch IDs that this rule applies to.
5847
+ """
5848
+ return pulumi.get(self, "protected_branch_ids")
5849
+
5850
+ @_builtins.property
5851
+ @pulumi.getter(name="reportType")
5852
+ def report_type(self) -> _builtins.str:
5853
+ """
5854
+ The report type. Required when the rule type is `report_approver`. The supported report types are `license_scanning` and `code_coverage`.
5855
+ """
5856
+ return pulumi.get(self, "report_type")
5857
+
5858
+ @_builtins.property
5859
+ @pulumi.getter(name="ruleType")
5860
+ def rule_type(self) -> _builtins.str:
5861
+ """
5862
+ The type of the approval rule. Can be `any_approver`, `regular` or `report_approver`.
5863
+ """
5864
+ return pulumi.get(self, "rule_type")
5865
+
5866
+ @_builtins.property
5867
+ @pulumi.getter(name="userIds")
5868
+ def user_ids(self) -> Sequence[_builtins.int]:
5869
+ """
5870
+ List of user IDs that are eligible to approve this rule.
5871
+ """
5872
+ return pulumi.get(self, "user_ids")
5873
+
5874
+
5875
+ @pulumi.output_type
5876
+ class GetProjectBranchesBranchResult(dict):
5877
+ def __init__(__self__, *,
5878
+ can_push: _builtins.bool,
5879
+ commits: Sequence['outputs.GetProjectBranchesBranchCommitResult'],
5880
+ default: _builtins.bool,
5881
+ developers_can_merge: _builtins.bool,
5882
+ developers_can_push: _builtins.bool,
5883
+ merged: _builtins.bool,
5884
+ name: _builtins.str,
5885
+ protected: _builtins.bool,
5886
+ web_url: _builtins.str):
5887
+ """
5888
+ :param _builtins.bool can_push: Bool, true if you can push to the branch.
5889
+ :param Sequence['GetProjectBranchesBranchCommitArgs'] commits: The commit associated with the branch ref.
5890
+ :param _builtins.bool default: Bool, true if branch is the default branch for the project.
5891
+ :param _builtins.bool developers_can_merge: Bool, true if developer level access allows to merge branch.
5892
+ :param _builtins.bool developers_can_push: Bool, true if developer level access allows git push.
5893
+ :param _builtins.bool merged: Bool, true if the branch has been merged into its parent.
5894
+ :param _builtins.str name: The name of the branch.
5895
+ :param _builtins.bool protected: Bool, true if branch has branch protection.
5896
+ :param _builtins.str web_url: URL that can be used to find the branch in a browser.
5897
+ """
5898
+ pulumi.set(__self__, "can_push", can_push)
5899
+ pulumi.set(__self__, "commits", commits)
5900
+ pulumi.set(__self__, "default", default)
5901
+ pulumi.set(__self__, "developers_can_merge", developers_can_merge)
5902
+ pulumi.set(__self__, "developers_can_push", developers_can_push)
5903
+ pulumi.set(__self__, "merged", merged)
5904
+ pulumi.set(__self__, "name", name)
5905
+ pulumi.set(__self__, "protected", protected)
5906
+ pulumi.set(__self__, "web_url", web_url)
5907
+
5908
+ @_builtins.property
5909
+ @pulumi.getter(name="canPush")
5910
+ def can_push(self) -> _builtins.bool:
5911
+ """
5912
+ Bool, true if you can push to the branch.
5913
+ """
5914
+ return pulumi.get(self, "can_push")
5915
+
5916
+ @_builtins.property
5917
+ @pulumi.getter
5918
+ def commits(self) -> Sequence['outputs.GetProjectBranchesBranchCommitResult']:
5919
+ """
5920
+ The commit associated with the branch ref.
5921
+ """
5922
+ return pulumi.get(self, "commits")
5923
+
5924
+ @_builtins.property
5925
+ @pulumi.getter
5926
+ def default(self) -> _builtins.bool:
5927
+ """
5928
+ Bool, true if branch is the default branch for the project.
5929
+ """
5930
+ return pulumi.get(self, "default")
5931
+
5932
+ @_builtins.property
5933
+ @pulumi.getter(name="developersCanMerge")
5934
+ def developers_can_merge(self) -> _builtins.bool:
5935
+ """
5936
+ Bool, true if developer level access allows to merge branch.
5937
+ """
5938
+ return pulumi.get(self, "developers_can_merge")
5939
+
5940
+ @_builtins.property
5941
+ @pulumi.getter(name="developersCanPush")
5517
5942
  def developers_can_push(self) -> _builtins.bool:
5518
5943
  """
5519
5944
  Bool, true if developer level access allows git push.
@@ -5948,6 +6373,7 @@ class GetProjectHooksHookResult(dict):
5948
6373
  tag_push_events: _builtins.bool,
5949
6374
  token: _builtins.str,
5950
6375
  url: _builtins.str,
6376
+ vulnerability_events: _builtins.bool,
5951
6377
  wiki_page_events: _builtins.bool):
5952
6378
  """
5953
6379
  :param _builtins.bool confidential_issues_events: Invoke the hook for confidential issues events.
@@ -5967,8 +6393,9 @@ class GetProjectHooksHookResult(dict):
5967
6393
  :param _builtins.str push_events_branch_filter: Invoke the hook for push events on matching branches only.
5968
6394
  :param _builtins.bool releases_events: Invoke the hook for releases events.
5969
6395
  :param _builtins.bool tag_push_events: Invoke the hook for tag push events.
5970
- :param _builtins.str token: A token to present when invoking the hook. The token is not available for imported resources.
6396
+ :param _builtins.str token: A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. Will be removed in 19.0.
5971
6397
  :param _builtins.str url: The url of the hook to invoke.
6398
+ :param _builtins.bool vulnerability_events: Invoke the hook for vulnerability events.
5972
6399
  :param _builtins.bool wiki_page_events: Invoke the hook for wiki page events.
5973
6400
  """
5974
6401
  pulumi.set(__self__, "confidential_issues_events", confidential_issues_events)
@@ -5990,6 +6417,7 @@ class GetProjectHooksHookResult(dict):
5990
6417
  pulumi.set(__self__, "tag_push_events", tag_push_events)
5991
6418
  pulumi.set(__self__, "token", token)
5992
6419
  pulumi.set(__self__, "url", url)
6420
+ pulumi.set(__self__, "vulnerability_events", vulnerability_events)
5993
6421
  pulumi.set(__self__, "wiki_page_events", wiki_page_events)
5994
6422
 
5995
6423
  @_builtins.property
@@ -6130,9 +6558,10 @@ class GetProjectHooksHookResult(dict):
6130
6558
 
6131
6559
  @_builtins.property
6132
6560
  @pulumi.getter
6561
+ @_utilities.deprecated("""The token is only available on resource creation, not in this datasource. It will always be blank. To be removed in 19.0.""")
6133
6562
  def token(self) -> _builtins.str:
6134
6563
  """
6135
- A token to present when invoking the hook. The token is not available for imported resources.
6564
+ A token to present when invoking the hook. The token is only available on resource creation, not in this datasource. It will always be blank. Will be removed in 19.0.
6136
6565
  """
6137
6566
  return pulumi.get(self, "token")
6138
6567
 
@@ -6144,6 +6573,14 @@ class GetProjectHooksHookResult(dict):
6144
6573
  """
6145
6574
  return pulumi.get(self, "url")
6146
6575
 
6576
+ @_builtins.property
6577
+ @pulumi.getter(name="vulnerabilityEvents")
6578
+ def vulnerability_events(self) -> _builtins.bool:
6579
+ """
6580
+ Invoke the hook for vulnerability events.
6581
+ """
6582
+ return pulumi.get(self, "vulnerability_events")
6583
+
6147
6584
  @_builtins.property
6148
6585
  @pulumi.getter(name="wikiPageEvents")
6149
6586
  def wiki_page_events(self) -> _builtins.bool:
@@ -6153,6 +6590,214 @@ class GetProjectHooksHookResult(dict):
6153
6590
  return pulumi.get(self, "wiki_page_events")
6154
6591
 
6155
6592
 
6593
+ @pulumi.output_type
6594
+ class GetProjectIssueLabelEventsEventResult(dict):
6595
+ def __init__(__self__, *,
6596
+ action: _builtins.str,
6597
+ created_at: _builtins.str,
6598
+ id: _builtins.int,
6599
+ label: 'outputs.GetProjectIssueLabelEventsEventLabelResult',
6600
+ resource_id: _builtins.int,
6601
+ resource_type: _builtins.str,
6602
+ user: 'outputs.GetProjectIssueLabelEventsEventUserResult'):
6603
+ """
6604
+ :param _builtins.str action: The action performed on the label (add, remove).
6605
+ :param _builtins.str created_at: The date and time when the label event was created.
6606
+ :param _builtins.int id: The ID of the label event.
6607
+ :param 'GetProjectIssueLabelEventsEventLabelArgs' label: The label that was added or removed.
6608
+ :param _builtins.int resource_id: The ID of the resource associated with the label event.
6609
+ :param _builtins.str resource_type: The type of the resource associated with the label event.
6610
+ :param 'GetProjectIssueLabelEventsEventUserArgs' user: The user who performed the action.
6611
+ """
6612
+ pulumi.set(__self__, "action", action)
6613
+ pulumi.set(__self__, "created_at", created_at)
6614
+ pulumi.set(__self__, "id", id)
6615
+ pulumi.set(__self__, "label", label)
6616
+ pulumi.set(__self__, "resource_id", resource_id)
6617
+ pulumi.set(__self__, "resource_type", resource_type)
6618
+ pulumi.set(__self__, "user", user)
6619
+
6620
+ @_builtins.property
6621
+ @pulumi.getter
6622
+ def action(self) -> _builtins.str:
6623
+ """
6624
+ The action performed on the label (add, remove).
6625
+ """
6626
+ return pulumi.get(self, "action")
6627
+
6628
+ @_builtins.property
6629
+ @pulumi.getter(name="createdAt")
6630
+ def created_at(self) -> _builtins.str:
6631
+ """
6632
+ The date and time when the label event was created.
6633
+ """
6634
+ return pulumi.get(self, "created_at")
6635
+
6636
+ @_builtins.property
6637
+ @pulumi.getter
6638
+ def id(self) -> _builtins.int:
6639
+ """
6640
+ The ID of the label event.
6641
+ """
6642
+ return pulumi.get(self, "id")
6643
+
6644
+ @_builtins.property
6645
+ @pulumi.getter
6646
+ def label(self) -> 'outputs.GetProjectIssueLabelEventsEventLabelResult':
6647
+ """
6648
+ The label that was added or removed.
6649
+ """
6650
+ return pulumi.get(self, "label")
6651
+
6652
+ @_builtins.property
6653
+ @pulumi.getter(name="resourceId")
6654
+ def resource_id(self) -> _builtins.int:
6655
+ """
6656
+ The ID of the resource associated with the label event.
6657
+ """
6658
+ return pulumi.get(self, "resource_id")
6659
+
6660
+ @_builtins.property
6661
+ @pulumi.getter(name="resourceType")
6662
+ def resource_type(self) -> _builtins.str:
6663
+ """
6664
+ The type of the resource associated with the label event.
6665
+ """
6666
+ return pulumi.get(self, "resource_type")
6667
+
6668
+ @_builtins.property
6669
+ @pulumi.getter
6670
+ def user(self) -> 'outputs.GetProjectIssueLabelEventsEventUserResult':
6671
+ """
6672
+ The user who performed the action.
6673
+ """
6674
+ return pulumi.get(self, "user")
6675
+
6676
+
6677
+ @pulumi.output_type
6678
+ class GetProjectIssueLabelEventsEventLabelResult(dict):
6679
+ def __init__(__self__, *,
6680
+ color: _builtins.str,
6681
+ description: _builtins.str,
6682
+ id: _builtins.int,
6683
+ name: _builtins.str):
6684
+ """
6685
+ :param _builtins.str color: The color of the label.
6686
+ :param _builtins.str description: The description of the label.
6687
+ :param _builtins.int id: The ID of the label.
6688
+ :param _builtins.str name: The name of the label.
6689
+ """
6690
+ pulumi.set(__self__, "color", color)
6691
+ pulumi.set(__self__, "description", description)
6692
+ pulumi.set(__self__, "id", id)
6693
+ pulumi.set(__self__, "name", name)
6694
+
6695
+ @_builtins.property
6696
+ @pulumi.getter
6697
+ def color(self) -> _builtins.str:
6698
+ """
6699
+ The color of the label.
6700
+ """
6701
+ return pulumi.get(self, "color")
6702
+
6703
+ @_builtins.property
6704
+ @pulumi.getter
6705
+ def description(self) -> _builtins.str:
6706
+ """
6707
+ The description of the label.
6708
+ """
6709
+ return pulumi.get(self, "description")
6710
+
6711
+ @_builtins.property
6712
+ @pulumi.getter
6713
+ def id(self) -> _builtins.int:
6714
+ """
6715
+ The ID of the label.
6716
+ """
6717
+ return pulumi.get(self, "id")
6718
+
6719
+ @_builtins.property
6720
+ @pulumi.getter
6721
+ def name(self) -> _builtins.str:
6722
+ """
6723
+ The name of the label.
6724
+ """
6725
+ return pulumi.get(self, "name")
6726
+
6727
+
6728
+ @pulumi.output_type
6729
+ class GetProjectIssueLabelEventsEventUserResult(dict):
6730
+ def __init__(__self__, *,
6731
+ avatar_url: _builtins.str,
6732
+ id: _builtins.int,
6733
+ name: _builtins.str,
6734
+ state: _builtins.str,
6735
+ username: _builtins.str,
6736
+ web_url: _builtins.str):
6737
+ """
6738
+ :param _builtins.str avatar_url: The avatar URL of the user.
6739
+ :param _builtins.int id: The ID of the user.
6740
+ :param _builtins.str name: The name of the user.
6741
+ :param _builtins.str state: The state of the user.
6742
+ :param _builtins.str username: The username of the user.
6743
+ :param _builtins.str web_url: The web URL of the user.
6744
+ """
6745
+ pulumi.set(__self__, "avatar_url", avatar_url)
6746
+ pulumi.set(__self__, "id", id)
6747
+ pulumi.set(__self__, "name", name)
6748
+ pulumi.set(__self__, "state", state)
6749
+ pulumi.set(__self__, "username", username)
6750
+ pulumi.set(__self__, "web_url", web_url)
6751
+
6752
+ @_builtins.property
6753
+ @pulumi.getter(name="avatarUrl")
6754
+ def avatar_url(self) -> _builtins.str:
6755
+ """
6756
+ The avatar URL of the user.
6757
+ """
6758
+ return pulumi.get(self, "avatar_url")
6759
+
6760
+ @_builtins.property
6761
+ @pulumi.getter
6762
+ def id(self) -> _builtins.int:
6763
+ """
6764
+ The ID of the user.
6765
+ """
6766
+ return pulumi.get(self, "id")
6767
+
6768
+ @_builtins.property
6769
+ @pulumi.getter
6770
+ def name(self) -> _builtins.str:
6771
+ """
6772
+ The name of the user.
6773
+ """
6774
+ return pulumi.get(self, "name")
6775
+
6776
+ @_builtins.property
6777
+ @pulumi.getter
6778
+ def state(self) -> _builtins.str:
6779
+ """
6780
+ The state of the user.
6781
+ """
6782
+ return pulumi.get(self, "state")
6783
+
6784
+ @_builtins.property
6785
+ @pulumi.getter
6786
+ def username(self) -> _builtins.str:
6787
+ """
6788
+ The username of the user.
6789
+ """
6790
+ return pulumi.get(self, "username")
6791
+
6792
+ @_builtins.property
6793
+ @pulumi.getter(name="webUrl")
6794
+ def web_url(self) -> _builtins.str:
6795
+ """
6796
+ The web URL of the user.
6797
+ """
6798
+ return pulumi.get(self, "web_url")
6799
+
6800
+
6156
6801
  @pulumi.output_type
6157
6802
  class GetProjectIssueTaskCompletionStatusResult(dict):
6158
6803
  def __init__(__self__, *,
@@ -7310,7 +7955,7 @@ class GetProjectMilestonesMilestoneResult(dict):
7310
7955
  :param _builtins.str due_date: The due date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11.
7311
7956
  :param _builtins.bool expired: Bool, true if milestone expired.
7312
7957
  :param _builtins.int iid: The ID of the project's milestone.
7313
- :param _builtins.int milestone_id: The instance-wide ID of the projects milestone.
7958
+ :param _builtins.int milestone_id: The instance-wide ID of the project's milestone.
7314
7959
  :param _builtins.str project: The ID or URL-encoded path of the project owned by the authenticated user.
7315
7960
  :param _builtins.int project_id: The project ID of milestone.
7316
7961
  :param _builtins.str start_date: The start date of the milestone. Date time string in the format YYYY-MM-DD, for example 2016-03-11.
@@ -7377,7 +8022,7 @@ class GetProjectMilestonesMilestoneResult(dict):
7377
8022
  @pulumi.getter(name="milestoneId")
7378
8023
  def milestone_id(self) -> _builtins.int:
7379
8024
  """
7380
- The instance-wide ID of the projects milestone.
8025
+ The instance-wide ID of the project's milestone.
7381
8026
  """
7382
8027
  return pulumi.get(self, "milestone_id")
7383
8028
 
@@ -7934,8 +8579,8 @@ class GetProjectPushRuleResult(dict):
7934
8579
  :param _builtins.int max_file_size: Maximum file size (MB).
7935
8580
  :param _builtins.bool member_check: Restrict commits by author (email) to existing GitLab users.
7936
8581
  :param _builtins.bool prevent_secrets: GitLab will reject any files that are likely to contain secrets.
7937
- :param _builtins.bool reject_non_dco_commits: Reject commit when its not DCO certified.
7938
- :param _builtins.bool reject_unsigned_commits: Reject commit when its not signed through GPG.
8582
+ :param _builtins.bool reject_non_dco_commits: Reject commit when it's not DCO certified.
8583
+ :param _builtins.bool reject_unsigned_commits: Reject commit when it's not signed through GPG.
7939
8584
  """
7940
8585
  pulumi.set(__self__, "author_email_regex", author_email_regex)
7941
8586
  pulumi.set(__self__, "branch_name_regex", branch_name_regex)
@@ -8043,7 +8688,7 @@ class GetProjectPushRuleResult(dict):
8043
8688
  @pulumi.getter(name="rejectNonDcoCommits")
8044
8689
  def reject_non_dco_commits(self) -> _builtins.bool:
8045
8690
  """
8046
- Reject commit when its not DCO certified.
8691
+ Reject commit when it's not DCO certified.
8047
8692
  """
8048
8693
  return pulumi.get(self, "reject_non_dco_commits")
8049
8694
 
@@ -8051,18 +8696,182 @@ class GetProjectPushRuleResult(dict):
8051
8696
  @pulumi.getter(name="rejectUnsignedCommits")
8052
8697
  def reject_unsigned_commits(self) -> _builtins.bool:
8053
8698
  """
8054
- Reject commit when its not signed through GPG.
8699
+ Reject commit when it's not signed through GPG.
8055
8700
  """
8056
8701
  return pulumi.get(self, "reject_unsigned_commits")
8057
8702
 
8058
8703
 
8059
8704
  @pulumi.output_type
8060
- class GetProjectSharedWithGroupResult(dict):
8705
+ class GetProjectSecureFileMetadataResult(dict):
8061
8706
  def __init__(__self__, *,
8062
- group_access_level: _builtins.int,
8063
- group_full_path: _builtins.str,
8064
- group_id: _builtins.int,
8065
- group_name: _builtins.str):
8707
+ expires_at: _builtins.str,
8708
+ id: _builtins.str,
8709
+ issuer: 'outputs.GetProjectSecureFileMetadataIssuerResult',
8710
+ subject: 'outputs.GetProjectSecureFileMetadataSubjectResult'):
8711
+ """
8712
+ :param _builtins.str expires_at: Certificate expiration date
8713
+ :param _builtins.str id: Certificate ID
8714
+ :param 'GetProjectSecureFileMetadataIssuerArgs' issuer: Certificate issuer information
8715
+ :param 'GetProjectSecureFileMetadataSubjectArgs' subject: Certificate subject information
8716
+ """
8717
+ pulumi.set(__self__, "expires_at", expires_at)
8718
+ pulumi.set(__self__, "id", id)
8719
+ pulumi.set(__self__, "issuer", issuer)
8720
+ pulumi.set(__self__, "subject", subject)
8721
+
8722
+ @_builtins.property
8723
+ @pulumi.getter(name="expiresAt")
8724
+ def expires_at(self) -> _builtins.str:
8725
+ """
8726
+ Certificate expiration date
8727
+ """
8728
+ return pulumi.get(self, "expires_at")
8729
+
8730
+ @_builtins.property
8731
+ @pulumi.getter
8732
+ def id(self) -> _builtins.str:
8733
+ """
8734
+ Certificate ID
8735
+ """
8736
+ return pulumi.get(self, "id")
8737
+
8738
+ @_builtins.property
8739
+ @pulumi.getter
8740
+ def issuer(self) -> 'outputs.GetProjectSecureFileMetadataIssuerResult':
8741
+ """
8742
+ Certificate issuer information
8743
+ """
8744
+ return pulumi.get(self, "issuer")
8745
+
8746
+ @_builtins.property
8747
+ @pulumi.getter
8748
+ def subject(self) -> 'outputs.GetProjectSecureFileMetadataSubjectResult':
8749
+ """
8750
+ Certificate subject information
8751
+ """
8752
+ return pulumi.get(self, "subject")
8753
+
8754
+
8755
+ @pulumi.output_type
8756
+ class GetProjectSecureFileMetadataIssuerResult(dict):
8757
+ def __init__(__self__, *,
8758
+ c: _builtins.str,
8759
+ cn: _builtins.str,
8760
+ o: _builtins.str,
8761
+ ou: _builtins.str):
8762
+ """
8763
+ :param _builtins.str c: Country
8764
+ :param _builtins.str cn: Common Name
8765
+ :param _builtins.str o: Organization
8766
+ :param _builtins.str ou: Organizational Unit
8767
+ """
8768
+ pulumi.set(__self__, "c", c)
8769
+ pulumi.set(__self__, "cn", cn)
8770
+ pulumi.set(__self__, "o", o)
8771
+ pulumi.set(__self__, "ou", ou)
8772
+
8773
+ @_builtins.property
8774
+ @pulumi.getter
8775
+ def c(self) -> _builtins.str:
8776
+ """
8777
+ Country
8778
+ """
8779
+ return pulumi.get(self, "c")
8780
+
8781
+ @_builtins.property
8782
+ @pulumi.getter
8783
+ def cn(self) -> _builtins.str:
8784
+ """
8785
+ Common Name
8786
+ """
8787
+ return pulumi.get(self, "cn")
8788
+
8789
+ @_builtins.property
8790
+ @pulumi.getter
8791
+ def o(self) -> _builtins.str:
8792
+ """
8793
+ Organization
8794
+ """
8795
+ return pulumi.get(self, "o")
8796
+
8797
+ @_builtins.property
8798
+ @pulumi.getter
8799
+ def ou(self) -> _builtins.str:
8800
+ """
8801
+ Organizational Unit
8802
+ """
8803
+ return pulumi.get(self, "ou")
8804
+
8805
+
8806
+ @pulumi.output_type
8807
+ class GetProjectSecureFileMetadataSubjectResult(dict):
8808
+ def __init__(__self__, *,
8809
+ c: _builtins.str,
8810
+ cn: _builtins.str,
8811
+ o: _builtins.str,
8812
+ ou: _builtins.str,
8813
+ uid: _builtins.str):
8814
+ """
8815
+ :param _builtins.str c: Country
8816
+ :param _builtins.str cn: Common Name
8817
+ :param _builtins.str o: Organization
8818
+ :param _builtins.str ou: Organizational Unit
8819
+ :param _builtins.str uid: User ID
8820
+ """
8821
+ pulumi.set(__self__, "c", c)
8822
+ pulumi.set(__self__, "cn", cn)
8823
+ pulumi.set(__self__, "o", o)
8824
+ pulumi.set(__self__, "ou", ou)
8825
+ pulumi.set(__self__, "uid", uid)
8826
+
8827
+ @_builtins.property
8828
+ @pulumi.getter
8829
+ def c(self) -> _builtins.str:
8830
+ """
8831
+ Country
8832
+ """
8833
+ return pulumi.get(self, "c")
8834
+
8835
+ @_builtins.property
8836
+ @pulumi.getter
8837
+ def cn(self) -> _builtins.str:
8838
+ """
8839
+ Common Name
8840
+ """
8841
+ return pulumi.get(self, "cn")
8842
+
8843
+ @_builtins.property
8844
+ @pulumi.getter
8845
+ def o(self) -> _builtins.str:
8846
+ """
8847
+ Organization
8848
+ """
8849
+ return pulumi.get(self, "o")
8850
+
8851
+ @_builtins.property
8852
+ @pulumi.getter
8853
+ def ou(self) -> _builtins.str:
8854
+ """
8855
+ Organizational Unit
8856
+ """
8857
+ return pulumi.get(self, "ou")
8858
+
8859
+ @_builtins.property
8860
+ @pulumi.getter
8861
+ def uid(self) -> _builtins.str:
8862
+ """
8863
+ User ID
8864
+ """
8865
+ return pulumi.get(self, "uid")
8866
+
8867
+
8868
+ @pulumi.output_type
8869
+ class GetProjectSharedWithGroupResult(dict):
8870
+ def __init__(__self__, *,
8871
+ group_access_level: _builtins.int,
8872
+ group_full_path: _builtins.str,
8873
+ group_id: _builtins.int,
8874
+ group_name: _builtins.str):
8066
8875
  """
8067
8876
  :param _builtins.int group_access_level: The access_level permission level of the shared group.
8068
8877
  :param _builtins.str group_full_path: The full path of the group shared with.
@@ -8241,7 +9050,7 @@ class GetProjectTagReleaseResult(dict):
8241
9050
  description: _builtins.str,
8242
9051
  tag_name: _builtins.str):
8243
9052
  """
8244
- :param _builtins.str description: The description of release.
9053
+ :param _builtins.str description: The description of the release.
8245
9054
  :param _builtins.str tag_name: The name of the tag.
8246
9055
  """
8247
9056
  pulumi.set(__self__, "description", description)
@@ -8251,7 +9060,7 @@ class GetProjectTagReleaseResult(dict):
8251
9060
  @pulumi.getter
8252
9061
  def description(self) -> _builtins.str:
8253
9062
  """
8254
- The description of release.
9063
+ The description of the release.
8255
9064
  """
8256
9065
  return pulumi.get(self, "description")
8257
9066
 
@@ -8277,7 +9086,7 @@ class GetProjectTagsTagResult(dict):
8277
9086
  :param Sequence['GetProjectTagsTagCommitArgs'] commits: The commit associated with the tag.
8278
9087
  :param _builtins.str message: The message of the annotated tag.
8279
9088
  :param _builtins.str name: The name of a tag.
8280
- :param _builtins.bool protected: Bool, true if tag has tag protection.
9089
+ :param _builtins.bool protected: True if tag has tag protection.
8281
9090
  :param Sequence['GetProjectTagsTagReleaseArgs'] releases: The release associated with the tag.
8282
9091
  :param _builtins.str target: The unique id assigned to the commit by Gitlab.
8283
9092
  """
@@ -8316,7 +9125,7 @@ class GetProjectTagsTagResult(dict):
8316
9125
  @pulumi.getter
8317
9126
  def protected(self) -> _builtins.bool:
8318
9127
  """
8319
- Bool, true if tag has tag protection.
9128
+ True if tag has tag protection.
8320
9129
  """
8321
9130
  return pulumi.get(self, "protected")
8322
9131
 
@@ -8471,7 +9280,7 @@ class GetProjectTagsTagReleaseResult(dict):
8471
9280
  description: _builtins.str,
8472
9281
  tag_name: _builtins.str):
8473
9282
  """
8474
- :param _builtins.str description: The description of release.
9283
+ :param _builtins.str description: The description of the release.
8475
9284
  :param _builtins.str tag_name: The name of the tag.
8476
9285
  """
8477
9286
  pulumi.set(__self__, "description", description)
@@ -8481,7 +9290,7 @@ class GetProjectTagsTagReleaseResult(dict):
8481
9290
  @pulumi.getter
8482
9291
  def description(self) -> _builtins.str:
8483
9292
  """
8484
- The description of release.
9293
+ The description of the release.
8485
9294
  """
8486
9295
  return pulumi.get(self, "description")
8487
9296
 
@@ -8507,15 +9316,15 @@ class GetProjectVariablesVariableResult(dict):
8507
9316
  value: _builtins.str,
8508
9317
  variable_type: _builtins.str):
8509
9318
  """
8510
- :param _builtins.str description: The description of the variable.
8511
- :param _builtins.str environment_scope: The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans.
9319
+ :param _builtins.str description: The description of the variable. Maximum of 255 characters.
9320
+ :param _builtins.str environment_scope: The environment scope of the variable. Defaults to all environment (`*`).
8512
9321
  :param _builtins.str key: The name of the variable.
8513
- :param _builtins.bool masked: If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
8514
- :param _builtins.str project: The name or id of the project.
8515
- :param _builtins.bool protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
8516
- :param _builtins.bool raw: Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
9322
+ :param _builtins.bool masked: If set to `true`, the value of the variable will be hidden in job logs.
9323
+ :param _builtins.str project: The name or path of the project.
9324
+ :param _builtins.bool protected: If set to `true`, the variable will be passed only to pipelines running on protected branches and tags.
9325
+ :param _builtins.bool raw: If set to `true`, the variable will be treated as a raw string.
8517
9326
  :param _builtins.str value: The value of the variable.
8518
- :param _builtins.str variable_type: The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`.
9327
+ :param _builtins.str variable_type: The type of the variable, either `env_var` or `file`.
8519
9328
  """
8520
9329
  pulumi.set(__self__, "description", description)
8521
9330
  pulumi.set(__self__, "environment_scope", environment_scope)
@@ -8531,7 +9340,7 @@ class GetProjectVariablesVariableResult(dict):
8531
9340
  @pulumi.getter
8532
9341
  def description(self) -> _builtins.str:
8533
9342
  """
8534
- The description of the variable.
9343
+ The description of the variable. Maximum of 255 characters.
8535
9344
  """
8536
9345
  return pulumi.get(self, "description")
8537
9346
 
@@ -8539,7 +9348,7 @@ class GetProjectVariablesVariableResult(dict):
8539
9348
  @pulumi.getter(name="environmentScope")
8540
9349
  def environment_scope(self) -> _builtins.str:
8541
9350
  """
8542
- The environment scope of the variable. Defaults to all environment (`*`). Note that in Community Editions of Gitlab, values other than `*` will cause inconsistent plans.
9351
+ The environment scope of the variable. Defaults to all environment (`*`).
8543
9352
  """
8544
9353
  return pulumi.get(self, "environment_scope")
8545
9354
 
@@ -8555,7 +9364,7 @@ class GetProjectVariablesVariableResult(dict):
8555
9364
  @pulumi.getter
8556
9365
  def masked(self) -> _builtins.bool:
8557
9366
  """
8558
- If set to `true`, the value of the variable will be hidden in job logs. The value must meet the [masking requirements](https://docs.gitlab.com/ci/variables/#masked-variables). Defaults to `false`.
9367
+ If set to `true`, the value of the variable will be hidden in job logs.
8559
9368
  """
8560
9369
  return pulumi.get(self, "masked")
8561
9370
 
@@ -8563,7 +9372,7 @@ class GetProjectVariablesVariableResult(dict):
8563
9372
  @pulumi.getter
8564
9373
  def project(self) -> _builtins.str:
8565
9374
  """
8566
- The name or id of the project.
9375
+ The name or path of the project.
8567
9376
  """
8568
9377
  return pulumi.get(self, "project")
8569
9378
 
@@ -8571,7 +9380,7 @@ class GetProjectVariablesVariableResult(dict):
8571
9380
  @pulumi.getter
8572
9381
  def protected(self) -> _builtins.bool:
8573
9382
  """
8574
- If set to `true`, the variable will be passed only to pipelines running on protected branches and tags. Defaults to `false`.
9383
+ If set to `true`, the variable will be passed only to pipelines running on protected branches and tags.
8575
9384
  """
8576
9385
  return pulumi.get(self, "protected")
8577
9386
 
@@ -8579,7 +9388,7 @@ class GetProjectVariablesVariableResult(dict):
8579
9388
  @pulumi.getter
8580
9389
  def raw(self) -> _builtins.bool:
8581
9390
  """
8582
- Whether the variable is treated as a raw string. Default: false. When true, variables in the value are not expanded.
9391
+ If set to `true`, the variable will be treated as a raw string.
8583
9392
  """
8584
9393
  return pulumi.get(self, "raw")
8585
9394
 
@@ -8595,7 +9404,7 @@ class GetProjectVariablesVariableResult(dict):
8595
9404
  @pulumi.getter(name="variableType")
8596
9405
  def variable_type(self) -> _builtins.str:
8597
9406
  """
8598
- The type of a variable. Valid values are: `env_var`, `file`. Default is `env_var`.
9407
+ The type of the variable, either `env_var` or `file`.
8599
9408
  """
8600
9409
  return pulumi.get(self, "variable_type")
8601
9410
 
@@ -8655,6 +9464,7 @@ class GetProjectsProjectResult(dict):
8655
9464
  keep_latest_artifact: _builtins.bool,
8656
9465
  last_activity_at: _builtins.str,
8657
9466
  lfs_enabled: _builtins.bool,
9467
+ links: Mapping[str, _builtins.str],
8658
9468
  merge_commit_template: _builtins.str,
8659
9469
  merge_method: _builtins.str,
8660
9470
  merge_pipelines_enabled: _builtins.bool,
@@ -8689,6 +9499,7 @@ class GetProjectsProjectResult(dict):
8689
9499
  request_access_enabled: _builtins.bool,
8690
9500
  requirements_access_level: _builtins.str,
8691
9501
  resolve_outdated_diff_discussions: _builtins.bool,
9502
+ resource_group_default_process_mode: _builtins.str,
8692
9503
  restrict_user_defined_variables: _builtins.bool,
8693
9504
  runners_token: _builtins.str,
8694
9505
  security_and_compliance_access_level: _builtins.str,
@@ -8708,7 +9519,7 @@ class GetProjectsProjectResult(dict):
8708
9519
  wiki_access_level: _builtins.str,
8709
9520
  wiki_enabled: _builtins.bool):
8710
9521
  """
8711
- :param Mapping[str, _builtins.str] _links: Links for the project.
9522
+ :param Mapping[str, _builtins.str] _links: Links for the project. Use `links` instead. To be removed in 19.0.
8712
9523
  :param _builtins.bool allow_merge_on_skipped_pipeline: Whether allow_merge_on_skipped_pipeline is enabled for the project.
8713
9524
  :param _builtins.bool allow_pipeline_trigger_approve_deployment: Set whether or not a pipeline triggerer is allowed to approve deployments. Premium and Ultimate only.
8714
9525
  :param _builtins.str analytics_access_level: Set the analytics access level. Valid values are `disabled`, `private`, `enabled`.
@@ -8760,6 +9571,7 @@ class GetProjectsProjectResult(dict):
8760
9571
  :param _builtins.bool keep_latest_artifact: Disable or enable the ability to keep the latest artifact for this project.
8761
9572
  :param _builtins.str last_activity_at: Last activirty time for the project.
8762
9573
  :param _builtins.bool lfs_enabled: Whether LFS (large file storage) is enabled for the project.
9574
+ :param Mapping[str, _builtins.str] links: Links for the project.
8763
9575
  :param _builtins.str merge_commit_template: Template used to create merge commit message in merge requests.
8764
9576
  :param _builtins.str merge_method: Merge method for the project.
8765
9577
  :param _builtins.bool merge_pipelines_enabled: Enable or disable merge pipelines.
@@ -8793,6 +9605,7 @@ class GetProjectsProjectResult(dict):
8793
9605
  :param _builtins.bool request_access_enabled: Whether requesting access is enabled for the project.
8794
9606
  :param _builtins.str requirements_access_level: Set the requirements access level. Valid values are `disabled`, `private`, `enabled`.
8795
9607
  :param _builtins.bool resolve_outdated_diff_discussions: Whether resolve_outdated_diff_discussions is enabled for the project
9608
+ :param _builtins.str resource_group_default_process_mode: The default resource group process mode for the project.
8796
9609
  :param _builtins.bool restrict_user_defined_variables: Allow only users with the Maintainer role to pass user-defined variables when triggering a pipeline.
8797
9610
  :param _builtins.str runners_token: The runners token for the project.
8798
9611
  :param _builtins.str security_and_compliance_access_level: Set the security and compliance access level. Valid values are `disabled`, `private`, `enabled`.
@@ -8864,6 +9677,7 @@ class GetProjectsProjectResult(dict):
8864
9677
  pulumi.set(__self__, "keep_latest_artifact", keep_latest_artifact)
8865
9678
  pulumi.set(__self__, "last_activity_at", last_activity_at)
8866
9679
  pulumi.set(__self__, "lfs_enabled", lfs_enabled)
9680
+ pulumi.set(__self__, "links", links)
8867
9681
  pulumi.set(__self__, "merge_commit_template", merge_commit_template)
8868
9682
  pulumi.set(__self__, "merge_method", merge_method)
8869
9683
  pulumi.set(__self__, "merge_pipelines_enabled", merge_pipelines_enabled)
@@ -8898,6 +9712,7 @@ class GetProjectsProjectResult(dict):
8898
9712
  pulumi.set(__self__, "request_access_enabled", request_access_enabled)
8899
9713
  pulumi.set(__self__, "requirements_access_level", requirements_access_level)
8900
9714
  pulumi.set(__self__, "resolve_outdated_diff_discussions", resolve_outdated_diff_discussions)
9715
+ pulumi.set(__self__, "resource_group_default_process_mode", resource_group_default_process_mode)
8901
9716
  pulumi.set(__self__, "restrict_user_defined_variables", restrict_user_defined_variables)
8902
9717
  pulumi.set(__self__, "runners_token", runners_token)
8903
9718
  pulumi.set(__self__, "security_and_compliance_access_level", security_and_compliance_access_level)
@@ -8919,9 +9734,10 @@ class GetProjectsProjectResult(dict):
8919
9734
 
8920
9735
  @_builtins.property
8921
9736
  @pulumi.getter
9737
+ @_utilities.deprecated("""Use `links` instead. To be removed in 19.0.""")
8922
9738
  def _links(self) -> Mapping[str, _builtins.str]:
8923
9739
  """
8924
- Links for the project.
9740
+ Links for the project. Use `links` instead. To be removed in 19.0.
8925
9741
  """
8926
9742
  return pulumi.get(self, "_links")
8927
9743
 
@@ -9333,6 +10149,14 @@ class GetProjectsProjectResult(dict):
9333
10149
  """
9334
10150
  return pulumi.get(self, "lfs_enabled")
9335
10151
 
10152
+ @_builtins.property
10153
+ @pulumi.getter
10154
+ def links(self) -> Mapping[str, _builtins.str]:
10155
+ """
10156
+ Links for the project.
10157
+ """
10158
+ return pulumi.get(self, "links")
10159
+
9336
10160
  @_builtins.property
9337
10161
  @pulumi.getter(name="mergeCommitTemplate")
9338
10162
  def merge_commit_template(self) -> _builtins.str:
@@ -9602,6 +10426,14 @@ class GetProjectsProjectResult(dict):
9602
10426
  """
9603
10427
  return pulumi.get(self, "resolve_outdated_diff_discussions")
9604
10428
 
10429
+ @_builtins.property
10430
+ @pulumi.getter(name="resourceGroupDefaultProcessMode")
10431
+ def resource_group_default_process_mode(self) -> _builtins.str:
10432
+ """
10433
+ The default resource group process mode for the project.
10434
+ """
10435
+ return pulumi.get(self, "resource_group_default_process_mode")
10436
+
9605
10437
  @_builtins.property
9606
10438
  @pulumi.getter(name="restrictUserDefinedVariables")
9607
10439
  def restrict_user_defined_variables(self) -> _builtins.bool:
@@ -10254,13 +11086,13 @@ class GetReleaseLinksReleaseLinkResult(dict):
10254
11086
  tag_name: _builtins.str,
10255
11087
  url: _builtins.str):
10256
11088
  """
10257
- :param _builtins.str direct_asset_url: Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets).
11089
+ :param _builtins.str direct_asset_url: Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets).
10258
11090
  :param _builtins.bool external: External or internal link.
10259
- :param _builtins.str filepath: Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets).
11091
+ :param _builtins.str filepath: Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets).
10260
11092
  :param _builtins.int link_id: The ID of the link.
10261
- :param _builtins.str link_type: The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other.
11093
+ :param _builtins.str link_type: The type of the link. Valid values are `other`, `runbook`, `image`, `package`.
10262
11094
  :param _builtins.str name: The name of the link. Link names must be unique within the release.
10263
- :param _builtins.str project: The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding).
11095
+ :param _builtins.str project: The ID or Namespace path of the project.
10264
11096
  :param _builtins.str tag_name: The tag associated with the Release.
10265
11097
  :param _builtins.str url: The URL of the link. Link URLs must be unique within the release.
10266
11098
  """
@@ -10278,7 +11110,7 @@ class GetReleaseLinksReleaseLinkResult(dict):
10278
11110
  @pulumi.getter(name="directAssetUrl")
10279
11111
  def direct_asset_url(self) -> _builtins.str:
10280
11112
  """
10281
- Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets).
11113
+ Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets).
10282
11114
  """
10283
11115
  return pulumi.get(self, "direct_asset_url")
10284
11116
 
@@ -10294,7 +11126,7 @@ class GetReleaseLinksReleaseLinkResult(dict):
10294
11126
  @pulumi.getter
10295
11127
  def filepath(self) -> _builtins.str:
10296
11128
  """
10297
- Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets).
11129
+ Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets).
10298
11130
  """
10299
11131
  return pulumi.get(self, "filepath")
10300
11132
 
@@ -10310,7 +11142,7 @@ class GetReleaseLinksReleaseLinkResult(dict):
10310
11142
  @pulumi.getter(name="linkType")
10311
11143
  def link_type(self) -> _builtins.str:
10312
11144
  """
10313
- The type of the link. Valid values are `other`, `runbook`, `image`, `package`. Defaults to other.
11145
+ The type of the link. Valid values are `other`, `runbook`, `image`, `package`.
10314
11146
  """
10315
11147
  return pulumi.get(self, "link_type")
10316
11148
 
@@ -10326,7 +11158,7 @@ class GetReleaseLinksReleaseLinkResult(dict):
10326
11158
  @pulumi.getter
10327
11159
  def project(self) -> _builtins.str:
10328
11160
  """
10329
- The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding).
11161
+ The ID or Namespace path of the project.
10330
11162
  """
10331
11163
  return pulumi.get(self, "project")
10332
11164
 
@@ -10353,26 +11185,30 @@ class GetRepositoryTreeTreeResult(dict):
10353
11185
  id: _builtins.str,
10354
11186
  mode: _builtins.str,
10355
11187
  name: _builtins.str,
11188
+ node_id: _builtins.str,
10356
11189
  path: _builtins.str,
10357
11190
  type: _builtins.str):
10358
11191
  """
10359
- :param _builtins.str id: The SHA-1 hash of the tree or blob in the repository.
11192
+ :param _builtins.str id: The project ID. Use `node_id` instead. To be removed in 19.0.
10360
11193
  :param _builtins.str mode: Unix access mode of the file in the repository.
10361
11194
  :param _builtins.str name: Name of the blob or tree in the repository
11195
+ :param _builtins.str node_id: The SHA-1 hash of the tree or blob in the repository.
10362
11196
  :param _builtins.str path: Path of the object inside of the repository.
10363
11197
  :param _builtins.str type: Type of object in the repository. Can be either type tree or of type blob
10364
11198
  """
10365
11199
  pulumi.set(__self__, "id", id)
10366
11200
  pulumi.set(__self__, "mode", mode)
10367
11201
  pulumi.set(__self__, "name", name)
11202
+ pulumi.set(__self__, "node_id", node_id)
10368
11203
  pulumi.set(__self__, "path", path)
10369
11204
  pulumi.set(__self__, "type", type)
10370
11205
 
10371
11206
  @_builtins.property
10372
11207
  @pulumi.getter
11208
+ @_utilities.deprecated("""Use `node_id` instead. To be removed in 19.0.""")
10373
11209
  def id(self) -> _builtins.str:
10374
11210
  """
10375
- The SHA-1 hash of the tree or blob in the repository.
11211
+ The project ID. Use `node_id` instead. To be removed in 19.0.
10376
11212
  """
10377
11213
  return pulumi.get(self, "id")
10378
11214
 
@@ -10392,6 +11228,14 @@ class GetRepositoryTreeTreeResult(dict):
10392
11228
  """
10393
11229
  return pulumi.get(self, "name")
10394
11230
 
11231
+ @_builtins.property
11232
+ @pulumi.getter(name="nodeId")
11233
+ def node_id(self) -> _builtins.str:
11234
+ """
11235
+ The SHA-1 hash of the tree or blob in the repository.
11236
+ """
11237
+ return pulumi.get(self, "node_id")
11238
+
10395
11239
  @_builtins.property
10396
11240
  @pulumi.getter
10397
11241
  def path(self) -> _builtins.str:
@@ -10493,6 +11337,329 @@ class GetRunnersRunnerResult(dict):
10493
11337
  return pulumi.get(self, "status")
10494
11338
 
10495
11339
 
11340
+ @pulumi.output_type
11341
+ class GetSecurityPolicyDocumentScanExecutionPolicyResult(dict):
11342
+ def __init__(__self__, *,
11343
+ actions: Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyActionResult'],
11344
+ enabled: _builtins.bool,
11345
+ name: _builtins.str,
11346
+ rules: Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyRuleResult'],
11347
+ description: Optional[_builtins.str] = None,
11348
+ policy_scope: Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult'] = None,
11349
+ skip_ci: Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult'] = None):
11350
+ """
11351
+ :param Sequence['GetSecurityPolicyDocumentScanExecutionPolicyActionArgs'] actions: Actions to execute when rules match. At least one action is required.
11352
+ :param _builtins.bool enabled: Whether the policy is enabled.
11353
+ :param _builtins.str name: Name of the scan execution policy.
11354
+ :param Sequence['GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs'] rules: Rules that trigger the policy. At least one rule is required.
11355
+ :param _builtins.str description: Description of the scan execution policy.
11356
+ :param 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs' policy_scope: Scope configuration to limit which projects the policy applies to.
11357
+ :param 'GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs' skip_ci: Control whether users can use the skip-ci directive.
11358
+ """
11359
+ pulumi.set(__self__, "actions", actions)
11360
+ pulumi.set(__self__, "enabled", enabled)
11361
+ pulumi.set(__self__, "name", name)
11362
+ pulumi.set(__self__, "rules", rules)
11363
+ if description is not None:
11364
+ pulumi.set(__self__, "description", description)
11365
+ if policy_scope is not None:
11366
+ pulumi.set(__self__, "policy_scope", policy_scope)
11367
+ if skip_ci is not None:
11368
+ pulumi.set(__self__, "skip_ci", skip_ci)
11369
+
11370
+ @_builtins.property
11371
+ @pulumi.getter
11372
+ def actions(self) -> Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyActionResult']:
11373
+ """
11374
+ Actions to execute when rules match. At least one action is required.
11375
+ """
11376
+ return pulumi.get(self, "actions")
11377
+
11378
+ @_builtins.property
11379
+ @pulumi.getter
11380
+ def enabled(self) -> _builtins.bool:
11381
+ """
11382
+ Whether the policy is enabled.
11383
+ """
11384
+ return pulumi.get(self, "enabled")
11385
+
11386
+ @_builtins.property
11387
+ @pulumi.getter
11388
+ def name(self) -> _builtins.str:
11389
+ """
11390
+ Name of the scan execution policy.
11391
+ """
11392
+ return pulumi.get(self, "name")
11393
+
11394
+ @_builtins.property
11395
+ @pulumi.getter
11396
+ def rules(self) -> Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyRuleResult']:
11397
+ """
11398
+ Rules that trigger the policy. At least one rule is required.
11399
+ """
11400
+ return pulumi.get(self, "rules")
11401
+
11402
+ @_builtins.property
11403
+ @pulumi.getter
11404
+ def description(self) -> Optional[_builtins.str]:
11405
+ """
11406
+ Description of the scan execution policy.
11407
+ """
11408
+ return pulumi.get(self, "description")
11409
+
11410
+ @_builtins.property
11411
+ @pulumi.getter(name="policyScope")
11412
+ def policy_scope(self) -> Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult']:
11413
+ """
11414
+ Scope configuration to limit which projects the policy applies to.
11415
+ """
11416
+ return pulumi.get(self, "policy_scope")
11417
+
11418
+ @_builtins.property
11419
+ @pulumi.getter(name="skipCi")
11420
+ def skip_ci(self) -> Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult']:
11421
+ """
11422
+ Control whether users can use the skip-ci directive.
11423
+ """
11424
+ return pulumi.get(self, "skip_ci")
11425
+
11426
+
11427
+ @pulumi.output_type
11428
+ class GetSecurityPolicyDocumentScanExecutionPolicyActionResult(dict):
11429
+ def __init__(__self__, *,
11430
+ scan: _builtins.str,
11431
+ scanner_profile: Optional[_builtins.str] = None,
11432
+ site_profile: Optional[_builtins.str] = None,
11433
+ tags_to_excludes: Optional[Sequence[_builtins.str]] = None,
11434
+ template: Optional[_builtins.str] = None,
11435
+ variables: Optional[Mapping[str, _builtins.str]] = None):
11436
+ """
11437
+ :param _builtins.str scan: Type of scan to run. Valid values: `sast`, `secret_detection`, `container_scanning`, `dependency_scanning`, `dast`, `sast_iac`, `cluster_image_scanning`, `api_fuzzing`, `coverage_fuzzing`.
11438
+ :param _builtins.str scanner_profile: Scanner profile to use for DAST scans.
11439
+ :param _builtins.str site_profile: Site profile to use for DAST scans.
11440
+ :param Sequence[_builtins.str] tags_to_excludes: Tags to exclude from the scan.
11441
+ :param _builtins.str template: The template to use for the scan. Valid values: `default`, `latest`.
11442
+ :param Mapping[str, _builtins.str] variables: Environment variables to pass to the scan job.
11443
+ """
11444
+ pulumi.set(__self__, "scan", scan)
11445
+ if scanner_profile is not None:
11446
+ pulumi.set(__self__, "scanner_profile", scanner_profile)
11447
+ if site_profile is not None:
11448
+ pulumi.set(__self__, "site_profile", site_profile)
11449
+ if tags_to_excludes is not None:
11450
+ pulumi.set(__self__, "tags_to_excludes", tags_to_excludes)
11451
+ if template is not None:
11452
+ pulumi.set(__self__, "template", template)
11453
+ if variables is not None:
11454
+ pulumi.set(__self__, "variables", variables)
11455
+
11456
+ @_builtins.property
11457
+ @pulumi.getter
11458
+ def scan(self) -> _builtins.str:
11459
+ """
11460
+ Type of scan to run. Valid values: `sast`, `secret_detection`, `container_scanning`, `dependency_scanning`, `dast`, `sast_iac`, `cluster_image_scanning`, `api_fuzzing`, `coverage_fuzzing`.
11461
+ """
11462
+ return pulumi.get(self, "scan")
11463
+
11464
+ @_builtins.property
11465
+ @pulumi.getter(name="scannerProfile")
11466
+ def scanner_profile(self) -> Optional[_builtins.str]:
11467
+ """
11468
+ Scanner profile to use for DAST scans.
11469
+ """
11470
+ return pulumi.get(self, "scanner_profile")
11471
+
11472
+ @_builtins.property
11473
+ @pulumi.getter(name="siteProfile")
11474
+ def site_profile(self) -> Optional[_builtins.str]:
11475
+ """
11476
+ Site profile to use for DAST scans.
11477
+ """
11478
+ return pulumi.get(self, "site_profile")
11479
+
11480
+ @_builtins.property
11481
+ @pulumi.getter(name="tagsToExcludes")
11482
+ def tags_to_excludes(self) -> Optional[Sequence[_builtins.str]]:
11483
+ """
11484
+ Tags to exclude from the scan.
11485
+ """
11486
+ return pulumi.get(self, "tags_to_excludes")
11487
+
11488
+ @_builtins.property
11489
+ @pulumi.getter
11490
+ def template(self) -> Optional[_builtins.str]:
11491
+ """
11492
+ The template to use for the scan. Valid values: `default`, `latest`.
11493
+ """
11494
+ return pulumi.get(self, "template")
11495
+
11496
+ @_builtins.property
11497
+ @pulumi.getter
11498
+ def variables(self) -> Optional[Mapping[str, _builtins.str]]:
11499
+ """
11500
+ Environment variables to pass to the scan job.
11501
+ """
11502
+ return pulumi.get(self, "variables")
11503
+
11504
+
11505
+ @pulumi.output_type
11506
+ class GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult(dict):
11507
+ def __init__(__self__, *,
11508
+ compliance_frameworks: Optional[Sequence[_builtins.str]] = None,
11509
+ projects: Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult'] = None):
11510
+ """
11511
+ :param Sequence[_builtins.str] compliance_frameworks: Compliance framework names to scope the policy to.
11512
+ :param 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs' projects: Project scope configuration.
11513
+ """
11514
+ if compliance_frameworks is not None:
11515
+ pulumi.set(__self__, "compliance_frameworks", compliance_frameworks)
11516
+ if projects is not None:
11517
+ pulumi.set(__self__, "projects", projects)
11518
+
11519
+ @_builtins.property
11520
+ @pulumi.getter(name="complianceFrameworks")
11521
+ def compliance_frameworks(self) -> Optional[Sequence[_builtins.str]]:
11522
+ """
11523
+ Compliance framework names to scope the policy to.
11524
+ """
11525
+ return pulumi.get(self, "compliance_frameworks")
11526
+
11527
+ @_builtins.property
11528
+ @pulumi.getter
11529
+ def projects(self) -> Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult']:
11530
+ """
11531
+ Project scope configuration.
11532
+ """
11533
+ return pulumi.get(self, "projects")
11534
+
11535
+
11536
+ @pulumi.output_type
11537
+ class GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult(dict):
11538
+ def __init__(__self__, *,
11539
+ excludings: Optional[Sequence[_builtins.int]] = None,
11540
+ includings: Optional[Sequence[_builtins.int]] = None):
11541
+ """
11542
+ :param Sequence[_builtins.int] excludings: List of project IDs to exclude from this policy.
11543
+ :param Sequence[_builtins.int] includings: List of project IDs to explicitly include in this policy.
11544
+ """
11545
+ if excludings is not None:
11546
+ pulumi.set(__self__, "excludings", excludings)
11547
+ if includings is not None:
11548
+ pulumi.set(__self__, "includings", includings)
11549
+
11550
+ @_builtins.property
11551
+ @pulumi.getter
11552
+ def excludings(self) -> Optional[Sequence[_builtins.int]]:
11553
+ """
11554
+ List of project IDs to exclude from this policy.
11555
+ """
11556
+ return pulumi.get(self, "excludings")
11557
+
11558
+ @_builtins.property
11559
+ @pulumi.getter
11560
+ def includings(self) -> Optional[Sequence[_builtins.int]]:
11561
+ """
11562
+ List of project IDs to explicitly include in this policy.
11563
+ """
11564
+ return pulumi.get(self, "includings")
11565
+
11566
+
11567
+ @pulumi.output_type
11568
+ class GetSecurityPolicyDocumentScanExecutionPolicyRuleResult(dict):
11569
+ def __init__(__self__, *,
11570
+ type: _builtins.str,
11571
+ agents: Optional[Mapping[str, _builtins.str]] = None,
11572
+ branch_exceptions: Optional[Sequence[_builtins.str]] = None,
11573
+ branch_type: Optional[_builtins.str] = None,
11574
+ branches: Optional[Sequence[_builtins.str]] = None,
11575
+ cadence: Optional[_builtins.str] = None):
11576
+ """
11577
+ :param _builtins.str type: Type of rule. Valid values: `pipeline`, `schedule`, `agent`.
11578
+ :param Mapping[str, _builtins.str] agents: Kubernetes agents configuration for agent-based policies.
11579
+ :param Sequence[_builtins.str] branch_exceptions: Branches to exclude from the policy.
11580
+ :param _builtins.str branch_type: Type of branches to match. Valid values: `all`, `protected`, `default`.
11581
+ :param Sequence[_builtins.str] branches: Branch names or patterns to match.
11582
+ :param _builtins.str cadence: Cron expression for schedule type rules (e.g., `*/15 * * * *` for every 15 minutes).
11583
+ """
11584
+ pulumi.set(__self__, "type", type)
11585
+ if agents is not None:
11586
+ pulumi.set(__self__, "agents", agents)
11587
+ if branch_exceptions is not None:
11588
+ pulumi.set(__self__, "branch_exceptions", branch_exceptions)
11589
+ if branch_type is not None:
11590
+ pulumi.set(__self__, "branch_type", branch_type)
11591
+ if branches is not None:
11592
+ pulumi.set(__self__, "branches", branches)
11593
+ if cadence is not None:
11594
+ pulumi.set(__self__, "cadence", cadence)
11595
+
11596
+ @_builtins.property
11597
+ @pulumi.getter
11598
+ def type(self) -> _builtins.str:
11599
+ """
11600
+ Type of rule. Valid values: `pipeline`, `schedule`, `agent`.
11601
+ """
11602
+ return pulumi.get(self, "type")
11603
+
11604
+ @_builtins.property
11605
+ @pulumi.getter
11606
+ def agents(self) -> Optional[Mapping[str, _builtins.str]]:
11607
+ """
11608
+ Kubernetes agents configuration for agent-based policies.
11609
+ """
11610
+ return pulumi.get(self, "agents")
11611
+
11612
+ @_builtins.property
11613
+ @pulumi.getter(name="branchExceptions")
11614
+ def branch_exceptions(self) -> Optional[Sequence[_builtins.str]]:
11615
+ """
11616
+ Branches to exclude from the policy.
11617
+ """
11618
+ return pulumi.get(self, "branch_exceptions")
11619
+
11620
+ @_builtins.property
11621
+ @pulumi.getter(name="branchType")
11622
+ def branch_type(self) -> Optional[_builtins.str]:
11623
+ """
11624
+ Type of branches to match. Valid values: `all`, `protected`, `default`.
11625
+ """
11626
+ return pulumi.get(self, "branch_type")
11627
+
11628
+ @_builtins.property
11629
+ @pulumi.getter
11630
+ def branches(self) -> Optional[Sequence[_builtins.str]]:
11631
+ """
11632
+ Branch names or patterns to match.
11633
+ """
11634
+ return pulumi.get(self, "branches")
11635
+
11636
+ @_builtins.property
11637
+ @pulumi.getter
11638
+ def cadence(self) -> Optional[_builtins.str]:
11639
+ """
11640
+ Cron expression for schedule type rules (e.g., `*/15 * * * *` for every 15 minutes).
11641
+ """
11642
+ return pulumi.get(self, "cadence")
11643
+
11644
+
11645
+ @pulumi.output_type
11646
+ class GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult(dict):
11647
+ def __init__(__self__, *,
11648
+ allowed: _builtins.bool):
11649
+ """
11650
+ :param _builtins.bool allowed: Allow (true) or prevent (false) the use of skip-ci directive.
11651
+ """
11652
+ pulumi.set(__self__, "allowed", allowed)
11653
+
11654
+ @_builtins.property
11655
+ @pulumi.getter
11656
+ def allowed(self) -> _builtins.bool:
11657
+ """
11658
+ Allow (true) or prevent (false) the use of skip-ci directive.
11659
+ """
11660
+ return pulumi.get(self, "allowed")
11661
+
11662
+
10496
11663
  @pulumi.output_type
10497
11664
  class GetUserSshkeysKeyResult(dict):
10498
11665
  def __init__(__self__, *,