pulumi-gcp 7.26.0a1717725112__py3-none-any.whl → 7.27.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 (81) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/_inputs.py +40 -0
  3. pulumi_gcp/appengine/flexible_app_version.py +47 -0
  4. pulumi_gcp/appengine/outputs.py +51 -0
  5. pulumi_gcp/bigtable/instance.py +47 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +16 -0
  7. pulumi_gcp/clouddeploy/outputs.py +12 -0
  8. pulumi_gcp/compute/__init__.py +2 -0
  9. pulumi_gcp/compute/_inputs.py +84 -0
  10. pulumi_gcp/compute/backend_service.py +54 -0
  11. pulumi_gcp/compute/disk.py +68 -0
  12. pulumi_gcp/compute/get_backend_service.py +11 -1
  13. pulumi_gcp/compute/get_disk.py +11 -1
  14. pulumi_gcp/compute/get_instance.py +11 -1
  15. pulumi_gcp/compute/get_instance_group_manager.py +31 -1
  16. pulumi_gcp/compute/get_instance_template.py +11 -1
  17. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  18. pulumi_gcp/compute/get_security_policy.py +214 -0
  19. pulumi_gcp/compute/instance.py +47 -0
  20. pulumi_gcp/compute/instance_from_machine_image.py +47 -0
  21. pulumi_gcp/compute/instance_from_template.py +47 -0
  22. pulumi_gcp/compute/instance_group_manager.py +185 -0
  23. pulumi_gcp/compute/instance_template.py +47 -0
  24. pulumi_gcp/compute/outputs.py +1039 -0
  25. pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
  26. pulumi_gcp/compute/region_instance_group_manager.py +185 -0
  27. pulumi_gcp/compute/region_instance_template.py +47 -0
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +33 -4
  31. pulumi_gcp/container/cluster.py +61 -0
  32. pulumi_gcp/container/get_cluster.py +11 -1
  33. pulumi_gcp/container/outputs.py +48 -4
  34. pulumi_gcp/dataloss/_inputs.py +185 -19
  35. pulumi_gcp/dataloss/outputs.py +206 -17
  36. pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
  37. pulumi_gcp/gkebackup/_inputs.py +282 -7
  38. pulumi_gcp/gkebackup/backup_plan.py +100 -0
  39. pulumi_gcp/gkebackup/outputs.py +312 -7
  40. pulumi_gcp/gkebackup/restore_plan.py +326 -0
  41. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
  42. pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
  43. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
  44. pulumi_gcp/healthcare/_inputs.py +17 -1
  45. pulumi_gcp/healthcare/dicom_store.py +2 -0
  46. pulumi_gcp/healthcare/fhir_store.py +44 -60
  47. pulumi_gcp/healthcare/outputs.py +15 -1
  48. pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
  49. pulumi_gcp/kms/crypto_key.py +14 -7
  50. pulumi_gcp/netapp/_inputs.py +58 -0
  51. pulumi_gcp/netapp/outputs.py +67 -0
  52. pulumi_gcp/netapp/volume.py +54 -0
  53. pulumi_gcp/networkservices/__init__.py +1 -0
  54. pulumi_gcp/networkservices/_inputs.py +47 -0
  55. pulumi_gcp/networkservices/outputs.py +56 -0
  56. pulumi_gcp/networkservices/service_lb_policies.py +782 -0
  57. pulumi_gcp/provider.py +20 -0
  58. pulumi_gcp/pulumi-plugin.json +1 -1
  59. pulumi_gcp/redis/_inputs.py +44 -0
  60. pulumi_gcp/redis/cluster.py +128 -3
  61. pulumi_gcp/redis/outputs.py +36 -0
  62. pulumi_gcp/secretmanager/_inputs.py +20 -0
  63. pulumi_gcp/secretmanager/outputs.py +20 -0
  64. pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
  65. pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
  66. pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
  67. pulumi_gcp/securitycenter/__init__.py +1 -0
  68. pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
  69. pulumi_gcp/spanner/__init__.py +1 -0
  70. pulumi_gcp/spanner/_inputs.py +68 -0
  71. pulumi_gcp/spanner/instance_config.py +569 -0
  72. pulumi_gcp/spanner/outputs.py +73 -0
  73. pulumi_gcp/sql/_inputs.py +8 -2
  74. pulumi_gcp/sql/outputs.py +9 -6
  75. pulumi_gcp/workstations/_inputs.py +51 -1
  76. pulumi_gcp/workstations/outputs.py +46 -2
  77. pulumi_gcp/workstations/workstation_config.py +10 -4
  78. {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/METADATA +1 -1
  79. {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/RECORD +81 -76
  80. {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/WHEEL +0 -0
  81. {pulumi_gcp-7.26.0a1717725112.dist-info → pulumi_gcp-7.27.0.dist-info}/top_level.txt +0 -0
@@ -270,7 +270,8 @@ class DicomStoreIamMemberConditionArgs:
270
270
  @pulumi.input_type
271
271
  class DicomStoreNotificationConfigArgs:
272
272
  def __init__(__self__, *,
273
- pubsub_topic: pulumi.Input[str]):
273
+ pubsub_topic: pulumi.Input[str],
274
+ send_for_bulk_import: Optional[pulumi.Input[bool]] = None):
274
275
  """
275
276
  :param pulumi.Input[str] pubsub_topic: The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
276
277
  PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
@@ -278,8 +279,11 @@ class DicomStoreNotificationConfigArgs:
278
279
  was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
279
280
  project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
280
281
  Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
282
+ :param pulumi.Input[bool] send_for_bulk_import: Indicates whether or not to send Pub/Sub notifications on bulk import. Only supported for DICOM imports.
281
283
  """
282
284
  pulumi.set(__self__, "pubsub_topic", pubsub_topic)
285
+ if send_for_bulk_import is not None:
286
+ pulumi.set(__self__, "send_for_bulk_import", send_for_bulk_import)
283
287
 
284
288
  @property
285
289
  @pulumi.getter(name="pubsubTopic")
@@ -298,6 +302,18 @@ class DicomStoreNotificationConfigArgs:
298
302
  def pubsub_topic(self, value: pulumi.Input[str]):
299
303
  pulumi.set(self, "pubsub_topic", value)
300
304
 
305
+ @property
306
+ @pulumi.getter(name="sendForBulkImport")
307
+ def send_for_bulk_import(self) -> Optional[pulumi.Input[bool]]:
308
+ """
309
+ Indicates whether or not to send Pub/Sub notifications on bulk import. Only supported for DICOM imports.
310
+ """
311
+ return pulumi.get(self, "send_for_bulk_import")
312
+
313
+ @send_for_bulk_import.setter
314
+ def send_for_bulk_import(self, value: Optional[pulumi.Input[bool]]):
315
+ pulumi.set(self, "send_for_bulk_import", value)
316
+
301
317
 
302
318
  @pulumi.input_type
303
319
  class DicomStoreStreamConfigArgs:
@@ -378,6 +378,7 @@ class DicomStore(pulumi.CustomResource):
378
378
  dataset=dataset.id,
379
379
  notification_config=gcp.healthcare.DicomStoreNotificationConfigArgs(
380
380
  pubsub_topic=topic.id,
381
+ send_for_bulk_import=True,
381
382
  ),
382
383
  labels={
383
384
  "label1": "labelvalue1",
@@ -496,6 +497,7 @@ class DicomStore(pulumi.CustomResource):
496
497
  dataset=dataset.id,
497
498
  notification_config=gcp.healthcare.DicomStoreNotificationConfigArgs(
498
499
  pubsub_topic=topic.id,
500
+ send_for_bulk_import=True,
499
501
  ),
500
502
  labels={
501
503
  "label1": "labelvalue1",
@@ -81,8 +81,11 @@ class FhirStoreArgs:
81
81
  Please refer to the field `effective_labels` for all of the labels present on the resource.
82
82
  :param pulumi.Input[str] name: The resource name for the FhirStore.
83
83
  ** Changing this property may recreate the FHIR store (removing all data) **
84
- :param pulumi.Input['FhirStoreNotificationConfigArgs'] notification_config: A nested object resource
84
+ :param pulumi.Input['FhirStoreNotificationConfigArgs'] notification_config: (Optional, Deprecated)
85
+ A nested object resource
85
86
  Structure is documented below.
87
+
88
+ > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
86
89
  :param pulumi.Input[Sequence[pulumi.Input['FhirStoreNotificationConfigArgs']]] notification_configs: A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.
87
90
  Structure is documented below.
88
91
  :param pulumi.Input[Sequence[pulumi.Input['FhirStoreStreamConfigArgs']]] stream_configs: A list of streaming configs that configure the destinations of streaming export for every resource mutation in
@@ -115,6 +118,9 @@ class FhirStoreArgs:
115
118
  pulumi.set(__self__, "labels", labels)
116
119
  if name is not None:
117
120
  pulumi.set(__self__, "name", name)
121
+ if notification_config is not None:
122
+ warnings.warn("""`notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""", DeprecationWarning)
123
+ pulumi.log.warn("""notification_config is deprecated: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""")
118
124
  if notification_config is not None:
119
125
  pulumi.set(__self__, "notification_config", notification_config)
120
126
  if notification_configs is not None:
@@ -287,9 +293,15 @@ class FhirStoreArgs:
287
293
  @pulumi.getter(name="notificationConfig")
288
294
  def notification_config(self) -> Optional[pulumi.Input['FhirStoreNotificationConfigArgs']]:
289
295
  """
296
+ (Optional, Deprecated)
290
297
  A nested object resource
291
298
  Structure is documented below.
299
+
300
+ > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
292
301
  """
302
+ warnings.warn("""`notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""", DeprecationWarning)
303
+ pulumi.log.warn("""notification_config is deprecated: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""")
304
+
293
305
  return pulumi.get(self, "notification_config")
294
306
 
295
307
  @notification_config.setter
@@ -414,8 +426,11 @@ class _FhirStoreState:
414
426
  Please refer to the field `effective_labels` for all of the labels present on the resource.
415
427
  :param pulumi.Input[str] name: The resource name for the FhirStore.
416
428
  ** Changing this property may recreate the FHIR store (removing all data) **
417
- :param pulumi.Input['FhirStoreNotificationConfigArgs'] notification_config: A nested object resource
429
+ :param pulumi.Input['FhirStoreNotificationConfigArgs'] notification_config: (Optional, Deprecated)
430
+ A nested object resource
418
431
  Structure is documented below.
432
+
433
+ > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
419
434
  :param pulumi.Input[Sequence[pulumi.Input['FhirStoreNotificationConfigArgs']]] notification_configs: A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.
420
435
  Structure is documented below.
421
436
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -454,6 +469,9 @@ class _FhirStoreState:
454
469
  pulumi.set(__self__, "labels", labels)
455
470
  if name is not None:
456
471
  pulumi.set(__self__, "name", name)
472
+ if notification_config is not None:
473
+ warnings.warn("""`notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""", DeprecationWarning)
474
+ pulumi.log.warn("""notification_config is deprecated: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""")
457
475
  if notification_config is not None:
458
476
  pulumi.set(__self__, "notification_config", notification_config)
459
477
  if notification_configs is not None:
@@ -642,9 +660,15 @@ class _FhirStoreState:
642
660
  @pulumi.getter(name="notificationConfig")
643
661
  def notification_config(self) -> Optional[pulumi.Input['FhirStoreNotificationConfigArgs']]:
644
662
  """
663
+ (Optional, Deprecated)
645
664
  A nested object resource
646
665
  Structure is documented below.
666
+
667
+ > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
647
668
  """
669
+ warnings.warn("""`notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""", DeprecationWarning)
670
+ pulumi.log.warn("""notification_config is deprecated: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""")
671
+
648
672
  return pulumi.get(self, "notification_config")
649
673
 
650
674
  @notification_config.setter
@@ -774,9 +798,9 @@ class FhirStore(pulumi.CustomResource):
774
798
  disable_resource_versioning=False,
775
799
  enable_history_import=False,
776
800
  default_search_handling_strict=False,
777
- notification_config=gcp.healthcare.FhirStoreNotificationConfigArgs(
801
+ notification_configs=[gcp.healthcare.FhirStoreNotificationConfigArgs(
778
802
  pubsub_topic=topic.id,
779
- ),
803
+ )],
780
804
  labels={
781
805
  "label1": "labelvalue1",
782
806
  })
@@ -822,31 +846,6 @@ class FhirStore(pulumi.CustomResource):
822
846
  )])
823
847
  topic = gcp.pubsub.Topic("topic", name="fhir-notifications")
824
848
  ```
825
- ### Healthcare Fhir Store Notification Config
826
-
827
- ```python
828
- import pulumi
829
- import pulumi_gcp as gcp
830
-
831
- topic = gcp.pubsub.Topic("topic", name="fhir-notifications")
832
- dataset = gcp.healthcare.Dataset("dataset",
833
- name="example-dataset",
834
- location="us-central1")
835
- default = gcp.healthcare.FhirStore("default",
836
- name="example-fhir-store",
837
- dataset=dataset.id,
838
- version="R4",
839
- enable_update_create=False,
840
- disable_referential_integrity=False,
841
- disable_resource_versioning=False,
842
- enable_history_import=False,
843
- labels={
844
- "label1": "labelvalue1",
845
- },
846
- notification_config=gcp.healthcare.FhirStoreNotificationConfigArgs(
847
- pubsub_topic=topic.id,
848
- ))
849
- ```
850
849
  ### Healthcare Fhir Store Notification Configs
851
850
 
852
851
  ```python
@@ -865,7 +864,6 @@ class FhirStore(pulumi.CustomResource):
865
864
  disable_referential_integrity=False,
866
865
  disable_resource_versioning=False,
867
866
  enable_history_import=False,
868
- enable_history_modifications=False,
869
867
  labels={
870
868
  "label1": "labelvalue1",
871
869
  },
@@ -945,8 +943,11 @@ class FhirStore(pulumi.CustomResource):
945
943
  Please refer to the field `effective_labels` for all of the labels present on the resource.
946
944
  :param pulumi.Input[str] name: The resource name for the FhirStore.
947
945
  ** Changing this property may recreate the FHIR store (removing all data) **
948
- :param pulumi.Input[pulumi.InputType['FhirStoreNotificationConfigArgs']] notification_config: A nested object resource
946
+ :param pulumi.Input[pulumi.InputType['FhirStoreNotificationConfigArgs']] notification_config: (Optional, Deprecated)
947
+ A nested object resource
949
948
  Structure is documented below.
949
+
950
+ > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
950
951
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FhirStoreNotificationConfigArgs']]]] notification_configs: A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.
951
952
  Structure is documented below.
952
953
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FhirStoreStreamConfigArgs']]]] stream_configs: A list of streaming configs that configure the destinations of streaming export for every resource mutation in
@@ -998,9 +999,9 @@ class FhirStore(pulumi.CustomResource):
998
999
  disable_resource_versioning=False,
999
1000
  enable_history_import=False,
1000
1001
  default_search_handling_strict=False,
