pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.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 (150) hide show
  1. pulumi_gcp/__init__.py +131 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/_inputs.py +158 -0
  11. pulumi_gcp/bigquery/outputs.py +115 -0
  12. pulumi_gcp/bigquery/reservation.py +189 -1
  13. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  14. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  15. pulumi_gcp/bigtable/table.py +8 -8
  16. pulumi_gcp/chronicle/data_access_label.py +16 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  18. pulumi_gcp/chronicle/reference_list.py +16 -0
  19. pulumi_gcp/chronicle/retrohunt.py +16 -0
  20. pulumi_gcp/chronicle/rule.py +16 -0
  21. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  22. pulumi_gcp/chronicle/watchlist.py +16 -0
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  25. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  26. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  27. pulumi_gcp/cloudrunv2/service.py +14 -14
  28. pulumi_gcp/compute/__init__.py +2 -0
  29. pulumi_gcp/compute/_inputs.py +2627 -61
  30. pulumi_gcp/compute/backend_service.py +121 -3
  31. pulumi_gcp/compute/get_backend_service.py +15 -4
  32. pulumi_gcp/compute/get_images.py +172 -0
  33. pulumi_gcp/compute/get_instance.py +12 -1
  34. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  35. pulumi_gcp/compute/get_resource_policy.py +15 -4
  36. pulumi_gcp/compute/get_router.py +12 -1
  37. pulumi_gcp/compute/get_subnetwork.py +43 -1
  38. pulumi_gcp/compute/image.py +54 -0
  39. pulumi_gcp/compute/instance.py +47 -0
  40. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  41. pulumi_gcp/compute/instance_from_template.py +47 -0
  42. pulumi_gcp/compute/interconnect.py +14 -7
  43. pulumi_gcp/compute/outputs.py +4522 -391
  44. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  45. pulumi_gcp/compute/resource_policy.py +169 -3
  46. pulumi_gcp/compute/router.py +54 -0
  47. pulumi_gcp/compute/router_route_policy.py +16 -0
  48. pulumi_gcp/compute/subnetwork.py +35 -5
  49. pulumi_gcp/config/__init__.pyi +8 -0
  50. pulumi_gcp/config/outputs.py +27 -0
  51. pulumi_gcp/config/vars.py +16 -0
  52. pulumi_gcp/container/_inputs.py +274 -13
  53. pulumi_gcp/container/cluster.py +101 -0
  54. pulumi_gcp/container/get_cluster.py +23 -1
  55. pulumi_gcp/container/get_registry_image.py +4 -0
  56. pulumi_gcp/container/get_registry_repository.py +4 -0
  57. pulumi_gcp/container/outputs.py +305 -10
  58. pulumi_gcp/container/registry.py +4 -0
  59. pulumi_gcp/datafusion/instance.py +68 -0
  60. pulumi_gcp/dataproc/__init__.py +8 -0
  61. pulumi_gcp/dataproc/_inputs.py +219 -0
  62. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  63. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  64. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  65. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  66. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  67. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  68. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  69. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  70. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  71. pulumi_gcp/dataproc/outputs.py +139 -0
  72. pulumi_gcp/datastream/_inputs.py +311 -94
  73. pulumi_gcp/datastream/connection_profile.py +40 -0
  74. pulumi_gcp/datastream/outputs.py +244 -51
  75. pulumi_gcp/datastream/stream.py +216 -0
  76. pulumi_gcp/discoveryengine/__init__.py +1 -0
  77. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  78. pulumi_gcp/eventarc/__init__.py +1 -0
  79. pulumi_gcp/eventarc/enrollment.py +980 -0
  80. pulumi_gcp/firebase/__init__.py +1 -0
  81. pulumi_gcp/firebase/_inputs.py +484 -0
  82. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  83. pulumi_gcp/firebase/outputs.py +333 -0
  84. pulumi_gcp/identityplatform/_inputs.py +91 -0
  85. pulumi_gcp/identityplatform/outputs.py +73 -0
  86. pulumi_gcp/identityplatform/tenant.py +56 -0
  87. pulumi_gcp/lustre/__init__.py +8 -0
  88. pulumi_gcp/lustre/instance.py +983 -0
  89. pulumi_gcp/managedkafka/cluster.py +2 -2
  90. pulumi_gcp/memorystore/__init__.py +1 -0
  91. pulumi_gcp/memorystore/_inputs.py +1252 -7
  92. pulumi_gcp/memorystore/get_instance.py +45 -1
  93. pulumi_gcp/memorystore/instance.py +481 -30
  94. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  95. pulumi_gcp/memorystore/outputs.py +1440 -15
  96. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  97. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  98. pulumi_gcp/networkmanagement/outputs.py +280 -61
  99. pulumi_gcp/networksecurity/_inputs.py +891 -26
  100. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  101. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  102. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  103. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  104. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  105. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  106. pulumi_gcp/networksecurity/outputs.py +531 -1
  107. pulumi_gcp/networksecurity/security_profile.py +8 -0
  108. pulumi_gcp/organizations/__init__.py +2 -0
  109. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  110. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  111. pulumi_gcp/organizations/outputs.py +96 -0
  112. pulumi_gcp/osconfig/__init__.py +1 -0
  113. pulumi_gcp/osconfig/_inputs.py +5413 -0
  114. pulumi_gcp/osconfig/outputs.py +3962 -0
  115. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  116. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  117. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  118. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  119. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  120. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  121. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  122. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  123. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  124. pulumi_gcp/parametermanager/outputs.py +11 -0
  125. pulumi_gcp/parametermanager/parameter.py +88 -0
  126. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  127. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  128. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  129. pulumi_gcp/provider.py +75 -0
  130. pulumi_gcp/pulumi-plugin.json +1 -1
  131. pulumi_gcp/redis/_inputs.py +136 -0
  132. pulumi_gcp/redis/cluster.py +54 -0
  133. pulumi_gcp/redis/outputs.py +114 -0
  134. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  135. pulumi_gcp/storage/__init__.py +6 -0
  136. pulumi_gcp/storage/_inputs.py +1322 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  139. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  140. pulumi_gcp/storage/control_project_intelligence_config.py +408 -0
  141. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  142. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  143. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  144. pulumi_gcp/storage/get_control_project_intelligence_config.py +160 -0
  145. pulumi_gcp/storage/outputs.py +1553 -17
  146. pulumi_gcp/workbench/instance.py +14 -2
  147. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  148. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +150 -124
  149. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  150. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -40,8 +40,8 @@ class PublicDelegatedPrefixArgs:
