pulumi-gcp 8.14.0a1736853524__py3-none-any.whl → 8.15.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 (124) hide show
  1. pulumi_gcp/__init__.py +110 -0
  2. pulumi_gcp/accesscontextmanager/access_level_condition.py +28 -0
  3. pulumi_gcp/accesscontextmanager/egress_policy.py +28 -0
  4. pulumi_gcp/accesscontextmanager/ingress_policy.py +28 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +28 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +28 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +28 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +28 -0
  10. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +56 -0
  11. pulumi_gcp/apigee/__init__.py +1 -0
  12. pulumi_gcp/apigee/environment_addons_config.py +266 -0
  13. pulumi_gcp/applicationintegration/_inputs.py +3 -3
  14. pulumi_gcp/applicationintegration/outputs.py +2 -2
  15. pulumi_gcp/artifactregistry/repository.py +32 -2
  16. pulumi_gcp/beyondcorp/__init__.py +1 -0
  17. pulumi_gcp/beyondcorp/_inputs.py +93 -0
  18. pulumi_gcp/beyondcorp/outputs.py +89 -0
  19. pulumi_gcp/beyondcorp/security_gateway.py +670 -0
  20. pulumi_gcp/bigquery/connection.py +2 -2
  21. pulumi_gcp/bigquery/routine.py +2 -2
  22. pulumi_gcp/billing/project_info.py +4 -4
  23. pulumi_gcp/blockchainnodeengine/_inputs.py +3 -3
  24. pulumi_gcp/blockchainnodeengine/outputs.py +2 -2
  25. pulumi_gcp/certificateauthority/_inputs.py +6 -6
  26. pulumi_gcp/certificateauthority/outputs.py +4 -4
  27. pulumi_gcp/certificatemanager/_inputs.py +3 -3
  28. pulumi_gcp/certificatemanager/outputs.py +2 -2
  29. pulumi_gcp/chronicle/__init__.py +5 -0
  30. pulumi_gcp/chronicle/_inputs.py +767 -0
  31. pulumi_gcp/chronicle/data_access_label.py +690 -0
  32. pulumi_gcp/chronicle/data_access_scope.py +1094 -0
  33. pulumi_gcp/chronicle/outputs.py +624 -0
  34. pulumi_gcp/chronicle/reference_list.py +788 -0
  35. pulumi_gcp/chronicle/rule.py +1308 -0
  36. pulumi_gcp/chronicle/rule_deployment.py +849 -0
  37. pulumi_gcp/chronicle/watchlist.py +68 -45
  38. pulumi_gcp/cloudbuild/_inputs.py +3 -3
  39. pulumi_gcp/cloudbuild/outputs.py +2 -2
  40. pulumi_gcp/cloudquota/__init__.py +1 -0
  41. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +336 -0
  42. pulumi_gcp/colab/__init__.py +10 -0
  43. pulumi_gcp/colab/_inputs.py +359 -0
  44. pulumi_gcp/colab/outputs.py +344 -0
  45. pulumi_gcp/colab/runtime_template.py +1160 -0
  46. pulumi_gcp/compute/_inputs.py +42 -42
  47. pulumi_gcp/compute/instance_group_manager.py +9 -9
  48. pulumi_gcp/compute/interconnect_attachment.py +7 -7
  49. pulumi_gcp/compute/outputs.py +28 -28
  50. pulumi_gcp/compute/region_instance_group_manager.py +9 -9
  51. pulumi_gcp/compute/route.py +8 -16
  52. pulumi_gcp/compute/subnetwork.py +7 -7
  53. pulumi_gcp/compute/target_instance.py +4 -4
  54. pulumi_gcp/compute/url_map.py +4 -0
  55. pulumi_gcp/config/__init__.pyi +6 -0
  56. pulumi_gcp/config/vars.py +12 -0
  57. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  58. pulumi_gcp/datacatalog/_inputs.py +3 -3
  59. pulumi_gcp/datacatalog/outputs.py +2 -2
  60. pulumi_gcp/dataplex/entry_type.py +2 -2
  61. pulumi_gcp/dataplex/task.py +16 -16
  62. pulumi_gcp/dataproc/batch.py +10 -10
  63. pulumi_gcp/developerconnect/_inputs.py +910 -42
  64. pulumi_gcp/developerconnect/connection.py +614 -86
  65. pulumi_gcp/developerconnect/git_repository_link.py +4 -0
  66. pulumi_gcp/developerconnect/outputs.py +717 -28
  67. pulumi_gcp/discoveryengine/_inputs.py +54 -0
  68. pulumi_gcp/discoveryengine/data_store.py +94 -0
  69. pulumi_gcp/discoveryengine/outputs.py +51 -0
  70. pulumi_gcp/dns/_inputs.py +124 -20
  71. pulumi_gcp/dns/outputs.py +90 -16
  72. pulumi_gcp/dns/record_set.py +82 -0
  73. pulumi_gcp/edgecontainer/_inputs.py +3 -3
  74. pulumi_gcp/edgecontainer/outputs.py +2 -2
  75. pulumi_gcp/edgenetwork/__init__.py +1 -0
  76. pulumi_gcp/edgenetwork/interconnect_attachment.py +941 -0
  77. pulumi_gcp/firestore/field.py +4 -4
  78. pulumi_gcp/gemini/code_repository_index.py +47 -0
  79. pulumi_gcp/gkehub/membership_binding.py +6 -6
  80. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  81. pulumi_gcp/gkehub/namespace.py +4 -4
  82. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  83. pulumi_gcp/gkeonprem/_inputs.py +15 -15
  84. pulumi_gcp/gkeonprem/outputs.py +10 -10
  85. pulumi_gcp/gkeonprem/v_mware_cluster.py +1 -1
  86. pulumi_gcp/iap/_inputs.py +9 -3
  87. pulumi_gcp/iap/outputs.py +6 -2
  88. pulumi_gcp/iap/settings.py +63 -63
  89. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  90. pulumi_gcp/identityplatform/_inputs.py +9 -9
  91. pulumi_gcp/identityplatform/outputs.py +6 -6
  92. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  93. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  94. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  95. pulumi_gcp/monitoring/_inputs.py +3 -3
  96. pulumi_gcp/monitoring/outputs.py +2 -2
  97. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  98. pulumi_gcp/networksecurity/authz_policy.py +0 -202
  99. pulumi_gcp/oracledatabase/_inputs.py +3 -3
  100. pulumi_gcp/oracledatabase/outputs.py +2 -2
  101. pulumi_gcp/orgpolicy/policy.py +2 -2
  102. pulumi_gcp/parametermanager/__init__.py +13 -0
  103. pulumi_gcp/parametermanager/_inputs.py +174 -0
  104. pulumi_gcp/parametermanager/get_regional_parameter.py +230 -0
  105. pulumi_gcp/parametermanager/outputs.py +191 -0
  106. pulumi_gcp/parametermanager/parameter.py +706 -0
  107. pulumi_gcp/parametermanager/regional_parameter.py +762 -0
  108. pulumi_gcp/parametermanager/regional_parameter_version.py +558 -0
  109. pulumi_gcp/provider.py +60 -0
  110. pulumi_gcp/pubsub/subscription.py +6 -6
  111. pulumi_gcp/pulumi-plugin.json +1 -1
  112. pulumi_gcp/sql/_inputs.py +74 -0
  113. pulumi_gcp/sql/database_instance.py +80 -18
  114. pulumi_gcp/sql/get_database_instance.py +12 -1
  115. pulumi_gcp/sql/outputs.py +158 -0
  116. pulumi_gcp/sql/source_representation_instance.py +7 -14
  117. pulumi_gcp/transcoder/_inputs.py +6 -6
  118. pulumi_gcp/transcoder/outputs.py +4 -4
  119. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  120. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  121. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/METADATA +1 -1
  122. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/RECORD +124 -104
  123. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/WHEEL +0 -0
  124. {pulumi_gcp-8.14.0a1736853524.dist-info → pulumi_gcp-8.15.0.dist-info}/top_level.txt +0 -0
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
 
@@ -5,5 +5,6 @@
5
5
  from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .interconnect_attachment import *
8
9
  from .network import *
9
10
  from .subnet import *