pulumi-gcp 7.22.0a1715345822__py3-none-any.whl → 7.22.0a1715611725__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.
- pulumi_gcp/__init__.py +11 -0
- pulumi_gcp/alloydb/_inputs.py +139 -0
- pulumi_gcp/alloydb/cluster.py +54 -0
- pulumi_gcp/alloydb/outputs.py +145 -0
- pulumi_gcp/applicationintegration/auth_config.py +2 -6
- pulumi_gcp/applicationintegration/client.py +133 -18
- pulumi_gcp/bigquery/dataset.py +2 -2
- pulumi_gcp/bigquery/job.py +16 -20
- pulumi_gcp/cloudrunv2/job.py +2 -4
- pulumi_gcp/cloudrunv2/service.py +2 -4
- pulumi_gcp/compute/_inputs.py +4 -0
- pulumi_gcp/compute/outputs.py +4 -0
- pulumi_gcp/compute/router_peer.py +54 -14
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +169 -0
- pulumi_gcp/container/outputs.py +272 -0
- pulumi_gcp/dataflow/flex_template_job.py +21 -21
- pulumi_gcp/dataflow/job.py +21 -7
- pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +0 -528
- pulumi_gcp/firebaserules/release.py +2 -2
- pulumi_gcp/privilegedaccessmanager/__init__.py +10 -0
- pulumi_gcp/privilegedaccessmanager/_inputs.py +420 -0
- pulumi_gcp/privilegedaccessmanager/entitlement.py +852 -0
- pulumi_gcp/privilegedaccessmanager/outputs.py +491 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/redis/cluster.py +69 -2
- pulumi_gcp/storage/__init__.py +1 -0
- pulumi_gcp/storage/get_buckets.py +138 -0
- pulumi_gcp/storage/outputs.py +63 -0
- {pulumi_gcp-7.22.0a1715345822.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.22.0a1715345822.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/RECORD +34 -29
- {pulumi_gcp-7.22.0a1715345822.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.22.0a1715345822.dist-info → pulumi_gcp-7.22.0a1715611725.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,491 @@
|
|
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 pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
from . import outputs
|
12
|
+
|
13
|
+
__all__ = [
|
14
|
+
'EntitlementAdditionalNotificationTargets',
|
15
|
+
'EntitlementApprovalWorkflow',
|
16
|
+
'EntitlementApprovalWorkflowManualApprovals',
|
17
|
+
'EntitlementApprovalWorkflowManualApprovalsStep',
|
18
|
+
'EntitlementApprovalWorkflowManualApprovalsStepApprovers',
|
19
|
+
'EntitlementEligibleUser',
|
20
|
+
'EntitlementPrivilegedAccess',
|
21
|
+
'EntitlementPrivilegedAccessGcpIamAccess',
|
22
|
+
'EntitlementPrivilegedAccessGcpIamAccessRoleBinding',
|
23
|
+
'EntitlementRequesterJustificationConfig',
|
24
|
+
'EntitlementRequesterJustificationConfigNotMandatory',
|
25
|
+
'EntitlementRequesterJustificationConfigUnstructured',
|
26
|
+
]
|
27
|
+
|
28
|
+
@pulumi.output_type
|
29
|
+
class EntitlementAdditionalNotificationTargets(dict):
|
30
|
+
@staticmethod
|
31
|
+
def __key_warning(key: str):
|
32
|
+
suggest = None
|
33
|
+
if key == "adminEmailRecipients":
|
34
|
+
suggest = "admin_email_recipients"
|
35
|
+
elif key == "requesterEmailRecipients":
|
36
|
+
suggest = "requester_email_recipients"
|
37
|
+
|
38
|
+
if suggest:
|
39
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementAdditionalNotificationTargets. Access the value via the '{suggest}' property getter instead.")
|
40
|
+
|
41
|
+
def __getitem__(self, key: str) -> Any:
|
42
|
+
EntitlementAdditionalNotificationTargets.__key_warning(key)
|
43
|
+
return super().__getitem__(key)
|
44
|
+
|
45
|
+
def get(self, key: str, default = None) -> Any:
|
46
|
+
EntitlementAdditionalNotificationTargets.__key_warning(key)
|
47
|
+
return super().get(key, default)
|
48
|
+
|
49
|
+
def __init__(__self__, *,
|
50
|
+
admin_email_recipients: Optional[Sequence[str]] = None,
|
51
|
+
requester_email_recipients: Optional[Sequence[str]] = None):
|
52
|
+
"""
|
53
|
+
:param Sequence[str] admin_email_recipients: Optional. Additional email addresses to be notified when a principal(requester) is granted access.
|
54
|
+
:param Sequence[str] requester_email_recipients: Optional. Additional email address to be notified about an eligible entitlement.
|
55
|
+
"""
|
56
|
+
if admin_email_recipients is not None:
|
57
|
+
pulumi.set(__self__, "admin_email_recipients", admin_email_recipients)
|
58
|
+
if requester_email_recipients is not None:
|
59
|
+
pulumi.set(__self__, "requester_email_recipients", requester_email_recipients)
|
60
|
+
|
61
|
+
@property
|
62
|
+
@pulumi.getter(name="adminEmailRecipients")
|
63
|
+
def admin_email_recipients(self) -> Optional[Sequence[str]]:
|
64
|
+
"""
|
65
|
+
Optional. Additional email addresses to be notified when a principal(requester) is granted access.
|
66
|
+
"""
|
67
|
+
return pulumi.get(self, "admin_email_recipients")
|
68
|
+
|
69
|
+
@property
|
70
|
+
@pulumi.getter(name="requesterEmailRecipients")
|
71
|
+
def requester_email_recipients(self) -> Optional[Sequence[str]]:
|
72
|
+
"""
|
73
|
+
Optional. Additional email address to be notified about an eligible entitlement.
|
74
|
+
"""
|
75
|
+
return pulumi.get(self, "requester_email_recipients")
|
76
|
+
|
77
|
+
|
78
|
+
@pulumi.output_type
|
79
|
+
class EntitlementApprovalWorkflow(dict):
|
80
|
+
@staticmethod
|
81
|
+
def __key_warning(key: str):
|
82
|
+
suggest = None
|
83
|
+
if key == "manualApprovals":
|
84
|
+
suggest = "manual_approvals"
|
85
|
+
|
86
|
+
if suggest:
|
87
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementApprovalWorkflow. Access the value via the '{suggest}' property getter instead.")
|
88
|
+
|
89
|
+
def __getitem__(self, key: str) -> Any:
|
90
|
+
EntitlementApprovalWorkflow.__key_warning(key)
|
91
|
+
return super().__getitem__(key)
|
92
|
+
|
93
|
+
def get(self, key: str, default = None) -> Any:
|
94
|
+
EntitlementApprovalWorkflow.__key_warning(key)
|
95
|
+
return super().get(key, default)
|
96
|
+
|
97
|
+
def __init__(__self__, *,
|
98
|
+
manual_approvals: 'outputs.EntitlementApprovalWorkflowManualApprovals'):
|
99
|
+
"""
|
100
|
+
:param 'EntitlementApprovalWorkflowManualApprovalsArgs' manual_approvals: A manual approval workflow where users who are designated as approvers need to call the ApproveGrant/DenyGrant APIs for an Grant.
|
101
|
+
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.
|
102
|
+
This can be used to create approval workflows such as
|
103
|
+
* Require an approval from any user in a group G.
|
104
|
+
* Require an approval from any k number of users from a Group G.
|
105
|
+
* Require an approval from any user in a group G and then from a user U. etc.
|
106
|
+
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.
|
107
|
+
Structure is documented below.
|
108
|
+
"""
|
109
|
+
pulumi.set(__self__, "manual_approvals", manual_approvals)
|
110
|
+
|
111
|
+
@property
|
112
|
+
@pulumi.getter(name="manualApprovals")
|
113
|
+
def manual_approvals(self) -> 'outputs.EntitlementApprovalWorkflowManualApprovals':
|
114
|
+
"""
|
115
|
+
A manual approval workflow where users who are designated as approvers need to call the ApproveGrant/DenyGrant APIs for an Grant.
|
116
|
+
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.
|
117
|
+
This can be used to create approval workflows such as
|
118
|
+
* Require an approval from any user in a group G.
|
119
|
+
* Require an approval from any k number of users from a Group G.
|
120
|
+
* Require an approval from any user in a group G and then from a user U. etc.
|
121
|
+
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.
|
122
|
+
Structure is documented below.
|
123
|
+
"""
|
124
|
+
return pulumi.get(self, "manual_approvals")
|
125
|
+
|
126
|
+
|
127
|
+
@pulumi.output_type
|
128
|
+
class EntitlementApprovalWorkflowManualApprovals(dict):
|
129
|
+
@staticmethod
|
130
|
+
def __key_warning(key: str):
|
131
|
+
suggest = None
|
132
|
+
if key == "requireApproverJustification":
|
133
|
+
suggest = "require_approver_justification"
|
134
|
+
|
135
|
+
if suggest:
|
136
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementApprovalWorkflowManualApprovals. Access the value via the '{suggest}' property getter instead.")
|
137
|
+
|
138
|
+
def __getitem__(self, key: str) -> Any:
|
139
|
+
EntitlementApprovalWorkflowManualApprovals.__key_warning(key)
|
140
|
+
return super().__getitem__(key)
|
141
|
+
|
142
|
+
def get(self, key: str, default = None) -> Any:
|
143
|
+
EntitlementApprovalWorkflowManualApprovals.__key_warning(key)
|
144
|
+
return super().get(key, default)
|
145
|
+
|
146
|
+
def __init__(__self__, *,
|
147
|
+
steps: Sequence['outputs.EntitlementApprovalWorkflowManualApprovalsStep'],
|
148
|
+
require_approver_justification: Optional[bool] = None):
|
149
|
+
"""
|
150
|
+
:param Sequence['EntitlementApprovalWorkflowManualApprovalsStepArgs'] steps: List of approval steps in this workflow. These steps would be followed in the specified order sequentially. 1 step is supported for now.
|
151
|
+
Structure is documented below.
|
152
|
+
:param bool require_approver_justification: Optional. Do the approvers need to provide a justification for their actions?
|
153
|
+
"""
|
154
|
+
pulumi.set(__self__, "steps", steps)
|
155
|
+
if require_approver_justification is not None:
|
156
|
+
pulumi.set(__self__, "require_approver_justification", require_approver_justification)
|
157
|
+
|
158
|
+
@property
|
159
|
+
@pulumi.getter
|
160
|
+
def steps(self) -> Sequence['outputs.EntitlementApprovalWorkflowManualApprovalsStep']:
|
161
|
+
"""
|
162
|
+
List of approval steps in this workflow. These steps would be followed in the specified order sequentially. 1 step is supported for now.
|
163
|
+
Structure is documented below.
|
164
|
+
"""
|
165
|
+
return pulumi.get(self, "steps")
|
166
|
+
|
167
|
+
@property
|
168
|
+
@pulumi.getter(name="requireApproverJustification")
|
169
|
+
def require_approver_justification(self) -> Optional[bool]:
|
170
|
+
"""
|
171
|
+
Optional. Do the approvers need to provide a justification for their actions?
|
172
|
+
"""
|
173
|
+
return pulumi.get(self, "require_approver_justification")
|
174
|
+
|
175
|
+
|
176
|
+
@pulumi.output_type
|
177
|
+
class EntitlementApprovalWorkflowManualApprovalsStep(dict):
|
178
|
+
@staticmethod
|
179
|
+
def __key_warning(key: str):
|
180
|
+
suggest = None
|
181
|
+
if key == "approvalsNeeded":
|
182
|
+
suggest = "approvals_needed"
|
183
|
+
elif key == "approverEmailRecipients":
|
184
|
+
suggest = "approver_email_recipients"
|
185
|
+
|
186
|
+
if suggest:
|
187
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementApprovalWorkflowManualApprovalsStep. Access the value via the '{suggest}' property getter instead.")
|
188
|
+
|
189
|
+
def __getitem__(self, key: str) -> Any:
|
190
|
+
EntitlementApprovalWorkflowManualApprovalsStep.__key_warning(key)
|
191
|
+
return super().__getitem__(key)
|
192
|
+
|
193
|
+
def get(self, key: str, default = None) -> Any:
|
194
|
+
EntitlementApprovalWorkflowManualApprovalsStep.__key_warning(key)
|
195
|
+
return super().get(key, default)
|
196
|
+
|
197
|
+
def __init__(__self__, *,
|
198
|
+
approvers: 'outputs.EntitlementApprovalWorkflowManualApprovalsStepApprovers',
|
199
|
+
approvals_needed: Optional[int] = None,
|
200
|
+
approver_email_recipients: Optional[Sequence[str]] = None):
|
201
|
+
"""
|
202
|
+
:param 'EntitlementApprovalWorkflowManualApprovalsStepApproversArgs' approvers: The potential set of approvers in this step. This list should contain at only one entry.
|
203
|
+
Structure is documented below.
|
204
|
+
:param int approvals_needed: How many users from the above list need to approve.
|
205
|
+
If there are not enough distinct users in the list above then the workflow
|
206
|
+
will indefinitely block. Should always be greater than 0. Currently 1 is the only
|
207
|
+
supported value.
|
208
|
+
:param Sequence[str] approver_email_recipients: Optional. Additional email addresses to be notified when a grant is pending approval.
|
209
|
+
"""
|
210
|
+
pulumi.set(__self__, "approvers", approvers)
|
211
|
+
if approvals_needed is not None:
|
212
|
+
pulumi.set(__self__, "approvals_needed", approvals_needed)
|
213
|
+
if approver_email_recipients is not None:
|
214
|
+
pulumi.set(__self__, "approver_email_recipients", approver_email_recipients)
|
215
|
+
|
216
|
+
@property
|
217
|
+
@pulumi.getter
|
218
|
+
def approvers(self) -> 'outputs.EntitlementApprovalWorkflowManualApprovalsStepApprovers':
|
219
|
+
"""
|
220
|
+
The potential set of approvers in this step. This list should contain at only one entry.
|
221
|
+
Structure is documented below.
|
222
|
+
"""
|
223
|
+
return pulumi.get(self, "approvers")
|
224
|
+
|
225
|
+
@property
|
226
|
+
@pulumi.getter(name="approvalsNeeded")
|
227
|
+
def approvals_needed(self) -> Optional[int]:
|
228
|
+
"""
|
229
|
+
How many users from the above list need to approve.
|
230
|
+
If there are not enough distinct users in the list above then the workflow
|
231
|
+
will indefinitely block. Should always be greater than 0. Currently 1 is the only
|
232
|
+
supported value.
|
233
|
+
"""
|
234
|
+
return pulumi.get(self, "approvals_needed")
|
235
|
+
|
236
|
+
@property
|
237
|
+
@pulumi.getter(name="approverEmailRecipients")
|
238
|
+
def approver_email_recipients(self) -> Optional[Sequence[str]]:
|
239
|
+
"""
|
240
|
+
Optional. Additional email addresses to be notified when a grant is pending approval.
|
241
|
+
"""
|
242
|
+
return pulumi.get(self, "approver_email_recipients")
|
243
|
+
|
244
|
+
|
245
|
+
@pulumi.output_type
|
246
|
+
class EntitlementApprovalWorkflowManualApprovalsStepApprovers(dict):
|
247
|
+
def __init__(__self__, *,
|
248
|
+
principals: Sequence[str]):
|
249
|
+
"""
|
250
|
+
: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
|
251
|
+
"""
|
252
|
+
pulumi.set(__self__, "principals", principals)
|
253
|
+
|
254
|
+
@property
|
255
|
+
@pulumi.getter
|
256
|
+
def principals(self) -> Sequence[str]:
|
257
|
+
"""
|
258
|
+
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
|
259
|
+
"""
|
260
|
+
return pulumi.get(self, "principals")
|
261
|
+
|
262
|
+
|
263
|
+
@pulumi.output_type
|
264
|
+
class EntitlementEligibleUser(dict):
|
265
|
+
def __init__(__self__, *,
|
266
|
+
principals: Sequence[str]):
|
267
|
+
"""
|
268
|
+
: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"
|
269
|
+
"""
|
270
|
+
pulumi.set(__self__, "principals", principals)
|
271
|
+
|
272
|
+
@property
|
273
|
+
@pulumi.getter
|
274
|
+
def principals(self) -> Sequence[str]:
|
275
|
+
"""
|
276
|
+
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"
|
277
|
+
"""
|
278
|
+
return pulumi.get(self, "principals")
|
279
|
+
|
280
|
+
|
281
|
+
@pulumi.output_type
|
282
|
+
class EntitlementPrivilegedAccess(dict):
|
283
|
+
@staticmethod
|
284
|
+
def __key_warning(key: str):
|
285
|
+
suggest = None
|
286
|
+
if key == "gcpIamAccess":
|
287
|
+
suggest = "gcp_iam_access"
|
288
|
+
|
289
|
+
if suggest:
|
290
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementPrivilegedAccess. Access the value via the '{suggest}' property getter instead.")
|
291
|
+
|
292
|
+
def __getitem__(self, key: str) -> Any:
|
293
|
+
EntitlementPrivilegedAccess.__key_warning(key)
|
294
|
+
return super().__getitem__(key)
|
295
|
+
|
296
|
+
def get(self, key: str, default = None) -> Any:
|
297
|
+
EntitlementPrivilegedAccess.__key_warning(key)
|
298
|
+
return super().get(key, default)
|
299
|
+
|
300
|
+
def __init__(__self__, *,
|
301
|
+
gcp_iam_access: 'outputs.EntitlementPrivilegedAccessGcpIamAccess'):
|
302
|
+
"""
|
303
|
+
:param 'EntitlementPrivilegedAccessGcpIamAccessArgs' gcp_iam_access: GcpIamAccess represents IAM based access control on a GCP resource. Refer to https://cloud.google.com/iam/docs to understand more about IAM.
|
304
|
+
Structure is documented below.
|
305
|
+
"""
|
306
|
+
pulumi.set(__self__, "gcp_iam_access", gcp_iam_access)
|
307
|
+
|
308
|
+
@property
|
309
|
+
@pulumi.getter(name="gcpIamAccess")
|
310
|
+
def gcp_iam_access(self) -> 'outputs.EntitlementPrivilegedAccessGcpIamAccess':
|
311
|
+
"""
|
312
|
+
GcpIamAccess represents IAM based access control on a GCP resource. Refer to https://cloud.google.com/iam/docs to understand more about IAM.
|
313
|
+
Structure is documented below.
|
314
|
+
"""
|
315
|
+
return pulumi.get(self, "gcp_iam_access")
|
316
|
+
|
317
|
+
|
318
|
+
@pulumi.output_type
|
319
|
+
class EntitlementPrivilegedAccessGcpIamAccess(dict):
|
320
|
+
@staticmethod
|
321
|
+
def __key_warning(key: str):
|
322
|
+
suggest = None
|
323
|
+
if key == "resourceType":
|
324
|
+
suggest = "resource_type"
|
325
|
+
elif key == "roleBindings":
|
326
|
+
suggest = "role_bindings"
|
327
|
+
|
328
|
+
if suggest:
|
329
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementPrivilegedAccessGcpIamAccess. Access the value via the '{suggest}' property getter instead.")
|
330
|
+
|
331
|
+
def __getitem__(self, key: str) -> Any:
|
332
|
+
EntitlementPrivilegedAccessGcpIamAccess.__key_warning(key)
|
333
|
+
return super().__getitem__(key)
|
334
|
+
|
335
|
+
def get(self, key: str, default = None) -> Any:
|
336
|
+
EntitlementPrivilegedAccessGcpIamAccess.__key_warning(key)
|
337
|
+
return super().get(key, default)
|
338
|
+
|
339
|
+
def __init__(__self__, *,
|
340
|
+
resource: str,
|
341
|
+
resource_type: str,
|
342
|
+
role_bindings: Sequence['outputs.EntitlementPrivilegedAccessGcpIamAccessRoleBinding']):
|
343
|
+
"""
|
344
|
+
:param str resource: Name of the resource.
|
345
|
+
:param str resource_type: The type of this resource.
|
346
|
+
:param Sequence['EntitlementPrivilegedAccessGcpIamAccessRoleBindingArgs'] role_bindings: Role bindings to be created on successful grant.
|
347
|
+
Structure is documented below.
|
348
|
+
"""
|
349
|
+
pulumi.set(__self__, "resource", resource)
|
350
|
+
pulumi.set(__self__, "resource_type", resource_type)
|
351
|
+
pulumi.set(__self__, "role_bindings", role_bindings)
|
352
|
+
|
353
|
+
@property
|
354
|
+
@pulumi.getter
|
355
|
+
def resource(self) -> str:
|
356
|
+
"""
|
357
|
+
Name of the resource.
|
358
|
+
"""
|
359
|
+
return pulumi.get(self, "resource")
|
360
|
+
|
361
|
+
@property
|
362
|
+
@pulumi.getter(name="resourceType")
|
363
|
+
def resource_type(self) -> str:
|
364
|
+
"""
|
365
|
+
The type of this resource.
|
366
|
+
"""
|
367
|
+
return pulumi.get(self, "resource_type")
|
368
|
+
|
369
|
+
@property
|
370
|
+
@pulumi.getter(name="roleBindings")
|
371
|
+
def role_bindings(self) -> Sequence['outputs.EntitlementPrivilegedAccessGcpIamAccessRoleBinding']:
|
372
|
+
"""
|
373
|
+
Role bindings to be created on successful grant.
|
374
|
+
Structure is documented below.
|
375
|
+
"""
|
376
|
+
return pulumi.get(self, "role_bindings")
|
377
|
+
|
378
|
+
|
379
|
+
@pulumi.output_type
|
380
|
+
class EntitlementPrivilegedAccessGcpIamAccessRoleBinding(dict):
|
381
|
+
@staticmethod
|
382
|
+
def __key_warning(key: str):
|
383
|
+
suggest = None
|
384
|
+
if key == "conditionExpression":
|
385
|
+
suggest = "condition_expression"
|
386
|
+
|
387
|
+
if suggest:
|
388
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementPrivilegedAccessGcpIamAccessRoleBinding. Access the value via the '{suggest}' property getter instead.")
|
389
|
+
|
390
|
+
def __getitem__(self, key: str) -> Any:
|
391
|
+
EntitlementPrivilegedAccessGcpIamAccessRoleBinding.__key_warning(key)
|
392
|
+
return super().__getitem__(key)
|
393
|
+
|
394
|
+
def get(self, key: str, default = None) -> Any:
|
395
|
+
EntitlementPrivilegedAccessGcpIamAccessRoleBinding.__key_warning(key)
|
396
|
+
return super().get(key, default)
|
397
|
+
|
398
|
+
def __init__(__self__, *,
|
399
|
+
role: str,
|
400
|
+
condition_expression: Optional[str] = None):
|
401
|
+
"""
|
402
|
+
:param str role: IAM role to be granted. https://cloud.google.com/iam/docs/roles-overview.
|
403
|
+
: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.
|
404
|
+
https://cloud.google.com/iam/docs/conditions-overview#attributes.
|
405
|
+
"""
|
406
|
+
pulumi.set(__self__, "role", role)
|
407
|
+
if condition_expression is not None:
|
408
|
+
pulumi.set(__self__, "condition_expression", condition_expression)
|
409
|
+
|
410
|
+
@property
|
411
|
+
@pulumi.getter
|
412
|
+
def role(self) -> str:
|
413
|
+
"""
|
414
|
+
IAM role to be granted. https://cloud.google.com/iam/docs/roles-overview.
|
415
|
+
"""
|
416
|
+
return pulumi.get(self, "role")
|
417
|
+
|
418
|
+
@property
|
419
|
+
@pulumi.getter(name="conditionExpression")
|
420
|
+
def condition_expression(self) -> Optional[str]:
|
421
|
+
"""
|
422
|
+
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.
|
423
|
+
https://cloud.google.com/iam/docs/conditions-overview#attributes.
|
424
|
+
"""
|
425
|
+
return pulumi.get(self, "condition_expression")
|
426
|
+
|
427
|
+
|
428
|
+
@pulumi.output_type
|
429
|
+
class EntitlementRequesterJustificationConfig(dict):
|
430
|
+
@staticmethod
|
431
|
+
def __key_warning(key: str):
|
432
|
+
suggest = None
|
433
|
+
if key == "notMandatory":
|
434
|
+
suggest = "not_mandatory"
|
435
|
+
|
436
|
+
if suggest:
|
437
|
+
pulumi.log.warn(f"Key '{key}' not found in EntitlementRequesterJustificationConfig. Access the value via the '{suggest}' property getter instead.")
|
438
|
+
|
439
|
+
def __getitem__(self, key: str) -> Any:
|
440
|
+
EntitlementRequesterJustificationConfig.__key_warning(key)
|
441
|
+
return super().__getitem__(key)
|
442
|
+
|
443
|
+
def get(self, key: str, default = None) -> Any:
|
444
|
+
EntitlementRequesterJustificationConfig.__key_warning(key)
|
445
|
+
return super().get(key, default)
|
446
|
+
|
447
|
+
def __init__(__self__, *,
|
448
|
+
not_mandatory: Optional['outputs.EntitlementRequesterJustificationConfigNotMandatory'] = None,
|
449
|
+
unstructured: Optional['outputs.EntitlementRequesterJustificationConfigUnstructured'] = None):
|
450
|
+
"""
|
451
|
+
:param 'EntitlementRequesterJustificationConfigNotMandatoryArgs' not_mandatory: The justification is not mandatory but can be provided in any of the supported formats.
|
452
|
+
:param 'EntitlementRequesterJustificationConfigUnstructuredArgs' unstructured: The requester has to provide a justification in the form of free flowing text.
|
453
|
+
|
454
|
+
- - -
|
455
|
+
"""
|
456
|
+
if not_mandatory is not None:
|
457
|
+
pulumi.set(__self__, "not_mandatory", not_mandatory)
|
458
|
+
if unstructured is not None:
|
459
|
+
pulumi.set(__self__, "unstructured", unstructured)
|
460
|
+
|
461
|
+
@property
|
462
|
+
@pulumi.getter(name="notMandatory")
|
463
|
+
def not_mandatory(self) -> Optional['outputs.EntitlementRequesterJustificationConfigNotMandatory']:
|
464
|
+
"""
|
465
|
+
The justification is not mandatory but can be provided in any of the supported formats.
|
466
|
+
"""
|
467
|
+
return pulumi.get(self, "not_mandatory")
|
468
|
+
|
469
|
+
@property
|
470
|
+
@pulumi.getter
|
471
|
+
def unstructured(self) -> Optional['outputs.EntitlementRequesterJustificationConfigUnstructured']:
|
472
|
+
"""
|
473
|
+
The requester has to provide a justification in the form of free flowing text.
|
474
|
+
|
475
|
+
- - -
|
476
|
+
"""
|
477
|
+
return pulumi.get(self, "unstructured")
|
478
|
+
|
479
|
+
|
480
|
+
@pulumi.output_type
|
481
|
+
class EntitlementRequesterJustificationConfigNotMandatory(dict):
|
482
|
+
def __init__(__self__):
|
483
|
+
pass
|
484
|
+
|
485
|
+
|
486
|
+
@pulumi.output_type
|
487
|
+
class EntitlementRequesterJustificationConfigUnstructured(dict):
|
488
|
+
def __init__(__self__):
|
489
|
+
pass
|
490
|
+
|
491
|
+
|
pulumi_gcp/provider.py
CHANGED
@@ -140,6 +140,7 @@ class ProviderArgs:
|
|
140
140
|
os_login_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
141
141
|
parallelstore_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
142
142
|
privateca_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
143
|
+
privileged_access_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
143
144
|
project: Optional[pulumi.Input[str]] = None,
|
144
145
|
public_ca_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
145
146
|
pubsub_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
@@ -436,6 +437,8 @@ class ProviderArgs:
|
|
436
437
|
pulumi.set(__self__, "parallelstore_custom_endpoint", parallelstore_custom_endpoint)
|
437
438
|
if privateca_custom_endpoint is not None:
|
438
439
|
pulumi.set(__self__, "privateca_custom_endpoint", privateca_custom_endpoint)
|
440
|
+
if privileged_access_manager_custom_endpoint is not None:
|
441
|
+
pulumi.set(__self__, "privileged_access_manager_custom_endpoint", privileged_access_manager_custom_endpoint)
|
439
442
|
if project is None:
|
440
443
|
project = _utilities.get_env('GOOGLE_PROJECT', 'GOOGLE_CLOUD_PROJECT', 'GCLOUD_PROJECT', 'CLOUDSDK_CORE_PROJECT')
|
441
444
|
if project is not None:
|
@@ -1654,6 +1657,15 @@ class ProviderArgs:
|
|
1654
1657
|
def privateca_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
|
1655
1658
|
pulumi.set(self, "privateca_custom_endpoint", value)
|
1656
1659
|
|
1660
|
+
@property
|
1661
|
+
@pulumi.getter(name="privilegedAccessManagerCustomEndpoint")
|
1662
|
+
def privileged_access_manager_custom_endpoint(self) -> Optional[pulumi.Input[str]]:
|
1663
|
+
return pulumi.get(self, "privileged_access_manager_custom_endpoint")
|
1664
|
+
|
1665
|
+
@privileged_access_manager_custom_endpoint.setter
|
1666
|
+
def privileged_access_manager_custom_endpoint(self, value: Optional[pulumi.Input[str]]):
|
1667
|
+
pulumi.set(self, "privileged_access_manager_custom_endpoint", value)
|
1668
|
+
|
1657
1669
|
@property
|
1658
1670
|
@pulumi.getter
|
1659
1671
|
def project(self) -> Optional[pulumi.Input[str]]:
|
@@ -2172,6 +2184,7 @@ class Provider(pulumi.ProviderResource):
|
|
2172
2184
|
os_login_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2173
2185
|
parallelstore_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2174
2186
|
privateca_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2187
|
+
privileged_access_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2175
2188
|
project: Optional[pulumi.Input[str]] = None,
|
2176
2189
|
public_ca_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2177
2190
|
pubsub_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
@@ -2377,6 +2390,7 @@ class Provider(pulumi.ProviderResource):
|
|
2377
2390
|
os_login_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2378
2391
|
parallelstore_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2379
2392
|
privateca_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2393
|
+
privileged_access_manager_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2380
2394
|
project: Optional[pulumi.Input[str]] = None,
|
2381
2395
|
public_ca_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
2382
2396
|
pubsub_custom_endpoint: Optional[pulumi.Input[str]] = None,
|
@@ -2554,6 +2568,7 @@ class Provider(pulumi.ProviderResource):
|
|
2554
2568
|
__props__.__dict__["os_login_custom_endpoint"] = os_login_custom_endpoint
|
2555
2569
|
__props__.__dict__["parallelstore_custom_endpoint"] = parallelstore_custom_endpoint
|
2556
2570
|
__props__.__dict__["privateca_custom_endpoint"] = privateca_custom_endpoint
|
2571
|
+
__props__.__dict__["privileged_access_manager_custom_endpoint"] = privileged_access_manager_custom_endpoint
|
2557
2572
|
if project is None:
|
2558
2573
|
project = _utilities.get_env('GOOGLE_PROJECT', 'GOOGLE_CLOUD_PROJECT', 'GCLOUD_PROJECT', 'CLOUDSDK_CORE_PROJECT')
|
2559
2574
|
__props__.__dict__["project"] = project
|
@@ -3211,6 +3226,11 @@ class Provider(pulumi.ProviderResource):
|
|
3211
3226
|
def privateca_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
|
3212
3227
|
return pulumi.get(self, "privateca_custom_endpoint")
|
3213
3228
|
|
3229
|
+
@property
|
3230
|
+
@pulumi.getter(name="privilegedAccessManagerCustomEndpoint")
|
3231
|
+
def privileged_access_manager_custom_endpoint(self) -> pulumi.Output[Optional[str]]:
|
3232
|
+
return pulumi.get(self, "privileged_access_manager_custom_endpoint")
|
3233
|
+
|
3214
3234
|
@property
|
3215
3235
|
@pulumi.getter
|
3216
3236
|
def project(self) -> pulumi.Output[Optional[str]]:
|