pulumi-gcp 8.6.0a1728595713__py3-none-any.whl → 8.7.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 (128) hide show
  1. pulumi_gcp/__init__.py +78 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +4 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +4 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +4 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +4 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -0
  8. pulumi_gcp/apigee/__init__.py +2 -0
  9. pulumi_gcp/apigee/_inputs.py +108 -0
  10. pulumi_gcp/apigee/app_group.py +811 -0
  11. pulumi_gcp/apigee/developer.py +757 -0
  12. pulumi_gcp/apigee/outputs.py +64 -0
  13. pulumi_gcp/artifactregistry/get_docker_image.py +40 -0
  14. pulumi_gcp/bigquery/connection.py +12 -12
  15. pulumi_gcp/bigquery/job.py +6 -6
  16. pulumi_gcp/bigtable/_inputs.py +58 -0
  17. pulumi_gcp/bigtable/instance_iam_binding.py +13 -34
  18. pulumi_gcp/bigtable/instance_iam_member.py +13 -34
  19. pulumi_gcp/bigtable/instance_iam_policy.py +0 -47
  20. pulumi_gcp/bigtable/outputs.py +36 -0
  21. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  22. pulumi_gcp/cloudrunv2/service.py +92 -0
  23. pulumi_gcp/compute/_inputs.py +217 -119
  24. pulumi_gcp/compute/backend_service.py +76 -0
  25. pulumi_gcp/compute/get_backend_service.py +12 -1
  26. pulumi_gcp/compute/get_instance.py +29 -1
  27. pulumi_gcp/compute/get_instance_template.py +29 -1
  28. pulumi_gcp/compute/get_region_instance_group_manager.py +0 -18
  29. pulumi_gcp/compute/get_region_instance_template.py +29 -1
  30. pulumi_gcp/compute/instance.py +89 -0
  31. pulumi_gcp/compute/instance_from_machine_image.py +82 -0
  32. pulumi_gcp/compute/instance_from_template.py +82 -0
  33. pulumi_gcp/compute/instance_template.py +75 -0
  34. pulumi_gcp/compute/network_firewall_policy_association.py +76 -50
  35. pulumi_gcp/compute/network_firewall_policy_rule.py +149 -103
  36. pulumi_gcp/compute/outputs.py +172 -82
  37. pulumi_gcp/compute/region_backend_service.py +94 -0
  38. pulumi_gcp/compute/region_instance_template.py +75 -0
  39. pulumi_gcp/compute/region_network_endpoint_group.py +6 -4
  40. pulumi_gcp/compute/region_network_firewall_policy_association.py +104 -54
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +160 -107
  42. pulumi_gcp/config/__init__.pyi +4 -0
  43. pulumi_gcp/config/vars.py +8 -0
  44. pulumi_gcp/container/_inputs.py +12 -0
  45. pulumi_gcp/container/attached_cluster.py +9 -6
  46. pulumi_gcp/container/outputs.py +10 -2
  47. pulumi_gcp/datastream/stream.py +2 -2
  48. pulumi_gcp/diagflow/_inputs.py +472 -2
  49. pulumi_gcp/diagflow/cx_agent.py +64 -4
  50. pulumi_gcp/diagflow/cx_flow.py +30 -0
  51. pulumi_gcp/diagflow/outputs.py +378 -2
  52. pulumi_gcp/discoveryengine/_inputs.py +32 -5
  53. pulumi_gcp/discoveryengine/chat_engine.py +64 -0
  54. pulumi_gcp/discoveryengine/outputs.py +22 -3
  55. pulumi_gcp/gkehub/feature.py +2 -4
  56. pulumi_gcp/iam/workload_identity_pool_provider.py +56 -0
  57. pulumi_gcp/kms/key_handle.py +8 -8
  58. pulumi_gcp/looker/instance.py +104 -2
  59. pulumi_gcp/monitoring/_inputs.py +23 -0
  60. pulumi_gcp/monitoring/get_secret_version.py +22 -3
  61. pulumi_gcp/monitoring/outputs.py +16 -0
  62. pulumi_gcp/netapp/backup_vault.py +2 -2
  63. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  64. pulumi_gcp/networkconnectivity/_inputs.py +218 -0
  65. pulumi_gcp/networkconnectivity/group.py +764 -0
  66. pulumi_gcp/networkconnectivity/internal_range.py +117 -7
  67. pulumi_gcp/networkconnectivity/outputs.py +167 -0
  68. pulumi_gcp/networkconnectivity/spoke.py +144 -0
  69. pulumi_gcp/networksecurity/server_tls_policy.py +2 -2
  70. pulumi_gcp/networkservices/gateway.py +54 -0
  71. pulumi_gcp/oracledatabase/__init__.py +20 -0
  72. pulumi_gcp/oracledatabase/_inputs.py +4745 -0
  73. pulumi_gcp/oracledatabase/autonomous_database.py +983 -0
  74. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +842 -0
  75. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +1086 -0
  76. pulumi_gcp/oracledatabase/get_autonomous_database.py +290 -0
  77. pulumi_gcp/oracledatabase/get_autonomous_databases.py +150 -0
  78. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +257 -0
  79. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +150 -0
  80. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +290 -0
  81. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +150 -0
  82. pulumi_gcp/oracledatabase/get_db_nodes.py +245 -0
  83. pulumi_gcp/oracledatabase/get_db_servers.py +245 -0
  84. pulumi_gcp/oracledatabase/outputs.py +9304 -0
  85. pulumi_gcp/organizations/folder.py +7 -7
  86. pulumi_gcp/organizations/project.py +7 -7
  87. pulumi_gcp/orgpolicy/_inputs.py +3 -3
  88. pulumi_gcp/orgpolicy/outputs.py +2 -2
  89. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +46 -2
  90. pulumi_gcp/provider.py +40 -0
  91. pulumi_gcp/pulumi-plugin.json +1 -1
  92. pulumi_gcp/secretmanager/get_regional_secret_version.py +24 -5
  93. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +24 -5
  94. pulumi_gcp/secretmanager/get_secret_version.py +22 -3
  95. pulumi_gcp/secretmanager/get_secret_version_access.py +22 -3
  96. pulumi_gcp/secretmanager/outputs.py +2 -10
  97. pulumi_gcp/secretmanager/regional_secret.py +2 -2
  98. pulumi_gcp/securesourcemanager/__init__.py +1 -0
  99. pulumi_gcp/securesourcemanager/branch_rule.py +975 -0
  100. pulumi_gcp/siteverification/get_token.py +0 -16
  101. pulumi_gcp/siteverification/owner.py +0 -16
  102. pulumi_gcp/spanner/_inputs.py +29 -5
  103. pulumi_gcp/spanner/backup_schedule.py +4 -2
  104. pulumi_gcp/spanner/outputs.py +20 -3
  105. pulumi_gcp/sql/_inputs.py +6 -6
  106. pulumi_gcp/sql/outputs.py +4 -4
  107. pulumi_gcp/sql/user.py +28 -21
  108. pulumi_gcp/storage/_inputs.py +36 -0
  109. pulumi_gcp/storage/bucket.py +47 -0
  110. pulumi_gcp/storage/get_bucket.py +12 -1
  111. pulumi_gcp/storage/outputs.py +40 -0
  112. pulumi_gcp/transcoder/__init__.py +11 -0
  113. pulumi_gcp/transcoder/_inputs.py +3991 -0
  114. pulumi_gcp/transcoder/job.py +2134 -0
  115. pulumi_gcp/transcoder/job_template.py +1524 -0
  116. pulumi_gcp/transcoder/outputs.py +2918 -0
  117. pulumi_gcp/vertex/ai_deployment_resource_pool.py +2 -2
  118. pulumi_gcp/vmwareengine/_inputs.py +440 -0
  119. pulumi_gcp/vmwareengine/cluster.py +100 -2
  120. pulumi_gcp/vmwareengine/get_cluster.py +12 -1
  121. pulumi_gcp/vmwareengine/outputs.py +615 -0
  122. pulumi_gcp/workstations/_inputs.py +54 -0
  123. pulumi_gcp/workstations/outputs.py +32 -0
  124. pulumi_gcp/workstations/workstation_config.py +205 -0
  125. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/METADATA +1 -1
  126. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/RECORD +128 -105
  127. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/WHEEL +1 -1
  128. {pulumi_gcp-8.6.0a1728595713.dist-info → pulumi_gcp-8.7.0.dist-info}/top_level.txt +0 -0
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
16
18
 
17
19
  __all__ = ['InternalRangeArgs', 'InternalRange']
18
20
 
@@ -25,6 +27,7 @@ class InternalRangeArgs:
25
27
  description: Optional[pulumi.Input[str]] = None,
26
28
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
27
29
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
30
+ migration: Optional[pulumi.Input['InternalRangeMigrationArgs']] = None,
28
31
  name: Optional[pulumi.Input[str]] = None,
29
32
  overlaps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
30
33
  prefix_length: Optional[pulumi.Input[int]] = None,
@@ -39,13 +42,15 @@ class InternalRangeArgs:
39
42
 
40
43
  - - -
41
44
  :param pulumi.Input[str] usage: The type of usage set for this InternalRange.
42
- Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`.
45
+ Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
43
46
  :param pulumi.Input[str] description: An optional description of this resource.
44
47
  :param pulumi.Input[str] ip_cidr_range: The IP range that this internal range defines.
45
48
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels.
46
49
 
47
50
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
48
51
  Please refer to the field `effective_labels` for all of the labels present on the resource.
52
+ :param pulumi.Input['InternalRangeMigrationArgs'] migration: Specification for migration with source and target resource names.
53
+ Structure is documented below.
49
54
  :param pulumi.Input[str] name: The name of the policy based route.
50
55
  :param pulumi.Input[Sequence[pulumi.Input[str]]] overlaps: Optional. Types of resources that are allowed to overlap with the current internal range.
51
56
  Each value may be one of: `OVERLAP_ROUTE_RANGE`, `OVERLAP_EXISTING_SUBNET_RANGE`.
@@ -65,6 +70,8 @@ class InternalRangeArgs:
65
70
  pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
66
71
  if labels is not None:
67
72
  pulumi.set(__self__, "labels", labels)
73
+ if migration is not None:
74
+ pulumi.set(__self__, "migration", migration)
68
75
  if name is not None:
69
76
  pulumi.set(__self__, "name", name)
70
77
  if overlaps is not None:
@@ -109,7 +116,7 @@ class InternalRangeArgs:
109
116
  def usage(self) -> pulumi.Input[str]:
110
117
  """
111
118
  The type of usage set for this InternalRange.
112
- Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`.
119
+ Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
113
120
  """
114
121
  return pulumi.get(self, "usage")
115
122
 
@@ -156,6 +163,19 @@ class InternalRangeArgs:
156
163
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
157
164
  pulumi.set(self, "labels", value)
158
165
 
166
+ @property
167
+ @pulumi.getter
168
+ def migration(self) -> Optional[pulumi.Input['InternalRangeMigrationArgs']]:
169
+ """
170
+ Specification for migration with source and target resource names.
171
+ Structure is documented below.
172
+ """
173
+ return pulumi.get(self, "migration")
174
+
175
+ @migration.setter
176
+ def migration(self, value: Optional[pulumi.Input['InternalRangeMigrationArgs']]):
177
+ pulumi.set(self, "migration", value)
178
+
159
179
  @property
160
180
  @pulumi.getter
161
181
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -228,6 +248,7 @@ class _InternalRangeState:
228
248
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
229
249
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
230
250
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
251
+ migration: Optional[pulumi.Input['InternalRangeMigrationArgs']] = None,
231
252
  name: Optional[pulumi.Input[str]] = None,
232
253
  network: Optional[pulumi.Input[str]] = None,
233
254
  overlaps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -247,6 +268,8 @@ class _InternalRangeState:
247
268
 
248
269
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
249
270
  Please refer to the field `effective_labels` for all of the labels present on the resource.
271
+ :param pulumi.Input['InternalRangeMigrationArgs'] migration: Specification for migration with source and target resource names.
272
+ Structure is documented below.
250
273
  :param pulumi.Input[str] name: The name of the policy based route.
251
274
  :param pulumi.Input[str] network: Fully-qualified URL of the network that this route applies to, for example: projects/my-project/global/networks/my-network.
252
275
  :param pulumi.Input[Sequence[pulumi.Input[str]]] overlaps: Optional. Types of resources that are allowed to overlap with the current internal range.
@@ -265,7 +288,7 @@ class _InternalRangeState:
265
288
  :param pulumi.Input[Sequence[pulumi.Input[str]]] target_cidr_ranges: Optional. Can be set to narrow down or pick a different address space while searching for a free range.
266
289
  If not set, defaults to the "10.0.0.0/8" address space. This can be used to search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC.
267
290
  :param pulumi.Input[str] usage: The type of usage set for this InternalRange.
268
- Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`.
291
+ Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
269
292
  :param pulumi.Input[Sequence[pulumi.Input[str]]] users: Output only. The list of resources that refer to this internal range.
270
293
  Resources that use the internal range for their range allocation are referred to as users of the range.
271
294
  Other resources mark themselves as users while doing so by creating a reference to this internal range. Having a user, based on this reference, prevents deletion of the internal range referred to. Can be empty.
@@ -278,6 +301,8 @@ class _InternalRangeState:
278
301
  pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
279
302
  if labels is not None:
280
303
  pulumi.set(__self__, "labels", labels)
304
+ if migration is not None:
305
+ pulumi.set(__self__, "migration", migration)
281
306
  if name is not None:
282
307
  pulumi.set(__self__, "name", name)
283
308
  if network is not None:
@@ -350,6 +375,19 @@ class _InternalRangeState:
350
375
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
351
376
  pulumi.set(self, "labels", value)
352
377
 
378
+ @property
379
+ @pulumi.getter
380
+ def migration(self) -> Optional[pulumi.Input['InternalRangeMigrationArgs']]:
381
+ """
382
+ Specification for migration with source and target resource names.
383
+ Structure is documented below.
384
+ """
385
+ return pulumi.get(self, "migration")
386
+
387
+ @migration.setter
388
+ def migration(self, value: Optional[pulumi.Input['InternalRangeMigrationArgs']]):
389
+ pulumi.set(self, "migration", value)
390
+
353
391
  @property
354
392
  @pulumi.getter
355
393
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -460,7 +498,7 @@ class _InternalRangeState:
460
498
  def usage(self) -> Optional[pulumi.Input[str]]:
461
499
  """
462
500
  The type of usage set for this InternalRange.
463
- Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`.
501
+ Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
464
502
  """
465
503
  return pulumi.get(self, "usage")
466
504
 
@@ -491,6 +529,7 @@ class InternalRange(pulumi.CustomResource):
491
529
  description: Optional[pulumi.Input[str]] = None,
492
530
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
493
531
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
532
+ migration: Optional[pulumi.Input[Union['InternalRangeMigrationArgs', 'InternalRangeMigrationArgsDict']]] = None,
494
533
  name: Optional[pulumi.Input[str]] = None,
495
534
  network: Optional[pulumi.Input[str]] = None,
496
535
  overlaps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -591,6 +630,33 @@ class InternalRange(pulumi.CustomResource):
591
630
  overlaps=["OVERLAP_EXISTING_SUBNET_RANGE"],
592
631
  opts = pulumi.ResourceOptions(depends_on=[default_subnetwork]))
593
632
  ```
633
+ ### Network Connectivity Internal Ranges Migration
634
+
635
+ ```python
636
+ import pulumi
637
+ import pulumi_gcp as gcp
638
+
639
+ default_network = gcp.compute.Network("default",
640
+ name="internal-ranges",
641
+ auto_create_subnetworks=False)
642
+ source = gcp.compute.Subnetwork("source",
643
+ name="source-subnet",
644
+ ip_cidr_range="10.1.0.0/16",
645
+ region="us-central1",
646
+ network=default_network.name)
647
+ target_project = gcp.organizations.get_project()
648
+ default = gcp.networkconnectivity.InternalRange("default",
649
+ name="migration",
650
+ description="Test internal range",
651
+ network=default_network.self_link,
652
+ usage="FOR_MIGRATION",
653
+ peering="FOR_SELF",
654
+ ip_cidr_range="10.1.0.0/16",
655
+ migration={
656
+ "source": source.self_link,
657
+ "target": f"projects/{target_project.project_id}/regions/us-central1/subnetworks/target-subnet",
658
+ })
659
+ ```
594
660
 
595
661
  ## Import
596
662
 
@@ -624,6 +690,8 @@ class InternalRange(pulumi.CustomResource):
624
690
 
625
691
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
626
692
  Please refer to the field `effective_labels` for all of the labels present on the resource.
693
+ :param pulumi.Input[Union['InternalRangeMigrationArgs', 'InternalRangeMigrationArgsDict']] migration: Specification for migration with source and target resource names.
694
+ Structure is documented below.
627
695
  :param pulumi.Input[str] name: The name of the policy based route.
628
696
  :param pulumi.Input[str] network: Fully-qualified URL of the network that this route applies to, for example: projects/my-project/global/networks/my-network.
629
697
  :param pulumi.Input[Sequence[pulumi.Input[str]]] overlaps: Optional. Types of resources that are allowed to overlap with the current internal range.
@@ -640,7 +708,7 @@ class InternalRange(pulumi.CustomResource):
640
708
  :param pulumi.Input[Sequence[pulumi.Input[str]]] target_cidr_ranges: Optional. Can be set to narrow down or pick a different address space while searching for a free range.
641
709
  If not set, defaults to the "10.0.0.0/8" address space. This can be used to search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC.
642
710
  :param pulumi.Input[str] usage: The type of usage set for this InternalRange.
643
- Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`.
711
+ Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
644
712
  """
645
713
  ...
646
714
  @overload
@@ -739,6 +807,33 @@ class InternalRange(pulumi.CustomResource):
739
807
  overlaps=["OVERLAP_EXISTING_SUBNET_RANGE"],
740
808
  opts = pulumi.ResourceOptions(depends_on=[default_subnetwork]))
741
809
  ```
810
+ ### Network Connectivity Internal Ranges Migration
811
+
812
+ ```python
813
+ import pulumi
814
+ import pulumi_gcp as gcp
815
+
816
+ default_network = gcp.compute.Network("default",
817
+ name="internal-ranges",
818
+ auto_create_subnetworks=False)
819
+ source = gcp.compute.Subnetwork("source",
820
+ name="source-subnet",
821
+ ip_cidr_range="10.1.0.0/16",
822
+ region="us-central1",
823
+ network=default_network.name)
824
+ target_project = gcp.organizations.get_project()
825
+ default = gcp.networkconnectivity.InternalRange("default",
826
+ name="migration",
827
+ description="Test internal range",
828
+ network=default_network.self_link,
829
+ usage="FOR_MIGRATION",
830
+ peering="FOR_SELF",
831
+ ip_cidr_range="10.1.0.0/16",
832
+ migration={
833
+ "source": source.self_link,
834
+ "target": f"projects/{target_project.project_id}/regions/us-central1/subnetworks/target-subnet",
835
+ })
836
+ ```
742
837
 
743
838
  ## Import
744
839
 
@@ -782,6 +877,7 @@ class InternalRange(pulumi.CustomResource):
782
877
  description: Optional[pulumi.Input[str]] = None,
783
878
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
784
879
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
880
+ migration: Optional[pulumi.Input[Union['InternalRangeMigrationArgs', 'InternalRangeMigrationArgsDict']]] = None,
785
881
  name: Optional[pulumi.Input[str]] = None,
786
882
  network: Optional[pulumi.Input[str]] = None,
787
883
  overlaps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -802,6 +898,7 @@ class InternalRange(pulumi.CustomResource):
802
898
  __props__.__dict__["description"] = description
803
899
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
804
900
  __props__.__dict__["labels"] = labels
901
+ __props__.__dict__["migration"] = migration
805
902
  __props__.__dict__["name"] = name
806
903
  if network is None and not opts.urn:
807
904
  raise TypeError("Missing required property 'network'")
@@ -835,6 +932,7 @@ class InternalRange(pulumi.CustomResource):
835
932
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
836
933
  ip_cidr_range: Optional[pulumi.Input[str]] = None,
837
934
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
935
+ migration: Optional[pulumi.Input[Union['InternalRangeMigrationArgs', 'InternalRangeMigrationArgsDict']]] = None,
838
936
  name: Optional[pulumi.Input[str]] = None,
839
937
  network: Optional[pulumi.Input[str]] = None,
840
938
  overlaps: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
@@ -859,6 +957,8 @@ class InternalRange(pulumi.CustomResource):
859
957
 
860
958
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
861
959
  Please refer to the field `effective_labels` for all of the labels present on the resource.
960
+ :param pulumi.Input[Union['InternalRangeMigrationArgs', 'InternalRangeMigrationArgsDict']] migration: Specification for migration with source and target resource names.
961
+ Structure is documented below.
862
962
  :param pulumi.Input[str] name: The name of the policy based route.
863
963
  :param pulumi.Input[str] network: Fully-qualified URL of the network that this route applies to, for example: projects/my-project/global/networks/my-network.
864
964
  :param pulumi.Input[Sequence[pulumi.Input[str]]] overlaps: Optional. Types of resources that are allowed to overlap with the current internal range.
@@ -877,7 +977,7 @@ class InternalRange(pulumi.CustomResource):
877
977
  :param pulumi.Input[Sequence[pulumi.Input[str]]] target_cidr_ranges: Optional. Can be set to narrow down or pick a different address space while searching for a free range.
878
978
  If not set, defaults to the "10.0.0.0/8" address space. This can be used to search in other rfc-1918 address spaces like "172.16.0.0/12" and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC.
879
979
  :param pulumi.Input[str] usage: The type of usage set for this InternalRange.
880
- Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`.
980
+ Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
881
981
  :param pulumi.Input[Sequence[pulumi.Input[str]]] users: Output only. The list of resources that refer to this internal range.
882
982
  Resources that use the internal range for their range allocation are referred to as users of the range.
883
983
  Other resources mark themselves as users while doing so by creating a reference to this internal range. Having a user, based on this reference, prevents deletion of the internal range referred to. Can be empty.
@@ -890,6 +990,7 @@ class InternalRange(pulumi.CustomResource):
890
990
  __props__.__dict__["effective_labels"] = effective_labels
891
991
  __props__.__dict__["ip_cidr_range"] = ip_cidr_range
892
992
  __props__.__dict__["labels"] = labels
993
+ __props__.__dict__["migration"] = migration
893
994
  __props__.__dict__["name"] = name
894
995
  __props__.__dict__["network"] = network
895
996
  __props__.__dict__["overlaps"] = overlaps
@@ -937,6 +1038,15 @@ class InternalRange(pulumi.CustomResource):
937
1038
  """
938
1039
  return pulumi.get(self, "labels")
939
1040
 
1041
+ @property
1042
+ @pulumi.getter
1043
+ def migration(self) -> pulumi.Output[Optional['outputs.InternalRangeMigration']]:
1044
+ """
1045
+ Specification for migration with source and target resource names.
1046
+ Structure is documented below.
1047
+ """
1048
+ return pulumi.get(self, "migration")
1049
+
940
1050
  @property
941
1051
  @pulumi.getter
942
1052
  def name(self) -> pulumi.Output[str]:
@@ -1015,7 +1125,7 @@ class InternalRange(pulumi.CustomResource):
1015
1125
  def usage(self) -> pulumi.Output[str]:
1016
1126
  """
1017
1127
  The type of usage set for this InternalRange.
1018
- Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`.
1128
+ Possible values are: `FOR_VPC`, `EXTERNAL_TO_VPC`, `FOR_MIGRATION`.
1019
1129
  """
1020
1130
  return pulumi.get(self, "usage")
1021
1131
 
@@ -16,7 +16,9 @@ from .. import _utilities
16
16
  from . import outputs
17
17
 
18
18
  __all__ = [
19
+ 'GroupAutoAccept',
19
20
  'HubRoutingVpc',
21
+ 'InternalRangeMigration',
20
22
  'PolicyBasedRouteFilter',
21
23
  'PolicyBasedRouteInterconnectAttachment',
22
24
  'PolicyBasedRouteVirtualMachine',
@@ -26,12 +28,48 @@ __all__ = [
26
28
  'ServiceConnectionPolicyPscConnectionError',
27
29
  'ServiceConnectionPolicyPscConnectionErrorInfo',
28
30
  'SpokeLinkedInterconnectAttachments',
31
+ 'SpokeLinkedProducerVpcNetwork',
29
32
  'SpokeLinkedRouterApplianceInstances',
30
33
  'SpokeLinkedRouterApplianceInstancesInstance',
31
34
  'SpokeLinkedVpcNetwork',
32
35
  'SpokeLinkedVpnTunnels',
33
36
  ]
34
37
 
38
+ @pulumi.output_type
39
+ class GroupAutoAccept(dict):
40
+ @staticmethod
41
+ def __key_warning(key: str):
42
+ suggest = None
43
+ if key == "autoAcceptProjects":
44
+ suggest = "auto_accept_projects"
45
+
46
+ if suggest:
47
+ pulumi.log.warn(f"Key '{key}' not found in GroupAutoAccept. Access the value via the '{suggest}' property getter instead.")
48
+
49
+ def __getitem__(self, key: str) -> Any:
50
+ GroupAutoAccept.__key_warning(key)
51
+ return super().__getitem__(key)
52
+
53
+ def get(self, key: str, default = None) -> Any:
54
+ GroupAutoAccept.__key_warning(key)
55
+ return super().get(key, default)
56
+
57
+ def __init__(__self__, *,
58
+ auto_accept_projects: Sequence[str]):
59
+ """
60
+ :param Sequence[str] auto_accept_projects: A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.
61
+ """
62
+ pulumi.set(__self__, "auto_accept_projects", auto_accept_projects)
63
+
64
+ @property
65
+ @pulumi.getter(name="autoAcceptProjects")
66
+ def auto_accept_projects(self) -> Sequence[str]:
67
+ """
68
+ A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.
69
+ """
70
+ return pulumi.get(self, "auto_accept_projects")
71
+
72
+
35
73
  @pulumi.output_type
36
74
  class HubRoutingVpc(dict):
37
75
  def __init__(__self__, *,
@@ -51,6 +89,47 @@ class HubRoutingVpc(dict):
51
89
  return pulumi.get(self, "uri")
52
90
 
53
91
 
92
+ @pulumi.output_type
93
+ class InternalRangeMigration(dict):
94
+ def __init__(__self__, *,
95
+ source: str,
96
+ target: str):
97
+ """
98
+ :param str source: Resource path as an URI of the source resource, for example a subnet.
99
+ The project for the source resource should match the project for the
100
+ InternalRange.
101
+ An example /projects/{project}/regions/{region}/subnetworks/{subnet}
102
+ :param str target: Resource path of the target resource. The target project can be
103
+ different, as in the cases when migrating to peer networks. The resource
104
+ may not exist yet.
105
+ For example /projects/{project}/regions/{region}/subnetworks/{subnet}
106
+ """
107
+ pulumi.set(__self__, "source", source)
108
+ pulumi.set(__self__, "target", target)
109
+
110
+ @property
111
+ @pulumi.getter
112
+ def source(self) -> str:
113
+ """
114
+ Resource path as an URI of the source resource, for example a subnet.
115
+ The project for the source resource should match the project for the
116
+ InternalRange.
117
+ An example /projects/{project}/regions/{region}/subnetworks/{subnet}
118
+ """
119
+ return pulumi.get(self, "source")
120
+
121
+ @property
122
+ @pulumi.getter
123
+ def target(self) -> str:
124
+ """
125
+ Resource path of the target resource. The target project can be
126
+ different, as in the cases when migrating to peer networks. The resource
127
+ may not exist yet.
128
+ For example /projects/{project}/regions/{region}/subnetworks/{subnet}
129
+ """
130
+ return pulumi.get(self, "target")
131
+
132
+
54
133
  @pulumi.output_type
55
134
  class PolicyBasedRouteFilter(dict):
56
135
  @staticmethod
@@ -570,6 +649,94 @@ class SpokeLinkedInterconnectAttachments(dict):
570
649
  return pulumi.get(self, "include_import_ranges")
571
650
 
572
651
 
652
+ @pulumi.output_type
653
+ class SpokeLinkedProducerVpcNetwork(dict):
654
+ @staticmethod
655
+ def __key_warning(key: str):
656
+ suggest = None
657
+ if key == "excludeExportRanges":
658
+ suggest = "exclude_export_ranges"
659
+ elif key == "includeExportRanges":
660
+ suggest = "include_export_ranges"
661
+ elif key == "producerNetwork":
662
+ suggest = "producer_network"
663
+
664
+ if suggest:
665
+ pulumi.log.warn(f"Key '{key}' not found in SpokeLinkedProducerVpcNetwork. Access the value via the '{suggest}' property getter instead.")
666
+
667
+ def __getitem__(self, key: str) -> Any:
668
+ SpokeLinkedProducerVpcNetwork.__key_warning(key)
669
+ return super().__getitem__(key)
670
+
671
+ def get(self, key: str, default = None) -> Any:
672
+ SpokeLinkedProducerVpcNetwork.__key_warning(key)
673
+ return super().get(key, default)
674
+
675
+ def __init__(__self__, *,
676
+ network: str,
677
+ peering: str,
678
+ exclude_export_ranges: Optional[Sequence[str]] = None,
679
+ include_export_ranges: Optional[Sequence[str]] = None,
680
+ producer_network: Optional[str] = None):
681
+ """
682
+ :param str network: The URI of the Service Consumer VPC that the Producer VPC is peered with.
683
+ :param str peering: The name of the VPC peering between the Service Consumer VPC and the Producer VPC (defined in the Tenant project) which is added to the NCC hub. This peering must be in ACTIVE state.
684
+ :param Sequence[str] exclude_export_ranges: IP ranges encompassing the subnets to be excluded from peering.
685
+ :param Sequence[str] include_export_ranges: IP ranges allowed to be included from peering.
686
+ :param str producer_network: (Output)
687
+ The URI of the Producer VPC.
688
+ """
689
+ pulumi.set(__self__, "network", network)
690
+ pulumi.set(__self__, "peering", peering)
691
+ if exclude_export_ranges is not None:
692
+ pulumi.set(__self__, "exclude_export_ranges", exclude_export_ranges)
693
+ if include_export_ranges is not None:
694
+ pulumi.set(__self__, "include_export_ranges", include_export_ranges)
695
+ if producer_network is not None:
696
+ pulumi.set(__self__, "producer_network", producer_network)
697
+
698
+ @property
699
+ @pulumi.getter
700
+ def network(self) -> str:
701
+ """
702
+ The URI of the Service Consumer VPC that the Producer VPC is peered with.
703
+ """
704
+ return pulumi.get(self, "network")
705
+
706
+ @property
707
+ @pulumi.getter
708
+ def peering(self) -> str:
709
+ """
710
+ The name of the VPC peering between the Service Consumer VPC and the Producer VPC (defined in the Tenant project) which is added to the NCC hub. This peering must be in ACTIVE state.
711
+ """
712
+ return pulumi.get(self, "peering")
713
+
714
+ @property
715
+ @pulumi.getter(name="excludeExportRanges")
716
+ def exclude_export_ranges(self) -> Optional[Sequence[str]]:
717
+ """
718
+ IP ranges encompassing the subnets to be excluded from peering.
719
+ """
720
+ return pulumi.get(self, "exclude_export_ranges")
721
+
722
+ @property
723
+ @pulumi.getter(name="includeExportRanges")
724
+ def include_export_ranges(self) -> Optional[Sequence[str]]:
725
+ """
726
+ IP ranges allowed to be included from peering.
727
+ """
728
+ return pulumi.get(self, "include_export_ranges")
729
+
730
+ @property
731
+ @pulumi.getter(name="producerNetwork")
732
+ def producer_network(self) -> Optional[str]:
733
+ """
734
+ (Output)
735
+ The URI of the Producer VPC.
736
+ """
737
+ return pulumi.get(self, "producer_network")
738
+
739
+
573
740
  @pulumi.output_type
574
741
  class SpokeLinkedRouterApplianceInstances(dict):
575
742
  @staticmethod