pulumi-gcp 8.14.0a1736853524__py3-none-any.whl → 8.14.0a1736952890__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 (62) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/applicationintegration/_inputs.py +3 -3
  3. pulumi_gcp/applicationintegration/outputs.py +2 -2
  4. pulumi_gcp/beyondcorp/__init__.py +1 -0
  5. pulumi_gcp/beyondcorp/_inputs.py +93 -0
  6. pulumi_gcp/beyondcorp/outputs.py +89 -0
  7. pulumi_gcp/beyondcorp/security_gateway.py +670 -0
  8. pulumi_gcp/blockchainnodeengine/_inputs.py +3 -3
  9. pulumi_gcp/blockchainnodeengine/outputs.py +2 -2
  10. pulumi_gcp/certificateauthority/_inputs.py +6 -6
  11. pulumi_gcp/certificateauthority/outputs.py +4 -4
  12. pulumi_gcp/certificatemanager/_inputs.py +3 -3
  13. pulumi_gcp/certificatemanager/outputs.py +2 -2
  14. pulumi_gcp/chronicle/__init__.py +2 -0
  15. pulumi_gcp/chronicle/_inputs.py +388 -0
  16. pulumi_gcp/chronicle/data_access_label.py +690 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +1094 -0
  18. pulumi_gcp/chronicle/outputs.py +322 -0
  19. pulumi_gcp/chronicle/watchlist.py +68 -45
  20. pulumi_gcp/cloudbuild/_inputs.py +3 -3
  21. pulumi_gcp/cloudbuild/outputs.py +2 -2
  22. pulumi_gcp/cloudquota/__init__.py +1 -0
  23. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +336 -0
  24. pulumi_gcp/compute/_inputs.py +33 -33
  25. pulumi_gcp/compute/instance_group_manager.py +9 -9
  26. pulumi_gcp/compute/outputs.py +22 -22
  27. pulumi_gcp/compute/region_instance_group_manager.py +9 -9
  28. pulumi_gcp/datacatalog/_inputs.py +3 -3
  29. pulumi_gcp/datacatalog/outputs.py +2 -2
  30. pulumi_gcp/developerconnect/_inputs.py +910 -42
  31. pulumi_gcp/developerconnect/connection.py +614 -86
  32. pulumi_gcp/developerconnect/git_repository_link.py +4 -0
  33. pulumi_gcp/developerconnect/outputs.py +717 -28
  34. pulumi_gcp/dns/_inputs.py +124 -20
  35. pulumi_gcp/dns/outputs.py +90 -16
  36. pulumi_gcp/dns/record_set.py +82 -0
  37. pulumi_gcp/edgecontainer/_inputs.py +3 -3
  38. pulumi_gcp/edgecontainer/outputs.py +2 -2
  39. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  40. pulumi_gcp/gkeonprem/outputs.py +10 -10
  41. pulumi_gcp/gkeonprem/v_mware_cluster.py +1 -1
  42. pulumi_gcp/iap/_inputs.py +9 -3
  43. pulumi_gcp/iap/outputs.py +6 -2
  44. pulumi_gcp/iap/settings.py +63 -63
  45. pulumi_gcp/identityplatform/_inputs.py +9 -9
  46. pulumi_gcp/identityplatform/outputs.py +6 -6
  47. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  48. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  49. pulumi_gcp/monitoring/_inputs.py +3 -3
  50. pulumi_gcp/monitoring/outputs.py +2 -2
  51. pulumi_gcp/oracledatabase/_inputs.py +3 -3
  52. pulumi_gcp/oracledatabase/outputs.py +2 -2
  53. pulumi_gcp/pulumi-plugin.json +1 -1
  54. pulumi_gcp/sql/_inputs.py +20 -0
  55. pulumi_gcp/sql/database_instance.py +2 -2
  56. pulumi_gcp/sql/outputs.py +36 -0
  57. pulumi_gcp/transcoder/_inputs.py +6 -6
  58. pulumi_gcp/transcoder/outputs.py +4 -4
  59. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/METADATA +1 -1
  60. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/RECORD +62 -58
  61. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/WHEEL +0 -0
  62. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.14.0a1736952890.dist-info}/top_level.txt +0 -0
