google-cloud-network_connectivity-v1 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,9 @@ module Google
28
28
  # @!attribute [rw] destinations
29
29
  # @return [::Array<::Google::Api::ClientLibraryDestination>]
30
30
  # The destination where API teams want this client library to be published.
31
+ # @!attribute [rw] selective_gapic_generation
32
+ # @return [::Google::Api::SelectiveGapicGeneration]
33
+ # Configuration for which RPCs should be generated in the GAPIC client.
31
34
  class CommonLanguageSettings
32
35
  include ::Google::Protobuf::MessageExts
33
36
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -212,6 +215,12 @@ module Google
212
215
  # enabled. By default, asynchronous REST clients will not be generated.
213
216
  # This feature will be enabled by default 1 month after launching the
214
217
  # feature in preview packages.
218
+ # @!attribute [rw] protobuf_pythonic_types_enabled
219
+ # @return [::Boolean]
220
+ # Enables generation of protobuf code using new types that are more
221
+ # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
+ # enabled by default 1 month after launching the feature in preview
223
+ # packages.
215
224
  class ExperimentalFeatures
216
225
  include ::Google::Protobuf::MessageExts
217
226
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -375,6 +384,17 @@ module Google
375
384
  end
376
385
  end
377
386
 
387
+ # This message is used to configure the generation of a subset of the RPCs in
388
+ # a service for client libraries.
389
+ # @!attribute [rw] methods
390
+ # @return [::Array<::String>]
391
+ # An allowlist of the fully qualified names of RPCs that should be included
392
+ # on public client surfaces.
393
+ class SelectiveGapicGeneration
394
+ include ::Google::Protobuf::MessageExts
395
+ extend ::Google::Protobuf::MessageExts::ClassMethods
396
+ end
397
+
378
398
  # The organization for which the client libraries are being published.
379
399
  # Affects the url where generated docs are published, etc.
380
400
  module ClientLibraryOrganization
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Rich semantic information of an API field beyond basic typing.
23
+ # @!attribute [rw] format
24
+ # @return [::Google::Api::FieldInfo::Format]
25
+ # The standard format of a field value. This does not explicitly configure
26
+ # any API consumer, just documents the API's format for the field it is
27
+ # applied to.
28
+ # @!attribute [rw] referenced_types
29
+ # @return [::Array<::Google::Api::TypeReference>]
30
+ # The type(s) that the annotated, generic field may represent.
31
+ #
32
+ # Currently, this must only be used on fields of type `google.protobuf.Any`.
33
+ # Supporting other generic types may be considered in the future.
34
+ class FieldInfo
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+
38
+ # The standard format of a field value. The supported formats are all backed
39
+ # by either an RFC defined by the IETF or a Google-defined AIP.
40
+ module Format
41
+ # Default, unspecified value.
42
+ FORMAT_UNSPECIFIED = 0
43
+
44
+ # Universally Unique Identifier, version 4, value as defined by
45
+ # https://datatracker.ietf.org/doc/html/rfc4122. The value may be
46
+ # normalized to entirely lowercase letters. For example, the value
47
+ # `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to
48
+ # `f47ac10b-58cc-0372-8567-0e02b2c3d479`.
49
+ UUID4 = 1
50
+
51
+ # Internet Protocol v4 value as defined by [RFC
52
+ # 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be
53
+ # condensed, with leading zeros in each octet stripped. For example,
54
+ # `001.022.233.040` would be condensed to `1.22.233.40`.
55
+ IPV4 = 2
56
+
57
+ # Internet Protocol v6 value as defined by [RFC
58
+ # 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be
59
+ # normalized to entirely lowercase letters with zeros compressed, following
60
+ # [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example,
61
+ # the value `2001:0DB8:0::0` would be normalized to `2001:db8::`.
62
+ IPV6 = 3
63
+
64
+ # An IP address in either v4 or v6 format as described by the individual
65
+ # values defined herein. See the comments on the IPV4 and IPV6 types for
66
+ # allowed normalizations of each.
67
+ IPV4_OR_IPV6 = 4
68
+ end
69
+ end
70
+
71
+ # A reference to a message type, for use in {::Google::Api::FieldInfo FieldInfo}.
72
+ # @!attribute [rw] type_name
73
+ # @return [::String]
74
+ # The name of the type that the annotated, generic field may represent.
75
+ # If the type is in the same protobuf package, the value can be the simple
76
+ # message name e.g., `"MyMessage"`. Otherwise, the value must be the
77
+ # fully-qualified message name e.g., `"google.library.v1.Book"`.
78
+ #
79
+ # If the type(s) are unknown to the service (e.g. the field accepts generic
80
+ # user input), use the wildcard `"*"` to denote this behavior.
81
+ #
82
+ # See [AIP-202](https://google.aip.dev/202#type-references) for more details.
83
+ class TypeReference
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+ end
88
+ end
@@ -75,6 +75,24 @@ module Google
75
75
  # and according to state. If any spokes are inactive,
76
76
  # the summary also lists the reasons they are inactive,
77
77
  # including a count for each reason.
78
+ # @!attribute [rw] policy_mode
79
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PolicyMode]
80
+ # Optional. The policy mode of this hub. This field can be either
81
+ # PRESET or CUSTOM. If unspecified, the
82
+ # policy_mode defaults to PRESET.
83
+ # @!attribute [rw] preset_topology
84
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PresetTopology]
85
+ # Optional. The topology implemented in this hub. Currently, this field is
86
+ # only used when policy_mode = PRESET. The available preset topologies are
87
+ # MESH and STAR. If preset_topology is unspecified and policy_mode = PRESET,
88
+ # the preset_topology defaults to MESH. When policy_mode = CUSTOM,
89
+ # the preset_topology is set to PRESET_TOPOLOGY_UNSPECIFIED.
90
+ # @!attribute [rw] export_psc
91
+ # @return [::Boolean]
92
+ # Optional. Whether Private Service Connect transitivity is enabled for the
93
+ # hub. If true, Private Service Connect endpoints in VPC spokes attached to
94
+ # the hub are made accessible to other VPC spokes attached to the hub.
95
+ # The default value is false.
78
96
  class Hub
79
97
  include ::Google::Protobuf::MessageExts
80
98
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -153,6 +171,9 @@ module Google
153
171
  # @!attribute [rw] linked_vpc_network
154
172
  # @return [::Google::Cloud::NetworkConnectivity::V1::LinkedVpcNetwork]
155
173
  # Optional. VPC network that is associated with the spoke.
174
+ # @!attribute [rw] linked_producer_vpc_network
175
+ # @return [::Google::Cloud::NetworkConnectivity::V1::LinkedProducerVpcNetwork]
176
+ # Optional. The linked producer VPC that is associated with the spoke.
156
177
  # @!attribute [r] unique_id
157
178
  # @return [::String]
158
179
  # Output only. The Google-generated UUID for the spoke. This value is unique
@@ -304,9 +325,24 @@ module Google
304
325
  # Example: projects/12345/locations/global/spokes/SPOKE
305
326
  # @!attribute [r] location
306
327
  # @return [::String]
307
- # Output only. The location of the route.
328
+ # Output only. The origin location of the route.
308
329
  # Uses the following form: "projects/\\{project}/locations/\\{location}"
309
330
  # Example: projects/1234/locations/us-central1
331
+ # @!attribute [r] priority
332
+ # @return [::Integer]
333
+ # Output only. The priority of this route. Priority is used to break ties in
334
+ # cases where a destination matches more than one route. In these cases the
335
+ # route with the lowest-numbered priority value wins.
336
+ # @!attribute [rw] next_hop_vpn_tunnel
337
+ # @return [::Google::Cloud::NetworkConnectivity::V1::NextHopVPNTunnel]
338
+ # Immutable. The next-hop VPN tunnel for packets on this route.
339
+ # @!attribute [rw] next_hop_router_appliance_instance
340
+ # @return [::Google::Cloud::NetworkConnectivity::V1::NextHopRouterApplianceInstance]
341
+ # Immutable. The next-hop Router appliance instance for packets on this
342
+ # route.
343
+ # @!attribute [rw] next_hop_interconnect_attachment
344
+ # @return [::Google::Cloud::NetworkConnectivity::V1::NextHopInterconnectAttachment]
345
+ # Immutable. The next-hop VLAN attachment for packets on this route.
310
346
  class Route
311
347
  include ::Google::Protobuf::MessageExts
312
348
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -350,6 +386,14 @@ module Google
350
386
  # @!attribute [r] state
351
387
  # @return [::Google::Cloud::NetworkConnectivity::V1::State]
352
388
  # Output only. The current lifecycle state of this group.
389
+ # @!attribute [rw] auto_accept
390
+ # @return [::Google::Cloud::NetworkConnectivity::V1::AutoAccept]
391
+ # Optional. The auto-accept setting for this group.
392
+ # @!attribute [r] route_table
393
+ # @return [::String]
394
+ # Output only. The name of the route table that corresponds to this group.
395
+ # They use the following form:
396
+ # `projects/{project_number}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}`
353
397
  class Group
354
398
  include ::Google::Protobuf::MessageExts
355
399
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -364,6 +408,23 @@ module Google
364
408
  end
365
409
  end
366
410
 
411
+ # The auto-accept setting for a group controls whether
412
+ # proposed spokes are automatically attached to the hub. If auto-accept is
413
+ # enabled, the spoke immediately is attached to the hub and becomes part of the
414
+ # group. In this case, the new spoke is in the ACTIVE state.
415
+ # If auto-accept is disabled, the spoke goes to the INACTIVE
416
+ # state, and it must be reviewed and accepted by a hub
417
+ # administrator.
418
+ # @!attribute [rw] auto_accept_projects
419
+ # @return [::Array<::String>]
420
+ # A list of project ids or project numbers for which you want
421
+ # to enable auto-accept. The auto-accept setting is applied to
422
+ # spokes being created or updated in these projects.
423
+ class AutoAccept
424
+ include ::Google::Protobuf::MessageExts
425
+ extend ::Google::Protobuf::MessageExts::ClassMethods
426
+ end
427
+
367
428
  # Request for
368
429
  # {::Google::Cloud::NetworkConnectivity::V1::HubService::Client#list_hubs HubService.ListHubs}
369
430
  # method.
@@ -583,6 +644,153 @@ module Google
583
644
  extend ::Google::Protobuf::MessageExts::ClassMethods
584
645
  end
585
646
 
647
+ # The request for
648
+ # {::Google::Cloud::NetworkConnectivity::V1::HubService::Client#query_hub_status HubService.QueryHubStatus}.
649
+ # @!attribute [rw] name
650
+ # @return [::String]
651
+ # Required. The name of the hub.
652
+ # @!attribute [rw] page_size
653
+ # @return [::Integer]
654
+ # Optional. The maximum number of results to return per page.
655
+ # @!attribute [rw] page_token
656
+ # @return [::String]
657
+ # Optional. The page token.
658
+ # @!attribute [rw] filter
659
+ # @return [::String]
660
+ # Optional. An expression that filters the list of results.
661
+ # The filter can be used to filter the results by the following fields:
662
+ # * `psc_propagation_status.source_spoke`
663
+ # * `psc_propagation_status.source_group`
664
+ # * `psc_propagation_status.source_forwarding_rule`
665
+ # * `psc_propagation_status.target_spoke`
666
+ # * `psc_propagation_status.target_group`
667
+ # * `psc_propagation_status.code`
668
+ # * `psc_propagation_status.message`
669
+ # @!attribute [rw] order_by
670
+ # @return [::String]
671
+ # Optional. Sort the results in ascending order by the specified fields.
672
+ # A comma-separated list of any of these fields:
673
+ # * `psc_propagation_status.source_spoke`
674
+ # * `psc_propagation_status.source_group`
675
+ # * `psc_propagation_status.source_forwarding_rule`
676
+ # * `psc_propagation_status.target_spoke`
677
+ # * `psc_propagation_status.target_group`
678
+ # * `psc_propagation_status.code`
679
+ # If `group_by` is set, the value of the `order_by` field must be the
680
+ # same as or a subset of the `group_by` field.
681
+ # @!attribute [rw] group_by
682
+ # @return [::String]
683
+ # Optional. Aggregate the results by the specified fields.
684
+ # A comma-separated list of any of these fields:
685
+ # * `psc_propagation_status.source_spoke`
686
+ # * `psc_propagation_status.source_group`
687
+ # * `psc_propagation_status.source_forwarding_rule`
688
+ # * `psc_propagation_status.target_spoke`
689
+ # * `psc_propagation_status.target_group`
690
+ # * `psc_propagation_status.code`
691
+ class QueryHubStatusRequest
692
+ include ::Google::Protobuf::MessageExts
693
+ extend ::Google::Protobuf::MessageExts::ClassMethods
694
+ end
695
+
696
+ # The response for
697
+ # {::Google::Cloud::NetworkConnectivity::V1::HubService::Client#query_hub_status HubService.QueryHubStatus}.
698
+ # @!attribute [rw] hub_status_entries
699
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::HubStatusEntry>]
700
+ # The list of hub status.
701
+ # @!attribute [rw] next_page_token
702
+ # @return [::String]
703
+ # The token for the next page of the response. To see more results,
704
+ # use this value as the page_token for your next request. If this value
705
+ # is empty, there are no more results.
706
+ class QueryHubStatusResponse
707
+ include ::Google::Protobuf::MessageExts
708
+ extend ::Google::Protobuf::MessageExts::ClassMethods
709
+ end
710
+
711
+ # A hub status entry represents the status of a set of propagated Private
712
+ # Service Connect connections grouped by certain fields.
713
+ # @!attribute [rw] count
714
+ # @return [::Integer]
715
+ # The number of propagated Private Service Connect connections with this
716
+ # status. If the `group_by` field was not set in the request message, the
717
+ # value of this field is 1.
718
+ # @!attribute [rw] group_by
719
+ # @return [::String]
720
+ # The fields that this entry is grouped by. This has the same value as the
721
+ # `group_by` field in the request message.
722
+ # @!attribute [rw] psc_propagation_status
723
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PscPropagationStatus]
724
+ # The Private Service Connect propagation status.
725
+ class HubStatusEntry
726
+ include ::Google::Protobuf::MessageExts
727
+ extend ::Google::Protobuf::MessageExts::ClassMethods
728
+ end
729
+
730
+ # The status of one or more propagated Private Service Connect connections in a
731
+ # hub.
732
+ # @!attribute [rw] source_spoke
733
+ # @return [::String]
734
+ # The name of the spoke that the source forwarding rule belongs to.
735
+ # @!attribute [rw] source_group
736
+ # @return [::String]
737
+ # The name of the group that the source spoke belongs to.
738
+ # @!attribute [rw] source_forwarding_rule
739
+ # @return [::String]
740
+ # The name of the forwarding rule exported to the hub.
741
+ # @!attribute [rw] target_spoke
742
+ # @return [::String]
743
+ # The name of the spoke that the source forwarding rule propagates to.
744
+ # @!attribute [rw] target_group
745
+ # @return [::String]
746
+ # The name of the group that the target spoke belongs to.
747
+ # @!attribute [rw] code
748
+ # @return [::Google::Cloud::NetworkConnectivity::V1::PscPropagationStatus::Code]
749
+ # The propagation status.
750
+ # @!attribute [rw] message
751
+ # @return [::String]
752
+ # The human-readable summary of the Private Service Connect connection
753
+ # propagation status.
754
+ class PscPropagationStatus
755
+ include ::Google::Protobuf::MessageExts
756
+ extend ::Google::Protobuf::MessageExts::ClassMethods
757
+
758
+ # The Code enum represents the state of the Private Service Connect
759
+ # propagation.
760
+ module Code
761
+ # The code is unspecified.
762
+ CODE_UNSPECIFIED = 0
763
+
764
+ # The propagated Private Service Connect connection is ready.
765
+ READY = 1
766
+
767
+ # The Private Service Connect connection is propagating. This is a
768
+ # transient state.
769
+ PROPAGATING = 2
770
+
771
+ # The Private Service Connect connection propagation failed because the VPC
772
+ # network or the project of the target spoke has exceeded the connection
773
+ # limit set by the producer.
774
+ ERROR_PRODUCER_PROPAGATED_CONNECTION_LIMIT_EXCEEDED = 3
775
+
776
+ # The Private Service Connect connection propagation failed because the NAT
777
+ # IP subnet space has been exhausted. It is equivalent to the `Needs
778
+ # attention` status of the Private Service Connect connection. See
779
+ # https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#connection-statuses.
780
+ ERROR_PRODUCER_NAT_IP_SPACE_EXHAUSTED = 4
781
+
782
+ # The Private Service Connect connection propagation failed because the
783
+ # `PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK` quota in the
784
+ # producer VPC network has been exceeded.
785
+ ERROR_PRODUCER_QUOTA_EXCEEDED = 5
786
+
787
+ # The Private Service Connect connection propagation failed because the
788
+ # `PSC_PROPAGATED_CONNECTIONS_PER_VPC_NETWORK` quota in the consumer
789
+ # VPC network has been exceeded.
790
+ ERROR_CONSUMER_QUOTA_EXCEEDED = 6
791
+ end
792
+ end
793
+
586
794
  # The request for
587
795
  # {::Google::Cloud::NetworkConnectivity::V1::HubService::Client#list_spokes HubService.ListSpokes}.
588
796
  # @!attribute [rw] parent
@@ -967,6 +1175,11 @@ module Google
967
1175
  # @!attribute [r] vpc_network
968
1176
  # @return [::String]
969
1177
  # Output only. The VPC network where these VPN tunnels are located.
1178
+ # @!attribute [rw] include_import_ranges
1179
+ # @return [::Array<::String>]
1180
+ # Optional. IP ranges allowed to be included during import from hub (does not
1181
+ # control transit connectivity). The only allowed value for now is
1182
+ # "ALL_IPV4_RANGES".
970
1183
  class LinkedVpnTunnels
971
1184
  include ::Google::Protobuf::MessageExts
972
1185
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -987,6 +1200,11 @@ module Google
987
1200
  # @!attribute [r] vpc_network
988
1201
  # @return [::String]
989
1202
  # Output only. The VPC network where these VLAN attachments are located.
1203
+ # @!attribute [rw] include_import_ranges
1204
+ # @return [::Array<::String>]
1205
+ # Optional. IP ranges allowed to be included during import from hub (does not
1206
+ # control transit connectivity). The only allowed value for now is
1207
+ # "ALL_IPV4_RANGES".
990
1208
  class LinkedInterconnectAttachments
991
1209
  include ::Google::Protobuf::MessageExts
992
1210
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1008,6 +1226,11 @@ module Google
1008
1226
  # @return [::String]
1009
1227
  # Output only. The VPC network where these router appliance instances are
1010
1228
  # located.
1229
+ # @!attribute [rw] include_import_ranges
1230
+ # @return [::Array<::String>]
1231
+ # Optional. IP ranges allowed to be included during import from hub (does not
1232
+ # control transit connectivity). The only allowed value for now is
1233
+ # "ALL_IPV4_RANGES".
1011
1234
  class LinkedRouterApplianceInstances
1012
1235
  include ::Google::Protobuf::MessageExts
1013
1236
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1020,11 +1243,45 @@ module Google
1020
1243
  # @!attribute [rw] exclude_export_ranges
1021
1244
  # @return [::Array<::String>]
1022
1245
  # Optional. IP ranges encompassing the subnets to be excluded from peering.
1246
+ # @!attribute [rw] include_export_ranges
1247
+ # @return [::Array<::String>]
1248
+ # Optional. IP ranges allowed to be included from peering.
1249
+ # @!attribute [r] producer_vpc_spokes
1250
+ # @return [::Array<::String>]
1251
+ # Output only. The list of Producer VPC spokes that this VPC spoke is a
1252
+ # service consumer VPC spoke for. These producer VPCs are connected through
1253
+ # VPC peering to this spoke's backing VPC network.
1023
1254
  class LinkedVpcNetwork
1024
1255
  include ::Google::Protobuf::MessageExts
1025
1256
  extend ::Google::Protobuf::MessageExts::ClassMethods
1026
1257
  end
1027
1258
 
1259
+ # @!attribute [rw] network
1260
+ # @return [::String]
1261
+ # Immutable. The URI of the Service Consumer VPC that the Producer VPC is
1262
+ # peered with.
1263
+ # @!attribute [r] service_consumer_vpc_spoke
1264
+ # @return [::String]
1265
+ # Output only. The Service Consumer Network spoke.
1266
+ # @!attribute [rw] peering
1267
+ # @return [::String]
1268
+ # Immutable. The name of the VPC peering between the Service Consumer VPC and
1269
+ # the Producer VPC (defined in the Tenant project) which is added to the NCC
1270
+ # hub. This peering must be in ACTIVE state.
1271
+ # @!attribute [r] producer_network
1272
+ # @return [::String]
1273
+ # Output only. The URI of the Producer VPC.
1274
+ # @!attribute [rw] exclude_export_ranges
1275
+ # @return [::Array<::String>]
1276
+ # Optional. IP ranges encompassing the subnets to be excluded from peering.
1277
+ # @!attribute [rw] include_export_ranges
1278
+ # @return [::Array<::String>]
1279
+ # Optional. IP ranges allowed to be included from peering.
1280
+ class LinkedProducerVpcNetwork
1281
+ include ::Google::Protobuf::MessageExts
1282
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1283
+ end
1284
+
1028
1285
  # A router appliance instance is a Compute Engine virtual machine (VM) instance
1029
1286
  # that acts as a BGP speaker. A router appliance instance is specified by the
1030
1287
  # URI of the VM and the internal IP address of one of the VM's network
@@ -1057,6 +1314,58 @@ module Google
1057
1314
  extend ::Google::Protobuf::MessageExts::ClassMethods
1058
1315
  end
1059
1316
 
1317
+ # A route next hop that leads to a VPN tunnel resource.
1318
+ # @!attribute [rw] uri
1319
+ # @return [::String]
1320
+ # The URI of the VPN tunnel resource.
1321
+ # @!attribute [rw] vpc_network
1322
+ # @return [::String]
1323
+ # The VPC network where this VPN tunnel is located.
1324
+ # @!attribute [rw] site_to_site_data_transfer
1325
+ # @return [::Boolean]
1326
+ # Indicates whether site-to-site data transfer is allowed for this VPN tunnel
1327
+ # resource. Data transfer is available only in [supported
1328
+ # locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).
1329
+ class NextHopVPNTunnel
1330
+ include ::Google::Protobuf::MessageExts
1331
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1332
+ end
1333
+
1334
+ # A route next hop that leads to a Router appliance instance.
1335
+ # @!attribute [rw] uri
1336
+ # @return [::String]
1337
+ # The URI of the Router appliance instance.
1338
+ # @!attribute [rw] vpc_network
1339
+ # @return [::String]
1340
+ # The VPC network where this VM is located.
1341
+ # @!attribute [rw] site_to_site_data_transfer
1342
+ # @return [::Boolean]
1343
+ # Indicates whether site-to-site data transfer is allowed for this Router
1344
+ # appliance instance resource. Data transfer is available only in [supported
1345
+ # locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).
1346
+ class NextHopRouterApplianceInstance
1347
+ include ::Google::Protobuf::MessageExts
1348
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1349
+ end
1350
+
1351
+ # A route next hop that leads to an interconnect attachment resource.
1352
+ # @!attribute [rw] uri
1353
+ # @return [::String]
1354
+ # The URI of the interconnect attachment resource.
1355
+ # @!attribute [rw] vpc_network
1356
+ # @return [::String]
1357
+ # The VPC network where this interconnect attachment is located.
1358
+ # @!attribute [rw] site_to_site_data_transfer
1359
+ # @return [::Boolean]
1360
+ # Indicates whether site-to-site data transfer is allowed for this
1361
+ # interconnect attachment resource. Data transfer is available only in
1362
+ # [supported
1363
+ # locations](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/locations).
1364
+ class NextHopInterconnectAttachment
1365
+ include ::Google::Protobuf::MessageExts
1366
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1367
+ end
1368
+
1060
1369
  # Summarizes information about the spokes associated with a hub.
1061
1370
  # The summary includes a count of spokes according to type
1062
1371
  # and according to state. If any spokes are inactive,
@@ -1131,6 +1440,40 @@ module Google
1131
1440
  extend ::Google::Protobuf::MessageExts::ClassMethods
1132
1441
  end
1133
1442
 
1443
+ # Request for
1444
+ # {::Google::Cloud::NetworkConnectivity::V1::HubService::Client#update_group HubService.UpdateGroup}
1445
+ # method.
1446
+ # @!attribute [rw] update_mask
1447
+ # @return [::Google::Protobuf::FieldMask]
1448
+ # Optional. In the case of an update to an existing group, field mask is used
1449
+ # to specify the fields to be overwritten. The fields specified in the
1450
+ # update_mask are relative to the resource, not the full request. A field is
1451
+ # overwritten if it is in the mask. If the user does not provide a mask, then
1452
+ # all fields are overwritten.
1453
+ # @!attribute [rw] group
1454
+ # @return [::Google::Cloud::NetworkConnectivity::V1::Group]
1455
+ # Required. The state that the group should be in after the update.
1456
+ # @!attribute [rw] request_id
1457
+ # @return [::String]
1458
+ # Optional. A request ID to identify requests. Specify a unique request ID so
1459
+ # that if you must retry your request, the server knows to ignore the request
1460
+ # if it has already been completed. The server guarantees that a request
1461
+ # doesn't result in creation of duplicate commitments for at least 60
1462
+ # minutes.
1463
+ #
1464
+ # For example, consider a situation where you make an initial request and
1465
+ # the request times out. If you make the request again with the same request
1466
+ # ID, the server can check to see whether the original operation
1467
+ # was received. If it was, the server ignores the second request. This
1468
+ # behavior prevents clients from mistakenly creating duplicate commitments.
1469
+ #
1470
+ # The request ID must be a valid UUID, with the exception that zero UUID is
1471
+ # not supported (00000000-0000-0000-0000-000000000000).
1472
+ class UpdateGroupRequest
1473
+ include ::Google::Protobuf::MessageExts
1474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1475
+ end
1476
+
1134
1477
  # Supported features for a location
1135
1478
  module LocationFeature
1136
1479
  # No publicly supported feature in this location
@@ -1155,6 +1498,11 @@ module Google
1155
1498
  # The route leads to a destination within the secondary address range of the
1156
1499
  # VPC network's subnet.
1157
1500
  VPC_SECONDARY_SUBNET = 2
1501
+
1502
+ # The route leads to a destination in a dynamic route. Dynamic routes are
1503
+ # derived from Border Gateway Protocol (BGP) advertisements received from an
1504
+ # NCC hybrid spoke.
1505
+ DYNAMIC_ROUTE = 3
1158
1506
  end
1159
1507
 
1160
1508
  # The State enum represents the lifecycle stage of a Network Connectivity
@@ -1206,6 +1554,35 @@ module Google
1206
1554
 
1207
1555
  # Spokes associated with VPC networks.
1208
1556
  VPC_NETWORK = 4
1557
+
1558
+ # Spokes that are backed by a producer VPC network.
1559
+ PRODUCER_VPC_NETWORK = 7
1560
+ end
1561
+
1562
+ # This enum controls the policy mode used in a hub.
1563
+ module PolicyMode
1564
+ # Policy mode is unspecified. It defaults to PRESET
1565
+ # with preset_topology = MESH.
1566
+ POLICY_MODE_UNSPECIFIED = 0
1567
+
1568
+ # Hub uses one of the preset topologies.
1569
+ PRESET = 1
1570
+ end
1571
+
1572
+ # The list of available preset topologies.
1573
+ module PresetTopology
1574
+ # Preset topology is unspecified. When policy_mode = PRESET,
1575
+ # it defaults to MESH.
1576
+ PRESET_TOPOLOGY_UNSPECIFIED = 0
1577
+
1578
+ # Mesh topology is implemented. Group `default` is automatically created.
1579
+ # All spokes in the hub are added to group `default`.
1580
+ MESH = 2
1581
+
1582
+ # Star topology is implemented. Two groups, `center` and `edge`, are
1583
+ # automatically created along with hub creation. Spokes have to join one of
1584
+ # the groups during creation.
1585
+ STAR = 3
1209
1586
  end
1210
1587
  end
1211
1588
  end