google-apis-compute_preview 0.2.0 → 0.4.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.
@@ -1023,6 +1023,25 @@ module Google
1023
1023
  # @return [Fixnum]
1024
1024
  attr_accessor :external_ipv6_prefix_length
1025
1025
 
1026
+ # Reference to the source of external IPv4 addresses,
1027
+ # like a PublicDelegatedPrefix (PDP) for BYOIP.
1028
+ # The PDP must support enhanced IPv4 allocations.
1029
+ # Use one of the following formats to specify a PDP when allocating an
1030
+ # external IPv4 address using BYOIP.
1031
+ #
1032
+ # -
1033
+ # Full resource URL, as inhttps://www.googleapis.com/compute/v1/projects/
1034
+ # projectId/regions/region/publicDelegatedPrefixes/pdp-name
1035
+ # -
1036
+ # Partial URL, as in
1037
+ #
1038
+ #
1039
+ # - projects/projectId/regions/region/publicDelegatedPrefixes/pdp-name
1040
+ # - regions/region/publicDelegatedPrefixes/pdp-name
1041
+ # Corresponds to the JSON property `ipCollection`
1042
+ # @return [String]
1043
+ attr_accessor :ip_collection
1044
+
1026
1045
  # Output only. [Output Only] Type of the resource. Alwayscompute#accessConfig
1027
1046
  # for access configs.
1028
1047
  # Corresponds to the JSON property `kind`
@@ -1098,6 +1117,7 @@ module Google
1098
1117
  def update!(**args)
1099
1118
  @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6)
1100
1119
  @external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length)
1120
+ @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
1101
1121
  @kind = args[:kind] if args.key?(:kind)
1102
1122
  @name = args[:name] if args.key?(:name)
1103
1123
  @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
@@ -1237,6 +1257,15 @@ module Google
1237
1257
  # @return [String]
1238
1258
  attr_accessor :network
1239
1259
 
1260
+ # Optional. The URL of the network attachment that this address comes from in
1261
+ # the
1262
+ # following format:
1263
+ # projects/`project`/regions/`region_name`/networkAttachments/`
1264
+ # network_attachment_name`.
1265
+ # Corresponds to the JSON property `networkAttachment`
1266
+ # @return [String]
1267
+ attr_accessor :network_attachment
1268
+
1240
1269
  # This signifies the networking tier used for configuring this address and
1241
1270
  # can only take the following values: PREMIUM orSTANDARD. Internal IP addresses
1242
1271
  # are always Premium Tier;
@@ -1301,6 +1330,14 @@ module Google
1301
1330
  # @return [String]
1302
1331
  attr_accessor :self_link
1303
1332
 
1333
+ # Optional. Producer Service's Service class ID for the region of this address.
1334
+ # Can
1335
+ # only be used with network_attachment. It is not possible to use on its own;
1336
+ # however, network_attachment can be used without service_class_id.
1337
+ # Corresponds to the JSON property `serviceClassId`
1338
+ # @return [String]
1339
+ attr_accessor :service_class_id
1340
+
1304
1341
  # Output only. [Output Only] The status of the address, which can be one
1305
1342
  # ofRESERVING, RESERVED, or IN_USE.
1306
1343
  # An address that is RESERVING is currently in the process of
@@ -1342,11 +1379,13 @@ module Google
1342
1379
  @labels = args[:labels] if args.key?(:labels)
1343
1380
  @name = args[:name] if args.key?(:name)
1344
1381
  @network = args[:network] if args.key?(:network)
1382
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
1345
1383
  @network_tier = args[:network_tier] if args.key?(:network_tier)
1346
1384
  @prefix_length = args[:prefix_length] if args.key?(:prefix_length)
1347
1385
  @purpose = args[:purpose] if args.key?(:purpose)
1348
1386
  @region = args[:region] if args.key?(:region)
1349
1387
  @self_link = args[:self_link] if args.key?(:self_link)
1388
+ @service_class_id = args[:service_class_id] if args.key?(:service_class_id)
1350
1389
  @status = args[:status] if args.key?(:status)
1351
1390
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
1352
1391
  @users = args[:users] if args.key?(:users)
@@ -1804,6 +1843,339 @@ module Google
1804
1843
  end
1805
1844
  end
1806
1845
 
1846
+ # Represents an Alias Network Endpoint resource.
1847
+ # To be used for GKE pod-native endpoints in Andromeda.
1848
+ class AliasNetworkEndpoint
1849
+ include Google::Apis::Core::Hashable
1850
+
1851
+ # Required. The map of network aliases allocated for the AliasNetworkEndpoint.
1852
+ # This map is keyed with user-provided alias names.
1853
+ # Corresponds to the JSON property `aliases`
1854
+ # @return [Hash<String,Google::Apis::ComputePreview::AliasNetworkEndpointAlias>]
1855
+ attr_accessor :aliases
1856
+
1857
+ # Optional. The annotations map for the AliasNetworkEndpoint.
1858
+ # Keys and values must follow Kubernetes limits.
1859
+ # Keys must be a maximum of 253 characters. Keys should be dot-namespaced,
1860
+ # following the Kubernetes annotation key format:
1861
+ # `([DNS subdomain]/)?[RFC 1123 name]`.
1862
+ # Values must be a maximum of 256 characters.
1863
+ # Corresponds to the JSON property `annotations`
1864
+ # @return [Hash<String,String>]
1865
+ attr_accessor :annotations
1866
+
1867
+ # Output only. [Output Only] Creation timestamp in RFC3339 text format.
1868
+ # Corresponds to the JSON property `creationTimestamp`
1869
+ # @return [String]
1870
+ attr_accessor :creation_timestamp
1871
+
1872
+ # Optional. An optional description of this resource. Provide this field when
1873
+ # you
1874
+ # create the resource.
1875
+ # Corresponds to the JSON property `description`
1876
+ # @return [String]
1877
+ attr_accessor :description
1878
+
1879
+ # Information about the host instance.
1880
+ # Corresponds to the JSON property `host`
1881
+ # @return [Google::Apis::ComputePreview::AliasNetworkEndpointHost]
1882
+ attr_accessor :host
1883
+
1884
+ # Output only. [Output Only] The unique identifier for the resource. This
1885
+ # identifier is
1886
+ # defined by the server.
1887
+ # Corresponds to the JSON property `id`
1888
+ # @return [Fixnum]
1889
+ attr_accessor :id
1890
+
1891
+ # Optional. The labels map for the AliasNetworkEndpoint.
1892
+ # Corresponds to the JSON property `labels`
1893
+ # @return [Hash<String,String>]
1894
+ attr_accessor :labels
1895
+
1896
+ # Identifier. Name of the resource. Provided by the client when the resource is
1897
+ # created.
1898
+ # The name must be 1-63 characters long, and comply with RFC1035.
1899
+ # Corresponds to the JSON property `name`
1900
+ # @return [String]
1901
+ attr_accessor :name
1902
+
1903
+ # Optional. The security tag inheritance setting for the AliasNetworkEndpoint.
1904
+ # Corresponds to the JSON property `securityTagInheritance`
1905
+ # @return [String]
1906
+ attr_accessor :security_tag_inheritance
1907
+
1908
+ # Output only. [Output Only] Server-defined URL for the resource.
1909
+ # Corresponds to the JSON property `selfLink`
1910
+ # @return [String]
1911
+ attr_accessor :self_link
1912
+
1913
+ # Represents the current status of the AliasNetworkEndpoint.
1914
+ # Corresponds to the JSON property `status`
1915
+ # @return [Google::Apis::ComputePreview::AliasNetworkEndpointStatus]
1916
+ attr_accessor :status
1917
+
1918
+ # Required. The URL of the subnetwork that this alias network endpoint belongs
1919
+ # to.
1920
+ # Corresponds to the JSON property `subnetwork`
1921
+ # @return [String]
1922
+ attr_accessor :subnetwork
1923
+
1924
+ # Output only. [Output Only] Update timestamp in RFC3339 text format.
1925
+ # Corresponds to the JSON property `updateTime`
1926
+ # @return [String]
1927
+ attr_accessor :update_time
1928
+
1929
+ def initialize(**args)
1930
+ update!(**args)
1931
+ end
1932
+
1933
+ # Update properties of this object
1934
+ def update!(**args)
1935
+ @aliases = args[:aliases] if args.key?(:aliases)
1936
+ @annotations = args[:annotations] if args.key?(:annotations)
1937
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
1938
+ @description = args[:description] if args.key?(:description)
1939
+ @host = args[:host] if args.key?(:host)
1940
+ @id = args[:id] if args.key?(:id)
1941
+ @labels = args[:labels] if args.key?(:labels)
1942
+ @name = args[:name] if args.key?(:name)
1943
+ @security_tag_inheritance = args[:security_tag_inheritance] if args.key?(:security_tag_inheritance)
1944
+ @self_link = args[:self_link] if args.key?(:self_link)
1945
+ @status = args[:status] if args.key?(:status)
1946
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
1947
+ @update_time = args[:update_time] if args.key?(:update_time)
1948
+ end
1949
+ end
1950
+
1951
+ # Configuration for an IP alias.
1952
+ class AliasNetworkEndpointAlias
1953
+ include Google::Apis::Core::Hashable
1954
+
1955
+ # Output only. [Output Only] The actual IP address allocated by the system.
1956
+ # Corresponds to the JSON property `effectiveIpAddress`
1957
+ # @return [String]
1958
+ attr_accessor :effective_ip_address
1959
+
1960
+ # Output only. [Output Only] The actual secondary range used for allocation.
1961
+ # Corresponds to the JSON property `effectiveSubnetworkRangeName`
1962
+ # @return [String]
1963
+ attr_accessor :effective_subnetwork_range_name
1964
+
1965
+ # Input only. The IP address of the network endpoint. If specified, the server
1966
+ # performs
1967
+ # a validation check for uniqueness. If the field is omitted, the system
1968
+ # automatically allocates an IP and populates the effective_ip_address
1969
+ # field.
1970
+ # Corresponds to the JSON property `ipAddress`
1971
+ # @return [String]
1972
+ attr_accessor :ip_address
1973
+
1974
+ # Required. The IP version of the IP. It is IPv4 or IPv6.
1975
+ # Corresponds to the JSON property `ipVersion`
1976
+ # @return [String]
1977
+ attr_accessor :ip_version
1978
+
1979
+ # Input only. Defines candidate secondary ranges for allocating the alias IPs.
1980
+ # If it is
1981
+ # empty, the IP would be allocated from the primary range of the
1982
+ # subnetwork.
1983
+ # This field is INPUT_ONLY and used only during resource creation,
1984
+ # hence a repeated field is acceptable as per AIP-2825. It is not mutable.
1985
+ # Corresponds to the JSON property `subnetworkRangeNames`
1986
+ # @return [Array<String>]
1987
+ attr_accessor :subnetwork_range_names
1988
+
1989
+ def initialize(**args)
1990
+ update!(**args)
1991
+ end
1992
+
1993
+ # Update properties of this object
1994
+ def update!(**args)
1995
+ @effective_ip_address = args[:effective_ip_address] if args.key?(:effective_ip_address)
1996
+ @effective_subnetwork_range_name = args[:effective_subnetwork_range_name] if args.key?(:effective_subnetwork_range_name)
1997
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
1998
+ @ip_version = args[:ip_version] if args.key?(:ip_version)
1999
+ @subnetwork_range_names = args[:subnetwork_range_names] if args.key?(:subnetwork_range_names)
2000
+ end
2001
+ end
2002
+
2003
+ # Information about the host instance.
2004
+ class AliasNetworkEndpointHost
2005
+ include Google::Apis::Core::Hashable
2006
+
2007
+ # Required. The URL to the instance that this alias network endpoint is bound to.
2008
+ # Corresponds to the JSON property `instance`
2009
+ # @return [String]
2010
+ attr_accessor :instance
2011
+
2012
+ def initialize(**args)
2013
+ update!(**args)
2014
+ end
2015
+
2016
+ # Update properties of this object
2017
+ def update!(**args)
2018
+ @instance = args[:instance] if args.key?(:instance)
2019
+ end
2020
+ end
2021
+
2022
+ # Response message for AliasNetworkEndpoints.List.
2023
+ class AliasNetworkEndpointList
2024
+ include Google::Apis::Core::Hashable
2025
+
2026
+ # ETag of the resource list.
2027
+ # Corresponds to the JSON property `etag`
2028
+ # @return [String]
2029
+ attr_accessor :etag
2030
+
2031
+ # [Output Only] Unique identifier for the resource; defined by the server.
2032
+ # Corresponds to the JSON property `id`
2033
+ # @return [String]
2034
+ attr_accessor :id
2035
+
2036
+ # A list of AliasNetworkEndpoint resources.
2037
+ # Corresponds to the JSON property `items`
2038
+ # @return [Array<Google::Apis::ComputePreview::AliasNetworkEndpoint>]
2039
+ attr_accessor :items
2040
+
2041
+ # [Output Only] This token allows you to get the next page of results for
2042
+ # list requests. If the number of results is larger thanmaxResults, use the
2043
+ # nextPageToken as a value for
2044
+ # the query parameter pageToken in the next list request.
2045
+ # Subsequent list requests will have their own nextPageToken to
2046
+ # continue paging through the results.
2047
+ # Corresponds to the JSON property `nextPageToken`
2048
+ # @return [String]
2049
+ attr_accessor :next_page_token
2050
+
2051
+ # [Output Only] Server-defined URL for this resource.
2052
+ # Corresponds to the JSON property `selfLink`
2053
+ # @return [String]
2054
+ attr_accessor :self_link
2055
+
2056
+ # Output only. [Output Only] Unreachable resources.
2057
+ # Corresponds to the JSON property `unreachables`
2058
+ # @return [Array<String>]
2059
+ attr_accessor :unreachables
2060
+
2061
+ # [Output Only] Informational warning message.
2062
+ # Corresponds to the JSON property `warning`
2063
+ # @return [Google::Apis::ComputePreview::AliasNetworkEndpointList::Warning]
2064
+ attr_accessor :warning
2065
+
2066
+ def initialize(**args)
2067
+ update!(**args)
2068
+ end
2069
+
2070
+ # Update properties of this object
2071
+ def update!(**args)
2072
+ @etag = args[:etag] if args.key?(:etag)
2073
+ @id = args[:id] if args.key?(:id)
2074
+ @items = args[:items] if args.key?(:items)
2075
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2076
+ @self_link = args[:self_link] if args.key?(:self_link)
2077
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
2078
+ @warning = args[:warning] if args.key?(:warning)
2079
+ end
2080
+
2081
+ # [Output Only] Informational warning message.
2082
+ class Warning
2083
+ include Google::Apis::Core::Hashable
2084
+
2085
+ # [Output Only] A warning code, if applicable. For example, Compute
2086
+ # Engine returns NO_RESULTS_ON_PAGE if there
2087
+ # are no results in the response.
2088
+ # Corresponds to the JSON property `code`
2089
+ # @return [String]
2090
+ attr_accessor :code
2091
+
2092
+ # [Output Only] Metadata about this warning in key:
2093
+ # value format. For example:
2094
+ # "data": [
2095
+ # `
2096
+ # "key": "scope",
2097
+ # "value": "zones/us-east1-d"
2098
+ # `]
2099
+ # Corresponds to the JSON property `data`
2100
+ # @return [Array<Google::Apis::ComputePreview::AliasNetworkEndpointList::Warning::Datum>]
2101
+ attr_accessor :data
2102
+
2103
+ # [Output Only] A human-readable description of the warning code.
2104
+ # Corresponds to the JSON property `message`
2105
+ # @return [String]
2106
+ attr_accessor :message
2107
+
2108
+ def initialize(**args)
2109
+ update!(**args)
2110
+ end
2111
+
2112
+ # Update properties of this object
2113
+ def update!(**args)
2114
+ @code = args[:code] if args.key?(:code)
2115
+ @data = args[:data] if args.key?(:data)
2116
+ @message = args[:message] if args.key?(:message)
2117
+ end
2118
+
2119
+ #
2120
+ class Datum
2121
+ include Google::Apis::Core::Hashable
2122
+
2123
+ # [Output Only] A key that provides more detail on the warning being
2124
+ # returned. For example, for warnings where there are no results in a list
2125
+ # request for a particular zone, this key might be scope and
2126
+ # the key value might be the zone name. Other examples might be a key
2127
+ # indicating a deprecated resource and a suggested replacement, or a
2128
+ # warning about invalid network settings (for example, if an instance
2129
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
2130
+ # Corresponds to the JSON property `key`
2131
+ # @return [String]
2132
+ attr_accessor :key
2133
+
2134
+ # [Output Only] A warning data value corresponding to the key.
2135
+ # Corresponds to the JSON property `value`
2136
+ # @return [String]
2137
+ attr_accessor :value
2138
+
2139
+ def initialize(**args)
2140
+ update!(**args)
2141
+ end
2142
+
2143
+ # Update properties of this object
2144
+ def update!(**args)
2145
+ @key = args[:key] if args.key?(:key)
2146
+ @value = args[:value] if args.key?(:value)
2147
+ end
2148
+ end
2149
+ end
2150
+ end
2151
+
2152
+ # Represents the current status of the AliasNetworkEndpoint.
2153
+ class AliasNetworkEndpointStatus
2154
+ include Google::Apis::Core::Hashable
2155
+
2156
+ # Output only. [Output Only] The URL of the network that this alias network
2157
+ # endpoint
2158
+ # belongs to.
2159
+ # Corresponds to the JSON property `network`
2160
+ # @return [String]
2161
+ attr_accessor :network
2162
+
2163
+ # Output only. [Output Only] The state of the alias network endpoint.
2164
+ # Corresponds to the JSON property `state`
2165
+ # @return [String]
2166
+ attr_accessor :state
2167
+
2168
+ def initialize(**args)
2169
+ update!(**args)
2170
+ end
2171
+
2172
+ # Update properties of this object
2173
+ def update!(**args)
2174
+ @network = args[:network] if args.key?(:network)
2175
+ @state = args[:state] if args.key?(:state)
2176
+ end
2177
+ end
2178
+
1807
2179
  # This reservation type is specified by total resource amounts (e.g. total
1808
2180
  # count of CPUs) and can account for multiple instance SKUs. In other words,
1809
2181
  # one can create instances of varying shapes against this reservation.
@@ -6029,6 +6401,9 @@ module Google
6029
6401
  # Advertisement(RA) packet (IPv6). Google Cloud immediately but
6030
6402
  # temporarily associates the forwarding rule IP address with that VM, and
6031
6403
  # both new and in-flight packets are quickly delivered to that VM.
6404
+ # - HA_CONTROLLER: The Backend Service is managed by a High Availability
6405
+ # Controller. Failover and leader election are exclusively managed by the
6406
+ # HA Controller service.
6032
6407
  # Note the important properties of the Fast IP Move functionality:
6033
6408
  #
6034
6409
  # - The GARP/RA-initiated re-routing stays active for approximately 20
@@ -7817,7 +8192,9 @@ module Google
7817
8192
  attr_accessor :cache_tags
7818
8193
 
7819
8194
  # If set, this invalidation rule will only apply to requests with a Host
7820
- # header matching host.
8195
+ # header matching host. This field also accepts wildcards (*) to replace the
8196
+ # leftmost (or first) label of a hostname. For example, *.example.com will
8197
+ # match www.example.com, but not sub1.dev.example.com.
7821
8198
  # Corresponds to the JSON property `host`
7822
8199
  # @return [String]
7823
8200
  attr_accessor :host
@@ -8236,6 +8613,13 @@ module Google
8236
8613
  # @return [Google::Apis::ComputePreview::CapacityAdviceRequestInstanceProperties]
8237
8614
  attr_accessor :instance_properties
8238
8615
 
8616
+ # Optional. Input only. Client-provided UUID correlating multiple capacity
8617
+ # advice requests
8618
+ # belonging to a single logical client-side fanout session.
8619
+ # Corresponds to the JSON property `sessionId`
8620
+ # @return [String]
8621
+ attr_accessor :session_id
8622
+
8239
8623
  # The number of VM instances to request.
8240
8624
  # Corresponds to the JSON property `size`
8241
8625
  # @return [Fixnum]
@@ -8250,6 +8634,7 @@ module Google
8250
8634
  @distribution_policy = args[:distribution_policy] if args.key?(:distribution_policy)
8251
8635
  @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy)
8252
8636
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
8637
+ @session_id = args[:session_id] if args.key?(:session_id)
8253
8638
  @size = args[:size] if args.key?(:size)
8254
8639
  end
8255
8640
  end
@@ -14714,6 +15099,144 @@ module Google
14714
15099
  end
14715
15100
  end
14716
15101
 
15102
+ #
15103
+ class FolderVmExtensionPolicyAggregatedListResponse
15104
+ include Google::Apis::Core::Hashable
15105
+
15106
+ #
15107
+ # Corresponds to the JSON property `etag`
15108
+ # @return [String]
15109
+ attr_accessor :etag
15110
+
15111
+ # [Output Only] Unique identifier for the resource; defined by the server.
15112
+ # Corresponds to the JSON property `id`
15113
+ # @return [String]
15114
+ attr_accessor :id
15115
+
15116
+ # A list of VmExtensionPoliciesScopedList resources.
15117
+ # Corresponds to the JSON property `items`
15118
+ # @return [Hash<String,Google::Apis::ComputePreview::VmExtensionPoliciesScopedList>]
15119
+ attr_accessor :items
15120
+
15121
+ # Output only. [Output Only] Type of resource. Alwayscompute#
15122
+ # FolderVmExtensionPolicyAggregatedList for lists of
15123
+ # VmExtensionPolicies.
15124
+ # Corresponds to the JSON property `kind`
15125
+ # @return [String]
15126
+ attr_accessor :kind
15127
+
15128
+ # [Output Only] This token allows you to get the next page of results for
15129
+ # list requests. If the number of results is larger thanmaxResults, use the
15130
+ # nextPageToken as a value for
15131
+ # the query parameter pageToken in the next list request.
15132
+ # Subsequent list requests will have their own nextPageToken to
15133
+ # continue paging through the results.
15134
+ # Corresponds to the JSON property `nextPageToken`
15135
+ # @return [String]
15136
+ attr_accessor :next_page_token
15137
+
15138
+ # Output only. [Output Only] Server-defined URL for this resource.
15139
+ # Corresponds to the JSON property `selfLink`
15140
+ # @return [String]
15141
+ attr_accessor :self_link
15142
+
15143
+ # Output only. [Output Only] Unreachable resources.
15144
+ # Corresponds to the JSON property `unreachables`
15145
+ # @return [Array<String>]
15146
+ attr_accessor :unreachables
15147
+
15148
+ # [Output Only] Informational warning message.
15149
+ # Corresponds to the JSON property `warning`
15150
+ # @return [Google::Apis::ComputePreview::FolderVmExtensionPolicyAggregatedListResponse::Warning]
15151
+ attr_accessor :warning
15152
+
15153
+ def initialize(**args)
15154
+ update!(**args)
15155
+ end
15156
+
15157
+ # Update properties of this object
15158
+ def update!(**args)
15159
+ @etag = args[:etag] if args.key?(:etag)
15160
+ @id = args[:id] if args.key?(:id)
15161
+ @items = args[:items] if args.key?(:items)
15162
+ @kind = args[:kind] if args.key?(:kind)
15163
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15164
+ @self_link = args[:self_link] if args.key?(:self_link)
15165
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
15166
+ @warning = args[:warning] if args.key?(:warning)
15167
+ end
15168
+
15169
+ # [Output Only] Informational warning message.
15170
+ class Warning
15171
+ include Google::Apis::Core::Hashable
15172
+
15173
+ # [Output Only] A warning code, if applicable. For example, Compute
15174
+ # Engine returns NO_RESULTS_ON_PAGE if there
15175
+ # are no results in the response.
15176
+ # Corresponds to the JSON property `code`
15177
+ # @return [String]
15178
+ attr_accessor :code
15179
+
15180
+ # [Output Only] Metadata about this warning in key:
15181
+ # value format. For example:
15182
+ # "data": [
15183
+ # `
15184
+ # "key": "scope",
15185
+ # "value": "zones/us-east1-d"
15186
+ # `]
15187
+ # Corresponds to the JSON property `data`
15188
+ # @return [Array<Google::Apis::ComputePreview::FolderVmExtensionPolicyAggregatedListResponse::Warning::Datum>]
15189
+ attr_accessor :data
15190
+
15191
+ # [Output Only] A human-readable description of the warning code.
15192
+ # Corresponds to the JSON property `message`
15193
+ # @return [String]
15194
+ attr_accessor :message
15195
+
15196
+ def initialize(**args)
15197
+ update!(**args)
15198
+ end
15199
+
15200
+ # Update properties of this object
15201
+ def update!(**args)
15202
+ @code = args[:code] if args.key?(:code)
15203
+ @data = args[:data] if args.key?(:data)
15204
+ @message = args[:message] if args.key?(:message)
15205
+ end
15206
+
15207
+ #
15208
+ class Datum
15209
+ include Google::Apis::Core::Hashable
15210
+
15211
+ # [Output Only] A key that provides more detail on the warning being
15212
+ # returned. For example, for warnings where there are no results in a list
15213
+ # request for a particular zone, this key might be scope and
15214
+ # the key value might be the zone name. Other examples might be a key
15215
+ # indicating a deprecated resource and a suggested replacement, or a
15216
+ # warning about invalid network settings (for example, if an instance
15217
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
15218
+ # Corresponds to the JSON property `key`
15219
+ # @return [String]
15220
+ attr_accessor :key
15221
+
15222
+ # [Output Only] A warning data value corresponding to the key.
15223
+ # Corresponds to the JSON property `value`
15224
+ # @return [String]
15225
+ attr_accessor :value
15226
+
15227
+ def initialize(**args)
15228
+ update!(**args)
15229
+ end
15230
+
15231
+ # Update properties of this object
15232
+ def update!(**args)
15233
+ @key = args[:key] if args.key?(:key)
15234
+ @value = args[:value] if args.key?(:value)
15235
+ end
15236
+ end
15237
+ end
15238
+ end
15239
+
14717
15240
  # Represents a Forwarding Rule resource.
