pulumi-gitlab 9.6.0a1766428356__py3-none-any.whl → 9.7.0__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 (56) hide show
  1. pulumi_gitlab/__init__.py +13 -0
  2. pulumi_gitlab/_inputs.py +557 -0
  3. pulumi_gitlab/get_artifact_file.py +2 -2
  4. pulumi_gitlab/get_group_billable_member_memberships.py +2 -2
  5. pulumi_gitlab/get_group_membership.py +2 -2
  6. pulumi_gitlab/get_group_service_account.py +2 -2
  7. pulumi_gitlab/get_group_service_account_access_tokens.py +138 -0
  8. pulumi_gitlab/get_group_variable.py +1 -1
  9. pulumi_gitlab/get_instance_service_account.py +2 -2
  10. pulumi_gitlab/get_project.py +15 -1
  11. pulumi_gitlab/get_project_issue_label_events.py +170 -0
  12. pulumi_gitlab/get_project_membership.py +2 -2
  13. pulumi_gitlab/get_project_protected_tag.py +2 -2
  14. pulumi_gitlab/get_project_secure_file.py +247 -0
  15. pulumi_gitlab/get_projects.py +3 -3
  16. pulumi_gitlab/get_release_link.py +5 -5
  17. pulumi_gitlab/get_release_links.py +3 -3
  18. pulumi_gitlab/get_security_policy_document.py +170 -0
  19. pulumi_gitlab/global_level_notifications.py +2 -2
  20. pulumi_gitlab/group_access_token.py +4 -4
  21. pulumi_gitlab/group_label.py +7 -7
  22. pulumi_gitlab/group_membership.py +2 -2
  23. pulumi_gitlab/group_service_account.py +2 -2
  24. pulumi_gitlab/group_service_account_access_token.py +2 -2
  25. pulumi_gitlab/group_share_group.py +2 -2
  26. pulumi_gitlab/instance_service_account.py +2 -2
  27. pulumi_gitlab/instance_variable.py +12 -12
  28. pulumi_gitlab/label.py +7 -7
  29. pulumi_gitlab/member_role.py +9 -9
  30. pulumi_gitlab/outputs.py +770 -8
  31. pulumi_gitlab/pages_domain.py +7 -7
  32. pulumi_gitlab/personal_access_token.py +2 -2
  33. pulumi_gitlab/pipeline_schedule_variable.py +2 -2
  34. pulumi_gitlab/project.py +54 -7
  35. pulumi_gitlab/project_access_token.py +2 -2
  36. pulumi_gitlab/project_deploy_token.py +2 -2
  37. pulumi_gitlab/project_hook.py +2 -2
  38. pulumi_gitlab/project_label.py +11 -11
  39. pulumi_gitlab/project_level_mr_approvals.py +2 -2
  40. pulumi_gitlab/project_level_notifications.py +2 -2
  41. pulumi_gitlab/project_membership.py +2 -2
  42. pulumi_gitlab/project_target_branch_rule.py +2 -2
  43. pulumi_gitlab/project_variable.py +7 -7
  44. pulumi_gitlab/pulumi-plugin.json +1 -1
  45. pulumi_gitlab/release_link.py +18 -18
  46. pulumi_gitlab/runner.py +2 -2
  47. pulumi_gitlab/system_hook.py +7 -7
  48. pulumi_gitlab/user_avatar.py +386 -0
  49. pulumi_gitlab/user_gpg_key.py +2 -2
  50. pulumi_gitlab/user_impersonation_token.py +2 -2
  51. pulumi_gitlab/user_runner.py +2 -2
  52. pulumi_gitlab/user_ssh_key.py +2 -2
  53. {pulumi_gitlab-9.6.0a1766428356.dist-info → pulumi_gitlab-9.7.0.dist-info}/METADATA +1 -1
  54. {pulumi_gitlab-9.6.0a1766428356.dist-info → pulumi_gitlab-9.7.0.dist-info}/RECORD +56 -51
  55. {pulumi_gitlab-9.6.0a1766428356.dist-info → pulumi_gitlab-9.7.0.dist-info}/WHEEL +0 -0
  56. {pulumi_gitlab-9.6.0a1766428356.dist-info → pulumi_gitlab-9.7.0.dist-info}/top_level.txt +0 -0
pulumi_gitlab/outputs.py CHANGED
@@ -59,6 +59,7 @@ __all__ = [
59
59
  'GetGroupMembershipMemberResult',
60
60
  'GetGroupProvisionedUsersProvisionedUserResult',
61
61
  'GetGroupSamlLinksSamlLinkResult',
62
+ 'GetGroupServiceAccountAccessTokensAccessTokenResult',
62
63
  'GetGroupSharedWithGroupResult',
63
64
  'GetGroupSubgroupsSubgroupResult',
64
65
  'GetGroupVariablesVariableResult',
@@ -79,6 +80,9 @@ __all__ = [
79
80
  'GetProjectContainerExpirationPolicyResult',
80
81
  'GetProjectEnvironmentsEnvironmentResult',
81
82
  'GetProjectHooksHookResult',
83
+ 'GetProjectIssueLabelEventsEventResult',
84
+ 'GetProjectIssueLabelEventsEventLabelResult',
85
+ 'GetProjectIssueLabelEventsEventUserResult',
82
86
  'GetProjectIssueTaskCompletionStatusResult',
83
87
  'GetProjectIssuesIssueResult',
84
88
  'GetProjectIssuesIssueTaskCompletionStatusResult',
@@ -100,6 +104,9 @@ __all__ = [
100
104
  'GetProjectProtectedTagsProtectedTagResult',
101
105
  'GetProjectProtectedTagsProtectedTagCreateAccessLevelResult',
102
106
  'GetProjectPushRuleResult',
107
+ 'GetProjectSecureFileMetadataResult',
108
+ 'GetProjectSecureFileMetadataIssuerResult',
109
+ 'GetProjectSecureFileMetadataSubjectResult',
103
110
  'GetProjectSharedWithGroupResult',
104
111
  'GetProjectTagCommitResult',
105
112
  'GetProjectTagReleaseResult',
@@ -120,6 +127,12 @@ __all__ = [
120
127
  'GetReleaseLinksReleaseLinkResult',
121
128
  'GetRepositoryTreeTreeResult',
122
129
  'GetRunnersRunnerResult',
130
+ 'GetSecurityPolicyDocumentScanExecutionPolicyResult',
131
+ 'GetSecurityPolicyDocumentScanExecutionPolicyActionResult',
132
+ 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult',
133
+ 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult',
134
+ 'GetSecurityPolicyDocumentScanExecutionPolicyRuleResult',
135
+ 'GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult',
123
136
  'GetUserSshkeysKeyResult',
124
137
  'GetUsersUserResult',
125
138
  ]
@@ -3521,7 +3534,7 @@ class GetGroupBillableMemberMembershipsMembershipResult(dict):
3521
3534
  source_id: _builtins.int,
3522
3535
  source_members_url: _builtins.str):
3523
3536
  """
3524
- :param _builtins.str access_level: Access-level of the member. For details see: https://docs.gitlab.com/api/access_requests/#valid-access-levels
3537
+ :param _builtins.str access_level: Access-level of the member. For details see: https://docs.gitlab.com/user/permissions/#default-roles
3525
3538
  :param _builtins.str created_at: Datetime when the membership was first added.
3526
3539
  :param _builtins.str expires_at: Date when the membership will end.
3527
3540
  :param _builtins.int id: The id of the membership.
@@ -3541,7 +3554,7 @@ class GetGroupBillableMemberMembershipsMembershipResult(dict):
3541
3554
  @pulumi.getter(name="accessLevel")
3542
3555
  def access_level(self) -> _builtins.str:
3543
3556
  """
3544
- Access-level of the member. For details see: https://docs.gitlab.com/api/access_requests/#valid-access-levels
3557
+ Access-level of the member. For details see: https://docs.gitlab.com/user/permissions/#default-roles
3545
3558
  """
3546
3559
  return pulumi.get(self, "access_level")
3547
3560
 
@@ -4261,6 +4274,60 @@ class GetGroupSamlLinksSamlLinkResult(dict):
4261
4274
  return pulumi.get(self, "name")
4262
4275
 
4263
4276
 
4277
+ @pulumi.output_type
4278
+ class GetGroupServiceAccountAccessTokensAccessTokenResult(dict):
4279
+ def __init__(__self__, *,
4280
+ active: _builtins.bool,
4281
+ created_at: _builtins.str,
4282
+ expires_at: _builtins.str,
4283
+ id: _builtins.str,
4284
+ name: _builtins.str,
4285
+ revoked: _builtins.bool,
4286
+ scopes: Sequence[_builtins.str]):
4287
+ pulumi.set(__self__, "active", active)
4288
+ pulumi.set(__self__, "created_at", created_at)
4289
+ pulumi.set(__self__, "expires_at", expires_at)
4290
+ pulumi.set(__self__, "id", id)
4291
+ pulumi.set(__self__, "name", name)
4292
+ pulumi.set(__self__, "revoked", revoked)
4293
+ pulumi.set(__self__, "scopes", scopes)
4294
+
4295
+ @_builtins.property
4296
+ @pulumi.getter
4297
+ def active(self) -> _builtins.bool:
4298
+ return pulumi.get(self, "active")
4299
+
4300
+ @_builtins.property
4301
+ @pulumi.getter(name="createdAt")
4302
+ def created_at(self) -> _builtins.str:
4303
+ return pulumi.get(self, "created_at")
4304
+
4305
+ @_builtins.property
4306
+ @pulumi.getter(name="expiresAt")
4307
+ def expires_at(self) -> _builtins.str:
4308
+ return pulumi.get(self, "expires_at")
4309
+
4310
+ @_builtins.property
4311
+ @pulumi.getter
4312
+ def id(self) -> _builtins.str:
4313
+ return pulumi.get(self, "id")
4314
+
4315
+ @_builtins.property
4316
+ @pulumi.getter
4317
+ def name(self) -> _builtins.str:
4318
+ return pulumi.get(self, "name")
4319
+
4320
+ @_builtins.property
4321
+ @pulumi.getter
4322
+ def revoked(self) -> _builtins.bool:
4323
+ return pulumi.get(self, "revoked")
4324
+
4325
+ @_builtins.property
4326
+ @pulumi.getter
4327
+ def scopes(self) -> Sequence[_builtins.str]:
4328
+ return pulumi.get(self, "scopes")
4329
+
4330
+
4264
4331
  @pulumi.output_type
4265
4332
  class GetGroupSharedWithGroupResult(dict):
4266
4333
  def __init__(__self__, *,
@@ -6449,6 +6516,214 @@ class GetProjectHooksHookResult(dict):
6449
6516
  return pulumi.get(self, "wiki_page_events")
6450
6517
 
6451
6518
 
6519
+ @pulumi.output_type
6520
+ class GetProjectIssueLabelEventsEventResult(dict):
6521
+ def __init__(__self__, *,
6522
+ action: _builtins.str,
6523
+ created_at: _builtins.str,
6524
+ id: _builtins.int,
6525
+ label: 'outputs.GetProjectIssueLabelEventsEventLabelResult',
6526
+ resource_id: _builtins.int,
6527
+ resource_type: _builtins.str,
6528
+ user: 'outputs.GetProjectIssueLabelEventsEventUserResult'):
6529
+ """
6530
+ :param _builtins.str action: The action performed on the label (add, remove).
6531
+ :param _builtins.str created_at: The date and time when the label event was created.
6532
+ :param _builtins.int id: The ID of the label event.
6533
+ :param 'GetProjectIssueLabelEventsEventLabelArgs' label: The label that was added or removed.
6534
+ :param _builtins.int resource_id: The ID of the resource associated with the label event.
6535
+ :param _builtins.str resource_type: The type of the resource associated with the label event.
6536
+ :param 'GetProjectIssueLabelEventsEventUserArgs' user: The user who performed the action.
6537
+ """
6538
+ pulumi.set(__self__, "action", action)
6539
+ pulumi.set(__self__, "created_at", created_at)
6540
+ pulumi.set(__self__, "id", id)
6541
+ pulumi.set(__self__, "label", label)
6542
+ pulumi.set(__self__, "resource_id", resource_id)
6543
+ pulumi.set(__self__, "resource_type", resource_type)
6544
+ pulumi.set(__self__, "user", user)
6545
+
6546
+ @_builtins.property
6547
+ @pulumi.getter
6548
+ def action(self) -> _builtins.str:
6549
+ """
6550
+ The action performed on the label (add, remove).
6551
+ """
6552
+ return pulumi.get(self, "action")
6553
+
6554
+ @_builtins.property
6555
+ @pulumi.getter(name="createdAt")
6556
+ def created_at(self) -> _builtins.str:
6557
+ """
6558
+ The date and time when the label event was created.
6559
+ """
6560
+ return pulumi.get(self, "created_at")
6561
+
6562
+ @_builtins.property
6563
+ @pulumi.getter
6564
+ def id(self) -> _builtins.int:
6565
+ """
6566
+ The ID of the label event.
6567
+ """
6568
+ return pulumi.get(self, "id")
6569
+
6570
+ @_builtins.property
6571
+ @pulumi.getter
6572
+ def label(self) -> 'outputs.GetProjectIssueLabelEventsEventLabelResult':
6573
+ """
6574
+ The label that was added or removed.
6575
+ """
6576
+ return pulumi.get(self, "label")
6577
+
6578
+ @_builtins.property
6579
+ @pulumi.getter(name="resourceId")
6580
+ def resource_id(self) -> _builtins.int:
6581
+ """
6582
+ The ID of the resource associated with the label event.
6583
+ """
6584
+ return pulumi.get(self, "resource_id")
6585
+
6586
+ @_builtins.property
6587
+ @pulumi.getter(name="resourceType")
6588
+ def resource_type(self) -> _builtins.str:
6589
+ """
6590
+ The type of the resource associated with the label event.
6591
+ """
6592
+ return pulumi.get(self, "resource_type")
6593
+
6594
+ @_builtins.property
6595
+ @pulumi.getter
6596
+ def user(self) -> 'outputs.GetProjectIssueLabelEventsEventUserResult':
6597
+ """
6598
+ The user who performed the action.
6599
+ """
6600
+ return pulumi.get(self, "user")
6601
+
6602
+
6603
+ @pulumi.output_type
6604
+ class GetProjectIssueLabelEventsEventLabelResult(dict):
6605
+ def __init__(__self__, *,
6606
+ color: _builtins.str,
6607
+ description: _builtins.str,
6608
+ id: _builtins.int,
6609
+ name: _builtins.str):
6610
+ """
6611
+ :param _builtins.str color: The color of the label.
6612
+ :param _builtins.str description: The description of the label.
6613
+ :param _builtins.int id: The ID of the label.
6614
+ :param _builtins.str name: The name of the label.
6615
+ """
6616
+ pulumi.set(__self__, "color", color)
6617
+ pulumi.set(__self__, "description", description)
6618
+ pulumi.set(__self__, "id", id)
6619
+ pulumi.set(__self__, "name", name)
6620
+
6621
+ @_builtins.property
6622
+ @pulumi.getter
6623
+ def color(self) -> _builtins.str:
6624
+ """
6625
+ The color of the label.
6626
+ """
6627
+ return pulumi.get(self, "color")
6628
+
6629
+ @_builtins.property
6630
+ @pulumi.getter
6631
+ def description(self) -> _builtins.str:
6632
+ """
6633
+ The description of the label.
6634
+ """
6635
+ return pulumi.get(self, "description")
6636
+
6637
+ @_builtins.property
6638
+ @pulumi.getter
6639
+ def id(self) -> _builtins.int:
6640
+ """
6641
+ The ID of the label.
6642
+ """
6643
+ return pulumi.get(self, "id")
6644
+
6645
+ @_builtins.property
6646
+ @pulumi.getter
6647
+ def name(self) -> _builtins.str:
6648
+ """
6649
+ The name of the label.
6650
+ """
6651
+ return pulumi.get(self, "name")
6652
+
6653
+
6654
+ @pulumi.output_type
6655
+ class GetProjectIssueLabelEventsEventUserResult(dict):
6656
+ def __init__(__self__, *,
6657
+ avatar_url: _builtins.str,
6658
+ id: _builtins.int,
6659
+ name: _builtins.str,
6660
+ state: _builtins.str,
6661
+ username: _builtins.str,
6662
+ web_url: _builtins.str):
6663
+ """
6664
+ :param _builtins.str avatar_url: The avatar URL of the user.
6665
+ :param _builtins.int id: The ID of the user.
6666
+ :param _builtins.str name: The name of the user.
6667
+ :param _builtins.str state: The state of the user.
6668
+ :param _builtins.str username: The username of the user.
6669
+ :param _builtins.str web_url: The web URL of the user.
6670
+ """
6671
+ pulumi.set(__self__, "avatar_url", avatar_url)
6672
+ pulumi.set(__self__, "id", id)
6673
+ pulumi.set(__self__, "name", name)
6674
+ pulumi.set(__self__, "state", state)
6675
+ pulumi.set(__self__, "username", username)
6676
+ pulumi.set(__self__, "web_url", web_url)
6677
+
6678
+ @_builtins.property
6679
+ @pulumi.getter(name="avatarUrl")
6680
+ def avatar_url(self) -> _builtins.str:
6681
+ """
6682
+ The avatar URL of the user.
6683
+ """
6684
+ return pulumi.get(self, "avatar_url")
6685
+
6686
+ @_builtins.property
6687
+ @pulumi.getter
6688
+ def id(self) -> _builtins.int:
6689
+ """
6690
+ The ID of the user.
6691
+ """
6692
+ return pulumi.get(self, "id")
6693
+
6694
+ @_builtins.property
6695
+ @pulumi.getter
6696
+ def name(self) -> _builtins.str:
6697
+ """
6698
+ The name of the user.
6699
+ """
6700
+ return pulumi.get(self, "name")
6701
+
6702
+ @_builtins.property
6703
+ @pulumi.getter
6704
+ def state(self) -> _builtins.str:
6705
+ """
6706
+ The state of the user.
6707
+ """
6708
+ return pulumi.get(self, "state")
6709
+
6710
+ @_builtins.property
6711
+ @pulumi.getter
6712
+ def username(self) -> _builtins.str:
6713
+ """
6714
+ The username of the user.
6715
+ """
6716
+ return pulumi.get(self, "username")
6717
+
6718
+ @_builtins.property
6719
+ @pulumi.getter(name="webUrl")
6720
+ def web_url(self) -> _builtins.str:
6721
+ """
6722
+ The web URL of the user.
6723
+ """
6724
+ return pulumi.get(self, "web_url")
6725
+
6726
+
6452
6727
  @pulumi.output_type
6453
6728
  class GetProjectIssueTaskCompletionStatusResult(dict):
6454
6729
  def __init__(__self__, *,
@@ -8352,6 +8627,170 @@ class GetProjectPushRuleResult(dict):
8352
8627
  return pulumi.get(self, "reject_unsigned_commits")
8353
8628
 
8354
8629
 
8630
+ @pulumi.output_type
8631
+ class GetProjectSecureFileMetadataResult(dict):
8632
+ def __init__(__self__, *,
8633
+ expires_at: _builtins.str,
8634
+ id: _builtins.str,
8635
+ issuer: 'outputs.GetProjectSecureFileMetadataIssuerResult',
8636
+ subject: 'outputs.GetProjectSecureFileMetadataSubjectResult'):
8637
+ """
8638
+ :param _builtins.str expires_at: Certificate expiration date
8639
+ :param _builtins.str id: Certificate ID
8640
+ :param 'GetProjectSecureFileMetadataIssuerArgs' issuer: Certificate issuer information
8641
+ :param 'GetProjectSecureFileMetadataSubjectArgs' subject: Certificate subject information
8642
+ """
8643
+ pulumi.set(__self__, "expires_at", expires_at)
8644
+ pulumi.set(__self__, "id", id)
8645
+ pulumi.set(__self__, "issuer", issuer)
8646
+ pulumi.set(__self__, "subject", subject)
8647
+
8648
+ @_builtins.property
8649
+ @pulumi.getter(name="expiresAt")
8650
+ def expires_at(self) -> _builtins.str:
8651
+ """
8652
+ Certificate expiration date
8653
+ """
8654
+ return pulumi.get(self, "expires_at")
8655
+
8656
+ @_builtins.property
8657
+ @pulumi.getter
8658
+ def id(self) -> _builtins.str:
8659
+ """
8660
+ Certificate ID
8661
+ """
8662
+ return pulumi.get(self, "id")
8663
+
8664
+ @_builtins.property
8665
+ @pulumi.getter
8666
+ def issuer(self) -> 'outputs.GetProjectSecureFileMetadataIssuerResult':
8667
+ """
8668
+ Certificate issuer information
8669
+ """
8670
+ return pulumi.get(self, "issuer")
8671
+
8672
+ @_builtins.property
8673
+ @pulumi.getter
8674
+ def subject(self) -> 'outputs.GetProjectSecureFileMetadataSubjectResult':
8675
+ """
8676
+ Certificate subject information
8677
+ """
8678
+ return pulumi.get(self, "subject")
8679
+
8680
+
8681
+ @pulumi.output_type
8682
+ class GetProjectSecureFileMetadataIssuerResult(dict):
8683
+ def __init__(__self__, *,
8684
+ c: _builtins.str,
8685
+ cn: _builtins.str,
8686
+ o: _builtins.str,
8687
+ ou: _builtins.str):
8688
+ """
8689
+ :param _builtins.str c: Country
8690
+ :param _builtins.str cn: Common Name
8691
+ :param _builtins.str o: Organization
8692
+ :param _builtins.str ou: Organizational Unit
8693
+ """
8694
+ pulumi.set(__self__, "c", c)
8695
+ pulumi.set(__self__, "cn", cn)
8696
+ pulumi.set(__self__, "o", o)
8697
+ pulumi.set(__self__, "ou", ou)
8698
+
8699
+ @_builtins.property
8700
+ @pulumi.getter
8701
+ def c(self) -> _builtins.str:
8702
+ """
8703
+ Country
8704
+ """
8705
+ return pulumi.get(self, "c")
8706
+
8707
+ @_builtins.property
8708
+ @pulumi.getter
8709
+ def cn(self) -> _builtins.str:
8710
+ """
8711
+ Common Name
8712
+ """
8713
+ return pulumi.get(self, "cn")
8714
+
8715
+ @_builtins.property
8716
+ @pulumi.getter
8717
+ def o(self) -> _builtins.str:
8718
+ """
8719
+ Organization
8720
+ """
8721
+ return pulumi.get(self, "o")
8722
+
8723
+ @_builtins.property
8724
+ @pulumi.getter
8725
+ def ou(self) -> _builtins.str:
8726
+ """
8727
+ Organizational Unit
8728
+ """
8729
+ return pulumi.get(self, "ou")
8730
+
8731
+
8732
+ @pulumi.output_type
8733
+ class GetProjectSecureFileMetadataSubjectResult(dict):
8734
+ def __init__(__self__, *,
8735
+ c: _builtins.str,
8736
+ cn: _builtins.str,
8737
+ o: _builtins.str,
8738
+ ou: _builtins.str,
8739
+ uid: _builtins.str):
8740
+ """
8741
+ :param _builtins.str c: Country
8742
+ :param _builtins.str cn: Common Name
8743
+ :param _builtins.str o: Organization
8744
+ :param _builtins.str ou: Organizational Unit
8745
+ :param _builtins.str uid: User ID
8746
+ """
8747
+ pulumi.set(__self__, "c", c)
8748
+ pulumi.set(__self__, "cn", cn)
8749
+ pulumi.set(__self__, "o", o)
8750
+ pulumi.set(__self__, "ou", ou)
8751
+ pulumi.set(__self__, "uid", uid)
8752
+
8753
+ @_builtins.property
8754
+ @pulumi.getter
8755
+ def c(self) -> _builtins.str:
8756
+ """
8757
+ Country
8758
+ """
8759
+ return pulumi.get(self, "c")
8760
+
8761
+ @_builtins.property
8762
+ @pulumi.getter
8763
+ def cn(self) -> _builtins.str:
8764
+ """
8765
+ Common Name
8766
+ """
8767
+ return pulumi.get(self, "cn")
8768
+
8769
+ @_builtins.property
8770
+ @pulumi.getter
8771
+ def o(self) -> _builtins.str:
8772
+ """
8773
+ Organization
8774
+ """
8775
+ return pulumi.get(self, "o")
8776
+
8777
+ @_builtins.property
8778
+ @pulumi.getter
8779
+ def ou(self) -> _builtins.str:
8780
+ """
8781
+ Organizational Unit
8782
+ """
8783
+ return pulumi.get(self, "ou")
8784
+
8785
+ @_builtins.property
8786
+ @pulumi.getter
8787
+ def uid(self) -> _builtins.str:
8788
+ """
8789
+ User ID
8790
+ """
8791
+ return pulumi.get(self, "uid")
8792
+
8793
+
8355
8794
  @pulumi.output_type
8356
8795
  class GetProjectSharedWithGroupResult(dict):
8357
8796
  def __init__(__self__, *,
@@ -10573,13 +11012,13 @@ class GetReleaseLinksReleaseLinkResult(dict):
10573
11012
  tag_name: _builtins.str,
10574
11013
  url: _builtins.str):
10575
11014
  """
10576
- :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).
11015
+ :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).
10577
11016
  :param _builtins.bool external: External or internal link.
10578
- :param _builtins.str filepath: Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets).
11017
+ :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).
10579
11018
  :param _builtins.int link_id: The ID of the link.
10580
11019
  :param _builtins.str link_type: The type of the link. Valid values are `other`, `runbook`, `image`, `package`.
10581
11020
  :param _builtins.str name: The name of the link. Link names must be unique within the release.
10582
- :param _builtins.str project: The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding).
11021
+ :param _builtins.str project: The ID or Namespace path of the project.
10583
11022
  :param _builtins.str tag_name: The tag associated with the Release.
10584
11023
  :param _builtins.str url: The URL of the link. Link URLs must be unique within the release.
10585
11024
  """
@@ -10597,7 +11036,7 @@ class GetReleaseLinksReleaseLinkResult(dict):
10597
11036
  @pulumi.getter(name="directAssetUrl")
10598
11037
  def direct_asset_url(self) -> _builtins.str:
10599
11038
  """
10600
- Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets).
11039
+ Full path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets).
10601
11040
  """
10602
11041
  return pulumi.get(self, "direct_asset_url")
10603
11042
 
@@ -10613,7 +11052,7 @@ class GetReleaseLinksReleaseLinkResult(dict):
10613
11052
  @pulumi.getter
10614
11053
  def filepath(self) -> _builtins.str:
10615
11054
  """