1001
- notification_config=gcp.healthcare.FhirStoreNotificationConfigArgs(
1002
+ notification_configs=[gcp.healthcare.FhirStoreNotificationConfigArgs(
1002
1003
  pubsub_topic=topic.id,
1003
- ),
1004
+ )],
1004
1005
  labels={
1005
1006
  "label1": "labelvalue1",
1006
1007
  })
@@ -1046,31 +1047,6 @@ class FhirStore(pulumi.CustomResource):
1046
1047
  )])
1047
1048
  topic = gcp.pubsub.Topic("topic", name="fhir-notifications")
1048
1049
  ```
1049
- ### Healthcare Fhir Store Notification Config
1050
-
1051
- ```python
1052
- import pulumi
1053
- import pulumi_gcp as gcp
1054
-
1055
- topic = gcp.pubsub.Topic("topic", name="fhir-notifications")
1056
- dataset = gcp.healthcare.Dataset("dataset",
1057
- name="example-dataset",
1058
- location="us-central1")
1059
- default = gcp.healthcare.FhirStore("default",
1060
- name="example-fhir-store",
1061
- dataset=dataset.id,
1062
- version="R4",
1063
- enable_update_create=False,
1064
- disable_referential_integrity=False,
1065
- disable_resource_versioning=False,
1066
- enable_history_import=False,
1067
- labels={
1068
- "label1": "labelvalue1",
1069
- },
1070
- notification_config=gcp.healthcare.FhirStoreNotificationConfigArgs(
1071
- pubsub_topic=topic.id,
1072
- ))
1073
- ```
1074
1050
  ### Healthcare Fhir Store Notification Configs
1075
1051
 
1076
1052
  ```python
@@ -1089,7 +1065,6 @@ class FhirStore(pulumi.CustomResource):
1089
1065
  disable_referential_integrity=False,
1090
1066
  disable_resource_versioning=False,
1091
1067
  enable_history_import=False,
1092
- enable_history_modifications=False,
1093
1068
  labels={
1094
1069
  "label1": "labelvalue1",
1095
1070
  },
@@ -1261,8 +1236,11 @@ class FhirStore(pulumi.CustomResource):
1261
1236
  Please refer to the field `effective_labels` for all of the labels present on the resource.
1262
1237
  :param pulumi.Input[str] name: The resource name for the FhirStore.
1263
1238
  ** Changing this property may recreate the FHIR store (removing all data) **
1264
- :param pulumi.Input[pulumi.InputType['FhirStoreNotificationConfigArgs']] notification_config: A nested object resource
1239
+ :param pulumi.Input[pulumi.InputType['FhirStoreNotificationConfigArgs']] notification_config: (Optional, Deprecated)
1240
+ A nested object resource
1265
1241
  Structure is documented below.
1242
+
1243
+ > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
1266
1244
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['FhirStoreNotificationConfigArgs']]]] notification_configs: A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.
1267
1245
  Structure is documented below.
1268
1246
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -1433,9 +1411,15 @@ class FhirStore(pulumi.CustomResource):
1433
1411
  @pulumi.getter(name="notificationConfig")
1434
1412
  def notification_config(self) -> pulumi.Output[Optional['outputs.FhirStoreNotificationConfig']]:
1435
1413
  """
1414
+ (Optional, Deprecated)
1436
1415
  A nested object resource
1437
1416
  Structure is documented below.
1417
+
1418
+ > **Warning:** `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.
1438
1419
  """
1420
+ warnings.warn("""`notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""", DeprecationWarning)
1421
+ pulumi.log.warn("""notification_config is deprecated: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.""")
1422
+
1439
1423
  return pulumi.get(self, "notification_config")
