google-apis-networkconnectivity_v1 0.26.0 → 0.28.0

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.
@@ -22,6 +22,35 @@ module Google
22
22
  module Apis
23
23
  module NetworkconnectivityV1
24
24
 
25
+ # The request for HubService.AcceptSpoke.
26
+ class AcceptSpokeRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Optional. A request ID to identify requests. Specify a unique request ID so
30
+ # that if you must retry your request, the server will know to ignore the
31
+ # request if it has already been completed. The server guarantees that a request
32
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
33
+ # For example, consider a situation where you make an initial request and the
34
+ # request times out. If you make the request again with the same request ID, the
35
+ # server can check to see whether the original operation was received. If it was,
36
+ # the server ignores the second request. This behavior prevents clients from
37
+ # mistakenly creating duplicate commitments. The request ID must be a valid UUID,
38
+ # with the exception that zero UUID is not supported (00000000-0000-0000-0000-
39
+ # 000000000000).
40
+ # Corresponds to the JSON property `requestId`
41
+ # @return [String]
42
+ attr_accessor :request_id
43
+
44
+ def initialize(**args)
45
+ update!(**args)
46
+ end
47
+
48
+ # Update properties of this object
49
+ def update!(**args)
50
+ @request_id = args[:request_id] if args.key?(:request_id)
51
+ end
52
+ end
53
+
25
54
  # Specifies the audit configuration for a service. The configuration determines
26
55
  # which permission types are logged, and what identities, if any, are exempted
27
56
  # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
@@ -539,6 +568,14 @@ module Google
539
568
  # @return [String]
540
569
  attr_accessor :name
541
570
 
571
+ # Output only. The route tables that belong to this hub. They use the following
572
+ # form: `projects/`project_number`/locations/global/hubs/`hub_id`/routeTables/`
573
+ # route_table_id`` This field is read-only. Network Connectivity Center
574
+ # automatically populates it based on the route tables nested under the hub.
575
+ # Corresponds to the JSON property `routeTables`
576
+ # @return [Array<String>]
577
+ attr_accessor :route_tables
578
+
542
579
  # The VPC networks associated with this hub's spokes. This field is read-only.
543
580
  # Network Connectivity Center automatically populates it based on the set of
544
581
  # spokes attached to the hub.
@@ -546,6 +583,14 @@ module Google
546
583
  # @return [Array<Google::Apis::NetworkconnectivityV1::RoutingVpc>]
547
584
  attr_accessor :routing_vpcs
548
585
 
586
+ # Summarizes information about the spokes associated with a hub. The summary
587
+ # includes a count of spokes according to type and according to state. If any
588
+ # spokes are inactive, the summary also lists the reasons they are inactive,
589
+ # including a count for each reason.
590
+ # Corresponds to the JSON property `spokeSummary`
591
+ # @return [Google::Apis::NetworkconnectivityV1::SpokeSummary]
592
+ attr_accessor :spoke_summary
593
+
549
594
  # Output only. The current lifecycle state of this hub.
550
595
  # Corresponds to the JSON property `state`
551
596
  # @return [String]
@@ -573,7 +618,9 @@ module Google
573
618
  @description = args[:description] if args.key?(:description)
574
619
  @labels = args[:labels] if args.key?(:labels)
575
620
  @name = args[:name] if args.key?(:name)
621
+ @route_tables = args[:route_tables] if args.key?(:route_tables)
576
622
  @routing_vpcs = args[:routing_vpcs] if args.key?(:routing_vpcs)
623
+ @spoke_summary = args[:spoke_summary] if args.key?(:spoke_summary)
577
624
  @state = args[:state] if args.key?(:state)
578
625
  @unique_id = args[:unique_id] if args.key?(:unique_id)
579
626
  @update_time = args[:update_time] if args.key?(:update_time)
@@ -769,6 +816,31 @@ module Google
769
816
  end
770
817
  end
771
818
 
819
+ # An existing VPC network.
820
+ class LinkedVpcNetwork
821
+ include Google::Apis::Core::Hashable
822
+
823
+ # Optional. IP ranges encompassing the subnets to be excluded from peering.
824
+ # Corresponds to the JSON property `excludeExportRanges`
825
+ # @return [Array<String>]
826
+ attr_accessor :exclude_export_ranges
827
+
828
+ # Required. The URI of the VPC network resource.
829
+ # Corresponds to the JSON property `uri`
830
+ # @return [String]
831
+ attr_accessor :uri
832
+
833
+ def initialize(**args)
834
+ update!(**args)
835
+ end
836
+
837
+ # Update properties of this object
838
+ def update!(**args)
839
+ @exclude_export_ranges = args[:exclude_export_ranges] if args.key?(:exclude_export_ranges)
840
+ @uri = args[:uri] if args.key?(:uri)
841
+ end
842
+ end
843
+
772
844
  # A collection of Cloud VPN tunnel resources. These resources should be
773
845
  # redundant HA VPN tunnels that all advertise the same prefixes to Google Cloud.
774
846
  # Alternatively, in a passive/active configuration, all tunnels should be
@@ -807,6 +879,40 @@ module Google
807
879
  end
808
880
  end
809
881
 
882
+ # The response for HubService.ListHubSpokes.
883
+ class ListHubSpokesResponse
884
+ include Google::Apis::Core::Hashable
885
+
886
+ # The token for the next page of the response. To see more results, use this
887
+ # value as the page_token for your next request. If this value is empty, there
888
+ # are no more results.
889
+ # Corresponds to the JSON property `nextPageToken`
890
+ # @return [String]
891
+ attr_accessor :next_page_token
892
+
893
+ # The requested spokes. The spoke fields can be partially populated based on the
894
+ # `view` field in the request message.
895
+ # Corresponds to the JSON property `spokes`
896
+ # @return [Array<Google::Apis::NetworkconnectivityV1::Spoke>]
897
+ attr_accessor :spokes
898
+
899
+ # Locations that could not be reached.
900
+ # Corresponds to the JSON property `unreachable`
901
+ # @return [Array<String>]
902
+ attr_accessor :unreachable
903
+
904
+ def initialize(**args)
905
+ update!(**args)
906
+ end
907
+
908
+ # Update properties of this object
909
+ def update!(**args)
910
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
911
+ @spokes = args[:spokes] if args.key?(:spokes)
912
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
913
+ end
914
+ end
915
+
810
916
  # Response for HubService.ListHubs method.
811
917
  class ListHubsResponse
812
918
  include Google::Apis::Core::Hashable
@@ -897,6 +1003,72 @@ module Google
897
1003
  end
898
1004
  end
899
1005
 
1006
+ # Response for HubService.ListRouteTables method.
1007
+ class ListRouteTablesResponse
1008
+ include Google::Apis::Core::Hashable
1009
+
1010
+ # The token for the next page of the response. To see more results, use this
1011
+ # value as the page_token for your next request. If this value is empty, there
1012
+ # are no more results.
1013
+ # Corresponds to the JSON property `nextPageToken`
1014
+ # @return [String]
1015
+ attr_accessor :next_page_token
1016
+
1017
+ # The requested route tables.
1018
+ # Corresponds to the JSON property `routeTables`
1019
+ # @return [Array<Google::Apis::NetworkconnectivityV1::RouteTable>]
1020
+ attr_accessor :route_tables
1021
+
1022
+ # Hubs that could not be reached.
1023
+ # Corresponds to the JSON property `unreachable`
1024
+ # @return [Array<String>]
1025
+ attr_accessor :unreachable
1026
+
1027
+ def initialize(**args)
1028
+ update!(**args)
1029
+ end
1030
+
1031
+ # Update properties of this object
1032
+ def update!(**args)
1033
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1034
+ @route_tables = args[:route_tables] if args.key?(:route_tables)
1035
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1036
+ end
1037
+ end
1038
+
1039
+ # Response for HubService.ListRoutes method.
1040
+ class ListRoutesResponse
1041
+ include Google::Apis::Core::Hashable
1042
+
1043
+ # The token for the next page of the response. To see more results, use this
1044
+ # value as the page_token for your next request. If this value is empty, there
1045
+ # are no more results.
1046
+ # Corresponds to the JSON property `nextPageToken`
1047
+ # @return [String]
1048
+ attr_accessor :next_page_token
1049
+
1050
+ # The requested routes.
1051
+ # Corresponds to the JSON property `routes`
1052
+ # @return [Array<Google::Apis::NetworkconnectivityV1::Route>]
1053
+ attr_accessor :routes
1054
+
1055
+ # RouteTables that could not be reached.
1056
+ # Corresponds to the JSON property `unreachable`
1057
+ # @return [Array<String>]
1058
+ attr_accessor :unreachable
1059
+
1060
+ def initialize(**args)
1061
+ update!(**args)
1062
+ end
1063
+
1064
+ # Update properties of this object
1065
+ def update!(**args)
1066
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1067
+ @routes = args[:routes] if args.key?(:routes)
1068
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1069
+ end
1070
+ end
1071
+
900
1072
  # Response for ListServiceClasses.
901
1073
  class ListServiceClassesResponse
902
1074
  include Google::Apis::Core::Hashable
@@ -1124,6 +1296,25 @@ module Google
1124
1296
  end
1125
1297
  end
1126
1298
 
1299
+ #
1300
+ class NextHopVpcNetwork
1301
+ include Google::Apis::Core::Hashable
1302
+
1303
+ # The URI of the VPC network resource
1304
+ # Corresponds to the JSON property `uri`
1305
+ # @return [String]
1306
+ attr_accessor :uri
1307
+
1308
+ def initialize(**args)
1309
+ update!(**args)
1310
+ end
1311
+
1312
+ # Update properties of this object
1313
+ def update!(**args)
1314
+ @uri = args[:uri] if args.key?(:uri)
1315
+ end
1316
+ end
1317
+
1127
1318
  # Represents the metadata of the long-running operation.
1128
1319
  class OperationMetadata
1129
1320
  include Google::Apis::Core::Hashable
@@ -1303,7 +1494,7 @@ module Google
1303
1494
  class PscConfig
1304
1495
  include Google::Apis::Core::Hashable
1305
1496
 
1306
- # Max number of PSC connections for this policy.
1497
+ # Optional. Max number of PSC connections for this policy.
1307
1498
  # Corresponds to the JSON property `limit`
1308
1499
  # @return [Fixnum]
1309
1500
  attr_accessor :limit
@@ -1392,6 +1583,200 @@ module Google
1392
1583
  end
1393
1584
  end
1394
1585
 
1586
+ # The request for HubService.RejectSpoke.
1587
+ class RejectSpokeRequest
1588
+ include Google::Apis::Core::Hashable
1589
+
1590
+ # Optional. Additional information provided by the hub administrator in the `
1591
+ # RejectSpoke` call.
1592
+ # Corresponds to the JSON property `details`
1593
+ # @return [String]
1594
+ attr_accessor :details
1595
+
1596
+ # Optional. A request ID to identify requests. Specify a unique request ID so
1597
+ # that if you must retry your request, the server will know to ignore the
1598
+ # request if it has already been completed. The server guarantees that a request
1599
+ # doesn't result in creation of duplicate commitments for at least 60 minutes.
1600
+ # For example, consider a situation where you make an initial request and the
1601
+ # request times out. If you make the request again with the same request ID, the
1602
+ # server can check to see whether the original operation was received. If it was,
1603
+ # the server ignores the second request. This behavior prevents clients from
1604
+ # mistakenly creating duplicate commitments. The request ID must be a valid UUID,
1605
+ # with the exception that zero UUID is not supported (00000000-0000-0000-0000-
1606
+ # 000000000000).
1607
+ # Corresponds to the JSON property `requestId`
1608
+ # @return [String]
1609
+ attr_accessor :request_id
1610
+
1611
+ def initialize(**args)
1612
+ update!(**args)
1613
+ end
1614
+
1615
+ # Update properties of this object
1616
+ def update!(**args)
1617
+ @details = args[:details] if args.key?(:details)
1618
+ @request_id = args[:request_id] if args.key?(:request_id)
1619
+ end
1620
+ end
1621
+
1622
+ # A route defines a path from VM instances within a spoke to a specific
1623
+ # destination resource. Only VPC spokes have routes.
1624
+ class Route
1625
+ include Google::Apis::Core::Hashable
1626
+
1627
+ # Output only. The time the route was created.
1628
+ # Corresponds to the JSON property `createTime`
1629
+ # @return [String]
1630
+ attr_accessor :create_time
1631
+
1632
+ # An optional description of the route.
1633
+ # Corresponds to the JSON property `description`
1634
+ # @return [String]
1635
+ attr_accessor :description
1636
+
1637
+ # The destination IP address range.
1638
+ # Corresponds to the JSON property `ipCidrRange`
1639
+ # @return [String]
1640
+ attr_accessor :ip_cidr_range
1641
+
1642
+ # Optional labels in key:value format. For more information about labels, see [
1643
+ # Requirements for labels](https://cloud.google.com/resource-manager/docs/
1644
+ # creating-managing-labels#requirements).
1645
+ # Corresponds to the JSON property `labels`
1646
+ # @return [Hash<String,String>]
1647
+ attr_accessor :labels
1648
+
1649
+ # Output only. The location of the route. Uses the following form: "projects/`
1650
+ # project`/locations/`location`" Example: projects/1234/locations/us-central1
1651
+ # Corresponds to the JSON property `location`
1652
+ # @return [String]
1653
+ attr_accessor :location
1654
+
1655
+ # Immutable. The name of the route. Route names must be unique. Route names use
1656
+ # the following form: `projects/`project_number`/locations/global/hubs/`hub`/
1657
+ # routeTables/`route_table_id`/routes/`route_id``
1658
+ # Corresponds to the JSON property `name`
1659
+ # @return [String]
1660
+ attr_accessor :name
1661
+
1662
+ # Immutable. The destination VPC network for packets on this route.
1663
+ # Corresponds to the JSON property `nextHopVpcNetwork`
1664
+ # @return [Google::Apis::NetworkconnectivityV1::NextHopVpcNetwork]
1665
+ attr_accessor :next_hop_vpc_network
1666
+
1667
+ # Immutable. The spoke that this route leads to. Example: projects/12345/
1668
+ # locations/global/spokes/SPOKE
1669
+ # Corresponds to the JSON property `spoke`
1670
+ # @return [String]
1671
+ attr_accessor :spoke
1672
+
1673
+ # Output only. The current lifecycle state of the route.
1674
+ # Corresponds to the JSON property `state`
1675
+ # @return [String]
1676
+ attr_accessor :state
1677
+
1678
+ # Output only. The route's type. Its type is determined by the properties of its
1679
+ # IP address range.
1680
+ # Corresponds to the JSON property `type`
1681
+ # @return [String]
1682
+ attr_accessor :type
1683
+
1684
+ # Output only. The Google-generated UUID for the route. This value is unique
1685
+ # across all Network Connectivity Center route resources. If a route is deleted
1686
+ # and another with the same name is created, the new route is assigned a
1687
+ # different `uid`.
1688
+ # Corresponds to the JSON property `uid`
1689
+ # @return [String]
1690
+ attr_accessor :uid
1691
+
1692
+ # Output only. The time the route was last updated.
1693
+ # Corresponds to the JSON property `updateTime`
1694
+ # @return [String]
1695
+ attr_accessor :update_time
1696
+
1697
+ def initialize(**args)
1698
+ update!(**args)
1699
+ end
1700
+
1701
+ # Update properties of this object
1702
+ def update!(**args)
1703
+ @create_time = args[:create_time] if args.key?(:create_time)
1704
+ @description = args[:description] if args.key?(:description)
1705
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
1706
+ @labels = args[:labels] if args.key?(:labels)
1707
+ @location = args[:location] if args.key?(:location)
1708
+ @name = args[:name] if args.key?(:name)
1709
+ @next_hop_vpc_network = args[:next_hop_vpc_network] if args.key?(:next_hop_vpc_network)
1710
+ @spoke = args[:spoke] if args.key?(:spoke)
1711
+ @state = args[:state] if args.key?(:state)
1712
+ @type = args[:type] if args.key?(:type)
1713
+ @uid = args[:uid] if args.key?(:uid)
1714
+ @update_time = args[:update_time] if args.key?(:update_time)
1715
+ end
1716
+ end
1717
+
1718
+ #
1719
+ class RouteTable
1720
+ include Google::Apis::Core::Hashable
1721
+
1722
+ # Output only. The time the route table was created.
1723
+ # Corresponds to the JSON property `createTime`
1724
+ # @return [String]
1725
+ attr_accessor :create_time
1726
+
1727
+ # An optional description of the route table.
1728
+ # Corresponds to the JSON property `description`
1729
+ # @return [String]
1730
+ attr_accessor :description
1731
+
1732
+ # Optional labels in key:value format. For more information about labels, see [
1733
+ # Requirements for labels](https://cloud.google.com/resource-manager/docs/
1734
+ # creating-managing-labels#requirements).
1735
+ # Corresponds to the JSON property `labels`
1736
+ # @return [Hash<String,String>]
1737
+ attr_accessor :labels
1738
+
1739
+ # Immutable. The name of the route table. Route table names must be unique. They
1740
+ # use the following form: `projects/`project_number`/locations/global/hubs/`hub`/
1741
+ # routeTables/`route_table_id``
1742
+ # Corresponds to the JSON property `name`
1743
+ # @return [String]
1744
+ attr_accessor :name
1745
+
1746
+ # Output only. The current lifecycle state of this route table.
1747
+ # Corresponds to the JSON property `state`
1748
+ # @return [String]
1749
+ attr_accessor :state
1750
+
1751
+ # Output only. The Google-generated UUID for the route table. This value is
1752
+ # unique across all route table resources. If a route table is deleted and
1753
+ # another with the same name is created, the new route table is assigned a
1754
+ # different `uid`.
1755
+ # Corresponds to the JSON property `uid`
1756
+ # @return [String]
1757
+ attr_accessor :uid
1758
+
1759
+ # Output only. The time the route table was last updated.
1760
+ # Corresponds to the JSON property `updateTime`
1761
+ # @return [String]
1762
+ attr_accessor :update_time
1763
+
1764
+ def initialize(**args)
1765
+ update!(**args)
1766
+ end
1767
+
1768
+ # Update properties of this object
1769
+ def update!(**args)
1770
+ @create_time = args[:create_time] if args.key?(:create_time)
1771
+ @description = args[:description] if args.key?(:description)
1772
+ @labels = args[:labels] if args.key?(:labels)
1773
+ @name = args[:name] if args.key?(:name)
1774
+ @state = args[:state] if args.key?(:state)
1775
+ @uid = args[:uid] if args.key?(:uid)
1776
+ @update_time = args[:update_time] if args.key?(:update_time)
1777
+ end
1778
+ end
1779
+
1395
1780
  # A router appliance instance is a Compute Engine virtual machine (VM) instance
1396
1781
  # that acts as a BGP speaker. A router appliance instance is specified by the
1397
1782
  # URI of the VM and the internal IP address of one of the VM's network
@@ -1451,7 +1836,7 @@ module Google
1451
1836
  end
1452
1837
  end
1453
1838
 
1454
- # The ServiceClass resource. Next id: 8
1839
+ # The ServiceClass resource. Next id: 9
1455
1840
  class ServiceClass
1456
1841
  include Google::Apis::Core::Hashable
1457
1842
 
@@ -1465,6 +1850,12 @@ module Google
1465
1850
  # @return [String]
1466
1851
  attr_accessor :description
1467
1852
 
1853
+ # Optional. The etag is computed by the server, and may be sent on update and
1854
+ # delete requests to ensure the client has an up-to-date value before proceeding.
1855
+ # Corresponds to the JSON property `etag`
1856
+ # @return [String]
1857
+ attr_accessor :etag
1858
+
1468
1859
  # User-defined labels.
1469
1860
  # Corresponds to the JSON property `labels`
1470
1861
  # @return [Hash<String,String>]
@@ -1501,6 +1892,7 @@ module Google
1501
1892
  def update!(**args)
1502
1893
  @create_time = args[:create_time] if args.key?(:create_time)
1503
1894
  @description = args[:description] if args.key?(:description)
1895
+ @etag = args[:etag] if args.key?(:etag)
1504
1896
  @labels = args[:labels] if args.key?(:labels)
1505
1897
  @name = args[:name] if args.key?(:name)
1506
1898
  @service_class = args[:service_class] if args.key?(:service_class)
@@ -1509,7 +1901,7 @@ module Google
1509
1901
  end
1510
1902
  end
1511
1903
 
1512
- # The ServiceConnectionMap resource. Next id: 14
1904
+ # The ServiceConnectionMap resource. Next id: 15
1513
1905
  class ServiceConnectionMap
1514
1906
  include Google::Apis::Core::Hashable
1515
1907
 
@@ -1533,6 +1925,12 @@ module Google
1533
1925
  # @return [String]
1534
1926
  attr_accessor :description
1535
1927
 
1928
+ # Optional. The etag is computed by the server, and may be sent on update and
1929
+ # delete requests to ensure the client has an up-to-date value before proceeding.
1930
+ # Corresponds to the JSON property `etag`
1931
+ # @return [String]
1932
+ attr_accessor :etag
1933
+
1536
1934
  # Output only. The infrastructure used for connections between consumers/
1537
1935
  # producers.
1538
1936
  # Corresponds to the JSON property `infrastructure`
@@ -1589,6 +1987,7 @@ module Google
1589
1987
  @consumer_psc_connections = args[:consumer_psc_connections] if args.key?(:consumer_psc_connections)
1590
1988
  @create_time = args[:create_time] if args.key?(:create_time)
1591
1989
  @description = args[:description] if args.key?(:description)
1990
+ @etag = args[:etag] if args.key?(:etag)
1592
1991
  @infrastructure = args[:infrastructure] if args.key?(:infrastructure)
1593
1992
  @labels = args[:labels] if args.key?(:labels)
1594
1993
  @name = args[:name] if args.key?(:name)
@@ -1600,7 +1999,7 @@ module Google
1600
1999
  end
1601
2000
  end
1602
2001
 
1603
- # The ServiceConnectionPolicy resource. Next id: 11
2002
+ # The ServiceConnectionPolicy resource. Next id: 12
1604
2003
  class ServiceConnectionPolicy
1605
2004
  include Google::Apis::Core::Hashable
1606
2005
 
@@ -1614,6 +2013,12 @@ module Google
1614
2013
  # @return [String]
1615
2014
  attr_accessor :description
1616
2015
 
2016
+ # Optional. The etag is computed by the server, and may be sent on update and
2017
+ # delete requests to ensure the client has an up-to-date value before proceeding.
2018
+ # Corresponds to the JSON property `etag`
2019
+ # @return [String]
2020
+ attr_accessor :etag
2021
+
1617
2022
  # Output only. The type of underlying resources used to create the connection.
1618
2023
  # Corresponds to the JSON property `infrastructure`
1619
2024
  # @return [String]
@@ -1671,6 +2076,7 @@ module Google
1671
2076
  def update!(**args)
1672
2077
  @create_time = args[:create_time] if args.key?(:create_time)
1673
2078
  @description = args[:description] if args.key?(:description)
2079
+ @etag = args[:etag] if args.key?(:etag)
1674
2080
  @infrastructure = args[:infrastructure] if args.key?(:infrastructure)
1675
2081
  @labels = args[:labels] if args.key?(:labels)
1676
2082
  @name = args[:name] if args.key?(:name)
@@ -1682,7 +2088,7 @@ module Google
1682
2088
  end
1683
2089
  end
1684
2090
 
1685
- # The ServiceConnectionToken resource. Next id: 9
2091
+ # The ServiceConnectionToken resource. Next id: 10
1686
2092
  class ServiceConnectionToken
1687
2093
  include Google::Apis::Core::Hashable
1688
2094
 
@@ -1696,6 +2102,12 @@ module Google
1696
2102
  # @return [String]
1697
2103
  attr_accessor :description
1698
2104
 
2105
+ # Optional. The etag is computed by the server, and may be sent on update and
2106
+ # delete requests to ensure the client has an up-to-date value before proceeding.
2107
+ # Corresponds to the JSON property `etag`
2108
+ # @return [String]
2109
+ attr_accessor :etag
2110
+
1699
2111
  # Output only. The time to which this token is valid.
1700
2112
  # Corresponds to the JSON property `expireTime`
1701
2113
  # @return [String]
@@ -1737,6 +2149,7 @@ module Google
1737
2149
  def update!(**args)
1738
2150
  @create_time = args[:create_time] if args.key?(:create_time)
1739
2151
  @description = args[:description] if args.key?(:description)
2152
+ @etag = args[:etag] if args.key?(:etag)
1740
2153
  @expire_time = args[:expire_time] if args.key?(:expire_time)
1741
2154
  @labels = args[:labels] if args.key?(:labels)
1742
2155
  @name = args[:name] if args.key?(:name)
@@ -1845,6 +2258,11 @@ module Google
1845
2258
  # @return [Google::Apis::NetworkconnectivityV1::LinkedRouterApplianceInstances]
1846
2259
  attr_accessor :linked_router_appliance_instances
1847
2260
 
2261
+ # An existing VPC network.
2262
+ # Corresponds to the JSON property `linkedVpcNetwork`
2263
+ # @return [Google::Apis::NetworkconnectivityV1::LinkedVpcNetwork]
2264
+ attr_accessor :linked_vpc_network
2265
+
1848
2266
  # A collection of Cloud VPN tunnel resources. These resources should be
1849
2267
  # redundant HA VPN tunnels that all advertise the same prefixes to Google Cloud.
1850
2268
  # Alternatively, in a passive/active configuration, all tunnels should be
@@ -1860,6 +2278,17 @@ module Google
1860
2278
  # @return [String]
1861
2279
  attr_accessor :name
1862
2280
 
2281
+ # Output only. The reasons for current state of the spoke. Only present when the
2282
+ # spoke is in the `INACTIVE` state.
2283
+ # Corresponds to the JSON property `reasons`
2284
+ # @return [Array<Google::Apis::NetworkconnectivityV1::StateReason>]
2285
+ attr_accessor :reasons
2286
+
2287
+ # Output only. The type of resource associated with the spoke.
2288
+ # Corresponds to the JSON property `spokeType`
2289
+ # @return [String]
2290
+ attr_accessor :spoke_type
2291
+
1863
2292
  # Output only. The current lifecycle state of this spoke.
1864
2293
  # Corresponds to the JSON property `state`
1865
2294
  # @return [String]
@@ -1867,7 +2296,7 @@ module Google
1867
2296
 
1868
2297
  # Output only. The Google-generated UUID for the spoke. This value is unique
1869
2298
  # across all spoke resources. If a spoke is deleted and another with the same
1870
- # name is created, the new spoke is assigned a different unique_id.
2299
+ # name is created, the new spoke is assigned a different `unique_id`.
1871
2300
  # Corresponds to the JSON property `uniqueId`
1872
2301
  # @return [String]
1873
2302
  attr_accessor :unique_id
@@ -1889,14 +2318,165 @@ module Google
1889
2318
  @labels = args[:labels] if args.key?(:labels)
1890
2319
  @linked_interconnect_attachments = args[:linked_interconnect_attachments] if args.key?(:linked_interconnect_attachments)
1891
2320
  @linked_router_appliance_instances = args[:linked_router_appliance_instances] if args.key?(:linked_router_appliance_instances)
2321
+ @linked_vpc_network = args[:linked_vpc_network] if args.key?(:linked_vpc_network)
1892
2322
  @linked_vpn_tunnels = args[:linked_vpn_tunnels] if args.key?(:linked_vpn_tunnels)
1893
2323
  @name = args[:name] if args.key?(:name)
2324
+ @reasons = args[:reasons] if args.key?(:reasons)
2325
+ @spoke_type = args[:spoke_type] if args.key?(:spoke_type)
1894
2326
  @state = args[:state] if args.key?(:state)
1895
2327
  @unique_id = args[:unique_id] if args.key?(:unique_id)
1896
2328
  @update_time = args[:update_time] if args.key?(:update_time)
1897
2329
  end
1898
2330
  end
1899
2331
 
2332
+ # The number of spokes that are in a particular state and associated with a
2333
+ # given hub.
2334
+ class SpokeStateCount
2335
+ include Google::Apis::Core::Hashable
2336
+
2337
+ # Output only. The total number of spokes that are in this state and associated
2338
+ # with a given hub.
2339
+ # Corresponds to the JSON property `count`
2340
+ # @return [Fixnum]
2341
+ attr_accessor :count
2342
+
2343
+ # Output only. The state of the spokes.
2344
+ # Corresponds to the JSON property `state`
2345
+ # @return [String]
2346
+ attr_accessor :state
2347
+
2348
+ def initialize(**args)
2349
+ update!(**args)
2350
+ end
2351
+
2352
+ # Update properties of this object
2353
+ def update!(**args)
2354
+ @count = args[:count] if args.key?(:count)
2355
+ @state = args[:state] if args.key?(:state)
2356
+ end
2357
+ end
2358
+
2359
+ # The number of spokes in the hub that are inactive for this reason.
2360
+ class SpokeStateReasonCount
2361
+ include Google::Apis::Core::Hashable
2362
+
2363
+ # Output only. The total number of spokes that are inactive for a particular
2364
+ # reason and associated with a given hub.
2365
+ # Corresponds to the JSON property `count`
2366
+ # @return [Fixnum]
2367
+ attr_accessor :count
2368
+
2369
+ # Output only. The reason that a spoke is inactive.
2370
+ # Corresponds to the JSON property `stateReasonCode`
2371
+ # @return [String]
2372
+ attr_accessor :state_reason_code
2373
+
2374
+ def initialize(**args)
2375
+ update!(**args)
2376
+ end
2377
+
2378
+ # Update properties of this object
2379
+ def update!(**args)
2380
+ @count = args[:count] if args.key?(:count)
2381
+ @state_reason_code = args[:state_reason_code] if args.key?(:state_reason_code)
2382
+ end
2383
+ end
2384
+
2385
+ # Summarizes information about the spokes associated with a hub. The summary
2386
+ # includes a count of spokes according to type and according to state. If any
2387
+ # spokes are inactive, the summary also lists the reasons they are inactive,
2388
+ # including a count for each reason.
2389
+ class SpokeSummary
2390
+ include Google::Apis::Core::Hashable
2391
+
2392
+ # Output only. Counts the number of spokes that are in each state and associated
2393
+ # with a given hub.
2394
+ # Corresponds to the JSON property `spokeStateCounts`
2395
+ # @return [Array<Google::Apis::NetworkconnectivityV1::SpokeStateCount>]
2396
+ attr_accessor :spoke_state_counts
2397
+
2398
+ # Output only. Counts the number of spokes that are inactive for each possible
2399
+ # reason and associated with a given hub.
2400
+ # Corresponds to the JSON property `spokeStateReasonCounts`
2401
+ # @return [Array<Google::Apis::NetworkconnectivityV1::SpokeStateReasonCount>]
2402
+ attr_accessor :spoke_state_reason_counts
2403
+
2404
+ # Output only. Counts the number of spokes of each type that are associated with
2405
+ # a specific hub.
2406
+ # Corresponds to the JSON property `spokeTypeCounts`
2407
+ # @return [Array<Google::Apis::NetworkconnectivityV1::SpokeTypeCount>]
2408
+ attr_accessor :spoke_type_counts
2409
+
2410
+ def initialize(**args)
2411
+ update!(**args)
2412
+ end
2413
+
2414
+ # Update properties of this object
2415
+ def update!(**args)
2416
+ @spoke_state_counts = args[:spoke_state_counts] if args.key?(:spoke_state_counts)
2417
+ @spoke_state_reason_counts = args[:spoke_state_reason_counts] if args.key?(:spoke_state_reason_counts)
2418
+ @spoke_type_counts = args[:spoke_type_counts] if args.key?(:spoke_type_counts)
2419
+ end
2420
+ end
2421
+
2422
+ # The number of spokes of a given type that are associated with a specific hub.
2423
+ # The type indicates what kind of resource is associated with the spoke.
2424
+ class SpokeTypeCount
2425
+ include Google::Apis::Core::Hashable
2426
+
2427
+ # Output only. The total number of spokes of this type that are associated with
2428
+ # the hub.
2429
+ # Corresponds to the JSON property `count`
2430
+ # @return [Fixnum]
2431
+ attr_accessor :count
2432
+
2433
+ # Output only. The type of the spokes.
2434
+ # Corresponds to the JSON property `spokeType`
2435
+ # @return [String]
2436
+ attr_accessor :spoke_type
2437
+
2438
+ def initialize(**args)
2439
+ update!(**args)
2440
+ end
2441
+
2442
+ # Update properties of this object
2443
+ def update!(**args)
2444
+ @count = args[:count] if args.key?(:count)
2445
+ @spoke_type = args[:spoke_type] if args.key?(:spoke_type)
2446
+ end
2447
+ end
2448
+
2449
+ # The reason a spoke is inactive.
2450
+ class StateReason
2451
+ include Google::Apis::Core::Hashable
2452
+
2453
+ # The code associated with this reason.
2454
+ # Corresponds to the JSON property `code`
2455
+ # @return [String]
2456
+ attr_accessor :code
2457
+
2458
+ # Human-readable details about this reason.
2459
+ # Corresponds to the JSON property `message`
2460
+ # @return [String]
2461
+ attr_accessor :message
2462
+
2463
+ # Additional information provided by the user in the RejectSpoke call.
2464
+ # Corresponds to the JSON property `userDetails`
2465
+ # @return [String]
2466
+ attr_accessor :user_details
2467
+
2468
+ def initialize(**args)
2469
+ update!(**args)
2470
+ end
2471
+
2472
+ # Update properties of this object
2473
+ def update!(**args)
2474
+ @code = args[:code] if args.key?(:code)
2475
+ @message = args[:message] if args.key?(:message)
2476
+ @user_details = args[:user_details] if args.key?(:user_details)
2477
+ end
2478
+ end
2479
+
1900
2480
  # Request message for `TestIamPermissions` method.
1901
2481
  class TestIamPermissionsRequest
1902
2482
  include Google::Apis::Core::Hashable