pulumi-gcp 8.2.0a1726671837__py3-none-any.whl → 8.3.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 (100) hide show
  1. pulumi_gcp/__init__.py +158 -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/bigquery/__init__.py +1 -0
  6. pulumi_gcp/bigquery/get_tables.py +143 -0
  7. pulumi_gcp/bigquery/outputs.py +30 -0
  8. pulumi_gcp/compute/__init__.py +2 -0
  9. pulumi_gcp/compute/_inputs.py +12481 -9158
  10. pulumi_gcp/compute/attached_disk.py +103 -0
  11. pulumi_gcp/compute/backend_service.py +29 -22
  12. pulumi_gcp/compute/firewall_policy_with_rules.py +769 -0
  13. pulumi_gcp/compute/get_instance.py +3 -0
  14. pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
  15. pulumi_gcp/compute/outputs.py +3695 -1293
  16. pulumi_gcp/compute/region_backend_service.py +29 -22
  17. pulumi_gcp/compute/region_target_http_proxy.py +159 -0
  18. pulumi_gcp/compute/region_target_https_proxy.py +175 -0
  19. pulumi_gcp/compute/router_nat.py +27 -66
  20. pulumi_gcp/compute/service_attachment.py +75 -0
  21. pulumi_gcp/compute/target_http_proxy.py +49 -28
  22. pulumi_gcp/compute/target_https_proxy.py +49 -28
  23. pulumi_gcp/config/__init__.pyi +6 -0
  24. pulumi_gcp/config/vars.py +12 -0
  25. pulumi_gcp/container/_inputs.py +168 -99
  26. pulumi_gcp/container/attached_cluster.py +54 -1
  27. pulumi_gcp/container/outputs.py +155 -70
  28. pulumi_gcp/databasemigrationservice/__init__.py +1 -0
  29. pulumi_gcp/databasemigrationservice/_inputs.py +362 -0
  30. pulumi_gcp/databasemigrationservice/migration_job.py +1739 -0
  31. pulumi_gcp/databasemigrationservice/outputs.py +268 -0
  32. pulumi_gcp/dataproc/get_metastore_service.py +11 -1
  33. pulumi_gcp/dataproc/metastore_federation.py +8 -8
  34. pulumi_gcp/dataproc/metastore_service.py +95 -0
  35. pulumi_gcp/datastream/stream.py +21 -14
  36. pulumi_gcp/developerconnect/__init__.py +11 -0
  37. pulumi_gcp/developerconnect/_inputs.py +304 -0
  38. pulumi_gcp/developerconnect/connection.py +1037 -0
  39. pulumi_gcp/developerconnect/git_repository_link.py +873 -0
  40. pulumi_gcp/developerconnect/outputs.py +249 -0
  41. pulumi_gcp/discoveryengine/__init__.py +1 -0
  42. pulumi_gcp/discoveryengine/_inputs.py +131 -0
  43. pulumi_gcp/discoveryengine/outputs.py +131 -0
  44. pulumi_gcp/discoveryengine/target_site.py +870 -0
  45. pulumi_gcp/dns/managed_zone.py +1 -1
  46. pulumi_gcp/filestore/get_instance.py +21 -1
  47. pulumi_gcp/filestore/instance.py +94 -0
  48. pulumi_gcp/gkehub/feature_membership.py +140 -62
  49. pulumi_gcp/gkeonprem/_inputs.py +3 -3
  50. pulumi_gcp/gkeonprem/outputs.py +2 -2
  51. pulumi_gcp/healthcare/__init__.py +1 -0
  52. pulumi_gcp/healthcare/_inputs.py +39 -0
  53. pulumi_gcp/healthcare/outputs.py +40 -0
  54. pulumi_gcp/healthcare/workspace.py +465 -0
  55. pulumi_gcp/looker/instance.py +81 -0
  56. pulumi_gcp/memorystore/__init__.py +10 -0
  57. pulumi_gcp/memorystore/_inputs.py +731 -0
  58. pulumi_gcp/memorystore/instance.py +1663 -0
  59. pulumi_gcp/memorystore/outputs.py +598 -0
  60. pulumi_gcp/netapp/_inputs.py +63 -0
  61. pulumi_gcp/netapp/outputs.py +57 -0
  62. pulumi_gcp/netapp/storage_pool.py +54 -0
  63. pulumi_gcp/netapp/volume.py +183 -0
  64. pulumi_gcp/organizations/folder.py +52 -33
  65. pulumi_gcp/provider.py +60 -0
  66. pulumi_gcp/pubsub/subscription.py +43 -7
  67. pulumi_gcp/pulumi-plugin.json +1 -1
  68. pulumi_gcp/secretmanager/__init__.py +8 -0
  69. pulumi_gcp/secretmanager/_inputs.py +308 -0
  70. pulumi_gcp/secretmanager/get_regional_secret.py +279 -0
  71. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +173 -0
  72. pulumi_gcp/secretmanager/get_regional_secret_version.py +241 -0
  73. pulumi_gcp/secretmanager/outputs.py +336 -0
  74. pulumi_gcp/secretmanager/regional_secret.py +1433 -0
  75. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +1082 -0
  76. pulumi_gcp/secretmanager/regional_secret_iam_member.py +1082 -0
  77. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +901 -0
  78. pulumi_gcp/secretmanager/regional_secret_version.py +753 -0
  79. pulumi_gcp/securitycenter/__init__.py +4 -0
  80. pulumi_gcp/securitycenter/folder_scc_big_query_export.py +795 -0
  81. pulumi_gcp/securitycenter/organization_scc_big_query_export.py +738 -0
  82. pulumi_gcp/securitycenter/project_scc_big_query_export.py +749 -0
  83. pulumi_gcp/securitycenter/v2_organization_scc_big_query_export.py +862 -0
  84. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +6 -2
  85. pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
  86. pulumi_gcp/siteverification/__init__.py +3 -0
  87. pulumi_gcp/siteverification/_inputs.py +85 -0
  88. pulumi_gcp/siteverification/outputs.py +57 -0
  89. pulumi_gcp/siteverification/web_resource.py +398 -0
  90. pulumi_gcp/spanner/__init__.py +1 -0
  91. pulumi_gcp/spanner/_inputs.py +129 -0
  92. pulumi_gcp/spanner/backup_schedule.py +748 -0
  93. pulumi_gcp/spanner/get_instance.py +11 -1
  94. pulumi_gcp/spanner/instance.py +56 -0
  95. pulumi_gcp/spanner/outputs.py +93 -0
  96. pulumi_gcp/vpcaccess/connector.py +21 -28
  97. {pulumi_gcp-8.2.0a1726671837.dist-info → pulumi_gcp-8.3.0.dist-info}/METADATA +1 -1
  98. {pulumi_gcp-8.2.0a1726671837.dist-info → pulumi_gcp-8.3.0.dist-info}/RECORD +100 -69
  99. {pulumi_gcp-8.2.0a1726671837.dist-info → pulumi_gcp-8.3.0.dist-info}/WHEEL +0 -0
  100. {pulumi_gcp-8.2.0a1726671837.dist-info → pulumi_gcp-8.3.0.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'),
@@ -373,7 +373,7 @@ class MetastoreFederation(pulumi.CustomResource):
373
373
  import pulumi_gcp as gcp
374
374
 
375
375
  default_metastore_service = gcp.dataproc.MetastoreService("default",
376
- service_id="",
376
+ service_id="metastore-service",
377
377
  location="us-central1",
378
378
  tier="DEVELOPER",
379
379
  hive_metastore_config={
@@ -382,7 +382,7 @@ class MetastoreFederation(pulumi.CustomResource):
382
382
  })
383
383
  default = gcp.dataproc.MetastoreFederation("default",
384
384
  location="us-central1",
385
- federation_id="",
385
+ federation_id="metastore-fed",
386
386
  version="3.1.2",
387
387
  backend_metastores=[{
388
388
  "rank": "1",
@@ -397,7 +397,7 @@ class MetastoreFederation(pulumi.CustomResource):
397
397
  import pulumi_gcp as gcp
398
398
 
399
399
  default_metastore_service = gcp.dataproc.MetastoreService("default",
400
- service_id="",
400
+ service_id="metastore-service",
401
401
  location="us-central1",
402
402
  tier="DEVELOPER",
403
403
  hive_metastore_config={
@@ -407,7 +407,7 @@ class MetastoreFederation(pulumi.CustomResource):
407
407
  project = gcp.organizations.get_project()
408
408
  default = gcp.dataproc.MetastoreFederation("default",
409
409
  location="us-central1",
410
- federation_id="",
410
+ federation_id="metastore-fed",
411
411
  version="3.1.2",
412
412
  backend_metastores=[
413
413
  {
@@ -478,7 +478,7 @@ class MetastoreFederation(pulumi.CustomResource):
478
478
  import pulumi_gcp as gcp
479
479
 
480
480
  default_metastore_service = gcp.dataproc.MetastoreService("default",
481
- service_id="",
481
+ service_id="metastore-service",
482
482
  location="us-central1",
483
483
  tier="DEVELOPER",
484
484
  hive_metastore_config={
@@ -487,7 +487,7 @@ class MetastoreFederation(pulumi.CustomResource):
487
487
  })
488
488
  default = gcp.dataproc.MetastoreFederation("default",
489
489
  location="us-central1",
490
- federation_id="",
490
+ federation_id="metastore-fed",
491
491
  version="3.1.2",
492
492
  backend_metastores=[{
493
493
  "rank": "1",
@@ -502,7 +502,7 @@ class MetastoreFederation(pulumi.CustomResource):
502
502
  import pulumi_gcp as gcp
503
503
 
504
504
  default_metastore_service = gcp.dataproc.MetastoreService("default",
505
- service_id="",
505
+ service_id="metastore-service",
506
506
  location="us-central1",
507
507
  tier="DEVELOPER",
508
508
  hive_metastore_config={
@@ -512,7 +512,7 @@ class MetastoreFederation(pulumi.CustomResource):
512
512
  project = gcp.organizations.get_project()
513
513
  default = gcp.dataproc.MetastoreFederation("default",
514
514
  location="us-central1",
515
- federation_id="",
515
+ federation_id="metastore-fed",
516
516
  version="3.1.2",
517
517
  backend_metastores=[
518
518
  {
@@ -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
@@ -908,6 +964,7 @@ class MetastoreService(pulumi.CustomResource):
908
964
  default = gcp.dataproc.MetastoreService("default",
909
965
  service_id="metastore-srv",
910
966
  location="us-central1",
967
+ tier="DEVELOPER",
911
968
  hive_metastore_config={
912
969
  "version": "3.1.2",
913
970
  },
@@ -1126,6 +1183,7 @@ class MetastoreService(pulumi.CustomResource):
1126
1183
  :param pulumi.Input[str] database_type: The database type that the Metastore service stores its data.
1127
1184
  Default value is `MYSQL`.
1128
1185
  Possible values are: `MYSQL`, `SPANNER`.
1186
+ :param pulumi.Input[bool] deletion_protection: Indicates if the dataproc metastore should be protected against accidental deletions.
1129
1187
  :param pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']] encryption_config: Information used to configure the Dataproc Metastore service to encrypt
1130
1188
  customer data at rest.
1131
1189
  Structure is documented below.
@@ -1206,6 +1264,29 @@ class MetastoreService(pulumi.CustomResource):
1206
1264
  "env": "test",
1207
1265
  })
1208
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
+ ```
1209
1290
  ### Dataproc Metastore Service Cmek Example
1210
1291
 
1211
1292
  ```python
@@ -1247,6 +1328,7 @@ class MetastoreService(pulumi.CustomResource):
1247
1328
  default = gcp.dataproc.MetastoreService("default",
1248
1329
  service_id="metastore-srv",
1249
1330
  location="us-central1",
1331
+ tier="DEVELOPER",
1250
1332
  hive_metastore_config={
1251
1333
  "version": "3.1.2",
1252
1334
  },
@@ -1476,6 +1558,7 @@ class MetastoreService(pulumi.CustomResource):
1476
1558
  resource_name: str,
1477
1559
  opts: Optional[pulumi.ResourceOptions] = None,
1478
1560
  database_type: Optional[pulumi.Input[str]] = None,
1561
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
1479
1562
  encryption_config: Optional[pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']]] = None,
1480
1563
  hive_metastore_config: Optional[pulumi.Input[Union['MetastoreServiceHiveMetastoreConfigArgs', 'MetastoreServiceHiveMetastoreConfigArgsDict']]] = None,
1481
1564
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -1502,6 +1585,7 @@ class MetastoreService(pulumi.CustomResource):
1502
1585
  __props__ = MetastoreServiceArgs.__new__(MetastoreServiceArgs)
1503
1586
 
1504
1587
  __props__.__dict__["database_type"] = database_type
1588
+ __props__.__dict__["deletion_protection"] = deletion_protection
1505
1589
  __props__.__dict__["encryption_config"] = encryption_config
1506
1590
  __props__.__dict__["hive_metastore_config"] = hive_metastore_config
1507
1591
  __props__.__dict__["labels"] = labels
@@ -1542,6 +1626,7 @@ class MetastoreService(pulumi.CustomResource):
1542
1626
  opts: Optional[pulumi.ResourceOptions] = None,
1543
1627
  artifact_gcs_uri: Optional[pulumi.Input[str]] = None,
1544
1628
  database_type: Optional[pulumi.Input[str]] = None,
1629
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
1545
1630
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1546
1631
  encryption_config: Optional[pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']]] = None,
1547
1632
  endpoint_uri: Optional[pulumi.Input[str]] = None,
@@ -1576,6 +1661,7 @@ class MetastoreService(pulumi.CustomResource):
1576
1661
  :param pulumi.Input[str] database_type: The database type that the Metastore service stores its data.
1577
1662
  Default value is `MYSQL`.
1578
1663
  Possible values are: `MYSQL`, `SPANNER`.
1664
+ :param pulumi.Input[bool] deletion_protection: Indicates if the dataproc metastore should be protected against accidental deletions.
1579
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.
1580
1666
  :param pulumi.Input[Union['MetastoreServiceEncryptionConfigArgs', 'MetastoreServiceEncryptionConfigArgsDict']] encryption_config: Information used to configure the Dataproc Metastore service to encrypt
1581
1667
  customer data at rest.
@@ -1631,6 +1717,7 @@ class MetastoreService(pulumi.CustomResource):
1631
1717
 
1632
1718
  __props__.__dict__["artifact_gcs_uri"] = artifact_gcs_uri
1633
1719
  __props__.__dict__["database_type"] = database_type
1720
+ __props__.__dict__["deletion_protection"] = deletion_protection
1634
1721
  __props__.__dict__["effective_labels"] = effective_labels
1635
1722
  __props__.__dict__["encryption_config"] = encryption_config
1636
1723
  __props__.__dict__["endpoint_uri"] = endpoint_uri
@@ -1674,6 +1761,14 @@ class MetastoreService(pulumi.CustomResource):
1674
1761
  """
1675
1762
  return pulumi.get(self, "database_type")
1676
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
+
1677
1772
  @property
1678
1773
  @pulumi.getter(name="effectiveLabels")
1679
1774
  def effective_labels(self) -> pulumi.Output[Mapping[str, str]]: