pulumi-gcp 8.3.0a1727223968__py3-none-any.whl → 8.3.0a1727226164__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 +120 -0
  2. pulumi_gcp/alloydb/_inputs.py +20 -0
  3. pulumi_gcp/alloydb/instance.py +36 -0
  4. pulumi_gcp/alloydb/outputs.py +14 -0
  5. pulumi_gcp/compute/__init__.py +1 -0
  6. pulumi_gcp/compute/_inputs.py +1400 -0
  7. pulumi_gcp/compute/attached_disk.py +103 -0
  8. pulumi_gcp/compute/backend_service.py +29 -22
  9. pulumi_gcp/compute/firewall_policy_with_rules.py +769 -0
  10. pulumi_gcp/compute/outputs.py +1019 -0
  11. pulumi_gcp/compute/region_backend_service.py +29 -22
  12. pulumi_gcp/compute/router_nat.py +27 -66
  13. pulumi_gcp/config/__init__.pyi +2 -0
  14. pulumi_gcp/config/vars.py +4 -0
  15. pulumi_gcp/container/_inputs.py +72 -99
  16. pulumi_gcp/container/outputs.py +53 -70
  17. pulumi_gcp/databasemigrationservice/__init__.py +1 -0
  18. pulumi_gcp/databasemigrationservice/_inputs.py +362 -0
  19. pulumi_gcp/databasemigrationservice/migration_job.py +1739 -0
  20. pulumi_gcp/databasemigrationservice/outputs.py +268 -0
  21. pulumi_gcp/dataproc/get_metastore_service.py +11 -1
  22. pulumi_gcp/dataproc/metastore_service.py +93 -0
  23. pulumi_gcp/developerconnect/_inputs.py +42 -39
  24. pulumi_gcp/developerconnect/connection.py +86 -83
  25. pulumi_gcp/developerconnect/outputs.py +28 -26
  26. pulumi_gcp/discoveryengine/__init__.py +1 -0
  27. pulumi_gcp/discoveryengine/_inputs.py +131 -0
  28. pulumi_gcp/discoveryengine/outputs.py +131 -0
  29. pulumi_gcp/discoveryengine/target_site.py +870 -0
  30. pulumi_gcp/dns/managed_zone.py +1 -1
  31. pulumi_gcp/filestore/get_instance.py +21 -1
  32. pulumi_gcp/filestore/instance.py +94 -0
  33. pulumi_gcp/gkehub/feature_membership.py +140 -62
  34. pulumi_gcp/healthcare/__init__.py +1 -0
  35. pulumi_gcp/healthcare/_inputs.py +39 -0
  36. pulumi_gcp/healthcare/outputs.py +40 -0
  37. pulumi_gcp/healthcare/workspace.py +465 -0
  38. pulumi_gcp/looker/instance.py +81 -0
  39. pulumi_gcp/netapp/_inputs.py +63 -0
  40. pulumi_gcp/netapp/outputs.py +57 -0
  41. pulumi_gcp/netapp/storage_pool.py +54 -0
  42. pulumi_gcp/netapp/volume.py +82 -0
  43. pulumi_gcp/provider.py +20 -0
  44. pulumi_gcp/pubsub/subscription.py +43 -7
  45. pulumi_gcp/pulumi-plugin.json +1 -1
  46. pulumi_gcp/secretmanager/__init__.py +8 -0
  47. pulumi_gcp/secretmanager/_inputs.py +308 -0
  48. pulumi_gcp/secretmanager/get_regional_secret.py +279 -0
  49. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +173 -0
  50. pulumi_gcp/secretmanager/get_regional_secret_version.py +241 -0
  51. pulumi_gcp/secretmanager/outputs.py +336 -0
  52. pulumi_gcp/secretmanager/regional_secret.py +1433 -0
  53. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +1082 -0
  54. pulumi_gcp/secretmanager/regional_secret_iam_member.py +1082 -0
  55. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +901 -0
  56. pulumi_gcp/secretmanager/regional_secret_version.py +753 -0
  57. pulumi_gcp/securitycenter/__init__.py +4 -0
  58. pulumi_gcp/securitycenter/folder_scc_big_query_export.py +795 -0
  59. pulumi_gcp/securitycenter/organization_scc_big_query_export.py +738 -0
  60. pulumi_gcp/securitycenter/project_scc_big_query_export.py +749 -0
  61. pulumi_gcp/securitycenter/v2_organization_scc_big_query_export.py +862 -0
  62. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +6 -2
  63. pulumi_gcp/siteverification/__init__.py +3 -0
  64. pulumi_gcp/siteverification/_inputs.py +85 -0
  65. pulumi_gcp/siteverification/outputs.py +57 -0
  66. pulumi_gcp/siteverification/web_resource.py +398 -0
  67. pulumi_gcp/spanner/__init__.py +1 -0
  68. pulumi_gcp/spanner/_inputs.py +129 -0
  69. pulumi_gcp/spanner/backup_schedule.py +748 -0
  70. pulumi_gcp/spanner/get_instance.py +11 -1
  71. pulumi_gcp/spanner/instance.py +56 -0
  72. pulumi_gcp/spanner/outputs.py +93 -0
  73. {pulumi_gcp-8.3.0a1727223968.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/METADATA +1 -1
  74. {pulumi_gcp-8.3.0a1727223968.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/RECORD +76 -56
  75. {pulumi_gcp-8.3.0a1727223968.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/WHEEL +0 -0
  76. {pulumi_gcp-8.3.0a1727223968.dist-info → pulumi_gcp-8.3.0a1727226164.dist-info}/top_level.txt +0 -0
@@ -35,6 +35,13 @@ __all__ = [
35
35
  'ConnectionProfileOracleStaticServiceIpConnectivity',
36
36
  'ConnectionProfilePostgresql',
37
37
  'ConnectionProfilePostgresqlSsl',
38
+ 'MigrationJobDumpFlags',
39
+ 'MigrationJobDumpFlagsDumpFlag',
40
+ 'MigrationJobError',
41
+ 'MigrationJobPerformanceConfig',
42
+ 'MigrationJobReverseSshConnectivity',
43
+ 'MigrationJobStaticIpConnectivity',
44
+ 'MigrationJobVpcPeeringConnectivity',
38
45
  'PrivateConnectionError',
39
46
  'PrivateConnectionVpcPeeringConfig',
40
47
  ]
@@ -1730,6 +1737,267 @@ class ConnectionProfilePostgresqlSsl(dict):
1730
1737
  return pulumi.get(self, "type")
1731
1738
 
1732
1739
 
1740
+ @pulumi.output_type
1741
+ class MigrationJobDumpFlags(dict):
1742
+ @staticmethod
1743
+ def __key_warning(key: str):
1744
+ suggest = None
1745
+ if key == "dumpFlags":
1746
+ suggest = "dump_flags"
1747
+
1748
+ if suggest:
1749
+ pulumi.log.warn(f"Key '{key}' not found in MigrationJobDumpFlags. Access the value via the '{suggest}' property getter instead.")
1750
+
1751
+ def __getitem__(self, key: str) -> Any:
1752
+ MigrationJobDumpFlags.__key_warning(key)
1753
+ return super().__getitem__(key)
1754
+
1755
+ def get(self, key: str, default = None) -> Any:
1756
+ MigrationJobDumpFlags.__key_warning(key)
1757
+ return super().get(key, default)
1758
+
1759
+ def __init__(__self__, *,
1760
+ dump_flags: Optional[Sequence['outputs.MigrationJobDumpFlagsDumpFlag']] = None):
1761
+ """
1762
+ :param Sequence['MigrationJobDumpFlagsDumpFlagArgs'] dump_flags: A list of dump flags
1763
+ Structure is documented below.
1764
+ """
1765
+ if dump_flags is not None:
1766
+ pulumi.set(__self__, "dump_flags", dump_flags)
1767
+
1768
+ @property
1769
+ @pulumi.getter(name="dumpFlags")
1770
+ def dump_flags(self) -> Optional[Sequence['outputs.MigrationJobDumpFlagsDumpFlag']]:
1771
+ """
1772
+ A list of dump flags
1773
+ Structure is documented below.
1774
+ """
1775
+ return pulumi.get(self, "dump_flags")
1776
+
1777
+
1778
+ @pulumi.output_type
1779
+ class MigrationJobDumpFlagsDumpFlag(dict):
1780
+ def __init__(__self__, *,
1781
+ name: Optional[str] = None,
1782
+ value: Optional[str] = None):
1783
+ """
1784
+ :param str name: The name of the flag
1785
+ :param str value: The vale of the flag
1786
+ """
1787
+ if name is not None:
1788
+ pulumi.set(__self__, "name", name)
1789
+ if value is not None:
1790
+ pulumi.set(__self__, "value", value)
1791
+
1792
+ @property
1793
+ @pulumi.getter
1794
+ def name(self) -> Optional[str]:
1795
+ """
1796
+ The name of the flag
1797
+ """
1798
+ return pulumi.get(self, "name")
1799
+
1800
+ @property
1801
+ @pulumi.getter
1802
+ def value(self) -> Optional[str]:
1803
+ """
1804
+ The vale of the flag
1805
+ """
1806
+ return pulumi.get(self, "value")
1807
+
1808
+
1809
+ @pulumi.output_type
1810
+ class MigrationJobError(dict):
1811
+ def __init__(__self__, *,
1812
+ code: Optional[int] = None,
1813
+ details: Optional[Sequence[Mapping[str, str]]] = None,
1814
+ message: Optional[str] = None):
1815
+ """
1816
+ :param int code: (Output)
1817
+ The status code, which should be an enum value of google.rpc.Code.
1818
+ :param Sequence[Mapping[str, str]] details: (Output)
1819
+ A list of messages that carry the error details.
1820
+ :param str message: (Output)
1821
+ Human readable message indicating details about the current status.
1822
+ """
1823
+ if code is not None:
1824
+ pulumi.set(__self__, "code", code)
1825
+ if details is not None:
1826
+ pulumi.set(__self__, "details", details)
1827
+ if message is not None:
1828
+ pulumi.set(__self__, "message", message)
1829
+
1830
+ @property
1831
+ @pulumi.getter
1832
+ def code(self) -> Optional[int]:
1833
+ """
1834
+ (Output)
1835
+ The status code, which should be an enum value of google.rpc.Code.
1836
+ """
1837
+ return pulumi.get(self, "code")
1838
+
1839
+ @property
1840
+ @pulumi.getter
1841
+ def details(self) -> Optional[Sequence[Mapping[str, str]]]:
1842
+ """
1843
+ (Output)
1844
+ A list of messages that carry the error details.
1845
+ """
1846
+ return pulumi.get(self, "details")
1847
+
1848
+ @property
1849
+ @pulumi.getter
1850
+ def message(self) -> Optional[str]:
1851
+ """
1852
+ (Output)
1853
+ Human readable message indicating details about the current status.
1854
+ """
1855
+ return pulumi.get(self, "message")
1856
+
1857
+
1858
+ @pulumi.output_type
1859
+ class MigrationJobPerformanceConfig(dict):
1860
+ @staticmethod
1861
+ def __key_warning(key: str):
1862
+ suggest = None
1863
+ if key == "dumpParallelLevel":
1864
+ suggest = "dump_parallel_level"
1865
+
1866
+ if suggest:
1867
+ pulumi.log.warn(f"Key '{key}' not found in MigrationJobPerformanceConfig. Access the value via the '{suggest}' property getter instead.")
1868
+
1869
+ def __getitem__(self, key: str) -> Any:
1870
+ MigrationJobPerformanceConfig.__key_warning(key)
1871
+ return super().__getitem__(key)
1872
+
1873
+ def get(self, key: str, default = None) -> Any:
1874
+ MigrationJobPerformanceConfig.__key_warning(key)
1875
+ return super().get(key, default)
1876
+
1877
+ def __init__(__self__, *,
1878
+ dump_parallel_level: Optional[str] = None):
1879
+ """
1880
+ :param str dump_parallel_level: Initial dump parallelism level.
1881
+ Possible values are: `MIN`, `OPTIMAL`, `MAX`.
1882
+ """
1883
+ if dump_parallel_level is not None:
1884
+ pulumi.set(__self__, "dump_parallel_level", dump_parallel_level)
1885
+
1886
+ @property
1887
+ @pulumi.getter(name="dumpParallelLevel")
1888
+ def dump_parallel_level(self) -> Optional[str]:
1889
+ """
1890
+ Initial dump parallelism level.
1891
+ Possible values are: `MIN`, `OPTIMAL`, `MAX`.
1892
+ """
1893
+ return pulumi.get(self, "dump_parallel_level")
1894
+
1895
+
1896
+ @pulumi.output_type
1897
+ class MigrationJobReverseSshConnectivity(dict):
1898
+ @staticmethod
1899
+ def __key_warning(key: str):
1900
+ suggest = None
1901
+ if key == "vmIp":
1902
+ suggest = "vm_ip"
1903
+ elif key == "vmPort":
1904
+ suggest = "vm_port"
1905
+
1906
+ if suggest:
1907
+ pulumi.log.warn(f"Key '{key}' not found in MigrationJobReverseSshConnectivity. Access the value via the '{suggest}' property getter instead.")
1908
+
1909
+ def __getitem__(self, key: str) -> Any:
1910
+ MigrationJobReverseSshConnectivity.__key_warning(key)
1911
+ return super().__getitem__(key)
1912
+
1913
+ def get(self, key: str, default = None) -> Any:
1914
+ MigrationJobReverseSshConnectivity.__key_warning(key)
1915
+ return super().get(key, default)
1916
+
1917
+ def __init__(__self__, *,
1918
+ vm: Optional[str] = None,
1919
+ vm_ip: Optional[str] = None,
1920
+ vm_port: Optional[int] = None,
1921
+ vpc: Optional[str] = None):
1922
+ """
1923
+ :param str vm: The name of the virtual machine (Compute Engine) used as the bastion server
1924
+ for the SSH tunnel.
1925
+ :param str vm_ip: The IP of the virtual machine (Compute Engine) used as the bastion server
1926
+ for the SSH tunnel.
1927
+ :param int vm_port: The forwarding port of the virtual machine (Compute Engine) used as the
1928
+ bastion server for the SSH tunnel.
1929
+ :param str vpc: The name of the VPC to peer with the Cloud SQL private network.
1930
+ """
1931
+ if vm is not None:
1932
+ pulumi.set(__self__, "vm", vm)
1933
+ if vm_ip is not None:
1934
+ pulumi.set(__self__, "vm_ip", vm_ip)
1935
+ if vm_port is not None:
1936
+ pulumi.set(__self__, "vm_port", vm_port)
1937
+ if vpc is not None:
1938
+ pulumi.set(__self__, "vpc", vpc)
1939
+
1940
+ @property
1941
+ @pulumi.getter
1942
+ def vm(self) -> Optional[str]:
1943
+ """
1944
+ The name of the virtual machine (Compute Engine) used as the bastion server
1945
+ for the SSH tunnel.
1946
+ """
1947
+ return pulumi.get(self, "vm")
1948
+
1949
+ @property
1950
+ @pulumi.getter(name="vmIp")
1951
+ def vm_ip(self) -> Optional[str]:
1952
+ """
1953
+ The IP of the virtual machine (Compute Engine) used as the bastion server
1954
+ for the SSH tunnel.
1955
+ """
1956
+ return pulumi.get(self, "vm_ip")
1957
+
1958
+ @property
1959
+ @pulumi.getter(name="vmPort")
1960
+ def vm_port(self) -> Optional[int]:
1961
+ """
1962
+ The forwarding port of the virtual machine (Compute Engine) used as the
1963
+ bastion server for the SSH tunnel.
1964
+ """
1965
+ return pulumi.get(self, "vm_port")
1966
+
1967
+ @property
1968
+ @pulumi.getter
1969
+ def vpc(self) -> Optional[str]:
1970
+ """
1971
+ The name of the VPC to peer with the Cloud SQL private network.
1972
+ """
1973
+ return pulumi.get(self, "vpc")
1974
+
1975
+
1976
+ @pulumi.output_type
1977
+ class MigrationJobStaticIpConnectivity(dict):
1978
+ def __init__(__self__):
1979
+ pass
1980
+
1981
+
1982
+ @pulumi.output_type
1983
+ class MigrationJobVpcPeeringConnectivity(dict):
1984
+ def __init__(__self__, *,
1985
+ vpc: Optional[str] = None):
1986
+ """
1987
+ :param str vpc: The name of the VPC network to peer with the Cloud SQL private network.
1988
+ """
1989
+ if vpc is not None:
1990
+ pulumi.set(__self__, "vpc", vpc)
1991
+
1992
+ @property
1993
+ @pulumi.getter
1994
+ def vpc(self) -> Optional[str]:
1995
+ """
1996
+ The name of the VPC network to peer with the Cloud SQL private network.
1997
+ """
1998
+ return pulumi.get(self, "vpc")
1999
+
2000
+
1733
2001
  @pulumi.output_type
1734
2002
  class PrivateConnectionError(dict):
1735
2003
  def __init__(__self__, *,
@@ -27,13 +27,16 @@ class GetMetastoreServiceResult:
27
27
  """
28
28
  A collection of values returned by getMetastoreService.
29
29
  """
30
- def __init__(__self__, artifact_gcs_uri=None, database_type=None, effective_labels=None, encryption_configs=None, endpoint_uri=None, hive_metastore_configs=None, id=None, labels=None, location=None, maintenance_windows=None, metadata_integrations=None, name=None, network=None, network_configs=None, port=None, project=None, pulumi_labels=None, release_channel=None, scaling_configs=None, scheduled_backups=None, service_id=None, state=None, state_message=None, telemetry_configs=None, tier=None, uid=None):
30
+ def __init__(__self__, artifact_gcs_uri=None, database_type=None, deletion_protection=None, effective_labels=None, encryption_configs=None, endpoint_uri=None, hive_metastore_configs=None, id=None, labels=None, location=None, maintenance_windows=None, metadata_integrations=None, name=None, network=None, network_configs=None, port=None, project=None, pulumi_labels=None, release_channel=None, scaling_configs=None, scheduled_backups=None, service_id=None, state=None, state_message=None, telemetry_configs=None, tier=None, uid=None):
31
31
  if artifact_gcs_uri and not isinstance(artifact_gcs_uri, str):
32
32
  raise TypeError("Expected argument 'artifact_gcs_uri' to be a str")
33
33
  pulumi.set(__self__, "artifact_gcs_uri", artifact_gcs_uri)
34
34
  if database_type and not isinstance(database_type, str):
35
35
  raise TypeError("Expected argument 'database_type' to be a str")
36
36
  pulumi.set(__self__, "database_type", database_type)
37
+ if deletion_protection and not isinstance(deletion_protection, bool):
38
+ raise TypeError("Expected argument 'deletion_protection' to be a bool")
39
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
37
40
  if effective_labels and not isinstance(effective_labels, dict):
38
41
  raise TypeError("Expected argument 'effective_labels' to be a dict")
39
42
  pulumi.set(__self__, "effective_labels", effective_labels)
@@ -117,6 +120,11 @@ class GetMetastoreServiceResult:
117
120
  def database_type(self) -> str:
118
121
  return pulumi.get(self, "database_type")
119
122
 
123
+ @property
124
+ @pulumi.getter(name="deletionProtection")
125
+ def deletion_protection(self) -> bool:
126
+ return pulumi.get(self, "deletion_protection")
127
+
120
128
  @property
121
129
  @pulumi.getter(name="effectiveLabels")
122
130
  def effective_labels(self) -> Mapping[str, str]:
@@ -249,6 +257,7 @@ class AwaitableGetMetastoreServiceResult(GetMetastoreServiceResult):
249
257
  return GetMetastoreServiceResult(
250
258
  artifact_gcs_uri=self.artifact_gcs_uri,
251
259
  database_type=self.database_type,
260
+ deletion_protection=self.deletion_protection,
252
261
  effective_labels=self.effective_labels,
253
262
  encryption_configs=self.encryption_configs,
254
263
  endpoint_uri=self.endpoint_uri,
@@ -310,6 +319,7 @@ def get_metastore_service(location: Optional[str] = None,
310
319
  return AwaitableGetMetastoreServiceResult(
311
320
  artifact_gcs_uri=pulumi.get(__ret__, 'artifact_gcs_uri'),
312
321
  database_type=pulumi.get(__ret__, 'database_type'),
322
+ deletion_protection=pulumi.get(__ret__, 'deletion_protection'),
313
323
  effective_labels=pulumi.get(__ret__, 'effective_labels'),
314
324
  encryption_configs=pulumi.get(__ret__, 'encryption_configs'),
315
325
  endpoint_uri=pulumi.get(__ret__, 'endpoint_uri'),
@@ -23,6 +23,7 @@ class MetastoreServiceArgs:
23
23
  def __init__(__self__, *,
24
24
  service_id: pulumi.Input[str],
25
25
  database_type: Optional[pulumi.Input[str]] = None,
26
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
26
27
  encryption_config: Optional[pulumi.Input['MetastoreServiceEncryptionConfigArgs']] = None,
27
28
  hive_metastore_config: Optional[pulumi.Input['MetastoreServiceHiveMetastoreConfigArgs']] = None,
28
29
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -49,6 +50,7 @@ class MetastoreServiceArgs:
49
50
  :param pulumi.Input[str] database_type: The database type that the Metastore service stores its data.
50
51
  Default value is `MYSQL`.
51
52
  Possible values are: `MYSQL`, `SPANNER`.
53
+ :param pulumi.Input[bool] deletion_protection: Indicates if the dataproc metastore should be protected against accidental deletions.
52
54
  :param pulumi.Input['MetastoreServiceEncryptionConfigArgs'] encryption_config: Information used to configure the Dataproc Metastore service to encrypt
53
55
  customer data at rest.
54
56
  Structure is documented below.
@@ -87,6 +89,8 @@ class MetastoreServiceArgs:
87
89
  pulumi.set(__self__, "service_id", service_id)
88
90
  if database_type is not None:
89
91
  pulumi.set(__self__, "database_type", database_type)
92
+ if deletion_protection is not None:
93
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
90
94
  if encryption_config is not None:
91
95
  pulumi.set(__self__, "encryption_config", encryption_config)
92
96
  if hive_metastore_config is not None:
@@ -149,6 +153,18 @@ class MetastoreServiceArgs:
149
153
  def database_type(self, value: Optional[pulumi.Input[str]]):
150
154
  pulumi.set(self, "database_type", value)
151
155
 
156
+ @property
157
+ @pulumi.getter(name="deletionProtection")
158
+ def deletion_protection(self) -> Optional[pulumi.Input[bool]]:
159
+ """
160
+ Indicates if the dataproc metastore should be protected against accidental deletions.
161
+ """
162
+ return pulumi.get(self, "deletion_protection")
163
+
164
+ @deletion_protection.setter
165
+ def deletion_protection(self, value: Optional[pulumi.Input[bool]]):
166
+ pulumi.set(self, "deletion_protection", value)
167
+
152
168
  @property
153
169
  @pulumi.getter(name="encryptionConfig")
154
170
  def encryption_config(self) -> Optional[pulumi.Input['MetastoreServiceEncryptionConfigArgs']]:
@@ -354,6 +370,7 @@ class _MetastoreServiceState:
354
370
  def __init__(__self__, *,
355
371
  artifact_gcs_uri: Optional[pulumi.Input[str]] = None,
356
372
  database_type: Optional[pulumi.Input[str]] = None,
373
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
357
374
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
358
375
  encryption_config: Optional[pulumi.Input['MetastoreServiceEncryptionConfigArgs']] = None,
359
376
  endpoint_uri: Optional[pulumi.Input[str]] = None,
@@ -383,6 +400,7 @@ class _MetastoreServiceState:
383
400
  :param pulumi.Input[str] database_type: The database type that the Metastore service stores its data.
384
401
  Default value is `MYSQL`.
385
402
  Possible values are: `MYSQL`, `SPANNER`.
403
+ :param pulumi.Input[bool] deletion_protection: Indicates if the dataproc metastore should be protected against accidental deletions.
386
404
  :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.
387
405
  :param pulumi.Input['MetastoreServiceEncryptionConfigArgs'] encryption_config: Information used to configure the Dataproc Metastore service to encrypt
388
406
  customer data at rest.
@@ -436,6 +454,8 @@ class _MetastoreServiceState:
436
454
  pulumi.set(__self__, "artifact_gcs_uri", artifact_gcs_uri)
437
455
  if database_type is not None:
438
456
  pulumi.set(__self__, "database_type", database_type)
457
+ if deletion_protection is not None:
458
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
439
459
  if effective_labels is not None:
440
460
  pulumi.set(__self__, "effective_labels", effective_labels)
441
461
  if encryption_config is not None:
@@ -509,6 +529,18 @@ class _MetastoreServiceState:
509
529
  def database_type(self, value: Optional[pulumi.Input[str]]):
510
530
  pulumi.set(self, "database_type", value)
511
531
 
532
+ @property
533
+ @pulumi.getter(name="deletionProtection")
534
+ def deletion_protection(self) -> Optional[pulumi.Input[bool]]:
535
+ """
536
+ Indicates if the dataproc metastore should be protected against accidental deletions.
537
+ """
538
+ return pulumi.get(self, "deletion_protection")
539
+
540
+ @deletion_protection.setter
541
+ def deletion_protection(self, value: Optional[pulumi.Input[bool]]):
542
+ pulumi.set(self, "deletion_protection", value)
543
+
512
544
  @property
513
545
  @pulumi.getter(name="effectiveLabels")
514
546
  def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -817,6 +849,7 @@ class MetastoreService(pulumi.CustomResource):
817
849
  resource_name: str,
818
850
  opts: Optional[pulumi.ResourceOptions] = None,
819
851
  database_type: Optional[pulumi.Input[str]] = None,
852
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
820
853
  encryption_config: Optional[pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']]] = None,
821
854
  hive_metastore_config: Optional[pulumi.Input[Union['MetastoreServiceHiveMetastoreConfigArgs', 'MetastoreServiceHiveMetastoreConfigArgsDict']]] = None,
822
855
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -867,6 +900,29 @@ class MetastoreService(pulumi.CustomResource):
867
900
  "env": "test",
868
901
  })
869
902
  ```
903
+ ### Dataproc Metastore Service Deletion Protection
904
+
905
+ ```python
906
+ import pulumi
907
+ import pulumi_gcp as gcp
908
+
909
+ default = gcp.dataproc.MetastoreService("default",
910
+ service_id="metastore-srv",
911
+ location="us-central1",
912
+ port=9080,
913
+ tier="DEVELOPER",
914
+ deletion_protection=True,
915
+ maintenance_window={
916
+ "hour_of_day": 2,
917
+ "day_of_week": "SUNDAY",
918
+ },
919
+ hive_metastore_config={
920
+ "version": "2.3.6",
921
+ },
922
+ labels={
923
+ "env": "test",
924
+ })
925
+ ```
870
926
  ### Dataproc Metastore Service Cmek Example
871
927
 
872
928
  ```python
@@ -1127,6 +1183,7 @@ class MetastoreService(pulumi.CustomResource):
1127
1183
  :param pulumi.Input[str] database_type: The database type that the Metastore service stores its data.
1128
1184
  Default value is `MYSQL`.
1129
1185
  Possible values are: `MYSQL`, `SPANNER`.
1186
+ :param pulumi.Input[bool] deletion_protection: Indicates if the dataproc metastore should be protected against accidental deletions.
1130
1187
  :param pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']] encryption_config: Information used to configure the Dataproc Metastore service to encrypt
1131
1188
  customer data at rest.
1132
1189
  Structure is documented below.
@@ -1207,6 +1264,29 @@ class MetastoreService(pulumi.CustomResource):
1207
1264
  "env": "test",
1208
1265
  })
1209
1266
  ```
1267
+ ### Dataproc Metastore Service Deletion Protection
1268
+
1269
+ ```python
1270
+ import pulumi
1271
+ import pulumi_gcp as gcp
1272
+
1273
+ default = gcp.dataproc.MetastoreService("default",
1274
+ service_id="metastore-srv",
1275
+ location="us-central1",
1276
+ port=9080,
1277
+ tier="DEVELOPER",
1278
+ deletion_protection=True,
1279
+ maintenance_window={
1280
+ "hour_of_day": 2,
1281
+ "day_of_week": "SUNDAY",
1282
+ },
1283
+ hive_metastore_config={
1284
+ "version": "2.3.6",
1285
+ },
1286
+ labels={
1287
+ "env": "test",
1288
+ })
1289
+ ```
1210
1290
  ### Dataproc Metastore Service Cmek Example
1211
1291
 
1212
1292
  ```python
@@ -1478,6 +1558,7 @@ class MetastoreService(pulumi.CustomResource):
1478
1558
  resource_name: str,
1479
1559
  opts: Optional[pulumi.ResourceOptions] = None,
1480
1560
  database_type: Optional[pulumi.Input[str]] = None,
1561
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
1481
1562
  encryption_config: Optional[pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']]] = None,
1482
1563
  hive_metastore_config: Optional[pulumi.Input[Union['MetastoreServiceHiveMetastoreConfigArgs', 'MetastoreServiceHiveMetastoreConfigArgsDict']]] = None,
1483
1564
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -1504,6 +1585,7 @@ class MetastoreService(pulumi.CustomResource):
1504
1585
  __props__ = MetastoreServiceArgs.__new__(MetastoreServiceArgs)
1505
1586
 
1506
1587
  __props__.__dict__["database_type"] = database_type
1588
+ __props__.__dict__["deletion_protection"] = deletion_protection
1507
1589
  __props__.__dict__["encryption_config"] = encryption_config
1508
1590
  __props__.__dict__["hive_metastore_config"] = hive_metastore_config
1509
1591
  __props__.__dict__["labels"] = labels
@@ -1544,6 +1626,7 @@ class MetastoreService(pulumi.CustomResource):
1544
1626
  opts: Optional[pulumi.ResourceOptions] = None,
1545
1627
  artifact_gcs_uri: Optional[pulumi.Input[str]] = None,
1546
1628
  database_type: Optional[pulumi.Input[str]] = None,
1629
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
1547
1630
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1548
1631
  encryption_config: Optional[pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']]] = None,
1549
1632
  endpoint_uri: Optional[pulumi.Input[str]] = None,
@@ -1578,6 +1661,7 @@ class MetastoreService(pulumi.CustomResource):
1578
1661
  :param pulumi.Input[str] database_type: The database type that the Metastore service stores its data.
1579
1662
  Default value is `MYSQL`.
1580
1663
  Possible values are: `MYSQL`, `SPANNER`.
1664
+ :param pulumi.Input[bool] deletion_protection: Indicates if the dataproc metastore should be protected against accidental deletions.
1581
1665
  :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.
1582
1666
  :param pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']] encryption_config: Information used to configure the Dataproc Metastore service to encrypt
1583
1667
  customer data at rest.
@@ -1633,6 +1717,7 @@ class MetastoreService(pulumi.CustomResource):
1633
1717
 
1634
1718
  __props__.__dict__["artifact_gcs_uri"] = artifact_gcs_uri
1635
1719
  __props__.__dict__["database_type"] = database_type
1720
+ __props__.__dict__["deletion_protection"] = deletion_protection
1636
1721
  __props__.__dict__["effective_labels"] = effective_labels
1637
1722
  __props__.__dict__["encryption_config"] = encryption_config
1638
1723
  __props__.__dict__["endpoint_uri"] = endpoint_uri
@@ -1676,6 +1761,14 @@ class MetastoreService(pulumi.CustomResource):
1676
1761
  """
1677
1762
  return pulumi.get(self, "database_type")
1678
1763
 
1764
+ @property
1765
+ @pulumi.getter(name="deletionProtection")
1766
+ def deletion_protection(self) -> pulumi.Output[Optional[bool]]:
1767
+ """
1768
+ Indicates if the dataproc metastore should be protected against accidental deletions.
1769
+ """
1770
+ return pulumi.get(self, "deletion_protection")
1771
+
1679
1772
  @property
1680
1773
  @pulumi.getter(name="effectiveLabels")
1681
1774
  def effective_labels(self) -> pulumi.Output[Mapping[str, str]]: