pulumi-gcp 8.10.0a1731739693__py3-none-any.whl → 8.10.0a1732125494__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 (52) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +90 -54
  4. pulumi_gcp/accesscontextmanager/get_access_policy.py +158 -0
  5. pulumi_gcp/accesscontextmanager/outputs.py +60 -36
  6. pulumi_gcp/artifactregistry/_inputs.py +56 -0
  7. pulumi_gcp/artifactregistry/outputs.py +65 -0
  8. pulumi_gcp/artifactregistry/repository.py +48 -0
  9. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  10. pulumi_gcp/backupdisasterrecovery/backup_vault.py +63 -0
  11. pulumi_gcp/backupdisasterrecovery/get_data_source.py +263 -0
  12. pulumi_gcp/backupdisasterrecovery/outputs.py +402 -0
  13. pulumi_gcp/certificateauthority/authority.py +28 -138
  14. pulumi_gcp/cloudrun/service.py +0 -10
  15. pulumi_gcp/cloudrunv2/get_service.py +15 -4
  16. pulumi_gcp/cloudrunv2/service.py +30 -2
  17. pulumi_gcp/compute/_inputs.py +12 -12
  18. pulumi_gcp/compute/outputs.py +10 -10
  19. pulumi_gcp/dataproc/__init__.py +1 -0
  20. pulumi_gcp/dataproc/_inputs.py +490 -0
  21. pulumi_gcp/dataproc/gdc_spark_application.py +1658 -0
  22. pulumi_gcp/dataproc/outputs.py +385 -0
  23. pulumi_gcp/filestore/_inputs.py +152 -0
  24. pulumi_gcp/filestore/get_instance.py +12 -1
  25. pulumi_gcp/filestore/instance.py +47 -0
  26. pulumi_gcp/filestore/outputs.py +229 -0
  27. pulumi_gcp/iam/__init__.py +2 -0
  28. pulumi_gcp/iam/_inputs.py +274 -0
  29. pulumi_gcp/iam/folders_policy_binding.py +917 -0
  30. pulumi_gcp/iam/organizations_policy_binding.py +901 -0
  31. pulumi_gcp/iam/outputs.py +198 -0
  32. pulumi_gcp/managedkafka/cluster.py +4 -0
  33. pulumi_gcp/managedkafka/topic.py +4 -0
  34. pulumi_gcp/pubsub/subscription.py +8 -8
  35. pulumi_gcp/pulumi-plugin.json +1 -1
  36. pulumi_gcp/redis/_inputs.py +213 -0
  37. pulumi_gcp/redis/cluster.py +289 -0
  38. pulumi_gcp/redis/outputs.py +185 -0
  39. pulumi_gcp/securesourcemanager/_inputs.py +33 -0
  40. pulumi_gcp/securesourcemanager/instance.py +90 -3
  41. pulumi_gcp/securesourcemanager/outputs.py +19 -0
  42. pulumi_gcp/spanner/database.py +14 -14
  43. pulumi_gcp/sql/_inputs.py +73 -0
  44. pulumi_gcp/sql/database_instance.py +60 -0
  45. pulumi_gcp/sql/outputs.py +146 -0
  46. pulumi_gcp/sql/user.py +2 -2
  47. pulumi_gcp/tags/location_tag_binding.py +8 -8
  48. pulumi_gcp/vertex/ai_endpoint.py +22 -29
  49. {pulumi_gcp-8.10.0a1731739693.dist-info → pulumi_gcp-8.10.0a1732125494.dist-info}/METADATA +1 -1
  50. {pulumi_gcp-8.10.0a1731739693.dist-info → pulumi_gcp-8.10.0a1732125494.dist-info}/RECORD +52 -47
  51. {pulumi_gcp-8.10.0a1731739693.dist-info → pulumi_gcp-8.10.0a1732125494.dist-info}/WHEEL +0 -0
  52. {pulumi_gcp-8.10.0a1731739693.dist-info → pulumi_gcp-8.10.0a1732125494.dist-info}/top_level.txt +0 -0
pulumi_gcp/iam/outputs.py CHANGED
@@ -22,6 +22,10 @@ __all__ = [
22
22
  'DenyPolicyRule',
23
23
  'DenyPolicyRuleDenyRule',
24
24
  'DenyPolicyRuleDenyRuleDenialCondition',
25
+ 'FoldersPolicyBindingCondition',
26
+ 'FoldersPolicyBindingTarget',
27
+ 'OrganizationsPolicyBindingCondition',
28
+ 'OrganizationsPolicyBindingTarget',
25
29
  'PrincipalAccessBoundaryPolicyDetails',
26
30
  'PrincipalAccessBoundaryPolicyDetailsRule',
27
31
  'WorkforcePoolAccessRestrictions',
@@ -448,6 +452,200 @@ class DenyPolicyRuleDenyRuleDenialCondition(dict):
448
452
  return pulumi.get(self, "title")
449
453
 
450
454
 
455
+ @pulumi.output_type
456
+ class FoldersPolicyBindingCondition(dict):
457
+ def __init__(__self__, *,
458
+ description: Optional[str] = None,
459
+ expression: Optional[str] = None,
460
+ location: Optional[str] = None,
461
+ title: Optional[str] = None):
462
+ """
463
+ :param str description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
464
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
465
+ :param str location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
466
+ :param str title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
467
+ """
468
+ if description is not None:
469
+ pulumi.set(__self__, "description", description)
470
+ if expression is not None:
471
+ pulumi.set(__self__, "expression", expression)
472
+ if location is not None:
473
+ pulumi.set(__self__, "location", location)
474
+ if title is not None:
475
+ pulumi.set(__self__, "title", title)
476
+
477
+ @property
478
+ @pulumi.getter
479
+ def description(self) -> Optional[str]:
480
+ """
481
+ Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
482
+ """
483
+ return pulumi.get(self, "description")
484
+
485
+ @property
486
+ @pulumi.getter
487
+ def expression(self) -> Optional[str]:
488
+ """
489
+ Textual representation of an expression in Common Expression Language syntax.
490
+ """
491
+ return pulumi.get(self, "expression")
492
+
493
+ @property
494
+ @pulumi.getter
495
+ def location(self) -> Optional[str]:
496
+ """
497
+ Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
498
+ """
499
+ return pulumi.get(self, "location")
500
+
501
+ @property
502
+ @pulumi.getter
503
+ def title(self) -> Optional[str]:
504
+ """
505
+ Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
506
+ """
507
+ return pulumi.get(self, "title")
508
+
509
+
510
+ @pulumi.output_type
511
+ class FoldersPolicyBindingTarget(dict):
512
+ @staticmethod
513
+ def __key_warning(key: str):
514
+ suggest = None
515
+ if key == "principalSet":
516
+ suggest = "principal_set"
517
+
518
+ if suggest:
519
+ pulumi.log.warn(f"Key '{key}' not found in FoldersPolicyBindingTarget. Access the value via the '{suggest}' property getter instead.")
520
+
521
+ def __getitem__(self, key: str) -> Any:
522
+ FoldersPolicyBindingTarget.__key_warning(key)
523
+ return super().__getitem__(key)
524
+
525
+ def get(self, key: str, default = None) -> Any:
526
+ FoldersPolicyBindingTarget.__key_warning(key)
527
+ return super().get(key, default)
528
+
529
+ def __init__(__self__, *,
530
+ principal_set: Optional[str] = None):
531
+ """
532
+ :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
533
+ The binding parent and policy must belong to the same Organization (or Project).
534
+
535
+ - - -
536
+ """
537
+ if principal_set is not None:
538
+ pulumi.set(__self__, "principal_set", principal_set)
539
+
540
+ @property
541
+ @pulumi.getter(name="principalSet")
542
+ def principal_set(self) -> Optional[str]:
543
+ """
544
+ Required. Immutable. The resource name of the policy to be bound.
545
+ The binding parent and policy must belong to the same Organization (or Project).
546
+
547
+ - - -
548
+ """
549
+ return pulumi.get(self, "principal_set")
550
+
551
+
552
+ @pulumi.output_type
553
+ class OrganizationsPolicyBindingCondition(dict):
554
+ def __init__(__self__, *,
555
+ description: Optional[str] = None,
556
+ expression: Optional[str] = None,
557
+ location: Optional[str] = None,
558
+ title: Optional[str] = None):
559
+ """
560
+ :param str description: Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
561
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
562
+ :param str location: Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
563
+ :param str title: Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
564
+ """
565
+ if description is not None:
566
+ pulumi.set(__self__, "description", description)
567
+ if expression is not None:
568
+ pulumi.set(__self__, "expression", expression)
569
+ if location is not None:
570
+ pulumi.set(__self__, "location", location)
571
+ if title is not None:
572
+ pulumi.set(__self__, "title", title)
573
+
574
+ @property
575
+ @pulumi.getter
576
+ def description(self) -> Optional[str]:
577
+ """
578
+ Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
579
+ """
580
+ return pulumi.get(self, "description")
581
+
582
+ @property
583
+ @pulumi.getter
584
+ def expression(self) -> Optional[str]:
585
+ """
586
+ Textual representation of an expression in Common Expression Language syntax.
587
+ """
588
+ return pulumi.get(self, "expression")
589
+
590
+ @property
591
+ @pulumi.getter
592
+ def location(self) -> Optional[str]:
593
+ """
594
+ Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
595
+ """
596
+ return pulumi.get(self, "location")
597
+
598
+ @property
599
+ @pulumi.getter
600
+ def title(self) -> Optional[str]:
601
+ """
602
+ Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
603
+ """
604
+ return pulumi.get(self, "title")
605
+
606
+
607
+ @pulumi.output_type
608
+ class OrganizationsPolicyBindingTarget(dict):
609
+ @staticmethod
610
+ def __key_warning(key: str):
611
+ suggest = None
612
+ if key == "principalSet":
613
+ suggest = "principal_set"
614
+
615
+ if suggest:
616
+ pulumi.log.warn(f"Key '{key}' not found in OrganizationsPolicyBindingTarget. Access the value via the '{suggest}' property getter instead.")
617
+
618
+ def __getitem__(self, key: str) -> Any:
619
+ OrganizationsPolicyBindingTarget.__key_warning(key)
620
+ return super().__getitem__(key)
621
+
622
+ def get(self, key: str, default = None) -> Any:
623
+ OrganizationsPolicyBindingTarget.__key_warning(key)
624
+ return super().get(key, default)
625
+
626
+ def __init__(__self__, *,
627
+ principal_set: Optional[str] = None):
628
+ """
629
+ :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
630
+ The binding parent and policy must belong to the same Organization (or Project).
631
+
632
+ - - -
633
+ """
634
+ if principal_set is not None:
635
+ pulumi.set(__self__, "principal_set", principal_set)
636
+
637
+ @property
638
+ @pulumi.getter(name="principalSet")
639
+ def principal_set(self) -> Optional[str]:
640
+ """
641
+ Required. Immutable. The resource name of the policy to be bound.
642
+ The binding parent and policy must belong to the same Organization (or Project).
643
+
644
+ - - -
645
+ """
646
+ return pulumi.get(self, "principal_set")
647
+
648
+
451
649
  @pulumi.output_type
452
650
  class PrincipalAccessBoundaryPolicyDetails(dict):
453
651
  @staticmethod
@@ -378,6 +378,8 @@ class Cluster(pulumi.CustomResource):
378
378
  rebalance_config: Optional[pulumi.Input[Union['ClusterRebalanceConfigArgs', 'ClusterRebalanceConfigArgsDict']]] = None,
379
379
  __props__=None):
380
380
  """
381
+ A Managed Service for Apache Kafka cluster. Apache Kafka is a trademark owned by the Apache Software Foundation.
382
+
381
383
  ## Example Usage
382
384
 
383
385
  ### Managedkafka Cluster Basic
@@ -490,6 +492,8 @@ class Cluster(pulumi.CustomResource):
490
492
  args: ClusterArgs,
491
493
  opts: Optional[pulumi.ResourceOptions] = None):
492
494
  """
495
+ A Managed Service for Apache Kafka cluster. Apache Kafka is a trademark owned by the Apache Software Foundation.
496
+
493
497
  ## Example Usage
494
498
 
495
499
  ### Managedkafka Cluster Basic
@@ -298,6 +298,8 @@ class Topic(pulumi.CustomResource):
298
298
  topic_id: Optional[pulumi.Input[str]] = None,
299
299
  __props__=None):
300
300
  """
301
+ A Managed Service for Apache Kafka topic. Apache Kafka is a trademark owned by the Apache Software Foundation.
302
+
301
303
  ## Example Usage
302
304
 
303
305
  ### Managedkafka Topic Basic
@@ -377,6 +379,8 @@ class Topic(pulumi.CustomResource):
377
379
  args: TopicArgs,
378
380
  opts: Optional[pulumi.ResourceOptions] = None):
379
381
  """
382
+ A Managed Service for Apache Kafka topic. Apache Kafka is a trademark owned by the Apache Software Foundation.
383
+
380
384
  ## Example Usage
381
385
 
382
386
  ### Managedkafka Topic Basic
@@ -1051,11 +1051,11 @@ class Subscription(pulumi.CustomResource):
1051
1051
  account_id="example-bqw",
1052
1052
  display_name="BQ Write Service Account")
1053
1053
  project = gcp.organizations.get_project()
1054
- viewer = gcp.projects.IAMMember("viewer",
1054
+ bigquery_metadata_viewer = gcp.projects.IAMMember("bigquery_metadata_viewer",
1055
1055
  project=project.project_id,
1056
1056
  role="roles/bigquery.metadataViewer",
1057
1057
  member=bq_write_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
1058
- editor = gcp.projects.IAMMember("editor",
1058
+ bigquery_data_editor = gcp.projects.IAMMember("bigquery_data_editor",
1059
1059
  project=project.project_id,
1060
1060
  role="roles/bigquery.dataEditor",
1061
1061
  member=bq_write_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
@@ -1087,8 +1087,8 @@ class Subscription(pulumi.CustomResource):
1087
1087
  },
1088
1088
  opts = pulumi.ResourceOptions(depends_on=[
1089
1089
  bq_write_service_account,
1090
- viewer,
1091
- editor,
1090
+ bigquery_metadata_viewer,
1091
+ bigquery_data_editor,
1092
1092
  ]))
1093
1093
  ```
1094
1094
  ### Pubsub Subscription Push Cloudstorage
@@ -1491,11 +1491,11 @@ class Subscription(pulumi.CustomResource):
1491
1491
  account_id="example-bqw",
1492
1492
  display_name="BQ Write Service Account")
1493
1493
  project = gcp.organizations.get_project()
1494
- viewer = gcp.projects.IAMMember("viewer",
1494
+ bigquery_metadata_viewer = gcp.projects.IAMMember("bigquery_metadata_viewer",
1495
1495
  project=project.project_id,
1496
1496
  role="roles/bigquery.metadataViewer",
1497
1497
  member=bq_write_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
1498
- editor = gcp.projects.IAMMember("editor",
1498
+ bigquery_data_editor = gcp.projects.IAMMember("bigquery_data_editor",
1499
1499
  project=project.project_id,
1500
1500
  role="roles/bigquery.dataEditor",
1501
1501
  member=bq_write_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
@@ -1527,8 +1527,8 @@ class Subscription(pulumi.CustomResource):
1527
1527
  },
1528
1528
  opts = pulumi.ResourceOptions(depends_on=[
1529
1529
  bq_write_service_account,
1530
- viewer,
1531
- editor,
1530
+ bigquery_metadata_viewer,
1531
+ bigquery_data_editor,
1532
1532
  ]))
1533
1533
  ```
1534
1534
  ### Pubsub Subscription Push Cloudstorage
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "8.10.0-alpha.1731739693"
4
+ "version": "8.10.0-alpha.1732125494"
5
5
  }
@@ -27,6 +27,12 @@ __all__ = [
27
27
  'ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTimeArgsDict',
28
28
  'ClusterMaintenanceScheduleArgs',
29
29
  'ClusterMaintenanceScheduleArgsDict',
30
+ 'ClusterPersistenceConfigArgs',
31
+ 'ClusterPersistenceConfigArgsDict',
32
+ 'ClusterPersistenceConfigAofConfigArgs',
33
+ 'ClusterPersistenceConfigAofConfigArgsDict',
34
+ 'ClusterPersistenceConfigRdbConfigArgs',
35
+ 'ClusterPersistenceConfigRdbConfigArgsDict',
30
36
  'ClusterPscConfigArgs',
31
37
  'ClusterPscConfigArgsDict',
32
38
  'ClusterPscConnectionArgs',
@@ -576,6 +582,213 @@ class ClusterMaintenanceScheduleArgs:
576
582
  pulumi.set(self, "start_time", value)
577
583
 
578
584
 
585
+ if not MYPY:
586
+ class ClusterPersistenceConfigArgsDict(TypedDict):
587
+ aof_config: NotRequired[pulumi.Input['ClusterPersistenceConfigAofConfigArgsDict']]
588
+ """
589
+ AOF configuration. This field will be ignored if mode is not AOF.
590
+ Structure is documented below.
591
+ """
592
+ mode: NotRequired[pulumi.Input[str]]
593
+ """
594
+ Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
595
+ - DISABLED: Persistence (both backup and restore) is disabled for the cluster.
596
+ - RDB: RDB based Persistence is enabled.
597
+ - AOF: AOF based Persistence is enabled.
598
+ Possible values are: `PERSISTENCE_MODE_UNSPECIFIED`, `DISABLED`, `RDB`, `AOF`.
599
+ """
600
+ rdb_config: NotRequired[pulumi.Input['ClusterPersistenceConfigRdbConfigArgsDict']]
601
+ """
602
+ RDB configuration. This field will be ignored if mode is not RDB.
603
+ Structure is documented below.
604
+ """
605
+ elif False:
606
+ ClusterPersistenceConfigArgsDict: TypeAlias = Mapping[str, Any]
607
+
608
+ @pulumi.input_type
609
+ class ClusterPersistenceConfigArgs:
610
+ def __init__(__self__, *,
611
+ aof_config: Optional[pulumi.Input['ClusterPersistenceConfigAofConfigArgs']] = None,
612
+ mode: Optional[pulumi.Input[str]] = None,
613
+ rdb_config: Optional[pulumi.Input['ClusterPersistenceConfigRdbConfigArgs']] = None):
614
+ """
615
+ :param pulumi.Input['ClusterPersistenceConfigAofConfigArgs'] aof_config: AOF configuration. This field will be ignored if mode is not AOF.
616
+ Structure is documented below.
617
+ :param pulumi.Input[str] mode: Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
618
+ - DISABLED: Persistence (both backup and restore) is disabled for the cluster.
619
+ - RDB: RDB based Persistence is enabled.
620
+ - AOF: AOF based Persistence is enabled.
621
+ Possible values are: `PERSISTENCE_MODE_UNSPECIFIED`, `DISABLED`, `RDB`, `AOF`.
622
+ :param pulumi.Input['ClusterPersistenceConfigRdbConfigArgs'] rdb_config: RDB configuration. This field will be ignored if mode is not RDB.
623
+ Structure is documented below.
624
+ """
625
+ if aof_config is not None:
626
+ pulumi.set(__self__, "aof_config", aof_config)
627
+ if mode is not None:
628
+ pulumi.set(__self__, "mode", mode)
629
+ if rdb_config is not None:
630
+ pulumi.set(__self__, "rdb_config", rdb_config)
631
+
632
+ @property
633
+ @pulumi.getter(name="aofConfig")
634
+ def aof_config(self) -> Optional[pulumi.Input['ClusterPersistenceConfigAofConfigArgs']]:
635
+ """
636
+ AOF configuration. This field will be ignored if mode is not AOF.
637
+ Structure is documented below.
638
+ """
639
+ return pulumi.get(self, "aof_config")
640
+
641
+ @aof_config.setter
642
+ def aof_config(self, value: Optional[pulumi.Input['ClusterPersistenceConfigAofConfigArgs']]):
643
+ pulumi.set(self, "aof_config", value)
644
+
645
+ @property
646
+ @pulumi.getter
647
+ def mode(self) -> Optional[pulumi.Input[str]]:
648
+ """
649
+ Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
650
+ - DISABLED: Persistence (both backup and restore) is disabled for the cluster.
651
+ - RDB: RDB based Persistence is enabled.
652
+ - AOF: AOF based Persistence is enabled.
653
+ Possible values are: `PERSISTENCE_MODE_UNSPECIFIED`, `DISABLED`, `RDB`, `AOF`.
654
+ """
655
+ return pulumi.get(self, "mode")
656
+
657
+ @mode.setter
658
+ def mode(self, value: Optional[pulumi.Input[str]]):
659
+ pulumi.set(self, "mode", value)
660
+
661
+ @property
662
+ @pulumi.getter(name="rdbConfig")
663
+ def rdb_config(self) -> Optional[pulumi.Input['ClusterPersistenceConfigRdbConfigArgs']]:
664
+ """
665
+ RDB configuration. This field will be ignored if mode is not RDB.
666
+ Structure is documented below.
667
+ """
668
+ return pulumi.get(self, "rdb_config")
669
+
670
+ @rdb_config.setter
671
+ def rdb_config(self, value: Optional[pulumi.Input['ClusterPersistenceConfigRdbConfigArgs']]):
672
+ pulumi.set(self, "rdb_config", value)
673
+
674
+
675
+ if not MYPY:
676
+ class ClusterPersistenceConfigAofConfigArgsDict(TypedDict):
677
+ append_fsync: NotRequired[pulumi.Input[str]]
678
+ """
679
+ Optional. Available fsync modes.
680
+ - NO - Do not explicilty call fsync(). Rely on OS defaults.
681
+ - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
682
+ - ALWAYS - Call fsync() for earch write command.
683
+ Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
684
+ """
685
+ elif False:
686
+ ClusterPersistenceConfigAofConfigArgsDict: TypeAlias = Mapping[str, Any]
687
+
688
+ @pulumi.input_type
689
+ class ClusterPersistenceConfigAofConfigArgs:
690
+ def __init__(__self__, *,
691
+ append_fsync: Optional[pulumi.Input[str]] = None):
692
+ """
693
+ :param pulumi.Input[str] append_fsync: Optional. Available fsync modes.
694
+ - NO - Do not explicilty call fsync(). Rely on OS defaults.
695
+ - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
696
+ - ALWAYS - Call fsync() for earch write command.
697
+ Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
698
+ """
699
+ if append_fsync is not None:
700
+ pulumi.set(__self__, "append_fsync", append_fsync)
701
+
702
+ @property
703
+ @pulumi.getter(name="appendFsync")
704
+ def append_fsync(self) -> Optional[pulumi.Input[str]]:
705
+ """
706
+ Optional. Available fsync modes.
707
+ - NO - Do not explicilty call fsync(). Rely on OS defaults.
708
+ - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
709
+ - ALWAYS - Call fsync() for earch write command.
710
+ Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
711
+ """
712
+ return pulumi.get(self, "append_fsync")
713
+
714
+ @append_fsync.setter
715
+ def append_fsync(self, value: Optional[pulumi.Input[str]]):
716
+ pulumi.set(self, "append_fsync", value)
717
+
718
+
719
+ if not MYPY:
720
+ class ClusterPersistenceConfigRdbConfigArgsDict(TypedDict):
721
+ rdb_snapshot_period: NotRequired[pulumi.Input[str]]
722
+ """
723
+ Optional. Available snapshot periods for scheduling.
724
+ - ONE_HOUR: Snapshot every 1 hour.
725
+ - SIX_HOURS: Snapshot every 6 hours.
726
+ - TWELVE_HOURS: Snapshot every 12 hours.
727
+ - TWENTY_FOUR_HOURS: Snapshot every 24 hours.
728
+ Possible values are: `SNAPSHOT_PERIOD_UNSPECIFIED`, `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
729
+ """
730
+ rdb_snapshot_start_time: NotRequired[pulumi.Input[str]]
731
+ """
732
+ The time that the first snapshot was/will be attempted, and to which
733
+ future snapshots will be aligned.
734
+ If not provided, the current time will be used.
735
+ """
736
+ elif False:
737
+ ClusterPersistenceConfigRdbConfigArgsDict: TypeAlias = Mapping[str, Any]
738
+
739
+ @pulumi.input_type
740
+ class ClusterPersistenceConfigRdbConfigArgs:
741
+ def __init__(__self__, *,
742
+ rdb_snapshot_period: Optional[pulumi.Input[str]] = None,
743
+ rdb_snapshot_start_time: Optional[pulumi.Input[str]] = None):
744
+ """
745
+ :param pulumi.Input[str] rdb_snapshot_period: Optional. Available snapshot periods for scheduling.
746
+ - ONE_HOUR: Snapshot every 1 hour.
747
+ - SIX_HOURS: Snapshot every 6 hours.
748
+ - TWELVE_HOURS: Snapshot every 12 hours.
749
+ - TWENTY_FOUR_HOURS: Snapshot every 24 hours.
750
+ Possible values are: `SNAPSHOT_PERIOD_UNSPECIFIED`, `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
751
+ :param pulumi.Input[str] rdb_snapshot_start_time: The time that the first snapshot was/will be attempted, and to which
752
+ future snapshots will be aligned.
753
+ If not provided, the current time will be used.
754
+ """
755
+ if rdb_snapshot_period is not None:
756
+ pulumi.set(__self__, "rdb_snapshot_period", rdb_snapshot_period)
757
+ if rdb_snapshot_start_time is not None:
758
+ pulumi.set(__self__, "rdb_snapshot_start_time", rdb_snapshot_start_time)
759
+
760
+ @property
761
+ @pulumi.getter(name="rdbSnapshotPeriod")
762
+ def rdb_snapshot_period(self) -> Optional[pulumi.Input[str]]:
763
+ """
764
+ Optional. Available snapshot periods for scheduling.
765
+ - ONE_HOUR: Snapshot every 1 hour.
766
+ - SIX_HOURS: Snapshot every 6 hours.
767
+ - TWELVE_HOURS: Snapshot every 12 hours.
768
+ - TWENTY_FOUR_HOURS: Snapshot every 24 hours.
769
+ Possible values are: `SNAPSHOT_PERIOD_UNSPECIFIED`, `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
770
+ """
771
+ return pulumi.get(self, "rdb_snapshot_period")
772
+
773
+ @rdb_snapshot_period.setter
774
+ def rdb_snapshot_period(self, value: Optional[pulumi.Input[str]]):
775
+ pulumi.set(self, "rdb_snapshot_period", value)
776
+
777
+ @property
778
+ @pulumi.getter(name="rdbSnapshotStartTime")
779
+ def rdb_snapshot_start_time(self) -> Optional[pulumi.Input[str]]:
780
+ """
781
+ The time that the first snapshot was/will be attempted, and to which
782
+ future snapshots will be aligned.
783
+ If not provided, the current time will be used.
784
+ """
785
+ return pulumi.get(self, "rdb_snapshot_start_time")
786
+
787
+ @rdb_snapshot_start_time.setter
788
+ def rdb_snapshot_start_time(self, value: Optional[pulumi.Input[str]]):
789
+ pulumi.set(self, "rdb_snapshot_start_time", value)
790
+
791
+
579
792
  if not MYPY:
580
793
  class ClusterPscConfigArgsDict(TypedDict):
581
794
  network: pulumi.Input[str]