pulumi-gcp 8.26.0a1744288859__py3-none-any.whl → 8.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 (76) hide show
  1. pulumi_gcp/__init__.py +80 -0
  2. pulumi_gcp/bigquery/_inputs.py +87 -30
  3. pulumi_gcp/bigquery/outputs.py +58 -20
  4. pulumi_gcp/bigquery/table.py +28 -14
  5. pulumi_gcp/cloudrun/service.py +46 -0
  6. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  7. pulumi_gcp/cloudrunv2/service.py +85 -0
  8. pulumi_gcp/compute/_inputs.py +428 -1
  9. pulumi_gcp/compute/image.py +183 -0
  10. pulumi_gcp/compute/outputs.py +362 -3
  11. pulumi_gcp/compute/region_backend_service.py +6 -2
  12. pulumi_gcp/compute/snapshot.py +6 -0
  13. pulumi_gcp/databasemigrationservice/_inputs.py +27 -24
  14. pulumi_gcp/databasemigrationservice/connection_profile.py +168 -0
  15. pulumi_gcp/databasemigrationservice/migration_job.py +6 -0
  16. pulumi_gcp/databasemigrationservice/outputs.py +18 -15
  17. pulumi_gcp/developerconnect/__init__.py +1 -0
  18. pulumi_gcp/developerconnect/_inputs.py +77 -0
  19. pulumi_gcp/developerconnect/account_connector.py +866 -0
  20. pulumi_gcp/developerconnect/outputs.py +64 -0
  21. pulumi_gcp/firestore/database.py +82 -0
  22. pulumi_gcp/firestore/index.py +263 -7
  23. pulumi_gcp/folder/service_identity.py +0 -26
  24. pulumi_gcp/managedkafka/_inputs.py +6 -6
  25. pulumi_gcp/managedkafka/connect_cluster.py +84 -40
  26. pulumi_gcp/managedkafka/connector.py +98 -44
  27. pulumi_gcp/managedkafka/outputs.py +4 -4
  28. pulumi_gcp/memorystore/_inputs.py +69 -0
  29. pulumi_gcp/memorystore/get_instance.py +34 -1
  30. pulumi_gcp/memorystore/instance.py +140 -0
  31. pulumi_gcp/memorystore/outputs.py +80 -0
  32. pulumi_gcp/ml/engine_model.py +0 -22
  33. pulumi_gcp/monitoring/_inputs.py +37 -19
  34. pulumi_gcp/monitoring/outputs.py +39 -11
  35. pulumi_gcp/monitoring/uptime_check_config.py +8 -0
  36. pulumi_gcp/netapp/_inputs.py +3 -3
  37. pulumi_gcp/netapp/outputs.py +2 -2
  38. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  39. pulumi_gcp/orgpolicy/policy.py +2 -2
  40. pulumi_gcp/osconfig/v2_policy_orchestrator.py +8 -0
  41. pulumi_gcp/osconfig/v2_policy_orchestrator_for_organization.py +8 -0
  42. pulumi_gcp/pubsub/subscription.py +6 -6
  43. pulumi_gcp/pulumi-plugin.json +1 -1
  44. pulumi_gcp/redis/_inputs.py +69 -0
  45. pulumi_gcp/redis/cluster.py +140 -0
  46. pulumi_gcp/redis/outputs.py +40 -0
  47. pulumi_gcp/storage/_inputs.py +111 -0
  48. pulumi_gcp/storage/control_folder_intelligence_config.py +32 -0
  49. pulumi_gcp/storage/control_organization_intelligence_config.py +32 -0
  50. pulumi_gcp/storage/control_project_intelligence_config.py +32 -0
  51. pulumi_gcp/storage/get_control_folder_intelligence_config.py +12 -1
  52. pulumi_gcp/storage/get_control_organization_intelligence_config.py +12 -1
  53. pulumi_gcp/storage/get_control_project_intelligence_config.py +12 -1
  54. pulumi_gcp/storage/outputs.py +174 -0
  55. pulumi_gcp/vertex/__init__.py +12 -0
  56. pulumi_gcp/vertex/_inputs.py +294 -0
  57. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  58. pulumi_gcp/vertex/ai_feature_group.py +1 -1
  59. pulumi_gcp/vertex/ai_feature_group_iam_binding.py +583 -0
  60. pulumi_gcp/vertex/ai_feature_group_iam_member.py +583 -0
  61. pulumi_gcp/vertex/ai_feature_group_iam_policy.py +422 -0
  62. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +26 -27
  63. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +614 -0
  64. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +614 -0
  65. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +453 -0
  66. pulumi_gcp/vertex/ai_feature_online_store_iam_binding.py +583 -0
  67. pulumi_gcp/vertex/ai_feature_online_store_iam_member.py +583 -0
  68. pulumi_gcp/vertex/ai_feature_online_store_iam_policy.py +422 -0
  69. pulumi_gcp/vertex/get_ai_feature_group_iam_policy.py +177 -0
  70. pulumi_gcp/vertex/get_ai_feature_online_store_featureview_iam_policy.py +194 -0
  71. pulumi_gcp/vertex/get_ai_feature_online_store_iam_policy.py +177 -0
  72. pulumi_gcp/vertex/outputs.py +168 -0
  73. {pulumi_gcp-8.26.0a1744288859.dist-info → pulumi_gcp-8.27.0.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.26.0a1744288859.dist-info → pulumi_gcp-8.27.0.dist-info}/RECORD +76 -63
  75. {pulumi_gcp-8.26.0a1744288859.dist-info → pulumi_gcp-8.27.0.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.26.0a1744288859.dist-info → pulumi_gcp-8.27.0.dist-info}/top_level.txt +0 -0
@@ -38,6 +38,8 @@ __all__ = [
38
38
  'ClusterDiscoveryEndpointArgsDict',
39
39
  'ClusterDiscoveryEndpointPscConfigArgs',
40
40
  'ClusterDiscoveryEndpointPscConfigArgsDict',
41
+ 'ClusterGcsSourceArgs',
42
+ 'ClusterGcsSourceArgsDict',
41
43
  'ClusterMaintenancePolicyArgs',
42
44
  'ClusterMaintenancePolicyArgsDict',
43
45
  'ClusterMaintenancePolicyWeeklyMaintenanceWindowArgs',
@@ -46,6 +48,8 @@ __all__ = [
46
48
  'ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgsDict',
47
49
  'ClusterMaintenanceScheduleArgs',
48
50
  'ClusterMaintenanceScheduleArgsDict',
51
+ 'ClusterManagedBackupSourceArgs',
52
+ 'ClusterManagedBackupSourceArgsDict',
49
53
  'ClusterPersistenceConfigArgs',
50
54
  'ClusterPersistenceConfigArgsDict',
51
55
  'ClusterPersistenceConfigAofConfigArgs',
@@ -748,6 +752,37 @@ class ClusterDiscoveryEndpointPscConfigArgs:
748
752
  pulumi.set(self, "network", value)
749
753
 
750
754
 
755
+ if not MYPY:
756
+ class ClusterGcsSourceArgsDict(TypedDict):
757
+ uris: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]
758
+ """
759
+ URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2
760
+ """
761
+ elif False:
762
+ ClusterGcsSourceArgsDict: TypeAlias = Mapping[str, Any]
763
+
764
+ @pulumi.input_type
765
+ class ClusterGcsSourceArgs:
766
+ def __init__(__self__, *,
767
+ uris: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
768
+ """
769
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] uris: URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2
770
+ """
771
+ pulumi.set(__self__, "uris", uris)
772
+
773
+ @property
774
+ @pulumi.getter
775
+ def uris(self) -> pulumi.Input[Sequence[pulumi.Input[builtins.str]]]:
776
+ """
777
+ URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2
778
+ """
779
+ return pulumi.get(self, "uris")
780
+
781
+ @uris.setter
782
+ def uris(self, value: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
783
+ pulumi.set(self, "uris", value)
784
+
785
+
751
786
  if not MYPY:
752
787
  class ClusterMaintenancePolicyArgsDict(TypedDict):
753
788
  create_time: NotRequired[pulumi.Input[builtins.str]]
@@ -1159,6 +1194,40 @@ class ClusterMaintenanceScheduleArgs:
1159
1194
  pulumi.set(self, "start_time", value)
1160
1195
 
1161
1196
 
1197
+ if not MYPY:
1198
+ class ClusterManagedBackupSourceArgsDict(TypedDict):
1199
+ backup: pulumi.Input[builtins.str]
1200
+ """
1201
+ Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
1202
+ like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
1203
+ """
1204
+ elif False:
1205
+ ClusterManagedBackupSourceArgsDict: TypeAlias = Mapping[str, Any]
1206
+
1207
+ @pulumi.input_type
1208
+ class ClusterManagedBackupSourceArgs:
1209
+ def __init__(__self__, *,
1210
+ backup: pulumi.Input[builtins.str]):
1211
+ """
1212
+ :param pulumi.Input[builtins.str] backup: Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
1213
+ like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
1214
+ """
1215
+ pulumi.set(__self__, "backup", backup)
1216
+
1217
+ @property
1218
+ @pulumi.getter
1219
+ def backup(self) -> pulumi.Input[builtins.str]:
1220
+ """
1221
+ Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
1222
+ like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
1223
+ """
1224
+ return pulumi.get(self, "backup")
1225
+
1226
+ @backup.setter
1227
+ def backup(self, value: pulumi.Input[builtins.str]):
1228
+ pulumi.set(self, "backup", value)
1229
+
1230
+
1162
1231
  if not MYPY:
1163
1232
  class ClusterPersistenceConfigArgsDict(TypedDict):
1164
1233
  aof_config: NotRequired[pulumi.Input['ClusterPersistenceConfigAofConfigArgsDict']]
@@ -27,8 +27,10 @@ class ClusterArgs:
27
27
  automated_backup_config: Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']] = None,
28
28
  cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
29
29
  deletion_protection_enabled: Optional[pulumi.Input[builtins.bool]] = None,
30
+ gcs_source: Optional[pulumi.Input['ClusterGcsSourceArgs']] = None,
30
31
  kms_key: Optional[pulumi.Input[builtins.str]] = None,
31
32
  maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
33
+ managed_backup_source: Optional[pulumi.Input['ClusterManagedBackupSourceArgs']] = None,
32
34
  name: Optional[pulumi.Input[builtins.str]] = None,
33
35
  node_type: Optional[pulumi.Input[builtins.str]] = None,
34
36
  persistence_config: Optional[pulumi.Input['ClusterPersistenceConfigArgs']] = None,
@@ -52,9 +54,13 @@ class ClusterArgs:
52
54
  :param pulumi.Input[builtins.bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
53
55
  If the value if set to true, any delete cluster operation will fail.
54
56
  Default value is true.
57
+ :param pulumi.Input['ClusterGcsSourceArgs'] gcs_source: Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.
58
+ Structure is documented below.
55
59
  :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
56
60
  :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Maintenance policy for a cluster
57
61
  Structure is documented below.
62
+ :param pulumi.Input['ClusterManagedBackupSourceArgs'] managed_backup_source: Backups that generated and managed by memorystore.
63
+ Structure is documented below.
58
64
  :param pulumi.Input[builtins.str] name: Unique name of the resource in this scope including project and location using the form:
59
65
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
60
66
 
@@ -92,10 +98,14 @@ class ClusterArgs:
92
98
  pulumi.set(__self__, "cross_cluster_replication_config", cross_cluster_replication_config)
93
99
  if deletion_protection_enabled is not None:
94
100
  pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled)
101
+ if gcs_source is not None:
102
+ pulumi.set(__self__, "gcs_source", gcs_source)
95
103
  if kms_key is not None:
96
104
  pulumi.set(__self__, "kms_key", kms_key)
97
105
  if maintenance_policy is not None:
98
106
  pulumi.set(__self__, "maintenance_policy", maintenance_policy)
107
+ if managed_backup_source is not None:
108
+ pulumi.set(__self__, "managed_backup_source", managed_backup_source)
99
109
  if name is not None:
100
110
  pulumi.set(__self__, "name", name)
101
111
  if node_type is not None:
@@ -183,6 +193,19 @@ class ClusterArgs:
183
193
  def deletion_protection_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
184
194
  pulumi.set(self, "deletion_protection_enabled", value)
185
195
 
196
+ @property
197
+ @pulumi.getter(name="gcsSource")
198
+ def gcs_source(self) -> Optional[pulumi.Input['ClusterGcsSourceArgs']]:
199
+ """
200
+ Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.
201
+ Structure is documented below.
202
+ """
203
+ return pulumi.get(self, "gcs_source")
204
+
205
+ @gcs_source.setter
206
+ def gcs_source(self, value: Optional[pulumi.Input['ClusterGcsSourceArgs']]):
207
+ pulumi.set(self, "gcs_source", value)
208
+
186
209
  @property
187
210
  @pulumi.getter(name="kmsKey")
188
211
  def kms_key(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -208,6 +231,19 @@ class ClusterArgs:
208
231
  def maintenance_policy(self, value: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]):
209
232
  pulumi.set(self, "maintenance_policy", value)
210
233
 
234
+ @property
235
+ @pulumi.getter(name="managedBackupSource")
236
+ def managed_backup_source(self) -> Optional[pulumi.Input['ClusterManagedBackupSourceArgs']]:
237
+ """
238
+ Backups that generated and managed by memorystore.
239
+ Structure is documented below.
240
+ """
241
+ return pulumi.get(self, "managed_backup_source")
242
+
243
+ @managed_backup_source.setter
244
+ def managed_backup_source(self, value: Optional[pulumi.Input['ClusterManagedBackupSourceArgs']]):
245
+ pulumi.set(self, "managed_backup_source", value)
246
+
211
247
  @property
212
248
  @pulumi.getter
213
249
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -351,13 +387,16 @@ class _ClusterState:
351
387
  def __init__(__self__, *,
352
388
  authorization_mode: Optional[pulumi.Input[builtins.str]] = None,
353
389
  automated_backup_config: Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']] = None,
390
+ backup_collection: Optional[pulumi.Input[builtins.str]] = None,
354
391
  create_time: Optional[pulumi.Input[builtins.str]] = None,
355
392
  cross_cluster_replication_config: Optional[pulumi.Input['ClusterCrossClusterReplicationConfigArgs']] = None,
356
393
  deletion_protection_enabled: Optional[pulumi.Input[builtins.bool]] = None,
357
394
  discovery_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDiscoveryEndpointArgs']]]] = None,
395
+ gcs_source: Optional[pulumi.Input['ClusterGcsSourceArgs']] = None,
358
396
  kms_key: Optional[pulumi.Input[builtins.str]] = None,
359
397
  maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
360
398
  maintenance_schedules: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceScheduleArgs']]]] = None,
399
+ managed_backup_source: Optional[pulumi.Input['ClusterManagedBackupSourceArgs']] = None,
361
400
  name: Optional[pulumi.Input[builtins.str]] = None,
362
401
  node_type: Optional[pulumi.Input[builtins.str]] = None,
363
402
  persistence_config: Optional[pulumi.Input['ClusterPersistenceConfigArgs']] = None,
@@ -383,6 +422,8 @@ class _ClusterState:
383
422
  Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
384
423
  :param pulumi.Input['ClusterAutomatedBackupConfigArgs'] automated_backup_config: The automated backup config for a instance.
385
424
  Structure is documented below.
425
+ :param pulumi.Input[builtins.str] backup_collection: The backup collection full resource name.
426
+ Example: projects/{project}/locations/{location}/backupCollections/{collection}
386
427
  :param pulumi.Input[builtins.str] create_time: The timestamp associated with the cluster creation request. A timestamp in
387
428
  RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
388
429
  digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
@@ -395,11 +436,15 @@ class _ClusterState:
395
436
  for Redis clients to connect to the cluster.
396
437
  Currently only one endpoint is supported.
397
438
  Structure is documented below.
439
+ :param pulumi.Input['ClusterGcsSourceArgs'] gcs_source: Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.
440
+ Structure is documented below.
398
441
  :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
399
442
  :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Maintenance policy for a cluster
400
443
  Structure is documented below.
401
444
  :param pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceScheduleArgs']]] maintenance_schedules: Upcoming maintenance schedule.
402
445
  Structure is documented below.
446
+ :param pulumi.Input['ClusterManagedBackupSourceArgs'] managed_backup_source: Backups that generated and managed by memorystore.
447
+ Structure is documented below.
403
448
  :param pulumi.Input[builtins.str] name: Unique name of the resource in this scope including project and location using the form:
404
449
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
405
450
 
@@ -443,6 +488,8 @@ class _ClusterState:
443
488
  pulumi.set(__self__, "authorization_mode", authorization_mode)
444
489
  if automated_backup_config is not None:
445
490
  pulumi.set(__self__, "automated_backup_config", automated_backup_config)
491
+ if backup_collection is not None:
492
+ pulumi.set(__self__, "backup_collection", backup_collection)
446
493
  if create_time is not None:
447
494
  pulumi.set(__self__, "create_time", create_time)
448
495
  if cross_cluster_replication_config is not None:
@@ -451,12 +498,16 @@ class _ClusterState:
451
498
  pulumi.set(__self__, "deletion_protection_enabled", deletion_protection_enabled)
452
499
  if discovery_endpoints is not None:
453
500
  pulumi.set(__self__, "discovery_endpoints", discovery_endpoints)
501
+ if gcs_source is not None:
502
+ pulumi.set(__self__, "gcs_source", gcs_source)
454
503
  if kms_key is not None:
455
504
  pulumi.set(__self__, "kms_key", kms_key)
456
505
  if maintenance_policy is not None:
457
506
  pulumi.set(__self__, "maintenance_policy", maintenance_policy)
458
507
  if maintenance_schedules is not None:
459
508
  pulumi.set(__self__, "maintenance_schedules", maintenance_schedules)
509
+ if managed_backup_source is not None:
510
+ pulumi.set(__self__, "managed_backup_source", managed_backup_source)
460
511
  if name is not None:
461
512
  pulumi.set(__self__, "name", name)
462
513
  if node_type is not None:
@@ -521,6 +572,19 @@ class _ClusterState:
521
572
  def automated_backup_config(self, value: Optional[pulumi.Input['ClusterAutomatedBackupConfigArgs']]):
522
573
  pulumi.set(self, "automated_backup_config", value)
523
574
 
575
+ @property
576
+ @pulumi.getter(name="backupCollection")
577
+ def backup_collection(self) -> Optional[pulumi.Input[builtins.str]]:
578
+ """
579
+ The backup collection full resource name.
580
+ Example: projects/{project}/locations/{location}/backupCollections/{collection}
581
+ """
582
+ return pulumi.get(self, "backup_collection")
583
+
584
+ @backup_collection.setter
585
+ def backup_collection(self, value: Optional[pulumi.Input[builtins.str]]):
586
+ pulumi.set(self, "backup_collection", value)
587
+
524
588
  @property
525
589
  @pulumi.getter(name="createTime")
526
590
  def create_time(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -577,6 +641,19 @@ class _ClusterState:
577
641
  def discovery_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterDiscoveryEndpointArgs']]]]):
578
642
  pulumi.set(self, "discovery_endpoints", value)
579
643
 
644
+ @property
645
+ @pulumi.getter(name="gcsSource")
646
+ def gcs_source(self) -> Optional[pulumi.Input['ClusterGcsSourceArgs']]:
647
+ """
648
+ Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.
649
+ Structure is documented below.
650
+ """
651
+ return pulumi.get(self, "gcs_source")
652
+
653
+ @gcs_source.setter
654
+ def gcs_source(self, value: Optional[pulumi.Input['ClusterGcsSourceArgs']]):
655
+ pulumi.set(self, "gcs_source", value)
656
+
580
657
  @property
581
658
  @pulumi.getter(name="kmsKey")
582
659
  def kms_key(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -615,6 +692,19 @@ class _ClusterState:
615
692
  def maintenance_schedules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceScheduleArgs']]]]):
616
693
  pulumi.set(self, "maintenance_schedules", value)
617
694
 
695
+ @property
696
+ @pulumi.getter(name="managedBackupSource")
697
+ def managed_backup_source(self) -> Optional[pulumi.Input['ClusterManagedBackupSourceArgs']]:
698
+ """
699
+ Backups that generated and managed by memorystore.
700
+ Structure is documented below.
701
+ """
702
+ return pulumi.get(self, "managed_backup_source")
703
+
704
+ @managed_backup_source.setter
705
+ def managed_backup_source(self, value: Optional[pulumi.Input['ClusterManagedBackupSourceArgs']]):
706
+ pulumi.set(self, "managed_backup_source", value)
707
+
618
708
  @property
619
709
  @pulumi.getter
620
710
  def name(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -861,8 +951,10 @@ class Cluster(pulumi.CustomResource):
861
951
  automated_backup_config: Optional[pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']]] = None,
862
952
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
863
953
  deletion_protection_enabled: Optional[pulumi.Input[builtins.bool]] = None,
954
+ gcs_source: Optional[pulumi.Input[Union['ClusterGcsSourceArgs', 'ClusterGcsSourceArgsDict']]] = None,
864
955
  kms_key: Optional[pulumi.Input[builtins.str]] = None,
865
956
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
957
+ managed_backup_source: Optional[pulumi.Input[Union['ClusterManagedBackupSourceArgs', 'ClusterManagedBackupSourceArgsDict']]] = None,
866
958
  name: Optional[pulumi.Input[builtins.str]] = None,
867
959
  node_type: Optional[pulumi.Input[builtins.str]] = None,
868
960
  persistence_config: Optional[pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']]] = None,
@@ -1299,9 +1391,13 @@ class Cluster(pulumi.CustomResource):
1299
1391
  :param pulumi.Input[builtins.bool] deletion_protection_enabled: Optional. Indicates if the cluster is deletion protected or not.
1300
1392
  If the value if set to true, any delete cluster operation will fail.
1301
1393
  Default value is true.
1394
+ :param pulumi.Input[Union['ClusterGcsSourceArgs', 'ClusterGcsSourceArgsDict']] gcs_source: Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.
1395
+ Structure is documented below.
1302
1396
  :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
1303
1397
  :param pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']] maintenance_policy: Maintenance policy for a cluster
1304
1398
  Structure is documented below.
1399
+ :param pulumi.Input[Union['ClusterManagedBackupSourceArgs', 'ClusterManagedBackupSourceArgsDict']] managed_backup_source: Backups that generated and managed by memorystore.
1400
+ Structure is documented below.
1305
1401
  :param pulumi.Input[builtins.str] name: Unique name of the resource in this scope including project and location using the form:
1306
1402
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
1307
1403
 
@@ -1768,8 +1864,10 @@ class Cluster(pulumi.CustomResource):
1768
1864
  automated_backup_config: Optional[pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']]] = None,
1769
1865
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
1770
1866
  deletion_protection_enabled: Optional[pulumi.Input[builtins.bool]] = None,
1867
+ gcs_source: Optional[pulumi.Input[Union['ClusterGcsSourceArgs', 'ClusterGcsSourceArgsDict']]] = None,
1771
1868
  kms_key: Optional[pulumi.Input[builtins.str]] = None,
1772
1869
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
1870
+ managed_backup_source: Optional[pulumi.Input[Union['ClusterManagedBackupSourceArgs', 'ClusterManagedBackupSourceArgsDict']]] = None,
1773
1871
  name: Optional[pulumi.Input[builtins.str]] = None,
1774
1872
  node_type: Optional[pulumi.Input[builtins.str]] = None,
1775
1873
  persistence_config: Optional[pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']]] = None,
@@ -1794,8 +1892,10 @@ class Cluster(pulumi.CustomResource):
1794
1892
  __props__.__dict__["automated_backup_config"] = automated_backup_config
1795
1893
  __props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
1796
1894
  __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
1895
+ __props__.__dict__["gcs_source"] = gcs_source
1797
1896
  __props__.__dict__["kms_key"] = kms_key
1798
1897
  __props__.__dict__["maintenance_policy"] = maintenance_policy
1898
+ __props__.__dict__["managed_backup_source"] = managed_backup_source
1799
1899
  __props__.__dict__["name"] = name
1800
1900
  __props__.__dict__["node_type"] = node_type
1801
1901
  __props__.__dict__["persistence_config"] = persistence_config
@@ -1809,6 +1909,7 @@ class Cluster(pulumi.CustomResource):
1809
1909
  __props__.__dict__["shard_count"] = shard_count
1810
1910
  __props__.__dict__["transit_encryption_mode"] = transit_encryption_mode
1811
1911
  __props__.__dict__["zone_distribution_config"] = zone_distribution_config
1912
+ __props__.__dict__["backup_collection"] = None
1812
1913
  __props__.__dict__["create_time"] = None
1813
1914
  __props__.__dict__["discovery_endpoints"] = None
1814
1915
  __props__.__dict__["maintenance_schedules"] = None
@@ -1831,13 +1932,16 @@ class Cluster(pulumi.CustomResource):
1831
1932
  opts: Optional[pulumi.ResourceOptions] = None,
1832
1933
  authorization_mode: Optional[pulumi.Input[builtins.str]] = None,
1833
1934
  automated_backup_config: Optional[pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']]] = None,
1935
+ backup_collection: Optional[pulumi.Input[builtins.str]] = None,
1834
1936
  create_time: Optional[pulumi.Input[builtins.str]] = None,
1835
1937
  cross_cluster_replication_config: Optional[pulumi.Input[Union['ClusterCrossClusterReplicationConfigArgs', 'ClusterCrossClusterReplicationConfigArgsDict']]] = None,
1836
1938
  deletion_protection_enabled: Optional[pulumi.Input[builtins.bool]] = None,
1837
1939
  discovery_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterDiscoveryEndpointArgs', 'ClusterDiscoveryEndpointArgsDict']]]]] = None,
1940
+ gcs_source: Optional[pulumi.Input[Union['ClusterGcsSourceArgs', 'ClusterGcsSourceArgsDict']]] = None,
1838
1941
  kms_key: Optional[pulumi.Input[builtins.str]] = None,
1839
1942
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
1840
1943
  maintenance_schedules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterMaintenanceScheduleArgs', 'ClusterMaintenanceScheduleArgsDict']]]]] = None,
1944
+ managed_backup_source: Optional[pulumi.Input[Union['ClusterManagedBackupSourceArgs', 'ClusterManagedBackupSourceArgsDict']]] = None,
1841
1945
  name: Optional[pulumi.Input[builtins.str]] = None,
1842
1946
  node_type: Optional[pulumi.Input[builtins.str]] = None,
1843
1947
  persistence_config: Optional[pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']]] = None,
@@ -1868,6 +1972,8 @@ class Cluster(pulumi.CustomResource):
1868
1972
  Possible values are: `AUTH_MODE_UNSPECIFIED`, `AUTH_MODE_IAM_AUTH`, `AUTH_MODE_DISABLED`.
1869
1973
  :param pulumi.Input[Union['ClusterAutomatedBackupConfigArgs', 'ClusterAutomatedBackupConfigArgsDict']] automated_backup_config: The automated backup config for a instance.
1870
1974
  Structure is documented below.
1975
+ :param pulumi.Input[builtins.str] backup_collection: The backup collection full resource name.
1976
+ Example: projects/{project}/locations/{location}/backupCollections/{collection}
1871
1977
  :param pulumi.Input[builtins.str] create_time: The timestamp associated with the cluster creation request. A timestamp in
1872
1978
  RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional
1873
1979
  digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
@@ -1880,11 +1986,15 @@ class Cluster(pulumi.CustomResource):
1880
1986
  for Redis clients to connect to the cluster.
1881
1987
  Currently only one endpoint is supported.
1882
1988
  Structure is documented below.
1989
+ :param pulumi.Input[Union['ClusterGcsSourceArgs', 'ClusterGcsSourceArgsDict']] gcs_source: Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.
1990
+ Structure is documented below.
1883
1991
  :param pulumi.Input[builtins.str] kms_key: The KMS key used to encrypt the at-rest data of the cluster.
1884
1992
  :param pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']] maintenance_policy: Maintenance policy for a cluster
1885
1993
  Structure is documented below.
1886
1994
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterMaintenanceScheduleArgs', 'ClusterMaintenanceScheduleArgsDict']]]] maintenance_schedules: Upcoming maintenance schedule.
1887
1995
  Structure is documented below.
1996
+ :param pulumi.Input[Union['ClusterManagedBackupSourceArgs', 'ClusterManagedBackupSourceArgsDict']] managed_backup_source: Backups that generated and managed by memorystore.
1997
+ Structure is documented below.
1888
1998
  :param pulumi.Input[builtins.str] name: Unique name of the resource in this scope including project and location using the form:
1889
1999
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
1890
2000
 
@@ -1930,13 +2040,16 @@ class Cluster(pulumi.CustomResource):
1930
2040
 
1931
2041
  __props__.__dict__["authorization_mode"] = authorization_mode
1932
2042
  __props__.__dict__["automated_backup_config"] = automated_backup_config
2043
+ __props__.__dict__["backup_collection"] = backup_collection
1933
2044
  __props__.__dict__["create_time"] = create_time
1934
2045
  __props__.__dict__["cross_cluster_replication_config"] = cross_cluster_replication_config
1935
2046
  __props__.__dict__["deletion_protection_enabled"] = deletion_protection_enabled
1936
2047
  __props__.__dict__["discovery_endpoints"] = discovery_endpoints
2048
+ __props__.__dict__["gcs_source"] = gcs_source
1937
2049
  __props__.__dict__["kms_key"] = kms_key
1938
2050
  __props__.__dict__["maintenance_policy"] = maintenance_policy
1939
2051
  __props__.__dict__["maintenance_schedules"] = maintenance_schedules
2052
+ __props__.__dict__["managed_backup_source"] = managed_backup_source
1940
2053
  __props__.__dict__["name"] = name
1941
2054
  __props__.__dict__["node_type"] = node_type
1942
2055
  __props__.__dict__["persistence_config"] = persistence_config
@@ -1976,6 +2089,15 @@ class Cluster(pulumi.CustomResource):
1976
2089
  """
1977
2090
  return pulumi.get(self, "automated_backup_config")
1978
2091
 
2092
+ @property
2093
+ @pulumi.getter(name="backupCollection")
2094
+ def backup_collection(self) -> pulumi.Output[builtins.str]:
2095
+ """
2096
+ The backup collection full resource name.
2097
+ Example: projects/{project}/locations/{location}/backupCollections/{collection}
2098
+ """
2099
+ return pulumi.get(self, "backup_collection")
2100
+
1979
2101
  @property
1980
2102
  @pulumi.getter(name="createTime")
1981
2103
  def create_time(self) -> pulumi.Output[builtins.str]:
@@ -2016,6 +2138,15 @@ class Cluster(pulumi.CustomResource):
2016
2138
  """
2017
2139
  return pulumi.get(self, "discovery_endpoints")
2018
2140
 
2141
+ @property
2142
+ @pulumi.getter(name="gcsSource")
2143
+ def gcs_source(self) -> pulumi.Output[Optional['outputs.ClusterGcsSource']]:
2144
+ """
2145
+ Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.
2146
+ Structure is documented below.
2147
+ """
2148
+ return pulumi.get(self, "gcs_source")
2149
+
2019
2150
  @property
2020
2151
  @pulumi.getter(name="kmsKey")
2021
2152
  def kms_key(self) -> pulumi.Output[Optional[builtins.str]]:
@@ -2042,6 +2173,15 @@ class Cluster(pulumi.CustomResource):
2042
2173
  """
2043
2174
  return pulumi.get(self, "maintenance_schedules")
2044
2175
 
2176
+ @property
2177
+ @pulumi.getter(name="managedBackupSource")
2178
+ def managed_backup_source(self) -> pulumi.Output[Optional['outputs.ClusterManagedBackupSource']]:
2179
+ """
2180
+ Backups that generated and managed by memorystore.
2181
+ Structure is documented below.
2182
+ """
2183
+ return pulumi.get(self, "managed_backup_source")
2184
+
2045
2185
  @property
2046
2186
  @pulumi.getter
2047
2187
  def name(self) -> pulumi.Output[builtins.str]:
@@ -28,10 +28,12 @@ __all__ = [
28
28
  'ClusterCrossClusterReplicationConfigSecondaryCluster',
29
29
  'ClusterDiscoveryEndpoint',
30
30
  'ClusterDiscoveryEndpointPscConfig',
31
+ 'ClusterGcsSource',
31
32
  'ClusterMaintenancePolicy',
32
33
  'ClusterMaintenancePolicyWeeklyMaintenanceWindow',
33
34
  'ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime',
34
35
  'ClusterMaintenanceSchedule',
36
+ 'ClusterManagedBackupSource',
35
37
  'ClusterPersistenceConfig',
36
38
  'ClusterPersistenceConfigAofConfig',
37
39
  'ClusterPersistenceConfigRdbConfig',
@@ -550,6 +552,24 @@ class ClusterDiscoveryEndpointPscConfig(dict):
550
552
  return pulumi.get(self, "network")
551
553
 
552
554
 
555
+ @pulumi.output_type
556
+ class ClusterGcsSource(dict):
557
+ def __init__(__self__, *,
558
+ uris: Sequence[builtins.str]):
559
+ """
560
+ :param Sequence[builtins.str] uris: URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2
561
+ """
562
+ pulumi.set(__self__, "uris", uris)
563
+
564
+ @property
565
+ @pulumi.getter
566
+ def uris(self) -> Sequence[builtins.str]:
567
+ """
568
+ URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2
569
+ """
570
+ return pulumi.get(self, "uris")
571
+
572
+
553
573
  @pulumi.output_type
554
574
  class ClusterMaintenancePolicy(dict):
555
575
  @staticmethod
@@ -861,6 +881,26 @@ class ClusterMaintenanceSchedule(dict):
861
881
  return pulumi.get(self, "start_time")
862
882
 
863
883
 
884
+ @pulumi.output_type
885
+ class ClusterManagedBackupSource(dict):
886
+ def __init__(__self__, *,
887
+ backup: builtins.str):
888
+ """
889
+ :param builtins.str backup: Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
890
+ like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
891
+ """
892
+ pulumi.set(__self__, "backup", backup)
893
+
894
+ @property
895
+ @pulumi.getter
896
+ def backup(self) -> builtins.str:
897
+ """
898
+ Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported,
899
+ like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backupId}. In this case, it assumes the backup is under redis.googleapis.com.
900
+ """
901
+ return pulumi.get(self, "backup")
902
+
903
+
864
904
  @pulumi.output_type
865
905
  class ClusterPersistenceConfig(dict):
866
906
  @staticmethod