pulumi-gcp 8.13.0a1736231082__py3-none-any.whl → 8.13.0a1736263433__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 (90) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +3 -3
  3. pulumi_gcp/accesscontextmanager/outputs.py +2 -2
  4. pulumi_gcp/artifactregistry/_inputs.py +83 -0
  5. pulumi_gcp/artifactregistry/get_repository.py +15 -4
  6. pulumi_gcp/artifactregistry/outputs.py +112 -0
  7. pulumi_gcp/artifactregistry/repository.py +93 -7
  8. pulumi_gcp/backupdisasterrecovery/get_backup.py +38 -2
  9. pulumi_gcp/backupdisasterrecovery/get_data_source.py +38 -2
  10. pulumi_gcp/backupdisasterrecovery/outputs.py +8 -8
  11. pulumi_gcp/bigquery/_inputs.py +369 -0
  12. pulumi_gcp/bigquery/dataset_access.py +61 -0
  13. pulumi_gcp/bigquery/job.py +6 -18
  14. pulumi_gcp/bigquery/outputs.py +350 -0
  15. pulumi_gcp/bigquery/table.py +47 -0
  16. pulumi_gcp/chronicle/__init__.py +10 -0
  17. pulumi_gcp/chronicle/_inputs.py +169 -0
  18. pulumi_gcp/chronicle/outputs.py +107 -0
  19. pulumi_gcp/chronicle/watchlist.py +776 -0
  20. pulumi_gcp/cloudrunv2/_inputs.py +6 -3
  21. pulumi_gcp/cloudrunv2/outputs.py +10 -6
  22. pulumi_gcp/composer/_inputs.py +80 -5
  23. pulumi_gcp/composer/outputs.py +111 -4
  24. pulumi_gcp/compute/_inputs.py +181 -87
  25. pulumi_gcp/compute/firewall_policy_association.py +50 -39
  26. pulumi_gcp/compute/get_network.py +17 -2
  27. pulumi_gcp/compute/get_subnetwork.py +18 -4
  28. pulumi_gcp/compute/network.py +39 -2
  29. pulumi_gcp/compute/outputs.py +157 -58
  30. pulumi_gcp/compute/region_network_endpoint_group.py +1 -1
  31. pulumi_gcp/compute/resize_request.py +26 -40
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/dataproc/batch.py +4 -18
  35. pulumi_gcp/datastream/_inputs.py +68 -0
  36. pulumi_gcp/datastream/outputs.py +41 -1
  37. pulumi_gcp/developerconnect/connection.py +58 -12
  38. pulumi_gcp/diagflow/_inputs.py +3 -3
  39. pulumi_gcp/diagflow/outputs.py +2 -2
  40. pulumi_gcp/filestore/backup.py +71 -3
  41. pulumi_gcp/firebase/hosting_custom_domain.py +4 -4
  42. pulumi_gcp/firestore/_inputs.py +3 -3
  43. pulumi_gcp/firestore/outputs.py +2 -2
  44. pulumi_gcp/gkehub/__init__.py +1 -0
  45. pulumi_gcp/gkehub/get_feature.py +226 -0
  46. pulumi_gcp/gkehub/outputs.py +1153 -0
  47. pulumi_gcp/gkeonprem/__init__.py +1 -0
  48. pulumi_gcp/gkeonprem/_inputs.py +2364 -0
  49. pulumi_gcp/gkeonprem/outputs.py +1780 -0
  50. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +1715 -0
  51. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  52. pulumi_gcp/integrationconnectors/connection.py +7 -7
  53. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  54. pulumi_gcp/kms/__init__.py +2 -0
  55. pulumi_gcp/kms/get_autokey_config.py +121 -0
  56. pulumi_gcp/kms/get_key_handle.py +185 -0
  57. pulumi_gcp/netapp/kmsconfig.py +2 -14
  58. pulumi_gcp/networkconnectivity/hub.py +108 -0
  59. pulumi_gcp/networkconnectivity/spoke.py +195 -0
  60. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +4 -0
  61. pulumi_gcp/networksecurity/__init__.py +2 -0
  62. pulumi_gcp/networksecurity/_inputs.py +78 -0
  63. pulumi_gcp/networksecurity/intercept_endpoint_group.py +723 -0
  64. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +815 -0
  65. pulumi_gcp/networksecurity/outputs.py +48 -0
  66. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  67. pulumi_gcp/orgpolicy/policy.py +2 -2
  68. pulumi_gcp/parallelstore/instance.py +149 -0
  69. pulumi_gcp/projects/usage_export_bucket.py +42 -110
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/subscription.py +6 -6
  72. pulumi_gcp/pulumi-plugin.json +1 -1
  73. pulumi_gcp/securesourcemanager/instance.py +4 -16
  74. pulumi_gcp/spanner/instance_iam_binding.py +14 -0
  75. pulumi_gcp/spanner/instance_iam_member.py +14 -0
  76. pulumi_gcp/sql/database_instance.py +7 -7
  77. pulumi_gcp/storage/__init__.py +1 -0
  78. pulumi_gcp/storage/_inputs.py +431 -0
  79. pulumi_gcp/storage/folder.py +483 -0
  80. pulumi_gcp/storage/outputs.py +363 -0
  81. pulumi_gcp/storage/transfer_job.py +84 -38
  82. pulumi_gcp/vertex/_inputs.py +26 -25
  83. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  84. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  85. pulumi_gcp/vertex/outputs.py +15 -14
  86. pulumi_gcp/workstations/workstation.py +55 -1
  87. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/METADATA +1 -1
  88. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/RECORD +90 -79
  89. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/WHEEL +0 -0
  90. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/top_level.txt +0 -0
@@ -47,6 +47,11 @@ __all__ = [
47
47
  'TransferAgentPoolBandwidthLimit',
48
48
  'TransferJobEventStream',
49
49
  'TransferJobNotificationConfig',
50
+ 'TransferJobReplicationSpec',
51
+ 'TransferJobReplicationSpecGcsDataSink',
52
+ 'TransferJobReplicationSpecGcsDataSource',
53
+ 'TransferJobReplicationSpecObjectConditions',
54
+ 'TransferJobReplicationSpecTransferOptions',
50
55
  'TransferJobSchedule',
51
56
  'TransferJobScheduleScheduleEndDate',
52
57
  'TransferJobScheduleScheduleStartDate',
@@ -1722,6 +1727,364 @@ class TransferJobNotificationConfig(dict):
1722
1727
  return pulumi.get(self, "event_types")
1723
1728
 
1724
1729
 
1730
+ @pulumi.output_type
1731
+ class TransferJobReplicationSpec(dict):
1732
+ @staticmethod
1733
+ def __key_warning(key: str):
1734
+ suggest = None
1735
+ if key == "gcsDataSink":
1736
+ suggest = "gcs_data_sink"
1737
+ elif key == "gcsDataSource":
1738
+ suggest = "gcs_data_source"
1739
+ elif key == "objectConditions":
1740
+ suggest = "object_conditions"
1741
+ elif key == "transferOptions":
1742
+ suggest = "transfer_options"
1743
+
1744
+ if suggest:
1745
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobReplicationSpec. Access the value via the '{suggest}' property getter instead.")
1746
+
1747
+ def __getitem__(self, key: str) -> Any:
1748
+ TransferJobReplicationSpec.__key_warning(key)
1749
+ return super().__getitem__(key)
1750
+
1751
+ def get(self, key: str, default = None) -> Any:
1752
+ TransferJobReplicationSpec.__key_warning(key)
1753
+ return super().get(key, default)
1754
+
1755
+ def __init__(__self__, *,
1756
+ gcs_data_sink: Optional['outputs.TransferJobReplicationSpecGcsDataSink'] = None,
1757
+ gcs_data_source: Optional['outputs.TransferJobReplicationSpecGcsDataSource'] = None,
1758
+ object_conditions: Optional['outputs.TransferJobReplicationSpecObjectConditions'] = None,
1759
+ transfer_options: Optional['outputs.TransferJobReplicationSpecTransferOptions'] = None):
1760
+ """
1761
+ :param 'TransferJobReplicationSpecGcsDataSinkArgs' gcs_data_sink: A Google Cloud Storage data sink. Structure documented below.
1762
+ :param 'TransferJobReplicationSpecGcsDataSourceArgs' gcs_data_source: A Google Cloud Storage data source. Structure documented below.
1763
+ :param 'TransferJobReplicationSpecObjectConditionsArgs' object_conditions: Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `last_modification_time` do not exclude objects in a data sink. Structure documented below.
1764
+ :param 'TransferJobReplicationSpecTransferOptionsArgs' transfer_options: Characteristics of how to treat files from datasource and sink during job. If the option `delete_objects_unique_in_sink` is true, object conditions based on objects' `last_modification_time` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
1765
+ """
1766
+ if gcs_data_sink is not None:
1767
+ pulumi.set(__self__, "gcs_data_sink", gcs_data_sink)
1768
+ if gcs_data_source is not None:
1769
+ pulumi.set(__self__, "gcs_data_source", gcs_data_source)
1770
+ if object_conditions is not None:
1771
+ pulumi.set(__self__, "object_conditions", object_conditions)
1772
+ if transfer_options is not None:
1773
+ pulumi.set(__self__, "transfer_options", transfer_options)
1774
+
1775
+ @property
1776
+ @pulumi.getter(name="gcsDataSink")
1777
+ def gcs_data_sink(self) -> Optional['outputs.TransferJobReplicationSpecGcsDataSink']:
1778
+ """
1779
+ A Google Cloud Storage data sink. Structure documented below.
1780
+ """
1781
+ return pulumi.get(self, "gcs_data_sink")
1782
+
1783
+ @property
1784
+ @pulumi.getter(name="gcsDataSource")
1785
+ def gcs_data_source(self) -> Optional['outputs.TransferJobReplicationSpecGcsDataSource']:
1786
+ """
1787
+ A Google Cloud Storage data source. Structure documented below.
1788
+ """
1789
+ return pulumi.get(self, "gcs_data_source")
1790
+
1791
+ @property
1792
+ @pulumi.getter(name="objectConditions")
1793
+ def object_conditions(self) -> Optional['outputs.TransferJobReplicationSpecObjectConditions']:
1794
+ """
1795
+ Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `last_modification_time` do not exclude objects in a data sink. Structure documented below.
1796
+ """
1797
+ return pulumi.get(self, "object_conditions")
1798
+
1799
+ @property
1800
+ @pulumi.getter(name="transferOptions")
1801
+ def transfer_options(self) -> Optional['outputs.TransferJobReplicationSpecTransferOptions']:
1802
+ """
1803
+ Characteristics of how to treat files from datasource and sink during job. If the option `delete_objects_unique_in_sink` is true, object conditions based on objects' `last_modification_time` are ignored and do not exclude objects in a data source or a data sink. Structure documented below.
1804
+ """
1805
+ return pulumi.get(self, "transfer_options")
1806
+
1807
+
1808
+ @pulumi.output_type
1809
+ class TransferJobReplicationSpecGcsDataSink(dict):
1810
+ @staticmethod
1811
+ def __key_warning(key: str):
1812
+ suggest = None
1813
+ if key == "bucketName":
1814
+ suggest = "bucket_name"
1815
+
1816
+ if suggest:
1817
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobReplicationSpecGcsDataSink. Access the value via the '{suggest}' property getter instead.")
1818
+
1819
+ def __getitem__(self, key: str) -> Any:
1820
+ TransferJobReplicationSpecGcsDataSink.__key_warning(key)
1821
+ return super().__getitem__(key)
1822
+
1823
+ def get(self, key: str, default = None) -> Any:
1824
+ TransferJobReplicationSpecGcsDataSink.__key_warning(key)
1825
+ return super().get(key, default)
1826
+
1827
+ def __init__(__self__, *,
1828
+ bucket_name: str,
1829
+ path: Optional[str] = None):
1830
+ """
1831
+ :param str bucket_name: Google Cloud Storage bucket name.
1832
+ :param str path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
1833
+ """
1834
+ pulumi.set(__self__, "bucket_name", bucket_name)
1835
+ if path is not None:
1836
+ pulumi.set(__self__, "path", path)
1837
+
1838
+ @property
1839
+ @pulumi.getter(name="bucketName")
1840
+ def bucket_name(self) -> str:
1841
+ """
1842
+ Google Cloud Storage bucket name.
1843
+ """
1844
+ return pulumi.get(self, "bucket_name")
1845
+
1846
+ @property
1847
+ @pulumi.getter
1848
+ def path(self) -> Optional[str]:
1849
+ """
1850
+ Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
1851
+ """
1852
+ return pulumi.get(self, "path")
1853
+
1854
+
1855
+ @pulumi.output_type
1856
+ class TransferJobReplicationSpecGcsDataSource(dict):
1857
+ @staticmethod
1858
+ def __key_warning(key: str):
1859
+ suggest = None
1860
+ if key == "bucketName":
1861
+ suggest = "bucket_name"
1862
+
1863
+ if suggest:
1864
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobReplicationSpecGcsDataSource. Access the value via the '{suggest}' property getter instead.")
1865
+
1866
+ def __getitem__(self, key: str) -> Any:
1867
+ TransferJobReplicationSpecGcsDataSource.__key_warning(key)
1868
+ return super().__getitem__(key)
1869
+
1870
+ def get(self, key: str, default = None) -> Any:
1871
+ TransferJobReplicationSpecGcsDataSource.__key_warning(key)
1872
+ return super().get(key, default)
1873
+
1874
+ def __init__(__self__, *,
1875
+ bucket_name: str,
1876
+ path: Optional[str] = None):
1877
+ """
1878
+ :param str bucket_name: Google Cloud Storage bucket name.
1879
+ :param str path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
1880
+ """
1881
+ pulumi.set(__self__, "bucket_name", bucket_name)
1882
+ if path is not None:
1883
+ pulumi.set(__self__, "path", path)
1884
+
1885
+ @property
1886
+ @pulumi.getter(name="bucketName")
1887
+ def bucket_name(self) -> str:
1888
+ """
1889
+ Google Cloud Storage bucket name.
1890
+ """
1891
+ return pulumi.get(self, "bucket_name")
1892
+
1893
+ @property
1894
+ @pulumi.getter
1895
+ def path(self) -> Optional[str]:
1896
+ """
1897
+ Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
1898
+ """
1899
+ return pulumi.get(self, "path")
1900
+
1901
+
1902
+ @pulumi.output_type
1903
+ class TransferJobReplicationSpecObjectConditions(dict):
1904
+ @staticmethod
1905
+ def __key_warning(key: str):
1906
+ suggest = None
1907
+ if key == "excludePrefixes":
1908
+ suggest = "exclude_prefixes"
1909
+ elif key == "includePrefixes":
1910
+ suggest = "include_prefixes"
1911
+ elif key == "lastModifiedBefore":
1912
+ suggest = "last_modified_before"
1913
+ elif key == "lastModifiedSince":
1914
+ suggest = "last_modified_since"
1915
+ elif key == "maxTimeElapsedSinceLastModification":
1916
+ suggest = "max_time_elapsed_since_last_modification"
1917
+ elif key == "minTimeElapsedSinceLastModification":
1918
+ suggest = "min_time_elapsed_since_last_modification"
1919
+
1920
+ if suggest:
1921
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobReplicationSpecObjectConditions. Access the value via the '{suggest}' property getter instead.")
1922
+
1923
+ def __getitem__(self, key: str) -> Any:
1924
+ TransferJobReplicationSpecObjectConditions.__key_warning(key)
1925
+ return super().__getitem__(key)
1926
+
1927
+ def get(self, key: str, default = None) -> Any:
1928
+ TransferJobReplicationSpecObjectConditions.__key_warning(key)
1929
+ return super().get(key, default)
1930
+
1931
+ def __init__(__self__, *,
1932
+ exclude_prefixes: Optional[Sequence[str]] = None,
1933
+ include_prefixes: Optional[Sequence[str]] = None,
1934
+ last_modified_before: Optional[str] = None,
1935
+ last_modified_since: Optional[str] = None,
1936
+ max_time_elapsed_since_last_modification: Optional[str] = None,
1937
+ min_time_elapsed_since_last_modification: Optional[str] = None):
1938
+ """
1939
+ :param Sequence[str] exclude_prefixes: `exclude_prefixes` must follow the requirements described for `include_prefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
1940
+ :param Sequence[str] include_prefixes: If `include_prefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `include_prefixes` and that do not start with any of the `exclude_prefixes`. If `include_prefixes` is not specified, all objects except those that have names starting with one of the `exclude_prefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
1941
+ :param str last_modified_before: If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
1942
+ :param str last_modified_since: If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
1943
+ :param str max_time_elapsed_since_last_modification: A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
1944
+ :param str min_time_elapsed_since_last_modification: A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
1945
+ """
1946
+ if exclude_prefixes is not None:
1947
+ pulumi.set(__self__, "exclude_prefixes", exclude_prefixes)
1948
+ if include_prefixes is not None:
1949
+ pulumi.set(__self__, "include_prefixes", include_prefixes)
1950
+ if last_modified_before is not None:
1951
+ pulumi.set(__self__, "last_modified_before", last_modified_before)
1952
+ if last_modified_since is not None:
1953
+ pulumi.set(__self__, "last_modified_since", last_modified_since)
1954
+ if max_time_elapsed_since_last_modification is not None:
1955
+ pulumi.set(__self__, "max_time_elapsed_since_last_modification", max_time_elapsed_since_last_modification)
1956
+ if min_time_elapsed_since_last_modification is not None:
1957
+ pulumi.set(__self__, "min_time_elapsed_since_last_modification", min_time_elapsed_since_last_modification)
1958
+
1959
+ @property
1960
+ @pulumi.getter(name="excludePrefixes")
1961
+ def exclude_prefixes(self) -> Optional[Sequence[str]]:
1962
+ """
1963
+ `exclude_prefixes` must follow the requirements described for `include_prefixes`. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
1964
+ """
1965
+ return pulumi.get(self, "exclude_prefixes")
1966
+
1967
+ @property
1968
+ @pulumi.getter(name="includePrefixes")
1969
+ def include_prefixes(self) -> Optional[Sequence[str]]:
1970
+ """
1971
+ If `include_prefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `include_prefixes` and that do not start with any of the `exclude_prefixes`. If `include_prefixes` is not specified, all objects except those that have names starting with one of the `exclude_prefixes` must satisfy the object conditions. See [Requirements](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#ObjectConditions).
1972
+ """
1973
+ return pulumi.get(self, "include_prefixes")
1974
+
1975
+ @property
1976
+ @pulumi.getter(name="lastModifiedBefore")
1977
+ def last_modified_before(self) -> Optional[str]:
1978
+ """
1979
+ If specified, only objects with a "last modification time" before this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
1980
+ """
1981
+ return pulumi.get(self, "last_modified_before")
1982
+
1983
+ @property
1984
+ @pulumi.getter(name="lastModifiedSince")
1985
+ def last_modified_since(self) -> Optional[str]:
1986
+ """
1987
+ If specified, only objects with a "last modification time" on or after this timestamp and objects that don't have a "last modification time" are transferred. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
1988
+ """
1989
+ return pulumi.get(self, "last_modified_since")
1990
+
1991
+ @property
1992
+ @pulumi.getter(name="maxTimeElapsedSinceLastModification")
1993
+ def max_time_elapsed_since_last_modification(self) -> Optional[str]:
1994
+ """
1995
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
1996
+ """
1997
+ return pulumi.get(self, "max_time_elapsed_since_last_modification")
1998
+
1999
+ @property
2000
+ @pulumi.getter(name="minTimeElapsedSinceLastModification")
2001
+ def min_time_elapsed_since_last_modification(self) -> Optional[str]:
2002
+ """
2003
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2004
+ """
2005
+ return pulumi.get(self, "min_time_elapsed_since_last_modification")
2006
+
2007
+
2008
+ @pulumi.output_type
2009
+ class TransferJobReplicationSpecTransferOptions(dict):
2010
+ @staticmethod
2011
+ def __key_warning(key: str):
2012
+ suggest = None
2013
+ if key == "deleteObjectsFromSourceAfterTransfer":
2014
+ suggest = "delete_objects_from_source_after_transfer"
2015
+ elif key == "deleteObjectsUniqueInSink":
2016
+ suggest = "delete_objects_unique_in_sink"
2017
+ elif key == "overwriteObjectsAlreadyExistingInSink":
2018
+ suggest = "overwrite_objects_already_existing_in_sink"
2019
+ elif key == "overwriteWhen":
2020
+ suggest = "overwrite_when"
2021
+
2022
+ if suggest:
2023
+ pulumi.log.warn(f"Key '{key}' not found in TransferJobReplicationSpecTransferOptions. Access the value via the '{suggest}' property getter instead.")
2024
+
2025
+ def __getitem__(self, key: str) -> Any:
2026
+ TransferJobReplicationSpecTransferOptions.__key_warning(key)
2027
+ return super().__getitem__(key)
2028
+
2029
+ def get(self, key: str, default = None) -> Any:
2030
+ TransferJobReplicationSpecTransferOptions.__key_warning(key)
2031
+ return super().get(key, default)
2032
+
2033
+ def __init__(__self__, *,
2034
+ delete_objects_from_source_after_transfer: Optional[bool] = None,
2035
+ delete_objects_unique_in_sink: Optional[bool] = None,
2036
+ overwrite_objects_already_existing_in_sink: Optional[bool] = None,
2037
+ overwrite_when: Optional[str] = None):
2038
+ """
2039
+ :param bool delete_objects_from_source_after_transfer: Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `delete_objects_unique_in_sink` are mutually exclusive.
2040
+ :param bool delete_objects_unique_in_sink: Whether objects that exist only in the sink should be deleted. Note that this option and
2041
+ `delete_objects_from_source_after_transfer` are mutually exclusive.
2042
+ :param bool overwrite_objects_already_existing_in_sink: Whether overwriting objects that already exist in the sink is allowed.
2043
+ :param str overwrite_when: When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwrite_objects_already_existing_in_sink`. Possible values: ALWAYS, DIFFERENT, NEVER.
2044
+ """
2045
+ if delete_objects_from_source_after_transfer is not None:
2046
+ pulumi.set(__self__, "delete_objects_from_source_after_transfer", delete_objects_from_source_after_transfer)
2047
+ if delete_objects_unique_in_sink is not None:
2048
+ pulumi.set(__self__, "delete_objects_unique_in_sink", delete_objects_unique_in_sink)
2049
+ if overwrite_objects_already_existing_in_sink is not None:
2050
+ pulumi.set(__self__, "overwrite_objects_already_existing_in_sink", overwrite_objects_already_existing_in_sink)
2051
+ if overwrite_when is not None:
2052
+ pulumi.set(__self__, "overwrite_when", overwrite_when)
2053
+
2054
+ @property
2055
+ @pulumi.getter(name="deleteObjectsFromSourceAfterTransfer")
2056
+ def delete_objects_from_source_after_transfer(self) -> Optional[bool]:
2057
+ """
2058
+ Whether objects should be deleted from the source after they are transferred to the sink. Note that this option and `delete_objects_unique_in_sink` are mutually exclusive.
2059
+ """
2060
+ return pulumi.get(self, "delete_objects_from_source_after_transfer")
2061
+
2062
+ @property
2063
+ @pulumi.getter(name="deleteObjectsUniqueInSink")
2064
+ def delete_objects_unique_in_sink(self) -> Optional[bool]:
2065
+ """
2066
+ Whether objects that exist only in the sink should be deleted. Note that this option and
2067
+ `delete_objects_from_source_after_transfer` are mutually exclusive.
2068
+ """
2069
+ return pulumi.get(self, "delete_objects_unique_in_sink")
2070
+
2071
+ @property
2072
+ @pulumi.getter(name="overwriteObjectsAlreadyExistingInSink")
2073
+ def overwrite_objects_already_existing_in_sink(self) -> Optional[bool]:
2074
+ """
2075
+ Whether overwriting objects that already exist in the sink is allowed.
2076
+ """
2077
+ return pulumi.get(self, "overwrite_objects_already_existing_in_sink")
2078
+
2079
+ @property
2080
+ @pulumi.getter(name="overwriteWhen")
2081
+ def overwrite_when(self) -> Optional[str]:
2082
+ """
2083
+ When to overwrite objects that already exist in the sink. If not set, overwrite behavior is determined by `overwrite_objects_already_existing_in_sink`. Possible values: ALWAYS, DIFFERENT, NEVER.
2084
+ """
2085
+ return pulumi.get(self, "overwrite_when")
2086
+
2087
+
1725
2088
  @pulumi.output_type
1726
2089
  class TransferJobSchedule(dict):
1727
2090
  @staticmethod