google-apis-networkconnectivity_v1 0.26.0 → 0.27.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 unique request ID (optional). If you specify this ID, you can use
30
+ # it in cases when you need to retry your request. When you need to retry, this
31
+ # ID lets the server know that it can ignore the request if it has already been
32
+ # completed. The server guarantees that for at least 60 minutes after the first
33
+ # request. For example, consider a situation where you make an initial request
34
+ # and the request times out. If you make the request again with the same request
35
+ # ID, the server can check to see whether the original operation was received.
36
+ # If it was, the server ignores the second request. This behavior prevents
37
+ # clients from mistakenly creating duplicate commitments. The request ID must be
38
+ # a valid UUID, with the exception that zero UUID is not supported (00000000-
39
+ # 0000-0000-0000-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,199 @@ 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 Details behind the rejection
1591
+ # Corresponds to the JSON property `details`
1592
+ # @return [String]
1593
+ attr_accessor :details
1594
+
1595
+ # Optional. A unique request ID (optional). If you specify this ID, you can use
1596
+ # it in cases when you need to retry your request. When you need to retry, this
1597
+ # ID lets the server know that it can ignore the request if it has already been
1598
+ # completed. The server guarantees that for at least 60 minutes after the first
1599
+ # request. For example, consider a situation where you make an initial request
1600
+ # and the request times out. If you make the request again with the same request
1601
+ # ID, the server can check to see whether the original operation was received.
1602
+ # If it was, the server ignores the second request. This behavior prevents
1603
+ # clients from mistakenly creating duplicate commitments. The request ID must be
1604
+ # a valid UUID, with the exception that zero UUID is not supported (00000000-
1605
+ # 0000-0000-0000-000000000000).
1606
+ # Corresponds to the JSON property `requestId`
1607
+ # @return [String]
1608
+ attr_accessor :request_id
1609
+
1610
+ def initialize(**args)
1611
+ update!(**args)
1612
+ end
1613
+
1614
+ # Update properties of this object
1615
+ def update!(**args)
1616
+ @details = args[:details] if args.key?(:details)
1617
+ @request_id = args[:request_id] if args.key?(:request_id)
1618
+ end
1619
+ end
1620
+
1621
+ # A route defines a path from VM instances within a spoke to a specific
1622
+ # destination resource. Only VPC spokes have routes.
1623
+ class Route
1624
+ include Google::Apis::Core::Hashable
1625
+
1626
+ # Output only. The time the route was created.
1627
+ # Corresponds to the JSON property `createTime`
1628
+ # @return [String]
1629
+ attr_accessor :create_time
1630
+
1631
+ # An optional description of the route.
1632
+ # Corresponds to the JSON property `description`
1633
+ # @return [String]
1634
+ attr_accessor :description
1635
+
1636
+ # The destination IP address range.
1637
+ # Corresponds to the JSON property `ipCidrRange`
1638
+ # @return [String]
1639
+ attr_accessor :ip_cidr_range
1640
+
1641
+ # Optional labels in key:value format. For more information about labels, see [
1642
+ # Requirements for labels](https://cloud.google.com/resource-manager/docs/
1643
+ # creating-managing-labels#requirements).
1644
+ # Corresponds to the JSON property `labels`
1645
+ # @return [Hash<String,String>]
1646
+ attr_accessor :labels
1647
+
1648
+ # Output only. The location of the route. Uses the following form: "projects/`
1649
+ # project`/locations/`location`" Example: projects/1234/locations/us-central1
1650
+ # Corresponds to the JSON property `location`
1651
+ # @return [String]
1652
+ attr_accessor :location
1653
+
1654
+ # Immutable. The name of the route. Route names must be unique. They use the
1655
+ # following form: `projects/`project_number`/locations/global/hubs/`hub`/
1656
+ # routeTables/`route_table_id`/routes/`route_id``
1657
+ # Corresponds to the JSON property `name`
1658
+ # @return [String]
1659
+ attr_accessor :name
1660
+
1661
+ # Immutable. The destination VPC network for packets on this route.
1662
+ # Corresponds to the JSON property `nextHopVpcNetwork`
1663
+ # @return [Google::Apis::NetworkconnectivityV1::NextHopVpcNetwork]
1664
+ attr_accessor :next_hop_vpc_network
1665
+
1666
+ # Immutable. The spoke that this route leads to. Example: projects/12345/
1667
+ # locations/global/spokes/SPOKE
1668
+ # Corresponds to the JSON property `spoke`
1669
+ # @return [String]
1670
+ attr_accessor :spoke
1671
+
1672
+ # Output only. The current lifecycle state of the route.
1673
+ # Corresponds to the JSON property `state`
1674
+ # @return [String]
1675
+ attr_accessor :state
1676
+
1677
+ # Output only. The route's type. Its type is determined by the properties of its
1678
+ # IP address range.
1679
+ # Corresponds to the JSON property `type`
1680
+ # @return [String]
1681
+ attr_accessor :type
1682
+
1683
+ # Output only. The Google-generated UUID for the route. This value is unique
1684
+ # across all Network Connectivity Center route resources. If a route is deleted
1685
+ # and another with the same name is created, the new route is assigned a
1686
+ # different unique_id.
1687
+ # Corresponds to the JSON property `uid`
1688
+ # @return [String]
1689
+ attr_accessor :uid
1690
+
1691
+ # Output only. The time the route was last updated.
1692
+ # Corresponds to the JSON property `updateTime`
1693
+ # @return [String]
1694
+ attr_accessor :update_time
1695
+
1696
+ def initialize(**args)
1697
+ update!(**args)
1698
+ end
1699
+
1700
+ # Update properties of this object
1701
+ def update!(**args)
1702
+ @create_time = args[:create_time] if args.key?(:create_time)
1703
+ @description = args[:description] if args.key?(:description)
1704
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
1705
+ @labels = args[:labels] if args.key?(:labels)
1706
+ @location = args[:location] if args.key?(:location)
1707
+ @name = args[:name] if args.key?(:name)
1708
+ @next_hop_vpc_network = args[:next_hop_vpc_network] if args.key?(:next_hop_vpc_network)
1709
+ @spoke = args[:spoke] if args.key?(:spoke)
1710
+ @state = args[:state] if args.key?(:state)
1711
+ @type = args[:type] if args.key?(:type)
1712
+ @uid = args[:uid] if args.key?(:uid)
1713
+ @update_time = args[:update_time] if args.key?(:update_time)
1714
+ end
1715
+ end
1716
+
1717
+ #
1718
+ class RouteTable
1719
+ include Google::Apis::Core::Hashable
1720
+
1721
+ # Output only. The time the route table was created.
1722
+ # Corresponds to the JSON property `createTime`
1723
+ # @return [String]
1724
+ attr_accessor :create_time
1725
+
1726
+ # An optional description of the route table.
1727
+ # Corresponds to the JSON property `description`
1728
+ # @return [String]
1729
+ attr_accessor :description
1730
+
1731
+ # Optional labels in key:value format. For more information about labels, see [
1732
+ # Requirements for labels](https://cloud.google.com/resource-manager/docs/
1733
+ # creating-managing-labels#requirements).
1734
+ # Corresponds to the JSON property `labels`
1735
+ # @return [Hash<String,String>]
1736
+ attr_accessor :labels
1737
+
1738
+ # Immutable. The name of the route table. Route Table names must be unique. They
1739
+ # use the following form: `projects/`project_number`/locations/global/hubs/`hub`/
1740
+ # routeTables/`route_table_id``
1741
+ # Corresponds to the JSON property `name`
1742
+ # @return [String]
1743
+ attr_accessor :name
1744
+
1745
+ # Output only. The current lifecycle state of this route table.
1746
+ # Corresponds to the JSON property `state`
1747
+ # @return [String]
1748
+ attr_accessor :state
1749
+
1750
+ # Output only. The Google-generated UUID for the route table. This value is
1751
+ # unique across all route table resources. If a route table is deleted and
1752
+ # another with the same name is created, the new route table is assigned a
1753
+ # different unique_id.
1754
+ # Corresponds to the JSON property `uid`
1755
+ # @return [String]
1756
+ attr_accessor :uid
1757
+
1758
+ # Output only. The time the route table was last updated.
1759
+ # Corresponds to the JSON property `updateTime`
1760
+ # @return [String]
1761
+ attr_accessor :update_time
1762
+
1763
+ def initialize(**args)
1764
+ update!(**args)
1765
+ end
1766
+
1767
+ # Update properties of this object
1768
+ def update!(**args)
1769
+ @create_time = args[:create_time] if args.key?(:create_time)
1770
+ @description = args[:description] if args.key?(:description)
1771
+ @labels = args[:labels] if args.key?(:labels)
1772
+ @name = args[:name] if args.key?(:name)
1773
+ @state = args[:state] if args.key?(:state)
1774
+ @uid = args[:uid] if args.key?(:uid)
1775
+ @update_time = args[:update_time] if args.key?(:update_time)
1776
+ end
1777
+ end
1778
+
1395
1779
  # A router appliance instance is a Compute Engine virtual machine (VM) instance
