pulumi-gcp 8.22.0a1741888019__py3-none-any.whl → 8.23.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 (69) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/_inputs.py +27 -1
  3. pulumi_gcp/alloydb/outputs.py +33 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/bigquery/_inputs.py +20 -0
  6. pulumi_gcp/bigquery/outputs.py +12 -0
  7. pulumi_gcp/bigquery/table.py +61 -0
  8. pulumi_gcp/bigtable/table.py +7 -7
  9. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  10. pulumi_gcp/clouddeploy/outputs.py +15 -1
  11. pulumi_gcp/cloudfunctions/function.py +11 -11
  12. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  13. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  14. pulumi_gcp/cloudidentity/outputs.py +18 -38
  15. pulumi_gcp/compute/firewall_policy.py +20 -0
  16. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  17. pulumi_gcp/compute/subnetwork.py +109 -1
  18. pulumi_gcp/compute/target_https_proxy.py +7 -7
  19. pulumi_gcp/config/__init__.pyi +2 -0
  20. pulumi_gcp/config/vars.py +4 -0
  21. pulumi_gcp/container/_inputs.py +3 -3
  22. pulumi_gcp/container/get_attached_versions.py +2 -2
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/dataform/repository.py +49 -0
  25. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  26. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  27. pulumi_gcp/dataproc/metastore_service.py +58 -2
  28. pulumi_gcp/eventarc/__init__.py +1 -0
  29. pulumi_gcp/eventarc/_inputs.py +1758 -0
  30. pulumi_gcp/eventarc/outputs.py +1337 -0
  31. pulumi_gcp/eventarc/pipeline.py +1596 -0
  32. pulumi_gcp/firebase/__init__.py +1 -0
  33. pulumi_gcp/firebase/_inputs.py +154 -0
  34. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  35. pulumi_gcp/firebase/hosting_version.py +2 -2
  36. pulumi_gcp/firebase/outputs.py +127 -0
  37. pulumi_gcp/kms/get_key_rings.py +39 -2
  38. pulumi_gcp/managedkafka/__init__.py +2 -0
  39. pulumi_gcp/managedkafka/_inputs.py +263 -0
  40. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  41. pulumi_gcp/managedkafka/connector.py +695 -0
  42. pulumi_gcp/managedkafka/outputs.py +248 -0
  43. pulumi_gcp/memorystore/instance.py +7 -7
  44. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  45. pulumi_gcp/networksecurity/_inputs.py +643 -0
  46. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  47. pulumi_gcp/networksecurity/mirroring_deployment.py +22 -0
  48. pulumi_gcp/networksecurity/mirroring_deployment_group.py +20 -0
  49. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +24 -0
  50. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +28 -0
  51. pulumi_gcp/networksecurity/outputs.py +475 -0
  52. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  53. pulumi_gcp/networkservices/gateway.py +242 -120
  54. pulumi_gcp/projects/__init__.py +2 -0
  55. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  56. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  57. pulumi_gcp/projects/outputs.py +96 -0
  58. pulumi_gcp/provider.py +20 -0
  59. pulumi_gcp/pulumi-plugin.json +1 -1
  60. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  61. pulumi_gcp/sql/outputs.py +8 -8
  62. pulumi_gcp/storage/_inputs.py +14 -6
  63. pulumi_gcp/storage/insights_report_config.py +121 -20
  64. pulumi_gcp/storage/outputs.py +7 -4
  65. pulumi_gcp/workflows/workflow.py +75 -7
  66. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
  67. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +69 -63
  68. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
  69. {pulumi_gcp-8.22.0a1741888019.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
@@ -24,6 +24,7 @@ class SubnetworkArgs:
24
24
  network: pulumi.Input[str],
25
25
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
26
26
  description: Optional[pulumi.Input[str]] = None,
27
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
27
28
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
28
29
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
29
30
  ip_collection: Optional[pulumi.Input[str]] = None,
@@ -54,6 +55,10 @@ class SubnetworkArgs:
54
55
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
55
56
  you create the resource. This field can be set only at resource
56
57
  creation time.
58
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
59
+ it will not appear in get listings. If not set the default behavior is determined by the
60
+ org policy, if there is no org policy specified, then it will default to disabled.
61
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
57
62
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
58
63
  :param pulumi.Input[str] ip_cidr_range: The range of internal addresses that are owned by this subnetwork.
59
64
  Provide this property when you create the subnetwork. For example,
@@ -127,6 +132,8 @@ class SubnetworkArgs:
127
132
  pulumi.set(__self__, "allow_subnet_cidr_routes_overlap", allow_subnet_cidr_routes_overlap)
128
133
  if description is not None:
129
134
  pulumi.set(__self__, "description", description)
135
+ if enable_flow_logs is not None:
136
+ pulumi.set(__self__, "enable_flow_logs", enable_flow_logs)
130
137
  if external_ipv6_prefix is not None:
131
138
  pulumi.set(__self__, "external_ipv6_prefix", external_ipv6_prefix)
132
139
  if ip_cidr_range is not None:
@@ -205,6 +212,21 @@ class SubnetworkArgs:
205
212
  def description(self, value: Optional[pulumi.Input[str]]):
206
213
  pulumi.set(self, "description", value)
207
214
 
215
+ @property
216
+ @pulumi.getter(name="enableFlowLogs")
217
+ def enable_flow_logs(self) -> Optional[pulumi.Input[bool]]:
218
+ """
219
+ Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
220
+ it will not appear in get listings. If not set the default behavior is determined by the
221
+ org policy, if there is no org policy specified, then it will default to disabled.
222
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
223
+ """
224
+ return pulumi.get(self, "enable_flow_logs")
225
+
226
+ @enable_flow_logs.setter
227
+ def enable_flow_logs(self, value: Optional[pulumi.Input[bool]]):
228
+ pulumi.set(self, "enable_flow_logs", value)
229
+
208
230
  @property
209
231
  @pulumi.getter(name="externalIpv6Prefix")
210
232
  def external_ipv6_prefix(self) -> Optional[pulumi.Input[str]]:
@@ -455,6 +477,7 @@ class _SubnetworkState:
455
477
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
456
478
  creation_timestamp: Optional[pulumi.Input[str]] = None,
457
479
  description: Optional[pulumi.Input[str]] = None,
480
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
458
481
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
459
482
  fingerprint: Optional[pulumi.Input[str]] = None,
460
483
  gateway_address: Optional[pulumi.Input[str]] = None,
@@ -478,6 +501,7 @@ class _SubnetworkState:
478
501
  self_link: Optional[pulumi.Input[str]] = None,
479
502
  send_secondary_ip_range_if_empty: Optional[pulumi.Input[bool]] = None,
480
503
  stack_type: Optional[pulumi.Input[str]] = None,
504
+ state: Optional[pulumi.Input[str]] = None,
481
505
  subnetwork_id: Optional[pulumi.Input[int]] = None):
482
506
  """
483
507
  Input properties used for looking up and filtering Subnetwork resources.
@@ -489,6 +513,10 @@ class _SubnetworkState:
489
513
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
490
514
  you create the resource. This field can be set only at resource
491
515
  creation time.
516
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
517
+ it will not appear in get listings. If not set the default behavior is determined by the
518
+ org policy, if there is no org policy specified, then it will default to disabled.
519
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
492
520
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
493
521
  :param pulumi.Input[str] fingerprint: Fingerprint of this resource. This field is used internally during updates of this resource.
494
522
  :param pulumi.Input[str] gateway_address: The gateway address for default routes to reach destination addresses
@@ -572,6 +600,10 @@ class _SubnetworkState:
572
600
  :param pulumi.Input[str] stack_type: The stack type for this subnet to identify whether the IPv6 feature is enabled or not.
573
601
  If not specified IPV4_ONLY will be used.
574
602
  Possible values are: `IPV4_ONLY`, `IPV4_IPV6`, `IPV6_ONLY`.
603
+ :param pulumi.Input[str] state: 'The state of the subnetwork, which can be one of the following values:
604
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
605
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
606
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
575
607
  :param pulumi.Input[int] subnetwork_id: The unique identifier number for the resource. This identifier is defined by the server.
576
608
  """
577
609
  if allow_subnet_cidr_routes_overlap is not None:
@@ -580,6 +612,8 @@ class _SubnetworkState:
580
612
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
581
613
  if description is not None:
582
614
  pulumi.set(__self__, "description", description)
615
+ if enable_flow_logs is not None:
616
+ pulumi.set(__self__, "enable_flow_logs", enable_flow_logs)
583
617
  if external_ipv6_prefix is not None:
584
618
  pulumi.set(__self__, "external_ipv6_prefix", external_ipv6_prefix)
585
619
  if fingerprint is not None:
@@ -629,6 +663,8 @@ class _SubnetworkState:
629
663
  pulumi.set(__self__, "send_secondary_ip_range_if_empty", send_secondary_ip_range_if_empty)
630
664
  if stack_type is not None:
631
665
  pulumi.set(__self__, "stack_type", stack_type)
666
+ if state is not None:
667
+ pulumi.set(__self__, "state", state)
632
668
  if subnetwork_id is not None:
633
669
  pulumi.set(__self__, "subnetwork_id", subnetwork_id)
634
670
 
@@ -673,6 +709,21 @@ class _SubnetworkState:
673
709
  def description(self, value: Optional[pulumi.Input[str]]):
674
710
  pulumi.set(self, "description", value)
675
711
 
712
+ @property
713
+ @pulumi.getter(name="enableFlowLogs")
714
+ def enable_flow_logs(self) -> Optional[pulumi.Input[bool]]:
715
+ """
716
+ Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
717
+ it will not appear in get listings. If not set the default behavior is determined by the
718
+ org policy, if there is no org policy specified, then it will default to disabled.
719
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
720
+ """
721
+ return pulumi.get(self, "enable_flow_logs")
722
+
723
+ @enable_flow_logs.setter
724
+ def enable_flow_logs(self, value: Optional[pulumi.Input[bool]]):
725
+ pulumi.set(self, "enable_flow_logs", value)
726
+
676
727
  @property
677
728
  @pulumi.getter(name="externalIpv6Prefix")
678
729
  def external_ipv6_prefix(self) -> Optional[pulumi.Input[str]]:
@@ -1010,6 +1061,21 @@ class _SubnetworkState:
1010
1061
  def stack_type(self, value: Optional[pulumi.Input[str]]):
1011
1062
  pulumi.set(self, "stack_type", value)
1012
1063
 
1064
+ @property
1065
+ @pulumi.getter
1066
+ def state(self) -> Optional[pulumi.Input[str]]:
1067
+ """
1068
+ 'The state of the subnetwork, which can be one of the following values:
1069
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
1070
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
1071
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
1072
+ """
1073
+ return pulumi.get(self, "state")
1074
+
1075
+ @state.setter
1076
+ def state(self, value: Optional[pulumi.Input[str]]):
1077
+ pulumi.set(self, "state", value)
1078
+
1013
1079
  @property
1014
1080
  @pulumi.getter(name="subnetworkId")
1015
1081
  def subnetwork_id(self) -> Optional[pulumi.Input[int]]:
@@ -1030,6 +1096,7 @@ class Subnetwork(pulumi.CustomResource):
1030
1096
  opts: Optional[pulumi.ResourceOptions] = None,
1031
1097
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
1032
1098
  description: Optional[pulumi.Input[str]] = None,
1099
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
1033
1100
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
1034
1101
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
1035
1102
  ip_collection: Optional[pulumi.Input[str]] = None,
@@ -1299,6 +1366,10 @@ class Subnetwork(pulumi.CustomResource):
1299
1366
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
1300
1367
  you create the resource. This field can be set only at resource
1301
1368
  creation time.
1369
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
1370
+ it will not appear in get listings. If not set the default behavior is determined by the
1371
+ org policy, if there is no org policy specified, then it will default to disabled.
1372
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
1302
1373
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
1303
1374
  :param pulumi.Input[str] ip_cidr_range: The range of internal addresses that are owned by this subnetwork.
1304
1375
  Provide this property when you create the subnetwork. For example,
@@ -1637,6 +1708,7 @@ class Subnetwork(pulumi.CustomResource):
1637
1708
  opts: Optional[pulumi.ResourceOptions] = None,
1638
1709
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
1639
1710
  description: Optional[pulumi.Input[str]] = None,
1711
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
1640
1712
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
1641
1713
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
1642
1714
  ip_collection: Optional[pulumi.Input[str]] = None,
@@ -1665,6 +1737,7 @@ class Subnetwork(pulumi.CustomResource):
1665
1737
 
1666
1738
  __props__.__dict__["allow_subnet_cidr_routes_overlap"] = allow_subnet_cidr_routes_overlap
1667
1739
  __props__.__dict__["description"] = description
1740
+ __props__.__dict__["enable_flow_logs"] = enable_flow_logs
1668
1741
  __props__.__dict__["external_ipv6_prefix"] = external_ipv6_prefix
1669
1742
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
1670
1743
  __props__.__dict__["ip_collection"] = ip_collection
@@ -1691,6 +1764,7 @@ class Subnetwork(pulumi.CustomResource):
1691
1764
  __props__.__dict__["ipv6_cidr_range"] = None
1692
1765
  __props__.__dict__["ipv6_gce_endpoint"] = None
1693
1766
  __props__.__dict__["self_link"] = None
1767
+ __props__.__dict__["state"] = None
1694
1768
  __props__.__dict__["subnetwork_id"] = None
1695
1769
  super(Subnetwork, __self__).__init__(
1696
1770
  'gcp:compute/subnetwork:Subnetwork',
@@ -1705,6 +1779,7 @@ class Subnetwork(pulumi.CustomResource):
1705
1779
  allow_subnet_cidr_routes_overlap: Optional[pulumi.Input[bool]] = None,
1706
1780
  creation_timestamp: Optional[pulumi.Input[str]] = None,
1707
1781
  description: Optional[pulumi.Input[str]] = None,
1782
+ enable_flow_logs: Optional[pulumi.Input[bool]] = None,
1708
1783
  external_ipv6_prefix: Optional[pulumi.Input[str]] = None,
1709
1784
  fingerprint: Optional[pulumi.Input[str]] = None,
1710
1785
  gateway_address: Optional[pulumi.Input[str]] = None,
@@ -1728,6 +1803,7 @@ class Subnetwork(pulumi.CustomResource):
1728
1803
  self_link: Optional[pulumi.Input[str]] = None,
1729
1804
  send_secondary_ip_range_if_empty: Optional[pulumi.Input[bool]] = None,
1730
1805
  stack_type: Optional[pulumi.Input[str]] = None,
1806
+ state: Optional[pulumi.Input[str]] = None,
1731
1807
  subnetwork_id: Optional[pulumi.Input[int]] = None) -> 'Subnetwork':
1732
1808
  """
1733
1809
  Get an existing Subnetwork resource's state with the given name, id, and optional extra
@@ -1744,6 +1820,10 @@ class Subnetwork(pulumi.CustomResource):
1744
1820
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when
1745
1821
  you create the resource. This field can be set only at resource
1746
1822
  creation time.
1823
+ :param pulumi.Input[bool] enable_flow_logs: Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
1824
+ it will not appear in get listings. If not set the default behavior is determined by the
1825
+ org policy, if there is no org policy specified, then it will default to disabled.
1826
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
1747
1827
  :param pulumi.Input[str] external_ipv6_prefix: The range of external IPv6 addresses that are owned by this subnetwork.
1748
1828
  :param pulumi.Input[str] fingerprint: Fingerprint of this resource. This field is used internally during updates of this resource.
1749
1829
  :param pulumi.Input[str] gateway_address: The gateway address for default routes to reach destination addresses
@@ -1827,6 +1907,10 @@ class Subnetwork(pulumi.CustomResource):
1827
1907
  :param pulumi.Input[str] stack_type: The stack type for this subnet to identify whether the IPv6 feature is enabled or not.
1828
1908
  If not specified IPV4_ONLY will be used.
1829
1909
  Possible values are: `IPV4_ONLY`, `IPV4_IPV6`, `IPV6_ONLY`.
1910
+ :param pulumi.Input[str] state: 'The state of the subnetwork, which can be one of the following values:
1911
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
1912
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
1913
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
1830
1914
  :param pulumi.Input[int] subnetwork_id: The unique identifier number for the resource. This identifier is defined by the server.
1831
1915
  """
1832
1916
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -1836,6 +1920,7 @@ class Subnetwork(pulumi.CustomResource):
1836
1920
  __props__.__dict__["allow_subnet_cidr_routes_overlap"] = allow_subnet_cidr_routes_overlap
1837
1921
  __props__.__dict__["creation_timestamp"] = creation_timestamp
1838
1922
  __props__.__dict__["description"] = description
1923
+ __props__.__dict__["enable_flow_logs"] = enable_flow_logs
1839
1924
  __props__.__dict__["external_ipv6_prefix"] = external_ipv6_prefix
1840
1925
  __props__.__dict__["fingerprint"] = fingerprint
1841
1926
  __props__.__dict__["gateway_address"] = gateway_address
@@ -1859,6 +1944,7 @@ class Subnetwork(pulumi.CustomResource):
1859
1944
  __props__.__dict__["self_link"] = self_link
1860
1945
  __props__.__dict__["send_secondary_ip_range_if_empty"] = send_secondary_ip_range_if_empty
1861
1946
  __props__.__dict__["stack_type"] = stack_type
1947
+ __props__.__dict__["state"] = state
1862
1948
  __props__.__dict__["subnetwork_id"] = subnetwork_id
1863
1949
  return Subnetwork(resource_name, opts=opts, __props__=__props__)
1864
1950
 
@@ -1891,6 +1977,17 @@ class Subnetwork(pulumi.CustomResource):
1891
1977
  """
1892
1978
  return pulumi.get(self, "description")
1893
1979
 
1980
+ @property
1981
+ @pulumi.getter(name="enableFlowLogs")
1982
+ def enable_flow_logs(self) -> pulumi.Output[bool]:
1983
+ """
1984
+ Whether to enable flow logging for this subnetwork. If this field is not explicitly set,
1985
+ it will not appear in get listings. If not set the default behavior is determined by the
1986
+ org policy, if there is no org policy specified, then it will default to disabled.
1987
+ This field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.
1988
+ """
1989
+ return pulumi.get(self, "enable_flow_logs")
1990
+
1894
1991
  @property
1895
1992
  @pulumi.getter(name="externalIpv6Prefix")
1896
1993
  def external_ipv6_prefix(self) -> pulumi.Output[str]:
@@ -1986,7 +2083,7 @@ class Subnetwork(pulumi.CustomResource):
1986
2083
 
1987
2084
  @property
1988
2085
  @pulumi.getter(name="logConfig")
1989
- def log_config(self) -> pulumi.Output[Optional['outputs.SubnetworkLogConfig']]:
2086
+ def log_config(self) -> pulumi.Output['outputs.SubnetworkLogConfig']:
1990
2087
  """
1991
2088
  This field denotes the VPC flow logging options for this subnetwork. If
1992
2089
  logging is enabled, logs are exported to Cloud Logging. Flow logging
@@ -2136,6 +2233,17 @@ class Subnetwork(pulumi.CustomResource):
2136
2233
  """
2137
2234
  return pulumi.get(self, "stack_type")
2138
2235
 
2236
+ @property
2237
+ @pulumi.getter
2238
+ def state(self) -> pulumi.Output[str]:
2239
+ """
2240
+ 'The state of the subnetwork, which can be one of the following values:
2241
+ READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose
2242
+ set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained.
2243
+ A subnetwork that is draining cannot be used or modified until it reaches a status of READY'
2244
+ """
2245
+ return pulumi.get(self, "state")
2246
+
2139
2247
  @property
2140
2248
  @pulumi.getter(name="subnetworkId")
2141
2249
  def subnetwork_id(self) -> pulumi.Output[int]:
@@ -98,7 +98,7 @@ class TargetHttpsProxyArgs:
98
98
  Early Data allows a TLS resumption handshake to include the initial application payload
99
99
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
100
100
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
101
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
101
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
102
102
  """
103
103
  pulumi.set(__self__, "url_map", url_map)
104
104
  if certificate_manager_certificates is not None:
@@ -326,7 +326,7 @@ class TargetHttpsProxyArgs:
326
326
  Early Data allows a TLS resumption handshake to include the initial application payload
327
327
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
328
328
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
329
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
329
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
330
330
  """
331
331
  return pulumi.get(self, "tls_early_data")
332
332
 
@@ -418,7 +418,7 @@ class _TargetHttpsProxyState:
418
418
  Early Data allows a TLS resumption handshake to include the initial application payload
419
419
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
420
420
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
421
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
421
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
422
422
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
423
423
  to the BackendService.
424
424
 
@@ -678,7 +678,7 @@ class _TargetHttpsProxyState:
678
678
  Early Data allows a TLS resumption handshake to include the initial application payload
679
679
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
680
680
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
681
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
681
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
682
682
  """
683
683
  return pulumi.get(self, "tls_early_data")
684
684
 
@@ -1018,7 +1018,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1018
1018
  Early Data allows a TLS resumption handshake to include the initial application payload
1019
1019
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1020
1020
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1021
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1021
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1022
1022
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
1023
1023
  to the BackendService.
1024
1024
 
@@ -1416,7 +1416,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1416
1416
  Early Data allows a TLS resumption handshake to include the initial application payload
1417
1417
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1418
1418
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1419
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1419
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1420
1420
  :param pulumi.Input[str] url_map: A reference to the UrlMap resource that defines the mapping from URL
1421
1421
  to the BackendService.
1422
1422
 
@@ -1609,7 +1609,7 @@ class TargetHttpsProxy(pulumi.CustomResource):
1609
1609
  Early Data allows a TLS resumption handshake to include the initial application payload
1610
1610
  (a HTTP request) alongside the handshake, reducing the effective round trips to “zero”.
1611
1611
  This applies to TLS 1.3 connections over TCP (HTTP/2) as well as over UDP (QUIC/h3).
1612
- Possible values are: `STRICT`, `PERMISSIVE`, `DISABLED`.
1612
+ Possible values are: `STRICT`, `PERMISSIVE`, `UNRESTRICTED`, `DISABLED`.
1613
1613
  """
1614
1614
  return pulumi.get(self, "tls_early_data")
1615
1615
 
@@ -189,6 +189,8 @@ filestoreCustomEndpoint: Optional[str]
189
189
 
190
190
  firebaseAppCheckCustomEndpoint: Optional[str]
191
191
 
192
+ firebaseAppHostingCustomEndpoint: Optional[str]
193
+
192
194
  firebaseCustomEndpoint: Optional[str]
193
195
 
194
196
  firebaseDataConnectCustomEndpoint: Optional[str]
pulumi_gcp/config/vars.py CHANGED
@@ -369,6 +369,10 @@ class _ExportableConfig(types.ModuleType):
369
369
  def firebase_app_check_custom_endpoint(self) -> Optional[str]:
370
370
  return __config__.get('firebaseAppCheckCustomEndpoint')
371
371
 
372
+ @property
373
+ def firebase_app_hosting_custom_endpoint(self) -> Optional[str]:
374
+ return __config__.get('firebaseAppHostingCustomEndpoint')
375
+
372
376
  @property
373
377
  def firebase_custom_endpoint(self) -> Optional[str]:
374
378
  return __config__.get('firebaseCustomEndpoint')
@@ -6767,7 +6767,7 @@ if not MYPY:
6767
6767
  """
6768
6768
  cluster_dns_scope: NotRequired[pulumi.Input[str]]
6769
6769
  """
6770
- The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
6770
+ The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
6771
6771
  """
6772
6772
  elif False:
6773
6773
  ClusterDnsConfigArgsDict: TypeAlias = Mapping[str, Any]
@@ -6783,7 +6783,7 @@ class ClusterDnsConfigArgs:
6783
6783
  :param pulumi.Input[str] additive_vpc_scope_dns_domain: This will enable Cloud DNS additive VPC scope. Must provide a domain name that is unique within the VPC. For this to work `cluster_dns = "CLOUD_DNS"` and `cluster_dns_scope = "CLUSTER_SCOPE"` must both be set as well.
6784
6784
  :param pulumi.Input[str] cluster_dns: Which in-cluster DNS provider should be used. `PROVIDER_UNSPECIFIED` (default) or `PLATFORM_DEFAULT` or `CLOUD_DNS`.
6785
6785
  :param pulumi.Input[str] cluster_dns_domain: The suffix used for all cluster service records.
6786
- :param pulumi.Input[str] cluster_dns_scope: The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
6786
+ :param pulumi.Input[str] cluster_dns_scope: The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
6787
6787
  """
6788
6788
  if additive_vpc_scope_dns_domain is not None:
6789
6789
  pulumi.set(__self__, "additive_vpc_scope_dns_domain", additive_vpc_scope_dns_domain)
@@ -6834,7 +6834,7 @@ class ClusterDnsConfigArgs:
6834
6834
  @pulumi.getter(name="clusterDnsScope")
6835
6835
  def cluster_dns_scope(self) -> Optional[pulumi.Input[str]]:
6836
6836
  """
6837
- The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
6837
+ The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
6838
6838
  """
6839
6839
  return pulumi.get(self, "cluster_dns_scope")
6840
6840
 
@@ -93,7 +93,7 @@ def get_attached_versions(location: Optional[str] = None,
93
93
 
94
94
  uswest = gcp.container.get_attached_versions(location="us-west1",
95
95
  project="my-project")
96
- pulumi.export("firstAvailableVersion", versions["validVersions"])
96
+ pulumi.export("firstAvailableVersion", uswest.valid_versions[0])
97
97
  ```
98
98
 
99
99
 
@@ -126,7 +126,7 @@ def get_attached_versions_output(location: Optional[pulumi.Input[str]] = None,
126
126
 
127
127
  uswest = gcp.container.get_attached_versions(location="us-west1",
128
128
  project="my-project")
129
- pulumi.export("firstAvailableVersion", versions["validVersions"])
129
+ pulumi.export("firstAvailableVersion", uswest.valid_versions[0])
130
130
  ```
131
131
 
132
132
 
@@ -5580,7 +5580,7 @@ class ClusterDnsConfig(dict):
5580
5580
  :param str additive_vpc_scope_dns_domain: This will enable Cloud DNS additive VPC scope. Must provide a domain name that is unique within the VPC. For this to work `cluster_dns = "CLOUD_DNS"` and `cluster_dns_scope = "CLUSTER_SCOPE"` must both be set as well.
5581
5581
  :param str cluster_dns: Which in-cluster DNS provider should be used. `PROVIDER_UNSPECIFIED` (default) or `PLATFORM_DEFAULT` or `CLOUD_DNS`.
5582
5582
  :param str cluster_dns_domain: The suffix used for all cluster service records.
5583
- :param str cluster_dns_scope: The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
5583
+ :param str cluster_dns_scope: The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
5584
5584
  """
5585
5585
  if additive_vpc_scope_dns_domain is not None:
5586
5586
  pulumi.set(__self__, "additive_vpc_scope_dns_domain", additive_vpc_scope_dns_domain)
@@ -5619,7 +5619,7 @@ class ClusterDnsConfig(dict):
5619
5619
  @pulumi.getter(name="clusterDnsScope")
5620
5620
  def cluster_dns_scope(self) -> Optional[str]:
5621
5621
  """
5622
- The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` (default) or `CLUSTER_SCOPE` or `VPC_SCOPE`.
5622
+ The scope of access to cluster DNS records. `DNS_SCOPE_UNSPECIFIED` or `CLUSTER_SCOPE` or `VPC_SCOPE`. If the `cluster_dns` field is set to `CLOUD_DNS`, `DNS_SCOPE_UNSPECIFIED` and empty/null behave like `CLUSTER_SCOPE`.
5623
5623
  """
5624
5624
  return pulumi.get(self, "cluster_dns_scope")
5625
5625
 
@@ -17471,7 +17471,7 @@ class GetClusterLoggingConfigResult(dict):
17471
17471
  def __init__(__self__, *,
17472
17472
  enable_components: Sequence[str]):
17473
17473
  """
17474
- :param Sequence[str] enable_components: GKE components exposing logs. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, KCP_CONNECTION, KCP_SSHD, SCHEDULER, and WORKLOADS.
17474
+ :param Sequence[str] enable_components: GKE components exposing logs. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, KCP_CONNECTION, KCP_SSHD, KCP_HPA, SCHEDULER, and WORKLOADS.
17475
17475
  """
17476
17476
  pulumi.set(__self__, "enable_components", enable_components)
17477
17477
 
@@ -17479,7 +17479,7 @@ class GetClusterLoggingConfigResult(dict):
17479
17479
  @pulumi.getter(name="enableComponents")
17480
17480
  def enable_components(self) -> Sequence[str]:
17481
17481
  """
17482
- GKE components exposing logs. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, KCP_CONNECTION, KCP_SSHD, SCHEDULER, and WORKLOADS.
17482
+ GKE components exposing logs. Valid values include SYSTEM_COMPONENTS, APISERVER, CONTROLLER_MANAGER, KCP_CONNECTION, KCP_SSHD, KCP_HPA, SCHEDULER, and WORKLOADS.
17483
17483
  """
17484
17484
  return pulumi.get(self, "enable_components")
17485
17485
 
@@ -21,6 +21,7 @@ __all__ = ['RepositoryArgs', 'Repository']
21
21
  @pulumi.input_type
22
22
  class RepositoryArgs:
23
23
  def __init__(__self__, *,
24
+ deletion_policy: Optional[pulumi.Input[str]] = None,
24
25
  display_name: Optional[pulumi.Input[str]] = None,
25
26
  git_remote_settings: Optional[pulumi.Input['RepositoryGitRemoteSettingsArgs']] = None,
26
27
  kms_key_name: Optional[pulumi.Input[str]] = None,
@@ -33,6 +34,7 @@ class RepositoryArgs:
33
34
  workspace_compilation_overrides: Optional[pulumi.Input['RepositoryWorkspaceCompilationOverridesArgs']] = None):
34
35
  """
35
36
  The set of arguments for constructing a Repository resource.
37
+ :param pulumi.Input[str] deletion_policy: Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
36
38
  :param pulumi.Input[str] display_name: Optional. The repository's user-friendly name.
37
39
  :param pulumi.Input['RepositoryGitRemoteSettingsArgs'] git_remote_settings: Optional. If set, configures this repository to be linked to a Git remote.
38
40
  Structure is documented below.
@@ -55,6 +57,8 @@ class RepositoryArgs:
55
57
  :param pulumi.Input['RepositoryWorkspaceCompilationOverridesArgs'] workspace_compilation_overrides: If set, fields of workspaceCompilationOverrides override the default compilation settings that are specified in dataform.json when creating workspace-scoped compilation results.
56
58
  Structure is documented below.
57
59
  """
60
+ if deletion_policy is not None:
61
+ pulumi.set(__self__, "deletion_policy", deletion_policy)
58
62
  if display_name is not None:
59
63
  pulumi.set(__self__, "display_name", display_name)
60
64
  if git_remote_settings is not None:
@@ -76,6 +80,18 @@ class RepositoryArgs:
76
80
  if workspace_compilation_overrides is not None:
77
81
  pulumi.set(__self__, "workspace_compilation_overrides", workspace_compilation_overrides)
78
82
 
83
+ @property
84
+ @pulumi.getter(name="deletionPolicy")
85
+ def deletion_policy(self) -> Optional[pulumi.Input[str]]:
86
+ """
87
+ Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
88
+ """
89
+ return pulumi.get(self, "deletion_policy")
90
+
91
+ @deletion_policy.setter
92
+ def deletion_policy(self, value: Optional[pulumi.Input[str]]):
93
+ pulumi.set(self, "deletion_policy", value)
94
+
79
95
  @property
80
96
  @pulumi.getter(name="displayName")
81
97
  def display_name(self) -> Optional[pulumi.Input[str]]:
@@ -211,6 +227,7 @@ class RepositoryArgs:
211
227
  @pulumi.input_type
212
228
  class _RepositoryState:
213
229
  def __init__(__self__, *,
230
+ deletion_policy: Optional[pulumi.Input[str]] = None,
214
231
  display_name: Optional[pulumi.Input[str]] = None,
215
232
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
216
233
  git_remote_settings: Optional[pulumi.Input['RepositoryGitRemoteSettingsArgs']] = None,
@@ -225,6 +242,7 @@ class _RepositoryState:
225
242
  workspace_compilation_overrides: Optional[pulumi.Input['RepositoryWorkspaceCompilationOverridesArgs']] = None):
226
243
  """
227
244
  Input properties used for looking up and filtering Repository resources.
245
+ :param pulumi.Input[str] deletion_policy: Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
228
246
  :param pulumi.Input[str] display_name: Optional. The repository's user-friendly name.
229
247
  :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.
230
248
  :param pulumi.Input['RepositoryGitRemoteSettingsArgs'] git_remote_settings: Optional. If set, configures this repository to be linked to a Git remote.
@@ -250,6 +268,8 @@ class _RepositoryState:
250
268
  :param pulumi.Input['RepositoryWorkspaceCompilationOverridesArgs'] workspace_compilation_overrides: If set, fields of workspaceCompilationOverrides override the default compilation settings that are specified in dataform.json when creating workspace-scoped compilation results.
251
269
  Structure is documented below.
252
270
  """
271
+ if deletion_policy is not None:
272
+ pulumi.set(__self__, "deletion_policy", deletion_policy)
253
273
  if display_name is not None:
254
274
  pulumi.set(__self__, "display_name", display_name)
255
275
  if effective_labels is not None:
@@ -275,6 +295,18 @@ class _RepositoryState:
275
295
  if workspace_compilation_overrides is not None:
276
296
  pulumi.set(__self__, "workspace_compilation_overrides", workspace_compilation_overrides)
277
297
 
298
+ @property
299
+ @pulumi.getter(name="deletionPolicy")
300
+ def deletion_policy(self) -> Optional[pulumi.Input[str]]:
301
+ """
302
+ Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
303
+ """
304
+ return pulumi.get(self, "deletion_policy")
305
+
306
+ @deletion_policy.setter
307
+ def deletion_policy(self, value: Optional[pulumi.Input[str]]):
308
+ pulumi.set(self, "deletion_policy", value)
309
+
278
310
  @property
279
311
  @pulumi.getter(name="displayName")
280
312
  def display_name(self) -> Optional[pulumi.Input[str]]:
@@ -437,6 +469,7 @@ class Repository(pulumi.CustomResource):
437
469
  def __init__(__self__,
438
470
  resource_name: str,
439
471
  opts: Optional[pulumi.ResourceOptions] = None,
472
+ deletion_policy: Optional[pulumi.Input[str]] = None,
440
473
  display_name: Optional[pulumi.Input[str]] = None,
441
474
  git_remote_settings: Optional[pulumi.Input[Union['RepositoryGitRemoteSettingsArgs', 'RepositoryGitRemoteSettingsArgsDict']]] = None,
442
475
  kms_key_name: Optional[pulumi.Input[str]] = None,
@@ -480,6 +513,7 @@ class Repository(pulumi.CustomResource):
480
513
  display_name="dataform_repository",
481
514
  npmrc_environment_variables_secret_version=secret_version.id,
482
515
  kms_key_name=example_key.id,
516
+ deletion_policy="FORCE",
483
517
  labels={
484
518
  "label_foo1": "label-bar1",
485
519
  },
@@ -528,6 +562,7 @@ class Repository(pulumi.CustomResource):
528
562
 
529
563
  :param str resource_name: The name of the resource.
530
564
  :param pulumi.ResourceOptions opts: Options for the resource.
565
+ :param pulumi.Input[str] deletion_policy: Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
531
566
  :param pulumi.Input[str] display_name: Optional. The repository's user-friendly name.
532
567
  :param pulumi.Input[Union['RepositoryGitRemoteSettingsArgs', 'RepositoryGitRemoteSettingsArgsDict']] git_remote_settings: Optional. If set, configures this repository to be linked to a Git remote.
533
568
  Structure is documented below.
@@ -588,6 +623,7 @@ class Repository(pulumi.CustomResource):
588
623
  display_name="dataform_repository",
589
624
  npmrc_environment_variables_secret_version=secret_version.id,
590
625
  kms_key_name=example_key.id,
626
+ deletion_policy="FORCE",
591
627
  labels={
592
628
  "label_foo1": "label-bar1",
593
629
  },
@@ -649,6 +685,7 @@ class Repository(pulumi.CustomResource):
649
685
  def _internal_init(__self__,
650
686
  resource_name: str,
651
687
  opts: Optional[pulumi.ResourceOptions] = None,
688
+ deletion_policy: Optional[pulumi.Input[str]] = None,
652
689
  display_name: Optional[pulumi.Input[str]] = None,
653
690
  git_remote_settings: Optional[pulumi.Input[Union['RepositoryGitRemoteSettingsArgs', 'RepositoryGitRemoteSettingsArgsDict']]] = None,
654
691
  kms_key_name: Optional[pulumi.Input[str]] = None,
@@ -668,6 +705,7 @@ class Repository(pulumi.CustomResource):
668
705
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
669
706
  __props__ = RepositoryArgs.__new__(RepositoryArgs)
670
707
 
708
+ __props__.__dict__["deletion_policy"] = deletion_policy
671
709
  __props__.__dict__["display_name"] = display_name
672
710
  __props__.__dict__["git_remote_settings"] = git_remote_settings
673
711
  __props__.__dict__["kms_key_name"] = kms_key_name
@@ -692,6 +730,7 @@ class Repository(pulumi.CustomResource):
692
730
  def get(resource_name: str,
693
731
  id: pulumi.Input[str],
694
732
  opts: Optional[pulumi.ResourceOptions] = None,
733
+ deletion_policy: Optional[pulumi.Input[str]] = None,
695
734
  display_name: Optional[pulumi.Input[str]] = None,
696
735
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
697
736
  git_remote_settings: Optional[pulumi.Input[Union['RepositoryGitRemoteSettingsArgs', 'RepositoryGitRemoteSettingsArgsDict']]] = None,
@@ -711,6 +750,7 @@ class Repository(pulumi.CustomResource):
711
750
  :param str resource_name: The unique name of the resulting resource.
712
751
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
713
752
  :param pulumi.ResourceOptions opts: Options for the resource.
753
+ :param pulumi.Input[str] deletion_policy: Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
714
754
  :param pulumi.Input[str] display_name: Optional. The repository's user-friendly name.
715
755
  :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.
716
756
  :param pulumi.Input[Union['RepositoryGitRemoteSettingsArgs', 'RepositoryGitRemoteSettingsArgsDict']] git_remote_settings: Optional. If set, configures this repository to be linked to a Git remote.
@@ -740,6 +780,7 @@ class Repository(pulumi.CustomResource):
740
780
 
741
781
  __props__ = _RepositoryState.__new__(_RepositoryState)
742
782
 
783
+ __props__.__dict__["deletion_policy"] = deletion_policy
743
784
  __props__.__dict__["display_name"] = display_name
744
785
  __props__.__dict__["effective_labels"] = effective_labels
745
786
  __props__.__dict__["git_remote_settings"] = git_remote_settings
@@ -754,6 +795,14 @@ class Repository(pulumi.CustomResource):
754
795
  __props__.__dict__["workspace_compilation_overrides"] = workspace_compilation_overrides
755
796
  return Repository(resource_name, opts=opts, __props__=__props__)
756
797
 
798
+ @property
799
+ @pulumi.getter(name="deletionPolicy")
800
+ def deletion_policy(self) -> pulumi.Output[Optional[str]]:
801
+ """
802
+ Policy to control how the repository and its child resources are deleted. When set to `FORCE`, any child resources of this repository will also be deleted. Possible values: `DELETE`, `FORCE`. Defaults to `DELETE`.
803
+ """
804
+ return pulumi.get(self, "deletion_policy")
805
+
757
806
  @property
758
807
  @pulumi.getter(name="displayName")
759
808
  def display_name(self) -> pulumi.Output[Optional[str]]: