pulumi-gcp 8.33.0a1749001887__py3-none-any.whl → 8.34.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 (97) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/cluster.py +16 -64
  3. pulumi_gcp/apigee/_inputs.py +89 -0
  4. pulumi_gcp/apigee/environment.py +68 -2
  5. pulumi_gcp/apigee/outputs.py +88 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/_inputs.py +184 -0
  8. pulumi_gcp/apihub/curation.py +812 -0
  9. pulumi_gcp/apihub/outputs.py +165 -0
  10. pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
  11. pulumi_gcp/beyondcorp/security_gateway.py +28 -0
  12. pulumi_gcp/bigquery/__init__.py +1 -0
  13. pulumi_gcp/bigquery/get_datasets.py +131 -0
  14. pulumi_gcp/bigquery/outputs.py +52 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +463 -0
  16. pulumi_gcp/cloudrunv2/outputs.py +581 -1
  17. pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
  18. pulumi_gcp/colab/_inputs.py +14 -1
  19. pulumi_gcp/colab/outputs.py +8 -1
  20. pulumi_gcp/colab/runtime_template.py +5 -27
  21. pulumi_gcp/compute/__init__.py +3 -0
  22. pulumi_gcp/compute/_inputs.py +1829 -3
  23. pulumi_gcp/compute/backend_service.py +18 -2
  24. pulumi_gcp/compute/get_region_instance_template.py +12 -1
  25. pulumi_gcp/compute/get_router_nat.py +23 -1
  26. pulumi_gcp/compute/interconnect.py +32 -0
  27. pulumi_gcp/compute/interconnect_attachment.py +304 -0
  28. pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
  29. pulumi_gcp/compute/interconnect_group.py +586 -0
  30. pulumi_gcp/compute/outputs.py +1321 -2
  31. pulumi_gcp/compute/region_instance_template.py +28 -0
  32. pulumi_gcp/compute/router_nat.py +143 -0
  33. pulumi_gcp/compute/snapshot_settings.py +285 -0
  34. pulumi_gcp/compute/url_map.py +338 -0
  35. pulumi_gcp/container/_inputs.py +57 -24
  36. pulumi_gcp/container/cluster.py +47 -0
  37. pulumi_gcp/container/get_cluster.py +12 -1
  38. pulumi_gcp/container/outputs.py +75 -20
  39. pulumi_gcp/dataplex/__init__.py +1 -0
  40. pulumi_gcp/dataplex/_inputs.py +492 -0
  41. pulumi_gcp/dataplex/datascan.py +2 -0
  42. pulumi_gcp/dataplex/entry.py +1038 -0
  43. pulumi_gcp/dataplex/outputs.py +357 -1
  44. pulumi_gcp/datastream/_inputs.py +48 -6
  45. pulumi_gcp/datastream/outputs.py +46 -4
  46. pulumi_gcp/datastream/private_connection.py +205 -35
  47. pulumi_gcp/dns/_inputs.py +73 -0
  48. pulumi_gcp/dns/outputs.py +60 -0
  49. pulumi_gcp/dns/policy.py +54 -0
  50. pulumi_gcp/eventarc/_inputs.py +12 -5
  51. pulumi_gcp/eventarc/outputs.py +8 -3
  52. pulumi_gcp/eventarc/pipeline.py +0 -12
  53. pulumi_gcp/filestore/_inputs.py +44 -1
  54. pulumi_gcp/filestore/instance.py +7 -7
  55. pulumi_gcp/filestore/outputs.py +52 -2
  56. pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
  57. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
  58. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
  59. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
  60. pulumi_gcp/gkehub/_inputs.py +84 -7
  61. pulumi_gcp/gkehub/feature.py +38 -0
  62. pulumi_gcp/gkehub/outputs.py +102 -7
  63. pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
  64. pulumi_gcp/gkeonprem/_inputs.py +54 -0
  65. pulumi_gcp/gkeonprem/outputs.py +49 -0
  66. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
  67. pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
  68. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  69. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  70. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  71. pulumi_gcp/managedkafka/connector.py +4 -4
  72. pulumi_gcp/memorystore/_inputs.py +6 -6
  73. pulumi_gcp/memorystore/outputs.py +8 -8
  74. pulumi_gcp/netapp/_inputs.py +113 -0
  75. pulumi_gcp/netapp/backup_vault.py +56 -0
  76. pulumi_gcp/netapp/outputs.py +92 -0
  77. pulumi_gcp/networkconnectivity/_inputs.py +9 -9
  78. pulumi_gcp/networkconnectivity/outputs.py +6 -6
  79. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  80. pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
  81. pulumi_gcp/orgpolicy/policy.py +2 -2
  82. pulumi_gcp/pubsub/_inputs.py +392 -0
  83. pulumi_gcp/pubsub/get_subscription.py +12 -1
  84. pulumi_gcp/pubsub/get_topic.py +12 -1
  85. pulumi_gcp/pubsub/outputs.py +548 -0
  86. pulumi_gcp/pubsub/subscription.py +67 -6
  87. pulumi_gcp/pubsub/topic.py +61 -0
  88. pulumi_gcp/pulumi-plugin.json +1 -1
  89. pulumi_gcp/redis/_inputs.py +3 -6
  90. pulumi_gcp/redis/outputs.py +2 -4
  91. pulumi_gcp/storage/bucket_object.py +4 -4
  92. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  93. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  94. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/METADATA +1 -1
  95. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/RECORD +97 -91
  96. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/WHEEL +0 -0
  97. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,10 @@ class InterconnectAttachmentArgs:
25
25
  router: pulumi.Input[builtins.str],
26
26
  admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
27
27
  bandwidth: Optional[pulumi.Input[builtins.str]] = None,
28
+ candidate_cloud_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
29
+ candidate_cloud_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
30
+ candidate_customer_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
31
+ candidate_customer_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
28
32
  candidate_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
29
33
  description: Optional[pulumi.Input[builtins.str]] = None,
30
34
  edge_availability_domain: Optional[pulumi.Input[builtins.str]] = None,
@@ -54,6 +58,14 @@ class InterconnectAttachmentArgs:
54
58
  Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED,
55
59
  Defaults to BPS_10G
56
60
  Possible values are: `BPS_50M`, `BPS_100M`, `BPS_200M`, `BPS_300M`, `BPS_400M`, `BPS_500M`, `BPS_1G`, `BPS_2G`, `BPS_5G`, `BPS_10G`, `BPS_20G`, `BPS_50G`, `BPS_100G`.
61
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ip_address: Single IPv4 address + prefix length to be configured on the cloud router interface for this
62
+ interconnect attachment. Example: 203.0.113.1/29
63
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ipv6_address: Single IPv6 address + prefix length to be configured on the cloud router interface for this
64
+ interconnect attachment. Example: 2001:db8::1/125
65
+ :param pulumi.Input[builtins.str] candidate_customer_router_ip_address: Single IPv4 address + prefix length to be configured on the customer router interface for this
66
+ interconnect attachment. Example: 203.0.113.2/29
67
+ :param pulumi.Input[builtins.str] candidate_customer_router_ipv6_address: Single IPv6 address + prefix length to be configured on the customer router interface for this
68
+ interconnect attachment. Example: 2001:db8::2/125
57
69
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] candidate_subnets: Up to 16 candidate prefixes that can be used to restrict the allocation
58
70
  of cloudRouterIpAddress and customerRouterIpAddress for this attachment.
59
71
  All prefixes must be within link-local address space (169.254.0.0/16)
@@ -140,6 +152,14 @@ class InterconnectAttachmentArgs:
140
152
  pulumi.set(__self__, "admin_enabled", admin_enabled)
141
153
  if bandwidth is not None:
142
154
  pulumi.set(__self__, "bandwidth", bandwidth)
155
+ if candidate_cloud_router_ip_address is not None:
156
+ pulumi.set(__self__, "candidate_cloud_router_ip_address", candidate_cloud_router_ip_address)
157
+ if candidate_cloud_router_ipv6_address is not None:
158
+ pulumi.set(__self__, "candidate_cloud_router_ipv6_address", candidate_cloud_router_ipv6_address)
159
+ if candidate_customer_router_ip_address is not None:
160
+ pulumi.set(__self__, "candidate_customer_router_ip_address", candidate_customer_router_ip_address)
161
+ if candidate_customer_router_ipv6_address is not None:
162
+ pulumi.set(__self__, "candidate_customer_router_ipv6_address", candidate_customer_router_ipv6_address)
143
163
  if candidate_subnets is not None:
144
164
  pulumi.set(__self__, "candidate_subnets", candidate_subnets)
145
165
  if description is not None:
@@ -216,6 +236,58 @@ class InterconnectAttachmentArgs:
216
236
  def bandwidth(self, value: Optional[pulumi.Input[builtins.str]]):
217
237
  pulumi.set(self, "bandwidth", value)
218
238
 
239
+ @property
240
+ @pulumi.getter(name="candidateCloudRouterIpAddress")
241
+ def candidate_cloud_router_ip_address(self) -> Optional[pulumi.Input[builtins.str]]:
242
+ """
243
+ Single IPv4 address + prefix length to be configured on the cloud router interface for this
244
+ interconnect attachment. Example: 203.0.113.1/29
245
+ """
246
+ return pulumi.get(self, "candidate_cloud_router_ip_address")
247
+
248
+ @candidate_cloud_router_ip_address.setter
249
+ def candidate_cloud_router_ip_address(self, value: Optional[pulumi.Input[builtins.str]]):
250
+ pulumi.set(self, "candidate_cloud_router_ip_address", value)
251
+
252
+ @property
253
+ @pulumi.getter(name="candidateCloudRouterIpv6Address")
254
+ def candidate_cloud_router_ipv6_address(self) -> Optional[pulumi.Input[builtins.str]]:
255
+ """
256
+ Single IPv6 address + prefix length to be configured on the cloud router interface for this
257
+ interconnect attachment. Example: 2001:db8::1/125
258
+ """
259
+ return pulumi.get(self, "candidate_cloud_router_ipv6_address")
260
+
261
+ @candidate_cloud_router_ipv6_address.setter
262
+ def candidate_cloud_router_ipv6_address(self, value: Optional[pulumi.Input[builtins.str]]):
263
+ pulumi.set(self, "candidate_cloud_router_ipv6_address", value)
264
+
265
+ @property
266
+ @pulumi.getter(name="candidateCustomerRouterIpAddress")
267
+ def candidate_customer_router_ip_address(self) -> Optional[pulumi.Input[builtins.str]]:
268
+ """
269
+ Single IPv4 address + prefix length to be configured on the customer router interface for this
270
+ interconnect attachment. Example: 203.0.113.2/29
271
+ """
272
+ return pulumi.get(self, "candidate_customer_router_ip_address")
273
+
274
+ @candidate_customer_router_ip_address.setter
275
+ def candidate_customer_router_ip_address(self, value: Optional[pulumi.Input[builtins.str]]):
276
+ pulumi.set(self, "candidate_customer_router_ip_address", value)
277
+
278
+ @property
279
+ @pulumi.getter(name="candidateCustomerRouterIpv6Address")
280
+ def candidate_customer_router_ipv6_address(self) -> Optional[pulumi.Input[builtins.str]]:
281
+ """
282
+ Single IPv6 address + prefix length to be configured on the customer router interface for this
283
+ interconnect attachment. Example: 2001:db8::2/125
284
+ """
285
+ return pulumi.get(self, "candidate_customer_router_ipv6_address")
286
+
287
+ @candidate_customer_router_ipv6_address.setter
288
+ def candidate_customer_router_ipv6_address(self, value: Optional[pulumi.Input[builtins.str]]):
289
+ pulumi.set(self, "candidate_customer_router_ipv6_address", value)
290
+
219
291
  @property
220
292
  @pulumi.getter(name="candidateSubnets")
221
293
  def candidate_subnets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -466,7 +538,12 @@ class InterconnectAttachmentArgs:
466
538
  class _InterconnectAttachmentState:
467
539
  def __init__(__self__, *,
468
540
  admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
541
+ attachment_group: Optional[pulumi.Input[builtins.str]] = None,
469
542
  bandwidth: Optional[pulumi.Input[builtins.str]] = None,
543
+ candidate_cloud_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
544
+ candidate_cloud_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
545
+ candidate_customer_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
546
+ candidate_customer_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
470
547
  candidate_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
471
548
  cloud_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
472
549
  cloud_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
@@ -501,12 +578,21 @@ class _InterconnectAttachmentState:
501
578
  Input properties used for looking up and filtering InterconnectAttachment resources.
502
579
  :param pulumi.Input[builtins.bool] admin_enabled: Whether the VLAN attachment is enabled or disabled. When using
503
580
  PARTNER type this will Pre-Activate the interconnect attachment
581
+ :param pulumi.Input[builtins.str] attachment_group: URL of the AttachmentGroup that includes this Attachment.
504
582
  :param pulumi.Input[builtins.str] bandwidth: Provisioned bandwidth capacity for the interconnect attachment.
505
583
  For attachments of type DEDICATED, the user can set the bandwidth.
506
584
  For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth.
507
585
  Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED,
508
586
  Defaults to BPS_10G
509
587
  Possible values are: `BPS_50M`, `BPS_100M`, `BPS_200M`, `BPS_300M`, `BPS_400M`, `BPS_500M`, `BPS_1G`, `BPS_2G`, `BPS_5G`, `BPS_10G`, `BPS_20G`, `BPS_50G`, `BPS_100G`.
588
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ip_address: Single IPv4 address + prefix length to be configured on the cloud router interface for this
589
+ interconnect attachment. Example: 203.0.113.1/29
590
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ipv6_address: Single IPv6 address + prefix length to be configured on the cloud router interface for this
591
+ interconnect attachment. Example: 2001:db8::1/125
592
+ :param pulumi.Input[builtins.str] candidate_customer_router_ip_address: Single IPv4 address + prefix length to be configured on the customer router interface for this
593
+ interconnect attachment. Example: 203.0.113.2/29
594
+ :param pulumi.Input[builtins.str] candidate_customer_router_ipv6_address: Single IPv6 address + prefix length to be configured on the customer router interface for this
595
+ interconnect attachment. Example: 2001:db8::2/125
510
596
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] candidate_subnets: Up to 16 candidate prefixes that can be used to restrict the allocation
511
597
  of cloudRouterIpAddress and customerRouterIpAddress for this attachment.
512
598
  All prefixes must be within link-local address space (169.254.0.0/16)
@@ -624,8 +710,18 @@ class _InterconnectAttachmentState:
624
710
  """
625
711
  if admin_enabled is not None:
626
712
  pulumi.set(__self__, "admin_enabled", admin_enabled)
713
+ if attachment_group is not None:
714
+ pulumi.set(__self__, "attachment_group", attachment_group)
627
715
  if bandwidth is not None:
628
716
  pulumi.set(__self__, "bandwidth", bandwidth)
717
+ if candidate_cloud_router_ip_address is not None:
718
+ pulumi.set(__self__, "candidate_cloud_router_ip_address", candidate_cloud_router_ip_address)
719
+ if candidate_cloud_router_ipv6_address is not None:
720
+ pulumi.set(__self__, "candidate_cloud_router_ipv6_address", candidate_cloud_router_ipv6_address)
721
+ if candidate_customer_router_ip_address is not None:
722
+ pulumi.set(__self__, "candidate_customer_router_ip_address", candidate_customer_router_ip_address)
723
+ if candidate_customer_router_ipv6_address is not None:
724
+ pulumi.set(__self__, "candidate_customer_router_ipv6_address", candidate_customer_router_ipv6_address)
629
725
  if candidate_subnets is not None:
630
726
  pulumi.set(__self__, "candidate_subnets", candidate_subnets)
631
727
  if cloud_router_ip_address is not None:
@@ -700,6 +796,18 @@ class _InterconnectAttachmentState:
700
796
  def admin_enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
701
797
  pulumi.set(self, "admin_enabled", value)
702
798
 
799
+ @property
800
+ @pulumi.getter(name="attachmentGroup")
801
+ def attachment_group(self) -> Optional[pulumi.Input[builtins.str]]:
802
+ """
803
+ URL of the AttachmentGroup that includes this Attachment.
804
+ """
805
+ return pulumi.get(self, "attachment_group")
806
+
807
+ @attachment_group.setter
808
+ def attachment_group(self, value: Optional[pulumi.Input[builtins.str]]):
809
+ pulumi.set(self, "attachment_group", value)
810
+
703
811
  @property
704
812
  @pulumi.getter
705
813
  def bandwidth(self) -> Optional[pulumi.Input[builtins.str]]:
@@ -717,6 +825,58 @@ class _InterconnectAttachmentState:
717
825
  def bandwidth(self, value: Optional[pulumi.Input[builtins.str]]):
718
826
  pulumi.set(self, "bandwidth", value)
719
827
 
828
+ @property
829
+ @pulumi.getter(name="candidateCloudRouterIpAddress")
830
+ def candidate_cloud_router_ip_address(self) -> Optional[pulumi.Input[builtins.str]]:
831
+ """
832
+ Single IPv4 address + prefix length to be configured on the cloud router interface for this
833
+ interconnect attachment. Example: 203.0.113.1/29
834
+ """
835
+ return pulumi.get(self, "candidate_cloud_router_ip_address")
836
+
837
+ @candidate_cloud_router_ip_address.setter
838
+ def candidate_cloud_router_ip_address(self, value: Optional[pulumi.Input[builtins.str]]):
839
+ pulumi.set(self, "candidate_cloud_router_ip_address", value)
840
+
841
+ @property
842
+ @pulumi.getter(name="candidateCloudRouterIpv6Address")
843
+ def candidate_cloud_router_ipv6_address(self) -> Optional[pulumi.Input[builtins.str]]:
844
+ """
845
+ Single IPv6 address + prefix length to be configured on the cloud router interface for this
846
+ interconnect attachment. Example: 2001:db8::1/125
847
+ """
848
+ return pulumi.get(self, "candidate_cloud_router_ipv6_address")
849
+
850
+ @candidate_cloud_router_ipv6_address.setter
851
+ def candidate_cloud_router_ipv6_address(self, value: Optional[pulumi.Input[builtins.str]]):
852
+ pulumi.set(self, "candidate_cloud_router_ipv6_address", value)
853
+
854
+ @property
855
+ @pulumi.getter(name="candidateCustomerRouterIpAddress")
856
+ def candidate_customer_router_ip_address(self) -> Optional[pulumi.Input[builtins.str]]:
857
+ """
858
+ Single IPv4 address + prefix length to be configured on the customer router interface for this
859
+ interconnect attachment. Example: 203.0.113.2/29
860
+ """
861
+ return pulumi.get(self, "candidate_customer_router_ip_address")
862
+
863
+ @candidate_customer_router_ip_address.setter
864
+ def candidate_customer_router_ip_address(self, value: Optional[pulumi.Input[builtins.str]]):
865
+ pulumi.set(self, "candidate_customer_router_ip_address", value)
866
+
867
+ @property
868
+ @pulumi.getter(name="candidateCustomerRouterIpv6Address")
869
+ def candidate_customer_router_ipv6_address(self) -> Optional[pulumi.Input[builtins.str]]:
870
+ """
871
+ Single IPv6 address + prefix length to be configured on the customer router interface for this
872
+ interconnect attachment. Example: 2001:db8::2/125
873
+ """
874
+ return pulumi.get(self, "candidate_customer_router_ipv6_address")
875
+
876
+ @candidate_customer_router_ipv6_address.setter
877
+ def candidate_customer_router_ipv6_address(self, value: Optional[pulumi.Input[builtins.str]]):
878
+ pulumi.set(self, "candidate_customer_router_ipv6_address", value)
879
+
720
880
  @property
721
881
  @pulumi.getter(name="candidateSubnets")
722
882
  def candidate_subnets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -1170,6 +1330,10 @@ class InterconnectAttachment(pulumi.CustomResource):
1170
1330
  opts: Optional[pulumi.ResourceOptions] = None,
1171
1331
  admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
1172
1332
  bandwidth: Optional[pulumi.Input[builtins.str]] = None,
1333
+ candidate_cloud_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1334
+ candidate_cloud_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
1335
+ candidate_customer_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1336
+ candidate_customer_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
1173
1337
  candidate_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1174
1338
  description: Optional[pulumi.Input[builtins.str]] = None,
1175
1339
  edge_availability_domain: Optional[pulumi.Input[builtins.str]] = None,
@@ -1255,6 +1419,36 @@ class InterconnectAttachment(pulumi.CustomResource):
1255
1419
  encryption="IPSEC",
1256
1420
  ipsec_internal_addresses=[address.self_link])
1257
1421
  ```
1422
+ ### Compute Interconnect Attachment Custom Ranges
1423
+
1424
+ ```python
1425
+ import pulumi
1426
+ import pulumi_gcp as gcp
1427
+
1428
+ foobar_network = gcp.compute.Network("foobar",
1429
+ name="test-network",
1430
+ auto_create_subnetworks=False)
1431
+ foobar = gcp.compute.Router("foobar",
1432
+ name="test-router",
1433
+ network=foobar_network.name,
1434
+ bgp={
1435
+ "asn": 16550,
1436
+ })
1437
+ custom_ranges_interconnect_attachment = gcp.compute.InterconnectAttachment("custom-ranges-interconnect-attachment",
1438
+ name="test-custom-ranges-interconnect-attachment",
1439
+ edge_availability_domain="AVAILABILITY_DOMAIN_1",
1440
+ type="PARTNER",
1441
+ router=foobar.id,
1442
+ mtu="1500",
1443
+ stack_type="IPV4_IPV6",
1444
+ labels={
1445
+ "mykey": "myvalue",
1446
+ },
1447
+ candidate_cloud_router_ip_address="192.169.0.1/29",
1448
+ candidate_customer_router_ip_address="192.169.0.2/29",
1449
+ candidate_cloud_router_ipv6_address="748d:2f23:6651:9455:828b:ca81:6fe0:fed1/125",
1450
+ candidate_customer_router_ipv6_address="748d:2f23:6651:9455:828b:ca81:6fe0:fed2/125")
1451
+ ```
1258
1452
 
1259
1453
  ## Import
1260
1454
 
@@ -1296,6 +1490,14 @@ class InterconnectAttachment(pulumi.CustomResource):
1296
1490
  Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED,
1297
1491
  Defaults to BPS_10G
1298
1492
  Possible values are: `BPS_50M`, `BPS_100M`, `BPS_200M`, `BPS_300M`, `BPS_400M`, `BPS_500M`, `BPS_1G`, `BPS_2G`, `BPS_5G`, `BPS_10G`, `BPS_20G`, `BPS_50G`, `BPS_100G`.
1493
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ip_address: Single IPv4 address + prefix length to be configured on the cloud router interface for this
1494
+ interconnect attachment. Example: 203.0.113.1/29
1495
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ipv6_address: Single IPv6 address + prefix length to be configured on the cloud router interface for this
1496
+ interconnect attachment. Example: 2001:db8::1/125
1497
+ :param pulumi.Input[builtins.str] candidate_customer_router_ip_address: Single IPv4 address + prefix length to be configured on the customer router interface for this
1498
+ interconnect attachment. Example: 203.0.113.2/29
1499
+ :param pulumi.Input[builtins.str] candidate_customer_router_ipv6_address: Single IPv6 address + prefix length to be configured on the customer router interface for this
1500
+ interconnect attachment. Example: 2001:db8::2/125
1299
1501
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] candidate_subnets: Up to 16 candidate prefixes that can be used to restrict the allocation
1300
1502
  of cloudRouterIpAddress and customerRouterIpAddress for this attachment.
1301
1503
  All prefixes must be within link-local address space (169.254.0.0/16)
@@ -1455,6 +1657,36 @@ class InterconnectAttachment(pulumi.CustomResource):
1455
1657
  encryption="IPSEC",
1456
1658
  ipsec_internal_addresses=[address.self_link])
1457
1659
  ```
1660
+ ### Compute Interconnect Attachment Custom Ranges
1661
+
1662
+ ```python
1663
+ import pulumi
1664
+ import pulumi_gcp as gcp
1665
+
1666
+ foobar_network = gcp.compute.Network("foobar",
1667
+ name="test-network",
1668
+ auto_create_subnetworks=False)
1669
+ foobar = gcp.compute.Router("foobar",
1670
+ name="test-router",
1671
+ network=foobar_network.name,
1672
+ bgp={
1673
+ "asn": 16550,
1674
+ })
1675
+ custom_ranges_interconnect_attachment = gcp.compute.InterconnectAttachment("custom-ranges-interconnect-attachment",
1676
+ name="test-custom-ranges-interconnect-attachment",
1677
+ edge_availability_domain="AVAILABILITY_DOMAIN_1",
1678
+ type="PARTNER",
1679
+ router=foobar.id,
1680
+ mtu="1500",
1681
+ stack_type="IPV4_IPV6",
1682
+ labels={
1683
+ "mykey": "myvalue",
1684
+ },
1685
+ candidate_cloud_router_ip_address="192.169.0.1/29",
1686
+ candidate_customer_router_ip_address="192.169.0.2/29",
1687
+ candidate_cloud_router_ipv6_address="748d:2f23:6651:9455:828b:ca81:6fe0:fed1/125",
1688
+ candidate_customer_router_ipv6_address="748d:2f23:6651:9455:828b:ca81:6fe0:fed2/125")
1689
+ ```
1458
1690
 
1459
1691
  ## Import
1460
1692
 
@@ -1503,6 +1735,10 @@ class InterconnectAttachment(pulumi.CustomResource):
1503
1735
  opts: Optional[pulumi.ResourceOptions] = None,
1504
1736
  admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
1505
1737
  bandwidth: Optional[pulumi.Input[builtins.str]] = None,
1738
+ candidate_cloud_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1739
+ candidate_cloud_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
1740
+ candidate_customer_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1741
+ candidate_customer_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
1506
1742
  candidate_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1507
1743
  description: Optional[pulumi.Input[builtins.str]] = None,
1508
1744
  edge_availability_domain: Optional[pulumi.Input[builtins.str]] = None,
@@ -1530,6 +1766,10 @@ class InterconnectAttachment(pulumi.CustomResource):
1530
1766
 
1531
1767
  __props__.__dict__["admin_enabled"] = admin_enabled
1532
1768
  __props__.__dict__["bandwidth"] = bandwidth
1769
+ __props__.__dict__["candidate_cloud_router_ip_address"] = candidate_cloud_router_ip_address
1770
+ __props__.__dict__["candidate_cloud_router_ipv6_address"] = candidate_cloud_router_ipv6_address
1771
+ __props__.__dict__["candidate_customer_router_ip_address"] = candidate_customer_router_ip_address
1772
+ __props__.__dict__["candidate_customer_router_ipv6_address"] = candidate_customer_router_ipv6_address
1533
1773
  __props__.__dict__["candidate_subnets"] = candidate_subnets
1534
1774
  __props__.__dict__["description"] = description
1535
1775
  __props__.__dict__["edge_availability_domain"] = edge_availability_domain
@@ -1548,6 +1788,7 @@ class InterconnectAttachment(pulumi.CustomResource):
1548
1788
  __props__.__dict__["subnet_length"] = subnet_length
1549
1789
  __props__.__dict__["type"] = type
1550
1790
  __props__.__dict__["vlan_tag8021q"] = vlan_tag8021q
1791
+ __props__.__dict__["attachment_group"] = None
1551
1792
  __props__.__dict__["cloud_router_ip_address"] = None
1552
1793
  __props__.__dict__["cloud_router_ipv6_address"] = None
1553
1794
  __props__.__dict__["creation_timestamp"] = None
@@ -1575,7 +1816,12 @@ class InterconnectAttachment(pulumi.CustomResource):
1575
1816
  id: pulumi.Input[str],
1576
1817
  opts: Optional[pulumi.ResourceOptions] = None,
1577
1818
  admin_enabled: Optional[pulumi.Input[builtins.bool]] = None,
1819
+ attachment_group: Optional[pulumi.Input[builtins.str]] = None,
1578
1820
  bandwidth: Optional[pulumi.Input[builtins.str]] = None,
1821
+ candidate_cloud_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1822
+ candidate_cloud_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
1823
+ candidate_customer_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1824
+ candidate_customer_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
1579
1825
  candidate_subnets: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
1580
1826
  cloud_router_ip_address: Optional[pulumi.Input[builtins.str]] = None,
1581
1827
  cloud_router_ipv6_address: Optional[pulumi.Input[builtins.str]] = None,
@@ -1615,12 +1861,21 @@ class InterconnectAttachment(pulumi.CustomResource):
1615
1861
  :param pulumi.ResourceOptions opts: Options for the resource.
1616
1862
  :param pulumi.Input[builtins.bool] admin_enabled: Whether the VLAN attachment is enabled or disabled. When using
1617
1863
  PARTNER type this will Pre-Activate the interconnect attachment
1864
+ :param pulumi.Input[builtins.str] attachment_group: URL of the AttachmentGroup that includes this Attachment.
1618
1865
  :param pulumi.Input[builtins.str] bandwidth: Provisioned bandwidth capacity for the interconnect attachment.
1619
1866
  For attachments of type DEDICATED, the user can set the bandwidth.
1620
1867
  For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth.
1621
1868
  Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED,
1622
1869
  Defaults to BPS_10G
1623
1870
  Possible values are: `BPS_50M`, `BPS_100M`, `BPS_200M`, `BPS_300M`, `BPS_400M`, `BPS_500M`, `BPS_1G`, `BPS_2G`, `BPS_5G`, `BPS_10G`, `BPS_20G`, `BPS_50G`, `BPS_100G`.
1871
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ip_address: Single IPv4 address + prefix length to be configured on the cloud router interface for this
1872
+ interconnect attachment. Example: 203.0.113.1/29
1873
+ :param pulumi.Input[builtins.str] candidate_cloud_router_ipv6_address: Single IPv6 address + prefix length to be configured on the cloud router interface for this
1874
+ interconnect attachment. Example: 2001:db8::1/125
1875
+ :param pulumi.Input[builtins.str] candidate_customer_router_ip_address: Single IPv4 address + prefix length to be configured on the customer router interface for this
1876
+ interconnect attachment. Example: 203.0.113.2/29
1877
+ :param pulumi.Input[builtins.str] candidate_customer_router_ipv6_address: Single IPv6 address + prefix length to be configured on the customer router interface for this
1878
+ interconnect attachment. Example: 2001:db8::2/125
1624
1879
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] candidate_subnets: Up to 16 candidate prefixes that can be used to restrict the allocation
1625
1880
  of cloudRouterIpAddress and customerRouterIpAddress for this attachment.
1626
1881
  All prefixes must be within link-local address space (169.254.0.0/16)
@@ -1741,7 +1996,12 @@ class InterconnectAttachment(pulumi.CustomResource):
1741
1996
  __props__ = _InterconnectAttachmentState.__new__(_InterconnectAttachmentState)
1742
1997
 
1743
1998
  __props__.__dict__["admin_enabled"] = admin_enabled
1999
+ __props__.__dict__["attachment_group"] = attachment_group
1744
2000
  __props__.__dict__["bandwidth"] = bandwidth
2001
+ __props__.__dict__["candidate_cloud_router_ip_address"] = candidate_cloud_router_ip_address
2002
+ __props__.__dict__["candidate_cloud_router_ipv6_address"] = candidate_cloud_router_ipv6_address
2003
+ __props__.__dict__["candidate_customer_router_ip_address"] = candidate_customer_router_ip_address
2004
+ __props__.__dict__["candidate_customer_router_ipv6_address"] = candidate_customer_router_ipv6_address
1745
2005
  __props__.__dict__["candidate_subnets"] = candidate_subnets
1746
2006
  __props__.__dict__["cloud_router_ip_address"] = cloud_router_ip_address
1747
2007
  __props__.__dict__["cloud_router_ipv6_address"] = cloud_router_ipv6_address
@@ -1783,6 +2043,14 @@ class InterconnectAttachment(pulumi.CustomResource):
1783
2043
  """
1784
2044
  return pulumi.get(self, "admin_enabled")
1785
2045
 
2046
+ @property
2047
+ @pulumi.getter(name="attachmentGroup")
2048
+ def attachment_group(self) -> pulumi.Output[builtins.str]:
2049
+ """
2050
+ URL of the AttachmentGroup that includes this Attachment.
2051
+ """
2052
+ return pulumi.get(self, "attachment_group")
2053
+
1786
2054
  @property
1787
2055
  @pulumi.getter
1788
2056
  def bandwidth(self) -> pulumi.Output[builtins.str]:
@@ -1796,6 +2064,42 @@ class InterconnectAttachment(pulumi.CustomResource):
1796
2064
  """
1797
2065
  return pulumi.get(self, "bandwidth")
1798
2066
 
2067
+ @property
2068
+ @pulumi.getter(name="candidateCloudRouterIpAddress")
2069
+ def candidate_cloud_router_ip_address(self) -> pulumi.Output[Optional[builtins.str]]:
2070
+ """
2071
+ Single IPv4 address + prefix length to be configured on the cloud router interface for this
2072
+ interconnect attachment. Example: 203.0.113.1/29
2073
+ """
2074
+ return pulumi.get(self, "candidate_cloud_router_ip_address")
2075
+
2076
+ @property
2077
+ @pulumi.getter(name="candidateCloudRouterIpv6Address")
2078
+ def candidate_cloud_router_ipv6_address(self) -> pulumi.Output[Optional[builtins.str]]:
2079
+ """
2080
+ Single IPv6 address + prefix length to be configured on the cloud router interface for this
2081
+ interconnect attachment. Example: 2001:db8::1/125
2082
+ """
2083
+ return pulumi.get(self, "candidate_cloud_router_ipv6_address")
2084
+
2085
+ @property
2086
+ @pulumi.getter(name="candidateCustomerRouterIpAddress")
2087
+ def candidate_customer_router_ip_address(self) -> pulumi.Output[Optional[builtins.str]]:
2088
+ """
2089
+ Single IPv4 address + prefix length to be configured on the customer router interface for this
2090
+ interconnect attachment. Example: 203.0.113.2/29
2091
+ """
2092
+ return pulumi.get(self, "candidate_customer_router_ip_address")
2093
+
2094
+ @property
2095
+ @pulumi.getter(name="candidateCustomerRouterIpv6Address")
2096
+ def candidate_customer_router_ipv6_address(self) -> pulumi.Output[Optional[builtins.str]]:
2097
+ """
2098
+ Single IPv6 address + prefix length to be configured on the customer router interface for this
2099
+ interconnect attachment. Example: 2001:db8::2/125
2100
+ """
2101
+ return pulumi.get(self, "candidate_customer_router_ipv6_address")
2102
+
1799
2103
  @property
1800
2104
  @pulumi.getter(name="candidateSubnets")
1801
2105
  def candidate_subnets(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]: