pulumi-gcp 8.9.0a1731366299__py3-none-any.whl → 8.9.0a1731480835__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 (114) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/activedirectory/domain.py +24 -0
  3. pulumi_gcp/apigee/__init__.py +1 -0
  4. pulumi_gcp/apigee/_inputs.py +74 -0
  5. pulumi_gcp/apigee/api.py +456 -0
  6. pulumi_gcp/apigee/outputs.py +65 -0
  7. pulumi_gcp/applicationintegration/auth_config.py +24 -0
  8. pulumi_gcp/backupdisasterrecovery/__init__.py +4 -0
  9. pulumi_gcp/backupdisasterrecovery/_inputs.py +533 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_plan.py +653 -0
  11. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +766 -0
  12. pulumi_gcp/backupdisasterrecovery/backup_vault.py +146 -6
  13. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +204 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +243 -0
  15. pulumi_gcp/backupdisasterrecovery/outputs.py +702 -0
  16. pulumi_gcp/bigquery/data_transfer_config.py +24 -0
  17. pulumi_gcp/cloudrunv2/_inputs.py +46 -0
  18. pulumi_gcp/cloudrunv2/job.py +0 -2
  19. pulumi_gcp/cloudrunv2/outputs.py +60 -2
  20. pulumi_gcp/cloudrunv2/service.py +0 -2
  21. pulumi_gcp/compute/__init__.py +1 -0
  22. pulumi_gcp/compute/_inputs.py +2163 -256
  23. pulumi_gcp/compute/disk.py +7 -7
  24. pulumi_gcp/compute/firewall_policy_rule.py +108 -54
  25. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  26. pulumi_gcp/compute/health_check.py +42 -42
  27. pulumi_gcp/compute/network_firewall_policy_rule.py +4 -4
  28. pulumi_gcp/compute/network_firewall_policy_with_rules.py +10 -10
  29. pulumi_gcp/compute/node_template.py +95 -0
  30. pulumi_gcp/compute/outputs.py +1639 -213
  31. pulumi_gcp/compute/region_disk.py +7 -7
  32. pulumi_gcp/compute/region_health_check.py +42 -42
  33. pulumi_gcp/compute/region_instance_group_manager.py +54 -14
  34. pulumi_gcp/compute/region_network_firewall_policy_rule.py +4 -4
  35. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +10 -10
  36. pulumi_gcp/compute/region_resize_request.py +772 -0
  37. pulumi_gcp/compute/region_security_policy.py +120 -0
  38. pulumi_gcp/compute/region_security_policy_rule.py +6 -6
  39. pulumi_gcp/compute/router_peer.py +56 -35
  40. pulumi_gcp/compute/security_scan_config.py +8 -8
  41. pulumi_gcp/config/__init__.pyi +4 -0
  42. pulumi_gcp/config/vars.py +8 -0
  43. pulumi_gcp/container/_inputs.py +345 -10
  44. pulumi_gcp/container/cluster.py +101 -0
  45. pulumi_gcp/container/get_cluster.py +23 -1
  46. pulumi_gcp/container/outputs.py +456 -8
  47. pulumi_gcp/dataloss/prevention_discovery_config.py +7 -7
  48. pulumi_gcp/dataproc/__init__.py +2 -0
  49. pulumi_gcp/dataproc/_inputs.py +101 -0
  50. pulumi_gcp/dataproc/gdc_application_environment.py +931 -0
  51. pulumi_gcp/dataproc/gdc_service_instance.py +1022 -0
  52. pulumi_gcp/dataproc/outputs.py +94 -0
  53. pulumi_gcp/edgecontainer/vpn_connection.py +4 -4
  54. pulumi_gcp/firebase/android_app.py +2 -2
  55. pulumi_gcp/firebase/apple_app.py +2 -2
  56. pulumi_gcp/firebase/web_app.py +2 -2
  57. pulumi_gcp/firestore/index.py +44 -0
  58. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  59. pulumi_gcp/gkeonprem/outputs.py +10 -10
  60. pulumi_gcp/healthcare/dataset.py +7 -7
  61. pulumi_gcp/healthcare/dicom_store.py +7 -7
  62. pulumi_gcp/healthcare/fhir_store.py +7 -7
  63. pulumi_gcp/healthcare/hl7_store.py +14 -14
  64. pulumi_gcp/iam/__init__.py +1 -0
  65. pulumi_gcp/iam/_inputs.py +161 -0
  66. pulumi_gcp/iam/outputs.py +114 -0
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +679 -0
  68. pulumi_gcp/logging/metric.py +2 -2
  69. pulumi_gcp/looker/_inputs.py +6 -0
  70. pulumi_gcp/looker/instance.py +169 -321
  71. pulumi_gcp/looker/outputs.py +4 -0
  72. pulumi_gcp/memorystore/instance.py +4 -0
  73. pulumi_gcp/monitoring/alert_policy.py +24 -0
  74. pulumi_gcp/monitoring/custom_service.py +24 -0
  75. pulumi_gcp/monitoring/group.py +24 -0
  76. pulumi_gcp/monitoring/metric_descriptor.py +24 -0
  77. pulumi_gcp/monitoring/slo.py +24 -0
  78. pulumi_gcp/monitoring/uptime_check_config.py +24 -0
  79. pulumi_gcp/networkmanagement/__init__.py +1 -0
  80. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +1358 -0
  81. pulumi_gcp/osconfig/patch_deployment.py +8 -8
  82. pulumi_gcp/provider.py +40 -0
  83. pulumi_gcp/pulumi-plugin.json +1 -1
  84. pulumi_gcp/redis/_inputs.py +3 -3
  85. pulumi_gcp/redis/outputs.py +2 -2
  86. pulumi_gcp/securitycenter/notification_config.py +4 -16
  87. pulumi_gcp/securitycenter/project_notification_config.py +0 -24
  88. pulumi_gcp/securitycenter/v2_organization_notification_config.py +4 -16
  89. pulumi_gcp/spanner/__init__.py +1 -0
  90. pulumi_gcp/spanner/_inputs.py +9 -9
  91. pulumi_gcp/spanner/get_database.py +229 -0
  92. pulumi_gcp/spanner/get_instance.py +12 -1
  93. pulumi_gcp/spanner/instance.py +70 -0
  94. pulumi_gcp/spanner/outputs.py +46 -12
  95. pulumi_gcp/sql/_inputs.py +26 -0
  96. pulumi_gcp/sql/database_instance.py +124 -11
  97. pulumi_gcp/sql/get_database_instance.py +12 -1
  98. pulumi_gcp/sql/outputs.py +51 -0
  99. pulumi_gcp/storage/_inputs.py +3 -3
  100. pulumi_gcp/storage/outputs.py +2 -2
  101. pulumi_gcp/tags/tag_binding.py +4 -4
  102. pulumi_gcp/tags/tag_value.py +2 -2
  103. pulumi_gcp/transcoder/job.py +24 -0
  104. pulumi_gcp/vertex/_inputs.py +184 -0
  105. pulumi_gcp/vertex/ai_endpoint.py +394 -8
  106. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  107. pulumi_gcp/vertex/outputs.py +166 -0
  108. pulumi_gcp/workbench/instance.py +21 -7
  109. pulumi_gcp/workflows/workflow.py +36 -0
  110. pulumi_gcp/workstations/workstation_config.py +8 -8
  111. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/METADATA +1 -1
  112. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/RECORD +114 -103
  113. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/WHEEL +0 -0
  114. {pulumi_gcp-8.9.0a1731366299.dist-info → pulumi_gcp-8.9.0a1731480835.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,679 @@
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
+ from ._inputs import *
18
+
19
+ __all__ = ['PrincipalAccessBoundaryPolicyArgs', 'PrincipalAccessBoundaryPolicy']
20
+
21
+ @pulumi.input_type
22
+ class PrincipalAccessBoundaryPolicyArgs:
23
+ def __init__(__self__, *,
24
+ location: pulumi.Input[str],
25
+ organization: pulumi.Input[str],
26
+ principal_access_boundary_policy_id: pulumi.Input[str],
27
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
+ details: Optional[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs']] = None,
29
+ display_name: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a PrincipalAccessBoundaryPolicy resource.
32
+ :param pulumi.Input[str] location: The location the principal access boundary policy is in.
33
+ :param pulumi.Input[str] organization: The parent organization of the principal access boundary policy.
34
+ :param pulumi.Input[str] principal_access_boundary_policy_id: The ID to use to create the principal access boundary policy.
35
+ This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /a-z{2,62}/.
36
+
37
+
38
+ - - -
39
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: User defined annotations. See https://google.aip.dev/148#annotations
40
+ for more details such as format and size limitations
41
+
42
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
43
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
44
+ :param pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs'] details: Principal access boundary policy details
45
+ Structure is documented below.
46
+ :param pulumi.Input[str] display_name: The description of the principal access boundary policy. Must be less than or equal to 63 characters.
47
+ """
48
+ pulumi.set(__self__, "location", location)
49
+ pulumi.set(__self__, "organization", organization)
50
+ pulumi.set(__self__, "principal_access_boundary_policy_id", principal_access_boundary_policy_id)
51
+ if annotations is not None:
52
+ pulumi.set(__self__, "annotations", annotations)
53
+ if details is not None:
54
+ pulumi.set(__self__, "details", details)
55
+ if display_name is not None:
56
+ pulumi.set(__self__, "display_name", display_name)
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def location(self) -> pulumi.Input[str]:
61
+ """
62
+ The location the principal access boundary policy is in.
63
+ """
64
+ return pulumi.get(self, "location")
65
+
66
+ @location.setter
67
+ def location(self, value: pulumi.Input[str]):
68
+ pulumi.set(self, "location", value)
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def organization(self) -> pulumi.Input[str]:
73
+ """
74
+ The parent organization of the principal access boundary policy.
75
+ """
76
+ return pulumi.get(self, "organization")
77
+
78
+ @organization.setter
79
+ def organization(self, value: pulumi.Input[str]):
80
+ pulumi.set(self, "organization", value)
81
+
82
+ @property
83
+ @pulumi.getter(name="principalAccessBoundaryPolicyId")
84
+ def principal_access_boundary_policy_id(self) -> pulumi.Input[str]:
85
+ """
86
+ The ID to use to create the principal access boundary policy.
87
+ This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /a-z{2,62}/.
88
+
89
+
90
+ - - -
91
+ """
92
+ return pulumi.get(self, "principal_access_boundary_policy_id")
93
+
94
+ @principal_access_boundary_policy_id.setter
95
+ def principal_access_boundary_policy_id(self, value: pulumi.Input[str]):
96
+ pulumi.set(self, "principal_access_boundary_policy_id", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
101
+ """
102
+ User defined annotations. See https://google.aip.dev/148#annotations
103
+ for more details such as format and size limitations
104
+
105
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
106
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
107
+ """
108
+ return pulumi.get(self, "annotations")
109
+
110
+ @annotations.setter
111
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
112
+ pulumi.set(self, "annotations", value)
113
+
114
+ @property
115
+ @pulumi.getter
116
+ def details(self) -> Optional[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs']]:
117
+ """
118
+ Principal access boundary policy details
119
+ Structure is documented below.
120
+ """
121
+ return pulumi.get(self, "details")
122
+
123
+ @details.setter
124
+ def details(self, value: Optional[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs']]):
125
+ pulumi.set(self, "details", value)
126
+
127
+ @property
128
+ @pulumi.getter(name="displayName")
129
+ def display_name(self) -> Optional[pulumi.Input[str]]:
130
+ """
131
+ The description of the principal access boundary policy. Must be less than or equal to 63 characters.
132
+ """
133
+ return pulumi.get(self, "display_name")
134
+
135
+ @display_name.setter
136
+ def display_name(self, value: Optional[pulumi.Input[str]]):
137
+ pulumi.set(self, "display_name", value)
138
+
139
+
140
+ @pulumi.input_type
141
+ class _PrincipalAccessBoundaryPolicyState:
142
+ def __init__(__self__, *,
143
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
144
+ create_time: Optional[pulumi.Input[str]] = None,
145
+ details: Optional[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs']] = None,
146
+ display_name: Optional[pulumi.Input[str]] = None,
147
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
148
+ etag: Optional[pulumi.Input[str]] = None,
149
+ location: Optional[pulumi.Input[str]] = None,
150
+ name: Optional[pulumi.Input[str]] = None,
151
+ organization: Optional[pulumi.Input[str]] = None,
152
+ principal_access_boundary_policy_id: Optional[pulumi.Input[str]] = None,
153
+ uid: Optional[pulumi.Input[str]] = None,
154
+ update_time: Optional[pulumi.Input[str]] = None):
155
+ """
156
+ Input properties used for looking up and filtering PrincipalAccessBoundaryPolicy resources.
157
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: User defined annotations. See https://google.aip.dev/148#annotations
158
+ for more details such as format and size limitations
159
+
160
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
161
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
162
+ :param pulumi.Input[str] create_time: Output only. The time when the principal access boundary policy was created.
163
+ :param pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs'] details: Principal access boundary policy details
164
+ Structure is documented below.
165
+ :param pulumi.Input[str] display_name: The description of the principal access boundary policy. Must be less than or equal to 63 characters.
166
+ :param pulumi.Input[str] etag: The etag for the principal access boundary. If this is provided on update, it must match the server's etag.
167
+ :param pulumi.Input[str] location: The location the principal access boundary policy is in.
168
+ :param pulumi.Input[str] name: Identifier. The resource name of the principal access boundary policy. The following format is supported:
169
+ `organizations/{organization_id}/locations/{location}/principalAccessBoundaryPolicies/{policy_id}`
170
+ :param pulumi.Input[str] organization: The parent organization of the principal access boundary policy.
171
+ :param pulumi.Input[str] principal_access_boundary_policy_id: The ID to use to create the principal access boundary policy.
172
+ This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /a-z{2,62}/.
173
+
174
+
175
+ - - -
176
+ :param pulumi.Input[str] uid: Output only. The globally unique ID of the principal access boundary policy.
177
+ :param pulumi.Input[str] update_time: Output only. The time when the principal access boundary policy was most recently updated.
178
+ """
179
+ if annotations is not None:
180
+ pulumi.set(__self__, "annotations", annotations)
181
+ if create_time is not None:
182
+ pulumi.set(__self__, "create_time", create_time)
183
+ if details is not None:
184
+ pulumi.set(__self__, "details", details)
185
+ if display_name is not None:
186
+ pulumi.set(__self__, "display_name", display_name)
187
+ if effective_annotations is not None:
188
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
189
+ if etag is not None:
190
+ pulumi.set(__self__, "etag", etag)
191
+ if location is not None:
192
+ pulumi.set(__self__, "location", location)
193
+ if name is not None:
194
+ pulumi.set(__self__, "name", name)
195
+ if organization is not None:
196
+ pulumi.set(__self__, "organization", organization)
197
+ if principal_access_boundary_policy_id is not None:
198
+ pulumi.set(__self__, "principal_access_boundary_policy_id", principal_access_boundary_policy_id)
199
+ if uid is not None:
200
+ pulumi.set(__self__, "uid", uid)
201
+ if update_time is not None:
202
+ pulumi.set(__self__, "update_time", update_time)
203
+
204
+ @property
205
+ @pulumi.getter
206
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
207
+ """
208
+ User defined annotations. See https://google.aip.dev/148#annotations
209
+ for more details such as format and size limitations
210
+
211
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
212
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
213
+ """
214
+ return pulumi.get(self, "annotations")
215
+
216
+ @annotations.setter
217
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
218
+ pulumi.set(self, "annotations", value)
219
+
220
+ @property
221
+ @pulumi.getter(name="createTime")
222
+ def create_time(self) -> Optional[pulumi.Input[str]]:
223
+ """
224
+ Output only. The time when the principal access boundary policy was created.
225
+ """
226
+ return pulumi.get(self, "create_time")
227
+
228
+ @create_time.setter
229
+ def create_time(self, value: Optional[pulumi.Input[str]]):
230
+ pulumi.set(self, "create_time", value)
231
+
232
+ @property
233
+ @pulumi.getter
234
+ def details(self) -> Optional[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs']]:
235
+ """
236
+ Principal access boundary policy details
237
+ Structure is documented below.
238
+ """
239
+ return pulumi.get(self, "details")
240
+
241
+ @details.setter
242
+ def details(self, value: Optional[pulumi.Input['PrincipalAccessBoundaryPolicyDetailsArgs']]):
243
+ pulumi.set(self, "details", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="displayName")
247
+ def display_name(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ The description of the principal access boundary policy. Must be less than or equal to 63 characters.
250
+ """
251
+ return pulumi.get(self, "display_name")
252
+
253
+ @display_name.setter
254
+ def display_name(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "display_name", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="effectiveAnnotations")
259
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
260
+ return pulumi.get(self, "effective_annotations")
261
+
262
+ @effective_annotations.setter
263
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
264
+ pulumi.set(self, "effective_annotations", value)
265
+
266
+ @property
267
+ @pulumi.getter
268
+ def etag(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ The etag for the principal access boundary. If this is provided on update, it must match the server's etag.
271
+ """
272
+ return pulumi.get(self, "etag")
273
+
274
+ @etag.setter
275
+ def etag(self, value: Optional[pulumi.Input[str]]):
276
+ pulumi.set(self, "etag", value)
277
+
278
+ @property
279
+ @pulumi.getter
280
+ def location(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ The location the principal access boundary policy is in.
283
+ """
284
+ return pulumi.get(self, "location")
285
+
286
+ @location.setter
287
+ def location(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "location", value)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def name(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ Identifier. The resource name of the principal access boundary policy. The following format is supported:
295
+ `organizations/{organization_id}/locations/{location}/principalAccessBoundaryPolicies/{policy_id}`
296
+ """
297
+ return pulumi.get(self, "name")
298
+
299
+ @name.setter
300
+ def name(self, value: Optional[pulumi.Input[str]]):
301
+ pulumi.set(self, "name", value)
302
+
303
+ @property
304
+ @pulumi.getter
305
+ def organization(self) -> Optional[pulumi.Input[str]]:
306
+ """
307
+ The parent organization of the principal access boundary policy.
308
+ """
309
+ return pulumi.get(self, "organization")
310
+
311
+ @organization.setter
312
+ def organization(self, value: Optional[pulumi.Input[str]]):
313
+ pulumi.set(self, "organization", value)
314
+
315
+ @property
316
+ @pulumi.getter(name="principalAccessBoundaryPolicyId")
317
+ def principal_access_boundary_policy_id(self) -> Optional[pulumi.Input[str]]:
318
+ """
319
+ The ID to use to create the principal access boundary policy.
320
+ This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /a-z{2,62}/.
321
+
322
+
323
+ - - -
324
+ """
325
+ return pulumi.get(self, "principal_access_boundary_policy_id")
326
+
327
+ @principal_access_boundary_policy_id.setter
328
+ def principal_access_boundary_policy_id(self, value: Optional[pulumi.Input[str]]):
329
+ pulumi.set(self, "principal_access_boundary_policy_id", value)
330
+
331
+ @property
332
+ @pulumi.getter
333
+ def uid(self) -> Optional[pulumi.Input[str]]:
334
+ """
335
+ Output only. The globally unique ID of the principal access boundary policy.
336
+ """
337
+ return pulumi.get(self, "uid")
338
+
339
+ @uid.setter
340
+ def uid(self, value: Optional[pulumi.Input[str]]):
341
+ pulumi.set(self, "uid", value)
342
+
343
+ @property
344
+ @pulumi.getter(name="updateTime")
345
+ def update_time(self) -> Optional[pulumi.Input[str]]:
346
+ """
347
+ Output only. The time when the principal access boundary policy was most recently updated.
348
+ """
349
+ return pulumi.get(self, "update_time")
350
+
351
+ @update_time.setter
352
+ def update_time(self, value: Optional[pulumi.Input[str]]):
353
+ pulumi.set(self, "update_time", value)
354
+
355
+
356
+ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
357
+ @overload
358
+ def __init__(__self__,
359
+ resource_name: str,
360
+ opts: Optional[pulumi.ResourceOptions] = None,
361
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
362
+ details: Optional[pulumi.Input[Union['PrincipalAccessBoundaryPolicyDetailsArgs', 'PrincipalAccessBoundaryPolicyDetailsArgsDict']]] = None,
363
+ display_name: Optional[pulumi.Input[str]] = None,
364
+ location: Optional[pulumi.Input[str]] = None,
365
+ organization: Optional[pulumi.Input[str]] = None,
366
+ principal_access_boundary_policy_id: Optional[pulumi.Input[str]] = None,
367
+ __props__=None):
368
+ """
369
+ ## Example Usage
370
+
371
+ ### Iam Principal Access Boundary Policy
372
+
373
+ ```python
374
+ import pulumi
375
+ import pulumi_gcp as gcp
376
+
377
+ my_pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("my-pab-policy",
378
+ organization="123456789",
379
+ location="global",
380
+ display_name="test pab policy",
381
+ principal_access_boundary_policy_id="test-pab-policy")
382
+ ```
383
+
384
+ ## Import
385
+
386
+ PrincipalAccessBoundaryPolicy can be imported using any of these accepted formats:
387
+
388
+ * `organizations/{{organization}}/locations/{{location}}/principalAccessBoundaryPolicies/{{principal_access_boundary_policy_id}}`
389
+
390
+ * `{{organization}}/{{location}}/{{principal_access_boundary_policy_id}}`
391
+
392
+ When using the `pulumi import` command, PrincipalAccessBoundaryPolicy can be imported using one of the formats above. For example:
393
+
394
+ ```sh
395
+ $ pulumi import gcp:iam/principalAccessBoundaryPolicy:PrincipalAccessBoundaryPolicy default organizations/{{organization}}/locations/{{location}}/principalAccessBoundaryPolicies/{{principal_access_boundary_policy_id}}
396
+ ```
397
+
398
+ ```sh
399
+ $ pulumi import gcp:iam/principalAccessBoundaryPolicy:PrincipalAccessBoundaryPolicy default {{organization}}/{{location}}/{{principal_access_boundary_policy_id}}
400
+ ```
401
+
402
+ :param str resource_name: The name of the resource.
403
+ :param pulumi.ResourceOptions opts: Options for the resource.
404
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: User defined annotations. See https://google.aip.dev/148#annotations
405
+ for more details such as format and size limitations
406
+
407
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
408
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
409
+ :param pulumi.Input[Union['PrincipalAccessBoundaryPolicyDetailsArgs', 'PrincipalAccessBoundaryPolicyDetailsArgsDict']] details: Principal access boundary policy details
410
+ Structure is documented below.
411
+ :param pulumi.Input[str] display_name: The description of the principal access boundary policy. Must be less than or equal to 63 characters.
412
+ :param pulumi.Input[str] location: The location the principal access boundary policy is in.
413
+ :param pulumi.Input[str] organization: The parent organization of the principal access boundary policy.
414
+ :param pulumi.Input[str] principal_access_boundary_policy_id: The ID to use to create the principal access boundary policy.
415
+ This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /a-z{2,62}/.
416
+
417
+
418
+ - - -
419
+ """
420
+ ...
421
+ @overload
422
+ def __init__(__self__,
423
+ resource_name: str,
424
+ args: PrincipalAccessBoundaryPolicyArgs,
425
+ opts: Optional[pulumi.ResourceOptions] = None):
426
+ """
427
+ ## Example Usage
428
+
429
+ ### Iam Principal Access Boundary Policy
430
+
431
+ ```python
432
+ import pulumi
433
+ import pulumi_gcp as gcp
434
+
435
+ my_pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("my-pab-policy",
436
+ organization="123456789",
437
+ location="global",
438
+ display_name="test pab policy",
439
+ principal_access_boundary_policy_id="test-pab-policy")
440
+ ```
441
+
442
+ ## Import
443
+
444
+ PrincipalAccessBoundaryPolicy can be imported using any of these accepted formats:
445
+
446
+ * `organizations/{{organization}}/locations/{{location}}/principalAccessBoundaryPolicies/{{principal_access_boundary_policy_id}}`
447
+
448
+ * `{{organization}}/{{location}}/{{principal_access_boundary_policy_id}}`
449
+
450
+ When using the `pulumi import` command, PrincipalAccessBoundaryPolicy can be imported using one of the formats above. For example:
451
+
452
+ ```sh
453
+ $ pulumi import gcp:iam/principalAccessBoundaryPolicy:PrincipalAccessBoundaryPolicy default organizations/{{organization}}/locations/{{location}}/principalAccessBoundaryPolicies/{{principal_access_boundary_policy_id}}
454
+ ```
455
+
456
+ ```sh
457
+ $ pulumi import gcp:iam/principalAccessBoundaryPolicy:PrincipalAccessBoundaryPolicy default {{organization}}/{{location}}/{{principal_access_boundary_policy_id}}
458
+ ```
459
+
460
+ :param str resource_name: The name of the resource.
461
+ :param PrincipalAccessBoundaryPolicyArgs args: The arguments to use to populate this resource's properties.
462
+ :param pulumi.ResourceOptions opts: Options for the resource.
463
+ """
464
+ ...
465
+ def __init__(__self__, resource_name: str, *args, **kwargs):
466
+ resource_args, opts = _utilities.get_resource_args_opts(PrincipalAccessBoundaryPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
467
+ if resource_args is not None:
468
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
469
+ else:
470
+ __self__._internal_init(resource_name, *args, **kwargs)
471
+
472
+ def _internal_init(__self__,
473
+ resource_name: str,
474
+ opts: Optional[pulumi.ResourceOptions] = None,
475
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
476
+ details: Optional[pulumi.Input[Union['PrincipalAccessBoundaryPolicyDetailsArgs', 'PrincipalAccessBoundaryPolicyDetailsArgsDict']]] = None,
477
+ display_name: Optional[pulumi.Input[str]] = None,
478
+ location: Optional[pulumi.Input[str]] = None,
479
+ organization: Optional[pulumi.Input[str]] = None,
480
+ principal_access_boundary_policy_id: Optional[pulumi.Input[str]] = None,
481
+ __props__=None):
482
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
483
+ if not isinstance(opts, pulumi.ResourceOptions):
484
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
485
+ if opts.id is None:
486
+ if __props__ is not None:
487
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
488
+ __props__ = PrincipalAccessBoundaryPolicyArgs.__new__(PrincipalAccessBoundaryPolicyArgs)
489
+
490
+ __props__.__dict__["annotations"] = annotations
491
+ __props__.__dict__["details"] = details
492
+ __props__.__dict__["display_name"] = display_name
493
+ if location is None and not opts.urn:
494
+ raise TypeError("Missing required property 'location'")
495
+ __props__.__dict__["location"] = location
496
+ if organization is None and not opts.urn:
497
+ raise TypeError("Missing required property 'organization'")
498
+ __props__.__dict__["organization"] = organization
499
+ if principal_access_boundary_policy_id is None and not opts.urn:
500
+ raise TypeError("Missing required property 'principal_access_boundary_policy_id'")
501
+ __props__.__dict__["principal_access_boundary_policy_id"] = principal_access_boundary_policy_id
502
+ __props__.__dict__["create_time"] = None
503
+ __props__.__dict__["effective_annotations"] = None
504
+ __props__.__dict__["etag"] = None
505
+ __props__.__dict__["name"] = None
506
+ __props__.__dict__["uid"] = None
507
+ __props__.__dict__["update_time"] = None
508
+ super(PrincipalAccessBoundaryPolicy, __self__).__init__(
509
+ 'gcp:iam/principalAccessBoundaryPolicy:PrincipalAccessBoundaryPolicy',
510
+ resource_name,
511
+ __props__,
512
+ opts)
513
+
514
+ @staticmethod
515
+ def get(resource_name: str,
516
+ id: pulumi.Input[str],
517
+ opts: Optional[pulumi.ResourceOptions] = None,
518
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
519
+ create_time: Optional[pulumi.Input[str]] = None,
520
+ details: Optional[pulumi.Input[Union['PrincipalAccessBoundaryPolicyDetailsArgs', 'PrincipalAccessBoundaryPolicyDetailsArgsDict']]] = None,
521
+ display_name: Optional[pulumi.Input[str]] = None,
522
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
523
+ etag: Optional[pulumi.Input[str]] = None,
524
+ location: Optional[pulumi.Input[str]] = None,
525
+ name: Optional[pulumi.Input[str]] = None,
526
+ organization: Optional[pulumi.Input[str]] = None,
527
+ principal_access_boundary_policy_id: Optional[pulumi.Input[str]] = None,
528
+ uid: Optional[pulumi.Input[str]] = None,
529
+ update_time: Optional[pulumi.Input[str]] = None) -> 'PrincipalAccessBoundaryPolicy':
530
+ """
531
+ Get an existing PrincipalAccessBoundaryPolicy resource's state with the given name, id, and optional extra
532
+ properties used to qualify the lookup.
533
+
534
+ :param str resource_name: The unique name of the resulting resource.
535
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
536
+ :param pulumi.ResourceOptions opts: Options for the resource.
537
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: User defined annotations. See https://google.aip.dev/148#annotations
538
+ for more details such as format and size limitations
539
+
540
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
541
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
542
+ :param pulumi.Input[str] create_time: Output only. The time when the principal access boundary policy was created.
543
+ :param pulumi.Input[Union['PrincipalAccessBoundaryPolicyDetailsArgs', 'PrincipalAccessBoundaryPolicyDetailsArgsDict']] details: Principal access boundary policy details
544
+ Structure is documented below.
545
+ :param pulumi.Input[str] display_name: The description of the principal access boundary policy. Must be less than or equal to 63 characters.
546
+ :param pulumi.Input[str] etag: The etag for the principal access boundary. If this is provided on update, it must match the server's etag.
547
+ :param pulumi.Input[str] location: The location the principal access boundary policy is in.
548
+ :param pulumi.Input[str] name: Identifier. The resource name of the principal access boundary policy. The following format is supported:
549
+ `organizations/{organization_id}/locations/{location}/principalAccessBoundaryPolicies/{policy_id}`
550
+ :param pulumi.Input[str] organization: The parent organization of the principal access boundary policy.
551
+ :param pulumi.Input[str] principal_access_boundary_policy_id: The ID to use to create the principal access boundary policy.
552
+ This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /a-z{2,62}/.
553
+
554
+
555
+ - - -
556
+ :param pulumi.Input[str] uid: Output only. The globally unique ID of the principal access boundary policy.
557
+ :param pulumi.Input[str] update_time: Output only. The time when the principal access boundary policy was most recently updated.
558
+ """
559
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
560
+
561
+ __props__ = _PrincipalAccessBoundaryPolicyState.__new__(_PrincipalAccessBoundaryPolicyState)
562
+
563
+ __props__.__dict__["annotations"] = annotations
564
+ __props__.__dict__["create_time"] = create_time
565
+ __props__.__dict__["details"] = details
566
+ __props__.__dict__["display_name"] = display_name
567
+ __props__.__dict__["effective_annotations"] = effective_annotations
568
+ __props__.__dict__["etag"] = etag
569
+ __props__.__dict__["location"] = location
570
+ __props__.__dict__["name"] = name
571
+ __props__.__dict__["organization"] = organization
572
+ __props__.__dict__["principal_access_boundary_policy_id"] = principal_access_boundary_policy_id
573
+ __props__.__dict__["uid"] = uid
574
+ __props__.__dict__["update_time"] = update_time
575
+ return PrincipalAccessBoundaryPolicy(resource_name, opts=opts, __props__=__props__)
576
+
577
+ @property
578
+ @pulumi.getter
579
+ def annotations(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
580
+ """
581
+ User defined annotations. See https://google.aip.dev/148#annotations
582
+ for more details such as format and size limitations
583
+
584
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
585
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
586
+ """
587
+ return pulumi.get(self, "annotations")
588
+
589
+ @property
590
+ @pulumi.getter(name="createTime")
591
+ def create_time(self) -> pulumi.Output[str]:
592
+ """
593
+ Output only. The time when the principal access boundary policy was created.
594
+ """
595
+ return pulumi.get(self, "create_time")
596
+
597
+ @property
598
+ @pulumi.getter
599
+ def details(self) -> pulumi.Output['outputs.PrincipalAccessBoundaryPolicyDetails']:
600
+ """
601
+ Principal access boundary policy details
602
+ Structure is documented below.
603
+ """
604
+ return pulumi.get(self, "details")
605
+
606
+ @property
607
+ @pulumi.getter(name="displayName")
608
+ def display_name(self) -> pulumi.Output[Optional[str]]:
609
+ """
610
+ The description of the principal access boundary policy. Must be less than or equal to 63 characters.
611
+ """
612
+ return pulumi.get(self, "display_name")
613
+
614
+ @property
615
+ @pulumi.getter(name="effectiveAnnotations")
616
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
617
+ return pulumi.get(self, "effective_annotations")
618
+
619
+ @property
620
+ @pulumi.getter
621
+ def etag(self) -> pulumi.Output[str]:
622
+ """
623
+ The etag for the principal access boundary. If this is provided on update, it must match the server's etag.
624
+ """
625
+ return pulumi.get(self, "etag")
626
+
627
+ @property
628
+ @pulumi.getter
629
+ def location(self) -> pulumi.Output[str]:
630
+ """
631
+ The location the principal access boundary policy is in.
632
+ """
633
+ return pulumi.get(self, "location")
634
+
635
+ @property
636
+ @pulumi.getter
637
+ def name(self) -> pulumi.Output[str]:
638
+ """
639
+ Identifier. The resource name of the principal access boundary policy. The following format is supported:
640
+ `organizations/{organization_id}/locations/{location}/principalAccessBoundaryPolicies/{policy_id}`
641
+ """
642
+ return pulumi.get(self, "name")
643
+
644
+ @property
645
+ @pulumi.getter
646
+ def organization(self) -> pulumi.Output[str]:
647
+ """
648
+ The parent organization of the principal access boundary policy.
649
+ """
650
+ return pulumi.get(self, "organization")
651
+
652
+ @property
653
+ @pulumi.getter(name="principalAccessBoundaryPolicyId")
654
+ def principal_access_boundary_policy_id(self) -> pulumi.Output[str]:
655
+ """
656
+ The ID to use to create the principal access boundary policy.
657
+ This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, hyphens, or dots. Pattern, /a-z{2,62}/.
658
+
659
+
660
+ - - -
661
+ """
662
+ return pulumi.get(self, "principal_access_boundary_policy_id")
663
+
664
+ @property
665
+ @pulumi.getter
666
+ def uid(self) -> pulumi.Output[str]:
667
+ """
668
+ Output only. The globally unique ID of the principal access boundary policy.
669
+ """
670
+ return pulumi.get(self, "uid")
671
+
672
+ @property
673
+ @pulumi.getter(name="updateTime")
674
+ def update_time(self) -> pulumi.Output[str]:
675
+ """
676
+ Output only. The time when the principal access boundary policy was most recently updated.
677
+ """
678
+ return pulumi.get(self, "update_time")
679
+