40
40
  :param pulumi.Input[str] description: An optional description of this resource.
41
41
  :param pulumi.Input[bool] is_live_migration: If true, the prefix will be live migrated.
42
42
  :param pulumi.Input[str] mode: Specifies the mode of this IPv6 PDP. MODE must be one of: DELEGATION,
43
- EXTERNAL_IPV6_FORWARDING_RULE_CREATION.
44
- Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`.
43
+ EXTERNAL_IPV6_FORWARDING_RULE_CREATION and EXTERNAL_IPV6_SUBNETWORK_CREATION.
44
+ Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`, `EXTERNAL_IPV6_SUBNETWORK_CREATION`.
45
45
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
46
46
  comply with RFC1035. Specifically, the name must be 1-63 characters
47
47
  long and match the regular expression `a-z?`
@@ -147,8 +147,8 @@ class PublicDelegatedPrefixArgs:
147
147
  def mode(self) -> Optional[pulumi.Input[str]]:
148
148
  """
149
149
  Specifies the mode of this IPv6 PDP. MODE must be one of: DELEGATION,
150
- EXTERNAL_IPV6_FORWARDING_RULE_CREATION.
151
- Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`.
150
+ EXTERNAL_IPV6_FORWARDING_RULE_CREATION and EXTERNAL_IPV6_SUBNETWORK_CREATION.
151
+ Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`, `EXTERNAL_IPV6_SUBNETWORK_CREATION`.
152
152
  """
153
153
  return pulumi.get(self, "mode")
154
154
 
@@ -210,8 +210,8 @@ class _PublicDelegatedPrefixState:
210
210
  - - -
211
211
  :param pulumi.Input[bool] is_live_migration: If true, the prefix will be live migrated.
212
212
  :param pulumi.Input[str] mode: Specifies the mode of this IPv6 PDP. MODE must be one of: DELEGATION,
213
- EXTERNAL_IPV6_FORWARDING_RULE_CREATION.
214
- Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`.
213
+ EXTERNAL_IPV6_FORWARDING_RULE_CREATION and EXTERNAL_IPV6_SUBNETWORK_CREATION.
214
+ Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`, `EXTERNAL_IPV6_SUBNETWORK_CREATION`.
215
215
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
216
216
  comply with RFC1035. Specifically, the name must be 1-63 characters
217
217
  long and match the regular expression `a-z?`
@@ -301,8 +301,8 @@ class _PublicDelegatedPrefixState:
301
301
  def mode(self) -> Optional[pulumi.Input[str]]:
302
302
  """
303
303
  Specifies the mode of this IPv6 PDP. MODE must be one of: DELEGATION,
304
- EXTERNAL_IPV6_FORWARDING_RULE_CREATION.
305
- Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`.
304
+ EXTERNAL_IPV6_FORWARDING_RULE_CREATION and EXTERNAL_IPV6_SUBNETWORK_CREATION.
305
+ Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`, `EXTERNAL_IPV6_SUBNETWORK_CREATION`.
306
306
  """
307
307
  return pulumi.get(self, "mode")
308
308
 
@@ -449,6 +449,33 @@ class PublicDelegatedPrefix(pulumi.CustomResource):
449
449
  allocatable_prefix_length=64,
450
450
  mode="EXTERNAL_IPV6_FORWARDING_RULE_CREATION")
451
451
  ```
452
+ ### Public Delegated Prefix Ipv6 Subnet Mode
453
+
454
+ ```python
455
+ import pulumi
456
+ import pulumi_gcp as gcp
457
+
458
+ advertised = gcp.compute.PublicAdvertisedPrefix("advertised",
459
+ name="ipv6-pap",
460
+ description="description",
461
+ dns_verification_ip="2001:db8::",
462
+ ip_cidr_range="2001:db8::/32",
463
+ pdp_scope="REGIONAL")
464
+ prefix = gcp.compute.PublicDelegatedPrefix("prefix",
465
+ name="ipv6-root-pdp",
466
+ description="test-delegation-mode-pdp",
467
+ region="us-east1",
468
+ ip_cidr_range="2001:db8::/40",
469
+ parent_prefix=advertised.id,
470
+ mode="DELEGATION")
471
+ subprefix = gcp.compute.PublicDelegatedPrefix("subprefix",
472
+ name="ipv6-sub-pdp",
473
+ description="test-subnet-mode-pdp",
474
+ region="us-east1",
475
+ ip_cidr_range="2001:db8::/48",
476
+ parent_prefix=prefix.id,
477
+ mode="EXTERNAL_IPV6_SUBNETWORK_CREATION")
478
+ ```
452
479
 
453
480
  ## Import
454
481
 
@@ -490,8 +517,8 @@ class PublicDelegatedPrefix(pulumi.CustomResource):
490
517
  - - -
491
518
  :param pulumi.Input[bool] is_live_migration: If true, the prefix will be live migrated.
492
519
  :param pulumi.Input[str] mode: Specifies the mode of this IPv6 PDP. MODE must be one of: DELEGATION,
493
- EXTERNAL_IPV6_FORWARDING_RULE_CREATION.
494
- Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`.
520
+ EXTERNAL_IPV6_FORWARDING_RULE_CREATION and EXTERNAL_IPV6_SUBNETWORK_CREATION.
521
+ Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`, `EXTERNAL_IPV6_SUBNETWORK_CREATION`.
495
522
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
496
523
  comply with RFC1035. Specifically, the name must be 1-63 characters
497
524
  long and match the regular expression `a-z?`
@@ -566,6 +593,33 @@ class PublicDelegatedPrefix(pulumi.CustomResource):
566
593
  allocatable_prefix_length=64,
567
594
  mode="EXTERNAL_IPV6_FORWARDING_RULE_CREATION")
568
595
  ```
596
+ ### Public Delegated Prefix Ipv6 Subnet Mode
597
+
598
+ ```python
599
+ import pulumi
600
+ import pulumi_gcp as gcp
601
+
602
+ advertised = gcp.compute.PublicAdvertisedPrefix("advertised",
603
+ name="ipv6-pap",
604
+ description="description",
605
+ dns_verification_ip="2001:db8::",
606
+ ip_cidr_range="2001:db8::/32",
607
+ pdp_scope="REGIONAL")
608
+ prefix = gcp.compute.PublicDelegatedPrefix("prefix",
609
+ name="ipv6-root-pdp",
610
+ description="test-delegation-mode-pdp",
611
+ region="us-east1",
612
+ ip_cidr_range="2001:db8::/40",
613
+ parent_prefix=advertised.id,
614
+ mode="DELEGATION")
615
+ subprefix = gcp.compute.PublicDelegatedPrefix("subprefix",
616
+ name="ipv6-sub-pdp",
617
+ description="test-subnet-mode-pdp",
618
+ region="us-east1",
619
+ ip_cidr_range="2001:db8::/48",
620
+ parent_prefix=prefix.id,
621
+ mode="EXTERNAL_IPV6_SUBNETWORK_CREATION")
622
+ ```
569
623
 
570
624
  ## Import
571
625
 
@@ -681,8 +735,8 @@ class PublicDelegatedPrefix(pulumi.CustomResource):
681
735
  - - -
682
736
  :param pulumi.Input[bool] is_live_migration: If true, the prefix will be live migrated.
683
737
  :param pulumi.Input[str] mode: Specifies the mode of this IPv6 PDP. MODE must be one of: DELEGATION,
684
- EXTERNAL_IPV6_FORWARDING_RULE_CREATION.
685
- Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`.
738
+ EXTERNAL_IPV6_FORWARDING_RULE_CREATION and EXTERNAL_IPV6_SUBNETWORK_CREATION.
739
+ Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`, `EXTERNAL_IPV6_SUBNETWORK_CREATION`.
686
740
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
687
741
  comply with RFC1035. Specifically, the name must be 1-63 characters
688
742
  long and match the regular expression `a-z?`
@@ -713,7 +767,7 @@ class PublicDelegatedPrefix(pulumi.CustomResource):
713
767
 
714
768
  @property
715
769
  @pulumi.getter(name="allocatablePrefixLength")
716
- def allocatable_prefix_length(self) -> pulumi.Output[Optional[int]]:
770
+ def allocatable_prefix_length(self) -> pulumi.Output[int]:
717
771
  """
718
772
  The allocatable prefix length supported by this public delegated prefix. This field is optional and cannot be set for prefixes in DELEGATION mode. It cannot be set for IPv4 prefixes either, and it always defaults to 32.
719
773
  """
@@ -751,8 +805,8 @@ class PublicDelegatedPrefix(pulumi.CustomResource):
751
805
  def mode(self) -> pulumi.Output[Optional[str]]:
752
806
  """
753
807
  Specifies the mode of this IPv6 PDP. MODE must be one of: DELEGATION,
754
- EXTERNAL_IPV6_FORWARDING_RULE_CREATION.
755
- Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`.
808
+ EXTERNAL_IPV6_FORWARDING_RULE_CREATION and EXTERNAL_IPV6_SUBNETWORK_CREATION.
809
+ Possible values are: `DELEGATION`, `EXTERNAL_IPV6_FORWARDING_RULE_CREATION`, `EXTERNAL_IPV6_SUBNETWORK_CREATION`.
756
810
  """
757
811
  return pulumi.get(self, "mode")
758
812
 
@@ -28,7 +28,8 @@ class ResourcePolicyArgs:
28
28
  name: Optional[pulumi.Input[str]] = None,
29
29
  project: Optional[pulumi.Input[str]] = None,
30
30
  region: Optional[pulumi.Input[str]] = None,
31
- snapshot_schedule_policy: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs']] = None):
31
+ snapshot_schedule_policy: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs']] = None,
32
+ workload_policy: Optional[pulumi.Input['ResourcePolicyWorkloadPolicyArgs']] = None):
32
33
  """
33
34
  The set of arguments for constructing a ResourcePolicy resource.
34
35
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
@@ -53,6 +54,8 @@ class ResourcePolicyArgs:
53
54
  :param pulumi.Input[str] region: Region where resource policy resides.
54
55
  :param pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs'] snapshot_schedule_policy: Policy for creating snapshots of persistent disks.
55
56
  Structure is documented below.
57
+ :param pulumi.Input['ResourcePolicyWorkloadPolicyArgs'] workload_policy: Represents the workload policy.
58
+ Structure is documented below.
56
59
  """
57
60
  if description is not None:
58
61
  pulumi.set(__self__, "description", description)
@@ -70,6 +73,8 @@ class ResourcePolicyArgs:
70
73
  pulumi.set(__self__, "region", region)
71
74
  if snapshot_schedule_policy is not None:
72
75
  pulumi.set(__self__, "snapshot_schedule_policy", snapshot_schedule_policy)
76
+ if workload_policy is not None:
77
+ pulumi.set(__self__, "workload_policy", workload_policy)
73
78
 
74
79
  @property
75
80
  @pulumi.getter
@@ -181,6 +186,19 @@ class ResourcePolicyArgs:
181
186
  def snapshot_schedule_policy(self, value: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs']]):
182
187
  pulumi.set(self, "snapshot_schedule_policy", value)
183
188
 
189
+ @property
190
+ @pulumi.getter(name="workloadPolicy")
191
+ def workload_policy(self) -> Optional[pulumi.Input['ResourcePolicyWorkloadPolicyArgs']]:
192
+ """
193
+ Represents the workload policy.
194
+ Structure is documented below.
195
+ """
196
+ return pulumi.get(self, "workload_policy")
197
+
198
+ @workload_policy.setter
199
+ def workload_policy(self, value: Optional[pulumi.Input['ResourcePolicyWorkloadPolicyArgs']]):
200
+ pulumi.set(self, "workload_policy", value)
201
+
184
202
 
185
203
  @pulumi.input_type
186
204
  class _ResourcePolicyState:
@@ -193,7 +211,8 @@ class _ResourcePolicyState:
193
211
  project: Optional[pulumi.Input[str]] = None,
194
212
  region: Optional[pulumi.Input[str]] = None,
195
213
  self_link: Optional[pulumi.Input[str]] = None,
196
- snapshot_schedule_policy: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs']] = None):
214
+ snapshot_schedule_policy: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs']] = None,
215
+ workload_policy: Optional[pulumi.Input['ResourcePolicyWorkloadPolicyArgs']] = None):
197
216
  """
198
217
  Input properties used for looking up and filtering ResourcePolicy resources.
199
218
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
@@ -219,6 +238,8 @@ class _ResourcePolicyState:
219
238
  :param pulumi.Input[str] self_link: The URI of the created resource.
220
239
  :param pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs'] snapshot_schedule_policy: Policy for creating snapshots of persistent disks.
221
240
  Structure is documented below.
241
+ :param pulumi.Input['ResourcePolicyWorkloadPolicyArgs'] workload_policy: Represents the workload policy.
242
+ Structure is documented below.
222
243
  """
223
244
  if description is not None:
224
245
  pulumi.set(__self__, "description", description)
@@ -238,6 +259,8 @@ class _ResourcePolicyState:
238
259
  pulumi.set(__self__, "self_link", self_link)
239
260
  if snapshot_schedule_policy is not None:
240
261
  pulumi.set(__self__, "snapshot_schedule_policy", snapshot_schedule_policy)
262
+ if workload_policy is not None:
263
+ pulumi.set(__self__, "workload_policy", workload_policy)
241
264
 
242
265
  @property
243
266
  @pulumi.getter
@@ -361,6 +384,19 @@ class _ResourcePolicyState:
361
384
  def snapshot_schedule_policy(self, value: Optional[pulumi.Input['ResourcePolicySnapshotSchedulePolicyArgs']]):
362
385
  pulumi.set(self, "snapshot_schedule_policy", value)
363
386
 
387
+ @property
388
+ @pulumi.getter(name="workloadPolicy")
389
+ def workload_policy(self) -> Optional[pulumi.Input['ResourcePolicyWorkloadPolicyArgs']]:
390
+ """
391
+ Represents the workload policy.
392
+ Structure is documented below.
393
+ """
394
+ return pulumi.get(self, "workload_policy")
395
+
396
+ @workload_policy.setter
397
+ def workload_policy(self, value: Optional[pulumi.Input['ResourcePolicyWorkloadPolicyArgs']]):
398
+ pulumi.set(self, "workload_policy", value)
399
+
364
400
 
365
401
  class ResourcePolicy(pulumi.CustomResource):
366
402
  @overload
@@ -375,6 +411,7 @@ class ResourcePolicy(pulumi.CustomResource):
375
411
  project: Optional[pulumi.Input[str]] = None,
376
412
  region: Optional[pulumi.Input[str]] = None,
377
413
  snapshot_schedule_policy: Optional[pulumi.Input[Union['ResourcePolicySnapshotSchedulePolicyArgs', 'ResourcePolicySnapshotSchedulePolicyArgsDict']]] = None,
414
+ workload_policy: Optional[pulumi.Input[Union['ResourcePolicyWorkloadPolicyArgs', 'ResourcePolicyWorkloadPolicyArgsDict']]] = None,
378
415
  __props__=None):
379
416
  """
380
417
  A policy that can be attached to a resource to specify or schedule actions on that resource.
@@ -525,6 +562,62 @@ class ResourcePolicy(pulumi.CustomResource):
525
562
  "enabled": True,
526
563
  })
527
564
  ```
565
+ ### Resource Policy Workload Policy
566
+
567
+ ```python
568
+ import pulumi
569
+ import pulumi_gcp as gcp
570
+
571
+ bar = gcp.compute.ResourcePolicy("bar",
572
+ name="gce-policy",
573
+ region="europe-west1",
574
+ workload_policy={
575
+ "type": "HIGH_AVAILABILITY",
576
+ })
577
+ ```
578
+ ### Resource Policy Workload Policy Accelerator Topology
579
+
580
+ ```python
581
+ import pulumi
582
+ import pulumi_gcp as gcp
583
+
584
+ bar = gcp.compute.ResourcePolicy("bar",
585
+ name="gce-policy",
586
+ region="europe-west1",
587
+ workload_policy={
588
+ "type": "HIGH_THROUGHPUT",
589
+ "accelerator_topology": "SOME NEW TOPOLOGY",
590
+ })
591
+ ```
592
+ ### Resource Policy Workload Policy Max Topology Distance
593
+
594
+ ```python
595
+ import pulumi
596
+ import pulumi_gcp as gcp
597
+
598
+ bar = gcp.compute.ResourcePolicy("bar",
599
+ name="gce-policy",
600
+ region="europe-west1",
601
+ workload_policy={
602
+ "type": "HIGH_THROUGHPUT",
603
+ "max_topology_distance": "BLOCK",
604
+ })
605
+ ```
606
+ ### Resource Policy Placement Policy Gpu Topology
607
+
608
+ ```python
609
+ import pulumi
610
+ import pulumi_gcp as gcp
611
+
612
+ baz = gcp.compute.ResourcePolicy("baz",
613
+ name="gce-policy",
614
+ region="europe-west9",
615
+ group_placement_policy={
616
+ "vm_count": 2,
617
+ "collocation": "COLLOCATED",
618
+ "gpu_topology": "1x72",
619
+ })
620
+ ```
528
621
 
529
622
  ## Import
530
623
 
@@ -580,6 +673,8 @@ class ResourcePolicy(pulumi.CustomResource):
580
673
  :param pulumi.Input[str] region: Region where resource policy resides.
581
674
  :param pulumi.Input[Union['ResourcePolicySnapshotSchedulePolicyArgs', 'ResourcePolicySnapshotSchedulePolicyArgsDict']] snapshot_schedule_policy: Policy for creating snapshots of persistent disks.
582
675
  Structure is documented below.
676
+ :param pulumi.Input[Union['ResourcePolicyWorkloadPolicyArgs', 'ResourcePolicyWorkloadPolicyArgsDict']] workload_policy: Represents the workload policy.
677
+ Structure is documented below.
583
678
  """
584
679
  ...
585
680
  @overload
@@ -736,6 +831,62 @@ class ResourcePolicy(pulumi.CustomResource):
736
831
  "enabled": True,
737
832
  })
738
833
  ```
834
+ ### Resource Policy Workload Policy
835
+
836
+ ```python
837
+ import pulumi
838
+ import pulumi_gcp as gcp
839
+
840
+ bar = gcp.compute.ResourcePolicy("bar",
841
+ name="gce-policy",
842
+ region="europe-west1",
843
+ workload_policy={
844
+ "type": "HIGH_AVAILABILITY",
845
+ })
846
+ ```
847
+ ### Resource Policy Workload Policy Accelerator Topology
848
+
849
+ ```python
850
+ import pulumi
851
+ import pulumi_gcp as gcp
852
+
853
+ bar = gcp.compute.ResourcePolicy("bar",
854
+ name="gce-policy",
855
+ region="europe-west1",
856
+ workload_policy={
857
+ "type": "HIGH_THROUGHPUT",
858
+ "accelerator_topology": "SOME NEW TOPOLOGY",
859
+ })
860
+ ```
861
+ ### Resource Policy Workload Policy Max Topology Distance
862
+
863
+ ```python
864
+ import pulumi
865
+ import pulumi_gcp as gcp
866
+
867
+ bar = gcp.compute.ResourcePolicy("bar",
868
+ name="gce-policy",
869
+ region="europe-west1",
870
+ workload_policy={
871
+ "type": "HIGH_THROUGHPUT",
872
+ "max_topology_distance": "BLOCK",
873
+ })
874
+ ```
875
+ ### Resource Policy Placement Policy Gpu Topology
876
+
877
+ ```python
878
+ import pulumi
879
+ import pulumi_gcp as gcp
880
+
881
+ baz = gcp.compute.ResourcePolicy("baz",
882
+ name="gce-policy",
883
+ region="europe-west9",
884
+ group_placement_policy={
885
+ "vm_count": 2,
886
+ "collocation": "COLLOCATED",
887
+ "gpu_topology": "1x72",
888
+ })
889
+ ```
739
890
 
740
891
  ## Import
741
892
 
@@ -790,6 +941,7 @@ class ResourcePolicy(pulumi.CustomResource):
790
941
  project: Optional[pulumi.Input[str]] = None,
791
942
  region: Optional[pulumi.Input[str]] = None,
792
943
  snapshot_schedule_policy: Optional[pulumi.Input[Union['ResourcePolicySnapshotSchedulePolicyArgs', 'ResourcePolicySnapshotSchedulePolicyArgsDict']]] = None,
944
+ workload_policy: Optional[pulumi.Input[Union['ResourcePolicyWorkloadPolicyArgs', 'ResourcePolicyWorkloadPolicyArgsDict']]] = None,
793
945
  __props__=None):
794
946
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
795
947
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -807,6 +959,7 @@ class ResourcePolicy(pulumi.CustomResource):
807
959
  __props__.__dict__["project"] = project
808
960
  __props__.__dict__["region"] = region
809
961
  __props__.__dict__["snapshot_schedule_policy"] = snapshot_schedule_policy
962
+ __props__.__dict__["workload_policy"] = workload_policy
810
963
  __props__.__dict__["self_link"] = None
811
964
  super(ResourcePolicy, __self__).__init__(
812
965
  'gcp:compute/resourcePolicy:ResourcePolicy',
@@ -826,7 +979,8 @@ class ResourcePolicy(pulumi.CustomResource):
826
979
  project: Optional[pulumi.Input[str]] = None,
827
980
  region: Optional[pulumi.Input[str]] = None,
828
981
  self_link: Optional[pulumi.Input[str]] = None,
829
- snapshot_schedule_policy: Optional[pulumi.Input[Union['ResourcePolicySnapshotSchedulePolicyArgs', 'ResourcePolicySnapshotSchedulePolicyArgsDict']]] = None) -> 'ResourcePolicy':
982
+ snapshot_schedule_policy: Optional[pulumi.Input[Union['ResourcePolicySnapshotSchedulePolicyArgs', 'ResourcePolicySnapshotSchedulePolicyArgsDict']]] = None,
983
+ workload_policy: Optional[pulumi.Input[Union['ResourcePolicyWorkloadPolicyArgs', 'ResourcePolicyWorkloadPolicyArgsDict']]] = None) -> 'ResourcePolicy':
830
984
  """
831
985
  Get an existing ResourcePolicy resource's state with the given name, id, and optional extra
832
986
  properties used to qualify the lookup.
@@ -857,6 +1011,8 @@ class ResourcePolicy(pulumi.CustomResource):
857
1011
  :param pulumi.Input[str] self_link: The URI of the created resource.
858
1012
  :param pulumi.Input[Union['ResourcePolicySnapshotSchedulePolicyArgs', 'ResourcePolicySnapshotSchedulePolicyArgsDict']] snapshot_schedule_policy: Policy for creating snapshots of persistent disks.
859
1013
  Structure is documented below.
1014
+ :param pulumi.Input[Union['ResourcePolicyWorkloadPolicyArgs', 'ResourcePolicyWorkloadPolicyArgsDict']] workload_policy: Represents the workload policy.
1015
+ Structure is documented below.
860
1016
  """
861
1017
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
862
1018
 
@@ -871,6 +1027,7 @@ class ResourcePolicy(pulumi.CustomResource):
871
1027
  __props__.__dict__["region"] = region
872
1028
  __props__.__dict__["self_link"] = self_link
873
1029
  __props__.__dict__["snapshot_schedule_policy"] = snapshot_schedule_policy
1030
+ __props__.__dict__["workload_policy"] = workload_policy
874
1031
  return ResourcePolicy(resource_name, opts=opts, __props__=__props__)
875
1032
 
876
1033
  @property
@@ -959,3 +1116,12 @@ class ResourcePolicy(pulumi.CustomResource):
959
1116
  """
960
1117
  return pulumi.get(self, "snapshot_schedule_policy")
961
1118
 
1119
+ @property
1120
+ @pulumi.getter(name="workloadPolicy")
1121
+ def workload_policy(self) -> pulumi.Output[Optional['outputs.ResourcePolicyWorkloadPolicy']]:
1122
+ """
1123
+ Represents the workload policy.
1124
+ Structure is documented below.
1125
+ """
1126
+ return pulumi.get(self, "workload_policy")
1127
+
@@ -25,6 +25,7 @@ class RouterArgs:
25
25
  bgp: Optional[pulumi.Input['RouterBgpArgs']] = None,
26
26
  description: Optional[pulumi.Input[str]] = None,
27
27
  encrypted_interconnect_router: Optional[pulumi.Input[bool]] = None,
28
+ md5_authentication_keys: Optional[pulumi.Input['RouterMd5AuthenticationKeysArgs']] = None,
28
29
  name: Optional[pulumi.Input[str]] = None,
29
30
  project: Optional[pulumi.Input[str]] = None,
30
31
  region: Optional[pulumi.Input[str]] = None):
@@ -39,6 +40,8 @@ class RouterArgs:
39
40
  :param pulumi.Input[str] description: An optional description of this resource.
40
41
  :param pulumi.Input[bool] encrypted_interconnect_router: Indicates if a router is dedicated for use with encrypted VLAN
41
42
  attachments (interconnectAttachments).
43
+ :param pulumi.Input['RouterMd5AuthenticationKeysArgs'] md5_authentication_keys: Keys used for MD5 authentication.
44
+ Structure is documented below.
42
45
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
43
46
  comply with RFC1035. Specifically, the name must be 1-63 characters
44
47
  long and match the regular expression `a-z?`
@@ -56,6 +59,8 @@ class RouterArgs:
56
59
  pulumi.set(__self__, "description", description)
57
60
  if encrypted_interconnect_router is not None:
58
61
  pulumi.set(__self__, "encrypted_interconnect_router", encrypted_interconnect_router)
62
+ if md5_authentication_keys is not None:
63
+ pulumi.set(__self__, "md5_authentication_keys", md5_authentication_keys)
59
64
  if name is not None:
60
65
  pulumi.set(__self__, "name", name)
61
66
  if project is not None:
@@ -116,6 +121,19 @@ class RouterArgs:
116
121
  def encrypted_interconnect_router(self, value: Optional[pulumi.Input[bool]]):
117
122
  pulumi.set(self, "encrypted_interconnect_router", value)
118
123
 
124
+ @property
125
+ @pulumi.getter(name="md5AuthenticationKeys")
126
+ def md5_authentication_keys(self) -> Optional[pulumi.Input['RouterMd5AuthenticationKeysArgs']]:
127
+ """
128
+ Keys used for MD5 authentication.
129
+ Structure is documented below.
130
+ """
131
+ return pulumi.get(self, "md5_authentication_keys")
132
+
133
+ @md5_authentication_keys.setter
134
+ def md5_authentication_keys(self, value: Optional[pulumi.Input['RouterMd5AuthenticationKeysArgs']]):
135
+ pulumi.set(self, "md5_authentication_keys", value)
136
+
119
137
  @property
120
138
  @pulumi.getter
121
139
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -166,6 +184,7 @@ class _RouterState:
166
184
  creation_timestamp: Optional[pulumi.Input[str]] = None,
167
185
  description: Optional[pulumi.Input[str]] = None,
168
186
  encrypted_interconnect_router: Optional[pulumi.Input[bool]] = None,
187
+ md5_authentication_keys: Optional[pulumi.Input['RouterMd5AuthenticationKeysArgs']] = None,
169
188
  name: Optional[pulumi.Input[str]] = None,
170
189
  network: Optional[pulumi.Input[str]] = None,
171
190
  project: Optional[pulumi.Input[str]] = None,
@@ -179,6 +198,8 @@ class _RouterState:
179
198
  :param pulumi.Input[str] description: An optional description of this resource.
180
199
  :param pulumi.Input[bool] encrypted_interconnect_router: Indicates if a router is dedicated for use with encrypted VLAN
181
200
  attachments (interconnectAttachments).
201
+ :param pulumi.Input['RouterMd5AuthenticationKeysArgs'] md5_authentication_keys: Keys used for MD5 authentication.
202
+ Structure is documented below.
182
203
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
183
204
  comply with RFC1035. Specifically, the name must be 1-63 characters
184
205
  long and match the regular expression `a-z?`
@@ -202,6 +223,8 @@ class _RouterState:
202
223
  pulumi.set(__self__, "description", description)
203
224
  if encrypted_interconnect_router is not None:
204
225
  pulumi.set(__self__, "encrypted_interconnect_router", encrypted_interconnect_router)
226
+ if md5_authentication_keys is not None:
227
+ pulumi.set(__self__, "md5_authentication_keys", md5_authentication_keys)
205
228
  if name is not None:
206
229
  pulumi.set(__self__, "name", name)
207
230
  if network is not None:
@@ -263,6 +286,19 @@ class _RouterState:
263
286
  def encrypted_interconnect_router(self, value: Optional[pulumi.Input[bool]]):
264
287
  pulumi.set(self, "encrypted_interconnect_router", value)
265
288
 
289
+ @property
290
+ @pulumi.getter(name="md5AuthenticationKeys")
291
+ def md5_authentication_keys(self) -> Optional[pulumi.Input['RouterMd5AuthenticationKeysArgs']]:
292
+ """
293
+ Keys used for MD5 authentication.
294
+ Structure is documented below.
295
+ """
296
+ return pulumi.get(self, "md5_authentication_keys")
297
+
298
+ @md5_authentication_keys.setter
299
+ def md5_authentication_keys(self, value: Optional[pulumi.Input['RouterMd5AuthenticationKeysArgs']]):
300
+ pulumi.set(self, "md5_authentication_keys", value)
301
+
266
302
  @property
267
303
  @pulumi.getter
268
304
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -341,6 +377,7 @@ class Router(pulumi.CustomResource):
341
377
  bgp: Optional[pulumi.Input[Union['RouterBgpArgs', 'RouterBgpArgsDict']]] = None,
342
378
  description: Optional[pulumi.Input[str]] = None,
343
379
  encrypted_interconnect_router: Optional[pulumi.Input[bool]] = None,
380
+ md5_authentication_keys: Optional[pulumi.Input[Union['RouterMd5AuthenticationKeysArgs', 'RouterMd5AuthenticationKeysArgsDict']]] = None,
344
381
  name: Optional[pulumi.Input[str]] = None,
345
382
  network: Optional[pulumi.Input[str]] = None,
346
383
  project: Optional[pulumi.Input[str]] = None,
@@ -438,6 +475,8 @@ class Router(pulumi.CustomResource):
438
475
  :param pulumi.Input[str] description: An optional description of this resource.
439
476
  :param pulumi.Input[bool] encrypted_interconnect_router: Indicates if a router is dedicated for use with encrypted VLAN
440
477
  attachments (interconnectAttachments).
478
+ :param pulumi.Input[Union['RouterMd5AuthenticationKeysArgs', 'RouterMd5AuthenticationKeysArgsDict']] md5_authentication_keys: Keys used for MD5 authentication.
479
+ Structure is documented below.
441
480
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
442
481
  comply with RFC1035. Specifically, the name must be 1-63 characters
443
482
  long and match the regular expression `a-z?`
@@ -561,6 +600,7 @@ class Router(pulumi.CustomResource):
561
600
  bgp: Optional[pulumi.Input[Union['RouterBgpArgs', 'RouterBgpArgsDict']]] = None,
562
601
  description: Optional[pulumi.Input[str]] = None,
563
602
  encrypted_interconnect_router: Optional[pulumi.Input[bool]] = None,
603
+ md5_authentication_keys: Optional[pulumi.Input[Union['RouterMd5AuthenticationKeysArgs', 'RouterMd5AuthenticationKeysArgsDict']]] = None,
564
604
  name: Optional[pulumi.Input[str]] = None,
565
605
  network: Optional[pulumi.Input[str]] = None,
566
606
  project: Optional[pulumi.Input[str]] = None,
@@ -577,6 +617,7 @@ class Router(pulumi.CustomResource):
577
617
  __props__.__dict__["bgp"] = bgp
578
618
  __props__.__dict__["description"] = description
579
619
  __props__.__dict__["encrypted_interconnect_router"] = encrypted_interconnect_router
620
+ __props__.__dict__["md5_authentication_keys"] = md5_authentication_keys
580
621
  __props__.__dict__["name"] = name
581
622
  if network is None and not opts.urn:
582
623
  raise TypeError("Missing required property 'network'")
@@ -599,6 +640,7 @@ class Router(pulumi.CustomResource):
599
640
  creation_timestamp: Optional[pulumi.Input[str]] = None,
600
641
  description: Optional[pulumi.Input[str]] = None,
601
642
  encrypted_interconnect_router: Optional[pulumi.Input[bool]] = None,
643
+ md5_authentication_keys: Optional[pulumi.Input[Union['RouterMd5AuthenticationKeysArgs', 'RouterMd5AuthenticationKeysArgsDict']]] = None,
602
644
  name: Optional[pulumi.Input[str]] = None,
603
645
  network: Optional[pulumi.Input[str]] = None,
604
646
  project: Optional[pulumi.Input[str]] = None,
@@ -617,6 +659,8 @@ class Router(pulumi.CustomResource):
617
659
  :param pulumi.Input[str] description: An optional description of this resource.
618
660
  :param pulumi.Input[bool] encrypted_interconnect_router: Indicates if a router is dedicated for use with encrypted VLAN
619
661
  attachments (interconnectAttachments).
662
+ :param pulumi.Input[Union['RouterMd5AuthenticationKeysArgs', 'RouterMd5AuthenticationKeysArgsDict']] md5_authentication_keys: Keys used for MD5 authentication.
663
+ Structure is documented below.
620
664
  :param pulumi.Input[str] name: Name of the resource. The name must be 1-63 characters long, and
621
665
  comply with RFC1035. Specifically, the name must be 1-63 characters
622
666
  long and match the regular expression `a-z?`
@@ -640,6 +684,7 @@ class Router(pulumi.CustomResource):
640
684
  __props__.__dict__["creation_timestamp"] = creation_timestamp
641
685
  __props__.__dict__["description"] = description
642
686
  __props__.__dict__["encrypted_interconnect_router"] = encrypted_interconnect_router
687
+ __props__.__dict__["md5_authentication_keys"] = md5_authentication_keys
643
688
  __props__.__dict__["name"] = name
644
689
  __props__.__dict__["network"] = network
645
690
  __props__.__dict__["project"] = project
@@ -681,6 +726,15 @@ class Router(pulumi.CustomResource):
681
726
  """
682
727
  return pulumi.get(self, "encrypted_interconnect_router")
683
728
 
729
+ @property
730
+ @pulumi.getter(name="md5AuthenticationKeys")
731
+ def md5_authentication_keys(self) -> pulumi.Output[Optional['outputs.RouterMd5AuthenticationKeys']]:
732
+ """
733
+ Keys used for MD5 authentication.
734
+ Structure is documented below.
735
+ """
736
+ return pulumi.get(self, "md5_authentication_keys")
737
+
684
738
  @property
685
739
  @pulumi.getter
686
740
  def name(self) -> pulumi.Output[str]:
@@ -255,6 +255,14 @@ class RouterRoutePolicy(pulumi.CustomResource):
255
255
  type: Optional[pulumi.Input[str]] = None,
256
256
  __props__=None):
257
257
  """
258
+ A route policy created in a router
259
+
260
+ To get more information about RouterRoutePolicy, see:
261
+
262
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/routers)
263
+ * How-to Guides
264
+ * [Google Cloud Router](https://cloud.google.com/router/docs/)
265
+
258
266
  ## Example Usage
259
267
 
260
268
  ### Router Route Policy Export
@@ -371,6 +379,14 @@ class RouterRoutePolicy(pulumi.CustomResource):
371
379
  args: RouterRoutePolicyArgs,
372
380
  opts: Optional[pulumi.ResourceOptions] = None):
373
381
  """
382
+ A route policy created in a router
383
+
384
+ To get more information about RouterRoutePolicy, see:
385
+
386
+ * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/routers)
387
+ * How-to Guides
388
+ * [Google Cloud Router](https://cloud.google.com/router/docs/)
389
+
374
390
  ## Example Usage
375
391
 
376
392
  ### Router Route Policy Export