14718
15241
  # Forwarding rule resources in Google Cloud can be either regional or global in
14719
15242
  # scope:
@@ -17374,6 +17897,147 @@ module Google
17374
17897
  end
17375
17898
  end
17376
17899
 
17900
+ #
17901
+ class GlobalListVmExtensionsResponse
17902
+ include Google::Apis::Core::Hashable
17903
+
17904
+ # Output only. Fingerprint of this resource. A hash of the contents stored
17905
+ # in this object. This field is used in optimistic locking. This field will
17906
+ # be ignored when inserting a VmExtensionPolicy. An up-to-date
17907
+ # fingerprint must be provided in order to update the VmExtensionPolicy.
17908
+ # To see the latest value of the fingerprint, make a get() request to
17909
+ # retrieve a VmExtensionPolicy.
17910
+ # Corresponds to the JSON property `etag`
17911
+ # @return [String]
17912
+ attr_accessor :etag
17913
+
17914
+ # Output only. Unique identifier for the resource; defined by the server.
17915
+ # Corresponds to the JSON property `id`
17916
+ # @return [String]
17917
+ attr_accessor :id
17918
+
17919
+ # Output only. A list of VM extensions.
17920
+ # Corresponds to the JSON property `items`
17921
+ # @return [Array<Google::Apis::ComputePreview::GlobalVmExtension>]
17922
+ attr_accessor :items
17923
+
17924
+ # Output only. Type of resource.
17925
+ # Corresponds to the JSON property `kind`
17926
+ # @return [String]
17927
+ attr_accessor :kind
17928
+
17929
+ # Output only. This token allows you to get the next page of results for
17930
+ # list requests. If the number of results is larger thanmaxResults, use the
17931
+ # nextPageToken as a value for
17932
+ # the query parameter pageToken in the next list request.
17933
+ # Subsequent list requests will have their own nextPageToken to
17934
+ # continue paging through the results.
17935
+ # Corresponds to the JSON property `nextPageToken`
17936
+ # @return [String]
17937
+ attr_accessor :next_page_token
17938
+
17939
+ # Output only. Server-defined URL for this resource.
17940
+ # Corresponds to the JSON property `selfLink`
17941
+ # @return [String]
17942
+ attr_accessor :self_link
17943
+
17944
+ # Output only. Unreachable resources.
17945
+ # Corresponds to the JSON property `unreachables`
17946
+ # @return [Array<String>]
17947
+ attr_accessor :unreachables
17948
+
17949
+ # Output only. Informational warning message.
17950
+ # Corresponds to the JSON property `warning`
17951
+ # @return [Google::Apis::ComputePreview::GlobalListVmExtensionsResponse::Warning]
17952
+ attr_accessor :warning
17953
+
17954
+ def initialize(**args)
17955
+ update!(**args)
17956
+ end
17957
+
17958
+ # Update properties of this object
17959
+ def update!(**args)
17960
+ @etag = args[:etag] if args.key?(:etag)
17961
+ @id = args[:id] if args.key?(:id)
17962
+ @items = args[:items] if args.key?(:items)
17963
+ @kind = args[:kind] if args.key?(:kind)
17964
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
17965
+ @self_link = args[:self_link] if args.key?(:self_link)
17966
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
17967
+ @warning = args[:warning] if args.key?(:warning)
17968
+ end
17969
+
17970
+ # Output only. Informational warning message.
17971
+ class Warning
17972
+ include Google::Apis::Core::Hashable
17973
+
17974
+ # [Output Only] A warning code, if applicable. For example, Compute
17975
+ # Engine returns NO_RESULTS_ON_PAGE if there
17976
+ # are no results in the response.
17977
+ # Corresponds to the JSON property `code`
17978
+ # @return [String]
17979
+ attr_accessor :code
17980
+
17981
+ # [Output Only] Metadata about this warning in key:
17982
+ # value format. For example:
17983
+ # "data": [
17984
+ # `
17985
+ # "key": "scope",
17986
+ # "value": "zones/us-east1-d"
17987
+ # `]
17988
+ # Corresponds to the JSON property `data`
17989
+ # @return [Array<Google::Apis::ComputePreview::GlobalListVmExtensionsResponse::Warning::Datum>]
17990
+ attr_accessor :data
17991
+
17992
+ # [Output Only] A human-readable description of the warning code.
17993
+ # Corresponds to the JSON property `message`
17994
+ # @return [String]
17995
+ attr_accessor :message
17996
+
17997
+ def initialize(**args)
17998
+ update!(**args)
17999
+ end
18000
+
18001
+ # Update properties of this object
18002
+ def update!(**args)
18003
+ @code = args[:code] if args.key?(:code)
18004
+ @data = args[:data] if args.key?(:data)
18005
+ @message = args[:message] if args.key?(:message)
18006
+ end
18007
+
18008
+ #
18009
+ class Datum
18010
+ include Google::Apis::Core::Hashable
18011
+
18012
+ # [Output Only] A key that provides more detail on the warning being
18013
+ # returned. For example, for warnings where there are no results in a list
18014
+ # request for a particular zone, this key might be scope and
18015
+ # the key value might be the zone name. Other examples might be a key
18016
+ # indicating a deprecated resource and a suggested replacement, or a
18017
+ # warning about invalid network settings (for example, if an instance
18018
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
18019
+ # Corresponds to the JSON property `key`
18020
+ # @return [String]
18021
+ attr_accessor :key
18022
+
18023
+ # [Output Only] A warning data value corresponding to the key.
18024
+ # Corresponds to the JSON property `value`
18025
+ # @return [String]
18026
+ attr_accessor :value
18027
+
18028
+ def initialize(**args)
18029
+ update!(**args)
18030
+ end
18031
+
18032
+ # Update properties of this object
18033
+ def update!(**args)
18034
+ @key = args[:key] if args.key?(:key)
18035
+ @value = args[:value] if args.key?(:value)
18036
+ end
18037
+ end
18038
+ end
18039
+ end
18040
+
17377
18041
  #
17378
18042
  class GlobalNetworkEndpointGroupsAttachEndpointsRequest
17379
18043
  include Google::Apis::Core::Hashable
@@ -17644,6 +18308,65 @@ module Google
17644
18308
  end
17645
18309
  end
17646
18310
 
18311
+ #
18312
+ class GlobalVmExtension
18313
+ include Google::Apis::Core::Hashable
18314
+
18315
+ # Output only. [Output Only] Creation timestamp inRFC3339
18316
+ # text format.
18317
+ # Corresponds to the JSON property `creationTimestamp`
18318
+ # @return [String]
18319
+ attr_accessor :creation_timestamp
18320
+
18321
+ # Output only. [Output Only] An optional textual description of the resource.
18322
+ # Corresponds to the JSON property `description`
18323
+ # @return [String]
18324
+ attr_accessor :description
18325
+
18326
+ # Output only. [Output Only] The unique identifier for the resource. This
18327
+ # identifier is
18328
+ # defined by the server.
18329
+ # Corresponds to the JSON property `id`
18330
+ # @return [Fixnum]
18331
+ attr_accessor :id
18332
+
18333
+ # Output only. [Output Only] Type of the resource. Alwayscompute#
18334
+ # globalVmExtension.
18335
+ # Corresponds to the JSON property `kind`
18336
+ # @return [String]
18337
+ attr_accessor :kind
18338
+
18339
+ #
18340
+ # Corresponds to the JSON property `name`
18341
+ # @return [String]
18342
+ attr_accessor :name
18343
+
18344
+ # Output only. [Output Only] Server-defined URL for the resource.
18345
+ # Corresponds to the JSON property `selfLink`
18346
+ # @return [String]
18347
+ attr_accessor :self_link
18348
+
18349
+ #
18350
+ # Corresponds to the JSON property `versions`
18351
+ # @return [Array<String>]
18352
+ attr_accessor :versions
18353
+
18354
+ def initialize(**args)
18355
+ update!(**args)
18356
+ end
18357
+
18358
+ # Update properties of this object
18359
+ def update!(**args)
18360
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18361
+ @description = args[:description] if args.key?(:description)
18362
+ @id = args[:id] if args.key?(:id)
18363
+ @kind = args[:kind] if args.key?(:kind)
18364
+ @name = args[:name] if args.key?(:name)
18365
+ @self_link = args[:self_link] if args.key?(:self_link)
18366
+ @versions = args[:versions] if args.key?(:versions)
18367
+ end
18368
+ end
18369
+
17647
18370
  # Message describing GlobalVmExtensionPolicy object.
17648
18371
  class GlobalVmExtensionPolicy
17649
18372
  include Google::Apis::Core::Hashable
@@ -18693,6 +19416,11 @@ module Google
18693
19416
  # @return [Google::Apis::ComputePreview::HaControllerNetworkingAutoConfiguration]
18694
19417
  attr_accessor :networking_auto_configuration
18695
19418
 
19419
+ # Additional HA Controller params.
19420
+ # Corresponds to the JSON property `params`
19421
+ # @return [Google::Apis::ComputePreview::HaControllerParams]
19422
+ attr_accessor :params
19423
+
18696
19424
  # Output only. [Output Only] URL of the region where the resource resides.
18697
19425
  # You must specify this field as part of the HTTP request URL.
18698
19426
  # It is not settable as a field in the request body.
@@ -18743,6 +19471,7 @@ module Google
18743
19471
  @kind = args[:kind] if args.key?(:kind)
18744
19472
  @name = args[:name] if args.key?(:name)
18745
19473
  @networking_auto_configuration = args[:networking_auto_configuration] if args.key?(:networking_auto_configuration)
19474
+ @params = args[:params] if args.key?(:params)
18746
19475
  @region = args[:region] if args.key?(:region)
18747
19476
  @self_link = args[:self_link] if args.key?(:self_link)
18748
19477
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -18752,6 +19481,35 @@ module Google
18752
19481
  end
18753
19482
  end
18754
19483
 
19484
+ # The network interface configuration of the VM instance.
19485
+ class HaControllerInstanceNetworkInterface
19486
+ include Google::Apis::Core::Hashable
19487
+
19488
+ # Optional. Optional IPv6 address to assign to the instance's network interface.
19489
+ # If omitted, an ephemeral IP may be assigned depending on the instance's
19490
+ # network interface stack type.
19491
+ # Corresponds to the JSON property `ipv6Address`
19492
+ # @return [String]
19493
+ attr_accessor :ipv6_address
19494
+
19495
+ # Optional. Optional IPv4 address to assign to the instance's network interface.
19496
+ # If omitted, an ephemeral IP may be assigned depending on the instance's
19497
+ # network interface stack type.
19498
+ # Corresponds to the JSON property `networkIP`
19499
+ # @return [String]
19500
+ attr_accessor :network_ip
19501
+
19502
+ def initialize(**args)
19503
+ update!(**args)
19504
+ end
19505
+
19506
+ # Update properties of this object
19507
+ def update!(**args)
19508
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
19509
+ @network_ip = args[:network_ip] if args.key?(:network_ip)
19510
+ end
19511
+ end
19512
+
18755
19513
  # Basic networking configuration. Required backend services and forwarding
18756
19514
  # rules will be automatically created with default parameters.
18757
19515
  class HaControllerNetworkingAutoConfiguration
@@ -18805,6 +19563,27 @@ module Google
18805
19563
  end
18806
19564
  end
18807
19565
 
19566
+ # Additional HA Controller params.
19567
+ class HaControllerParams
19568
+ include Google::Apis::Core::Hashable
19569
+
19570
+ # Specifies whether to automatically migrate all disks of an instance from
19571
+ # zonal to regional before attempting to create the HaController.
19572
+ # Corresponds to the JSON property `migrateDisksToRegional`
19573
+ # @return [Boolean]
19574
+ attr_accessor :migrate_disks_to_regional
19575
+ alias_method :migrate_disks_to_regional?, :migrate_disks_to_regional
19576
+
19577
+ def initialize(**args)
19578
+ update!(**args)
19579
+ end
19580
+
19581
+ # Update properties of this object
19582
+ def update!(**args)
19583
+ @migrate_disks_to_regional = args[:migrate_disks_to_regional] if args.key?(:migrate_disks_to_regional)
19584
+ end
19585
+ end
19586
+
18808
19587
  # Contains information about current status of the HaController.
18809
19588
  class HaControllerStatus
18810
19589
  include Google::Apis::Core::Hashable
@@ -19261,6 +20040,30 @@ module Google
19261
20040
  class HaControllerZoneConfiguration
19262
20041
  include Google::Apis::Core::Hashable
19263
20042
 
20043
+ # Optional. The network interface configuration of a VM instance in this zone,
20044
+ # keyed by the name of the network interface. A VM network interface
20045
+ # uses the nicN naming format, where N is a
20046
+ # value between 0 and 7. The default interface
20047
+ # is nic0. Use this field to choose the internal IP
20048
+ # addresses of the VM instance in this zone instead of letting Compute
20049
+ # Engine assign them automatically.
20050
+ #
20051
+ #
20052
+ # - Each key must be a name of a network interface that exists on
20053
+ # the VM instance. Otherwise, the request fails.
20054
+ # - Network interfaces that are omitted are assigned an ephemeral
20055
+ # internal IP address.
20056
+ # - Every zone must configure the same network interfaces and the
20057
+ # same IP address families.
20058
+ # - For the zone that currently holds the VM instance, this field
20059
+ # is populated automatically, and any addresses you specify must
20060
+ # match the instance's current addresses.
20061
+ # - Only internal IP addresses are supported, and this field can
20062
+ # only be set when the HA Controller is created.
20063
+ # Corresponds to the JSON property `instanceNetworkInterfaces`
20064
+ # @return [Hash<String,Google::Apis::ComputePreview::HaControllerInstanceNetworkInterface>]
20065
+ attr_accessor :instance_network_interfaces
20066
+
19264
20067
  # A set of node affinity configurations. Refer toConfiguring node
19265
20068
  # affinity for more information.
19266
20069
  # Overrides reservationAffinity.
@@ -19281,6 +20084,7 @@ module Google
19281
20084
 
19282
20085
  # Update properties of this object
19283
20086
  def update!(**args)
20087
+ @instance_network_interfaces = args[:instance_network_interfaces] if args.key?(:instance_network_interfaces)
19284
20088
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
19285
20089
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
19286
20090
  end
@@ -25071,15 +25875,8 @@ module Google
25071
25875
  class InstanceFlexibilityPolicy
25072
25876
  include Google::Apis::Core::Hashable
25073
25877
 
25074
- # Specification of alternative, flexible instance subsets.
25075
- # One of them will be selected to create the instances
25076
- # based on various criteria, like:
25077
- # - ranks,
25078
- # - location policy,
25079
- # - current capacity,
25080
- # - available reservations (you can specify affinity in
25081
- # InstanceProperties),
25082
- # - SWAN/GOOSE limitations.
25878
+ # Specifies named instance selections that define properties for instances
25879
+ # created in bulk.
25083
25880
  # Key is an arbitrary, unique RFC1035 string that identifies the instance
25084
25881
  # selection.
25085
25882
  # Corresponds to the JSON property `instanceSelections`
@@ -36658,6 +37455,147 @@ module Google
36658
37455
  end
36659
37456
  end
36660
37457
 
37458
+ #
37459
+ class ListVmExtensionsResponse
37460
+ include Google::Apis::Core::Hashable
37461
+
37462
+ # Output only. Fingerprint of this resource. A hash of the contents stored
37463
+ # in this object. This field is used in optimistic locking. This field will
37464
+ # be ignored when inserting a VmExtensionPolicy. An up-to-date
37465
+ # fingerprint must be provided in order to update the VmExtensionPolicy.
37466
+ # To see the latest value of the fingerprint, make a get() request to
37467
+ # retrieve a VmExtensionPolicy.
37468
+ # Corresponds to the JSON property `etag`
37469
+ # @return [String]
37470
+ attr_accessor :etag
37471
+
37472
+ # Output only. Unique identifier for the resource; defined by the server.
37473
+ # Corresponds to the JSON property `id`
37474
+ # @return [String]
37475
+ attr_accessor :id
37476
+
37477
+ # Output only. A list of VM extensions.
37478
+ # Corresponds to the JSON property `items`
37479
+ # @return [Array<Google::Apis::ComputePreview::VmExtension>]
37480
+ attr_accessor :items
37481
+
37482
+ # Output only. Type of resource.
37483
+ # Corresponds to the JSON property `kind`
37484
+ # @return [String]
37485
+ attr_accessor :kind
37486
+
37487
+ # Output only. This token allows you to get the next page of results for
37488
+ # list requests. If the number of results is larger thanmaxResults, use the
37489
+ # nextPageToken as a value for
37490
+ # the query parameter pageToken in the next list request.
37491
+ # Subsequent list requests will have their own nextPageToken to
37492
+ # continue paging through the results.
37493
+ # Corresponds to the JSON property `nextPageToken`
37494
+ # @return [String]
37495
+ attr_accessor :next_page_token
37496
+
37497
+ # Output only. Server-defined URL for this resource.
37498
+ # Corresponds to the JSON property `selfLink`
37499
+ # @return [String]
37500
+ attr_accessor :self_link
37501
+
37502
+ # Output only. Unreachable resources.
37503
+ # Corresponds to the JSON property `unreachables`
37504
+ # @return [Array<String>]
37505
+ attr_accessor :unreachables
37506
+
37507
+ # Output only. Informational warning message.
37508
+ # Corresponds to the JSON property `warning`
37509
+ # @return [Google::Apis::ComputePreview::ListVmExtensionsResponse::Warning]
37510
+ attr_accessor :warning
37511
+
37512
+ def initialize(**args)
37513
+ update!(**args)
37514
+ end
37515
+
37516
+ # Update properties of this object
37517
+ def update!(**args)
37518
+ @etag = args[:etag] if args.key?(:etag)
37519
+ @id = args[:id] if args.key?(:id)
37520
+ @items = args[:items] if args.key?(:items)
37521
+ @kind = args[:kind] if args.key?(:kind)
37522
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37523
+ @self_link = args[:self_link] if args.key?(:self_link)
37524
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
37525
+ @warning = args[:warning] if args.key?(:warning)
37526
+ end
37527
+
37528
+ # Output only. Informational warning message.
37529
+ class Warning
37530
+ include Google::Apis::Core::Hashable
37531
+
37532
+ # [Output Only] A warning code, if applicable. For example, Compute
37533
+ # Engine returns NO_RESULTS_ON_PAGE if there
37534
+ # are no results in the response.
37535
+ # Corresponds to the JSON property `code`
37536
+ # @return [String]
37537
+ attr_accessor :code
37538
+
37539
+ # [Output Only] Metadata about this warning in key:
37540
+ # value format. For example:
37541
+ # "data": [
37542
+ # `
37543
+ # "key": "scope",
37544
+ # "value": "zones/us-east1-d"
37545
+ # `]
37546
+ # Corresponds to the JSON property `data`
37547
+ # @return [Array<Google::Apis::ComputePreview::ListVmExtensionsResponse::Warning::Datum>]
37548
+ attr_accessor :data
37549
+
37550
+ # [Output Only] A human-readable description of the warning code.
37551
+ # Corresponds to the JSON property `message`
37552
+ # @return [String]
37553
+ attr_accessor :message
37554
+
37555
+ def initialize(**args)
37556
+ update!(**args)
37557
+ end
37558
+
37559
+ # Update properties of this object
37560
+ def update!(**args)
37561
+ @code = args[:code] if args.key?(:code)
37562
+ @data = args[:data] if args.key?(:data)
37563
+ @message = args[:message] if args.key?(:message)
37564
+ end
37565
+
37566
+ #
37567
+ class Datum
37568
+ include Google::Apis::Core::Hashable
37569
+
37570
+ # [Output Only] A key that provides more detail on the warning being
37571
+ # returned. For example, for warnings where there are no results in a list
37572
+ # request for a particular zone, this key might be scope and
37573
+ # the key value might be the zone name. Other examples might be a key
37574
+ # indicating a deprecated resource and a suggested replacement, or a
37575
+ # warning about invalid network settings (for example, if an instance
37576
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
37577
+ # Corresponds to the JSON property `key`
37578
+ # @return [String]
37579
+ attr_accessor :key
37580
+
37581
+ # [Output Only] A warning data value corresponding to the key.
37582
+ # Corresponds to the JSON property `value`
37583
+ # @return [String]
37584
+ attr_accessor :value
37585
+
37586
+ def initialize(**args)
37587
+ update!(**args)
37588
+ end
37589
+
37590
+ # Update properties of this object
37591
+ def update!(**args)
37592
+ @key = args[:key] if args.key?(:key)
37593
+ @value = args[:value] if args.key?(:value)
37594
+ end
37595
+ end
37596
+ end
37597
+ end
37598
+
36661
37599
  #
36662
37600
  class LocalDisk
36663
37601
  include Google::Apis::Core::Hashable
@@ -39939,6 +40877,13 @@ module Google
39939
40877
  # @return [String]
39940
40878
  attr_accessor :network
39941
40879
 
40880
+ # Optional. The URL of the network attachment that this resource
40881
+ # belongs to.projects/`project`/regions/`region_name`/networkAttachments/`
40882
+ # network_attachment_name`.
40883
+ # Corresponds to the JSON property `networkAttachment`
40884
+ # @return [String]
40885
+ attr_accessor :network_attachment
40886
+
39942
40887
  # Type of network endpoints in this network endpoint group. Can be one
39943
40888
  # ofGCE_VM_IP, GCE_VM_IP_PORT,NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
39944
40889
  # INTERNET_IP_PORT, SERVERLESS,PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.
@@ -39971,6 +40916,14 @@ module Google
39971
40916
  # @return [String]
39972
40917
  attr_accessor :self_link
39973
40918
 
40919
+ # Optional. The service class ID associated with this resource.
40920
+ # Can only be used with network_attachment. It is not possible to
40921
+ # use on its own; however, network_attachment can be used without
40922
+ # service_class_id.
40923
+ # Corresponds to the JSON property `serviceClassId`
40924
+ # @return [String]
40925
+ attr_accessor :service_class_id
40926
+
39974
40927
  # Output only. [Output only] Number of network endpoints in the network endpoint
39975
40928
  # group.
39976
40929
  # Corresponds to the JSON property `size`
@@ -40006,11 +40959,13 @@ module Google
40006
40959
  @kind = args[:kind] if args.key?(:kind)
40007
40960
  @name = args[:name] if args.key?(:name)
40008
40961
  @network = args[:network] if args.key?(:network)
40962
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
40009
40963
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
40010
40964
  @psc_data = args[:psc_data] if args.key?(:psc_data)
40011
40965
  @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
40012
40966
  @region = args[:region] if args.key?(:region)
40013
40967
  @self_link = args[:self_link] if args.key?(:self_link)
40968
+ @service_class_id = args[:service_class_id] if args.key?(:service_class_id)
40014
40969
  @size = args[:size] if args.key?(:size)
40015
40970
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
40016
40971
  @zone = args[:zone] if args.key?(:zone)
@@ -42353,6 +43308,37 @@ module Google
42353
43308
  end
42354
43309
  end
42355
43310
 
43311
+ #
43312
+ class NetworksUpdateNetworkProfileRequest
43313
+ include Google::Apis::Core::Hashable
43314
+
43315
+ # If true, clear the network profile from the network.
43316
+ # Corresponds to the JSON property `clearNetworkProfile`
43317
+ # @return [Boolean]
43318
+ attr_accessor :clear_network_profile
43319
+ alias_method :clear_network_profile?, :clear_network_profile
43320
+
43321
+ # A full or partial URL of the new network profile to apply to this network.
43322
+ # For example, the following are valid URLs:
43323
+ #
43324
+ # - https://www.googleapis.com/compute/`api_version`/projects/`project_id`/
43325
+ # global/networkProfiles/`network_profile_name`
43326
+ # - projects/`project_id`/global/networkProfiles/`network_profile_name`
43327
+ # Corresponds to the JSON property `networkProfile`
43328
+ # @return [String]
43329
+ attr_accessor :network_profile
43330
+
43331
+ def initialize(**args)
43332
+ update!(**args)
43333
+ end
43334
+
43335
+ # Update properties of this object
43336
+ def update!(**args)
43337
+ @clear_network_profile = args[:clear_network_profile] if args.key?(:clear_network_profile)
43338
+ @network_profile = args[:network_profile] if args.key?(:network_profile)
43339
+ end
43340
+ end
43341
+
42356
43342
  #
42357
43343
  class NetworksUpdatePeeringRequest
42358
43344
  include Google::Apis::Core::Hashable
@@ -44770,6 +45756,11 @@ module Google
44770
45756
  # @return [String]
44771
45757
  attr_accessor :description
44772
45758
 
45759
+ # [Output Only] Extended details about the operation's execution.
45760
+ # Corresponds to the JSON property `details`
45761
+ # @return [Google::Apis::ComputePreview::OperationDetails]
45762
+ attr_accessor :details
45763
+
44773
45764
  # [Output Only] The time that this operation was completed. This value is
44774
45765
  # inRFC3339
44775
45766
  # text format.
@@ -44943,6 +45934,7 @@ module Google
44943
45934
  @client_operation_id = args[:client_operation_id] if args.key?(:client_operation_id)
44944
45935
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
44945
45936
  @description = args[:description] if args.key?(:description)
45937
+ @details = args[:details] if args.key?(:details)
44946
45938
  @end_time = args[:end_time] if args.key?(:end_time)
44947
45939
  @error = args[:error] if args.key?(:error)
44948
45940
  @get_health_operation_metadata = args[:get_health_operation_metadata] if args.key?(:get_health_operation_metadata)
@@ -45299,6 +46291,31 @@ module Google
45299
46291
  end
45300
46292
  end
45301
46293
 
46294
+ #
46295
+ class OperationDetails
46296
+ include Google::Apis::Core::Hashable
46297
+
46298
+ # Machine readable data from the message.
46299
+ # Corresponds to the JSON property `data`
46300
+ # @return [Hash<String,Object>]
46301
+ attr_accessor :data
46302
+
46303
+ # Human or AI readable details on execution of the operation.
46304
+ # Corresponds to the JSON property `message`
46305
+ # @return [String]
46306
+ attr_accessor :message
46307
+
46308
+ def initialize(**args)
46309
+ update!(**args)
46310
+ end
46311
+
46312
+ # Update properties of this object
46313
+ def update!(**args)
46314
+ @data = args[:data] if args.key?(:data)
46315
+ @message = args[:message] if args.key?(:message)
46316
+ end
46317
+ end
46318
+
45302
46319
  # Contains a list of Operation resources.
45303
46320
  class OperationList
45304
46321
  include Google::Apis::Core::Hashable
@@ -45427,18 +46444,178 @@ module Google
45427
46444
  end
45428
46445
 
45429
46446
  #
45430
- class OperationsScopedList
46447
+ class OperationsScopedList
46448
+ include Google::Apis::Core::Hashable
46449
+
46450
+ # [Output Only] A list of operations contained in this scope.
46451
+ # Corresponds to the JSON property `operations`
46452
+ # @return [Array<Google::Apis::ComputePreview::Operation>]
46453
+ attr_accessor :operations
46454
+
46455
+ # [Output Only] Informational warning which replaces the list of operations
46456
+ # when the list is empty.
46457
+ # Corresponds to the JSON property `warning`
46458
+ # @return [Google::Apis::ComputePreview::OperationsScopedList::Warning]
46459
+ attr_accessor :warning
46460
+
46461
+ def initialize(**args)
46462
+ update!(**args)
46463
+ end
46464
+
46465
+ # Update properties of this object
46466
+ def update!(**args)
46467
+ @operations = args[:operations] if args.key?(:operations)
46468
+ @warning = args[:warning] if args.key?(:warning)
46469
+ end
46470
+
46471
+ # [Output Only] Informational warning which replaces the list of operations
46472
+ # when the list is empty.
46473
+ class Warning
46474
+ include Google::Apis::Core::Hashable
46475
+
46476
+ # [Output Only] A warning code, if applicable. For example, Compute
46477
+ # Engine returns NO_RESULTS_ON_PAGE if there
46478
+ # are no results in the response.
46479
+ # Corresponds to the JSON property `code`
46480
+ # @return [String]
46481
+ attr_accessor :code
46482
+
46483
+ # [Output Only] Metadata about this warning in key:
46484
+ # value format. For example:
46485
+ # "data": [
46486
+ # `
46487
+ # "key": "scope",
46488
+ # "value": "zones/us-east1-d"
46489
+ # `]
46490
+ # Corresponds to the JSON property `data`
46491
+ # @return [Array<Google::Apis::ComputePreview::OperationsScopedList::Warning::Datum>]
46492
+ attr_accessor :data
46493
+
46494
+ # [Output Only] A human-readable description of the warning code.
46495
+ # Corresponds to the JSON property `message`
46496
+ # @return [String]
46497
+ attr_accessor :message
46498
+
46499
+ def initialize(**args)
46500
+ update!(**args)
46501
+ end
46502
+
46503
+ # Update properties of this object
46504
+ def update!(**args)
46505
+ @code = args[:code] if args.key?(:code)
46506
+ @data = args[:data] if args.key?(:data)
46507
+ @message = args[:message] if args.key?(:message)
46508
+ end
46509
+
46510
+ #
46511
+ class Datum
46512
+ include Google::Apis::Core::Hashable
46513
+
46514
+ # [Output Only] A key that provides more detail on the warning being
46515
+ # returned. For example, for warnings where there are no results in a list
46516
+ # request for a particular zone, this key might be scope and
46517
+ # the key value might be the zone name. Other examples might be a key
46518
+ # indicating a deprecated resource and a suggested replacement, or a
46519
+ # warning about invalid network settings (for example, if an instance
46520
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
46521
+ # Corresponds to the JSON property `key`
46522
+ # @return [String]
46523
+ attr_accessor :key
46524
+
46525
+ # [Output Only] A warning data value corresponding to the key.
46526
+ # Corresponds to the JSON property `value`
46527
+ # @return [String]
46528
+ attr_accessor :value
46529
+
46530
+ def initialize(**args)
46531
+ update!(**args)
46532
+ end
46533
+
46534
+ # Update properties of this object
46535
+ def update!(**args)
46536
+ @key = args[:key] if args.key?(:key)
46537
+ @value = args[:value] if args.key?(:value)
46538
+ end
46539
+ end
46540
+ end
46541
+ end
46542
+
46543
+ #
46544
+ class OrganizationSecurityPoliciesListAssociationsResponse
45431
46545
  include Google::Apis::Core::Hashable
45432
46546
 
45433
- # [Output Only] A list of operations contained in this scope.
45434
- # Corresponds to the JSON property `operations`
45435
- # @return [Array<Google::Apis::ComputePreview::Operation>]
45436
- attr_accessor :operations
46547
+ # A list of associations.
46548
+ # Corresponds to the JSON property `associations`
46549
+ # @return [Array<Google::Apis::ComputePreview::SecurityPolicyAssociation>]
46550
+ attr_accessor :associations
45437
46551
 
45438
- # [Output Only] Informational warning which replaces the list of operations
45439
- # when the list is empty.
46552
+ # Output only. [Output Only] Type of securityPolicy associations. Alwayscompute#
46553
+ # organizationSecurityPoliciesListAssociations for lists
46554
+ # of securityPolicy associations.
46555
+ # Corresponds to the JSON property `kind`
46556
+ # @return [String]
46557
+ attr_accessor :kind
46558
+
46559
+ def initialize(**args)
46560
+ update!(**args)
46561
+ end
46562
+
46563
+ # Update properties of this object
46564
+ def update!(**args)
46565
+ @associations = args[:associations] if args.key?(:associations)
46566
+ @kind = args[:kind] if args.key?(:kind)
46567
+ end
46568
+ end
46569
+
46570
+ #
46571
+ class OrganizationVmExtensionPolicyAggregatedListResponse
46572
+ include Google::Apis::Core::Hashable
46573
+
46574
+ #
46575
+ # Corresponds to the JSON property `etag`
46576
+ # @return [String]
46577
+ attr_accessor :etag
46578
+
46579
+ # [Output Only] Unique identifier for the resource; defined by the server.
46580
+ # Corresponds to the JSON property `id`
46581
+ # @return [String]
46582
+ attr_accessor :id
46583
+
46584
+ # A list of VmExtensionPoliciesScopedList resources.
46585
+ # Corresponds to the JSON property `items`
46586
+ # @return [Hash<String,Google::Apis::ComputePreview::VmExtensionPoliciesScopedList>]
46587
+ attr_accessor :items
46588
+
46589
+ # Output only. [Output Only] Type of resource. Alwayscompute#
46590
+ # OrganizationVmExtensionPolicyAggregatedList for lists
46591
+ # of VmExtensionPolicies.
46592
+ # Corresponds to the JSON property `kind`
46593
+ # @return [String]
46594
+ attr_accessor :kind
46595
+
46596
+ # [Output Only] This token allows you to get the next page of results for
46597
+ # list requests. If the number of results is larger thanmaxResults, use the
46598
+ # nextPageToken as a value for
46599
+ # the query parameter pageToken in the next list request.
46600
+ # Subsequent list requests will have their own nextPageToken to
46601
+ # continue paging through the results.
46602
+ # Corresponds to the JSON property `nextPageToken`
46603
+ # @return [String]
46604
+ attr_accessor :next_page_token
46605
+
46606
+ # Output only. [Output Only] Server-defined URL for this resource.
46607
+ # Corresponds to the JSON property `selfLink`
46608
+ # @return [String]
46609
+ attr_accessor :self_link
46610
+
46611
+ # Output only. [Output Only] Unreachable resources.
46612
+ # Corresponds to the JSON property `unreachables`
46613
+ # @return [Array<String>]
46614
+ attr_accessor :unreachables
46615
+
46616
+ # [Output Only] Informational warning message.
45440
46617
  # Corresponds to the JSON property `warning`