1396
1780
  # that acts as a BGP speaker. A router appliance instance is specified by the
1397
1781
  # URI of the VM and the internal IP address of one of the VM's network
@@ -1451,7 +1835,7 @@ module Google
1451
1835
  end
1452
1836
  end
1453
1837
 
1454
- # The ServiceClass resource. Next id: 8
1838
+ # The ServiceClass resource. Next id: 9
1455
1839
  class ServiceClass
1456
1840
  include Google::Apis::Core::Hashable
1457
1841
 
@@ -1465,6 +1849,12 @@ module Google
1465
1849
  # @return [String]
1466
1850
  attr_accessor :description
1467
1851
 
1852
+ # Optional. The etag is computed by the server, and may be sent on update and
1853
+ # delete requests to ensure the client has an up-to-date value before proceeding.
1854
+ # Corresponds to the JSON property `etag`
1855
+ # @return [String]
1856
+ attr_accessor :etag
1857
+
1468
1858
  # User-defined labels.
1469
1859
  # Corresponds to the JSON property `labels`
1470
1860
  # @return [Hash<String,String>]
@@ -1501,6 +1891,7 @@ module Google
1501
1891
  def update!(**args)
1502
1892
  @create_time = args[:create_time] if args.key?(:create_time)
1503
1893
  @description = args[:description] if args.key?(:description)
1894
+ @etag = args[:etag] if args.key?(:etag)
1504
1895
  @labels = args[:labels] if args.key?(:labels)
1505
1896
  @name = args[:name] if args.key?(:name)
1506
1897
  @service_class = args[:service_class] if args.key?(:service_class)
@@ -1509,7 +1900,7 @@ module Google
1509
1900
  end
1510
1901
  end
1511
1902
 
1512
- # The ServiceConnectionMap resource. Next id: 14
1903
+ # The ServiceConnectionMap resource. Next id: 15
1513
1904
  class ServiceConnectionMap
1514
1905
  include Google::Apis::Core::Hashable
1515
1906
 
@@ -1533,6 +1924,12 @@ module Google
1533
1924
  # @return [String]
1534
1925
  attr_accessor :description
1535
1926
 
1927
+ # Optional. The etag is computed by the server, and may be sent on update and
1928
+ # delete requests to ensure the client has an up-to-date value before proceeding.
1929
+ # Corresponds to the JSON property `etag`
1930
+ # @return [String]
1931
+ attr_accessor :etag
1932
+
1536
1933
  # Output only. The infrastructure used for connections between consumers/
1537
1934
  # producers.
1538
1935
  # Corresponds to the JSON property `infrastructure`
@@ -1589,6 +1986,7 @@ module Google
1589
1986
  @consumer_psc_connections = args[:consumer_psc_connections] if args.key?(:consumer_psc_connections)
1590
1987
  @create_time = args[:create_time] if args.key?(:create_time)
1591
1988
  @description = args[:description] if args.key?(:description)
1989
+ @etag = args[:etag] if args.key?(:etag)
1592
1990
  @infrastructure = args[:infrastructure] if args.key?(:infrastructure)
1593
1991
  @labels = args[:labels] if args.key?(:labels)
1594
1992
  @name = args[:name] if args.key?(:name)
@@ -1600,7 +1998,7 @@ module Google
1600
1998
  end
1601
1999
  end
1602
2000
 
1603
- # The ServiceConnectionPolicy resource. Next id: 11
2001
+ # The ServiceConnectionPolicy resource. Next id: 12
1604
2002
  class ServiceConnectionPolicy
1605
2003
  include Google::Apis::Core::Hashable
1606
2004
 
@@ -1614,6 +2012,12 @@ module Google
1614
2012
  # @return [String]
1615
2013
  attr_accessor :description
1616
2014
 
2015
+ # Optional. The etag is computed by the server, and may be sent on update and
2016
+ # delete requests to ensure the client has an up-to-date value before proceeding.
2017
+ # Corresponds to the JSON property `etag`
2018
+ # @return [String]
2019
+ attr_accessor :etag
2020
+
1617
2021
  # Output only. The type of underlying resources used to create the connection.
1618
2022
  # Corresponds to the JSON property `infrastructure`
1619
2023
  # @return [String]
@@ -1671,6 +2075,7 @@ module Google
1671
2075
  def update!(**args)
1672
2076
  @create_time = args[:create_time] if args.key?(:create_time)
1673
2077
  @description = args[:description] if args.key?(:description)
2078
+ @etag = args[:etag] if args.key?(:etag)
1674
2079
  @infrastructure = args[:infrastructure] if args.key?(:infrastructure)
1675
2080
  @labels = args[:labels] if args.key?(:labels)
1676
2081
  @name = args[:name] if args.key?(:name)
@@ -1682,7 +2087,7 @@ module Google
1682
2087
  end
1683
2088
  end
1684
2089
 
1685
- # The ServiceConnectionToken resource. Next id: 9
2090
+ # The ServiceConnectionToken resource. Next id: 10
1686
2091
  class ServiceConnectionToken
1687
2092
  include Google::Apis::Core::Hashable
1688
2093
 
@@ -1696,6 +2101,12 @@ module Google
1696
2101
  # @return [String]
1697
2102
  attr_accessor :description
1698
2103
 
2104
+ # Optional. The etag is computed by the server, and may be sent on update and
2105
+ # delete requests to ensure the client has an up-to-date value before proceeding.
2106
+ # Corresponds to the JSON property `etag`
2107
+ # @return [String]
2108
+ attr_accessor :etag
2109
+
1699
2110
  # Output only. The time to which this token is valid.
1700
2111
  # Corresponds to the JSON property `expireTime`
1701
2112
  # @return [String]
@@ -1737,6 +2148,7 @@ module Google
1737
2148
  def update!(**args)
1738
2149
  @create_time = args[:create_time] if args.key?(:create_time)
1739
2150
  @description = args[:description] if args.key?(:description)
2151
+ @etag = args[:etag] if args.key?(:etag)
1740
2152
  @expire_time = args[:expire_time] if args.key?(:expire_time)
1741
2153
  @labels = args[:labels] if args.key?(:labels)
1742
2154
  @name = args[:name] if args.key?(:name)
@@ -1845,6 +2257,11 @@ module Google
1845
2257
  # @return [Google::Apis::NetworkconnectivityV1::LinkedRouterApplianceInstances]
1846
2258
  attr_accessor :linked_router_appliance_instances
1847
2259
 
2260
+ # An existing VPC network.
2261
+ # Corresponds to the JSON property `linkedVpcNetwork`
2262
+ # @return [Google::Apis::NetworkconnectivityV1::LinkedVpcNetwork]
2263
+ attr_accessor :linked_vpc_network
2264
+
1848
2265
  # A collection of Cloud VPN tunnel resources. These resources should be
1849
2266
  # redundant HA VPN tunnels that all advertise the same prefixes to Google Cloud.
1850
2267
  # Alternatively, in a passive/active configuration, all tunnels should be
@@ -1860,6 +2277,16 @@ module Google
1860
2277
  # @return [String]
1861
2278
  attr_accessor :name
1862
2279
 
2280
+ # Output only. The reasons for current state of the spoke.
2281
+ # Corresponds to the JSON property `reasons`
2282
+ # @return [Array<Google::Apis::NetworkconnectivityV1::StateReason>]
2283
+ attr_accessor :reasons
2284
+
2285
+ # Output only. The type of resource associated with the spoke.
2286
+ # Corresponds to the JSON property `spokeType`
2287
+ # @return [String]
2288
+ attr_accessor :spoke_type
2289
+
1863
2290
  # Output only. The current lifecycle state of this spoke.
1864
2291
  # Corresponds to the JSON property `state`
1865
2292
  # @return [String]
@@ -1889,14 +2316,165 @@ module Google
1889
2316
  @labels = args[:labels] if args.key?(:labels)
1890
2317
  @linked_interconnect_attachments = args[:linked_interconnect_attachments] if args.key?(:linked_interconnect_attachments)
1891
2318
  @linked_router_appliance_instances = args[:linked_router_appliance_instances] if args.key?(:linked_router_appliance_instances)
2319
+ @linked_vpc_network = args[:linked_vpc_network] if args.key?(:linked_vpc_network)
1892
2320
  @linked_vpn_tunnels = args[:linked_vpn_tunnels] if args.key?(:linked_vpn_tunnels)
1893
2321
  @name = args[:name] if args.key?(:name)
2322
+ @reasons = args[:reasons] if args.key?(:reasons)
2323
+ @spoke_type = args[:spoke_type] if args.key?(:spoke_type)
1894
2324
  @state = args[:state] if args.key?(:state)
1895
2325
  @unique_id = args[:unique_id] if args.key?(:unique_id)
1896
2326
  @update_time = args[:update_time] if args.key?(:update_time)
1897
2327
  end
1898
2328
  end
1899
2329
 
2330
+ # The number of spokes that are in a particular state and associated with a
2331
+ # given hub.
2332
+ class SpokeStateCount
2333
+ include Google::Apis::Core::Hashable
2334
+
2335
+ # Output only. The total number of spokes that are in this state and associated
2336
+ # with a given hub.
2337
+ # Corresponds to the JSON property `count`
2338
+ # @return [Fixnum]
2339
+ attr_accessor :count
2340
+
2341
+ # Output only. The state of the spokes.
2342
+ # Corresponds to the JSON property `state`
2343
+ # @return [String]
2344
+ attr_accessor :state
2345
+
2346
+ def initialize(**args)
2347
+ update!(**args)
2348
+ end
2349
+
2350
+ # Update properties of this object
2351
+ def update!(**args)
2352
+ @count = args[:count] if args.key?(:count)
2353
+ @state = args[:state] if args.key?(:state)
2354
+ end
2355
+ end
2356
+
2357
+ # The number of spokes in the hub that are inactive for this reason.
2358
+ class SpokeStateReasonCount
2359
+ include Google::Apis::Core::Hashable
2360
+
2361
+ # Output only. The total number of spokes that are inactive for a particular
2362
+ # reason and associated with a given hub.
2363
+ # Corresponds to the JSON property `count`
2364
+ # @return [Fixnum]
2365
+ attr_accessor :count
2366
+
2367
+ # Output only. The reason that a spoke is inactive.
2368
+ # Corresponds to the JSON property `stateReasonCode`
2369
+ # @return [String]
2370
+ attr_accessor :state_reason_code
2371
+
2372
+ def initialize(**args)
2373
+ update!(**args)
2374
+ end
2375
+
2376
+ # Update properties of this object
2377
+ def update!(**args)
2378
+ @count = args[:count] if args.key?(:count)
2379
+ @state_reason_code = args[:state_reason_code] if args.key?(:state_reason_code)
2380
+ end
2381
+ end
2382
+
2383
+ # Summarizes information about the spokes associated with a hub. The summary
2384
+ # includes a count of spokes according to type and according to state. If any
2385
+ # spokes are inactive, the summary also lists the reasons they are inactive,
2386
+ # including a count for each reason.
2387
+ class SpokeSummary
2388
+ include Google::Apis::Core::Hashable
2389
+
2390
+ # Output only. Counts the number of spokes that are in each state and associated
2391
+ # with a given hub.
2392
+ # Corresponds to the JSON property `spokeStateCounts`
2393
+ # @return [Array<Google::Apis::NetworkconnectivityV1::SpokeStateCount>]
2394
+ attr_accessor :spoke_state_counts
2395
+
2396
+ # Output only. Counts the number of spokes that are inactive for each possible
2397
+ # reason and associated with a given hub.
2398
+ # Corresponds to the JSON property `spokeStateReasonCounts`
2399
+ # @return [Array<Google::Apis::NetworkconnectivityV1::SpokeStateReasonCount>]
2400
+ attr_accessor :spoke_state_reason_counts
2401
+
2402
+ # Output only. Counts the number of spokes of each type that are associated with
2403
+ # a specific hub.
2404
+ # Corresponds to the JSON property `spokeTypeCounts`
2405
+ # @return [Array<Google::Apis::NetworkconnectivityV1::SpokeTypeCount>]
2406
+ attr_accessor :spoke_type_counts
2407
+
2408
+ def initialize(**args)
2409
+ update!(**args)
2410
+ end
2411
+
2412
+ # Update properties of this object
2413
+ def update!(**args)
2414
+ @spoke_state_counts = args[:spoke_state_counts] if args.key?(:spoke_state_counts)
2415
+ @spoke_state_reason_counts = args[:spoke_state_reason_counts] if args.key?(:spoke_state_reason_counts)
2416
+ @spoke_type_counts = args[:spoke_type_counts] if args.key?(:spoke_type_counts)
2417
+ end
2418
+ end
2419
+
2420
+ # The number of spokes of a given type that are associated with a specific hub.
2421
+ # The type indicates what kind of resource is associated with the spoke.
2422
+ class SpokeTypeCount
2423
+ include Google::Apis::Core::Hashable
2424
+
2425
+ # Output only. The total number of spokes of this type that are associated with
2426
+ # the hub.
2427
+ # Corresponds to the JSON property `count`
2428
+ # @return [Fixnum]
2429
+ attr_accessor :count
2430
+
2431
+ # Output only. The type of the spokes.
2432
+ # Corresponds to the JSON property `spokeType`
2433
+ # @return [String]
2434
+ attr_accessor :spoke_type
2435
+
2436
+ def initialize(**args)
2437
+ update!(**args)
2438
+ end
2439
+
2440
+ # Update properties of this object
2441
+ def update!(**args)
2442
+ @count = args[:count] if args.key?(:count)
2443
+ @spoke_type = args[:spoke_type] if args.key?(:spoke_type)
2444
+ end
2445
+ end
2446
+
2447
+ # The reason a spoke is inactive.
2448
+ class StateReason
2449
+ include Google::Apis::Core::Hashable
2450
+
2451
+ # The code associated with this reason.
2452
+ # Corresponds to the JSON property `code`
2453
+ # @return [String]
2454
+ attr_accessor :code
2455
+
2456
+ # Human-readable details about this reason.
2457
+ # Corresponds to the JSON property `message`
2458
+ # @return [String]
2459
+ attr_accessor :message
2460
+
2461
+ # Additional information provided by the user in the RejectSpoke call.
2462
+ # Corresponds to the JSON property `userDetails`
2463
+ # @return [String]
2464
+ attr_accessor :user_details
2465
+
2466
+ def initialize(**args)
2467
+ update!(**args)
2468
+ end
2469
+
2470
+ # Update properties of this object
2471
+ def update!(**args)
2472
+ @code = args[:code] if args.key?(:code)
2473
+ @message = args[:message] if args.key?(:message)
2474
+ @user_details = args[:user_details] if args.key?(:user_details)
2475
+ end
2476
+ end
2477
+
1900
2478
  # Request message for `TestIamPermissions` method.
1901
2479
  class TestIamPermissionsRequest
1902
2480
  include Google::Apis::Core::Hashable