google-apis-networkconnectivity_v1 0.26.0 → 0.28.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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