45441
- # @return [Google::Apis::ComputePreview::OperationsScopedList::Warning]
46618
+ # @return [Google::Apis::ComputePreview::OrganizationVmExtensionPolicyAggregatedListResponse::Warning]
45442
46619
  attr_accessor :warning
45443
46620
 
45444
46621
  def initialize(**args)
@@ -45447,12 +46624,17 @@ module Google
45447
46624
 
45448
46625
  # Update properties of this object
45449
46626
  def update!(**args)
45450
- @operations = args[:operations] if args.key?(:operations)
46627
+ @etag = args[:etag] if args.key?(:etag)
46628
+ @id = args[:id] if args.key?(:id)
46629
+ @items = args[:items] if args.key?(:items)
46630
+ @kind = args[:kind] if args.key?(:kind)
46631
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
46632
+ @self_link = args[:self_link] if args.key?(:self_link)
46633
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
45451
46634
  @warning = args[:warning] if args.key?(:warning)
45452
46635
  end
45453
46636
 
45454
- # [Output Only] Informational warning which replaces the list of operations
45455
- # when the list is empty.
46637
+ # [Output Only] Informational warning message.
45456
46638
  class Warning
45457
46639
  include Google::Apis::Core::Hashable
45458
46640
 
@@ -45471,7 +46653,7 @@ module Google
45471
46653
  # "value": "zones/us-east1-d"
45472
46654
  # `]
45473
46655
  # Corresponds to the JSON property `data`
45474
- # @return [Array<Google::Apis::ComputePreview::OperationsScopedList::Warning::Datum>]
46656
+ # @return [Array<Google::Apis::ComputePreview::OrganizationVmExtensionPolicyAggregatedListResponse::Warning::Datum>]
45475
46657
  attr_accessor :data
45476
46658
 
45477
46659
  # [Output Only] A human-readable description of the warning code.
@@ -45523,33 +46705,6 @@ module Google
45523
46705
  end
45524
46706
  end
45525
46707
 
45526
- #
45527
- class OrganizationSecurityPoliciesListAssociationsResponse
45528
- include Google::Apis::Core::Hashable
45529
-
45530
- # A list of associations.
45531
- # Corresponds to the JSON property `associations`
45532
- # @return [Array<Google::Apis::ComputePreview::SecurityPolicyAssociation>]
45533
- attr_accessor :associations
45534
-
45535
- # Output only. [Output Only] Type of securityPolicy associations. Alwayscompute#
45536
- # organizationSecurityPoliciesListAssociations for lists
45537
- # of securityPolicy associations.
45538
- # Corresponds to the JSON property `kind`
45539
- # @return [String]
45540
- attr_accessor :kind
45541
-
45542
- def initialize(**args)
45543
- update!(**args)
45544
- end
45545
-
45546
- # Update properties of this object
45547
- def update!(**args)
45548
- @associations = args[:associations] if args.key?(:associations)
45549
- @kind = args[:kind] if args.key?(:kind)
45550
- end
45551
- end
45552
-
45553
46708
  # Settings controlling the eviction of unhealthy hosts from the load balancing
45554
46709
  # pool for the backend service.
45555
46710
  class OutlierDetection
@@ -53139,6 +54294,13 @@ module Google
53139
54294
  # @return [String]
53140
54295
  attr_accessor :behavior
53141
54296
 
54297
+ # The identifier of the specific faulty sub-component (e.g., NVSwitch ID).
54298
+ # Optional. If not specified, all switches in the sub-block are targeted
54299
+ # for triage.
54300
+ # Corresponds to the JSON property `componentId`
54301
+ # @return [String]
54302
+ attr_accessor :component_id
54303
+
53142
54304
  # The description of the fault experienced with the subBlock.
53143
54305
  # Corresponds to the JSON property `description`
53144
54306
  # @return [String]
@@ -53151,6 +54313,7 @@ module Google
53151
54313
  # Update properties of this object
53152
54314
  def update!(**args)
53153
54315
  @behavior = args[:behavior] if args.key?(:behavior)
54316
+ @component_id = args[:component_id] if args.key?(:component_id)
53154
54317
  @description = args[:description] if args.key?(:description)
53155
54318
  end
53156
54319
  end
@@ -54633,6 +55796,13 @@ module Google
54633
55796
  # @return [String]
54634
55797
  attr_accessor :graceful_shutdown_timestamp
54635
55798
 
55799
+ # Output only. Protection tier for the workload which specifies the workload
55800
+ # expectations in the event of infrastructure failures at data center
55801
+ # (e.g. power and/or cooling failures).
55802
+ # Corresponds to the JSON property `protectionTier`
55803
+ # @return [String]
55804
+ attr_accessor :protection_tier
55805
+
54636
55806
  # Time in future when the instance will be terminated inRFC3339 text format.
54637
55807
  # Corresponds to the JSON property `terminationTimestamp`
54638
55808
  # @return [String]
@@ -54646,6 +55816,7 @@ module Google
54646
55816
  def update!(**args)
54647
55817
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
54648
55818
  @graceful_shutdown_timestamp = args[:graceful_shutdown_timestamp] if args.key?(:graceful_shutdown_timestamp)
55819
+ @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
54649
55820
  @termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
54650
55821
  end
54651
55822
  end
@@ -59060,12 +60231,21 @@ module Google
59060
60231
  # @return [Google::Apis::ComputePreview::Duration]
59061
60232
  attr_accessor :preemption_notice_duration
59062
60233
 
60234
+ # Protection tier for the workload which specifies the workload
60235
+ # expectations in the event of infrastructure failures at data center
60236
+ # (e.g. power and/or cooling failures).
60237
+ # Corresponds to the JSON property `protectionTier`
60238
+ # @return [String]
60239
+ attr_accessor :protection_tier
60240
+
59063
60241
  # Specifies the provisioning model of the instance.
59064
60242
  # Corresponds to the JSON property `provisioningModel`
59065
60243
  # @return [String]
59066
60244
  attr_accessor :provisioning_model
59067
60245
 
59068
- # Default is false and there will be 120 seconds between GCE ACPI G2 Soft
60246
+ # Defines whether GCE ACPI G2 Soft
60247
+ # Off signal should be skipped during shutdown operation of VM.
60248
+ # Default is false, meaning there will be 120 seconds between GCE ACPI G2 Soft
59069
60249
  # Off and ACPI G3 Mechanical
59070
60250
  # Off for Standard VMs and 30 seconds for Spot VMs.
59071
60251
  # Corresponds to the JSON property `skipGuestOsShutdown`
@@ -59101,6 +60281,7 @@ module Google
59101
60281
  @on_instance_stop_action = args[:on_instance_stop_action] if args.key?(:on_instance_stop_action)
59102
60282
  @preemptible = args[:preemptible] if args.key?(:preemptible)
59103
60283
  @preemption_notice_duration = args[:preemption_notice_duration] if args.key?(:preemption_notice_duration)
60284
+ @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
59104
60285
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
59105
60286
  @skip_guest_os_shutdown = args[:skip_guest_os_shutdown] if args.key?(:skip_guest_os_shutdown)
59106
60287
  @termination_time = args[:termination_time] if args.key?(:termination_time)
@@ -63493,6 +64674,26 @@ module Google
63493
64674
  end
63494
64675
  end
63495
64676
 
64677
+ # Response for `SslCertificatesService.FetchEncryptionKey` and
64678
+ # `RegionSslCertificatesService.FetchEncryptionKey` methods.
64679
+ class SslCertificatesFetchEncryptionKeyResponse
64680
+ include Google::Apis::Core::Hashable
64681
+
64682
+ # The Tink public keyset serialized in JSON format.
64683
+ # Corresponds to the JSON property `publicKeyset`
64684
+ # @return [String]
64685
+ attr_accessor :public_keyset
64686
+
64687
+ def initialize(**args)
64688
+ update!(**args)
64689
+ end
64690
+
64691
+ # Update properties of this object
64692
+ def update!(**args)
64693
+ @public_keyset = args[:public_keyset] if args.key?(:public_keyset)
64694
+ end
64695
+ end
64696
+
63496
64697
  #
63497
64698
  class SslCertificatesScopedList
63498
64699
  include Google::Apis::Core::Hashable
@@ -68373,6 +69574,11 @@ module Google
68373
69574
  # @return [String]
68374
69575
  attr_accessor :network
68375
69576
 
69577
+ # Additional target instance parameters.
69578
+ # Corresponds to the JSON property `params`
69579
+ # @return [Google::Apis::ComputePreview::TargetInstanceParams]
69580
+ attr_accessor :params
69581
+
68376
69582
  # [Output Only] The resource URL for the security policy associated with this
68377
69583
  # target instance.
68378
69584
  # Corresponds to the JSON property `securityPolicy`
@@ -68405,6 +69611,7 @@ module Google
68405
69611
  @name = args[:name] if args.key?(:name)
68406
69612
  @nat_policy = args[:nat_policy] if args.key?(:nat_policy)
68407
69613
  @network = args[:network] if args.key?(:network)
69614
+ @params = args[:params] if args.key?(:params)
68408
69615
  @security_policy = args[:security_policy] if args.key?(:security_policy)
68409
69616
  @self_link = args[:self_link] if args.key?(:self_link)
68410
69617
  @zone = args[:zone] if args.key?(:zone)
@@ -68445,14 +69652,139 @@ module Google
68445
69652
  # @return [String]
68446
69653
  attr_accessor :self_link
68447
69654
 
68448
- # Output only. [Output Only] Unreachable resources.
68449
- # Corresponds to the JSON property `unreachables`
68450
- # @return [Array<String>]
68451
- attr_accessor :unreachables
68452
-
69655
+ # Output only. [Output Only] Unreachable resources.
69656
+ # Corresponds to the JSON property `unreachables`
69657
+ # @return [Array<String>]
69658
+ attr_accessor :unreachables
69659
+
69660
+ # [Output Only] Informational warning message.
69661
+ # Corresponds to the JSON property `warning`
69662
+ # @return [Google::Apis::ComputePreview::TargetInstanceAggregatedList::Warning]
69663
+ attr_accessor :warning
69664
+
69665
+ def initialize(**args)
69666
+ update!(**args)
69667
+ end
69668
+
69669
+ # Update properties of this object
69670
+ def update!(**args)
69671
+ @id = args[:id] if args.key?(:id)
69672
+ @items = args[:items] if args.key?(:items)
69673
+ @kind = args[:kind] if args.key?(:kind)
69674
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
69675
+ @self_link = args[:self_link] if args.key?(:self_link)
69676
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
69677
+ @warning = args[:warning] if args.key?(:warning)
69678
+ end
69679
+
69680
+ # [Output Only] Informational warning message.
69681
+ class Warning
69682
+ include Google::Apis::Core::Hashable
69683
+
69684
+ # [Output Only] A warning code, if applicable. For example, Compute
69685
+ # Engine returns NO_RESULTS_ON_PAGE if there
69686
+ # are no results in the response.
69687
+ # Corresponds to the JSON property `code`
69688
+ # @return [String]
69689
+ attr_accessor :code
69690
+
69691
+ # [Output Only] Metadata about this warning in key:
69692
+ # value format. For example:
69693
+ # "data": [
69694
+ # `
69695
+ # "key": "scope",
69696
+ # "value": "zones/us-east1-d"
69697
+ # `]
69698
+ # Corresponds to the JSON property `data`
69699
+ # @return [Array<Google::Apis::ComputePreview::TargetInstanceAggregatedList::Warning::Datum>]
69700
+ attr_accessor :data
69701
+
69702
+ # [Output Only] A human-readable description of the warning code.
69703
+ # Corresponds to the JSON property `message`
69704
+ # @return [String]
69705
+ attr_accessor :message
69706
+
69707
+ def initialize(**args)
69708
+ update!(**args)
69709
+ end
69710
+
69711
+ # Update properties of this object
69712
+ def update!(**args)
69713
+ @code = args[:code] if args.key?(:code)
69714
+ @data = args[:data] if args.key?(:data)
69715
+ @message = args[:message] if args.key?(:message)
69716
+ end
69717
+
69718
+ #
69719
+ class Datum
69720
+ include Google::Apis::Core::Hashable
69721
+
69722
+ # [Output Only] A key that provides more detail on the warning being
69723
+ # returned. For example, for warnings where there are no results in a list
69724
+ # request for a particular zone, this key might be scope and
69725
+ # the key value might be the zone name. Other examples might be a key
69726
+ # indicating a deprecated resource and a suggested replacement, or a
69727
+ # warning about invalid network settings (for example, if an instance
69728
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
69729
+ # Corresponds to the JSON property `key`
69730
+ # @return [String]
69731
+ attr_accessor :key
69732
+
69733
+ # [Output Only] A warning data value corresponding to the key.
69734
+ # Corresponds to the JSON property `value`
69735
+ # @return [String]
69736
+ attr_accessor :value
69737
+
69738
+ def initialize(**args)
69739
+ update!(**args)
69740
+ end
69741
+
69742
+ # Update properties of this object
69743
+ def update!(**args)
69744
+ @key = args[:key] if args.key?(:key)
69745
+ @value = args[:value] if args.key?(:value)
69746
+ end
69747
+ end
69748
+ end
69749
+ end
69750
+
69751
+ # Contains a list of TargetInstance resources.
69752
+ class TargetInstanceList
69753
+ include Google::Apis::Core::Hashable
69754
+
69755
+ # [Output Only] Unique identifier for the resource; defined by the server.
69756
+ # Corresponds to the JSON property `id`
69757
+ # @return [String]
69758
+ attr_accessor :id
69759
+
69760
+ # A list of TargetInstance resources.
69761
+ # Corresponds to the JSON property `items`
69762
+ # @return [Array<Google::Apis::ComputePreview::TargetInstance>]
69763
+ attr_accessor :items
69764
+
69765
+ # Output only. Type of resource.
69766
+ # Corresponds to the JSON property `kind`
69767
+ # @return [String]
69768
+ attr_accessor :kind
69769
+
69770
+ # [Output Only] This token allows you to get the next page of results for
69771
+ # list requests. If the number of results is larger thanmaxResults, use the
69772
+ # nextPageToken as a value for
69773
+ # the query parameter pageToken in the next list request.
69774
+ # Subsequent list requests will have their own nextPageToken to
69775
+ # continue paging through the results.
69776
+ # Corresponds to the JSON property `nextPageToken`
69777
+ # @return [String]
69778
+ attr_accessor :next_page_token
69779
+
69780
+ # Output only. [Output Only] Server-defined URL for this resource.
69781
+ # Corresponds to the JSON property `selfLink`
69782
+ # @return [String]
69783
+ attr_accessor :self_link
69784
+
68453
69785
  # [Output Only] Informational warning message.
68454
69786
  # Corresponds to the JSON property `warning`
68455
- # @return [Google::Apis::ComputePreview::TargetInstanceAggregatedList::Warning]
69787
+ # @return [Google::Apis::ComputePreview::TargetInstanceList::Warning]
68456
69788
  attr_accessor :warning
68457
69789
 
68458
69790
  def initialize(**args)
@@ -68466,7 +69798,6 @@ module Google
68466
69798
  @kind = args[:kind] if args.key?(:kind)
68467
69799
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
68468
69800
  @self_link = args[:self_link] if args.key?(:self_link)
68469
- @unreachables = args[:unreachables] if args.key?(:unreachables)
68470
69801
  @warning = args[:warning] if args.key?(:warning)
68471
69802
  end
68472
69803
 
@@ -68489,7 +69820,7 @@ module Google
68489
69820
  # "value": "zones/us-east1-d"
68490
69821
  # `]
68491
69822
  # Corresponds to the JSON property `data`
68492
- # @return [Array<Google::Apis::ComputePreview::TargetInstanceAggregatedList::Warning::Datum>]
69823
+ # @return [Array<Google::Apis::ComputePreview::TargetInstanceList::Warning::Datum>]
68493
69824
  attr_accessor :data
68494
69825
 
68495
69826
  # [Output Only] A human-readable description of the warning code.
@@ -68541,44 +69872,27 @@ module Google
68541
69872
  end
68542
69873
  end
68543
69874
 
68544
- # Contains a list of TargetInstance resources.
68545
- class TargetInstanceList
69875
+ # Additional target instance parameters.
69876
+ class TargetInstanceParams
68546
69877
  include Google::Apis::Core::Hashable
68547
69878
 
68548
- # [Output Only] Unique identifier for the resource; defined by the server.
68549
- # Corresponds to the JSON property `id`
68550
- # @return [String]
68551
- attr_accessor :id
68552
-
68553
- # A list of TargetInstance resources.
68554
- # Corresponds to the JSON property `items`
68555
- # @return [Array<Google::Apis::ComputePreview::TargetInstance>]
68556
- attr_accessor :items
68557
-
68558
- # Output only. Type of resource.
68559
- # Corresponds to the JSON property `kind`
68560
- # @return [String]
68561
- attr_accessor :kind
68562
-
68563
- # [Output Only] This token allows you to get the next page of results for
68564
- # list requests. If the number of results is larger thanmaxResults, use the
68565
- # nextPageToken as a value for
68566
- # the query parameter pageToken in the next list request.
68567
- # Subsequent list requests will have their own nextPageToken to
68568
- # continue paging through the results.
68569
- # Corresponds to the JSON property `nextPageToken`
68570
- # @return [String]
68571
- attr_accessor :next_page_token
68572
-
68573
- # Output only. [Output Only] Server-defined URL for this resource.
68574
- # Corresponds to the JSON property `selfLink`
68575
- # @return [String]
68576
- attr_accessor :self_link
68577
-
68578
- # [Output Only] Informational warning message.
68579
- # Corresponds to the JSON property `warning`
68580
- # @return [Google::Apis::ComputePreview::TargetInstanceList::Warning]
68581
- attr_accessor :warning
69879
+ # Tag keys/values directly bound to this resource.
69880
+ # Tag keys and values have the same definition as resource
69881
+ # manager tags. The field is allowed for INSERT
69882
+ # only. The keys/values to set on the resource should be specified in
69883
+ # either ID ` : ` or Namespaced format
69884
+ # ` : `.
69885
+ # For example the following are valid inputs:
69886
+ # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"`
69887
+ # * `"123/environment" : "production", "345/abc" : "xyz"`
69888
+ # Note:
69889
+ # * Invalid combinations of ID & namespaced format are not supported. For
69890
+ # instance: `"123/environment" : "tagValues/444"` is invalid.
69891
+ # * Inconsistent format is not supported. For instance:
69892
+ # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
69893
+ # Corresponds to the JSON property `resourceManagerTags`
69894
+ # @return [Hash<String,String>]
69895
+ attr_accessor :resource_manager_tags
68582
69896
 
68583
69897
  def initialize(**args)
68584
69898
  update!(**args)
@@ -68586,82 +69900,7 @@ module Google
68586
69900
 
68587
69901
  # Update properties of this object
68588
69902
  def update!(**args)
68589
- @id = args[:id] if args.key?(:id)
68590
- @items = args[:items] if args.key?(:items)
68591
- @kind = args[:kind] if args.key?(:kind)
68592
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
68593
- @self_link = args[:self_link] if args.key?(:self_link)
68594
- @warning = args[:warning] if args.key?(:warning)
68595
- end
68596
-
68597
- # [Output Only] Informational warning message.
68598
- class Warning
68599
- include Google::Apis::Core::Hashable
68600
-
68601
- # [Output Only] A warning code, if applicable. For example, Compute
68602
- # Engine returns NO_RESULTS_ON_PAGE if there
68603
- # are no results in the response.
68604
- # Corresponds to the JSON property `code`
68605
- # @return [String]
68606
- attr_accessor :code
68607
-
68608
- # [Output Only] Metadata about this warning in key:
68609
- # value format. For example:
68610
- # "data": [
68611
- # `
68612
- # "key": "scope",
68613
- # "value": "zones/us-east1-d"
68614
- # `]
68615
- # Corresponds to the JSON property `data`
68616
- # @return [Array<Google::Apis::ComputePreview::TargetInstanceList::Warning::Datum>]
68617
- attr_accessor :data
68618
-
68619
- # [Output Only] A human-readable description of the warning code.
68620
- # Corresponds to the JSON property `message`
68621
- # @return [String]
68622
- attr_accessor :message
68623
-
68624
- def initialize(**args)
68625
- update!(**args)
68626
- end
68627
-
68628
- # Update properties of this object
68629
- def update!(**args)
68630
- @code = args[:code] if args.key?(:code)
68631
- @data = args[:data] if args.key?(:data)
68632
- @message = args[:message] if args.key?(:message)
68633
- end
68634
-
68635
- #
68636
- class Datum
68637
- include Google::Apis::Core::Hashable
68638
-
68639
- # [Output Only] A key that provides more detail on the warning being
68640
- # returned. For example, for warnings where there are no results in a list
68641
- # request for a particular zone, this key might be scope and
68642
- # the key value might be the zone name. Other examples might be a key
68643
- # indicating a deprecated resource and a suggested replacement, or a
68644
- # warning about invalid network settings (for example, if an instance
68645
- # attempts to perform IP forwarding but is not enabled for IP forwarding).
68646
- # Corresponds to the JSON property `key`
68647
- # @return [String]
68648
- attr_accessor :key
68649
-
68650
- # [Output Only] A warning data value corresponding to the key.
68651
- # Corresponds to the JSON property `value`
68652
- # @return [String]
68653
- attr_accessor :value
68654
-
68655
- def initialize(**args)
68656
- update!(**args)
68657
- end
68658
-
68659
- # Update properties of this object
68660
- def update!(**args)
68661
- @key = args[:key] if args.key?(:key)
68662
- @value = args[:value] if args.key?(:value)
68663
- end
68664
- end
69903
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
68665
69904
  end
68666
69905
  end
68667
69906
 
@@ -68854,6 +70093,11 @@ module Google
68854
70093
  # @return [String]
68855
70094
  attr_accessor :name
68856
70095
 
70096
+ # Additional target pool parameters.
70097
+ # Corresponds to the JSON property `params`
70098
+ # @return [Google::Apis::ComputePreview::TargetPoolParams]
70099
+ attr_accessor :params
70100
+
68857
70101
  # Output only. [Output Only] URL of the region where the target pool resides.
68858
70102
  # Corresponds to the JSON property `region`
68859
70103
  # @return [String]
@@ -68898,6 +70142,7 @@ module Google
68898
70142
  @instances = args[:instances] if args.key?(:instances)
68899
70143
  @kind = args[:kind] if args.key?(:kind)
68900
70144
  @name = args[:name] if args.key?(:name)
70145
+ @params = args[:params] if args.key?(:params)
68901
70146
  @region = args[:region] if args.key?(:region)
68902
70147
  @security_policy = args[:security_policy] if args.key?(:security_policy)
68903
70148
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -69189,6 +70434,38 @@ module Google
69189
70434
  end
69190
70435
  end
69191
70436
 
70437
+ # Additional target pool parameters.
70438
+ class TargetPoolParams
70439
+ include Google::Apis::Core::Hashable
70440
+
70441
+ # Tag keys/values directly bound to this resource.
70442
+ # Tag keys and values have the same definition as resource
70443
+ # manager tags. The field is allowed for INSERT
70444
+ # only. The keys/values to set on the resource should be specified in
70445
+ # either ID ` : ` or Namespaced format
70446
+ # ` : `.
70447
+ # For example the following are valid inputs:
70448
+ # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"`
70449
+ # * `"123/environment" : "production", "345/abc" : "xyz"`
70450
+ # Note:
70451
+ # * Invalid combinations of ID & namespaced format are not supported. For
70452
+ # instance: `"123/environment" : "tagValues/444"` is invalid.
70453
+ # * Inconsistent format is not supported. For instance:
70454
+ # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
70455
+ # Corresponds to the JSON property `resourceManagerTags`
70456
+ # @return [Hash<String,String>]
70457
+ attr_accessor :resource_manager_tags
70458
+
70459
+ def initialize(**args)
70460
+ update!(**args)
70461
+ end
70462
+
70463
+ # Update properties of this object
70464
+ def update!(**args)
70465
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
70466
+ end
70467
+ end
70468
+
69192
70469
  #
69193
70470
  class TargetPoolsAddHealthCheckRequest
69194
70471
  include Google::Apis::Core::Hashable
@@ -72362,6 +73639,31 @@ module Google
72362
73639
  end
72363
73640
  end
72364
73641
 
73642
+ # A VM extension that can be installed on a VM.
73643
+ class VmExtension
73644
+ include Google::Apis::Core::Hashable
73645
+
73646
+ # The name of the vm extension.
73647
+ # Corresponds to the JSON property `name`
73648
+ # @return [String]
73649
+ attr_accessor :name
73650
+
73651
+ # The latest 10 versions of the vm extension.
73652
+ # Corresponds to the JSON property `versions`
73653
+ # @return [Array<String>]
73654
+ attr_accessor :versions
73655
+
73656
+ def initialize(**args)
73657
+ update!(**args)
73658
+ end
73659
+
73660
+ # Update properties of this object
73661
+ def update!(**args)
73662
+ @name = args[:name] if args.key?(:name)
73663
+ @versions = args[:versions] if args.key?(:versions)
73664
+ end
73665
+ end
73666
+
72365
73667
  #
72366
73668
  class VmExtensionPoliciesScopedList
72367
73669
  include Google::Apis::Core::Hashable
@@ -73787,6 +75089,18 @@ module Google
73787
75089
  # @return [String]
73788
75090
  attr_accessor :peer_ip
73789
75091
 
75092
+ # User specified list of PQC key exchange mechanisms (KEMs) to use for the
75093
+ # phase 1 of the IKE protocol.
75094
+ # Corresponds to the JSON property `pqcPhase1`
75095
+ # @return [Google::Apis::ComputePreview::VpnTunnelPqc]
75096
+ attr_accessor :pqc_phase1
75097
+
75098
+ # User specified list of PQC key exchange mechanisms (KEMs) to use for the
75099
+ # phase 2 of the IKE protocol.
75100
+ # Corresponds to the JSON property `pqcPhase2`
75101
+ # @return [Google::Apis::ComputePreview::VpnTunnelPqc]
75102
+ attr_accessor :pqc_phase2
75103
+
73790
75104
  # [Output Only] URL of the region where the VPN tunnel resides.
73791
75105
  # You must specify this field as part of the HTTP request URL. It is
73792
75106
  # not settable as a field in the request body.
@@ -73904,6 +75218,8 @@ module Google
73904
75218
  @peer_external_gateway_interface = args[:peer_external_gateway_interface] if args.key?(:peer_external_gateway_interface)
73905
75219
  @peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway)
73906
75220
  @peer_ip = args[:peer_ip] if args.key?(:peer_ip)
75221
+ @pqc_phase1 = args[:pqc_phase1] if args.key?(:pqc_phase1)
75222
+ @pqc_phase2 = args[:pqc_phase2] if args.key?(:pqc_phase2)
73907
75223
  @region = args[:region] if args.key?(:region)
73908
75224
  @remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
73909
75225
  @router = args[:router] if args.key?(:router)
@@ -73917,6 +75233,61 @@ module Google
73917
75233
  end
73918
75234
  end
73919
75235
 
75236
+ # User specified list of PQC key exchanges.
75237
+ class VpnTunnelAdditionalKeyExchanges
75238
+ include Google::Apis::Core::Hashable
75239
+
75240
+ #
75241
+ # Corresponds to the JSON property `ke1s`
75242
+ # @return [Array<String>]
75243
+ attr_accessor :ke1s
75244
+
75245
+ #
75246
+ # Corresponds to the JSON property `ke2s`
75247
+ # @return [Array<String>]
75248
+ attr_accessor :ke2s
75249
+
75250
+ #
75251
+ # Corresponds to the JSON property `ke3s`
75252
+ # @return [Array<String>]
75253
+ attr_accessor :ke3s
75254
+
75255
+ #
75256
+ # Corresponds to the JSON property `ke4s`
75257
+ # @return [Array<String>]
75258
+ attr_accessor :ke4s
75259
+
75260
+ #
75261
+ # Corresponds to the JSON property `ke5s`
75262
+ # @return [Array<String>]
75263
+ attr_accessor :ke5s
75264
+
75265
+ #
75266
+ # Corresponds to the JSON property `ke6s`
75267
+ # @return [Array<String>]
75268
+ attr_accessor :ke6s
75269
+
75270
+ #
75271
+ # Corresponds to the JSON property `ke7s`
75272
+ # @return [Array<String>]
75273
+ attr_accessor :ke7s
75274
+
75275
+ def initialize(**args)
75276
+ update!(**args)
75277
+ end
75278
+
75279
+ # Update properties of this object
75280
+ def update!(**args)
75281
+ @ke1s = args[:ke1s] if args.key?(:ke1s)
75282
+ @ke2s = args[:ke2s] if args.key?(:ke2s)
75283
+ @ke3s = args[:ke3s] if args.key?(:ke3s)
75284
+ @ke4s = args[:ke4s] if args.key?(:ke4s)
75285
+ @ke5s = args[:ke5s] if args.key?(:ke5s)
75286
+ @ke6s = args[:ke6s] if args.key?(:ke6s)
75287
+ @ke7s = args[:ke7s] if args.key?(:ke7s)
75288
+ end
75289
+ end
75290
+
73920
75291
  #
73921
75292
  class VpnTunnelAggregatedList
73922
75293
  include Google::Apis::Core::Hashable
@@ -74052,12 +75423,12 @@ module Google
74052
75423
  class VpnTunnelCipherSuite
74053
75424
  include Google::Apis::Core::Hashable
74054
75425
 
74055
- #
75426
+ # Cipher algorithms for IKE phase 1.
74056
75427
  # Corresponds to the JSON property `phase1`
74057
75428
  # @return [Google::Apis::ComputePreview::VpnTunnelPhase1Algorithms]
74058
75429
  attr_accessor :phase1
74059
75430
 
74060
- #
75431
+ # Cipher algorithms for IKE phase 2.
74061
75432
  # Corresponds to the JSON property `phase2`
74062
75433
  # @return [Google::Apis::ComputePreview::VpnTunnelPhase2Algorithms]
74063
75434
  attr_accessor :phase2
@@ -74234,22 +75605,22 @@ module Google
74234
75605
  class VpnTunnelPhase1Algorithms
74235
75606
  include Google::Apis::Core::Hashable
74236
75607
 
74237
- #
75608
+ # Diffie-Hellman groups for IKE phase 1.
74238
75609
  # Corresponds to the JSON property `dh`
74239
75610
  # @return [Array<String>]
74240
75611
  attr_accessor :dh
74241
75612
 
74242
- #
75613
+ # Encryption algorithms for IKE phase 1.
74243
75614
  # Corresponds to the JSON property `encryption`
74244
75615
  # @return [Array<String>]
74245
75616
  attr_accessor :encryption
74246
75617
 
74247
- #
75618
+ # Integrity algorithms for IKE phase 1.
74248
75619
  # Corresponds to the JSON property `integrity`
74249
75620
  # @return [Array<String>]
74250
75621
  attr_accessor :integrity
74251
75622
 
74252
- #
75623
+ # Pseudo-random functions (PRF) for IKE phase 1.
74253
75624
  # Corresponds to the JSON property `prf`
74254
75625
  # @return [Array<String>]
74255
75626
  attr_accessor :prf
@@ -74271,17 +75642,17 @@ module Google
74271
75642
  class VpnTunnelPhase2Algorithms
74272
75643
  include Google::Apis::Core::Hashable
74273
75644
 
74274
- #
75645
+ # Encryption algorithms for IKE phase 2.
74275
75646
  # Corresponds to the JSON property `encryption`
74276
75647
  # @return [Array<String>]
74277
75648
  attr_accessor :encryption
74278
75649
 
74279
- #
75650
+ # Integrity algorithms for IKE phase 2.
74280
75651
  # Corresponds to the JSON property `integrity`
74281
75652
  # @return [Array<String>]
74282
75653
  attr_accessor :integrity
74283
75654
 
74284
- #
75655
+ # Perfect Forward Secrecy (PFS) groups for IKE phase 2.
74285
75656
  # Corresponds to the JSON property `pfs`
74286
75657
  # @return [Array<String>]
74287
75658
  attr_accessor :pfs
@@ -74298,6 +75669,31 @@ module Google
74298
75669
  end
74299
75670
  end
74300
75671
 
75672
+ #
75673
+ class VpnTunnelPqc
75674
+ include Google::Apis::Core::Hashable
75675
+
75676
+ # User specified list of PQC key exchanges.
75677
+ # Corresponds to the JSON property `keys`
75678
+ # @return [Google::Apis::ComputePreview::VpnTunnelAdditionalKeyExchanges]
75679
+ attr_accessor :keys
75680
+
75681
+ #
75682
+ # Corresponds to the JSON property `mode`
75683
+ # @return [String]
75684
+ attr_accessor :mode
75685
+
75686
+ def initialize(**args)
75687
+ update!(**args)
75688
+ end
75689
+
75690
+ # Update properties of this object
75691
+ def update!(**args)
75692
+ @keys = args[:keys] if args.key?(:keys)
75693
+ @mode = args[:mode] if args.key?(:mode)
75694
+ end
75695
+ end
75696
+
74301
75697
  #
74302
75698
  class VpnTunnelsScopedList
74303
75699
  include Google::Apis::Core::Hashable
@@ -75025,6 +76421,11 @@ module Google
75025
76421
  attr_accessor :identity_certificate_enabled
75026
76422
  alias_method :identity_certificate_enabled?, :identity_certificate_enabled
75027
76423
 
76424
+ #
76425
+ # Corresponds to the JSON property `identityType`
76426
+ # @return [String]
76427
+ attr_accessor :identity_type
76428
+
75028
76429
  def initialize(**args)
75029
76430
  update!(**args)
75030
76431
  end
@@ -75033,6 +76434,7 @@ module Google
75033
76434
  def update!(**args)
75034
76435
  @identity = args[:identity] if args.key?(:identity)
75035
76436
  @identity_certificate_enabled = args[:identity_certificate_enabled] if args.key?(:identity_certificate_enabled)
76437
+ @identity_type = args[:identity_type] if args.key?(:identity_type)
75036
76438
  end
75037
76439
  end
75038
76440