pulumi_gcp/dns/_inputs.py CHANGED
@@ -956,6 +956,10 @@ if not MYPY:
956
956
  The configuration for Geolocation based routing policy.
957
957
  Structure is documented below.
958
958
  """
959
+ health_check: NotRequired[pulumi.Input[str]]
960
+ """
961
+ Specifies the health check (used with external endpoints).
962
+ """
959
963
  primary_backup: NotRequired[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupArgsDict']]
960
964
  """
961
965
  The configuration for a failover policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
@@ -974,12 +978,14 @@ class RecordSetRoutingPolicyArgs:
974
978
  def __init__(__self__, *,
975
979
  enable_geo_fencing: Optional[pulumi.Input[bool]] = None,
976
980
  geos: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoArgs']]]] = None,
981
+ health_check: Optional[pulumi.Input[str]] = None,
977
982
  primary_backup: Optional[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupArgs']] = None,
978
983
  wrrs: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrArgs']]]] = None):
979
984
  """
980
985
  :param pulumi.Input[bool] enable_geo_fencing: Specifies whether to enable fencing for geo queries.
981
986
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoArgs']]] geos: The configuration for Geolocation based routing policy.
982
987
  Structure is documented below.
988
+ :param pulumi.Input[str] health_check: Specifies the health check (used with external endpoints).
983
989
  :param pulumi.Input['RecordSetRoutingPolicyPrimaryBackupArgs'] primary_backup: The configuration for a failover policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
984
990
  Structure is documented below.
985
991
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrArgs']]] wrrs: The configuration for Weighted Round Robin based routing policy.
@@ -989,6 +995,8 @@ class RecordSetRoutingPolicyArgs:
989
995
  pulumi.set(__self__, "enable_geo_fencing", enable_geo_fencing)
990
996
  if geos is not None:
991
997
  pulumi.set(__self__, "geos", geos)
998
+ if health_check is not None:
999
+ pulumi.set(__self__, "health_check", health_check)
992
1000
  if primary_backup is not None:
993
1001
  pulumi.set(__self__, "primary_backup", primary_backup)
994
1002
  if wrrs is not None:
@@ -1019,6 +1027,18 @@ class RecordSetRoutingPolicyArgs:
1019
1027
  def geos(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoArgs']]]]):
1020
1028
  pulumi.set(self, "geos", value)
1021
1029
 
1030
+ @property
1031
+ @pulumi.getter(name="healthCheck")
1032
+ def health_check(self) -> Optional[pulumi.Input[str]]:
1033
+ """
1034
+ Specifies the health check (used with external endpoints).
1035
+ """
1036
+ return pulumi.get(self, "health_check")
1037
+
1038
+ @health_check.setter
1039
+ def health_check(self, value: Optional[pulumi.Input[str]]):
1040
+ pulumi.set(self, "health_check", value)
1041
+
1022
1042
  @property
1023
1043
  @pulumi.getter(name="primaryBackup")
1024
1044
  def primary_backup(self) -> Optional[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupArgs']]:
@@ -1122,7 +1142,11 @@ class RecordSetRoutingPolicyGeoArgs:
1122
1142
 
1123
1143
  if not MYPY:
1124
1144
  class RecordSetRoutingPolicyGeoHealthCheckedTargetsArgsDict(TypedDict):
1125
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgsDict']]]
1145
+ external_endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1146
+ """
1147
+ The list of external endpoint addresses to health check.
1148
+ """
1149
+ internal_load_balancers: NotRequired[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgsDict']]]]
1126
1150
  """
1127
1151
  The list of internal load balancers to health check.
1128
1152
  Structure is documented below.
@@ -1133,16 +1157,33 @@ elif False:
1133
1157
  @pulumi.input_type
1134
1158
  class RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs:
1135
1159
  def __init__(__self__, *,
1136
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]):
1160
+ external_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1161
+ internal_load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]] = None):
1137
1162
  """
1163
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_endpoints: The list of external endpoint addresses to health check.
1138
1164
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs']]] internal_load_balancers: The list of internal load balancers to health check.
1139
1165
  Structure is documented below.
1140
1166
  """
1141
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1167
+ if external_endpoints is not None:
1168
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
1169
+ if internal_load_balancers is not None:
1170
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1171
+
1172
+ @property
1173
+ @pulumi.getter(name="externalEndpoints")
1174
+ def external_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1175
+ """
1176
+ The list of external endpoint addresses to health check.
1177
+ """
1178
+ return pulumi.get(self, "external_endpoints")
1179
+
1180
+ @external_endpoints.setter
1181
+ def external_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1182
+ pulumi.set(self, "external_endpoints", value)
1142
1183
 
1143
1184
  @property
1144
1185
  @pulumi.getter(name="internalLoadBalancers")
1145
- def internal_load_balancers(self) -> pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]:
1186
+ def internal_load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]]:
1146
1187
  """
1147
1188
  The list of internal load balancers to health check.
1148
1189
  Structure is documented below.
@@ -1150,7 +1191,7 @@ class RecordSetRoutingPolicyGeoHealthCheckedTargetsArgs:
1150
1191
  return pulumi.get(self, "internal_load_balancers")
1151
1192
 
1152
1193
  @internal_load_balancers.setter
1153
- def internal_load_balancers(self, value: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]):
1194
+ def internal_load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]]):
1154
1195
  pulumi.set(self, "internal_load_balancers", value)
1155
1196
 
1156
1197
 
@@ -1463,7 +1504,11 @@ class RecordSetRoutingPolicyPrimaryBackupBackupGeoArgs:
1463
1504
 
1464
1505
  if not MYPY:
1465
1506
  class RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgsDict(TypedDict):
1466
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgsDict']]]
1507
+ external_endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1508
+ """
1509
+ The list of external endpoint addresses to health check.
1510
+ """
1511
+ internal_load_balancers: NotRequired[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgsDict']]]]
1467
1512
  """
1468
1513
  The list of internal load balancers to health check.
1469
1514
  Structure is documented below.
@@ -1474,16 +1519,33 @@ elif False:
1474
1519
  @pulumi.input_type
1475
1520
  class RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs:
1476
1521
  def __init__(__self__, *,
1477
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]):
1522
+ external_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1523
+ internal_load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]] = None):
1478
1524
  """
1525
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_endpoints: The list of external endpoint addresses to health check.
1479
1526
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs']]] internal_load_balancers: The list of internal load balancers to health check.
1480
1527
  Structure is documented below.
1481
1528
  """
1482
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1529
+ if external_endpoints is not None:
1530
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
1531
+ if internal_load_balancers is not None:
1532
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1533
+
1534
+ @property
1535
+ @pulumi.getter(name="externalEndpoints")
1536
+ def external_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1537
+ """
1538
+ The list of external endpoint addresses to health check.
1539
+ """
1540
+ return pulumi.get(self, "external_endpoints")
1541
+
1542
+ @external_endpoints.setter
1543
+ def external_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1544
+ pulumi.set(self, "external_endpoints", value)
1483
1545
 
1484
1546
  @property
1485
1547
  @pulumi.getter(name="internalLoadBalancers")
1486
- def internal_load_balancers(self) -> pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]:
1548
+ def internal_load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]]:
1487
1549
  """
1488
1550
  The list of internal load balancers to health check.
1489
1551
  Structure is documented below.
@@ -1491,7 +1553,7 @@ class RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsArgs:
1491
1553
  return pulumi.get(self, "internal_load_balancers")
1492
1554
 
1493
1555
  @internal_load_balancers.setter
1494
- def internal_load_balancers(self, value: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]):
1556
+ def internal_load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs']]]]):
1495
1557
  pulumi.set(self, "internal_load_balancers", value)
1496
1558
 
1497
1559
 
@@ -1644,7 +1706,11 @@ class RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLo
1644
1706
 
1645
1707
  if not MYPY:
1646
1708
  class RecordSetRoutingPolicyPrimaryBackupPrimaryArgsDict(TypedDict):
1647
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgsDict']]]
1709
+ external_endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1710
+ """
1711
+ The Internet IP addresses to be health checked.
1712
+ """
1713
+ internal_load_balancers: NotRequired[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgsDict']]]]
1648
1714
  """
1649
1715
  The list of internal load balancers to health check.
1650
1716
  """
@@ -1654,22 +1720,39 @@ elif False:
1654
1720
  @pulumi.input_type
1655
1721
  class RecordSetRoutingPolicyPrimaryBackupPrimaryArgs:
1656
1722
  def __init__(__self__, *,
1657
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs']]]):
1723
+ external_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1724
+ internal_load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs']]]] = None):
1658
1725
  """
1726
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_endpoints: The Internet IP addresses to be health checked.
1659
1727
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs']]] internal_load_balancers: The list of internal load balancers to health check.
1660
1728
  """
1661
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1729
+ if external_endpoints is not None:
1730
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
1731
+ if internal_load_balancers is not None:
1732
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1733
+
1734
+ @property
1735
+ @pulumi.getter(name="externalEndpoints")
1736
+ def external_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1737
+ """
1738
+ The Internet IP addresses to be health checked.
1739
+ """
1740
+ return pulumi.get(self, "external_endpoints")
1741
+
1742
+ @external_endpoints.setter
1743
+ def external_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1744
+ pulumi.set(self, "external_endpoints", value)
1662
1745
 
1663
1746
  @property
1664
1747
  @pulumi.getter(name="internalLoadBalancers")
1665
- def internal_load_balancers(self) -> pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs']]]:
1748
+ def internal_load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs']]]]:
1666
1749
  """
1667
1750
  The list of internal load balancers to health check.
1668
1751
  """
1669
1752
  return pulumi.get(self, "internal_load_balancers")
1670
1753
 
1671
1754
  @internal_load_balancers.setter
1672
- def internal_load_balancers(self, value: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs']]]):
1755
+ def internal_load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs']]]]):
1673
1756
  pulumi.set(self, "internal_load_balancers", value)
1674
1757
 
1675
1758
 
@@ -1896,7 +1979,11 @@ class RecordSetRoutingPolicyWrrArgs:
1896
1979
 
1897
1980
  if not MYPY:
1898
1981
  class RecordSetRoutingPolicyWrrHealthCheckedTargetsArgsDict(TypedDict):
1899
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgsDict']]]
1982
+ external_endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1983
+ """
1984
+ The list of external endpoint addresses to health check.
1985
+ """
1986
+ internal_load_balancers: NotRequired[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgsDict']]]]
1900
1987
  """
1901
1988
  The list of internal load balancers to health check.
1902
1989
  Structure is documented below.
@@ -1907,16 +1994,33 @@ elif False:
1907
1994
  @pulumi.input_type
1908
1995
  class RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs:
