pulumi-gcp 8.13.0a1736231082__py3-none-any.whl → 8.13.1__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 (90) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +3 -3
  3. pulumi_gcp/accesscontextmanager/outputs.py +2 -2
  4. pulumi_gcp/artifactregistry/_inputs.py +83 -0
  5. pulumi_gcp/artifactregistry/get_repository.py +15 -4
  6. pulumi_gcp/artifactregistry/outputs.py +112 -0
  7. pulumi_gcp/artifactregistry/repository.py +93 -7
  8. pulumi_gcp/backupdisasterrecovery/get_backup.py +38 -2
  9. pulumi_gcp/backupdisasterrecovery/get_data_source.py +38 -2
  10. pulumi_gcp/backupdisasterrecovery/outputs.py +8 -8
  11. pulumi_gcp/bigquery/_inputs.py +369 -0
  12. pulumi_gcp/bigquery/dataset_access.py +61 -0
  13. pulumi_gcp/bigquery/job.py +6 -18
  14. pulumi_gcp/bigquery/outputs.py +350 -0
  15. pulumi_gcp/bigquery/table.py +47 -0
  16. pulumi_gcp/chronicle/__init__.py +10 -0
  17. pulumi_gcp/chronicle/_inputs.py +169 -0
  18. pulumi_gcp/chronicle/outputs.py +107 -0
  19. pulumi_gcp/chronicle/watchlist.py +776 -0
  20. pulumi_gcp/cloudrunv2/_inputs.py +6 -3
  21. pulumi_gcp/cloudrunv2/outputs.py +10 -6
  22. pulumi_gcp/composer/_inputs.py +80 -5
  23. pulumi_gcp/composer/outputs.py +111 -4
  24. pulumi_gcp/compute/_inputs.py +181 -87
  25. pulumi_gcp/compute/firewall_policy_association.py +50 -39
  26. pulumi_gcp/compute/get_network.py +17 -2
  27. pulumi_gcp/compute/get_subnetwork.py +18 -4
  28. pulumi_gcp/compute/network.py +39 -2
  29. pulumi_gcp/compute/outputs.py +157 -58
  30. pulumi_gcp/compute/region_network_endpoint_group.py +1 -1
  31. pulumi_gcp/compute/resize_request.py +26 -40
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/dataproc/batch.py +4 -18
  35. pulumi_gcp/datastream/_inputs.py +68 -0
  36. pulumi_gcp/datastream/outputs.py +41 -1
  37. pulumi_gcp/developerconnect/connection.py +58 -12
  38. pulumi_gcp/diagflow/_inputs.py +3 -3
  39. pulumi_gcp/diagflow/outputs.py +2 -2
  40. pulumi_gcp/filestore/backup.py +71 -3
  41. pulumi_gcp/firebase/hosting_custom_domain.py +4 -4
  42. pulumi_gcp/firestore/_inputs.py +3 -3
  43. pulumi_gcp/firestore/outputs.py +2 -2
  44. pulumi_gcp/gkehub/__init__.py +1 -0
  45. pulumi_gcp/gkehub/get_feature.py +226 -0
  46. pulumi_gcp/gkehub/outputs.py +1153 -0
  47. pulumi_gcp/gkeonprem/__init__.py +1 -0
  48. pulumi_gcp/gkeonprem/_inputs.py +2364 -0
  49. pulumi_gcp/gkeonprem/outputs.py +1780 -0
  50. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +1715 -0
  51. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  52. pulumi_gcp/integrationconnectors/connection.py +7 -7
  53. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  54. pulumi_gcp/kms/__init__.py +2 -0
  55. pulumi_gcp/kms/get_autokey_config.py +121 -0
  56. pulumi_gcp/kms/get_key_handle.py +185 -0
  57. pulumi_gcp/netapp/kmsconfig.py +2 -14
  58. pulumi_gcp/networkconnectivity/hub.py +108 -0
  59. pulumi_gcp/networkconnectivity/spoke.py +195 -0
  60. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +4 -0
  61. pulumi_gcp/networksecurity/__init__.py +2 -0
  62. pulumi_gcp/networksecurity/_inputs.py +78 -0
  63. pulumi_gcp/networksecurity/intercept_endpoint_group.py +723 -0
  64. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +815 -0
  65. pulumi_gcp/networksecurity/outputs.py +48 -0
  66. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  67. pulumi_gcp/orgpolicy/policy.py +2 -2
  68. pulumi_gcp/parallelstore/instance.py +149 -0
  69. pulumi_gcp/projects/usage_export_bucket.py +42 -110
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/subscription.py +6 -6
  72. pulumi_gcp/pulumi-plugin.json +1 -1
  73. pulumi_gcp/securesourcemanager/instance.py +4 -16
  74. pulumi_gcp/spanner/instance_iam_binding.py +14 -0
  75. pulumi_gcp/spanner/instance_iam_member.py +14 -0
  76. pulumi_gcp/sql/database_instance.py +7 -7
  77. pulumi_gcp/storage/__init__.py +1 -0
  78. pulumi_gcp/storage/_inputs.py +431 -0
  79. pulumi_gcp/storage/folder.py +483 -0
  80. pulumi_gcp/storage/outputs.py +363 -0
  81. pulumi_gcp/storage/transfer_job.py +84 -38
  82. pulumi_gcp/vertex/_inputs.py +26 -25
  83. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  84. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  85. pulumi_gcp/vertex/outputs.py +15 -14
  86. pulumi_gcp/workstations/workstation.py +55 -1
  87. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.1.dist-info}/METADATA +2 -2
  88. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.1.dist-info}/RECORD +90 -79
  89. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.1.dist-info}/WHEEL +1 -1
  90. {pulumi_gcp-8.13.0a1736231082.dist-info → pulumi_gcp-8.13.1.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,7 @@ class HubArgs:
25
25
  export_psc: Optional[pulumi.Input[bool]] = None,
26
26
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
27
  name: Optional[pulumi.Input[str]] = None,
28
+ preset_topology: Optional[pulumi.Input[str]] = None,
28
29
  project: Optional[pulumi.Input[str]] = None):
29
30
  """
30
31
  The set of arguments for constructing a Hub resource.
@@ -37,6 +38,8 @@ class HubArgs:
37
38
 
38
39
 
39
40
  - - -
41
+ :param pulumi.Input[str] preset_topology: Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.
42
+ Possible values are: `MESH`, `STAR`.
40
43
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
41
44
  If it is not provided, the provider project is used.
42
45
  """
@@ -48,6 +51,8 @@ class HubArgs:
48
51
  pulumi.set(__self__, "labels", labels)
49
52
  if name is not None:
50
53
  pulumi.set(__self__, "name", name)
54
+ if preset_topology is not None:
55
+ pulumi.set(__self__, "preset_topology", preset_topology)
51
56
  if project is not None:
52
57
  pulumi.set(__self__, "project", project)
53
58
 
@@ -104,6 +109,19 @@ class HubArgs:
104
109
  def name(self, value: Optional[pulumi.Input[str]]):
105
110
  pulumi.set(self, "name", value)
106
111
 
112
+ @property
113
+ @pulumi.getter(name="presetTopology")
114
+ def preset_topology(self) -> Optional[pulumi.Input[str]]:
115
+ """
116
+ Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.
117
+ Possible values are: `MESH`, `STAR`.
118
+ """
119
+ return pulumi.get(self, "preset_topology")
120
+
121
+ @preset_topology.setter
122
+ def preset_topology(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "preset_topology", value)
124
+
107
125
  @property
108
126
  @pulumi.getter
109
127
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -127,6 +145,7 @@ class _HubState:
127
145
  export_psc: Optional[pulumi.Input[bool]] = None,
128
146
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
129
147
  name: Optional[pulumi.Input[str]] = None,
148
+ preset_topology: Optional[pulumi.Input[str]] = None,
130
149
  project: Optional[pulumi.Input[str]] = None,
131
150
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
132
151
  routing_vpcs: Optional[pulumi.Input[Sequence[pulumi.Input['HubRoutingVpcArgs']]]] = None,
@@ -146,6 +165,8 @@ class _HubState:
146
165
 
147
166
 
148
167
  - - -
168
+ :param pulumi.Input[str] preset_topology: Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.
169
+ Possible values are: `MESH`, `STAR`.
149
170
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
150
171
  If it is not provided, the provider project is used.
151
172
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -168,6 +189,8 @@ class _HubState:
168
189
  pulumi.set(__self__, "labels", labels)
169
190
  if name is not None:
170
191
  pulumi.set(__self__, "name", name)
192
+ if preset_topology is not None:
193
+ pulumi.set(__self__, "preset_topology", preset_topology)
171
194
  if project is not None:
172
195
  pulumi.set(__self__, "project", project)
173
196
  if pulumi_labels is not None:
@@ -258,6 +281,19 @@ class _HubState:
258
281
  def name(self, value: Optional[pulumi.Input[str]]):
259
282
  pulumi.set(self, "name", value)
260
283
 
284
+ @property
285
+ @pulumi.getter(name="presetTopology")
286
+ def preset_topology(self) -> Optional[pulumi.Input[str]]:
287
+ """
288
+ Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.
289
+ Possible values are: `MESH`, `STAR`.
290
+ """
291
+ return pulumi.get(self, "preset_topology")
292
+
293
+ @preset_topology.setter
294
+ def preset_topology(self, value: Optional[pulumi.Input[str]]):
295
+ pulumi.set(self, "preset_topology", value)
296
+
261
297
  @property
262
298
  @pulumi.getter
263
299
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -343,6 +379,7 @@ class Hub(pulumi.CustomResource):
343
379
  export_psc: Optional[pulumi.Input[bool]] = None,
344
380
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
345
381
  name: Optional[pulumi.Input[str]] = None,
382
+ preset_topology: Optional[pulumi.Input[str]] = None,
346
383
  project: Optional[pulumi.Input[str]] = None,
347
384
  __props__=None):
348
385
  """
@@ -380,6 +417,33 @@ class Hub(pulumi.CustomResource):
380
417
  description="A sample hub with Private Service Connect transitivity is enabled",
381
418
  export_psc=True)
382
419
  ```
420
+ ### Network Connectivity Hub Mesh Topology
421
+
422
+ ```python
423
+ import pulumi
424
+ import pulumi_gcp as gcp
425
+
426
+ primary = gcp.networkconnectivity.Hub("primary",
427
+ name="mesh",
428
+ description="A sample mesh hub",
429
+ labels={
430
+ "label-one": "value-one",
431
+ })
432
+ ```
433
+ ### Network Connectivity Hub Star Topology
434
+
435
+ ```python
436
+ import pulumi
437
+ import pulumi_gcp as gcp
438
+
439
+ primary = gcp.networkconnectivity.Hub("primary",
440
+ name="star",
441
+ description="A sample star hub",
442
+ labels={
443
+ "label-one": "value-one",
444
+ },
445
+ preset_topology="STAR")
446
+ ```
383
447
 
384
448
  ## Import
385
449
 
@@ -416,6 +480,8 @@ class Hub(pulumi.CustomResource):
416
480
 
417
481
 
418
482
  - - -
483
+ :param pulumi.Input[str] preset_topology: Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.
484
+ Possible values are: `MESH`, `STAR`.
419
485
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
420
486
  If it is not provided, the provider project is used.
421
487
  """
@@ -460,6 +526,33 @@ class Hub(pulumi.CustomResource):
460
526
  description="A sample hub with Private Service Connect transitivity is enabled",
461
527
  export_psc=True)
462
528
  ```
529
+ ### Network Connectivity Hub Mesh Topology
530
+
531
+ ```python
532
+ import pulumi
533
+ import pulumi_gcp as gcp
534
+
535
+ primary = gcp.networkconnectivity.Hub("primary",
536
+ name="mesh",
537
+ description="A sample mesh hub",
538
+ labels={
539
+ "label-one": "value-one",
540
+ })
541
+ ```
542
+ ### Network Connectivity Hub Star Topology
543
+
544
+ ```python
545
+ import pulumi
546
+ import pulumi_gcp as gcp
547
+
548
+ primary = gcp.networkconnectivity.Hub("primary",
549
+ name="star",
550
+ description="A sample star hub",
551
+ labels={
552
+ "label-one": "value-one",
553
+ },
554
+ preset_topology="STAR")
555
+ ```
463
556
 
464
557
  ## Import
465
558
 
@@ -504,6 +597,7 @@ class Hub(pulumi.CustomResource):
504
597
  export_psc: Optional[pulumi.Input[bool]] = None,
505
598
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
506
599
  name: Optional[pulumi.Input[str]] = None,
600
+ preset_topology: Optional[pulumi.Input[str]] = None,
507
601
  project: Optional[pulumi.Input[str]] = None,
508
602
  __props__=None):
509
603
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -518,6 +612,7 @@ class Hub(pulumi.CustomResource):
518
612
  __props__.__dict__["export_psc"] = export_psc
519
613
  __props__.__dict__["labels"] = labels
520
614
  __props__.__dict__["name"] = name
615
+ __props__.__dict__["preset_topology"] = preset_topology
521
616
  __props__.__dict__["project"] = project
522
617
  __props__.__dict__["create_time"] = None
523
618
  __props__.__dict__["effective_labels"] = None
@@ -544,6 +639,7 @@ class Hub(pulumi.CustomResource):
544
639
  export_psc: Optional[pulumi.Input[bool]] = None,
545
640
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
546
641
  name: Optional[pulumi.Input[str]] = None,
642
+ preset_topology: Optional[pulumi.Input[str]] = None,
547
643
  project: Optional[pulumi.Input[str]] = None,
548
644
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
549
645
  routing_vpcs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HubRoutingVpcArgs', 'HubRoutingVpcArgsDict']]]]] = None,
@@ -568,6 +664,8 @@ class Hub(pulumi.CustomResource):
568
664
 
569
665
 
570
666
  - - -
667
+ :param pulumi.Input[str] preset_topology: Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.
668
+ Possible values are: `MESH`, `STAR`.
571
669
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
572
670
  If it is not provided, the provider project is used.
573
671
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -588,6 +686,7 @@ class Hub(pulumi.CustomResource):
588
686
  __props__.__dict__["export_psc"] = export_psc
589
687
  __props__.__dict__["labels"] = labels
590
688
  __props__.__dict__["name"] = name
689
+ __props__.__dict__["preset_topology"] = preset_topology
591
690
  __props__.__dict__["project"] = project
592
691
  __props__.__dict__["pulumi_labels"] = pulumi_labels
593
692
  __props__.__dict__["routing_vpcs"] = routing_vpcs
@@ -649,6 +748,15 @@ class Hub(pulumi.CustomResource):
649
748
  """
650
749
  return pulumi.get(self, "name")
651
750
 
751
+ @property
752
+ @pulumi.getter(name="presetTopology")
753
+ def preset_topology(self) -> pulumi.Output[str]:
754
+ """
755
+ Optional. The topology implemented in this hub. Currently, this field is only used when policyMode = PRESET. The available preset topologies are MESH and STAR. If presetTopology is unspecified and policyMode = PRESET, the presetTopology defaults to MESH. When policyMode = CUSTOM, the presetTopology is set to PRESET_TOPOLOGY_UNSPECIFIED.
756
+ Possible values are: `MESH`, `STAR`.
757
+ """
758
+ return pulumi.get(self, "preset_topology")
759
+
652
760
  @property
653
761
  @pulumi.getter
654
762
  def project(self) -> pulumi.Output[str]:
@@ -24,6 +24,7 @@ class SpokeArgs:
24
24
  hub: pulumi.Input[str],
25
25
  location: pulumi.Input[str],
26
26
  description: Optional[pulumi.Input[str]] = None,
27
+ group: Optional[pulumi.Input[str]] = None,
27
28
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
29
  linked_interconnect_attachments: Optional[pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs']] = None,
29
30
  linked_producer_vpc_network: Optional[pulumi.Input['SpokeLinkedProducerVpcNetworkArgs']] = None,
@@ -40,6 +41,7 @@ class SpokeArgs:
40
41
 
41
42
  - - -
42
43
  :param pulumi.Input[str] description: An optional description of the spoke.
44
+ :param pulumi.Input[str] group: The name of the group that this spoke is associated with.
43
45
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
44
46
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
45
47
  Please refer to the field `effective_labels` for all of the labels present on the resource.
@@ -61,6 +63,8 @@ class SpokeArgs:
61
63
  pulumi.set(__self__, "location", location)
62
64
  if description is not None:
63
65
  pulumi.set(__self__, "description", description)
66
+ if group is not None:
67
+ pulumi.set(__self__, "group", group)
64
68
  if labels is not None:
65
69
  pulumi.set(__self__, "labels", labels)
66
70
  if linked_interconnect_attachments is not None:
@@ -117,6 +121,18 @@ class SpokeArgs:
117
121
  def description(self, value: Optional[pulumi.Input[str]]):
118
122
  pulumi.set(self, "description", value)
119
123
 
124
+ @property
125
+ @pulumi.getter
126
+ def group(self) -> Optional[pulumi.Input[str]]:
127
+ """
128
+ The name of the group that this spoke is associated with.
129
+ """
130
+ return pulumi.get(self, "group")
131
+
132
+ @group.setter
133
+ def group(self, value: Optional[pulumi.Input[str]]):
134
+ pulumi.set(self, "group", value)
135
+
120
136
  @property
121
137
  @pulumi.getter
122
138
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -228,6 +244,7 @@ class _SpokeState:
228
244
  create_time: Optional[pulumi.Input[str]] = None,
229
245
  description: Optional[pulumi.Input[str]] = None,
230
246
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
247
+ group: Optional[pulumi.Input[str]] = None,
231
248
  hub: Optional[pulumi.Input[str]] = None,
232
249
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
233
250
  linked_interconnect_attachments: Optional[pulumi.Input['SpokeLinkedInterconnectAttachmentsArgs']] = None,
@@ -247,6 +264,7 @@ class _SpokeState:
247
264
  :param pulumi.Input[str] create_time: Output only. The time the spoke was created.
248
265
  :param pulumi.Input[str] description: An optional description of the spoke.
249
266
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
267
+ :param pulumi.Input[str] group: The name of the group that this spoke is associated with.
250
268
  :param pulumi.Input[str] hub: Immutable. The URI of the hub that this spoke is attached to.
251
269
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
252
270
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -280,6 +298,8 @@ class _SpokeState:
280
298
  pulumi.set(__self__, "description", description)
281
299
  if effective_labels is not None:
282
300
  pulumi.set(__self__, "effective_labels", effective_labels)
301
+ if group is not None:
302
+ pulumi.set(__self__, "group", group)
283
303
  if hub is not None:
284
304
  pulumi.set(__self__, "hub", hub)
285
305
  if labels is not None:
@@ -345,6 +365,18 @@ class _SpokeState:
345
365
  def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
346
366
  pulumi.set(self, "effective_labels", value)
347
367
 
368
+ @property
369
+ @pulumi.getter
370
+ def group(self) -> Optional[pulumi.Input[str]]:
371
+ """
372
+ The name of the group that this spoke is associated with.
373
+ """
374
+ return pulumi.get(self, "group")
375
+
376
+ @group.setter
377
+ def group(self, value: Optional[pulumi.Input[str]]):
378
+ pulumi.set(self, "group", value)
379
+
348
380
  @property
349
381
  @pulumi.getter
350
382
  def hub(self) -> Optional[pulumi.Input[str]]:
@@ -532,6 +564,7 @@ class Spoke(pulumi.CustomResource):
532
564
  resource_name: str,
533
565
  opts: Optional[pulumi.ResourceOptions] = None,
534
566
  description: Optional[pulumi.Input[str]] = None,
567
+ group: Optional[pulumi.Input[str]] = None,
535
568
  hub: Optional[pulumi.Input[str]] = None,
536
569
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
537
570
  linked_interconnect_attachments: Optional[pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']]] = None,
@@ -589,6 +622,46 @@ class Spoke(pulumi.CustomResource):
589
622
  "uri": network.self_link,
590
623
  })
591
624
  ```
625
+ ### Network Connectivity Spoke Linked Vpc Network Group
626
+
627
+ ```python
628
+ import pulumi
629
+ import pulumi_gcp as gcp
630
+
631
+ network = gcp.compute.Network("network",
632
+ name="net-spoke",
633
+ auto_create_subnetworks=False)
634
+ basic_hub = gcp.networkconnectivity.Hub("basic_hub",
635
+ name="hub1-spoke",
636
+ description="A sample hub",
637
+ labels={
638
+ "label-two": "value-one",
639
+ })
640
+ default_group = gcp.networkconnectivity.Group("default_group",
641
+ hub=basic_hub.id,
642
+ name="default",
643
+ description="A sample hub group")
644
+ primary = gcp.networkconnectivity.Spoke("primary",
645
+ name="group-spoke1",
646
+ location="global",
647
+ description="A sample spoke with a linked VPC",
648
+ labels={
649
+ "label-one": "value-one",
650
+ },
651
+ hub=basic_hub.id,
652
+ linked_vpc_network={
653
+ "exclude_export_ranges": [
654
+ "198.51.100.0/24",
655
+ "10.10.0.0/16",
656
+ ],
657
+ "include_export_ranges": [
658
+ "198.51.100.0/23",
659
+ "10.0.0.0/8",
660
+ ],
661
+ "uri": network.self_link,
662
+ },
663
+ group=default_group.id)
664
+ ```
592
665
  ### Network Connectivity Spoke Router Appliance Basic
593
666
 
594
667
  ```python
@@ -842,6 +915,40 @@ class Spoke(pulumi.CustomResource):
842
915
  },
843
916
  opts = pulumi.ResourceOptions(depends_on=[linked_vpc_spoke]))
844
917
  ```
918
+ ### Network Connectivity Spoke Center Group
919
+
920
+ ```python
921
+ import pulumi
922
+ import pulumi_gcp as gcp
923
+
924
+ network = gcp.compute.Network("network",
925
+ name="tf-net",
926
+ auto_create_subnetworks=False)
927
+ star_hub = gcp.networkconnectivity.Hub("star_hub",
928
+ name="hub-basic",
929
+ preset_topology="STAR")
930
+ center_group = gcp.networkconnectivity.Group("center_group",
931
+ name="center",
932
+ hub=star_hub.id,
933
+ auto_accept={
934
+ "auto_accept_projects": [
935
+ "foo_13293",
936
+ "bar_40289",
937
+ ],
938
+ })
939
+ primary = gcp.networkconnectivity.Spoke("primary",
940
+ name="vpc-spoke",
941
+ location="global",
942
+ description="A sample spoke",
943
+ labels={
944
+ "label-one": "value-one",
945
+ },
946
+ hub=star_hub.id,
947
+ group=center_group.id,
948
+ linked_vpc_network={
949
+ "uri": network.self_link,
950
+ })
951
+ ```
845
952
 
846
953
  ## Import
847
954
 
@@ -870,6 +977,7 @@ class Spoke(pulumi.CustomResource):
870
977
  :param str resource_name: The name of the resource.
871
978
  :param pulumi.ResourceOptions opts: Options for the resource.
872
979
  :param pulumi.Input[str] description: An optional description of the spoke.
980
+ :param pulumi.Input[str] group: The name of the group that this spoke is associated with.
873
981
  :param pulumi.Input[str] hub: Immutable. The URI of the hub that this spoke is attached to.
874
982
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
875
983
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -944,6 +1052,46 @@ class Spoke(pulumi.CustomResource):
944
1052
  "uri": network.self_link,
945
1053
  })
946
1054
  ```
1055
+ ### Network Connectivity Spoke Linked Vpc Network Group
1056
+
1057
+ ```python
1058
+ import pulumi
1059
+ import pulumi_gcp as gcp
1060
+
1061
+ network = gcp.compute.Network("network",
1062
+ name="net-spoke",
1063
+ auto_create_subnetworks=False)
1064
+ basic_hub = gcp.networkconnectivity.Hub("basic_hub",
1065
+ name="hub1-spoke",
1066
+ description="A sample hub",
1067
+ labels={
1068
+ "label-two": "value-one",
1069
+ })
1070
+ default_group = gcp.networkconnectivity.Group("default_group",
1071
+ hub=basic_hub.id,
1072
+ name="default",
1073
+ description="A sample hub group")
1074
+ primary = gcp.networkconnectivity.Spoke("primary",
1075
+ name="group-spoke1",
1076
+ location="global",
1077
+ description="A sample spoke with a linked VPC",
1078
+ labels={
1079
+ "label-one": "value-one",
1080
+ },
1081
+ hub=basic_hub.id,
1082
+ linked_vpc_network={
1083
+ "exclude_export_ranges": [
1084
+ "198.51.100.0/24",
1085
+ "10.10.0.0/16",
1086
+ ],
1087
+ "include_export_ranges": [
1088
+ "198.51.100.0/23",
1089
+ "10.0.0.0/8",
1090
+ ],
1091
+ "uri": network.self_link,
1092
+ },
1093
+ group=default_group.id)
1094
+ ```
947
1095
  ### Network Connectivity Spoke Router Appliance Basic
948
1096
 
949
1097
  ```python
@@ -1197,6 +1345,40 @@ class Spoke(pulumi.CustomResource):
1197
1345
  },
1198
1346
  opts = pulumi.ResourceOptions(depends_on=[linked_vpc_spoke]))
1199
1347
  ```
1348
+ ### Network Connectivity Spoke Center Group
1349
+
1350
+ ```python
1351
+ import pulumi
1352
+ import pulumi_gcp as gcp
1353
+
1354
+ network = gcp.compute.Network("network",
1355
+ name="tf-net",
1356
+ auto_create_subnetworks=False)
1357
+ star_hub = gcp.networkconnectivity.Hub("star_hub",
1358
+ name="hub-basic",
1359
+ preset_topology="STAR")
1360
+ center_group = gcp.networkconnectivity.Group("center_group",
1361
+ name="center",
1362
+ hub=star_hub.id,
1363
+ auto_accept={
1364
+ "auto_accept_projects": [
1365
+ "foo_13293",
1366
+ "bar_40289",
1367
+ ],
1368
+ })
1369
+ primary = gcp.networkconnectivity.Spoke("primary",
1370
+ name="vpc-spoke",
1371
+ location="global",
1372
+ description="A sample spoke",
1373
+ labels={
1374
+ "label-one": "value-one",
1375
+ },
1376
+ hub=star_hub.id,
1377
+ group=center_group.id,
1378
+ linked_vpc_network={
1379
+ "uri": network.self_link,
1380
+ })
1381
+ ```
1200
1382
 
1201
1383
  ## Import
1202
1384
 
@@ -1238,6 +1420,7 @@ class Spoke(pulumi.CustomResource):
1238
1420
  resource_name: str,
1239
1421
  opts: Optional[pulumi.ResourceOptions] = None,
1240
1422
  description: Optional[pulumi.Input[str]] = None,
1423
+ group: Optional[pulumi.Input[str]] = None,
1241
1424
  hub: Optional[pulumi.Input[str]] = None,
1242
1425
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1243
1426
  linked_interconnect_attachments: Optional[pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']]] = None,
@@ -1258,6 +1441,7 @@ class Spoke(pulumi.CustomResource):
1258
1441
  __props__ = SpokeArgs.__new__(SpokeArgs)
1259
1442
 
1260
1443
  __props__.__dict__["description"] = description
1444
+ __props__.__dict__["group"] = group
1261
1445
  if hub is None and not opts.urn:
1262
1446
  raise TypeError("Missing required property 'hub'")
1263
1447
  __props__.__dict__["hub"] = hub
@@ -1293,6 +1477,7 @@ class Spoke(pulumi.CustomResource):
1293
1477
  create_time: Optional[pulumi.Input[str]] = None,
1294
1478
  description: Optional[pulumi.Input[str]] = None,
1295
1479
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1480
+ group: Optional[pulumi.Input[str]] = None,
1296
1481
  hub: Optional[pulumi.Input[str]] = None,
1297
1482
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1298
1483
  linked_interconnect_attachments: Optional[pulumi.Input[Union['SpokeLinkedInterconnectAttachmentsArgs', 'SpokeLinkedInterconnectAttachmentsArgsDict']]] = None,
@@ -1317,6 +1502,7 @@ class Spoke(pulumi.CustomResource):
1317
1502
  :param pulumi.Input[str] create_time: Output only. The time the spoke was created.
1318
1503
  :param pulumi.Input[str] description: An optional description of the spoke.
1319
1504
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1505
+ :param pulumi.Input[str] group: The name of the group that this spoke is associated with.
1320
1506
  :param pulumi.Input[str] hub: Immutable. The URI of the hub that this spoke is attached to.
1321
1507
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional labels in key:value format. For more information about labels, see [Requirements for labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements).
1322
1508
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -1351,6 +1537,7 @@ class Spoke(pulumi.CustomResource):
1351
1537
  __props__.__dict__["create_time"] = create_time
1352
1538
  __props__.__dict__["description"] = description
1353
1539
  __props__.__dict__["effective_labels"] = effective_labels
1540
+ __props__.__dict__["group"] = group
1354
1541
  __props__.__dict__["hub"] = hub
1355
1542
  __props__.__dict__["labels"] = labels
1356
1543
  __props__.__dict__["linked_interconnect_attachments"] = linked_interconnect_attachments
@@ -1391,6 +1578,14 @@ class Spoke(pulumi.CustomResource):
1391
1578
  """
1392
1579
  return pulumi.get(self, "effective_labels")
1393
1580
 
1581
+ @property
1582
+ @pulumi.getter
1583
+ def group(self) -> pulumi.Output[str]:
1584
+ """
1585
+ The name of the group that this spoke is associated with.
1586
+ """
1587
+ return pulumi.get(self, "group")
1588
+
1394
1589
  @property
1395
1590
  @pulumi.getter
1396
1591
  def hub(self) -> pulumi.Output[str]:
@@ -620,6 +620,8 @@ class VpcFlowLogsConfig(pulumi.CustomResource):
620
620
  vpn_tunnel: Optional[pulumi.Input[str]] = None,
621
621
  __props__=None):
622
622
  """
623
+ VPC Flow Logs Config is a resource that lets you configure Flow Logs for VPC, Interconnect attachments or VPN Tunnels.
624
+
623
625
  ## Example Usage
624
626
 
625
627
  ### Network Management Vpc Flow Logs Config Interconnect Full
@@ -848,6 +850,8 @@ class VpcFlowLogsConfig(pulumi.CustomResource):
848
850
  args: VpcFlowLogsConfigArgs,
849
851
  opts: Optional[pulumi.ResourceOptions] = None):
850
852
  """
853
+ VPC Flow Logs Config is a resource that lets you configure Flow Logs for VPC, Interconnect attachments or VPN Tunnels.
854
+
851
855
  ## Example Usage
852
856
 
853
857
  ### Network Management Vpc Flow Logs Config Interconnect Full
@@ -19,6 +19,8 @@ from .gateway_security_policy_rule import *
19
19
  from .get_address_group_iam_policy import *
20
20
  from .intercept_deployment import *
21
21
  from .intercept_deployment_group import *
22
+ from .intercept_endpoint_group import *
23
+ from .intercept_endpoint_group_association import *
22
24
  from .mirroring_deployment import *
23
25
  from .mirroring_deployment_group import *
24
26
  from .mirroring_endpoint_group import *
@@ -87,6 +87,8 @@ __all__ = [
87
87
  'ClientTlsPolicyServerValidationCaGrpcEndpointArgsDict',
88
88
  'InterceptDeploymentGroupConnectedEndpointGroupArgs',
89
89
  'InterceptDeploymentGroupConnectedEndpointGroupArgsDict',
90
+ 'InterceptEndpointGroupAssociationLocationsDetailArgs',
91
+ 'InterceptEndpointGroupAssociationLocationsDetailArgsDict',
90
92
  'MirroringDeploymentGroupConnectedEndpointGroupArgs',
91
93
  'MirroringDeploymentGroupConnectedEndpointGroupArgsDict',
92
94
  'MirroringEndpointGroupAssociationLocationsDetailArgs',
@@ -2571,6 +2573,82 @@ class InterceptDeploymentGroupConnectedEndpointGroupArgs:
2571
2573
  pulumi.set(self, "name", value)
2572
2574
 
2573
2575
 
2576
+ if not MYPY:
2577
+ class InterceptEndpointGroupAssociationLocationsDetailArgsDict(TypedDict):
2578
+ location: NotRequired[pulumi.Input[str]]
2579
+ """
2580
+ The location of the Intercept Endpoint Group Association, currently restricted to `global`.
2581
+
2582
+
2583
+ - - -
2584
+ """
2585
+ state: NotRequired[pulumi.Input[str]]
2586
+ """
2587
+ (Output)
2588
+ The association state in this location.
2589
+ Possible values:
2590
+ STATE_UNSPECIFIED
2591
+ ACTIVE
2592
+ OUT_OF_SYNC
2593
+ """
2594
+ elif False:
2595
+ InterceptEndpointGroupAssociationLocationsDetailArgsDict: TypeAlias = Mapping[str, Any]
2596
+
2597
+ @pulumi.input_type
2598
+ class InterceptEndpointGroupAssociationLocationsDetailArgs:
2599
+ def __init__(__self__, *,
2600
+ location: Optional[pulumi.Input[str]] = None,
2601
+ state: Optional[pulumi.Input[str]] = None):
2602
+ """
2603
+ :param pulumi.Input[str] location: The location of the Intercept Endpoint Group Association, currently restricted to `global`.
2604
+
2605
+
2606
+ - - -
2607
+ :param pulumi.Input[str] state: (Output)
2608
+ The association state in this location.
2609
+ Possible values:
2610
+ STATE_UNSPECIFIED
2611
+ ACTIVE
2612
+ OUT_OF_SYNC
2613
+ """
2614
+ if location is not None:
2615
+ pulumi.set(__self__, "location", location)
2616
+ if state is not None:
2617
+ pulumi.set(__self__, "state", state)
2618
+
2619
+ @property
2620
+ @pulumi.getter
2621
+ def location(self) -> Optional[pulumi.Input[str]]:
2622
+ """
2623
+ The location of the Intercept Endpoint Group Association, currently restricted to `global`.
2624
+
2625
+
2626
+ - - -
2627
+ """
2628
+ return pulumi.get(self, "location")
2629
+
2630
+ @location.setter
2631
+ def location(self, value: Optional[pulumi.Input[str]]):
2632
+ pulumi.set(self, "location", value)
2633
+
2634
+ @property
2635
+ @pulumi.getter
2636
+ def state(self) -> Optional[pulumi.Input[str]]:
2637
+ """
2638
+ (Output)
2639
+ The association state in this location.
2640
+ Possible values:
2641
+ STATE_UNSPECIFIED
2642
+ ACTIVE
2643
+ OUT_OF_SYNC
2644
+ """
2645
+ return pulumi.get(self, "state")
2646
+
2647
+ @state.setter
2648
+ def state(self, value: Optional[pulumi.Input[str]]):
2649
+ pulumi.set(self, "state", value)
2650
+
2651
+
2574
2652
  if not MYPY:
2575
2653
  class MirroringDeploymentGroupConnectedEndpointGroupArgsDict(TypedDict):
2576
2654
  name: NotRequired[pulumi.Input[str]]