pulumi-gcp 7.31.0a1720850808__py3-none-any.whl → 7.31.0a1721039192__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 (86) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  3. pulumi_gcp/bigquery/reservation_assignment.py +48 -30
  4. pulumi_gcp/certificateauthority/certificate_template.py +2 -2
  5. pulumi_gcp/certificatemanager/_inputs.py +33 -0
  6. pulumi_gcp/certificatemanager/outputs.py +36 -0
  7. pulumi_gcp/certificatemanager/trust_config.py +107 -0
  8. pulumi_gcp/compute/_inputs.py +3 -6
  9. pulumi_gcp/compute/ca_external_account_key.py +2 -2
  10. pulumi_gcp/compute/get_health_check.py +11 -1
  11. pulumi_gcp/compute/global_forwarding_rule.py +2 -4
  12. pulumi_gcp/compute/health_check.py +124 -0
  13. pulumi_gcp/compute/instance.py +14 -14
  14. pulumi_gcp/compute/instance_group_membership.py +2 -2
  15. pulumi_gcp/compute/outputs.py +4 -8
  16. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  17. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  18. pulumi_gcp/compute/subnetwork.py +2 -2
  19. pulumi_gcp/config/__init__.pyi +2 -0
  20. pulumi_gcp/config/vars.py +4 -0
  21. pulumi_gcp/container/_inputs.py +3 -3
  22. pulumi_gcp/container/outputs.py +4 -4
  23. pulumi_gcp/containeranalysis/note.py +2 -2
  24. pulumi_gcp/dataloss/_inputs.py +3 -0
  25. pulumi_gcp/dataloss/outputs.py +2 -0
  26. pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
  27. pulumi_gcp/dataplex/_inputs.py +56 -0
  28. pulumi_gcp/dataplex/datascan.py +12 -0
  29. pulumi_gcp/dataplex/outputs.py +52 -0
  30. pulumi_gcp/filestore/backup.py +2 -2
  31. pulumi_gcp/filestore/instance.py +2 -2
  32. pulumi_gcp/filestore/snapshot.py +2 -2
  33. pulumi_gcp/gkehub/_inputs.py +20 -0
  34. pulumi_gcp/gkehub/outputs.py +12 -0
  35. pulumi_gcp/kms/__init__.py +2 -0
  36. pulumi_gcp/kms/crypto_key.py +7 -7
  37. pulumi_gcp/kms/get_crypto_keys.py +143 -0
  38. pulumi_gcp/kms/get_key_rings.py +119 -0
  39. pulumi_gcp/kms/outputs.py +270 -0
  40. pulumi_gcp/logging/_inputs.py +12 -12
  41. pulumi_gcp/logging/folder_bucket_config.py +6 -6
  42. pulumi_gcp/logging/organization_bucket_config.py +6 -6
  43. pulumi_gcp/logging/outputs.py +8 -8
  44. pulumi_gcp/logging/project_bucket_config.py +6 -6
  45. pulumi_gcp/looker/instance.py +2 -2
  46. pulumi_gcp/monitoring/custom_service.py +2 -2
  47. pulumi_gcp/monitoring/generic_service.py +2 -2
  48. pulumi_gcp/monitoring/notification_channel.py +2 -2
  49. pulumi_gcp/monitoring/slo.py +2 -2
  50. pulumi_gcp/netapp/storage_pool.py +132 -53
  51. pulumi_gcp/netapp/volume.py +60 -4
  52. pulumi_gcp/networksecurity/address_group.py +85 -1
  53. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
  54. pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
  55. pulumi_gcp/networksecurity/security_profile_group.py +2 -2
  56. pulumi_gcp/orgpolicy/_inputs.py +40 -10
  57. pulumi_gcp/orgpolicy/outputs.py +28 -8
  58. pulumi_gcp/orgpolicy/policy.py +52 -35
  59. pulumi_gcp/provider.py +20 -0
  60. pulumi_gcp/pubsub/_inputs.py +3 -3
  61. pulumi_gcp/pubsub/outputs.py +4 -4
  62. pulumi_gcp/pulumi-plugin.json +1 -1
  63. pulumi_gcp/securesourcemanager/__init__.py +5 -0
  64. pulumi_gcp/securesourcemanager/_inputs.py +284 -0
  65. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
  66. pulumi_gcp/securesourcemanager/outputs.py +202 -0
  67. pulumi_gcp/securesourcemanager/repository.py +715 -0
  68. pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
  69. pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
  70. pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
  71. pulumi_gcp/securitycenter/__init__.py +1 -0
  72. pulumi_gcp/securitycenter/_inputs.py +93 -0
  73. pulumi_gcp/securitycenter/outputs.py +59 -0
  74. pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
  75. pulumi_gcp/securityposture/posture_deployment.py +0 -78
  76. pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
  77. pulumi_gcp/vertex/_inputs.py +21 -1
  78. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
  79. pulumi_gcp/vertex/outputs.py +15 -1
  80. pulumi_gcp/workstations/_inputs.py +33 -1
  81. pulumi_gcp/workstations/outputs.py +23 -1
  82. pulumi_gcp/workstations/workstation_config.py +18 -0
  83. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/METADATA +1 -1
  84. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/RECORD +86 -78
  85. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/WHEEL +0 -0
  86. {pulumi_gcp-7.31.0a1720850808.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/top_level.txt +0 -0
@@ -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
+
@@ -404,6 +404,7 @@ class _VolumeState:
404
404
  protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
405
405
  psa_range: Optional[pulumi.Input[str]] = None,
406
406
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
407
+ replica_zone: Optional[pulumi.Input[str]] = None,
407
408
  restore_parameters: Optional[pulumi.Input['VolumeRestoreParametersArgs']] = None,
408
409
  restricted_actions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
409
410
  security_style: Optional[pulumi.Input[str]] = None,
@@ -416,7 +417,8 @@ class _VolumeState:
416
417
  state_details: Optional[pulumi.Input[str]] = None,
417
418
  storage_pool: Optional[pulumi.Input[str]] = None,
418
419
  unix_permissions: Optional[pulumi.Input[str]] = None,
419
- used_gib: Optional[pulumi.Input[str]] = None):
420
+ used_gib: Optional[pulumi.Input[str]] = None,
421
+ zone: Optional[pulumi.Input[str]] = None):
420
422
  """
421
423
  Input properties used for looking up and filtering Volume resources.
422
424
  :param pulumi.Input[str] active_directory: Reports the resource name of the Active Directory policy being used. Inherited from storage pool.
@@ -455,6 +457,7 @@ class _VolumeState:
455
457
  :param pulumi.Input[str] psa_range: Name of the Private Service Access allocated range. Inherited from storage pool.
456
458
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
457
459
  and default labels configured on the provider.
460
+ :param pulumi.Input[str] replica_zone: Specifies the replica zone for regional volume.
458
461
  :param pulumi.Input['VolumeRestoreParametersArgs'] restore_parameters: Used to create this volume from a snapshot (= cloning) or an backup.
459
462
  Structure is documented below.
460
463
  :param pulumi.Input[Sequence[pulumi.Input[str]]] restricted_actions: List of actions that are restricted on this volume.
@@ -475,6 +478,7 @@ class _VolumeState:
475
478
  :param pulumi.Input[str] storage_pool: Name of the storage pool to create the volume in. Pool needs enough spare capacity to accomodate the volume.
476
479
  :param pulumi.Input[str] unix_permissions: Unix permission the mount point will be created with. Default is 0770. Applicable for UNIX security style volumes only.
477
480
  :param pulumi.Input[str] used_gib: Used capacity of the volume (in GiB). This is computed periodically and it does not represent the realtime usage.
481
+ :param pulumi.Input[str] zone: Specifies the active zone for regional volume.
478
482
  """
479
483
  if active_directory is not None:
480
484
  pulumi.set(__self__, "active_directory", active_directory)
@@ -520,6 +524,8 @@ class _VolumeState:
520
524
  pulumi.set(__self__, "psa_range", psa_range)
521
525
  if pulumi_labels is not None:
522
526
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
527
+ if replica_zone is not None:
528
+ pulumi.set(__self__, "replica_zone", replica_zone)
523
529
  if restore_parameters is not None:
524
530
  pulumi.set(__self__, "restore_parameters", restore_parameters)
525
531
  if restricted_actions is not None:
@@ -546,6 +552,8 @@ class _VolumeState:
546
552
  pulumi.set(__self__, "unix_permissions", unix_permissions)
547
553
  if used_gib is not None:
548
554
  pulumi.set(__self__, "used_gib", used_gib)
555
+ if zone is not None:
556
+ pulumi.set(__self__, "zone", zone)
549
557
 
550
558
  @property
551
559
  @pulumi.getter(name="activeDirectory")
@@ -825,6 +833,18 @@ class _VolumeState:
825
833
  def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
826
834
  pulumi.set(self, "pulumi_labels", value)
827
835
 
836
+ @property
837
+ @pulumi.getter(name="replicaZone")
838
+ def replica_zone(self) -> Optional[pulumi.Input[str]]:
839
+ """
840
+ Specifies the replica zone for regional volume.
841
+ """
842
+ return pulumi.get(self, "replica_zone")
843
+
844
+ @replica_zone.setter
845
+ def replica_zone(self, value: Optional[pulumi.Input[str]]):
846
+ pulumi.set(self, "replica_zone", value)
847
+
828
848
  @property
829
849
  @pulumi.getter(name="restoreParameters")
830
850
  def restore_parameters(self) -> Optional[pulumi.Input['VolumeRestoreParametersArgs']]:
@@ -988,6 +1008,18 @@ class _VolumeState:
988
1008
  def used_gib(self, value: Optional[pulumi.Input[str]]):
989
1009
  pulumi.set(self, "used_gib", value)
990
1010
 
1011
+ @property
1012
+ @pulumi.getter
1013
+ def zone(self) -> Optional[pulumi.Input[str]]:
1014
+ """
1015
+ Specifies the active zone for regional volume.
1016
+ """
1017
+ return pulumi.get(self, "zone")
1018
+
1019
+ @zone.setter
1020
+ def zone(self, value: Optional[pulumi.Input[str]]):
1021
+ pulumi.set(self, "zone", value)
1022
+
991
1023
 
992
1024
  class Volume(pulumi.CustomResource):
993
1025
  @overload
@@ -1026,8 +1058,8 @@ class Volume(pulumi.CustomResource):
1026
1058
 
1027
1059
  * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.volumes)
1028
1060
  * How-to Guides
1029
- * [Quickstart](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-volume)
1030
1061
  * [Documentation](https://cloud.google.com/netapp/volumes/docs/configure-and-use/volumes/overview)
1062
+ * [Quickstart](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-volume)
1031
1063
 
1032
1064
  ## Example Usage
1033
1065
 
@@ -1137,8 +1169,8 @@ class Volume(pulumi.CustomResource):
1137
1169
 
1138
1170
  * [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.volumes)
1139
1171
  * How-to Guides
1140
- * [Quickstart](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-volume)
1141
1172
  * [Documentation](https://cloud.google.com/netapp/volumes/docs/configure-and-use/volumes/overview)
1173
+ * [Quickstart](https://cloud.google.com/netapp/volumes/docs/get-started/quickstarts/create-volume)
1142
1174
 
1143
1175
  ## Example Usage
1144
1176
 
@@ -1274,10 +1306,12 @@ class Volume(pulumi.CustomResource):
1274
1306
  __props__.__dict__["network"] = None
1275
1307
  __props__.__dict__["psa_range"] = None
1276
1308
  __props__.__dict__["pulumi_labels"] = None
1309
+ __props__.__dict__["replica_zone"] = None
1277
1310
  __props__.__dict__["service_level"] = None
1278
1311
  __props__.__dict__["state"] = None
1279
1312
  __props__.__dict__["state_details"] = None
1280
1313
  __props__.__dict__["used_gib"] = None
1314
+ __props__.__dict__["zone"] = None
1281
1315
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
1282
1316
  opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1283
1317
  super(Volume, __self__).__init__(
@@ -1312,6 +1346,7 @@ class Volume(pulumi.CustomResource):
1312
1346
  protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1313
1347
  psa_range: Optional[pulumi.Input[str]] = None,
1314
1348
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1349
+ replica_zone: Optional[pulumi.Input[str]] = None,
1315
1350
  restore_parameters: Optional[pulumi.Input[Union['VolumeRestoreParametersArgs', 'VolumeRestoreParametersArgsDict']]] = None,
1316
1351
  restricted_actions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1317
1352
  security_style: Optional[pulumi.Input[str]] = None,
@@ -1324,7 +1359,8 @@ class Volume(pulumi.CustomResource):
1324
1359
  state_details: Optional[pulumi.Input[str]] = None,
1325
1360
  storage_pool: Optional[pulumi.Input[str]] = None,
1326
1361
  unix_permissions: Optional[pulumi.Input[str]] = None,
1327
- used_gib: Optional[pulumi.Input[str]] = None) -> 'Volume':
1362
+ used_gib: Optional[pulumi.Input[str]] = None,
1363
+ zone: Optional[pulumi.Input[str]] = None) -> 'Volume':
1328
1364
  """
1329
1365
  Get an existing Volume resource's state with the given name, id, and optional extra
1330
1366
  properties used to qualify the lookup.
@@ -1368,6 +1404,7 @@ class Volume(pulumi.CustomResource):
1368
1404
  :param pulumi.Input[str] psa_range: Name of the Private Service Access allocated range. Inherited from storage pool.
1369
1405
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
1370
1406
  and default labels configured on the provider.
1407
+ :param pulumi.Input[str] replica_zone: Specifies the replica zone for regional volume.
1371
1408
  :param pulumi.Input[Union['VolumeRestoreParametersArgs', 'VolumeRestoreParametersArgsDict']] restore_parameters: Used to create this volume from a snapshot (= cloning) or an backup.
1372
1409
  Structure is documented below.
1373
1410
  :param pulumi.Input[Sequence[pulumi.Input[str]]] restricted_actions: List of actions that are restricted on this volume.
@@ -1388,6 +1425,7 @@ class Volume(pulumi.CustomResource):
1388
1425
  :param pulumi.Input[str] storage_pool: Name of the storage pool to create the volume in. Pool needs enough spare capacity to accomodate the volume.
1389
1426
  :param pulumi.Input[str] unix_permissions: Unix permission the mount point will be created with. Default is 0770. Applicable for UNIX security style volumes only.
1390
1427
  :param pulumi.Input[str] used_gib: Used capacity of the volume (in GiB). This is computed periodically and it does not represent the realtime usage.
1428
+ :param pulumi.Input[str] zone: Specifies the active zone for regional volume.
1391
1429
  """
1392
1430
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1393
1431
 
@@ -1415,6 +1453,7 @@ class Volume(pulumi.CustomResource):
1415
1453
  __props__.__dict__["protocols"] = protocols
1416
1454
  __props__.__dict__["psa_range"] = psa_range
1417
1455
  __props__.__dict__["pulumi_labels"] = pulumi_labels
1456
+ __props__.__dict__["replica_zone"] = replica_zone
1418
1457
  __props__.__dict__["restore_parameters"] = restore_parameters
1419
1458
  __props__.__dict__["restricted_actions"] = restricted_actions
1420
1459
  __props__.__dict__["security_style"] = security_style
@@ -1428,6 +1467,7 @@ class Volume(pulumi.CustomResource):
1428
1467
  __props__.__dict__["storage_pool"] = storage_pool
1429
1468
  __props__.__dict__["unix_permissions"] = unix_permissions
1430
1469
  __props__.__dict__["used_gib"] = used_gib
1470
+ __props__.__dict__["zone"] = zone
1431
1471
  return Volume(resource_name, opts=opts, __props__=__props__)
1432
1472
 
1433
1473
  @property
@@ -1620,6 +1660,14 @@ class Volume(pulumi.CustomResource):
1620
1660
  """
1621
1661
  return pulumi.get(self, "pulumi_labels")
1622
1662
 
1663
+ @property
1664
+ @pulumi.getter(name="replicaZone")
1665
+ def replica_zone(self) -> pulumi.Output[str]:
1666
+ """
1667
+ Specifies the replica zone for regional volume.
1668
+ """
1669
+ return pulumi.get(self, "replica_zone")
1670
+
1623
1671
  @property
1624
1672
  @pulumi.getter(name="restoreParameters")
1625
1673
  def restore_parameters(self) -> pulumi.Output[Optional['outputs.VolumeRestoreParameters']]:
@@ -1731,3 +1779,11 @@ class Volume(pulumi.CustomResource):
1731
1779
  """
1732
1780
  return pulumi.get(self, "used_gib")
1733
1781
 
1782
+ @property
1783
+ @pulumi.getter
1784
+ def zone(self) -> pulumi.Output[str]:
1785
+ """
1786
+ Specifies the active zone for regional volume.
1787
+ """
1788
+ return pulumi.get(self, "zone")
1789
+