1440
1424
 
1441
1425
  @property
@@ -203,6 +203,8 @@ class DicomStoreNotificationConfig(dict):
203
203
  suggest = None
204
204
  if key == "pubsubTopic":
205
205
  suggest = "pubsub_topic"
206
+ elif key == "sendForBulkImport":
207
+ suggest = "send_for_bulk_import"
206
208
 
207
209
  if suggest:
208
210
  pulumi.log.warn(f"Key '{key}' not found in DicomStoreNotificationConfig. Access the value via the '{suggest}' property getter instead.")
@@ -216,7 +218,8 @@ class DicomStoreNotificationConfig(dict):
216
218
  return super().get(key, default)
217
219
 
218
220
  def __init__(__self__, *,
219
- pubsub_topic: str):
221
+ pubsub_topic: str,
222
+ send_for_bulk_import: Optional[bool] = None):
220
223
  """
221
224
  :param str pubsub_topic: The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
222
225
  PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
@@ -224,8 +227,11 @@ class DicomStoreNotificationConfig(dict):
224
227
  was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
225
228
  project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
226
229
  Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
230
+ :param bool send_for_bulk_import: Indicates whether or not to send Pub/Sub notifications on bulk import. Only supported for DICOM imports.
227
231
  """
228
232
  pulumi.set(__self__, "pubsub_topic", pubsub_topic)
233
+ if send_for_bulk_import is not None:
234
+ pulumi.set(__self__, "send_for_bulk_import", send_for_bulk_import)
229
235
 
230
236
  @property
231
237
  @pulumi.getter(name="pubsubTopic")
