pulumi-gcp 8.3.1a1727284265__py3-none-any.whl → 8.4.0a1727795436__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 (49) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/apigee/nat_address.py +155 -2
  3. pulumi_gcp/bigquery/_inputs.py +102 -0
  4. pulumi_gcp/bigquery/outputs.py +83 -0
  5. pulumi_gcp/bigquery/table.py +47 -0
  6. pulumi_gcp/cloudrun/_inputs.py +26 -0
  7. pulumi_gcp/cloudrun/outputs.py +33 -0
  8. pulumi_gcp/cloudrun/service.py +76 -0
  9. pulumi_gcp/cloudrunv2/_inputs.py +65 -9
  10. pulumi_gcp/cloudrunv2/outputs.py +73 -8
  11. pulumi_gcp/cloudrunv2/service.py +64 -0
  12. pulumi_gcp/compute/__init__.py +3 -0
  13. pulumi_gcp/compute/_inputs.py +1941 -2
  14. pulumi_gcp/compute/get_region_instance_group_manager.py +438 -0
  15. pulumi_gcp/compute/get_router_nat.py +11 -1
  16. pulumi_gcp/compute/instance.py +7 -7
  17. pulumi_gcp/compute/instance_from_machine_image.py +7 -7
  18. pulumi_gcp/compute/instance_from_template.py +7 -7
  19. pulumi_gcp/compute/interconnect.py +76 -64
  20. pulumi_gcp/compute/outputs.py +4637 -2640
  21. pulumi_gcp/compute/region_commitment.py +47 -0
  22. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +835 -0
  23. pulumi_gcp/compute/router_nat.py +56 -2
  24. pulumi_gcp/compute/router_nat_address.py +514 -0
  25. pulumi_gcp/compute/subnetwork.py +14 -14
  26. pulumi_gcp/container/_inputs.py +222 -0
  27. pulumi_gcp/container/outputs.py +279 -2
  28. pulumi_gcp/logging/__init__.py +1 -0
  29. pulumi_gcp/logging/log_scope.py +492 -0
  30. pulumi_gcp/looker/_inputs.py +157 -0
  31. pulumi_gcp/looker/instance.py +143 -0
  32. pulumi_gcp/looker/outputs.py +136 -0
  33. pulumi_gcp/networkconnectivity/_inputs.py +72 -3
  34. pulumi_gcp/networkconnectivity/outputs.py +51 -3
  35. pulumi_gcp/networkconnectivity/spoke.py +310 -0
  36. pulumi_gcp/networksecurity/security_profile.py +2 -2
  37. pulumi_gcp/privilegedaccessmanager/__init__.py +1 -0
  38. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +219 -0
  39. pulumi_gcp/privilegedaccessmanager/outputs.py +312 -0
  40. pulumi_gcp/pulumi-plugin.json +1 -1
  41. pulumi_gcp/secretmanager/__init__.py +2 -0
  42. pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
  43. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +188 -0
  44. pulumi_gcp/secretmanager/get_regional_secrets.py +156 -0
  45. pulumi_gcp/secretmanager/outputs.py +265 -0
  46. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/METADATA +1 -1
  47. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/RECORD +49 -42
  48. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/WHEEL +0 -0
  49. {pulumi_gcp-8.3.1a1727284265.dist-info → pulumi_gcp-8.4.0a1727795436.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,219 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetEntitlementResult',
20
+ 'AwaitableGetEntitlementResult',
21
+ 'get_entitlement',
22
+ 'get_entitlement_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetEntitlementResult:
27
+ """
28
+ A collection of values returned by getEntitlement.
29
+ """
30
+ def __init__(__self__, additional_notification_targets=None, approval_workflows=None, create_time=None, eligible_users=None, entitlement_id=None, etag=None, id=None, location=None, max_request_duration=None, name=None, parent=None, privileged_accesses=None, requester_justification_configs=None, state=None, update_time=None):
31
+ if additional_notification_targets and not isinstance(additional_notification_targets, list):
32
+ raise TypeError("Expected argument 'additional_notification_targets' to be a list")
33
+ pulumi.set(__self__, "additional_notification_targets", additional_notification_targets)
34
+ if approval_workflows and not isinstance(approval_workflows, list):
35
+ raise TypeError("Expected argument 'approval_workflows' to be a list")
36
+ pulumi.set(__self__, "approval_workflows", approval_workflows)
37
+ if create_time and not isinstance(create_time, str):
38
+ raise TypeError("Expected argument 'create_time' to be a str")
39
+ pulumi.set(__self__, "create_time", create_time)
40
+ if eligible_users and not isinstance(eligible_users, list):
41
+ raise TypeError("Expected argument 'eligible_users' to be a list")
42
+ pulumi.set(__self__, "eligible_users", eligible_users)
43
+ if entitlement_id and not isinstance(entitlement_id, str):
44
+ raise TypeError("Expected argument 'entitlement_id' to be a str")
45
+ pulumi.set(__self__, "entitlement_id", entitlement_id)
46
+ if etag and not isinstance(etag, str):
47
+ raise TypeError("Expected argument 'etag' to be a str")
48
+ pulumi.set(__self__, "etag", etag)
49
+ if id and not isinstance(id, str):
50
+ raise TypeError("Expected argument 'id' to be a str")
51
+ pulumi.set(__self__, "id", id)
52
+ if location and not isinstance(location, str):
53
+ raise TypeError("Expected argument 'location' to be a str")
54
+ pulumi.set(__self__, "location", location)
55
+ if max_request_duration and not isinstance(max_request_duration, str):
56
+ raise TypeError("Expected argument 'max_request_duration' to be a str")
57
+ pulumi.set(__self__, "max_request_duration", max_request_duration)
58
+ if name and not isinstance(name, str):
59
+ raise TypeError("Expected argument 'name' to be a str")
60
+ pulumi.set(__self__, "name", name)
61
+ if parent and not isinstance(parent, str):
62
+ raise TypeError("Expected argument 'parent' to be a str")
63
+ pulumi.set(__self__, "parent", parent)
64
+ if privileged_accesses and not isinstance(privileged_accesses, list):
65
+ raise TypeError("Expected argument 'privileged_accesses' to be a list")
66
+ pulumi.set(__self__, "privileged_accesses", privileged_accesses)
67
+ if requester_justification_configs and not isinstance(requester_justification_configs, list):
68
+ raise TypeError("Expected argument 'requester_justification_configs' to be a list")
69
+ pulumi.set(__self__, "requester_justification_configs", requester_justification_configs)
70
+ if state and not isinstance(state, str):
71
+ raise TypeError("Expected argument 'state' to be a str")
72
+ pulumi.set(__self__, "state", state)
73
+ if update_time and not isinstance(update_time, str):
74
+ raise TypeError("Expected argument 'update_time' to be a str")
75
+ pulumi.set(__self__, "update_time", update_time)
76
+
77
+ @property
78
+ @pulumi.getter(name="additionalNotificationTargets")
79
+ def additional_notification_targets(self) -> Sequence['outputs.GetEntitlementAdditionalNotificationTargetResult']:
80
+ return pulumi.get(self, "additional_notification_targets")
81
+
82
+ @property
83
+ @pulumi.getter(name="approvalWorkflows")
84
+ def approval_workflows(self) -> Sequence['outputs.GetEntitlementApprovalWorkflowResult']:
85
+ return pulumi.get(self, "approval_workflows")
86
+
87
+ @property
88
+ @pulumi.getter(name="createTime")
89
+ def create_time(self) -> str:
90
+ return pulumi.get(self, "create_time")
91
+
92
+ @property
93
+ @pulumi.getter(name="eligibleUsers")
94
+ def eligible_users(self) -> Sequence['outputs.GetEntitlementEligibleUserResult']:
95
+ return pulumi.get(self, "eligible_users")
96
+
97
+ @property
98
+ @pulumi.getter(name="entitlementId")
99
+ def entitlement_id(self) -> Optional[str]:
100
+ return pulumi.get(self, "entitlement_id")
101
+
102
+ @property
103
+ @pulumi.getter
104
+ def etag(self) -> str:
105
+ return pulumi.get(self, "etag")
106
+
107
+ @property
108
+ @pulumi.getter
109
+ def id(self) -> str:
110
+ """
111
+ The provider-assigned unique ID for this managed resource.
112
+ """
113
+ return pulumi.get(self, "id")
114
+
115
+ @property
116
+ @pulumi.getter
117
+ def location(self) -> Optional[str]:
118
+ return pulumi.get(self, "location")
119
+
120
+ @property
121
+ @pulumi.getter(name="maxRequestDuration")
122
+ def max_request_duration(self) -> str:
123
+ return pulumi.get(self, "max_request_duration")
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def name(self) -> str:
128
+ return pulumi.get(self, "name")
129
+
130
+ @property
131
+ @pulumi.getter
132
+ def parent(self) -> Optional[str]:
133
+ return pulumi.get(self, "parent")
134
+
135
+ @property
136
+ @pulumi.getter(name="privilegedAccesses")
137
+ def privileged_accesses(self) -> Sequence['outputs.GetEntitlementPrivilegedAccessResult']:
138
+ return pulumi.get(self, "privileged_accesses")
139
+
140
+ @property
141
+ @pulumi.getter(name="requesterJustificationConfigs")
142
+ def requester_justification_configs(self) -> Sequence['outputs.GetEntitlementRequesterJustificationConfigResult']:
143
+ return pulumi.get(self, "requester_justification_configs")
144
+
145
+ @property
146
+ @pulumi.getter
147
+ def state(self) -> str:
148
+ return pulumi.get(self, "state")
149
+
150
+ @property
151
+ @pulumi.getter(name="updateTime")
152
+ def update_time(self) -> str:
153
+ return pulumi.get(self, "update_time")
154
+
155
+
156
+ class AwaitableGetEntitlementResult(GetEntitlementResult):
157
+ # pylint: disable=using-constant-test
158
+ def __await__(self):
159
+ if False:
160
+ yield self
161
+ return GetEntitlementResult(
162
+ additional_notification_targets=self.additional_notification_targets,
163
+ approval_workflows=self.approval_workflows,
164
+ create_time=self.create_time,
165
+ eligible_users=self.eligible_users,
166
+ entitlement_id=self.entitlement_id,
167
+ etag=self.etag,
168
+ id=self.id,
169
+ location=self.location,
170
+ max_request_duration=self.max_request_duration,
171
+ name=self.name,
172
+ parent=self.parent,
173
+ privileged_accesses=self.privileged_accesses,
174
+ requester_justification_configs=self.requester_justification_configs,
175
+ state=self.state,
176
+ update_time=self.update_time)
177
+
178
+
179
+ def get_entitlement(entitlement_id: Optional[str] = None,
180
+ location: Optional[str] = None,
181
+ parent: Optional[str] = None,
182
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEntitlementResult:
183
+ """
184
+ Use this data source to access information about an existing resource.
185
+ """
186
+ __args__ = dict()
187
+ __args__['entitlementId'] = entitlement_id
188
+ __args__['location'] = location
189
+ __args__['parent'] = parent
190
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
191
+ __ret__ = pulumi.runtime.invoke('gcp:privilegedaccessmanager/getEntitlement:getEntitlement', __args__, opts=opts, typ=GetEntitlementResult).value
192
+
193
+ return AwaitableGetEntitlementResult(
194
+ additional_notification_targets=pulumi.get(__ret__, 'additional_notification_targets'),
195
+ approval_workflows=pulumi.get(__ret__, 'approval_workflows'),
196
+ create_time=pulumi.get(__ret__, 'create_time'),
197
+ eligible_users=pulumi.get(__ret__, 'eligible_users'),
198
+ entitlement_id=pulumi.get(__ret__, 'entitlement_id'),
199
+ etag=pulumi.get(__ret__, 'etag'),
200
+ id=pulumi.get(__ret__, 'id'),
201
+ location=pulumi.get(__ret__, 'location'),
202
+ max_request_duration=pulumi.get(__ret__, 'max_request_duration'),
203
+ name=pulumi.get(__ret__, 'name'),
204
+ parent=pulumi.get(__ret__, 'parent'),
205
+ privileged_accesses=pulumi.get(__ret__, 'privileged_accesses'),
206
+ requester_justification_configs=pulumi.get(__ret__, 'requester_justification_configs'),
207
+ state=pulumi.get(__ret__, 'state'),
208
+ update_time=pulumi.get(__ret__, 'update_time'))
209
+
210
+
211
+ @_utilities.lift_output_func(get_entitlement)
212
+ def get_entitlement_output(entitlement_id: Optional[pulumi.Input[Optional[str]]] = None,
213
+ location: Optional[pulumi.Input[Optional[str]]] = None,
214
+ parent: Optional[pulumi.Input[Optional[str]]] = None,
215
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetEntitlementResult]:
216
+ """
217
+ Use this data source to access information about an existing resource.
218
+ """
219
+ ...
@@ -28,6 +28,18 @@ __all__ = [
28
28
  'EntitlementRequesterJustificationConfig',
29
29
  'EntitlementRequesterJustificationConfigNotMandatory',
30
30
  'EntitlementRequesterJustificationConfigUnstructured',
31
+ 'GetEntitlementAdditionalNotificationTargetResult',
32
+ 'GetEntitlementApprovalWorkflowResult',
33
+ 'GetEntitlementApprovalWorkflowManualApprovalResult',
34
+ 'GetEntitlementApprovalWorkflowManualApprovalStepResult',
35
+ 'GetEntitlementApprovalWorkflowManualApprovalStepApproverResult',
36
+ 'GetEntitlementEligibleUserResult',
37
+ 'GetEntitlementPrivilegedAccessResult',
38
+ 'GetEntitlementPrivilegedAccessGcpIamAccessResult',
39
+ 'GetEntitlementPrivilegedAccessGcpIamAccessRoleBindingResult',
40
+ 'GetEntitlementRequesterJustificationConfigResult',
41
+ 'GetEntitlementRequesterJustificationConfigNotMandatoryResult',
42
+ 'GetEntitlementRequesterJustificationConfigUnstructuredResult',
31
43
  ]
32
44
 
33
45
  @pulumi.output_type
@@ -494,3 +506,303 @@ class EntitlementRequesterJustificationConfigUnstructured(dict):
494
506
  pass
495
507
 
496
508
 
509
+ @pulumi.output_type
510
+ class GetEntitlementAdditionalNotificationTargetResult(dict):
511
+ def __init__(__self__, *,
512
+ admin_email_recipients: Sequence[str],
513
+ requester_email_recipients: Sequence[str]):
514
+ """
515
+ :param Sequence[str] admin_email_recipients: Optional. Additional email addresses to be notified when a principal(requester) is granted access.
516
+ :param Sequence[str] requester_email_recipients: Optional. Additional email address to be notified about an eligible entitlement.
517
+ """
518
+ pulumi.set(__self__, "admin_email_recipients", admin_email_recipients)
519
+ pulumi.set(__self__, "requester_email_recipients", requester_email_recipients)
520
+
521
+ @property
522
+ @pulumi.getter(name="adminEmailRecipients")
523
+ def admin_email_recipients(self) -> Sequence[str]:
524
+ """
525
+ Optional. Additional email addresses to be notified when a principal(requester) is granted access.
526
+ """
527
+ return pulumi.get(self, "admin_email_recipients")
528
+
529
+ @property
530
+ @pulumi.getter(name="requesterEmailRecipients")
531
+ def requester_email_recipients(self) -> Sequence[str]:
532
+ """
533
+ Optional. Additional email address to be notified about an eligible entitlement.
534
+ """
535
+ return pulumi.get(self, "requester_email_recipients")
536
+
537
+
538
+ @pulumi.output_type
539
+ class GetEntitlementApprovalWorkflowResult(dict):
540
+ def __init__(__self__, *,
541
+ manual_approvals: Sequence['outputs.GetEntitlementApprovalWorkflowManualApprovalResult']):
542
+ """
543
+ :param Sequence['GetEntitlementApprovalWorkflowManualApprovalArgs'] manual_approvals: A manual approval workflow where users who are designated as approvers need to call the ApproveGrant/DenyGrant APIs for an Grant.
544
+ The workflow can consist of multiple serial steps where each step defines who can act as Approver in that step and how many of those users should approve before the workflow moves to the next step.
545
+ This can be used to create approval workflows such as
546
+ * Require an approval from any user in a group G.
547
+ * Require an approval from any k number of users from a Group G.
548
+ * Require an approval from any user in a group G and then from a user U. etc.
549
+ A single user might be part of 'approvers' ACL for multiple steps in this workflow but they can only approve once and that approval will only be considered to satisfy the approval step at which it was granted.
550
+ """
551
+ pulumi.set(__self__, "manual_approvals", manual_approvals)
552
+
553
+ @property
554
+ @pulumi.getter(name="manualApprovals")
555
+ def manual_approvals(self) -> Sequence['outputs.GetEntitlementApprovalWorkflowManualApprovalResult']:
556
+ """
557
+ A manual approval workflow where users who are designated as approvers need to call the ApproveGrant/DenyGrant APIs for an Grant.
558
+ The workflow can consist of multiple serial steps where each step defines who can act as Approver in that step and how many of those users should approve before the workflow moves to the next step.
559
+ This can be used to create approval workflows such as
560
+ * Require an approval from any user in a group G.
561
+ * Require an approval from any k number of users from a Group G.
562
+ * Require an approval from any user in a group G and then from a user U. etc.
563
+ A single user might be part of 'approvers' ACL for multiple steps in this workflow but they can only approve once and that approval will only be considered to satisfy the approval step at which it was granted.
564
+ """
565
+ return pulumi.get(self, "manual_approvals")
566
+
567
+
568
+ @pulumi.output_type
569
+ class GetEntitlementApprovalWorkflowManualApprovalResult(dict):
570
+ def __init__(__self__, *,
571
+ require_approver_justification: bool,
572
+ steps: Sequence['outputs.GetEntitlementApprovalWorkflowManualApprovalStepResult']):
573
+ """
574
+ :param bool require_approver_justification: Optional. Do the approvers need to provide a justification for their actions?
575
+ :param Sequence['GetEntitlementApprovalWorkflowManualApprovalStepArgs'] steps: List of approval steps in this workflow. These steps would be followed in the specified order sequentially. 1 step is supported for now.
576
+ """
577
+ pulumi.set(__self__, "require_approver_justification", require_approver_justification)
578
+ pulumi.set(__self__, "steps", steps)
579
+
580
+ @property
581
+ @pulumi.getter(name="requireApproverJustification")
582
+ def require_approver_justification(self) -> bool:
583
+ """
584
+ Optional. Do the approvers need to provide a justification for their actions?
585
+ """
586
+ return pulumi.get(self, "require_approver_justification")
587
+
588
+ @property
589
+ @pulumi.getter
590
+ def steps(self) -> Sequence['outputs.GetEntitlementApprovalWorkflowManualApprovalStepResult']:
591
+ """
592
+ List of approval steps in this workflow. These steps would be followed in the specified order sequentially. 1 step is supported for now.
593
+ """
594
+ return pulumi.get(self, "steps")
595
+
596
+
597
+ @pulumi.output_type
598
+ class GetEntitlementApprovalWorkflowManualApprovalStepResult(dict):
599
+ def __init__(__self__, *,
600
+ approvals_needed: int,
601
+ approver_email_recipients: Sequence[str],
602
+ approvers: Sequence['outputs.GetEntitlementApprovalWorkflowManualApprovalStepApproverResult']):
603
+ """
604
+ :param int approvals_needed: How many users from the above list need to approve.
605
+ If there are not enough distinct users in the list above then the workflow
606
+ will indefinitely block. Should always be greater than 0. Currently 1 is the only
607
+ supported value.
608
+ :param Sequence[str] approver_email_recipients: Optional. Additional email addresses to be notified when a grant is pending approval.
609
+ :param Sequence['GetEntitlementApprovalWorkflowManualApprovalStepApproverArgs'] approvers: The potential set of approvers in this step. This list should contain at only one entry.
610
+ """
611
+ pulumi.set(__self__, "approvals_needed", approvals_needed)
612
+ pulumi.set(__self__, "approver_email_recipients", approver_email_recipients)
613
+ pulumi.set(__self__, "approvers", approvers)
614
+
615
+ @property
616
+ @pulumi.getter(name="approvalsNeeded")
617
+ def approvals_needed(self) -> int:
618
+ """
619
+ How many users from the above list need to approve.
620
+ If there are not enough distinct users in the list above then the workflow
621
+ will indefinitely block. Should always be greater than 0. Currently 1 is the only
622
+ supported value.
623
+ """
624
+ return pulumi.get(self, "approvals_needed")
625
+
626
+ @property
627
+ @pulumi.getter(name="approverEmailRecipients")
628
+ def approver_email_recipients(self) -> Sequence[str]:
629
+ """
630
+ Optional. Additional email addresses to be notified when a grant is pending approval.
631
+ """
632
+ return pulumi.get(self, "approver_email_recipients")
633
+
634
+ @property
635
+ @pulumi.getter
636
+ def approvers(self) -> Sequence['outputs.GetEntitlementApprovalWorkflowManualApprovalStepApproverResult']:
637
+ """
638
+ The potential set of approvers in this step. This list should contain at only one entry.
639
+ """
640
+ return pulumi.get(self, "approvers")
641
+
642
+
643
+ @pulumi.output_type
644
+ class GetEntitlementApprovalWorkflowManualApprovalStepApproverResult(dict):
645
+ def __init__(__self__, *,
646
+ principals: Sequence[str]):
647
+ """
648
+ :param Sequence[str] principals: Users who are being allowed for the operation. Each entry should be a valid v1 IAM Principal Identifier. Format for these is documented at: https://cloud.google.com/iam/docs/principal-identifiers#v1
649
+ """
650
+ pulumi.set(__self__, "principals", principals)
651
+
652
+ @property
653
+ @pulumi.getter
654
+ def principals(self) -> Sequence[str]:
655
+ """
656
+ Users who are being allowed for the operation. Each entry should be a valid v1 IAM Principal Identifier. Format for these is documented at: https://cloud.google.com/iam/docs/principal-identifiers#v1
657
+ """
658
+ return pulumi.get(self, "principals")
659
+
660
+
661
+ @pulumi.output_type
662
+ class GetEntitlementEligibleUserResult(dict):
663
+ def __init__(__self__, *,
664
+ principals: Sequence[str]):
665
+ """
666
+ :param Sequence[str] principals: Users who are being allowed for the operation. Each entry should be a valid v1 IAM Principal Identifier. Format for these is documented at "https://cloud.google.com/iam/docs/principal-identifiers#v1"
667
+ """
668
+ pulumi.set(__self__, "principals", principals)
669
+
670
+ @property
671
+ @pulumi.getter
672
+ def principals(self) -> Sequence[str]:
673
+ """
674
+ Users who are being allowed for the operation. Each entry should be a valid v1 IAM Principal Identifier. Format for these is documented at "https://cloud.google.com/iam/docs/principal-identifiers#v1"
675
+ """
676
+ return pulumi.get(self, "principals")
677
+
678
+
679
+ @pulumi.output_type
680
+ class GetEntitlementPrivilegedAccessResult(dict):
681
+ def __init__(__self__, *,
682
+ gcp_iam_accesses: Sequence['outputs.GetEntitlementPrivilegedAccessGcpIamAccessResult']):
683
+ """
684
+ :param Sequence['GetEntitlementPrivilegedAccessGcpIamAccessArgs'] gcp_iam_accesses: GcpIamAccess represents IAM based access control on a GCP resource. Refer to https://cloud.google.com/iam/docs to understand more about IAM.
685
+ """
686
+ pulumi.set(__self__, "gcp_iam_accesses", gcp_iam_accesses)
687
+
688
+ @property
689
+ @pulumi.getter(name="gcpIamAccesses")
690
+ def gcp_iam_accesses(self) -> Sequence['outputs.GetEntitlementPrivilegedAccessGcpIamAccessResult']:
691
+ """
692
+ GcpIamAccess represents IAM based access control on a GCP resource. Refer to https://cloud.google.com/iam/docs to understand more about IAM.
693
+ """
694
+ return pulumi.get(self, "gcp_iam_accesses")
695
+
696
+
697
+ @pulumi.output_type
698
+ class GetEntitlementPrivilegedAccessGcpIamAccessResult(dict):
699
+ def __init__(__self__, *,
700
+ resource: str,
701
+ resource_type: str,
702
+ role_bindings: Sequence['outputs.GetEntitlementPrivilegedAccessGcpIamAccessRoleBindingResult']):
703
+ """
704
+ :param str resource: Name of the resource.
705
+ :param str resource_type: The type of this resource.
706
+ :param Sequence['GetEntitlementPrivilegedAccessGcpIamAccessRoleBindingArgs'] role_bindings: Role bindings to be created on successful grant.
707
+ """
708
+ pulumi.set(__self__, "resource", resource)
709
+ pulumi.set(__self__, "resource_type", resource_type)
710
+ pulumi.set(__self__, "role_bindings", role_bindings)
711
+
712
+ @property
713
+ @pulumi.getter
714
+ def resource(self) -> str:
715
+ """
716
+ Name of the resource.
717
+ """
718
+ return pulumi.get(self, "resource")
719
+
720
+ @property
721
+ @pulumi.getter(name="resourceType")
722
+ def resource_type(self) -> str:
723
+ """
724
+ The type of this resource.
725
+ """
726
+ return pulumi.get(self, "resource_type")
727
+
728
+ @property
729
+ @pulumi.getter(name="roleBindings")
730
+ def role_bindings(self) -> Sequence['outputs.GetEntitlementPrivilegedAccessGcpIamAccessRoleBindingResult']:
731
+ """
732
+ Role bindings to be created on successful grant.
733
+ """
734
+ return pulumi.get(self, "role_bindings")
735
+
736
+
737
+ @pulumi.output_type
738
+ class GetEntitlementPrivilegedAccessGcpIamAccessRoleBindingResult(dict):
739
+ def __init__(__self__, *,
740
+ condition_expression: str,
741
+ role: str):
742
+ """
743
+ :param str condition_expression: The expression field of the IAM condition to be associated with the role. If specified, a user with an active grant for this entitlement would be able to access the resource only if this condition evaluates to true for their request.
744
+ https://cloud.google.com/iam/docs/conditions-overview#attributes.
745
+ :param str role: IAM role to be granted. https://cloud.google.com/iam/docs/roles-overview.
746
+ """
747
+ pulumi.set(__self__, "condition_expression", condition_expression)
748
+ pulumi.set(__self__, "role", role)
749
+
750
+ @property
751
+ @pulumi.getter(name="conditionExpression")
752
+ def condition_expression(self) -> str:
753
+ """
754
+ The expression field of the IAM condition to be associated with the role. If specified, a user with an active grant for this entitlement would be able to access the resource only if this condition evaluates to true for their request.
755
+ https://cloud.google.com/iam/docs/conditions-overview#attributes.
756
+ """
757
+ return pulumi.get(self, "condition_expression")
758
+
759
+ @property
760
+ @pulumi.getter
761
+ def role(self) -> str:
762
+ """
763
+ IAM role to be granted. https://cloud.google.com/iam/docs/roles-overview.
764
+ """
765
+ return pulumi.get(self, "role")
766
+
767
+
768
+ @pulumi.output_type
769
+ class GetEntitlementRequesterJustificationConfigResult(dict):
770
+ def __init__(__self__, *,
771
+ not_mandatories: Sequence['outputs.GetEntitlementRequesterJustificationConfigNotMandatoryResult'],
772
+ unstructureds: Sequence['outputs.GetEntitlementRequesterJustificationConfigUnstructuredResult']):
773
+ """
774
+ :param Sequence['GetEntitlementRequesterJustificationConfigNotMandatoryArgs'] not_mandatories: The justification is not mandatory but can be provided in any of the supported formats.
775
+ :param Sequence['GetEntitlementRequesterJustificationConfigUnstructuredArgs'] unstructureds: The requester has to provide a justification in the form of free flowing text.
776
+ """
777
+ pulumi.set(__self__, "not_mandatories", not_mandatories)
778
+ pulumi.set(__self__, "unstructureds", unstructureds)
779
+
780
+ @property
781
+ @pulumi.getter(name="notMandatories")
782
+ def not_mandatories(self) -> Sequence['outputs.GetEntitlementRequesterJustificationConfigNotMandatoryResult']:
783
+ """
784
+ The justification is not mandatory but can be provided in any of the supported formats.
785
+ """
786
+ return pulumi.get(self, "not_mandatories")
787
+
788
+ @property
789
+ @pulumi.getter
790
+ def unstructureds(self) -> Sequence['outputs.GetEntitlementRequesterJustificationConfigUnstructuredResult']:
791
+ """
792
+ The requester has to provide a justification in the form of free flowing text.
793
+ """
794
+ return pulumi.get(self, "unstructureds")
795
+
796
+
797
+ @pulumi.output_type
798
+ class GetEntitlementRequesterJustificationConfigNotMandatoryResult(dict):
799
+ def __init__(__self__):
800
+ pass
801
+
802
+
803
+ @pulumi.output_type
804
+ class GetEntitlementRequesterJustificationConfigUnstructuredResult(dict):
805
+ def __init__(__self__):
806
+ pass
807
+
808
+
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "8.3.1-alpha.1727284265"
4
+ "version": "8.4.0-alpha.1727795436"
5
5
  }
@@ -8,6 +8,8 @@ import typing
8
8
  from .get_regional_secret import *
9
9
  from .get_regional_secret_iam_policy import *
10
10
  from .get_regional_secret_version import *
11
+ from .get_regional_secret_version_access import *
12
+ from .get_regional_secrets import *
11
13
  from .get_secret import *
12
14
  from .get_secret_iam_policy import *
13
15
  from .get_secret_version import *
@@ -165,7 +165,7 @@ def get_regional_secret_version(location: Optional[str] = None,
165
165
  version: Optional[str] = None,
166
166
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegionalSecretVersionResult:
167
167
  """
168
- Get the value and metadata from a Secret Manager regional secret version. For more information see the [official documentation](https://cloud.google.com/secret-manager/docs/regional-secrets-overview) and [API](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets.versions). If you don't need the metadata (i.e., if you want to use a more limited role to access the regional secret version only), see also the google_secret_manager_regional_secret_version_access datasource.
168
+ Get the value and metadata from a Secret Manager regional secret version. For more information see the [official documentation](https://cloud.google.com/secret-manager/docs/regional-secrets-overview) and [API](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets.versions). If you don't need the metadata (i.e., if you want to use a more limited role to access the regional secret version only), see also the secretmanager_get_regional_secret_version_access datasource.
169
169
 
170
170
  ## Example Usage
171
171
 
@@ -216,7 +216,7 @@ def get_regional_secret_version_output(location: Optional[pulumi.Input[Optional[
216
216
  version: Optional[pulumi.Input[Optional[str]]] = None,
217
217
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRegionalSecretVersionResult]:
218
218
  """
219
- Get the value and metadata from a Secret Manager regional secret version. For more information see the [official documentation](https://cloud.google.com/secret-manager/docs/regional-secrets-overview) and [API](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets.versions). If you don't need the metadata (i.e., if you want to use a more limited role to access the regional secret version only), see also the google_secret_manager_regional_secret_version_access datasource.
219
+ Get the value and metadata from a Secret Manager regional secret version. For more information see the [official documentation](https://cloud.google.com/secret-manager/docs/regional-secrets-overview) and [API](https://cloud.google.com/secret-manager/docs/reference/rest/v1/projects.secrets.versions). If you don't need the metadata (i.e., if you want to use a more limited role to access the regional secret version only), see also the secretmanager_get_regional_secret_version_access datasource.
220
220
 
221
221
  ## Example Usage
222
222