pulumi-gcp 7.31.0a1720850808__py3-none-any.whl → 7.32.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. pulumi_gcp/__init__.py +51 -0
  2. pulumi_gcp/alloydb/cluster.py +0 -24
  3. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  4. pulumi_gcp/bigquery/_inputs.py +0 -12
  5. pulumi_gcp/bigquery/dataset.py +0 -28
  6. pulumi_gcp/bigquery/dataset_access.py +0 -28
  7. pulumi_gcp/bigquery/outputs.py +0 -24
  8. pulumi_gcp/bigquery/reservation_assignment.py +48 -30
  9. pulumi_gcp/bigtable/authorized_view.py +104 -0
  10. pulumi_gcp/certificateauthority/certificate_template.py +2 -2
  11. pulumi_gcp/certificatemanager/_inputs.py +33 -0
  12. pulumi_gcp/certificatemanager/outputs.py +36 -0
  13. pulumi_gcp/certificatemanager/trust_config.py +107 -0
  14. pulumi_gcp/compute/_inputs.py +3 -6
  15. pulumi_gcp/compute/ca_external_account_key.py +2 -2
  16. pulumi_gcp/compute/get_health_check.py +11 -1
  17. pulumi_gcp/compute/global_address.py +16 -4
  18. pulumi_gcp/compute/global_forwarding_rule.py +2 -4
  19. pulumi_gcp/compute/health_check.py +124 -0
  20. pulumi_gcp/compute/instance.py +14 -14
  21. pulumi_gcp/compute/instance_group_membership.py +2 -2
  22. pulumi_gcp/compute/outputs.py +4 -8
  23. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  24. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  25. pulumi_gcp/compute/subnetwork.py +2 -2
  26. pulumi_gcp/compute/target_instance.py +2 -2
  27. pulumi_gcp/config/__init__.pyi +4 -0
  28. pulumi_gcp/config/vars.py +8 -0
  29. pulumi_gcp/container/_inputs.py +3 -3
  30. pulumi_gcp/container/outputs.py +4 -4
  31. pulumi_gcp/containeranalysis/note.py +2 -2
  32. pulumi_gcp/dataloss/_inputs.py +3 -0
  33. pulumi_gcp/dataloss/outputs.py +2 -0
  34. pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
  35. pulumi_gcp/dataplex/_inputs.py +56 -0
  36. pulumi_gcp/dataplex/datascan.py +12 -0
  37. pulumi_gcp/dataplex/outputs.py +52 -0
  38. pulumi_gcp/filestore/backup.py +2 -2
  39. pulumi_gcp/filestore/instance.py +2 -2
  40. pulumi_gcp/filestore/snapshot.py +2 -2
  41. pulumi_gcp/gkehub/__init__.py +1 -0
  42. pulumi_gcp/gkehub/_inputs.py +20 -0
  43. pulumi_gcp/gkehub/get_membership_binding.py +222 -0
  44. pulumi_gcp/gkehub/outputs.py +31 -0
  45. pulumi_gcp/iap/client.py +7 -7
  46. pulumi_gcp/kms/__init__.py +2 -0
  47. pulumi_gcp/kms/_inputs.py +40 -0
  48. pulumi_gcp/kms/crypto_key.py +110 -7
  49. pulumi_gcp/kms/get_crypto_keys.py +143 -0
  50. pulumi_gcp/kms/get_key_rings.py +119 -0
  51. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  52. pulumi_gcp/kms/outputs.py +382 -0
  53. pulumi_gcp/logging/_inputs.py +12 -12
  54. pulumi_gcp/logging/folder_bucket_config.py +6 -6
  55. pulumi_gcp/logging/organization_bucket_config.py +6 -6
  56. pulumi_gcp/logging/outputs.py +8 -8
  57. pulumi_gcp/logging/project_bucket_config.py +6 -6
  58. pulumi_gcp/looker/instance.py +2 -2
  59. pulumi_gcp/monitoring/custom_service.py +2 -2
  60. pulumi_gcp/monitoring/generic_service.py +2 -2
  61. pulumi_gcp/monitoring/notification_channel.py +2 -2
  62. pulumi_gcp/monitoring/slo.py +2 -2
  63. pulumi_gcp/netapp/storage_pool.py +132 -53
  64. pulumi_gcp/netapp/volume.py +60 -4
  65. pulumi_gcp/networksecurity/address_group.py +85 -1
  66. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
  67. pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
  68. pulumi_gcp/networksecurity/security_profile_group.py +2 -2
  69. pulumi_gcp/orgpolicy/_inputs.py +40 -10
  70. pulumi_gcp/orgpolicy/outputs.py +28 -8
  71. pulumi_gcp/orgpolicy/policy.py +52 -35
  72. pulumi_gcp/privilegedaccessmanager/entitlement.py +4 -0
  73. pulumi_gcp/provider.py +40 -0
  74. pulumi_gcp/pubsub/_inputs.py +3 -3
  75. pulumi_gcp/pubsub/outputs.py +4 -4
  76. pulumi_gcp/pulumi-plugin.json +1 -1
  77. pulumi_gcp/securesourcemanager/__init__.py +5 -0
  78. pulumi_gcp/securesourcemanager/_inputs.py +284 -0
  79. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
  80. pulumi_gcp/securesourcemanager/outputs.py +202 -0
  81. pulumi_gcp/securesourcemanager/repository.py +715 -0
  82. pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
  83. pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
  84. pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
  85. pulumi_gcp/securitycenter/__init__.py +2 -0
  86. pulumi_gcp/securitycenter/_inputs.py +186 -0
  87. pulumi_gcp/securitycenter/outputs.py +118 -0
  88. pulumi_gcp/securitycenter/project_notification_config.py +518 -0
  89. pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
  90. pulumi_gcp/securityposture/posture_deployment.py +0 -78
  91. pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
  92. pulumi_gcp/siteverification/__init__.py +8 -0
  93. pulumi_gcp/siteverification/get_token.py +221 -0
  94. pulumi_gcp/vertex/_inputs.py +21 -1
  95. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
  96. pulumi_gcp/vertex/outputs.py +15 -1
  97. pulumi_gcp/workstations/_inputs.py +33 -1
  98. pulumi_gcp/workstations/outputs.py +23 -1
  99. pulumi_gcp/workstations/workstation_config.py +18 -0
  100. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/METADATA +1 -1
  101. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/RECORD +103 -91
  102. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/WHEEL +0 -0
  103. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.32.0.dist-info}/top_level.txt +0 -0
@@ -457,10 +457,10 @@ class ProjectBucketConfig(pulumi.CustomResource):
457
457
  location="global",
458
458
  retention_days=30,
459
459
  bucket_id="custom-bucket",
460
- index_configs={
461
- "filePath": "jsonPayload.request.status",
460
+ index_configs=[{
461
+ "fieldPath": "jsonPayload.request.status",
462
462
  "type": "INDEX_TYPE_STRING",
463
- })
463
+ }])
464
464
  ```
465
465
 
466
466
  ## Import
@@ -584,10 +584,10 @@ class ProjectBucketConfig(pulumi.CustomResource):
584
584
  location="global",
585
585
  retention_days=30,
586
586
  bucket_id="custom-bucket",
587
- index_configs={
588
- "filePath": "jsonPayload.request.status",
587
+ index_configs=[{
588
+ "fieldPath": "jsonPayload.request.status",
589
589
  "type": "INDEX_TYPE_STRING",
590
- })
590
+ }])
591
591
  ```
592
592
 
593
593
  ## Import
@@ -786,8 +786,8 @@ class Instance(pulumi.CustomResource):
786
786
 
787
787
  * [API documentation](https://cloud.google.com/looker/docs/reference/rest/v1/projects.locations.instances)
788
788
  * How-to Guides
789
- * [Create a Looker (Google Cloud core) instance](https://cloud.google.com/looker/docs/looker-core-instance-create)
790
789
  * [Configure a Looker (Google Cloud core) instance](https://cloud.google.com/looker/docs/looker-core-instance-setup)
790
+ * [Create a Looker (Google Cloud core) instance](https://cloud.google.com/looker/docs/looker-core-instance-create)
791
791
 
792
792
  ## Example Usage
793
793
 
@@ -1033,8 +1033,8 @@ class Instance(pulumi.CustomResource):
1033
1033
 
1034
1034
  * [API documentation](https://cloud.google.com/looker/docs/reference/rest/v1/projects.locations.instances)
1035
1035
  * How-to Guides
1036
- * [Create a Looker (Google Cloud core) instance](https://cloud.google.com/looker/docs/looker-core-instance-create)
1037
1036
  * [Configure a Looker (Google Cloud core) instance](https://cloud.google.com/looker/docs/looker-core-instance-setup)
1037
+ * [Create a Looker (Google Cloud core) instance](https://cloud.google.com/looker/docs/looker-core-instance-create)
1038
1038
 
1039
1039
  ## Example Usage
1040
1040
 
@@ -265,8 +265,8 @@ class CustomService(pulumi.CustomResource):
265
265
 
266
266
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services)
267
267
  * How-to Guides
268
- * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
269
268
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
269
+ * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
270
270
  * [Service-orientation on Wikipedia](https://en.wikipedia.org/wiki/Service-orientation)
271
271
 
272
272
  ## Example Usage
@@ -333,8 +333,8 @@ class CustomService(pulumi.CustomResource):
333
333
 
334
334
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services)
335
335
  * How-to Guides
336
- * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
337
336
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
337
+ * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
338
338
  * [Service-orientation on Wikipedia](https://en.wikipedia.org/wiki/Service-orientation)
339
339
 
340
340
  ## Example Usage
@@ -302,8 +302,8 @@ class GenericService(pulumi.CustomResource):
302
302
 
303
303
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services)
304
304
  * How-to Guides
305
- * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
306
305
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
306
+ * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
307
307
  * [Service-orientation on Wikipedia](https://en.wikipedia.org/wiki/Service-orientation)
308
308
 
309
309
  ## Example Usage
@@ -390,8 +390,8 @@ class GenericService(pulumi.CustomResource):
390
390
 
391
391
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services)
392
392
  * How-to Guides
393
- * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
394
393
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
394
+ * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
395
395
  * [Service-orientation on Wikipedia](https://en.wikipedia.org/wiki/Service-orientation)
396
396
 
397
397
  ## Example Usage
@@ -470,8 +470,8 @@ class NotificationChannel(pulumi.CustomResource):
470
470
 
471
471
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannels)
472
472
  * How-to Guides
473
- * [Notification Options](https://cloud.google.com/monitoring/support/notification-options)
474
473
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
474
+ * [Notification Options](https://cloud.google.com/monitoring/support/notification-options)
475
475
 
476
476
  ## Example Usage
477
477
 
@@ -577,8 +577,8 @@ class NotificationChannel(pulumi.CustomResource):
577
577
 
578
578
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannels)
579
579
  * How-to Guides
580
- * [Notification Options](https://cloud.google.com/monitoring/support/notification-options)
581
580
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
581
+ * [Notification Options](https://cloud.google.com/monitoring/support/notification-options)
582
582
 
583
583
  ## Example Usage
584
584
 
@@ -564,8 +564,8 @@ class Slo(pulumi.CustomResource):
564
564
 
565
565
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services.serviceLevelObjectives)
566
566
  * How-to Guides
567
- * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
568
567
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
568
+ * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
569
569
 
570
570
  ## Example Usage
571
571
 
@@ -812,8 +812,8 @@ class Slo(pulumi.CustomResource):
812
812
 
813
813
  * [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/services.serviceLevelObjectives)
814
814
  * How-to Guides
815
- * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
816
815
  * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)
816
+ * [Service Monitoring](https://cloud.google.com/monitoring/service-monitoring)
817
817
 
818
818
  ## Example Usage
819
819
 
@@ -29,11 +29,13 @@ class StoragePoolArgs:
29
29
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
30
30
  ldap_enabled: Optional[pulumi.Input[bool]] = None,
31
31
  name: Optional[pulumi.Input[str]] = None,
32
- project: Optional[pulumi.Input[str]] = None):
32
+ project: Optional[pulumi.Input[str]] = None,
33
+ replica_zone: Optional[pulumi.Input[str]] = None,
34
+ zone: Optional[pulumi.Input[str]] = None):
33
35
  """
34
36
  The set of arguments for constructing a StoragePool resource.
35
37
  :param pulumi.Input[str] capacity_gib: Capacity of the storage pool (in GiB).
36
- :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some FLEX service level pools which require a zone name.
38
+ :param pulumi.Input[str] location: Name of the location. For zonal Flex pools specify a zone name, in all other cases a region name.
37
39
  :param pulumi.Input[str] network: VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
38
40
  :param pulumi.Input[str] service_level: Service level of the storage pool.
39
41
  Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`, `FLEX`.
@@ -48,12 +50,17 @@ class StoragePoolArgs:
48
50
  Please refer to the field `effective_labels` for all of the labels present on the resource.
49
51
  :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
50
52
  using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
51
- :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
53
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location/region.
52
54
 
53
55
 
54
56
  - - -
55
57
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
56
58
  If it is not provided, the provider project is used.
59
+ :param pulumi.Input[str] replica_zone: Specifies the replica zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
60
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
61
+ :param pulumi.Input[str] zone: Specifies the active zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
62
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
63
+ If you want to create a zonal Flex pool, specify a zone name for `location` and omit `zone`.
57
64
  """
58
65
  pulumi.set(__self__, "capacity_gib", capacity_gib)
59
66
  pulumi.set(__self__, "location", location)
@@ -73,6 +80,10 @@ class StoragePoolArgs:
73
80
  pulumi.set(__self__, "name", name)
74
81
  if project is not None:
75
82
  pulumi.set(__self__, "project", project)
83
+ if replica_zone is not None:
84
+ pulumi.set(__self__, "replica_zone", replica_zone)
85
+ if zone is not None:
86
+ pulumi.set(__self__, "zone", zone)
76
87
 
77
88
  @property
78
89
  @pulumi.getter(name="capacityGib")
@@ -90,7 +101,7 @@ class StoragePoolArgs:
90
101
  @pulumi.getter
91
102
  def location(self) -> pulumi.Input[str]:
92
103
  """
93
- Name of the location. Usually a region name, expect for some FLEX service level pools which require a zone name.
104
+ Name of the location. For zonal Flex pools specify a zone name, in all other cases a region name.
94
105
  """
95
106
  return pulumi.get(self, "location")
96
107
 
@@ -193,7 +204,7 @@ class StoragePoolArgs:
193
204
  @pulumi.getter
194
205
  def name(self) -> Optional[pulumi.Input[str]]:
195
206
  """
196
- The resource name of the storage pool. Needs to be unique per location.
207
+ The resource name of the storage pool. Needs to be unique per location/region.
197
208
 
198
209
 
199
210
  - - -
@@ -217,6 +228,33 @@ class StoragePoolArgs:
217
228
  def project(self, value: Optional[pulumi.Input[str]]):
218
229
  pulumi.set(self, "project", value)
219
230
 
231
+ @property
232
+ @pulumi.getter(name="replicaZone")
233
+ def replica_zone(self) -> Optional[pulumi.Input[str]]:
234
+ """
235
+ Specifies the replica zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
236
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
237
+ """
238
+ return pulumi.get(self, "replica_zone")
239
+
240
+ @replica_zone.setter
241
+ def replica_zone(self, value: Optional[pulumi.Input[str]]):
242
+ pulumi.set(self, "replica_zone", value)
243
+
244
+ @property
245
+ @pulumi.getter
246
+ def zone(self) -> Optional[pulumi.Input[str]]:
247
+ """
248
+ Specifies the active zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
249
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
250
+ If you want to create a zonal Flex pool, specify a zone name for `location` and omit `zone`.
251
+ """
252
+ return pulumi.get(self, "zone")
253
+
254
+ @zone.setter
255
+ def zone(self, value: Optional[pulumi.Input[str]]):
256
+ pulumi.set(self, "zone", value)
257
+
220
258
 
221
259
  @pulumi.input_type
222
260
  class _StoragePoolState:
@@ -234,9 +272,11 @@ class _StoragePoolState:
234
272
  network: Optional[pulumi.Input[str]] = None,
235
273
  project: Optional[pulumi.Input[str]] = None,
236
274
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
275
+ replica_zone: Optional[pulumi.Input[str]] = None,
237
276
  service_level: Optional[pulumi.Input[str]] = None,
238
277
  volume_capacity_gib: Optional[pulumi.Input[str]] = None,
239
- volume_count: Optional[pulumi.Input[int]] = None):
278
+ volume_count: Optional[pulumi.Input[int]] = None,
279
+ zone: Optional[pulumi.Input[str]] = None):
240
280
  """
241
281
  Input properties used for looking up and filtering StoragePool resources.
242
282
  :param pulumi.Input[str] active_directory: Specifies the Active Directory policy to be used. Format: `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}`.
@@ -253,8 +293,8 @@ class _StoragePoolState:
253
293
  Please refer to the field `effective_labels` for all of the labels present on the resource.
254
294
  :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
255
295
  using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
256
- :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some FLEX service level pools which require a zone name.
257
- :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
296
+ :param pulumi.Input[str] location: Name of the location. For zonal Flex pools specify a zone name, in all other cases a region name.
297
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location/region.
258
298
 
259
299
 
260
300
  - - -
@@ -263,10 +303,15 @@ class _StoragePoolState:
263
303
  If it is not provided, the provider project is used.
264
304
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
265
305
  and default labels configured on the provider.
306
+ :param pulumi.Input[str] replica_zone: Specifies the replica zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
307
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
266
308
  :param pulumi.Input[str] service_level: Service level of the storage pool.
267
309
  Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`, `FLEX`.
268
310
  :param pulumi.Input[str] volume_capacity_gib: Size allocated to volumes in the storage pool (in GiB).
269
311
  :param pulumi.Input[int] volume_count: Number of volume in the storage pool.
312
+ :param pulumi.Input[str] zone: Specifies the active zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
313
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
314
+ If you want to create a zonal Flex pool, specify a zone name for `location` and omit `zone`.
270
315
  """
271
316
  if active_directory is not None:
272
317
  pulumi.set(__self__, "active_directory", active_directory)
@@ -294,12 +339,16 @@ class _StoragePoolState:
294
339
  pulumi.set(__self__, "project", project)
295
340
  if pulumi_labels is not None:
296
341
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
342
+ if replica_zone is not None:
343
+ pulumi.set(__self__, "replica_zone", replica_zone)
297
344
  if service_level is not None:
298
345
  pulumi.set(__self__, "service_level", service_level)
299
346
  if volume_capacity_gib is not None:
300
347
  pulumi.set(__self__, "volume_capacity_gib", volume_capacity_gib)
301
348
  if volume_count is not None:
302
349
  pulumi.set(__self__, "volume_count", volume_count)
350
+ if zone is not None:
351
+ pulumi.set(__self__, "zone", zone)
303
352
 
304
353
  @property
305
354
  @pulumi.getter(name="activeDirectory")
@@ -407,7 +456,7 @@ class _StoragePoolState:
407
456
  @pulumi.getter
408
457
  def location(self) -> Optional[pulumi.Input[str]]:
409
458
  """
410
- Name of the location. Usually a region name, expect for some FLEX service level pools which require a zone name.
459
+ Name of the location. For zonal Flex pools specify a zone name, in all other cases a region name.
411
460
  """
412
461
  return pulumi.get(self, "location")
413
462
 
@@ -419,7 +468,7 @@ class _StoragePoolState:
419
468
  @pulumi.getter
420
469
  def name(self) -> Optional[pulumi.Input[str]]:
421
470
  """
422
- The resource name of the storage pool. Needs to be unique per location.
471
+ The resource name of the storage pool. Needs to be unique per location/region.
423
472
 
424
473
 
425
474
  - - -
@@ -468,6 +517,19 @@ class _StoragePoolState:
468
517
  def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
469
518
  pulumi.set(self, "pulumi_labels", value)
470
519
 
520
+ @property
521
+ @pulumi.getter(name="replicaZone")
522
+ def replica_zone(self) -> Optional[pulumi.Input[str]]:
523
+ """
524
+ Specifies the replica zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
525
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
526
+ """
527
+ return pulumi.get(self, "replica_zone")
528
+
529
+ @replica_zone.setter
530
+ def replica_zone(self, value: Optional[pulumi.Input[str]]):
531
+ pulumi.set(self, "replica_zone", value)
532
+
471
533
  @property
472
534
  @pulumi.getter(name="serviceLevel")
473
535
  def service_level(self) -> Optional[pulumi.Input[str]]:
@@ -505,6 +567,20 @@ class _StoragePoolState:
505
567
  def volume_count(self, value: Optional[pulumi.Input[int]]):
506
568
  pulumi.set(self, "volume_count", value)
507
569
 
570
+ @property
571
+ @pulumi.getter
572
+ def zone(self) -> Optional[pulumi.Input[str]]:
573
+ """
574
+ Specifies the active zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
575
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
576
+ If you want to create a zonal Flex pool, specify a zone name for `location` and omit `zone`.
577
+ """
578
+ return pulumi.get(self, "zone")
579
+
580
+ @zone.setter
581
+ def zone(self, value: Optional[pulumi.Input[str]]):
582
+ pulumi.set(self, "zone", value)
583
+
508
584
 
509
585
  class StoragePool(pulumi.CustomResource):
510
586
  @overload
@@ -521,27 +597,11 @@ class StoragePool(pulumi.CustomResource):
521
597
  name: Optional[pulumi.Input[str]] = None,
522
598
  network: Optional[pulumi.Input[str]] = None,
523
599
  project: Optional[pulumi.Input[str]] = None,
600
+ replica_zone: Optional[pulumi.Input[str]] = None,
524
601
  service_level: Optional[pulumi.Input[str]] = None,
602
+ zone: Optional[pulumi.Input[str]] = None,
525
603
  __props__=None):
526
604
  """
527
- Storage pools act as containers for volumes. All volumes in a storage pool share the following information:
528
- * Location
529
- * Service level
530
- * Virtual Private Cloud (VPC) network
531
- * Active Directory policy
532
- * LDAP use for NFS volumes, if applicable
533
- * Customer-managed encryption key (CMEK) policy
534
-
535
- The capacity of the pool can be split up and assigned to volumes within the pool. Storage pools are a billable
536
- component of NetApp Volumes. Billing is based on the location, service level, and capacity allocated to a pool
537
- independent of consumption at the volume level.
538
-
539
- To get more information about storagePool, see:
540
-
541
- * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.storagePools)
542
- * How-to Guides
543
- * [Quickstart documentation](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-storage-pool)
544
-
545
605
  ## Example Usage
546
606
 
547
607
  ### Storage Pool Create
@@ -621,16 +681,21 @@ class StoragePool(pulumi.CustomResource):
621
681
  Please refer to the field `effective_labels` for all of the labels present on the resource.
622
682
  :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
623
683
  using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
624
- :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some FLEX service level pools which require a zone name.
625
- :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
684
+ :param pulumi.Input[str] location: Name of the location. For zonal Flex pools specify a zone name, in all other cases a region name.
685
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location/region.
626
686
 
627
687
 
628
688
  - - -
629
689
  :param pulumi.Input[str] network: VPC network name with format: `projects/{{project}}/global/networks/{{network}}`
630
690
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
631
691
  If it is not provided, the provider project is used.
692
+ :param pulumi.Input[str] replica_zone: Specifies the replica zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
693
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
632
694
  :param pulumi.Input[str] service_level: Service level of the storage pool.
633
695
  Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`, `FLEX`.
696
+ :param pulumi.Input[str] zone: Specifies the active zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
697
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
698
+ If you want to create a zonal Flex pool, specify a zone name for `location` and omit `zone`.
634
699
  """
635
700
  ...
636
701
  @overload
@@ -639,24 +704,6 @@ class StoragePool(pulumi.CustomResource):
639
704
  args: StoragePoolArgs,
640
705
  opts: Optional[pulumi.ResourceOptions] = None):
641
706
  """
642
- Storage pools act as containers for volumes. All volumes in a storage pool share the following information:
643
- * Location
644
- * Service level
645
- * Virtual Private Cloud (VPC) network
646
- * Active Directory policy
647
- * LDAP use for NFS volumes, if applicable
648
- * Customer-managed encryption key (CMEK) policy
649
-
650
- The capacity of the pool can be split up and assigned to volumes within the pool. Storage pools are a billable
651
- component of NetApp Volumes. Billing is based on the location, service level, and capacity allocated to a pool
652
- independent of consumption at the volume level.
653
-
654
- To get more information about storagePool, see:
655
-
656
- * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.storagePools)
657
- * How-to Guides
658
- * [Quickstart documentation](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-storage-pool)
659
-
660
707
  ## Example Usage
661
708
 
662
709
  ### Storage Pool Create
@@ -747,7 +794,9 @@ class StoragePool(pulumi.CustomResource):
747
794
  name: Optional[pulumi.Input[str]] = None,
748
795
  network: Optional[pulumi.Input[str]] = None,
749
796
  project: Optional[pulumi.Input[str]] = None,
797
+ replica_zone: Optional[pulumi.Input[str]] = None,
750
798
  service_level: Optional[pulumi.Input[str]] = None,
799
+ zone: Optional[pulumi.Input[str]] = None,
751
800
  __props__=None):
752
801
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
753
802
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -773,9 +822,11 @@ class StoragePool(pulumi.CustomResource):
773
822
  raise TypeError("Missing required property 'network'")
774
823
  __props__.__dict__["network"] = network
775
824
  __props__.__dict__["project"] = project
825
+ __props__.__dict__["replica_zone"] = replica_zone
776
826
  if service_level is None and not opts.urn:
777
827
  raise TypeError("Missing required property 'service_level'")
778
828
  __props__.__dict__["service_level"] = service_level
829
+ __props__.__dict__["zone"] = zone
779
830
  __props__.__dict__["effective_labels"] = None
780
831
  __props__.__dict__["encryption_type"] = None
781
832
  __props__.__dict__["pulumi_labels"] = None
@@ -806,9 +857,11 @@ class StoragePool(pulumi.CustomResource):
806
857
  network: Optional[pulumi.Input[str]] = None,
807
858
  project: Optional[pulumi.Input[str]] = None,
808
859
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
860
+ replica_zone: Optional[pulumi.Input[str]] = None,
809
861
  service_level: Optional[pulumi.Input[str]] = None,
810
862
  volume_capacity_gib: Optional[pulumi.Input[str]] = None,
811
- volume_count: Optional[pulumi.Input[int]] = None) -> 'StoragePool':
863
+ volume_count: Optional[pulumi.Input[int]] = None,
864
+ zone: Optional[pulumi.Input[str]] = None) -> 'StoragePool':
812
865
  """
813
866
  Get an existing StoragePool resource's state with the given name, id, and optional extra
814
867
  properties used to qualify the lookup.
@@ -830,8 +883,8 @@ class StoragePool(pulumi.CustomResource):
830
883
  Please refer to the field `effective_labels` for all of the labels present on the resource.
831
884
  :param pulumi.Input[bool] ldap_enabled: When enabled, the volumes uses Active Directory as LDAP name service for UID/GID lookups. Required to enable extended group support for NFSv3,
832
885
  using security identifiers for NFSv4.1 or principal names for kerberized NFSv4.1.
833
- :param pulumi.Input[str] location: Name of the location. Usually a region name, expect for some FLEX service level pools which require a zone name.
834
- :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location.
886
+ :param pulumi.Input[str] location: Name of the location. For zonal Flex pools specify a zone name, in all other cases a region name.
887
+ :param pulumi.Input[str] name: The resource name of the storage pool. Needs to be unique per location/region.
835
888
 
836
889
 
837
890
  - - -
@@ -840,10 +893,15 @@ class StoragePool(pulumi.CustomResource):
840
893
  If it is not provided, the provider project is used.
841
894
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
842
895
  and default labels configured on the provider.
896
+ :param pulumi.Input[str] replica_zone: Specifies the replica zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
897
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
843
898
  :param pulumi.Input[str] service_level: Service level of the storage pool.
844
899
  Possible values are: `PREMIUM`, `EXTREME`, `STANDARD`, `FLEX`.
845
900
  :param pulumi.Input[str] volume_capacity_gib: Size allocated to volumes in the storage pool (in GiB).
846
901
  :param pulumi.Input[int] volume_count: Number of volume in the storage pool.
902
+ :param pulumi.Input[str] zone: Specifies the active zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
903
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
904
+ If you want to create a zonal Flex pool, specify a zone name for `location` and omit `zone`.
847
905
  """
848
906
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
849
907
 
@@ -862,9 +920,11 @@ class StoragePool(pulumi.CustomResource):
862
920
  __props__.__dict__["network"] = network
863
921
  __props__.__dict__["project"] = project
864
922
  __props__.__dict__["pulumi_labels"] = pulumi_labels
923
+ __props__.__dict__["replica_zone"] = replica_zone
865
924
  __props__.__dict__["service_level"] = service_level
866
925
  __props__.__dict__["volume_capacity_gib"] = volume_capacity_gib
867
926
  __props__.__dict__["volume_count"] = volume_count
927
+ __props__.__dict__["zone"] = zone
868
928
  return StoragePool(resource_name, opts=opts, __props__=__props__)
869
929
 
870
930
  @property
@@ -941,7 +1001,7 @@ class StoragePool(pulumi.CustomResource):
941
1001
  @pulumi.getter
942
1002
  def location(self) -> pulumi.Output[str]:
943
1003
  """
944
- Name of the location. Usually a region name, expect for some FLEX service level pools which require a zone name.
1004
+ Name of the location. For zonal Flex pools specify a zone name, in all other cases a region name.
945
1005
  """
946
1006
  return pulumi.get(self, "location")
947
1007
 
@@ -949,7 +1009,7 @@ class StoragePool(pulumi.CustomResource):
949
1009
  @pulumi.getter
950
1010
  def name(self) -> pulumi.Output[str]:
951
1011
  """
952
- The resource name of the storage pool. Needs to be unique per location.
1012
+ The resource name of the storage pool. Needs to be unique per location/region.
953
1013
 
954
1014
 
955
1015
  - - -
@@ -982,6 +1042,15 @@ class StoragePool(pulumi.CustomResource):
982
1042
  """
983
1043
  return pulumi.get(self, "pulumi_labels")
984
1044
 
1045
+ @property
1046
+ @pulumi.getter(name="replicaZone")
1047
+ def replica_zone(self) -> pulumi.Output[Optional[str]]:
1048
+ """
1049
+ Specifies the replica zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
1050
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
1051
+ """
1052
+ return pulumi.get(self, "replica_zone")
1053
+
985
1054
  @property
986
1055
  @pulumi.getter(name="serviceLevel")
987
1056
  def service_level(self) -> pulumi.Output[str]:
@@ -1007,3 +1076,13 @@ class StoragePool(pulumi.CustomResource):
1007
1076
  """
1008
1077
  return pulumi.get(self, "volume_count")
1009
1078
 
1079
+ @property
1080
+ @pulumi.getter
1081
+ def zone(self) -> pulumi.Output[Optional[str]]:
1082
+ """
1083
+ Specifies the active zone for regional Flex pools. `zone` and `replica_zone` values can be swapped to initiate a
1084
+ [zone switch](https://cloud.google.com/netapp/volumes/docs/configure-and-use/storage-pools/edit-or-delete-storage-pool#switch_active_and_replica_zones).
1085
+ If you want to create a zonal Flex pool, specify a zone name for `location` and omit `zone`.
1086
+ """
1087
+ return pulumi.get(self, "zone")
1088
+