10616
- Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/index/#permanent-links-to-release-assets).
11055
+ Relative path for a [Direct Asset link](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-latest-release-assets).
10617
11056
  """
10618
11057
  return pulumi.get(self, "filepath")
10619
11058
 
@@ -10645,7 +11084,7 @@ class GetReleaseLinksReleaseLinkResult(dict):
10645
11084
  @pulumi.getter
10646
11085
  def project(self) -> _builtins.str:
10647
11086
  """
10648
- The ID or [URL-encoded path of the project](https://docs.gitlab.com/api/index/#namespaced-path-encoding).
11087
+ The ID or Namespace path of the project.
10649
11088
  """
10650
11089
  return pulumi.get(self, "project")
10651
11090
 
@@ -10824,6 +11263,329 @@ class GetRunnersRunnerResult(dict):
10824
11263
  return pulumi.get(self, "status")
10825
11264
 
10826
11265
 
11266
+ @pulumi.output_type
11267
+ class GetSecurityPolicyDocumentScanExecutionPolicyResult(dict):
11268
+ def __init__(__self__, *,
11269
+ actions: Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyActionResult'],
11270
+ enabled: _builtins.bool,
11271
+ name: _builtins.str,
11272
+ rules: Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyRuleResult'],
11273
+ description: Optional[_builtins.str] = None,
11274
+ policy_scope: Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult'] = None,
11275
+ skip_ci: Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult'] = None):
11276
+ """
11277
+ :param Sequence['GetSecurityPolicyDocumentScanExecutionPolicyActionArgs'] actions: Actions to execute when rules match. At least one action is required.
11278
+ :param _builtins.bool enabled: Whether the policy is enabled.
11279
+ :param _builtins.str name: Name of the scan execution policy.
11280
+ :param Sequence['GetSecurityPolicyDocumentScanExecutionPolicyRuleArgs'] rules: Rules that trigger the policy. At least one rule is required.
11281
+ :param _builtins.str description: Description of the scan execution policy.
11282
+ :param 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeArgs' policy_scope: Scope configuration to limit which projects the policy applies to.
11283
+ :param 'GetSecurityPolicyDocumentScanExecutionPolicySkipCiArgs' skip_ci: Control whether users can use the skip-ci directive.
11284
+ """
11285
+ pulumi.set(__self__, "actions", actions)
11286
+ pulumi.set(__self__, "enabled", enabled)
11287
+ pulumi.set(__self__, "name", name)
11288
+ pulumi.set(__self__, "rules", rules)
11289
+ if description is not None:
11290
+ pulumi.set(__self__, "description", description)
11291
+ if policy_scope is not None:
11292
+ pulumi.set(__self__, "policy_scope", policy_scope)
11293
+ if skip_ci is not None:
11294
+ pulumi.set(__self__, "skip_ci", skip_ci)
11295
+
11296
+ @_builtins.property
11297
+ @pulumi.getter
11298
+ def actions(self) -> Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyActionResult']:
11299
+ """
11300
+ Actions to execute when rules match. At least one action is required.
11301
+ """
11302
+ return pulumi.get(self, "actions")
11303
+
11304
+ @_builtins.property
11305
+ @pulumi.getter
11306
+ def enabled(self) -> _builtins.bool:
11307
+ """
11308
+ Whether the policy is enabled.
11309
+ """
11310
+ return pulumi.get(self, "enabled")
11311
+
11312
+ @_builtins.property
11313
+ @pulumi.getter
11314
+ def name(self) -> _builtins.str:
11315
+ """
11316
+ Name of the scan execution policy.
11317
+ """
11318
+ return pulumi.get(self, "name")
11319
+
11320
+ @_builtins.property
11321
+ @pulumi.getter
11322
+ def rules(self) -> Sequence['outputs.GetSecurityPolicyDocumentScanExecutionPolicyRuleResult']:
11323
+ """
11324
+ Rules that trigger the policy. At least one rule is required.
11325
+ """
11326
+ return pulumi.get(self, "rules")
11327
+
11328
+ @_builtins.property
11329
+ @pulumi.getter
11330
+ def description(self) -> Optional[_builtins.str]:
11331
+ """
11332
+ Description of the scan execution policy.
11333
+ """
11334
+ return pulumi.get(self, "description")
11335
+
11336
+ @_builtins.property
11337
+ @pulumi.getter(name="policyScope")
11338
+ def policy_scope(self) -> Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult']:
11339
+ """
11340
+ Scope configuration to limit which projects the policy applies to.
11341
+ """
11342
+ return pulumi.get(self, "policy_scope")
11343
+
11344
+ @_builtins.property
11345
+ @pulumi.getter(name="skipCi")
11346
+ def skip_ci(self) -> Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult']:
11347
+ """
11348
+ Control whether users can use the skip-ci directive.
11349
+ """
11350
+ return pulumi.get(self, "skip_ci")
11351
+
11352
+
11353
+ @pulumi.output_type
11354
+ class GetSecurityPolicyDocumentScanExecutionPolicyActionResult(dict):
11355
+ def __init__(__self__, *,
11356
+ scan: _builtins.str,
11357
+ scanner_profile: Optional[_builtins.str] = None,
11358
+ site_profile: Optional[_builtins.str] = None,
11359
+ tags_to_excludes: Optional[Sequence[_builtins.str]] = None,
11360
+ template: Optional[_builtins.str] = None,
11361
+ variables: Optional[Mapping[str, _builtins.str]] = None):
11362
+ """
11363
+ :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`.
11364
+ :param _builtins.str scanner_profile: Scanner profile to use for DAST scans.
11365
+ :param _builtins.str site_profile: Site profile to use for DAST scans.
11366
+ :param Sequence[_builtins.str] tags_to_excludes: Tags to exclude from the scan.
11367
+ :param _builtins.str template: The template to use for the scan. Valid values: `default`, `latest`.
11368
+ :param Mapping[str, _builtins.str] variables: Environment variables to pass to the scan job.
11369
+ """
11370
+ pulumi.set(__self__, "scan", scan)
11371
+ if scanner_profile is not None:
11372
+ pulumi.set(__self__, "scanner_profile", scanner_profile)
11373
+ if site_profile is not None:
11374
+ pulumi.set(__self__, "site_profile", site_profile)
11375
+ if tags_to_excludes is not None:
11376
+ pulumi.set(__self__, "tags_to_excludes", tags_to_excludes)
11377
+ if template is not None:
11378
+ pulumi.set(__self__, "template", template)
11379
+ if variables is not None:
11380
+ pulumi.set(__self__, "variables", variables)
11381
+
11382
+ @_builtins.property
11383
+ @pulumi.getter
11384
+ def scan(self) -> _builtins.str:
11385
+ """
11386
+ Type of scan to run. Valid values: `sast`, `secret_detection`, `container_scanning`, `dependency_scanning`, `dast`, `sast_iac`, `cluster_image_scanning`, `api_fuzzing`, `coverage_fuzzing`.
11387
+ """
11388
+ return pulumi.get(self, "scan")
11389
+
11390
+ @_builtins.property
11391
+ @pulumi.getter(name="scannerProfile")
11392
+ def scanner_profile(self) -> Optional[_builtins.str]:
11393
+ """
11394
+ Scanner profile to use for DAST scans.
11395
+ """
11396
+ return pulumi.get(self, "scanner_profile")
11397
+
11398
+ @_builtins.property
11399
+ @pulumi.getter(name="siteProfile")
11400
+ def site_profile(self) -> Optional[_builtins.str]:
11401
+ """
11402
+ Site profile to use for DAST scans.
11403
+ """
11404
+ return pulumi.get(self, "site_profile")
11405
+
11406
+ @_builtins.property
11407
+ @pulumi.getter(name="tagsToExcludes")
11408
+ def tags_to_excludes(self) -> Optional[Sequence[_builtins.str]]:
11409
+ """
11410
+ Tags to exclude from the scan.
11411
+ """
11412
+ return pulumi.get(self, "tags_to_excludes")
11413
+
11414
+ @_builtins.property
11415
+ @pulumi.getter
11416
+ def template(self) -> Optional[_builtins.str]:
11417
+ """
11418
+ The template to use for the scan. Valid values: `default`, `latest`.
11419
+ """
11420
+ return pulumi.get(self, "template")
11421
+
11422
+ @_builtins.property
11423
+ @pulumi.getter
11424
+ def variables(self) -> Optional[Mapping[str, _builtins.str]]:
11425
+ """
11426
+ Environment variables to pass to the scan job.
11427
+ """
11428
+ return pulumi.get(self, "variables")
11429
+
11430
+
11431
+ @pulumi.output_type
11432
+ class GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeResult(dict):
11433
+ def __init__(__self__, *,
11434
+ compliance_frameworks: Optional[Sequence[_builtins.str]] = None,
11435
+ projects: Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult'] = None):
11436
+ """
11437
+ :param Sequence[_builtins.str] compliance_frameworks: Compliance framework names to scope the policy to.
11438
+ :param 'GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsArgs' projects: Project scope configuration.
11439
+ """
11440
+ if compliance_frameworks is not None:
11441
+ pulumi.set(__self__, "compliance_frameworks", compliance_frameworks)
11442
+ if projects is not None:
11443
+ pulumi.set(__self__, "projects", projects)
11444
+
11445
+ @_builtins.property
11446
+ @pulumi.getter(name="complianceFrameworks")
11447
+ def compliance_frameworks(self) -> Optional[Sequence[_builtins.str]]:
11448
+ """
11449
+ Compliance framework names to scope the policy to.
11450
+ """
11451
+ return pulumi.get(self, "compliance_frameworks")
11452
+
11453
+ @_builtins.property
11454
+ @pulumi.getter
11455
+ def projects(self) -> Optional['outputs.GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult']:
11456
+ """
11457
+ Project scope configuration.
11458
+ """
11459
+ return pulumi.get(self, "projects")
11460
+
11461
+
11462
+ @pulumi.output_type
11463
+ class GetSecurityPolicyDocumentScanExecutionPolicyPolicyScopeProjectsResult(dict):
11464
+ def __init__(__self__, *,
11465
+ excludings: Optional[Sequence[_builtins.int]] = None,
11466
+ includings: Optional[Sequence[_builtins.int]] = None):
11467
+ """
11468
+ :param Sequence[_builtins.int] excludings: List of project IDs to exclude from this policy.
11469
+ :param Sequence[_builtins.int] includings: List of project IDs to explicitly include in this policy.
11470
+ """
11471
+ if excludings is not None:
11472
+ pulumi.set(__self__, "excludings", excludings)
11473
+ if includings is not None:
11474
+ pulumi.set(__self__, "includings", includings)
11475
+
11476
+ @_builtins.property
11477
+ @pulumi.getter
11478
+ def excludings(self) -> Optional[Sequence[_builtins.int]]:
11479
+ """
11480
+ List of project IDs to exclude from this policy.
11481
+ """
11482
+ return pulumi.get(self, "excludings")
11483
+
11484
+ @_builtins.property
11485
+ @pulumi.getter
11486
+ def includings(self) -> Optional[Sequence[_builtins.int]]:
11487
+ """
11488
+ List of project IDs to explicitly include in this policy.
11489
+ """
11490
+ return pulumi.get(self, "includings")
11491
+
11492
+
11493
+ @pulumi.output_type
11494
+ class GetSecurityPolicyDocumentScanExecutionPolicyRuleResult(dict):
11495
+ def __init__(__self__, *,
11496
+ type: _builtins.str,
11497
+ agents: Optional[Mapping[str, _builtins.str]] = None,
11498
+ branch_exceptions: Optional[Sequence[_builtins.str]] = None,
11499
+ branch_type: Optional[_builtins.str] = None,
11500
+ branches: Optional[Sequence[_builtins.str]] = None,
11501
+ cadence: Optional[_builtins.str] = None):
11502
+ """
11503
+ :param _builtins.str type: Type of rule. Valid values: `pipeline`, `schedule`, `agent`.
11504
+ :param Mapping[str, _builtins.str] agents: Kubernetes agents configuration for agent-based policies.
11505
+ :param Sequence[_builtins.str] branch_exceptions: Branches to exclude from the policy.
11506
+ :param _builtins.str branch_type: Type of branches to match. Valid values: `all`, `protected`, `default`.
11507
+ :param Sequence[_builtins.str] branches: Branch names or patterns to match.
11508
+ :param _builtins.str cadence: Cron expression for schedule type rules (e.g., `*/15 * * * *` for every 15 minutes).
11509
+ """
11510
+ pulumi.set(__self__, "type", type)
11511
+ if agents is not None:
11512
+ pulumi.set(__self__, "agents", agents)
11513
+ if branch_exceptions is not None:
11514
+ pulumi.set(__self__, "branch_exceptions", branch_exceptions)
11515
+ if branch_type is not None:
11516
+ pulumi.set(__self__, "branch_type", branch_type)
11517
+ if branches is not None:
11518
+ pulumi.set(__self__, "branches", branches)
11519
+ if cadence is not None:
11520
+ pulumi.set(__self__, "cadence", cadence)
11521
+
11522
+ @_builtins.property
11523
+ @pulumi.getter
11524
+ def type(self) -> _builtins.str:
11525
+ """
11526
+ Type of rule. Valid values: `pipeline`, `schedule`, `agent`.
11527
+ """
11528
+ return pulumi.get(self, "type")
11529
+
11530
+ @_builtins.property
11531
+ @pulumi.getter
11532
+ def agents(self) -> Optional[Mapping[str, _builtins.str]]:
11533
+ """
11534
+ Kubernetes agents configuration for agent-based policies.
11535
+ """
11536
+ return pulumi.get(self, "agents")
11537
+
11538
+ @_builtins.property
11539
+ @pulumi.getter(name="branchExceptions")
11540
+ def branch_exceptions(self) -> Optional[Sequence[_builtins.str]]:
11541
+ """
11542
+ Branches to exclude from the policy.
11543
+ """
11544
+ return pulumi.get(self, "branch_exceptions")
11545
+
11546
+ @_builtins.property
11547
+ @pulumi.getter(name="branchType")
11548
+ def branch_type(self) -> Optional[_builtins.str]:
11549
+ """
11550
+ Type of branches to match. Valid values: `all`, `protected`, `default`.
11551
+ """
11552
+ return pulumi.get(self, "branch_type")
11553
+
11554
+ @_builtins.property
11555
+ @pulumi.getter
11556
+ def branches(self) -> Optional[Sequence[_builtins.str]]:
11557
+ """
11558
+ Branch names or patterns to match.
11559
+ """
11560
+ return pulumi.get(self, "branches")
11561
+
11562
+ @_builtins.property
11563
+ @pulumi.getter
11564
+ def cadence(self) -> Optional[_builtins.str]:
11565
+ """
11566
+ Cron expression for schedule type rules (e.g., `*/15 * * * *` for every 15 minutes).
11567
+ """
11568
+ return pulumi.get(self, "cadence")
11569
+
11570
+
11571
+ @pulumi.output_type
11572
+ class GetSecurityPolicyDocumentScanExecutionPolicySkipCiResult(dict):
11573
+ def __init__(__self__, *,
11574
+ allowed: _builtins.bool):
11575
+ """
11576
+ :param _builtins.bool allowed: Allow (true) or prevent (false) the use of skip-ci directive.
11577
+ """
11578
+ pulumi.set(__self__, "allowed", allowed)
11579
+
11580
+ @_builtins.property
11581
+ @pulumi.getter
11582
+ def allowed(self) -> _builtins.bool:
11583
+ """
11584
+ Allow (true) or prevent (false) the use of skip-ci directive.
11585
+ """
11586
+ return pulumi.get(self, "allowed")
11587
+
11588
+
10827
11589
  @pulumi.output_type
10828
11590
  class GetUserSshkeysKeyResult(dict):
10829
11591
  def __init__(__self__, *,