@@ -240,6 +246,14 @@ class DicomStoreNotificationConfig(dict):
240
246
  """
241
247
  return pulumi.get(self, "pubsub_topic")
242
248
 
249
+ @property
250
+ @pulumi.getter(name="sendForBulkImport")
251
+ def send_for_bulk_import(self) -> Optional[bool]:
252
+ """
253
+ Indicates whether or not to send Pub/Sub notifications on bulk import. Only supported for DICOM imports.
254
+ """
255
+ return pulumi.get(self, "send_for_bulk_import")
256
+
243
257
 
244
258
  @pulumi.output_type
245
259
  class DicomStoreStreamConfig(dict):
@@ -17,6 +17,7 @@ class EndpointAttachmentArgs:
17
17
  location: pulumi.Input[str],
18
18
  service_attachment: pulumi.Input[str],
19
19
  description: Optional[pulumi.Input[str]] = None,
20
+ endpoint_global_access: Optional[pulumi.Input[bool]] = None,
20
21
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
21
22
  name: Optional[pulumi.Input[str]] = None,
22
23
  project: Optional[pulumi.Input[str]] = None):
@@ -25,6 +26,7 @@ class EndpointAttachmentArgs:
25
26
  :param pulumi.Input[str] location: Location in which Endpoint Attachment needs to be created.
26
27
  :param pulumi.Input[str] service_attachment: The path of the service attachment.
27
28
  :param pulumi.Input[str] description: Description of the resource.
29
+ :param pulumi.Input[bool] endpoint_global_access: Enable global access for endpoint attachment.
28
30
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user provided metadata.
29
31
 
30
32
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -40,6 +42,8 @@ class EndpointAttachmentArgs:
40
42
  pulumi.set(__self__, "service_attachment", service_attachment)
41
43
  if description is not None:
42
44
  pulumi.set(__self__, "description", description)
45
+ if endpoint_global_access is not None:
46
+ pulumi.set(__self__, "endpoint_global_access", endpoint_global_access)
43
47
  if labels is not None:
44
48
  pulumi.set(__self__, "labels", labels)
45
49
  if name is not None:
@@ -83,6 +87,18 @@ class EndpointAttachmentArgs:
83
87
  def description(self, value: Optional[pulumi.Input[str]]):
84
88
  pulumi.set(self, "description", value)
85
89
 
90
+ @property
91
+ @pulumi.getter(name="endpointGlobalAccess")
92
+ def endpoint_global_access(self) -> Optional[pulumi.Input[bool]]:
93
+ """
94
+ Enable global access for endpoint attachment.
95
+ """
96
+ return pulumi.get(self, "endpoint_global_access")
97
+
98
+ @endpoint_global_access.setter
99
+ def endpoint_global_access(self, value: Optional[pulumi.Input[bool]]):
100
+ pulumi.set(self, "endpoint_global_access", value)
101
+
86
102
  @property
87
103
  @pulumi.getter
88
104
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -133,6 +149,7 @@ class _EndpointAttachmentState:
133
149
  create_time: Optional[pulumi.Input[str]] = None,
134
150
  description: Optional[pulumi.Input[str]] = None,
135
151
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
152
+ endpoint_global_access: Optional[pulumi.Input[bool]] = None,
136
153
  endpoint_ip: Optional[pulumi.Input[str]] = None,
137
154
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
138
155
  location: Optional[pulumi.Input[str]] = None,
@@ -146,6 +163,7 @@ class _EndpointAttachmentState:
146
163
  :param pulumi.Input[str] create_time: Time the Namespace was created in UTC.
147
164
  :param pulumi.Input[str] description: Description of the resource.
148
165
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
166
+ :param pulumi.Input[bool] endpoint_global_access: Enable global access for endpoint attachment.
149
167
  :param pulumi.Input[str] endpoint_ip: The Private Service Connect connection endpoint ip.
150
168
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user provided metadata.
151
169
 
@@ -169,6 +187,8 @@ class _EndpointAttachmentState:
169
187
  pulumi.set(__self__, "description", description)
170
188
  if effective_labels is not None:
171
189
  pulumi.set(__self__, "effective_labels", effective_labels)
190
+ if endpoint_global_access is not None:
191
+ pulumi.set(__self__, "endpoint_global_access", endpoint_global_access)
172
192
  if endpoint_ip is not None:
173
193
  pulumi.set(__self__, "endpoint_ip", endpoint_ip)
174
194
  if labels is not None:
@@ -222,6 +242,18 @@ class _EndpointAttachmentState:
222
242
  def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
223
243
  pulumi.set(self, "effective_labels", value)
224
244
 
245
+ @property
246
+ @pulumi.getter(name="endpointGlobalAccess")
247
+ def endpoint_global_access(self) -> Optional[pulumi.Input[bool]]:
248
+ """
249
+ Enable global access for endpoint attachment.
250
+ """
251
+ return pulumi.get(self, "endpoint_global_access")
252
+
253
+ @endpoint_global_access.setter
254
+ def endpoint_global_access(self, value: Optional[pulumi.Input[bool]]):
255
+ pulumi.set(self, "endpoint_global_access", value)
256
+
225
257
  @property
226
258
  @pulumi.getter(name="endpointIp")
227
259
  def endpoint_ip(self) -> Optional[pulumi.Input[str]]:
@@ -333,6 +365,7 @@ class EndpointAttachment(pulumi.CustomResource):
333
365
  resource_name: str,
334
366
  opts: Optional[pulumi.ResourceOptions] = None,
335
367
  description: Optional[pulumi.Input[str]] = None,
368
+ endpoint_global_access: Optional[pulumi.Input[bool]] = None,
336
369
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
337
370
  location: Optional[pulumi.Input[str]] = None,
338
371
  name: Optional[pulumi.Input[str]] = None,
@@ -393,6 +426,7 @@ class EndpointAttachment(pulumi.CustomResource):
393
426
  :param str resource_name: The name of the resource.
394
427
  :param pulumi.ResourceOptions opts: Options for the resource.
395
428
  :param pulumi.Input[str] description: Description of the resource.
429
+ :param pulumi.Input[bool] endpoint_global_access: Enable global access for endpoint attachment.
396
430
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user provided metadata.
397
431
 
398
432
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -479,6 +513,7 @@ class EndpointAttachment(pulumi.CustomResource):
479
513
  resource_name: str,
480
514
  opts: Optional[pulumi.ResourceOptions] = None,
481
515
  description: Optional[pulumi.Input[str]] = None,
516
+ endpoint_global_access: Optional[pulumi.Input[bool]] = None,
482
517
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
483
518
  location: Optional[pulumi.Input[str]] = None,
484
519
  name: Optional[pulumi.Input[str]] = None,
@@ -494,6 +529,7 @@ class EndpointAttachment(pulumi.CustomResource):
494
529
  __props__ = EndpointAttachmentArgs.__new__(EndpointAttachmentArgs)
495
530
 
496
531
  __props__.__dict__["description"] = description
532
+ __props__.__dict__["endpoint_global_access"] = endpoint_global_access
497
533
  __props__.__dict__["labels"] = labels
498
534
  if location is None and not opts.urn:
499
535
  raise TypeError("Missing required property 'location'")
@@ -523,6 +559,7 @@ class EndpointAttachment(pulumi.CustomResource):
523
559
  create_time: Optional[pulumi.Input[str]] = None,
524
560
  description: Optional[pulumi.Input[str]] = None,
525
561
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
562
+ endpoint_global_access: Optional[pulumi.Input[bool]] = None,
526
563
  endpoint_ip: Optional[pulumi.Input[str]] = None,
527
564
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
528
565
  location: Optional[pulumi.Input[str]] = None,
@@ -541,6 +578,7 @@ class EndpointAttachment(pulumi.CustomResource):
541
578
  :param pulumi.Input[str] create_time: Time the Namespace was created in UTC.
542
579
  :param pulumi.Input[str] description: Description of the resource.
543
580
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
581
+ :param pulumi.Input[bool] endpoint_global_access: Enable global access for endpoint attachment.
544
582
  :param pulumi.Input[str] endpoint_ip: The Private Service Connect connection endpoint ip.
545
583
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user provided metadata.
546
584
 
@@ -565,6 +603,7 @@ class EndpointAttachment(pulumi.CustomResource):
565
603
  __props__.__dict__["create_time"] = create_time
566
604
  __props__.__dict__["description"] = description
567
605
  __props__.__dict__["effective_labels"] = effective_labels
606
+ __props__.__dict__["endpoint_global_access"] = endpoint_global_access
568
607
  __props__.__dict__["endpoint_ip"] = endpoint_ip
569
608
  __props__.__dict__["labels"] = labels
570
609
  __props__.__dict__["location"] = location
@@ -599,6 +638,14 @@ class EndpointAttachment(pulumi.CustomResource):
599
638
  """
600
639
  return pulumi.get(self, "effective_labels")
601
640
 
641
+ @property
642
+ @pulumi.getter(name="endpointGlobalAccess")
643
+ def endpoint_global_access(self) -> pulumi.Output[Optional[bool]]:
644
+ """
645
+ Enable global access for endpoint attachment.
646
+ """
647
+ return pulumi.get(self, "endpoint_global_access")
648
+
602
649
  @property
603
650
  @pulumi.getter(name="endpointIp")
604
651
  def endpoint_ip(self) -> pulumi.Output[str]:
@@ -52,7 +52,8 @@ class CryptoKeyArgs:
52
52
  the format of a decimal number with up to 9 fractional digits, followed by the
53
53
  letter `s` (seconds). It must be greater than a day (ie, 86400).
54
54
  :param pulumi.Input[bool] skip_initial_version_creation: If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
55
- You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
55
+ You must use the `kms.CryptoKeyVersion` resource to create a new CryptoKeyVersion
56
+ or `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
56
57
  :param pulumi.Input['CryptoKeyVersionTemplateArgs'] version_template: A template describing settings for new crypto key versions.
57
58
  Structure is documented below.
58
59
  """
@@ -192,7 +193,8 @@ class CryptoKeyArgs:
192
193
  def skip_initial_version_creation(self) -> Optional[pulumi.Input[bool]]:
193
194
  """
194
195
  If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
195
- You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
196
+ You must use the `kms.CryptoKeyVersion` resource to create a new CryptoKeyVersion
197
+ or `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
196
198
  """
197
199
  return pulumi.get(self, "skip_initial_version_creation")
198
200
 
@@ -262,7 +264,8 @@ class _CryptoKeyState:
262
264
  the format of a decimal number with up to 9 fractional digits, followed by the
263
265
  letter `s` (seconds). It must be greater than a day (ie, 86400).
264
266
  :param pulumi.Input[bool] skip_initial_version_creation: If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
265
- You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
267
+ You must use the `kms.CryptoKeyVersion` resource to create a new CryptoKeyVersion
268
+ or `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
266
269
  :param pulumi.Input['CryptoKeyVersionTemplateArgs'] version_template: A template describing settings for new crypto key versions.
267
270
  Structure is documented below.
268
271
  """
@@ -448,7 +451,8 @@ class _CryptoKeyState:
448
451
  def skip_initial_version_creation(self) -> Optional[pulumi.Input[bool]]:
449
452
  """
450
453
  If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
451
- You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
454
+ You must use the `kms.CryptoKeyVersion` resource to create a new CryptoKeyVersion
455
+ or `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
452
456
  """
453
457
  return pulumi.get(self, "skip_initial_version_creation")
454
458
 
@@ -582,7 +586,8 @@ class CryptoKey(pulumi.CustomResource):
582
586
  the format of a decimal number with up to 9 fractional digits, followed by the
583
587
  letter `s` (seconds). It must be greater than a day (ie, 86400).
584
588
  :param pulumi.Input[bool] skip_initial_version_creation: If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
585
- You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
589
+ You must use the `kms.CryptoKeyVersion` resource to create a new CryptoKeyVersion
590
+ or `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
586
591
  :param pulumi.Input[pulumi.InputType['CryptoKeyVersionTemplateArgs']] version_template: A template describing settings for new crypto key versions.
587
592
  Structure is documented below.
588
593
  """
@@ -773,7 +778,8 @@ class CryptoKey(pulumi.CustomResource):
773
778
  the format of a decimal number with up to 9 fractional digits, followed by the
774
779
  letter `s` (seconds). It must be greater than a day (ie, 86400).
775
780
  :param pulumi.Input[bool] skip_initial_version_creation: If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
776
- You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
781
+ You must use the `kms.CryptoKeyVersion` resource to create a new CryptoKeyVersion
782
+ or `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
777
783
  :param pulumi.Input[pulumi.InputType['CryptoKeyVersionTemplateArgs']] version_template: A template describing settings for new crypto key versions.
778
784
  Structure is documented below.
779
785
  """
@@ -907,7 +913,8 @@ class CryptoKey(pulumi.CustomResource):
907
913
  def skip_initial_version_creation(self) -> pulumi.Output[Optional[bool]]:
908
914
  """
909
915
  If set to true, the request will create a CryptoKey without any CryptoKeyVersions.
910
- You must use the `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
916
+ You must use the `kms.CryptoKeyVersion` resource to create a new CryptoKeyVersion
917
+ or `kms.KeyRingImportJob` resource to import the CryptoKeyVersion.
911
918
  """
912
919
  return pulumi.get(self, "skip_initial_version_creation")
913
920
 
@@ -10,6 +10,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from .. import _utilities
11
11
 
12
12
  __all__ = [
13
+ 'VolumeBackupConfigArgs',
13
14
  'VolumeExportPolicyArgs',
14
15
  'VolumeExportPolicyRuleArgs',
15
16
  'VolumeMountOptionArgs',
@@ -23,6 +24,63 @@ __all__ = [
23
24
  'VolumeSnapshotPolicyWeeklyScheduleArgs',
24
25
  ]
25
26
 
27
+ @pulumi.input_type
28
+ class VolumeBackupConfigArgs:
29
+ def __init__(__self__, *,
30
+ backup_policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
31
+ backup_vault: Optional[pulumi.Input[str]] = None,
32
+ scheduled_backup_enabled: Optional[pulumi.Input[bool]] = None):
33
+ """
34
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] backup_policies: Specify a single backup policy ID for scheduled backups. Format: `projects/{{projectId}}/locations/{{location}}/backupPolicies/{{backupPolicyName}}`
35
+ :param pulumi.Input[str] backup_vault: ID of the backup vault to use. A backup vault is reqired to create manual or scheduled backups.
36
+ Format: `projects/{{projectId}}/locations/{{location}}/backupVaults/{{backupVaultName}}`
37
+ :param pulumi.Input[bool] scheduled_backup_enabled: When set to true, scheduled backup is enabled on the volume. Omit if no backup_policy is specified.
38
+ """
39
+ if backup_policies is not None:
40
+ pulumi.set(__self__, "backup_policies", backup_policies)
41
+ if backup_vault is not None:
42
+ pulumi.set(__self__, "backup_vault", backup_vault)
43
+ if scheduled_backup_enabled is not None:
44
+ pulumi.set(__self__, "scheduled_backup_enabled", scheduled_backup_enabled)
45
+
46
+ @property
47
+ @pulumi.getter(name="backupPolicies")
48
+ def backup_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
49
+ """
50
+ Specify a single backup policy ID for scheduled backups. Format: `projects/{{projectId}}/locations/{{location}}/backupPolicies/{{backupPolicyName}}`
51
+ """
52
+ return pulumi.get(self, "backup_policies")
53
+
54
+ @backup_policies.setter
55
+ def backup_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
56
+ pulumi.set(self, "backup_policies", value)
57
+
58
+ @property
59
+ @pulumi.getter(name="backupVault")
60
+ def backup_vault(self) -> Optional[pulumi.Input[str]]:
61
+ """
62
+ ID of the backup vault to use. A backup vault is reqired to create manual or scheduled backups.
63
+ Format: `projects/{{projectId}}/locations/{{location}}/backupVaults/{{backupVaultName}}`
64
+ """
65
+ return pulumi.get(self, "backup_vault")
66
+
67
+ @backup_vault.setter
68
+ def backup_vault(self, value: Optional[pulumi.Input[str]]):
69
+ pulumi.set(self, "backup_vault", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="scheduledBackupEnabled")
73
+ def scheduled_backup_enabled(self) -> Optional[pulumi.Input[bool]]:
74
+ """
75
+ When set to true, scheduled backup is enabled on the volume. Omit if no backup_policy is specified.
76
+ """
77
+ return pulumi.get(self, "scheduled_backup_enabled")
78
+
79
+ @scheduled_backup_enabled.setter
80
+ def scheduled_backup_enabled(self, value: Optional[pulumi.Input[bool]]):
81
+ pulumi.set(self, "scheduled_backup_enabled", value)
82
+
83
+
26
84
  @pulumi.input_type
27
85
  class VolumeExportPolicyArgs:
28
86
  def __init__(__self__, *,