1909
1996
  def __init__(__self__, *,
1910
- internal_load_balancers: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs']]]):
1997
+ external_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1998
+ internal_load_balancers: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs']]]] = None):
1911
1999
  """
2000
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_endpoints: The list of external endpoint addresses to health check.
1912
2001
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs']]] internal_load_balancers: The list of internal load balancers to health check.
1913
2002
  Structure is documented below.
1914
2003
  """
1915
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
2004
+ if external_endpoints is not None:
2005
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
2006
+ if internal_load_balancers is not None:
2007
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
2008
+
2009
+ @property
2010
+ @pulumi.getter(name="externalEndpoints")
2011
+ def external_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2012
+ """
2013
+ The list of external endpoint addresses to health check.
2014
+ """
2015
+ return pulumi.get(self, "external_endpoints")
2016
+
2017
+ @external_endpoints.setter
2018
+ def external_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2019
+ pulumi.set(self, "external_endpoints", value)
1916
2020
 
1917
2021
  @property
1918
2022
  @pulumi.getter(name="internalLoadBalancers")
1919
- def internal_load_balancers(self) -> pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs']]]:
2023
+ def internal_load_balancers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs']]]]:
1920
2024
  """
1921
2025
  The list of internal load balancers to health check.
1922
2026
  Structure is documented below.
@@ -1924,7 +2028,7 @@ class RecordSetRoutingPolicyWrrHealthCheckedTargetsArgs:
1924
2028
  return pulumi.get(self, "internal_load_balancers")
1925
2029
 
1926
2030
  @internal_load_balancers.setter
1927
- def internal_load_balancers(self, value: pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs']]]):
2031
+ def internal_load_balancers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs']]]]):
1928
2032
  pulumi.set(self, "internal_load_balancers", value)
1929
2033
 
1930
2034
 
pulumi_gcp/dns/outputs.py CHANGED
@@ -823,6 +823,8 @@ class RecordSetRoutingPolicy(dict):
823
823
  suggest = None
824
824
  if key == "enableGeoFencing":
825
825
  suggest = "enable_geo_fencing"
826
+ elif key == "healthCheck":
827
+ suggest = "health_check"
826
828
  elif key == "primaryBackup":
827
829
  suggest = "primary_backup"
828
830
 
@@ -840,12 +842,14 @@ class RecordSetRoutingPolicy(dict):
840
842
  def __init__(__self__, *,
841
843
  enable_geo_fencing: Optional[bool] = None,
842
844
  geos: Optional[Sequence['outputs.RecordSetRoutingPolicyGeo']] = None,
845
+ health_check: Optional[str] = None,
843
846
  primary_backup: Optional['outputs.RecordSetRoutingPolicyPrimaryBackup'] = None,
844
847
  wrrs: Optional[Sequence['outputs.RecordSetRoutingPolicyWrr']] = None):
845
848
  """
846
849
  :param bool enable_geo_fencing: Specifies whether to enable fencing for geo queries.
847
850
  :param Sequence['RecordSetRoutingPolicyGeoArgs'] geos: The configuration for Geolocation based routing policy.
848
851
  Structure is documented below.
852
+ :param str health_check: Specifies the health check (used with external endpoints).
849
853
  :param 'RecordSetRoutingPolicyPrimaryBackupArgs' primary_backup: The configuration for a failover policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
850
854
  Structure is documented below.
851
855
  :param Sequence['RecordSetRoutingPolicyWrrArgs'] wrrs: The configuration for Weighted Round Robin based routing policy.
@@ -855,6 +859,8 @@ class RecordSetRoutingPolicy(dict):
855
859
  pulumi.set(__self__, "enable_geo_fencing", enable_geo_fencing)
856
860
  if geos is not None:
857
861
  pulumi.set(__self__, "geos", geos)
862
+ if health_check is not None:
863
+ pulumi.set(__self__, "health_check", health_check)
858
864
  if primary_backup is not None:
859
865
  pulumi.set(__self__, "primary_backup", primary_backup)
860
866
  if wrrs is not None:
@@ -877,6 +883,14 @@ class RecordSetRoutingPolicy(dict):
877
883
  """
878
884
  return pulumi.get(self, "geos")
879
885
 
886
+ @property
887
+ @pulumi.getter(name="healthCheck")
888
+ def health_check(self) -> Optional[str]:
889
+ """
890
+ Specifies the health check (used with external endpoints).
891
+ """
892
+ return pulumi.get(self, "health_check")
893
+
880
894
  @property
881
895
  @pulumi.getter(name="primaryBackup")
882
896
  def primary_backup(self) -> Optional['outputs.RecordSetRoutingPolicyPrimaryBackup']:
@@ -962,7 +976,9 @@ class RecordSetRoutingPolicyGeoHealthCheckedTargets(dict):
962
976
  @staticmethod
963
977
  def __key_warning(key: str):
964
978
  suggest = None
965
- if key == "internalLoadBalancers":
979
+ if key == "externalEndpoints":
980
+ suggest = "external_endpoints"
981
+ elif key == "internalLoadBalancers":
966
982
  suggest = "internal_load_balancers"
967
983
 
968
984
  if suggest:
@@ -977,16 +993,29 @@ class RecordSetRoutingPolicyGeoHealthCheckedTargets(dict):
977
993
  return super().get(key, default)
978
994
 
979
995
  def __init__(__self__, *,
980
- internal_load_balancers: Sequence['outputs.RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancer']):
996
+ external_endpoints: Optional[Sequence[str]] = None,
997
+ internal_load_balancers: Optional[Sequence['outputs.RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancer']] = None):
981
998
  """
999
+ :param Sequence[str] external_endpoints: The list of external endpoint addresses to health check.
982
1000
  :param Sequence['RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancerArgs'] internal_load_balancers: The list of internal load balancers to health check.
983
1001
  Structure is documented below.
984
1002
  """
985
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1003
+ if external_endpoints is not None:
1004
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
1005
+ if internal_load_balancers is not None:
1006
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1007
+
1008
+ @property
1009
+ @pulumi.getter(name="externalEndpoints")
1010
+ def external_endpoints(self) -> Optional[Sequence[str]]:
1011
+ """
1012
+ The list of external endpoint addresses to health check.
1013
+ """
1014
+ return pulumi.get(self, "external_endpoints")
986
1015
 
987
1016
  @property
988
1017
  @pulumi.getter(name="internalLoadBalancers")
989
- def internal_load_balancers(self) -> Sequence['outputs.RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancer']:
1018
+ def internal_load_balancers(self) -> Optional[Sequence['outputs.RecordSetRoutingPolicyGeoHealthCheckedTargetsInternalLoadBalancer']]:
990
1019
  """
991
1020
  The list of internal load balancers to health check.
992
1021
  Structure is documented below.
@@ -1241,7 +1270,9 @@ class RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargets(dict):
1241
1270
  @staticmethod
1242
1271
  def __key_warning(key: str):
1243
1272
  suggest = None
1244
- if key == "internalLoadBalancers":
1273
+ if key == "externalEndpoints":
1274
+ suggest = "external_endpoints"
1275
+ elif key == "internalLoadBalancers":
1245
1276
  suggest = "internal_load_balancers"
1246
1277
 
1247
1278
  if suggest:
@@ -1256,16 +1287,29 @@ class RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargets(dict):
1256
1287
  return super().get(key, default)
1257
1288
 
1258
1289
  def __init__(__self__, *,
1259
- internal_load_balancers: Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancer']):
1290
+ external_endpoints: Optional[Sequence[str]] = None,
1291
+ internal_load_balancers: Optional[Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancer']] = None):
1260
1292
  """
1293
+ :param Sequence[str] external_endpoints: The list of external endpoint addresses to health check.
1261
1294
  :param Sequence['RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancerArgs'] internal_load_balancers: The list of internal load balancers to health check.
1262
1295
  Structure is documented below.
1263
1296
  """
1264
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1297
+ if external_endpoints is not None:
1298
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
1299
+ if internal_load_balancers is not None:
1300
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1301
+
1302
+ @property
1303
+ @pulumi.getter(name="externalEndpoints")
1304
+ def external_endpoints(self) -> Optional[Sequence[str]]:
1305
+ """
1306
+ The list of external endpoint addresses to health check.
1307
+ """
1308
+ return pulumi.get(self, "external_endpoints")
1265
1309
 
1266
1310
  @property
1267
1311
  @pulumi.getter(name="internalLoadBalancers")
1268
- def internal_load_balancers(self) -> Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancer']:
1312
+ def internal_load_balancers(self) -> Optional[Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupBackupGeoHealthCheckedTargetsInternalLoadBalancer']]:
1269
1313
  """
1270
1314
  The list of internal load balancers to health check.
1271
1315
  Structure is documented below.
@@ -1387,7 +1431,9 @@ class RecordSetRoutingPolicyPrimaryBackupPrimary(dict):
1387
1431
  @staticmethod
1388
1432
  def __key_warning(key: str):
1389
1433
  suggest = None
1390
- if key == "internalLoadBalancers":
1434
+ if key == "externalEndpoints":
1435
+ suggest = "external_endpoints"
1436
+ elif key == "internalLoadBalancers":
1391
1437
  suggest = "internal_load_balancers"
1392
1438
 
1393
1439
  if suggest:
@@ -1402,15 +1448,28 @@ class RecordSetRoutingPolicyPrimaryBackupPrimary(dict):
1402
1448
  return super().get(key, default)
1403
1449
 
1404
1450
  def __init__(__self__, *,
1405
- internal_load_balancers: Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancer']):
1451
+ external_endpoints: Optional[Sequence[str]] = None,
1452
+ internal_load_balancers: Optional[Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancer']] = None):
1406
1453
  """
1454
+ :param Sequence[str] external_endpoints: The Internet IP addresses to be health checked.
1407
1455
  :param Sequence['RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancerArgs'] internal_load_balancers: The list of internal load balancers to health check.
1408
1456
  """
1409
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1457
+ if external_endpoints is not None:
1458
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
1459
+ if internal_load_balancers is not None:
1460
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1461
+
1462
+ @property
1463
+ @pulumi.getter(name="externalEndpoints")
1464
+ def external_endpoints(self) -> Optional[Sequence[str]]:
1465
+ """
1466
+ The Internet IP addresses to be health checked.
1467
+ """
1468
+ return pulumi.get(self, "external_endpoints")
1410
1469
 
1411
1470
  @property
1412
1471
  @pulumi.getter(name="internalLoadBalancers")
1413
- def internal_load_balancers(self) -> Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancer']:
1472
+ def internal_load_balancers(self) -> Optional[Sequence['outputs.RecordSetRoutingPolicyPrimaryBackupPrimaryInternalLoadBalancer']]:
1414
1473
  """
1415
1474
  The list of internal load balancers to health check.
1416
1475
  """
@@ -1592,7 +1651,9 @@ class RecordSetRoutingPolicyWrrHealthCheckedTargets(dict):
1592
1651
  @staticmethod
1593
1652
  def __key_warning(key: str):
1594
1653
  suggest = None
1595
- if key == "internalLoadBalancers":
1654
+ if key == "externalEndpoints":
1655
+ suggest = "external_endpoints"
1656
+ elif key == "internalLoadBalancers":
1596
1657
  suggest = "internal_load_balancers"
1597
1658
 
1598
1659
  if suggest:
@@ -1607,16 +1668,29 @@ class RecordSetRoutingPolicyWrrHealthCheckedTargets(dict):
1607
1668
  return super().get(key, default)
1608
1669
 
1609
1670
  def __init__(__self__, *,
1610
- internal_load_balancers: Sequence['outputs.RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancer']):
1671
+ external_endpoints: Optional[Sequence[str]] = None,
1672
+ internal_load_balancers: Optional[Sequence['outputs.RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancer']] = None):
1611
1673
  """
1674
+ :param Sequence[str] external_endpoints: The list of external endpoint addresses to health check.
1612
1675
  :param Sequence['RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancerArgs'] internal_load_balancers: The list of internal load balancers to health check.
1613
1676
  Structure is documented below.
1614
1677
  """
1615
- pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1678
+ if external_endpoints is not None:
1679
+ pulumi.set(__self__, "external_endpoints", external_endpoints)
1680
+ if internal_load_balancers is not None:
1681
+ pulumi.set(__self__, "internal_load_balancers", internal_load_balancers)
1682
+
1683
+ @property
1684
+ @pulumi.getter(name="externalEndpoints")
1685
+ def external_endpoints(self) -> Optional[Sequence[str]]:
1686
+ """
1687
+ The list of external endpoint addresses to health check.
1688
+ """
1689
+ return pulumi.get(self, "external_endpoints")
1616
1690
 
1617
1691
  @property
1618
1692
  @pulumi.getter(name="internalLoadBalancers")
1619
- def internal_load_balancers(self) -> Sequence['outputs.RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancer']:
1693
+ def internal_load_balancers(self) -> Optional[Sequence['outputs.RecordSetRoutingPolicyWrrHealthCheckedTargetsInternalLoadBalancer']]:
1620
1694
  """
1621
1695
  The list of internal load balancers to health check.
1622
1696
  Structure is documented below.
@@ -475,6 +475,47 @@ class RecordSet(pulumi.CustomResource):
475
475
  })
476
476
  ```
477
477
 
478
+ ### Public zone failover
479
+
480
+ ```python
481
+ import pulumi
482
+ import pulumi_gcp as gcp
483
+
484
+ http_health_check = gcp.compute.HealthCheck("http-health-check",
485
+ name="http-health-check",
486
+ description="Health check via http",
487
+ timeout_sec=5,
488
+ check_interval_sec=30,
489
+ healthy_threshold=4,
490
+ unhealthy_threshold=5,
491
+ http_health_check={
492
+ "port_specification": "USE_SERVING_PORT",
493
+ })
494
+ prod = gcp.dns.ManagedZone("prod",
495
+ name="prod-zone",
496
+ dns_name="prod.mydomain.com.")
497
+ a = gcp.dns.RecordSet("a",
498
+ name=prod.dns_name.apply(lambda dns_name: f"backend.{dns_name}"),
499
+ managed_zone=prod.name,
500
+ type="A",
501
+ ttl=300,
502
+ routing_policy={
503
+ "health_check": http_health_check.id,
504
+ "primary_backup": {
505
+ "trickle_ratio": 0.1,
506
+ "primary": {
507
+ "external_endpoints": ["10.128.1.1"],
508
+ },
509
+ "backup_geos": [{
510
+ "location": "us-west1",
511
+ "health_checked_targets": {
512
+ "external_endpoints": ["10.130.1.1"],
513
+ },
514
+ }],
515
+ },
516
+ })
517
+ ```
518
+
478
519
  ## Import
479
520
 
480
521
  DNS record sets can be imported using either of these accepted formats:
@@ -713,6 +754,47 @@ class RecordSet(pulumi.CustomResource):
713
754
  })
714
755
  ```
715
756
 
757
+ ### Public zone failover
758
+
759
+ ```python
760
+ import pulumi
761
+ import pulumi_gcp as gcp
762
+
763
+ http_health_check = gcp.compute.HealthCheck("http-health-check",
764
+ name="http-health-check",
765
+ description="Health check via http",
766
+ timeout_sec=5,
767
+ check_interval_sec=30,
768
+ healthy_threshold=4,
769
+ unhealthy_threshold=5,
770
+ http_health_check={
771
+ "port_specification": "USE_SERVING_PORT",
772
+ })
773
+ prod = gcp.dns.ManagedZone("prod",
774
+ name="prod-zone",
775
+ dns_name="prod.mydomain.com.")
776
+ a = gcp.dns.RecordSet("a",
777
+ name=prod.dns_name.apply(lambda dns_name: f"backend.{dns_name}"),
778
+ managed_zone=prod.name,
779
+ type="A",
780
+ ttl=300,
781
+ routing_policy={
782
+ "health_check": http_health_check.id,
783
+ "primary_backup": {
784
+ "trickle_ratio": 0.1,
785
+ "primary": {
786
+ "external_endpoints": ["10.128.1.1"],
787
+ },
788
+ "backup_geos": [{
789
+ "location": "us-west1",
790
+ "health_checked_targets": {
791
+ "external_endpoints": ["10.130.1.1"],
792
+ },
793
+ }],
794
+ },
795
+ })
796
+ ```
797
+
716
798
  ## Import
717
799
 
718
800
  DNS record sets can be imported using either of these accepted formats:
@@ -234,7 +234,7 @@ if not MYPY:
234
234
  Structure is documented below.
235
235
 
236
236
 
237
- <a name="nested_kms_status"></a>The `kms_status` block contains:
237
+ <a name="nested_control_plane_encryption_kms_status"></a>The `kms_status` block contains:
238
238
  """
239
239
  elif False:
240
240
  ClusterControlPlaneEncryptionArgsDict: TypeAlias = Mapping[str, Any]
@@ -266,7 +266,7 @@ class ClusterControlPlaneEncryptionArgs:
266
266
  Structure is documented below.
267
267
 
268
268
 
269
- <a name="nested_kms_status"></a>The `kms_status` block contains:
269
+ <a name="nested_control_plane_encryption_kms_status"></a>The `kms_status` block contains:
270
270
  """
271
271
  if kms_key is not None:
272
272
  pulumi.set(__self__, "kms_key", kms_key)
@@ -333,7 +333,7 @@ class ClusterControlPlaneEncryptionArgs:
333
333
  Structure is documented below.
334
334
 
335
335
 
336
- <a name="nested_kms_status"></a>The `kms_status` block contains:
336
+ <a name="nested_control_plane_encryption_kms_status"></a>The `kms_status` block contains:
337
337
  """
338
338
  return pulumi.get(self, "kms_statuses")
339
339
 
@@ -190,7 +190,7 @@ class ClusterControlPlaneEncryption(dict):
190
190
  Structure is documented below.
191
191
 
192
192
 
193
- <a name="nested_kms_status"></a>The `kms_status` block contains:
193
+ <a name="nested_control_plane_encryption_kms_status"></a>The `kms_status` block contains:
194
194
  """
195
195
  if kms_key is not None:
196
196
  pulumi.set(__self__, "kms_key", kms_key)
@@ -245,7 +245,7 @@ class ClusterControlPlaneEncryption(dict):
245
245
  Structure is documented below.
246
246
 
247
247
 
248
- <a name="nested_kms_status"></a>The `kms_status` block contains:
248
+ <a name="nested_control_plane_encryption_kms_status"></a>The `kms_status` block contains:
249
249
  """
250
250
  return pulumi.get(self, "kms_statuses")
251
251