pulumi-gcp 8.21.0a1741103856__py3-none-any.whl → 8.21.0a1741183435__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 (56) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/cluster.py +148 -0
  3. pulumi_gcp/alloydb/instance.py +28 -28
  4. pulumi_gcp/apihub/__init__.py +1 -0
  5. pulumi_gcp/apihub/host_project_registration.py +535 -0
  6. pulumi_gcp/bigquery/table.py +1 -1
  7. pulumi_gcp/compute/__init__.py +5 -0
  8. pulumi_gcp/compute/_inputs.py +770 -0
  9. pulumi_gcp/compute/backend_service.py +14 -7
  10. pulumi_gcp/compute/ca_external_account_key.py +48 -3
  11. pulumi_gcp/compute/disk.py +295 -0
  12. pulumi_gcp/compute/get_disk.py +56 -1
  13. pulumi_gcp/compute/get_instant_snapshot_iam_policy.py +182 -0
  14. pulumi_gcp/compute/instant_snapshot.py +796 -0
  15. pulumi_gcp/compute/instant_snapshot_iam_binding.py +1087 -0
  16. pulumi_gcp/compute/instant_snapshot_iam_member.py +1087 -0
  17. pulumi_gcp/compute/instant_snapshot_iam_policy.py +906 -0
  18. pulumi_gcp/compute/outputs.py +1329 -6
  19. pulumi_gcp/compute/region_backend_service.py +14 -7
  20. pulumi_gcp/compute/route.py +228 -2
  21. pulumi_gcp/compute/url_map.py +8 -0
  22. pulumi_gcp/container/_inputs.py +3 -3
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/datacatalog/entry.py +4 -0
  25. pulumi_gcp/datacatalog/tag.py +4 -0
  26. pulumi_gcp/dataproc/_inputs.py +12 -15
  27. pulumi_gcp/dataproc/outputs.py +8 -10
  28. pulumi_gcp/discoveryengine/target_site.py +4 -4
  29. pulumi_gcp/eventarc/__init__.py +1 -0
  30. pulumi_gcp/eventarc/_inputs.py +40 -0
  31. pulumi_gcp/eventarc/message_bus.py +927 -0
  32. pulumi_gcp/eventarc/outputs.py +41 -0
  33. pulumi_gcp/gemini/__init__.py +1 -0
  34. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +20 -8
  35. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +6 -0
  36. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +734 -0
  37. pulumi_gcp/gemini/logging_setting_binding.py +7 -7
  38. pulumi_gcp/iam/_inputs.py +33 -9
  39. pulumi_gcp/iam/outputs.py +22 -6
  40. pulumi_gcp/iam/workforce_pool_provider.py +2 -2
  41. pulumi_gcp/memorystore/__init__.py +1 -0
  42. pulumi_gcp/memorystore/get_instance.py +425 -0
  43. pulumi_gcp/memorystore/outputs.py +582 -0
  44. pulumi_gcp/networkconnectivity/hub.py +84 -0
  45. pulumi_gcp/networkservices/grpc_route.py +116 -12
  46. pulumi_gcp/notebooks/location.py +4 -0
  47. pulumi_gcp/pulumi-plugin.json +1 -1
  48. pulumi_gcp/storage/__init__.py +1 -0
  49. pulumi_gcp/storage/_inputs.py +74 -0
  50. pulumi_gcp/storage/anywhere_cache.py +552 -0
  51. pulumi_gcp/storage/outputs.py +65 -0
  52. pulumi_gcp/storage/transfer_job.py +67 -0
  53. {pulumi_gcp-8.21.0a1741103856.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-8.21.0a1741103856.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/RECORD +56 -46
  55. {pulumi_gcp-8.21.0a1741103856.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-8.21.0a1741103856.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,7 @@ __all__ = ['DiskArgs', 'Disk']
22
22
  class DiskArgs:
23
23
  def __init__(__self__, *,
24
24
  access_mode: Optional[pulumi.Input[str]] = None,
25
+ architecture: Optional[pulumi.Input[str]] = None,
25
26
  async_primary_disk: Optional[pulumi.Input['DiskAsyncPrimaryDiskArgs']] = None,
26
27
  description: Optional[pulumi.Input[str]] = None,
27
28
  disk_encryption_key: Optional[pulumi.Input['DiskDiskEncryptionKeyArgs']] = None,
@@ -33,6 +34,7 @@ class DiskArgs:
33
34
  licenses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
34
35
  multi_writer: Optional[pulumi.Input[bool]] = None,
35
36
  name: Optional[pulumi.Input[str]] = None,
37
+ params: Optional[pulumi.Input['DiskParamsArgs']] = None,
36
38
  physical_block_size_bytes: Optional[pulumi.Input[int]] = None,
37
39
  project: Optional[pulumi.Input[str]] = None,
38
40
  provisioned_iops: Optional[pulumi.Input[int]] = None,
@@ -42,7 +44,9 @@ class DiskArgs:
42
44
  snapshot: Optional[pulumi.Input[str]] = None,
43
45
  source_disk: Optional[pulumi.Input[str]] = None,
44
46
  source_image_encryption_key: Optional[pulumi.Input['DiskSourceImageEncryptionKeyArgs']] = None,
47
+ source_instant_snapshot: Optional[pulumi.Input[str]] = None,
45
48
  source_snapshot_encryption_key: Optional[pulumi.Input['DiskSourceSnapshotEncryptionKeyArgs']] = None,
49
+ source_storage_object: Optional[pulumi.Input[str]] = None,
46
50
  storage_pool: Optional[pulumi.Input[str]] = None,
47
51
  type: Optional[pulumi.Input[str]] = None,
48
52
  zone: Optional[pulumi.Input[str]] = None):
@@ -53,6 +57,7 @@ class DiskArgs:
53
57
  * READ_WRITE_SINGLE
54
58
  * READ_WRITE_MANY
55
59
  * READ_ONLY_SINGLE
60
+ :param pulumi.Input[str] architecture: (Optional)
56
61
  :param pulumi.Input['DiskAsyncPrimaryDiskArgs'] async_primary_disk: A nested object resource.
57
62
  Structure is documented below.
58
63
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
@@ -100,6 +105,8 @@ class DiskArgs:
100
105
 
101
106
 
102
107
  - - -
108
+ :param pulumi.Input['DiskParamsArgs'] params: Additional params passed with the request, but not persisted as part of resource payload
109
+ Structure is documented below.
103
110
  :param pulumi.Input[int] physical_block_size_bytes: Physical block size of the persistent disk, in bytes. If not present
104
111
  in a request, a default value is used. Currently supported sizes
105
112
  are 4096 and 16384, other sizes may be added in the future.
@@ -148,10 +155,20 @@ class DiskArgs:
148
155
  :param pulumi.Input['DiskSourceImageEncryptionKeyArgs'] source_image_encryption_key: The customer-supplied encryption key of the source image. Required if
149
156
  the source image is protected by a customer-supplied encryption key.
150
157
  Structure is documented below.
158
+ :param pulumi.Input[str] source_instant_snapshot: The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource.
159
+ For example, the following are valid values:
160
+ * `https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot`
161
+ * `projects/project/zones/zone/instantSnapshots/instantSnapshot`
162
+ * `zones/zone/instantSnapshots/instantSnapshot`
151
163
  :param pulumi.Input['DiskSourceSnapshotEncryptionKeyArgs'] source_snapshot_encryption_key: The customer-supplied encryption key of the source snapshot. Required
152
164
  if the source snapshot is protected by a customer-supplied encryption
153
165
  key.
154
166
  Structure is documented below.
167
+ :param pulumi.Input[str] source_storage_object: The full Google Cloud Storage URI where the disk image is stored.
168
+ This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk.
169
+ Valid URIs may start with gs:// or https://storage.googleapis.com/.
170
+ This flag is not optimized for creating multiple disks from a source storage object.
171
+ To create many disks from a source storage object, use gcloud compute images import instead.
155
172
  :param pulumi.Input[str] storage_pool: The URL or the name of the storage pool in which the new disk is created.
156
173
  For example:
157
174
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
@@ -164,6 +181,8 @@ class DiskArgs:
164
181
  """
165
182
  if access_mode is not None:
166
183
  pulumi.set(__self__, "access_mode", access_mode)
184
+ if architecture is not None:
185
+ pulumi.set(__self__, "architecture", architecture)
167
186
  if async_primary_disk is not None:
168
187
  pulumi.set(__self__, "async_primary_disk", async_primary_disk)
169
188
  if description is not None:
@@ -189,6 +208,8 @@ class DiskArgs:
189
208
  pulumi.set(__self__, "multi_writer", multi_writer)
190
209
  if name is not None:
191
210
  pulumi.set(__self__, "name", name)
211
+ if params is not None:
212
+ pulumi.set(__self__, "params", params)
192
213
  if physical_block_size_bytes is not None:
193
214
  pulumi.set(__self__, "physical_block_size_bytes", physical_block_size_bytes)
194
215
  if project is not None:
@@ -207,8 +228,12 @@ class DiskArgs:
207
228
  pulumi.set(__self__, "source_disk", source_disk)
208
229
  if source_image_encryption_key is not None:
209
230
  pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
231
+ if source_instant_snapshot is not None:
232
+ pulumi.set(__self__, "source_instant_snapshot", source_instant_snapshot)
210
233
  if source_snapshot_encryption_key is not None:
211
234
  pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
235
+ if source_storage_object is not None:
236
+ pulumi.set(__self__, "source_storage_object", source_storage_object)
212
237
  if storage_pool is not None:
213
238
  pulumi.set(__self__, "storage_pool", storage_pool)
214
239
  if type is not None:
@@ -232,6 +257,18 @@ class DiskArgs:
232
257
  def access_mode(self, value: Optional[pulumi.Input[str]]):
233
258
  pulumi.set(self, "access_mode", value)
234
259
 
260
+ @property
261
+ @pulumi.getter
262
+ def architecture(self) -> Optional[pulumi.Input[str]]:
263
+ """
264
+ (Optional)
265
+ """
266
+ return pulumi.get(self, "architecture")
267
+
268
+ @architecture.setter
269
+ def architecture(self, value: Optional[pulumi.Input[str]]):
270
+ pulumi.set(self, "architecture", value)
271
+
235
272
  @property
236
273
  @pulumi.getter(name="asyncPrimaryDisk")
237
274
  def async_primary_disk(self) -> Optional[pulumi.Input['DiskAsyncPrimaryDiskArgs']]:
@@ -401,6 +438,19 @@ class DiskArgs:
401
438
  def name(self, value: Optional[pulumi.Input[str]]):
402
439
  pulumi.set(self, "name", value)
403
440
 
441
+ @property
442
+ @pulumi.getter
443
+ def params(self) -> Optional[pulumi.Input['DiskParamsArgs']]:
444
+ """
445
+ Additional params passed with the request, but not persisted as part of resource payload
446
+ Structure is documented below.
447
+ """
448
+ return pulumi.get(self, "params")
449
+
450
+ @params.setter
451
+ def params(self, value: Optional[pulumi.Input['DiskParamsArgs']]):
452
+ pulumi.set(self, "params", value)
453
+
404
454
  @property
405
455
  @pulumi.getter(name="physicalBlockSizeBytes")
406
456
  def physical_block_size_bytes(self) -> Optional[pulumi.Input[int]]:
@@ -548,6 +598,22 @@ class DiskArgs:
548
598
  def source_image_encryption_key(self, value: Optional[pulumi.Input['DiskSourceImageEncryptionKeyArgs']]):
549
599
  pulumi.set(self, "source_image_encryption_key", value)
550
600
 
601
+ @property
602
+ @pulumi.getter(name="sourceInstantSnapshot")
603
+ def source_instant_snapshot(self) -> Optional[pulumi.Input[str]]:
604
+ """
605
+ The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource.
606
+ For example, the following are valid values:
607
+ * `https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot`
608
+ * `projects/project/zones/zone/instantSnapshots/instantSnapshot`
609
+ * `zones/zone/instantSnapshots/instantSnapshot`
610
+ """
611
+ return pulumi.get(self, "source_instant_snapshot")
612
+
613
+ @source_instant_snapshot.setter
614
+ def source_instant_snapshot(self, value: Optional[pulumi.Input[str]]):
615
+ pulumi.set(self, "source_instant_snapshot", value)
616
+
551
617
  @property
552
618
  @pulumi.getter(name="sourceSnapshotEncryptionKey")
553
619
  def source_snapshot_encryption_key(self) -> Optional[pulumi.Input['DiskSourceSnapshotEncryptionKeyArgs']]:
@@ -563,6 +629,22 @@ class DiskArgs:
563
629
  def source_snapshot_encryption_key(self, value: Optional[pulumi.Input['DiskSourceSnapshotEncryptionKeyArgs']]):
564
630
  pulumi.set(self, "source_snapshot_encryption_key", value)
565
631
 
632
+ @property
633
+ @pulumi.getter(name="sourceStorageObject")
634
+ def source_storage_object(self) -> Optional[pulumi.Input[str]]:
635
+ """
636
+ The full Google Cloud Storage URI where the disk image is stored.
637
+ This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk.
638
+ Valid URIs may start with gs:// or https://storage.googleapis.com/.
639
+ This flag is not optimized for creating multiple disks from a source storage object.
640
+ To create many disks from a source storage object, use gcloud compute images import instead.
641
+ """
642
+ return pulumi.get(self, "source_storage_object")
643
+
644
+ @source_storage_object.setter
645
+ def source_storage_object(self, value: Optional[pulumi.Input[str]]):
646
+ pulumi.set(self, "source_storage_object", value)
647
+
566
648
  @property
567
649
  @pulumi.getter(name="storagePool")
568
650
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -610,6 +692,7 @@ class DiskArgs:
610
692
  class _DiskState:
611
693
  def __init__(__self__, *,
612
694
  access_mode: Optional[pulumi.Input[str]] = None,
695
+ architecture: Optional[pulumi.Input[str]] = None,
613
696
  async_primary_disk: Optional[pulumi.Input['DiskAsyncPrimaryDiskArgs']] = None,
614
697
  creation_timestamp: Optional[pulumi.Input[str]] = None,
615
698
  description: Optional[pulumi.Input[str]] = None,
@@ -627,6 +710,7 @@ class _DiskState:
627
710
  licenses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
628
711
  multi_writer: Optional[pulumi.Input[bool]] = None,
629
712
  name: Optional[pulumi.Input[str]] = None,
713
+ params: Optional[pulumi.Input['DiskParamsArgs']] = None,
630
714
  physical_block_size_bytes: Optional[pulumi.Input[int]] = None,
631
715
  project: Optional[pulumi.Input[str]] = None,
632
716
  provisioned_iops: Optional[pulumi.Input[int]] = None,
@@ -640,8 +724,11 @@ class _DiskState:
640
724
  source_disk_id: Optional[pulumi.Input[str]] = None,
641
725
  source_image_encryption_key: Optional[pulumi.Input['DiskSourceImageEncryptionKeyArgs']] = None,
642
726
  source_image_id: Optional[pulumi.Input[str]] = None,
727
+ source_instant_snapshot: Optional[pulumi.Input[str]] = None,
728
+ source_instant_snapshot_id: Optional[pulumi.Input[str]] = None,
643
729
  source_snapshot_encryption_key: Optional[pulumi.Input['DiskSourceSnapshotEncryptionKeyArgs']] = None,
644
730
  source_snapshot_id: Optional[pulumi.Input[str]] = None,
731
+ source_storage_object: Optional[pulumi.Input[str]] = None,
645
732
  storage_pool: Optional[pulumi.Input[str]] = None,
646
733
  type: Optional[pulumi.Input[str]] = None,
647
734
  users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -653,6 +740,7 @@ class _DiskState:
653
740
  * READ_WRITE_SINGLE
654
741
  * READ_WRITE_MANY
655
742
  * READ_ONLY_SINGLE
743
+ :param pulumi.Input[str] architecture: (Optional)
656
744
  :param pulumi.Input['DiskAsyncPrimaryDiskArgs'] async_primary_disk: A nested object resource.
657
745
  Structure is documented below.
658
746
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
@@ -707,6 +795,8 @@ class _DiskState:
707
795
 
708
796
 
709
797
  - - -
798
+ :param pulumi.Input['DiskParamsArgs'] params: Additional params passed with the request, but not persisted as part of resource payload
799
+ Structure is documented below.
710
800
  :param pulumi.Input[int] physical_block_size_bytes: Physical block size of the persistent disk, in bytes. If not present
711
801
  in a request, a default value is used. Currently supported sizes
712
802
  are 4096 and 16384, other sizes may be added in the future.
@@ -766,6 +856,16 @@ class _DiskState:
766
856
  disk. For example, if you created the persistent disk from an image
767
857
  that was later deleted and recreated under the same name, the source
768
858
  image ID would identify the exact version of the image that was used.
859
+ :param pulumi.Input[str] source_instant_snapshot: The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource.
860
+ For example, the following are valid values:
861
+ * `https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot`
862
+ * `projects/project/zones/zone/instantSnapshots/instantSnapshot`
863
+ * `zones/zone/instantSnapshots/instantSnapshot`
864
+ :param pulumi.Input[str] source_instant_snapshot_id: The unique ID of the instant snapshot used to create this disk. This value identifies
865
+ the exact instant snapshot that was used to create this persistent disk.
866
+ For example, if you created the persistent disk from an instant snapshot that was later
867
+ deleted and recreated under the same name, the source instant snapshot ID would identify
868
+ the exact version of the instant snapshot that was used.
769
869
  :param pulumi.Input['DiskSourceSnapshotEncryptionKeyArgs'] source_snapshot_encryption_key: The customer-supplied encryption key of the source snapshot. Required
770
870
  if the source snapshot is protected by a customer-supplied encryption
771
871
  key.
@@ -776,6 +876,11 @@ class _DiskState:
776
876
  that was later deleted and recreated under the same name, the source
777
877
  snapshot ID would identify the exact version of the snapshot that was
778
878
  used.
879
+ :param pulumi.Input[str] source_storage_object: The full Google Cloud Storage URI where the disk image is stored.
880
+ This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk.
881
+ Valid URIs may start with gs:// or https://storage.googleapis.com/.
882
+ This flag is not optimized for creating multiple disks from a source storage object.
883
+ To create many disks from a source storage object, use gcloud compute images import instead.
779
884
  :param pulumi.Input[str] storage_pool: The URL or the name of the storage pool in which the new disk is created.
780
885
  For example:
781
886
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
@@ -790,6 +895,8 @@ class _DiskState:
790
895
  """
791
896
  if access_mode is not None:
792
897
  pulumi.set(__self__, "access_mode", access_mode)
898
+ if architecture is not None:
899
+ pulumi.set(__self__, "architecture", architecture)
793
900
  if async_primary_disk is not None:
794
901
  pulumi.set(__self__, "async_primary_disk", async_primary_disk)
795
902
  if creation_timestamp is not None:
@@ -827,6 +934,8 @@ class _DiskState:
827
934
  pulumi.set(__self__, "multi_writer", multi_writer)
828
935
  if name is not None:
829
936
  pulumi.set(__self__, "name", name)
937
+ if params is not None:
938
+ pulumi.set(__self__, "params", params)
830
939
  if physical_block_size_bytes is not None:
831
940
  pulumi.set(__self__, "physical_block_size_bytes", physical_block_size_bytes)
832
941
  if project is not None:
@@ -853,10 +962,16 @@ class _DiskState:
853
962
  pulumi.set(__self__, "source_image_encryption_key", source_image_encryption_key)
854
963
  if source_image_id is not None:
855
964
  pulumi.set(__self__, "source_image_id", source_image_id)
965
+ if source_instant_snapshot is not None:
966
+ pulumi.set(__self__, "source_instant_snapshot", source_instant_snapshot)
967
+ if source_instant_snapshot_id is not None:
968
+ pulumi.set(__self__, "source_instant_snapshot_id", source_instant_snapshot_id)
856
969
  if source_snapshot_encryption_key is not None:
857
970
  pulumi.set(__self__, "source_snapshot_encryption_key", source_snapshot_encryption_key)
858
971
  if source_snapshot_id is not None:
859
972
  pulumi.set(__self__, "source_snapshot_id", source_snapshot_id)
973
+ if source_storage_object is not None:
974
+ pulumi.set(__self__, "source_storage_object", source_storage_object)
860
975
  if storage_pool is not None:
861
976
  pulumi.set(__self__, "storage_pool", storage_pool)
862
977
  if type is not None:
@@ -882,6 +997,18 @@ class _DiskState:
882
997
  def access_mode(self, value: Optional[pulumi.Input[str]]):
883
998
  pulumi.set(self, "access_mode", value)
884
999
 
1000
+ @property
1001
+ @pulumi.getter
1002
+ def architecture(self) -> Optional[pulumi.Input[str]]:
1003
+ """
1004
+ (Optional)
1005
+ """
1006
+ return pulumi.get(self, "architecture")
1007
+
1008
+ @architecture.setter
1009
+ def architecture(self, value: Optional[pulumi.Input[str]]):
1010
+ pulumi.set(self, "architecture", value)
1011
+
885
1012
  @property
886
1013
  @pulumi.getter(name="asyncPrimaryDisk")
887
1014
  def async_primary_disk(self) -> Optional[pulumi.Input['DiskAsyncPrimaryDiskArgs']]:
@@ -1124,6 +1251,19 @@ class _DiskState:
1124
1251
  def name(self, value: Optional[pulumi.Input[str]]):
1125
1252
  pulumi.set(self, "name", value)
1126
1253
 
1254
+ @property
1255
+ @pulumi.getter
1256
+ def params(self) -> Optional[pulumi.Input['DiskParamsArgs']]:
1257
+ """
1258
+ Additional params passed with the request, but not persisted as part of resource payload
1259
+ Structure is documented below.
1260
+ """
1261
+ return pulumi.get(self, "params")
1262
+
1263
+ @params.setter
1264
+ def params(self, value: Optional[pulumi.Input['DiskParamsArgs']]):
1265
+ pulumi.set(self, "params", value)
1266
+
1127
1267
  @property
1128
1268
  @pulumi.getter(name="physicalBlockSizeBytes")
1129
1269
  def physical_block_size_bytes(self) -> Optional[pulumi.Input[int]]:
@@ -1326,6 +1466,38 @@ class _DiskState:
1326
1466
  def source_image_id(self, value: Optional[pulumi.Input[str]]):
1327
1467
  pulumi.set(self, "source_image_id", value)
1328
1468
 
1469
+ @property
1470
+ @pulumi.getter(name="sourceInstantSnapshot")
1471
+ def source_instant_snapshot(self) -> Optional[pulumi.Input[str]]:
1472
+ """
1473
+ The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource.
1474
+ For example, the following are valid values:
1475
+ * `https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot`
1476
+ * `projects/project/zones/zone/instantSnapshots/instantSnapshot`
1477
+ * `zones/zone/instantSnapshots/instantSnapshot`
1478
+ """
1479
+ return pulumi.get(self, "source_instant_snapshot")
1480
+
1481
+ @source_instant_snapshot.setter
1482
+ def source_instant_snapshot(self, value: Optional[pulumi.Input[str]]):
1483
+ pulumi.set(self, "source_instant_snapshot", value)
1484
+
1485
+ @property
1486
+ @pulumi.getter(name="sourceInstantSnapshotId")
1487
+ def source_instant_snapshot_id(self) -> Optional[pulumi.Input[str]]:
1488
+ """
1489
+ The unique ID of the instant snapshot used to create this disk. This value identifies
1490
+ the exact instant snapshot that was used to create this persistent disk.
1491
+ For example, if you created the persistent disk from an instant snapshot that was later
1492
+ deleted and recreated under the same name, the source instant snapshot ID would identify
1493
+ the exact version of the instant snapshot that was used.
1494
+ """
1495
+ return pulumi.get(self, "source_instant_snapshot_id")
1496
+
1497
+ @source_instant_snapshot_id.setter
1498
+ def source_instant_snapshot_id(self, value: Optional[pulumi.Input[str]]):
1499
+ pulumi.set(self, "source_instant_snapshot_id", value)
1500
+
1329
1501
  @property
1330
1502
  @pulumi.getter(name="sourceSnapshotEncryptionKey")
1331
1503
  def source_snapshot_encryption_key(self) -> Optional[pulumi.Input['DiskSourceSnapshotEncryptionKeyArgs']]:
@@ -1358,6 +1530,22 @@ class _DiskState:
1358
1530
  def source_snapshot_id(self, value: Optional[pulumi.Input[str]]):
1359
1531
  pulumi.set(self, "source_snapshot_id", value)
1360
1532
 
1533
+ @property
1534
+ @pulumi.getter(name="sourceStorageObject")
1535
+ def source_storage_object(self) -> Optional[pulumi.Input[str]]:
1536
+ """
1537
+ The full Google Cloud Storage URI where the disk image is stored.
1538
+ This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk.
1539
+ Valid URIs may start with gs:// or https://storage.googleapis.com/.
1540
+ This flag is not optimized for creating multiple disks from a source storage object.
1541
+ To create many disks from a source storage object, use gcloud compute images import instead.
1542
+ """
1543
+ return pulumi.get(self, "source_storage_object")
1544
+
1545
+ @source_storage_object.setter
1546
+ def source_storage_object(self, value: Optional[pulumi.Input[str]]):
1547
+ pulumi.set(self, "source_storage_object", value)
1548
+
1361
1549
  @property
1362
1550
  @pulumi.getter(name="storagePool")
1363
1551
  def storage_pool(self) -> Optional[pulumi.Input[str]]:
@@ -1420,6 +1608,7 @@ class Disk(pulumi.CustomResource):
1420
1608
  resource_name: str,
1421
1609
  opts: Optional[pulumi.ResourceOptions] = None,
1422
1610
  access_mode: Optional[pulumi.Input[str]] = None,
1611
+ architecture: Optional[pulumi.Input[str]] = None,
1423
1612
  async_primary_disk: Optional[pulumi.Input[Union['DiskAsyncPrimaryDiskArgs', 'DiskAsyncPrimaryDiskArgsDict']]] = None,
1424
1613
  description: Optional[pulumi.Input[str]] = None,
1425
1614
  disk_encryption_key: Optional[pulumi.Input[Union['DiskDiskEncryptionKeyArgs', 'DiskDiskEncryptionKeyArgsDict']]] = None,
@@ -1431,6 +1620,7 @@ class Disk(pulumi.CustomResource):
1431
1620
  licenses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1432
1621
  multi_writer: Optional[pulumi.Input[bool]] = None,
1433
1622
  name: Optional[pulumi.Input[str]] = None,
1623
+ params: Optional[pulumi.Input[Union['DiskParamsArgs', 'DiskParamsArgsDict']]] = None,
1434
1624
  physical_block_size_bytes: Optional[pulumi.Input[int]] = None,
1435
1625
  project: Optional[pulumi.Input[str]] = None,
1436
1626
  provisioned_iops: Optional[pulumi.Input[int]] = None,
@@ -1440,7 +1630,9 @@ class Disk(pulumi.CustomResource):
1440
1630
  snapshot: Optional[pulumi.Input[str]] = None,
1441
1631
  source_disk: Optional[pulumi.Input[str]] = None,
1442
1632
  source_image_encryption_key: Optional[pulumi.Input[Union['DiskSourceImageEncryptionKeyArgs', 'DiskSourceImageEncryptionKeyArgsDict']]] = None,
1633
+ source_instant_snapshot: Optional[pulumi.Input[str]] = None,
1443
1634
  source_snapshot_encryption_key: Optional[pulumi.Input[Union['DiskSourceSnapshotEncryptionKeyArgs', 'DiskSourceSnapshotEncryptionKeyArgsDict']]] = None,
1635
+ source_storage_object: Optional[pulumi.Input[str]] = None,
1444
1636
  storage_pool: Optional[pulumi.Input[str]] = None,
1445
1637
  type: Optional[pulumi.Input[str]] = None,
1446
1638
  zone: Optional[pulumi.Input[str]] = None,
@@ -1571,6 +1763,7 @@ class Disk(pulumi.CustomResource):
1571
1763
  * READ_WRITE_SINGLE
1572
1764
  * READ_WRITE_MANY
1573
1765
  * READ_ONLY_SINGLE
1766
+ :param pulumi.Input[str] architecture: (Optional)
1574
1767
  :param pulumi.Input[Union['DiskAsyncPrimaryDiskArgs', 'DiskAsyncPrimaryDiskArgsDict']] async_primary_disk: A nested object resource.
1575
1768
  Structure is documented below.
1576
1769
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
@@ -1618,6 +1811,8 @@ class Disk(pulumi.CustomResource):
1618
1811
 
1619
1812
 
1620
1813
  - - -
1814
+ :param pulumi.Input[Union['DiskParamsArgs', 'DiskParamsArgsDict']] params: Additional params passed with the request, but not persisted as part of resource payload
1815
+ Structure is documented below.
1621
1816
  :param pulumi.Input[int] physical_block_size_bytes: Physical block size of the persistent disk, in bytes. If not present
1622
1817
  in a request, a default value is used. Currently supported sizes
1623
1818
  are 4096 and 16384, other sizes may be added in the future.
@@ -1666,10 +1861,20 @@ class Disk(pulumi.CustomResource):
1666
1861
  :param pulumi.Input[Union['DiskSourceImageEncryptionKeyArgs', 'DiskSourceImageEncryptionKeyArgsDict']] source_image_encryption_key: The customer-supplied encryption key of the source image. Required if
1667
1862
  the source image is protected by a customer-supplied encryption key.
1668
1863
  Structure is documented below.
1864
+ :param pulumi.Input[str] source_instant_snapshot: The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource.
1865
+ For example, the following are valid values:
1866
+ * `https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot`
1867
+ * `projects/project/zones/zone/instantSnapshots/instantSnapshot`
1868
+ * `zones/zone/instantSnapshots/instantSnapshot`
1669
1869
  :param pulumi.Input[Union['DiskSourceSnapshotEncryptionKeyArgs', 'DiskSourceSnapshotEncryptionKeyArgsDict']] source_snapshot_encryption_key: The customer-supplied encryption key of the source snapshot. Required
1670
1870
  if the source snapshot is protected by a customer-supplied encryption
1671
1871
  key.
1672
1872
  Structure is documented below.
1873
+ :param pulumi.Input[str] source_storage_object: The full Google Cloud Storage URI where the disk image is stored.
1874
+ This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk.
1875
+ Valid URIs may start with gs:// or https://storage.googleapis.com/.
1876
+ This flag is not optimized for creating multiple disks from a source storage object.
1877
+ To create many disks from a source storage object, use gcloud compute images import instead.
1673
1878
  :param pulumi.Input[str] storage_pool: The URL or the name of the storage pool in which the new disk is created.
1674
1879
  For example:
1675
1880
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
@@ -1821,6 +2026,7 @@ class Disk(pulumi.CustomResource):
1821
2026
  resource_name: str,
1822
2027
  opts: Optional[pulumi.ResourceOptions] = None,
1823
2028
  access_mode: Optional[pulumi.Input[str]] = None,
2029
+ architecture: Optional[pulumi.Input[str]] = None,
1824
2030
  async_primary_disk: Optional[pulumi.Input[Union['DiskAsyncPrimaryDiskArgs', 'DiskAsyncPrimaryDiskArgsDict']]] = None,
1825
2031
  description: Optional[pulumi.Input[str]] = None,
1826
2032
  disk_encryption_key: Optional[pulumi.Input[Union['DiskDiskEncryptionKeyArgs', 'DiskDiskEncryptionKeyArgsDict']]] = None,
@@ -1832,6 +2038,7 @@ class Disk(pulumi.CustomResource):
1832
2038
  licenses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1833
2039
  multi_writer: Optional[pulumi.Input[bool]] = None,
1834
2040
  name: Optional[pulumi.Input[str]] = None,
2041
+ params: Optional[pulumi.Input[Union['DiskParamsArgs', 'DiskParamsArgsDict']]] = None,
1835
2042
  physical_block_size_bytes: Optional[pulumi.Input[int]] = None,
1836
2043
  project: Optional[pulumi.Input[str]] = None,
1837
2044
  provisioned_iops: Optional[pulumi.Input[int]] = None,
@@ -1841,7 +2048,9 @@ class Disk(pulumi.CustomResource):
1841
2048
  snapshot: Optional[pulumi.Input[str]] = None,
1842
2049
  source_disk: Optional[pulumi.Input[str]] = None,
1843
2050
  source_image_encryption_key: Optional[pulumi.Input[Union['DiskSourceImageEncryptionKeyArgs', 'DiskSourceImageEncryptionKeyArgsDict']]] = None,
2051
+ source_instant_snapshot: Optional[pulumi.Input[str]] = None,
1844
2052
  source_snapshot_encryption_key: Optional[pulumi.Input[Union['DiskSourceSnapshotEncryptionKeyArgs', 'DiskSourceSnapshotEncryptionKeyArgsDict']]] = None,
2053
+ source_storage_object: Optional[pulumi.Input[str]] = None,
1845
2054
  storage_pool: Optional[pulumi.Input[str]] = None,
1846
2055
  type: Optional[pulumi.Input[str]] = None,
1847
2056
  zone: Optional[pulumi.Input[str]] = None,
@@ -1855,6 +2064,7 @@ class Disk(pulumi.CustomResource):
1855
2064
  __props__ = DiskArgs.__new__(DiskArgs)
1856
2065
 
1857
2066
  __props__.__dict__["access_mode"] = access_mode
2067
+ __props__.__dict__["architecture"] = architecture
1858
2068
  __props__.__dict__["async_primary_disk"] = async_primary_disk
1859
2069
  __props__.__dict__["description"] = description
1860
2070
  __props__.__dict__["disk_encryption_key"] = disk_encryption_key
@@ -1866,6 +2076,7 @@ class Disk(pulumi.CustomResource):
1866
2076
  __props__.__dict__["licenses"] = licenses
1867
2077
  __props__.__dict__["multi_writer"] = multi_writer
1868
2078
  __props__.__dict__["name"] = name
2079
+ __props__.__dict__["params"] = params
1869
2080
  __props__.__dict__["physical_block_size_bytes"] = physical_block_size_bytes
1870
2081
  __props__.__dict__["project"] = project
1871
2082
  __props__.__dict__["provisioned_iops"] = provisioned_iops
@@ -1875,7 +2086,9 @@ class Disk(pulumi.CustomResource):
1875
2086
  __props__.__dict__["snapshot"] = snapshot
1876
2087
  __props__.__dict__["source_disk"] = source_disk
1877
2088
  __props__.__dict__["source_image_encryption_key"] = source_image_encryption_key
2089
+ __props__.__dict__["source_instant_snapshot"] = source_instant_snapshot
1878
2090
  __props__.__dict__["source_snapshot_encryption_key"] = source_snapshot_encryption_key
2091
+ __props__.__dict__["source_storage_object"] = source_storage_object
1879
2092
  __props__.__dict__["storage_pool"] = storage_pool
1880
2093
  __props__.__dict__["type"] = type
1881
2094
  __props__.__dict__["zone"] = zone
@@ -1889,6 +2102,7 @@ class Disk(pulumi.CustomResource):
1889
2102
  __props__.__dict__["self_link"] = None
1890
2103
  __props__.__dict__["source_disk_id"] = None
1891
2104
  __props__.__dict__["source_image_id"] = None
2105
+ __props__.__dict__["source_instant_snapshot_id"] = None
1892
2106
  __props__.__dict__["source_snapshot_id"] = None
1893
2107
  __props__.__dict__["users"] = None
1894
2108
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
@@ -1904,6 +2118,7 @@ class Disk(pulumi.CustomResource):
1904
2118
  id: pulumi.Input[str],
1905
2119
  opts: Optional[pulumi.ResourceOptions] = None,
1906
2120
  access_mode: Optional[pulumi.Input[str]] = None,
2121
+ architecture: Optional[pulumi.Input[str]] = None,
1907
2122
  async_primary_disk: Optional[pulumi.Input[Union['DiskAsyncPrimaryDiskArgs', 'DiskAsyncPrimaryDiskArgsDict']]] = None,
1908
2123
  creation_timestamp: Optional[pulumi.Input[str]] = None,
1909
2124
  description: Optional[pulumi.Input[str]] = None,
@@ -1921,6 +2136,7 @@ class Disk(pulumi.CustomResource):
1921
2136
  licenses: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1922
2137
  multi_writer: Optional[pulumi.Input[bool]] = None,
1923
2138
  name: Optional[pulumi.Input[str]] = None,
2139
+ params: Optional[pulumi.Input[Union['DiskParamsArgs', 'DiskParamsArgsDict']]] = None,
1924
2140
  physical_block_size_bytes: Optional[pulumi.Input[int]] = None,
1925
2141
  project: Optional[pulumi.Input[str]] = None,
1926
2142
  provisioned_iops: Optional[pulumi.Input[int]] = None,
@@ -1934,8 +2150,11 @@ class Disk(pulumi.CustomResource):
1934
2150
  source_disk_id: Optional[pulumi.Input[str]] = None,
1935
2151
  source_image_encryption_key: Optional[pulumi.Input[Union['DiskSourceImageEncryptionKeyArgs', 'DiskSourceImageEncryptionKeyArgsDict']]] = None,
1936
2152
  source_image_id: Optional[pulumi.Input[str]] = None,
2153
+ source_instant_snapshot: Optional[pulumi.Input[str]] = None,
2154
+ source_instant_snapshot_id: Optional[pulumi.Input[str]] = None,
1937
2155
  source_snapshot_encryption_key: Optional[pulumi.Input[Union['DiskSourceSnapshotEncryptionKeyArgs', 'DiskSourceSnapshotEncryptionKeyArgsDict']]] = None,
1938
2156
  source_snapshot_id: Optional[pulumi.Input[str]] = None,
2157
+ source_storage_object: Optional[pulumi.Input[str]] = None,
1939
2158
  storage_pool: Optional[pulumi.Input[str]] = None,
1940
2159
  type: Optional[pulumi.Input[str]] = None,
1941
2160
  users: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -1952,6 +2171,7 @@ class Disk(pulumi.CustomResource):
1952
2171
  * READ_WRITE_SINGLE
1953
2172
  * READ_WRITE_MANY
1954
2173
  * READ_ONLY_SINGLE
2174
+ :param pulumi.Input[str] architecture: (Optional)
1955
2175
  :param pulumi.Input[Union['DiskAsyncPrimaryDiskArgs', 'DiskAsyncPrimaryDiskArgsDict']] async_primary_disk: A nested object resource.
1956
2176
  Structure is documented below.
1957
2177
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
@@ -2006,6 +2226,8 @@ class Disk(pulumi.CustomResource):
2006
2226
 
2007
2227
 
2008
2228
  - - -
2229
+ :param pulumi.Input[Union['DiskParamsArgs', 'DiskParamsArgsDict']] params: Additional params passed with the request, but not persisted as part of resource payload
2230
+ Structure is documented below.
2009
2231
  :param pulumi.Input[int] physical_block_size_bytes: Physical block size of the persistent disk, in bytes. If not present
2010
2232
  in a request, a default value is used. Currently supported sizes
2011
2233
  are 4096 and 16384, other sizes may be added in the future.
@@ -2065,6 +2287,16 @@ class Disk(pulumi.CustomResource):
2065
2287
  disk. For example, if you created the persistent disk from an image
2066
2288
  that was later deleted and recreated under the same name, the source
2067
2289
  image ID would identify the exact version of the image that was used.
2290
+ :param pulumi.Input[str] source_instant_snapshot: The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource.
2291
+ For example, the following are valid values:
2292
+ * `https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot`
2293
+ * `projects/project/zones/zone/instantSnapshots/instantSnapshot`
2294
+ * `zones/zone/instantSnapshots/instantSnapshot`
2295
+ :param pulumi.Input[str] source_instant_snapshot_id: The unique ID of the instant snapshot used to create this disk. This value identifies
2296
+ the exact instant snapshot that was used to create this persistent disk.
2297
+ For example, if you created the persistent disk from an instant snapshot that was later
2298
+ deleted and recreated under the same name, the source instant snapshot ID would identify
2299
+ the exact version of the instant snapshot that was used.
2068
2300
  :param pulumi.Input[Union['DiskSourceSnapshotEncryptionKeyArgs', 'DiskSourceSnapshotEncryptionKeyArgsDict']] source_snapshot_encryption_key: The customer-supplied encryption key of the source snapshot. Required
2069
2301
  if the source snapshot is protected by a customer-supplied encryption
2070
2302
  key.
@@ -2075,6 +2307,11 @@ class Disk(pulumi.CustomResource):
2075
2307
  that was later deleted and recreated under the same name, the source
2076
2308
  snapshot ID would identify the exact version of the snapshot that was
2077
2309
  used.
2310
+ :param pulumi.Input[str] source_storage_object: The full Google Cloud Storage URI where the disk image is stored.
2311
+ This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk.
2312
+ Valid URIs may start with gs:// or https://storage.googleapis.com/.
2313
+ This flag is not optimized for creating multiple disks from a source storage object.
2314
+ To create many disks from a source storage object, use gcloud compute images import instead.
2078
2315
  :param pulumi.Input[str] storage_pool: The URL or the name of the storage pool in which the new disk is created.
2079
2316
  For example:
2080
2317
  * https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/storagePools/{storagePool}
@@ -2092,6 +2329,7 @@ class Disk(pulumi.CustomResource):
2092
2329
  __props__ = _DiskState.__new__(_DiskState)
2093
2330
 
2094
2331
  __props__.__dict__["access_mode"] = access_mode
2332
+ __props__.__dict__["architecture"] = architecture
2095
2333
  __props__.__dict__["async_primary_disk"] = async_primary_disk
2096
2334
  __props__.__dict__["creation_timestamp"] = creation_timestamp
2097
2335
  __props__.__dict__["description"] = description
@@ -2109,6 +2347,7 @@ class Disk(pulumi.CustomResource):
2109
2347
  __props__.__dict__["licenses"] = licenses
2110
2348
  __props__.__dict__["multi_writer"] = multi_writer
2111
2349
  __props__.__dict__["name"] = name
2350
+ __props__.__dict__["params"] = params
2112
2351
  __props__.__dict__["physical_block_size_bytes"] = physical_block_size_bytes
2113
2352
  __props__.__dict__["project"] = project
2114
2353
  __props__.__dict__["provisioned_iops"] = provisioned_iops
@@ -2122,8 +2361,11 @@ class Disk(pulumi.CustomResource):
2122
2361
  __props__.__dict__["source_disk_id"] = source_disk_id
2123
2362
  __props__.__dict__["source_image_encryption_key"] = source_image_encryption_key
2124
2363
  __props__.__dict__["source_image_id"] = source_image_id
2364
+ __props__.__dict__["source_instant_snapshot"] = source_instant_snapshot
2365
+ __props__.__dict__["source_instant_snapshot_id"] = source_instant_snapshot_id
2125
2366
  __props__.__dict__["source_snapshot_encryption_key"] = source_snapshot_encryption_key
2126
2367
  __props__.__dict__["source_snapshot_id"] = source_snapshot_id
2368
+ __props__.__dict__["source_storage_object"] = source_storage_object
2127
2369
  __props__.__dict__["storage_pool"] = storage_pool
2128
2370
  __props__.__dict__["type"] = type
2129
2371
  __props__.__dict__["users"] = users
@@ -2142,6 +2384,14 @@ class Disk(pulumi.CustomResource):
2142
2384
  """
2143
2385
  return pulumi.get(self, "access_mode")
2144
2386
 
2387
+ @property
2388
+ @pulumi.getter
2389
+ def architecture(self) -> pulumi.Output[Optional[str]]:
2390
+ """
2391
+ (Optional)
2392
+ """
2393
+ return pulumi.get(self, "architecture")
2394
+
2145
2395
  @property
2146
2396
  @pulumi.getter(name="asyncPrimaryDisk")
2147
2397
  def async_primary_disk(self) -> pulumi.Output[Optional['outputs.DiskAsyncPrimaryDisk']]:
@@ -2316,6 +2566,15 @@ class Disk(pulumi.CustomResource):
2316
2566
  """
2317
2567
  return pulumi.get(self, "name")
2318
2568
 
2569
+ @property
2570
+ @pulumi.getter
2571
+ def params(self) -> pulumi.Output[Optional['outputs.DiskParams']]:
2572
+ """
2573
+ Additional params passed with the request, but not persisted as part of resource payload
2574
+ Structure is documented below.
2575
+ """
2576
+ return pulumi.get(self, "params")
2577
+
2319
2578
  @property
2320
2579
  @pulumi.getter(name="physicalBlockSizeBytes")
2321
2580
  def physical_block_size_bytes(self) -> pulumi.Output[int]:
@@ -2466,6 +2725,30 @@ class Disk(pulumi.CustomResource):
2466
2725
  """
2467
2726
  return pulumi.get(self, "source_image_id")
2468
2727
 
2728
+ @property
2729
+ @pulumi.getter(name="sourceInstantSnapshot")
2730
+ def source_instant_snapshot(self) -> pulumi.Output[Optional[str]]:
2731
+ """
2732
+ The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource.
2733
+ For example, the following are valid values:
2734
+ * `https://www.googleapis.com/compute/v1/projects/project/zones/zone/instantSnapshots/instantSnapshot`
2735
+ * `projects/project/zones/zone/instantSnapshots/instantSnapshot`
2736
+ * `zones/zone/instantSnapshots/instantSnapshot`
2737
+ """
2738
+ return pulumi.get(self, "source_instant_snapshot")
2739
+
2740
+ @property
2741
+ @pulumi.getter(name="sourceInstantSnapshotId")
2742
+ def source_instant_snapshot_id(self) -> pulumi.Output[str]:
2743
+ """
2744
+ The unique ID of the instant snapshot used to create this disk. This value identifies
2745
+ the exact instant snapshot that was used to create this persistent disk.
2746
+ For example, if you created the persistent disk from an instant snapshot that was later
2747
+ deleted and recreated under the same name, the source instant snapshot ID would identify
2748
+ the exact version of the instant snapshot that was used.
2749
+ """
2750
+ return pulumi.get(self, "source_instant_snapshot_id")
2751
+
2469
2752
  @property
2470
2753
  @pulumi.getter(name="sourceSnapshotEncryptionKey")
2471
2754
  def source_snapshot_encryption_key(self) -> pulumi.Output[Optional['outputs.DiskSourceSnapshotEncryptionKey']]:
@@ -2490,6 +2773,18 @@ class Disk(pulumi.CustomResource):
2490
2773
  """
2491
2774
  return pulumi.get(self, "source_snapshot_id")
2492
2775
 
2776
+ @property
2777
+ @pulumi.getter(name="sourceStorageObject")
2778
+ def source_storage_object(self) -> pulumi.Output[Optional[str]]:
2779
+ """
2780
+ The full Google Cloud Storage URI where the disk image is stored.
2781
+ This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk.
2782
+ Valid URIs may start with gs:// or https://storage.googleapis.com/.
2783
+ This flag is not optimized for creating multiple disks from a source storage object.
2784
+ To create many disks from a source storage object, use gcloud compute images import instead.
2785
+ """
2786
+ return pulumi.get(self, "source_storage_object")
2787
+
2493
2788
  @property
2494
2789
  @pulumi.getter(name="storagePool")
2495
2790
  def storage_pool(self) -> pulumi.Output[Optional[str]]: