google-apis-compute_preview 0.1.0 → 0.3.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.
@@ -101,6 +101,401 @@ module Google
101
101
  end
102
102
  end
103
103
 
104
+ # Represents an Accelerator Interconnect resource.
105
+ class AcceleratorInterconnect
106
+ include Google::Apis::Core::Hashable
107
+
108
+ # The target topology shape (e.g. "4x4x8").
109
+ # Corresponds to the JSON property `acceleratorTopology`
110
+ # @return [String]
111
+ attr_accessor :accelerator_topology
112
+
113
+ # The annotations for the accelerator interconnect.
114
+ # Corresponds to the JSON property `annotations`
115
+ # @return [Hash<String,String>]
116
+ attr_accessor :annotations
117
+
118
+ # Output only. [Output Only] The creation time of this resource inRFC3339
119
+ # text format.
120
+ # Corresponds to the JSON property `creationTimestamp`
121
+ # @return [String]
122
+ attr_accessor :creation_timestamp
123
+
124
+ # An optional description of this resource.
125
+ # Corresponds to the JSON property `description`
126
+ # @return [String]
127
+ attr_accessor :description
128
+
129
+ # Output only. [Output Only] A unique identifier for this resource type.
130
+ # Corresponds to the JSON property `id`
131
+ # @return [Fixnum]
132
+ attr_accessor :id
133
+
134
+ # The labels for the accelerator interconnect.
135
+ # Corresponds to the JSON property `labels`
136
+ # @return [Hash<String,String>]
137
+ attr_accessor :labels
138
+
139
+ # The name of the resource. The name must be 1-63 characters
140
+ # long, and comply withRFC1035.
141
+ # Corresponds to the JSON property `name`
142
+ # @return [String]
143
+ attr_accessor :name
144
+
145
+ # Additional accelerator interconnect creation params.
146
+ # Corresponds to the JSON property `params`
147
+ # @return [Google::Apis::ComputePreview::AcceleratorInterconnectParams]
148
+ attr_accessor :params
149
+
150
+ # The reactivation mode for the accelerator interconnect.
151
+ # Corresponds to the JSON property `reactivationMode`
152
+ # @return [String]
153
+ attr_accessor :reactivation_mode
154
+
155
+ # Output only. [Output Only] The fully-qualified URL of this resource.
156
+ # Corresponds to the JSON property `selfLink`
157
+ # @return [String]
158
+ attr_accessor :self_link
159
+
160
+ # Output only. [Output Only] The fully-qualified URL of this resource containing
161
+ # its
162
+ # unique identifier.
163
+ # Corresponds to the JSON property `selfLinkWithId`
164
+ # @return [String]
165
+ attr_accessor :self_link_with_id
166
+
167
+ # Detailed status information for the interconnect resource.
168
+ # Corresponds to the JSON property `status`
169
+ # @return [Google::Apis::ComputePreview::AcceleratorInterconnectAcceleratorInterconnectStatus]
170
+ attr_accessor :status
171
+
172
+ # Output only. [Output Only] The URL of azone
173
+ # where the interconnect resides. You must specify this field as part of
174
+ # the HTTP request URL. It is not settable as a field in the request body.
175
+ # Corresponds to the JSON property `zone`
176
+ # @return [String]
177
+ attr_accessor :zone
178
+
179
+ def initialize(**args)
180
+ update!(**args)
181
+ end
182
+
183
+ # Update properties of this object
184
+ def update!(**args)
185
+ @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology)
186
+ @annotations = args[:annotations] if args.key?(:annotations)
187
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
188
+ @description = args[:description] if args.key?(:description)
189
+ @id = args[:id] if args.key?(:id)
190
+ @labels = args[:labels] if args.key?(:labels)
191
+ @name = args[:name] if args.key?(:name)
192
+ @params = args[:params] if args.key?(:params)
193
+ @reactivation_mode = args[:reactivation_mode] if args.key?(:reactivation_mode)
194
+ @self_link = args[:self_link] if args.key?(:self_link)
195
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
196
+ @status = args[:status] if args.key?(:status)
197
+ @zone = args[:zone] if args.key?(:zone)
198
+ end
199
+ end
200
+
201
+ # Detailed status information for the interconnect resource.
202
+ class AcceleratorInterconnectAcceleratorInterconnectStatus
203
+ include Google::Apis::Core::Hashable
204
+
205
+ # Output only. [Output Only] The accelerator type (e.g., "TPU7X").
206
+ # Corresponds to the JSON property `acceleratorType`
207
+ # @return [String]
208
+ attr_accessor :accelerator_type
209
+
210
+ # Output only. [Output Only] The current state of the interconnect.
211
+ # Corresponds to the JSON property `state`
212
+ # @return [String]
213
+ attr_accessor :state
214
+
215
+ # Holds the details of the current accelerator interconnect state.
216
+ # Corresponds to the JSON property `stateDetails`
217
+ # @return [Google::Apis::ComputePreview::AcceleratorInterconnectAcceleratorInterconnectStatusAcceleratorInterconnectStateDetails]
218
+ attr_accessor :state_details
219
+
220
+ def initialize(**args)
221
+ update!(**args)
222
+ end
223
+
224
+ # Update properties of this object
225
+ def update!(**args)
226
+ @accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
227
+ @state = args[:state] if args.key?(:state)
228
+ @state_details = args[:state_details] if args.key?(:state_details)
229
+ end
230
+ end
231
+
232
+ # Holds the details of the current accelerator interconnect state.
233
+ class AcceleratorInterconnectAcceleratorInterconnectStatusAcceleratorInterconnectStateDetails
234
+ include Google::Apis::Core::Hashable
235
+
236
+ # Output only. Encountered errors.
237
+ # Corresponds to the JSON property `error`
238
+ # @return [Google::Apis::ComputePreview::AcceleratorInterconnectAcceleratorInterconnectStatusAcceleratorInterconnectStateDetails::Error]
239
+ attr_accessor :error
240
+
241
+ # Output only. Timestamp is shown only if there is an error.
242
+ # Corresponds to the JSON property `timestamp`
243
+ # @return [String]
244
+ attr_accessor :timestamp
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @error = args[:error] if args.key?(:error)
253
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
254
+ end
255
+
256
+ # Output only. Encountered errors.
257
+ class Error
258
+ include Google::Apis::Core::Hashable
259
+
260
+ # [Output Only] The array of errors encountered while processing this
261
+ # operation.
262
+ # Corresponds to the JSON property `errors`
263
+ # @return [Array<Google::Apis::ComputePreview::AcceleratorInterconnectAcceleratorInterconnectStatusAcceleratorInterconnectStateDetails::Error::Error>]
264
+ attr_accessor :errors
265
+
266
+ def initialize(**args)
267
+ update!(**args)
268
+ end
269
+
270
+ # Update properties of this object
271
+ def update!(**args)
272
+ @errors = args[:errors] if args.key?(:errors)
273
+ end
274
+
275
+ # Represents a single error encountered during the processing of an
276
+ # operation.
277
+ class Error
278
+ include Google::Apis::Core::Hashable
279
+
280
+ # [Output Only] The error type identifier for this error.
281
+ # Corresponds to the JSON property `code`
282
+ # @return [String]
283
+ attr_accessor :code
284
+
285
+ # [Output Only] An optional list of messages that contain the error
286
+ # details. There is a set of defined message types to use for providing
287
+ # details.The syntax depends on the error code. For example,
288
+ # QuotaExceededInfo will have details when the error code is
289
+ # QUOTA_EXCEEDED.
290
+ # Corresponds to the JSON property `errorDetails`
291
+ # @return [Array<Google::Apis::ComputePreview::AcceleratorInterconnectAcceleratorInterconnectStatusAcceleratorInterconnectStateDetails::Error::Error::ErrorDetail>]
292
+ attr_accessor :error_details
293
+
294
+ # [Output Only] Indicates the field in the request that caused the error.
295
+ # This property is optional.
296
+ # Corresponds to the JSON property `location`
297
+ # @return [String]
298
+ attr_accessor :location
299
+
300
+ # [Output Only] An optional, human-readable error message.
301
+ # Corresponds to the JSON property `message`
302
+ # @return [String]
303
+ attr_accessor :message
304
+
305
+ def initialize(**args)
306
+ update!(**args)
307
+ end
308
+
309
+ # Update properties of this object
310
+ def update!(**args)
311
+ @code = args[:code] if args.key?(:code)
312
+ @error_details = args[:error_details] if args.key?(:error_details)
313
+ @location = args[:location] if args.key?(:location)
314
+ @message = args[:message] if args.key?(:message)
315
+ end
316
+
317
+ # Container for structured error details providing additional context
318
+ # specific to the encountered error code.
319
+ class ErrorDetail
320
+ include Google::Apis::Core::Hashable
321
+
322
+ # Describes the cause of the error with structured details.
323
+ # Example of an error when contacting the "pubsub.googleapis.com" API when it
324
+ # is not enabled:
325
+ # ` "reason": "API_DISABLED"
326
+ # "domain": "googleapis.com"
327
+ # "metadata": `
328
+ # "resource": "projects/123",
329
+ # "service": "pubsub.googleapis.com"
330
+ # `
331
+ # `
332
+ # This response indicates that the pubsub.googleapis.com API is not enabled.
333
+ # Example of an error that is returned when attempting to create a Spanner
334
+ # instance in a region that is out of stock:
335
+ # ` "reason": "STOCKOUT"
336
+ # "domain": "spanner.googleapis.com",
337
+ # "metadata": `
338
+ # "availableRegions": "us-central1,us-east2"
339
+ # `
340
+ # `
341
+ # Corresponds to the JSON property `errorInfo`
342
+ # @return [Google::Apis::ComputePreview::ErrorInfo]
343
+ attr_accessor :error_info
344
+
345
+ # Provides links to documentation or for performing an out of band action.
346
+ # For example, if a quota check failed with an error indicating the calling
347
+ # project hasn't enabled the accessed service, this can contain a URL pointing
348
+ # directly to the right place in the developer console to flip the bit.
349
+ # Corresponds to the JSON property `help`
350
+ # @return [Google::Apis::ComputePreview::Help]
351
+ attr_accessor :help
352
+
353
+ # Provides a localized error message that is safe to return to the user
354
+ # which can be attached to an RPC error.
355
+ # Corresponds to the JSON property `localizedMessage`
356
+ # @return [Google::Apis::ComputePreview::LocalizedMessage]
357
+ attr_accessor :localized_message
358
+
359
+ # Additional details for quota exceeded error for resource quota.
360
+ # Corresponds to the JSON property `quotaInfo`
361
+ # @return [Google::Apis::ComputePreview::QuotaExceededInfo]
362
+ attr_accessor :quota_info
363
+
364
+ def initialize(**args)
365
+ update!(**args)
366
+ end
367
+
368
+ # Update properties of this object
369
+ def update!(**args)
370
+ @error_info = args[:error_info] if args.key?(:error_info)
371
+ @help = args[:help] if args.key?(:help)
372
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
373
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
374
+ end
375
+ end
376
+ end
377
+ end
378
+ end
379
+
380
+ # Represents an Accelerator Interconnect Member Instance.
381
+ class AcceleratorInterconnectMemberInstance
382
+ include Google::Apis::Core::Hashable
383
+
384
+ # Output only. [Output Only] The VM instance resource URL (e.g.,
385
+ # https://.../instances/my-vm).
386
+ # Corresponds to the JSON property `instance`
387
+ # @return [String]
388
+ attr_accessor :instance
389
+
390
+ # Output only. [Output Only] The unique server-defined ID of the VM instance.
391
+ # Corresponds to the JSON property `instanceId`
392
+ # @return [Fixnum]
393
+ attr_accessor :instance_id
394
+
395
+ def initialize(**args)
396
+ update!(**args)
397
+ end
398
+
399
+ # Update properties of this object
400
+ def update!(**args)
401
+ @instance = args[:instance] if args.key?(:instance)
402
+ @instance_id = args[:instance_id] if args.key?(:instance_id)
403
+ end
404
+ end
405
+
406
+ # Response message for AcceleratorInterconnectMemberInstances.List.
407
+ class AcceleratorInterconnectMemberInstancesListResponse
408
+ include Google::Apis::Core::Hashable
409
+
410
+ # The list of AcceleratorInterconnectMemberInstances.
411
+ # Corresponds to the JSON property `items`
412
+ # @return [Array<Google::Apis::ComputePreview::AcceleratorInterconnectMemberInstance>]
413
+ attr_accessor :items
414
+
415
+ # Token to retrieve the next page of results.
416
+ # Corresponds to the JSON property `nextPageToken`
417
+ # @return [String]
418
+ attr_accessor :next_page_token
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @items = args[:items] if args.key?(:items)
427
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
428
+ end
429
+ end
430
+
431
+ # Additional accelerator interconnect creation params.
432
+ class AcceleratorInterconnectParams
433
+ include Google::Apis::Core::Hashable
434
+
435
+ # Structured representation of the capacity pool.
436
+ # Corresponds to the JSON property `capacityPool`
437
+ # @return [Google::Apis::ComputePreview::CapacityPool]
438
+ attr_accessor :capacity_pool
439
+
440
+ def initialize(**args)
441
+ update!(**args)
442
+ end
443
+
444
+ # Update properties of this object
445
+ def update!(**args)
446
+ @capacity_pool = args[:capacity_pool] if args.key?(:capacity_pool)
447
+ end
448
+ end
449
+
450
+ # Insert an Accelerator Interconnect resource.
451
+ class AcceleratorInterconnectsInsertRequest
452
+ include Google::Apis::Core::Hashable
453
+
454
+ # Represents an Accelerator Interconnect resource.
455
+ # Corresponds to the JSON property `resource`
456
+ # @return [Google::Apis::ComputePreview::AcceleratorInterconnect]
457
+ attr_accessor :resource
458
+
459
+ def initialize(**args)
460
+ update!(**args)
461
+ end
462
+
463
+ # Update properties of this object
464
+ def update!(**args)
465
+ @resource = args[:resource] if args.key?(:resource)
466
+ end
467
+ end
468
+
469
+ # Response message for AcceleratorInterconnects.List.
470
+ class AcceleratorInterconnectsList
471
+ include Google::Apis::Core::Hashable
472
+
473
+ # A list of AcceleratorInterconnect resources.
474
+ # Corresponds to the JSON property `items`
475
+ # @return [Array<Google::Apis::ComputePreview::AcceleratorInterconnect>]
476
+ attr_accessor :items
477
+
478
+ # This token allows you to get the next page of results for
479
+ # list requests. If the number of results is larger thanmaxResults, use the
480
+ # nextPageToken as a value for
481
+ # the query parameter pageToken in the next list request.
482
+ # Subsequent list requests will have their own nextPageToken to
483
+ # continue paging through the results.
484
+ # Corresponds to the JSON property `nextPageToken`
485
+ # @return [String]
486
+ attr_accessor :next_page_token
487
+
488
+ def initialize(**args)
489
+ update!(**args)
490
+ end
491
+
492
+ # Update properties of this object
493
+ def update!(**args)
494
+ @items = args[:items] if args.key?(:items)
495
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
496
+ end
497
+ end
498
+
104
499
  # Info for accelerator topologies within a densely packed reservation.
105
500
  class AcceleratorTopologiesInfo
106
501
  include Google::Apis::Core::Hashable
@@ -628,6 +1023,25 @@ module Google
628
1023
  # @return [Fixnum]
629
1024
  attr_accessor :external_ipv6_prefix_length
630
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
+
631
1045
  # Output only. [Output Only] Type of the resource. Alwayscompute#accessConfig
632
1046
  # for access configs.
633
1047
  # Corresponds to the JSON property `kind`
@@ -703,6 +1117,7 @@ module Google
703
1117
  def update!(**args)
704
1118
  @external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6)
705
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)
706
1121
  @kind = args[:kind] if args.key?(:kind)
707
1122
  @name = args[:name] if args.key?(:name)
708
1123
  @nat_ip = args[:nat_ip] if args.key?(:nat_ip)
@@ -842,6 +1257,15 @@ module Google
842
1257
  # @return [String]
843
1258
  attr_accessor :network
844
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
+
845
1269
  # This signifies the networking tier used for configuring this address and
846
1270
  # can only take the following values: PREMIUM orSTANDARD. Internal IP addresses
847
1271
  # are always Premium Tier;
@@ -906,6 +1330,14 @@ module Google
906
1330
  # @return [String]
907
1331
  attr_accessor :self_link
908
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
+
909
1341
  # Output only. [Output Only] The status of the address, which can be one
910
1342
  # ofRESERVING, RESERVED, or IN_USE.
911
1343
  # An address that is RESERVING is currently in the process of
@@ -947,11 +1379,13 @@ module Google
947
1379
  @labels = args[:labels] if args.key?(:labels)
948
1380
  @name = args[:name] if args.key?(:name)
949
1381
  @network = args[:network] if args.key?(:network)
1382
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
950
1383
  @network_tier = args[:network_tier] if args.key?(:network_tier)
951
1384
  @prefix_length = args[:prefix_length] if args.key?(:prefix_length)
952
1385
  @purpose = args[:purpose] if args.key?(:purpose)
953
1386
  @region = args[:region] if args.key?(:region)
954
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)
955
1389
  @status = args[:status] if args.key?(:status)
956
1390
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
957
1391
  @users = args[:users] if args.key?(:users)
@@ -1409,6 +1843,339 @@ module Google
1409
1843
  end
1410
1844
  end
1411
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
+
1412
2179
  # This reservation type is specified by total resource amounts (e.g. total
1413
2180
  # count of CPUs) and can account for multiple instance SKUs. In other words,
1414
2181
  # one can create instances of varying shapes against this reservation.
@@ -1522,6 +2289,12 @@ module Google
1522
2289
  # @return [Google::Apis::ComputePreview::AllocationResourceStatusHealthInfo]
1523
2290
  attr_accessor :health_info
1524
2291
 
2292
+ # The number of machines in the reservation. Only populated
2293
+ # for families where machine to host ratio is not 1:1 such as TPU8i.
2294
+ # Corresponds to the JSON property `machineCount`
2295
+ # @return [Fixnum]
2296
+ attr_accessor :machine_count
2297
+
1525
2298
  # The number of reservation blocks associated with this reservation.
1526
2299
  # Corresponds to the JSON property `reservationBlockCount`
1527
2300
  # @return [Fixnum]
@@ -1544,6 +2317,7 @@ module Google
1544
2317
  # Update properties of this object
1545
2318
  def update!(**args)
1546
2319
  @health_info = args[:health_info] if args.key?(:health_info)
2320
+ @machine_count = args[:machine_count] if args.key?(:machine_count)
1547
2321
  @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1548
2322
  @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1549
2323
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
@@ -2980,6 +3754,20 @@ module Google
2980
3754
  # @return [String]
2981
3755
  attr_accessor :predictive_method
2982
3756
 
3757
+ # The upper bound of the utilization range. Must be a float value in the
3758
+ # range ('utilization_min', 1]. A value of 0.0 is equivalent to leaving the
3759
+ # field unset.
3760
+ # Corresponds to the JSON property `utilizationMax`
3761
+ # @return [Float]
3762
+ attr_accessor :utilization_max
3763
+
3764
+ # The lower bound of the utilization range. Must be a float value in the
3765
+ # range (0, 'utilization_max']. A value of 0.0 is equivalent to leaving the
3766
+ # field unset.
3767
+ # Corresponds to the JSON property `utilizationMin`
3768
+ # @return [Float]
3769
+ attr_accessor :utilization_min
3770
+
2983
3771
  # The target CPU utilization that the autoscaler maintains. Must be
2984
3772
  # a float value in the range (0, 1]. If not specified, the default is0.6.
2985
3773
  # If the CPU level is below the target utilization, the autoscaler scales
@@ -3001,6 +3789,8 @@ module Google
3001
3789
  # Update properties of this object
3002
3790
  def update!(**args)
3003
3791
  @predictive_method = args[:predictive_method] if args.key?(:predictive_method)
3792
+ @utilization_max = args[:utilization_max] if args.key?(:utilization_max)
3793
+ @utilization_min = args[:utilization_min] if args.key?(:utilization_min)
3004
3794
  @utilization_target = args[:utilization_target] if args.key?(:utilization_target)
3005
3795
  end
3006
3796
  end
@@ -8354,6 +9144,32 @@ module Google
8354
9144
  end
8355
9145
  end
8356
9146
 
9147
+ # Structured representation of the capacity pool.
9148
+ class CapacityPool
9149
+ include Google::Apis::Core::Hashable
9150
+
9151
+ # The list of physical topology block identifiers.
9152
+ # Corresponds to the JSON property `partitionIds`
9153
+ # @return [Array<String>]
9154
+ attr_accessor :partition_ids
9155
+
9156
+ # A list of fully qualified resource names that form the logical bounds.
9157
+ # Both full and relative URIs are supported.
9158
+ # Corresponds to the JSON property `resources`
9159
+ # @return [Array<String>]
9160
+ attr_accessor :resources
9161
+
9162
+ def initialize(**args)
9163
+ update!(**args)
9164
+ end
9165
+
9166
+ # Update properties of this object
9167
+ def update!(**args)
9168
+ @partition_ids = args[:partition_ids] if args.key?(:partition_ids)
9169
+ @resources = args[:resources] if args.key?(:resources)
9170
+ end
9171
+ end
9172
+
8357
9173
  # Settings controlling the volume of requests, connections and retries to this
8358
9174
  # backend service.
8359
9175
  class CircuitBreakers
@@ -8603,7 +9419,8 @@ module Google
8603
9419
  # GENERAL_PURPOSE_N2D,GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,GRAPHICS_OPTIMIZED,
8604
9420
  # GRAPHICS_OPTIMIZED_G4,GRAPHICS_OPTIMIZED_G4_VGPU,MEMORY_OPTIMIZED,
8605
9421
  # MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3,
8606
- # STORAGE_OPTIMIZED_Z4DS, STORAGE_OPTIMIZED_Z4DH,STORAGE_OPTIMIZED_Z4D4T. For
9422
+ # STORAGE_OPTIMIZED_Z4DS, STORAGE_OPTIMIZED_Z4DH,STORAGE_OPTIMIZED_Z4D4T,
9423
+ # STORAGE_OPTIMIZED_Z4M. For
8607
9424
  # example, type MEMORY_OPTIMIZED specifies a commitment that
8608
9425
  # applies only to eligible resources of memory optimized M1 and M2 machine
8609
9426
  # series. Type GENERAL_PURPOSE specifies a commitment that
@@ -18248,6 +19065,11 @@ module Google
18248
19065
  # @return [Google::Apis::ComputePreview::HaControllerNetworkingAutoConfiguration]
18249
19066
  attr_accessor :networking_auto_configuration
18250
19067
 
19068
+ # Additional HA Controller params.
19069
+ # Corresponds to the JSON property `params`
19070
+ # @return [Google::Apis::ComputePreview::HaControllerParams]
19071
+ attr_accessor :params
19072
+
18251
19073
  # Output only. [Output Only] URL of the region where the resource resides.
18252
19074
  # You must specify this field as part of the HTTP request URL.
18253
19075
  # It is not settable as a field in the request body.
@@ -18298,6 +19120,7 @@ module Google
18298
19120
  @kind = args[:kind] if args.key?(:kind)
18299
19121
  @name = args[:name] if args.key?(:name)
18300
19122
  @networking_auto_configuration = args[:networking_auto_configuration] if args.key?(:networking_auto_configuration)
19123
+ @params = args[:params] if args.key?(:params)
18301
19124
  @region = args[:region] if args.key?(:region)
18302
19125
  @self_link = args[:self_link] if args.key?(:self_link)
18303
19126
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -18307,6 +19130,35 @@ module Google
18307
19130
  end
18308
19131
  end
18309
19132
 
19133
+ # The network interface configuration of the VM instance.
19134
+ class HaControllerInstanceNetworkInterface
19135
+ include Google::Apis::Core::Hashable
19136
+
19137
+ # Optional. Optional IPv6 address to assign to the instance's network interface.
19138
+ # If omitted, an ephemeral IP may be assigned depending on the instance's
19139
+ # network interface stack type.
19140
+ # Corresponds to the JSON property `ipv6Address`
19141
+ # @return [String]
19142
+ attr_accessor :ipv6_address
19143
+
19144
+ # Optional. Optional IPv4 address to assign to the instance's network interface.
19145
+ # If omitted, an ephemeral IP may be assigned depending on the instance's
19146
+ # network interface stack type.
19147
+ # Corresponds to the JSON property `networkIP`
19148
+ # @return [String]
19149
+ attr_accessor :network_ip
19150
+
19151
+ def initialize(**args)
19152
+ update!(**args)
19153
+ end
19154
+
19155
+ # Update properties of this object
19156
+ def update!(**args)
19157
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
19158
+ @network_ip = args[:network_ip] if args.key?(:network_ip)
19159
+ end
19160
+ end
19161
+
18310
19162
  # Basic networking configuration. Required backend services and forwarding
18311
19163
  # rules will be automatically created with default parameters.
18312
19164
  class HaControllerNetworkingAutoConfiguration
@@ -18360,6 +19212,27 @@ module Google
18360
19212
  end
18361
19213
  end
18362
19214
 
19215
+ # Additional HA Controller params.
19216
+ class HaControllerParams
19217
+ include Google::Apis::Core::Hashable
19218
+
19219
+ # Specifies whether to automatically migrate all disks of an instance from
19220
+ # zonal to regional before attempting to create the HaController.
19221
+ # Corresponds to the JSON property `migrateDisksToRegional`
19222
+ # @return [Boolean]
19223
+ attr_accessor :migrate_disks_to_regional
19224
+ alias_method :migrate_disks_to_regional?, :migrate_disks_to_regional
19225
+
19226
+ def initialize(**args)
19227
+ update!(**args)
19228
+ end
19229
+
19230
+ # Update properties of this object
19231
+ def update!(**args)
19232
+ @migrate_disks_to_regional = args[:migrate_disks_to_regional] if args.key?(:migrate_disks_to_regional)
19233
+ end
19234
+ end
19235
+
18363
19236
  # Contains information about current status of the HaController.
18364
19237
  class HaControllerStatus
18365
19238
  include Google::Apis::Core::Hashable
@@ -18816,6 +19689,30 @@ module Google
18816
19689
  class HaControllerZoneConfiguration
18817
19690
  include Google::Apis::Core::Hashable
18818
19691
 
19692
+ # Optional. The network interface configuration of a VM instance in this zone,
19693
+ # keyed by the name of the network interface. A VM network interface
19694
+ # uses the nicN naming format, where N is a
19695
+ # value between 0 and 7. The default interface
19696
+ # is nic0. Use this field to choose the internal IP
19697
+ # addresses of the VM instance in this zone instead of letting Compute
19698
+ # Engine assign them automatically.
19699
+ #
19700
+ #
19701
+ # - Each key must be a name of a network interface that exists on
19702
+ # the VM instance. Otherwise, the request fails.
19703
+ # - Network interfaces that are omitted are assigned an ephemeral
19704
+ # internal IP address.
19705
+ # - Every zone must configure the same network interfaces and the
19706
+ # same IP address families.
19707
+ # - For the zone that currently holds the VM instance, this field
19708
+ # is populated automatically, and any addresses you specify must
19709
+ # match the instance's current addresses.
19710
+ # - Only internal IP addresses are supported, and this field can
19711
+ # only be set when the HA Controller is created.
19712
+ # Corresponds to the JSON property `instanceNetworkInterfaces`
19713
+ # @return [Hash<String,Google::Apis::ComputePreview::HaControllerInstanceNetworkInterface>]
19714
+ attr_accessor :instance_network_interfaces
19715
+
18819
19716
  # A set of node affinity configurations. Refer toConfiguring node
18820
19717
  # affinity for more information.
18821
19718
  # Overrides reservationAffinity.
@@ -18836,6 +19733,7 @@ module Google
18836
19733
 
18837
19734
  # Update properties of this object
18838
19735
  def update!(**args)
19736
+ @instance_network_interfaces = args[:instance_network_interfaces] if args.key?(:instance_network_interfaces)
18839
19737
  @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
18840
19738
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
18841
19739
  end
@@ -30038,6 +30936,26 @@ module Google
30038
30936
  end
30039
30937
  end
30040
30938
 
30939
+ # [Output Only] Operation metadata for instances.troubleshoot.
30940
+ class InstancesTroubleshootOperationMetadata
30941
+ include Google::Apis::Core::Hashable
30942
+
30943
+ # Output only. [Output Only] Serialized output of the troubleshooting diagnostic
30944
+ # run.
30945
+ # Corresponds to the JSON property `troubleshootOutput`
30946
+ # @return [String]
30947
+ attr_accessor :troubleshoot_output
30948
+
30949
+ def initialize(**args)
30950
+ update!(**args)
30951
+ end
30952
+
30953
+ # Update properties of this object
30954
+ def update!(**args)
30955
+ @troubleshoot_output = args[:troubleshoot_output] if args.key?(:troubleshoot_output)
30956
+ end
30957
+ end
30958
+
30041
30959
  # Represents a InstantSnapshot resource.
30042
30960
  # You can use instant snapshots to create disk rollback points quickly..
30043
30961
  class InstantSnapshot
@@ -35432,6 +36350,33 @@ module Google
35432
36350
  end
35433
36351
  end
35434
36352
 
36353
+ # Request to rename an interconnect.
36354
+ class InterconnectsSetNameRequest
36355
+ include Google::Apis::Core::Hashable
36356
+
36357
+ # The current name of the interconnect.
36358
+ # The name must be 1-63 characters long, and comply with RFC1035.
36359
+ # Corresponds to the JSON property `currentName`
36360
+ # @return [String]
36361
+ attr_accessor :current_name
36362
+
36363
+ # The new name of the interconnect.
36364
+ # The name must be 1-63 characters long, and comply with RFC1035.
36365
+ # Corresponds to the JSON property `name`
36366
+ # @return [String]
36367
+ attr_accessor :name
36368
+
36369
+ def initialize(**args)
36370
+ update!(**args)
36371
+ end
36372
+
36373
+ # Update properties of this object
36374
+ def update!(**args)
36375
+ @current_name = args[:current_name] if args.key?(:current_name)
36376
+ @name = args[:name] if args.key?(:name)
36377
+ end
36378
+ end
36379
+
35435
36380
  # Represents a time interval, encoded as a Timestamp start (inclusive) and a
35436
36381
  # Timestamp end (exclusive).
35437
36382
  # The start must be less than or equal to the end.
@@ -38942,6 +39887,11 @@ module Google
38942
39887
  # @return [String]
38943
39888
  attr_accessor :name
38944
39889
 
39890
+ # Additional network edge security service parameters.
39891
+ # Corresponds to the JSON property `params`
39892
+ # @return [Google::Apis::ComputePreview::NetworkEdgeSecurityServiceParams]
39893
+ attr_accessor :params
39894
+
38945
39895
  # Output only. [Output Only] URL of the region where the resource resides. You
38946
39896
  # must
38947
39897
  # specify this field as part of the HTTP request URL. It is not settable as a
@@ -38979,6 +39929,7 @@ module Google
38979
39929
  @id = args[:id] if args.key?(:id)
38980
39930
  @kind = args[:kind] if args.key?(:kind)
38981
39931
  @name = args[:name] if args.key?(:name)
39932
+ @params = args[:params] if args.key?(:params)
38982
39933
  @region = args[:region] if args.key?(:region)
38983
39934
  @security_policy = args[:security_policy] if args.key?(:security_policy)
38984
39935
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -39124,6 +40075,38 @@ module Google
39124
40075
  end
39125
40076
  end
39126
40077
 
40078
+ # Additional network edge security service parameters.
40079
+ class NetworkEdgeSecurityServiceParams
40080
+ include Google::Apis::Core::Hashable
40081
+
40082
+ # Tag keys/values directly bound to this resource.
40083
+ # Tag keys and values have the same definition as resource
40084
+ # manager tags. The field is allowed for INSERT
40085
+ # only. The keys/values to set on the resource should be specified in
40086
+ # either ID ` : ` or Namespaced format
40087
+ # ` : `.
40088
+ # For example the following are valid inputs:
40089
+ # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"`
40090
+ # * `"123/environment" : "production", "345/abc" : "xyz"`
40091
+ # Note:
40092
+ # * Invalid combinations of ID & namespaced format is not supported. For
40093
+ # instance: `"123/environment" : "tagValues/444"` is invalid.
40094
+ # * Inconsistent format is not supported. For instance:
40095
+ # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
40096
+ # Corresponds to the JSON property `resourceManagerTags`
40097
+ # @return [Hash<String,String>]
40098
+ attr_accessor :resource_manager_tags
40099
+
40100
+ def initialize(**args)
40101
+ update!(**args)
40102
+ end
40103
+
40104
+ # Update properties of this object
40105
+ def update!(**args)
40106
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
40107
+ end
40108
+ end
40109
+
39127
40110
  #
39128
40111
  class NetworkEdgeSecurityServicesScopedList
39129
40112
  include Google::Apis::Core::Hashable
@@ -39409,6 +40392,13 @@ module Google
39409
40392
  # @return [String]
39410
40393
  attr_accessor :network
39411
40394
 
40395
+ # Optional. The URL of the network attachment that this resource
40396
+ # belongs to.projects/`project`/regions/`region_name`/networkAttachments/`
40397
+ # network_attachment_name`.
40398
+ # Corresponds to the JSON property `networkAttachment`
40399
+ # @return [String]
40400
+ attr_accessor :network_attachment
40401
+
39412
40402
  # Type of network endpoints in this network endpoint group. Can be one
39413
40403
  # ofGCE_VM_IP, GCE_VM_IP_PORT,NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
39414
40404
  # INTERNET_IP_PORT, SERVERLESS,PRIVATE_SERVICE_CONNECT, GCE_VM_IP_PORTMAP.
@@ -39441,6 +40431,14 @@ module Google
39441
40431
  # @return [String]
39442
40432
  attr_accessor :self_link
39443
40433
 
40434
+ # Optional. The service class ID associated with this resource.
40435
+ # Can only be used with network_attachment. It is not possible to
40436
+ # use on its own; however, network_attachment can be used without
40437
+ # service_class_id.
40438
+ # Corresponds to the JSON property `serviceClassId`
40439
+ # @return [String]
40440
+ attr_accessor :service_class_id
40441
+
39444
40442
  # Output only. [Output only] Number of network endpoints in the network endpoint
39445
40443
  # group.
39446
40444
  # Corresponds to the JSON property `size`
@@ -39476,11 +40474,13 @@ module Google
39476
40474
  @kind = args[:kind] if args.key?(:kind)
39477
40475
  @name = args[:name] if args.key?(:name)
39478
40476
  @network = args[:network] if args.key?(:network)
40477
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
39479
40478
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
39480
40479
  @psc_data = args[:psc_data] if args.key?(:psc_data)
39481
40480
  @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
39482
40481
  @region = args[:region] if args.key?(:region)
39483
40482
  @self_link = args[:self_link] if args.key?(:self_link)
40483
+ @service_class_id = args[:service_class_id] if args.key?(:service_class_id)
39484
40484
  @size = args[:size] if args.key?(:size)
39485
40485
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
39486
40486
  @zone = args[:zone] if args.key?(:zone)
@@ -44294,6 +45294,11 @@ module Google
44294
45294
  # @return [Google::Apis::ComputePreview::InstancesBulkInsertOperationMetadata]
44295
45295
  attr_accessor :instances_bulk_insert_operation_metadata
44296
45296
 
45297
+ # [Output Only] Operation metadata for instances.troubleshoot.
45298
+ # Corresponds to the JSON property `instancesTroubleshootOperationMetadata`
45299
+ # @return [Google::Apis::ComputePreview::InstancesTroubleshootOperationMetadata]
45300
+ attr_accessor :instances_troubleshoot_operation_metadata
45301
+
44297
45302
  # Output only. [Output Only] Type of the resource. Always `compute#operation`
44298
45303
  # for
44299
45304
  # Operation resources.
@@ -44417,6 +45422,7 @@ module Google
44417
45422
  @id = args[:id] if args.key?(:id)
44418
45423
  @insert_time = args[:insert_time] if args.key?(:insert_time)
44419
45424
  @instances_bulk_insert_operation_metadata = args[:instances_bulk_insert_operation_metadata] if args.key?(:instances_bulk_insert_operation_metadata)
45425
+ @instances_troubleshoot_operation_metadata = args[:instances_troubleshoot_operation_metadata] if args.key?(:instances_troubleshoot_operation_metadata)
44420
45426
  @kind = args[:kind] if args.key?(:kind)
44421
45427
  @name = args[:name] if args.key?(:name)
44422
45428
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
@@ -45842,6 +46848,232 @@ module Google
45842
46848
  end
45843
46849
  end
45844
46850
 
46851
+ # Formability of a partition.
46852
+ class PartitionFormability
46853
+ include Google::Apis::Core::Hashable
46854
+
46855
+ # Topological shape (e.g., "4x4x4").
46856
+ # Corresponds to the JSON property `acceleratorTopology`
46857
+ # @return [String]
46858
+ attr_accessor :accelerator_topology
46859
+
46860
+ # Partition ID of a partition that is a direct parent in the tree hierarchy.
46861
+ # In case the partition represents a full cube, it doesn't have a parent
46862
+ # field.
46863
+ # Corresponds to the JSON property `parent`
46864
+ # @return [String]
46865
+ attr_accessor :parent
46866
+
46867
+ # Identifier for this topological block.
46868
+ # Corresponds to the JSON property `partitionId`
46869
+ # @return [String]
46870
+ attr_accessor :partition_id
46871
+
46872
+ # Status of a partition formability.
46873
+ # Corresponds to the JSON property `status`
46874
+ # @return [Google::Apis::ComputePreview::PartitionFormabilityStatus]
46875
+ attr_accessor :status
46876
+
46877
+ # The URL of the capacity subblock.
46878
+ # Corresponds to the JSON property `subblock`
46879
+ # @return [String]
46880
+ attr_accessor :subblock
46881
+
46882
+ def initialize(**args)
46883
+ update!(**args)
46884
+ end
46885
+
46886
+ # Update properties of this object
46887
+ def update!(**args)
46888
+ @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology)
46889
+ @parent = args[:parent] if args.key?(:parent)
46890
+ @partition_id = args[:partition_id] if args.key?(:partition_id)
46891
+ @status = args[:status] if args.key?(:status)
46892
+ @subblock = args[:subblock] if args.key?(:subblock)
46893
+ end
46894
+ end
46895
+
46896
+ # Status of a partition formability.
46897
+ class PartitionFormabilityStatus
46898
+ include Google::Apis::Core::Hashable
46899
+
46900
+ # URL of the AcceleratorInterconnect utilizing this partition.
46901
+ # Corresponds to the JSON property `acceleratorInterconnect`
46902
+ # @return [String]
46903
+ attr_accessor :accelerator_interconnect
46904
+
46905
+ # Detailed error status if the subblock has wrong or no provisioning.
46906
+ # When set, only subblock and error are populated.
46907
+ # Corresponds to the JSON property `error`
46908
+ # @return [Google::Apis::ComputePreview::PartitionFormabilityStatus::Error]
46909
+ attr_accessor :error
46910
+
46911
+ # Physical health of the underlying infrastructure.
46912
+ # Corresponds to the JSON property `infrastructureHealth`
46913
+ # @return [String]
46914
+ attr_accessor :infrastructure_health
46915
+
46916
+ # URL of an instance provisioned in a single-host partitionID at the lowest
46917
+ # level of the partition tree. Empty if the instance is missing.
46918
+ # Corresponds to the JSON property `instance`
46919
+ # @return [String]
46920
+ attr_accessor :instance
46921
+
46922
+ # State of the instances within this partition.
46923
+ # Corresponds to the JSON property `instanceState`
46924
+ # @return [String]
46925
+ attr_accessor :instance_state
46926
+
46927
+ # Current formability state.
46928
+ # Corresponds to the JSON property `state`
46929
+ # @return [String]
46930
+ attr_accessor :state
46931
+
46932
+ # Usage state indicating if the partition is occupied.
46933
+ # Corresponds to the JSON property `usageState`
46934
+ # @return [String]
46935
+ attr_accessor :usage_state
46936
+
46937
+ def initialize(**args)
46938
+ update!(**args)
46939
+ end
46940
+
46941
+ # Update properties of this object
46942
+ def update!(**args)
46943
+ @accelerator_interconnect = args[:accelerator_interconnect] if args.key?(:accelerator_interconnect)
46944
+ @error = args[:error] if args.key?(:error)
46945
+ @infrastructure_health = args[:infrastructure_health] if args.key?(:infrastructure_health)
46946
+ @instance = args[:instance] if args.key?(:instance)
46947
+ @instance_state = args[:instance_state] if args.key?(:instance_state)
46948
+ @state = args[:state] if args.key?(:state)
46949
+ @usage_state = args[:usage_state] if args.key?(:usage_state)
46950
+ end
46951
+
46952
+ # Detailed error status if the subblock has wrong or no provisioning.
46953
+ # When set, only subblock and error are populated.
46954
+ class Error
46955
+ include Google::Apis::Core::Hashable
46956
+
46957
+ # [Output Only] The array of errors encountered while processing this
46958
+ # operation.
46959
+ # Corresponds to the JSON property `errors`
46960
+ # @return [Array<Google::Apis::ComputePreview::PartitionFormabilityStatus::Error::Error>]
46961
+ attr_accessor :errors
46962
+
46963
+ def initialize(**args)
46964
+ update!(**args)
46965
+ end
46966
+
46967
+ # Update properties of this object
46968
+ def update!(**args)
46969
+ @errors = args[:errors] if args.key?(:errors)
46970
+ end
46971
+
46972
+ # Represents a single error encountered during the processing of an
46973
+ # operation.
46974
+ class Error
46975
+ include Google::Apis::Core::Hashable
46976
+
46977
+ # [Output Only] The error type identifier for this error.
46978
+ # Corresponds to the JSON property `code`
46979
+ # @return [String]
46980
+ attr_accessor :code
46981
+
46982
+ # [Output Only] An optional list of messages that contain the error
46983
+ # details. There is a set of defined message types to use for providing
46984
+ # details.The syntax depends on the error code. For example,
46985
+ # QuotaExceededInfo will have details when the error code is
46986
+ # QUOTA_EXCEEDED.
46987
+ # Corresponds to the JSON property `errorDetails`
46988
+ # @return [Array<Google::Apis::ComputePreview::PartitionFormabilityStatus::Error::Error::ErrorDetail>]
46989
+ attr_accessor :error_details
46990
+
46991
+ # [Output Only] Indicates the field in the request that caused the error.
46992
+ # This property is optional.
46993
+ # Corresponds to the JSON property `location`
46994
+ # @return [String]
46995
+ attr_accessor :location
46996
+
46997
+ # [Output Only] An optional, human-readable error message.
46998
+ # Corresponds to the JSON property `message`
46999
+ # @return [String]
47000
+ attr_accessor :message
47001
+
47002
+ def initialize(**args)
47003
+ update!(**args)
47004
+ end
47005
+
47006
+ # Update properties of this object
47007
+ def update!(**args)
47008
+ @code = args[:code] if args.key?(:code)
47009
+ @error_details = args[:error_details] if args.key?(:error_details)
47010
+ @location = args[:location] if args.key?(:location)
47011
+ @message = args[:message] if args.key?(:message)
47012
+ end
47013
+
47014
+ # Container for structured error details providing additional context
47015
+ # specific to the encountered error code.
47016
+ class ErrorDetail
47017
+ include Google::Apis::Core::Hashable
47018
+
47019
+ # Describes the cause of the error with structured details.
47020
+ # Example of an error when contacting the "pubsub.googleapis.com" API when it
47021
+ # is not enabled:
47022
+ # ` "reason": "API_DISABLED"
47023
+ # "domain": "googleapis.com"
47024
+ # "metadata": `
47025
+ # "resource": "projects/123",
47026
+ # "service": "pubsub.googleapis.com"
47027
+ # `
47028
+ # `
47029
+ # This response indicates that the pubsub.googleapis.com API is not enabled.
47030
+ # Example of an error that is returned when attempting to create a Spanner
47031
+ # instance in a region that is out of stock:
47032
+ # ` "reason": "STOCKOUT"
47033
+ # "domain": "spanner.googleapis.com",
47034
+ # "metadata": `
47035
+ # "availableRegions": "us-central1,us-east2"
47036
+ # `
47037
+ # `
47038
+ # Corresponds to the JSON property `errorInfo`
47039
+ # @return [Google::Apis::ComputePreview::ErrorInfo]
47040
+ attr_accessor :error_info
47041
+
47042
+ # Provides links to documentation or for performing an out of band action.
47043
+ # For example, if a quota check failed with an error indicating the calling
47044
+ # project hasn't enabled the accessed service, this can contain a URL pointing
47045
+ # directly to the right place in the developer console to flip the bit.
47046
+ # Corresponds to the JSON property `help`
47047
+ # @return [Google::Apis::ComputePreview::Help]
47048
+ attr_accessor :help
47049
+
47050
+ # Provides a localized error message that is safe to return to the user
47051
+ # which can be attached to an RPC error.
47052
+ # Corresponds to the JSON property `localizedMessage`
47053
+ # @return [Google::Apis::ComputePreview::LocalizedMessage]
47054
+ attr_accessor :localized_message
47055
+
47056
+ # Additional details for quota exceeded error for resource quota.
47057
+ # Corresponds to the JSON property `quotaInfo`
47058
+ # @return [Google::Apis::ComputePreview::QuotaExceededInfo]
47059
+ attr_accessor :quota_info
47060
+
47061
+ def initialize(**args)
47062
+ update!(**args)
47063
+ end
47064
+
47065
+ # Update properties of this object
47066
+ def update!(**args)
47067
+ @error_info = args[:error_info] if args.key?(:error_info)
47068
+ @help = args[:help] if args.key?(:help)
47069
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
47070
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
47071
+ end
47072
+ end
47073
+ end
47074
+ end
47075
+ end
47076
+
45845
47077
  # A matcher for the path portion of the URL. The BackendService
45846
47078
  # from the longest-matched rule will serve the URL. If no rule was matched, the
45847
47079
  # default service is used.
@@ -46826,11 +48058,6 @@ module Google
46826
48058
  # @return [String]
46827
48059
  attr_accessor :name
46828
48060
 
46829
- # [Output Only] Quotas assigned to this project.
46830
- # Corresponds to the JSON property `quotas`
46831
- # @return [Array<Google::Apis::ComputePreview::Quota>]
46832
- attr_accessor :quotas
46833
-
46834
48061
  # [Output Only] Server-defined URL for the resource.
46835
48062
  # Corresponds to the JSON property `selfLink`
46836
48063
  # @return [String]
@@ -46871,7 +48098,6 @@ module Google
46871
48098
  @id = args[:id] if args.key?(:id)
46872
48099
  @kind = args[:kind] if args.key?(:kind)
46873
48100
  @name = args[:name] if args.key?(:name)
46874
- @quotas = args[:quotas] if args.key?(:quotas)
46875
48101
  @self_link = args[:self_link] if args.key?(:self_link)
46876
48102
  @usage_export_location = args[:usage_export_location] if args.key?(:usage_export_location)
46877
48103
  @vm_dns_setting = args[:vm_dns_setting] if args.key?(:vm_dns_setting)
@@ -47786,74 +49012,201 @@ module Google
47786
49012
  end
47787
49013
  end
47788
49014
 
47789
- # Represents a sub PublicDelegatedPrefix.
47790
- class PublicDelegatedPrefixPublicDelegatedSubPrefix
49015
+ # Represents a sub PublicDelegatedPrefix.
49016
+ class PublicDelegatedPrefixPublicDelegatedSubPrefix
49017
+ include Google::Apis::Core::Hashable
49018
+
49019
+ # The allocatable prefix length supported by this PublicDelegatedSubPrefix.
49020
+ # Corresponds to the JSON property `allocatablePrefixLength`
49021
+ # @return [Fixnum]
49022
+ attr_accessor :allocatable_prefix_length
49023
+
49024
+ # Name of the project scoping this PublicDelegatedSubPrefix.
49025
+ # Corresponds to the JSON property `delegateeProject`
49026
+ # @return [String]
49027
+ attr_accessor :delegatee_project
49028
+
49029
+ # An optional description of this resource. Provide this property when you
49030
+ # create the resource.
49031
+ # Corresponds to the JSON property `description`
49032
+ # @return [String]
49033
+ attr_accessor :description
49034
+
49035
+ # Output only. [Output Only] Whether this PDP supports enhanced IPv4 allocations.
49036
+ # Applicable for IPv4 PDPs only.
49037
+ # Corresponds to the JSON property `enableEnhancedIpv4Allocation`
49038
+ # @return [Boolean]
49039
+ attr_accessor :enable_enhanced_ipv4_allocation
49040
+ alias_method :enable_enhanced_ipv4_allocation?, :enable_enhanced_ipv4_allocation
49041
+
49042
+ # The IP address range, in CIDR format, represented by this sub public
49043
+ # delegated prefix.
49044
+ # Corresponds to the JSON property `ipCidrRange`
49045
+ # @return [String]
49046
+ attr_accessor :ip_cidr_range
49047
+
49048
+ # Output only. [Output Only] The internet access type for IPv6 Public Delegated
49049
+ # Sub
49050
+ # Prefixes. Inherited from parent prefix.
49051
+ # Corresponds to the JSON property `ipv6AccessType`
49052
+ # @return [String]
49053
+ attr_accessor :ipv6_access_type
49054
+
49055
+ # Whether the sub prefix is delegated to create Address resources in the
49056
+ # delegatee project.
49057
+ # Corresponds to the JSON property `isAddress`
49058
+ # @return [Boolean]
49059
+ attr_accessor :is_address
49060
+ alias_method :is_address?, :is_address
49061
+
49062
+ # The PublicDelegatedSubPrefix mode for IPv6 only.
49063
+ # Corresponds to the JSON property `mode`
49064
+ # @return [String]
49065
+ attr_accessor :mode
49066
+
49067
+ # The name of the sub public delegated prefix.
49068
+ # Corresponds to the JSON property `name`
49069
+ # @return [String]
49070
+ attr_accessor :name
49071
+
49072
+ # Output only. [Output Only] The region of the sub public delegated prefix if it
49073
+ # is
49074
+ # regional. If absent, the sub prefix is global.
49075
+ # Corresponds to the JSON property `region`
49076
+ # @return [String]
49077
+ attr_accessor :region
49078
+
49079
+ # Output only. [Output Only] The status of the sub public delegated prefix.
49080
+ # Corresponds to the JSON property `status`
49081
+ # @return [String]
49082
+ attr_accessor :status
49083
+
49084
+ def initialize(**args)
49085
+ update!(**args)
49086
+ end
49087
+
49088
+ # Update properties of this object
49089
+ def update!(**args)
49090
+ @allocatable_prefix_length = args[:allocatable_prefix_length] if args.key?(:allocatable_prefix_length)
49091
+ @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
49092
+ @description = args[:description] if args.key?(:description)
49093
+ @enable_enhanced_ipv4_allocation = args[:enable_enhanced_ipv4_allocation] if args.key?(:enable_enhanced_ipv4_allocation)
49094
+ @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
49095
+ @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
49096
+ @is_address = args[:is_address] if args.key?(:is_address)
49097
+ @mode = args[:mode] if args.key?(:mode)
49098
+ @name = args[:name] if args.key?(:name)
49099
+ @region = args[:region] if args.key?(:region)
49100
+ @status = args[:status] if args.key?(:status)
49101
+ end
49102
+ end
49103
+
49104
+ #
49105
+ class PublicDelegatedPrefixesScopedList
49106
+ include Google::Apis::Core::Hashable
49107
+
49108
+ # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
49109
+ # Corresponds to the JSON property `publicDelegatedPrefixes`
49110
+ # @return [Array<Google::Apis::ComputePreview::PublicDelegatedPrefix>]
49111
+ attr_accessor :public_delegated_prefixes
49112
+
49113
+ # [Output Only] Informational warning which replaces the list of
49114
+ # public delegated prefixes when the list is empty.
49115
+ # Corresponds to the JSON property `warning`
49116
+ # @return [Google::Apis::ComputePreview::PublicDelegatedPrefixesScopedList::Warning]
49117
+ attr_accessor :warning
49118
+
49119
+ def initialize(**args)
49120
+ update!(**args)
49121
+ end
49122
+
49123
+ # Update properties of this object
49124
+ def update!(**args)
49125
+ @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
49126
+ @warning = args[:warning] if args.key?(:warning)
49127
+ end
49128
+
49129
+ # [Output Only] Informational warning which replaces the list of
49130
+ # public delegated prefixes when the list is empty.
49131
+ class Warning
49132
+ include Google::Apis::Core::Hashable
49133
+
49134
+ # [Output Only] A warning code, if applicable. For example, Compute
49135
+ # Engine returns NO_RESULTS_ON_PAGE if there
49136
+ # are no results in the response.
49137
+ # Corresponds to the JSON property `code`
49138
+ # @return [String]
49139
+ attr_accessor :code
49140
+
49141
+ # [Output Only] Metadata about this warning in key:
49142
+ # value format. For example:
49143
+ # "data": [
49144
+ # `
49145
+ # "key": "scope",
49146
+ # "value": "zones/us-east1-d"
49147
+ # `]
49148
+ # Corresponds to the JSON property `data`
49149
+ # @return [Array<Google::Apis::ComputePreview::PublicDelegatedPrefixesScopedList::Warning::Datum>]
49150
+ attr_accessor :data
49151
+
49152
+ # [Output Only] A human-readable description of the warning code.
49153
+ # Corresponds to the JSON property `message`
49154
+ # @return [String]
49155
+ attr_accessor :message
49156
+
49157
+ def initialize(**args)
49158
+ update!(**args)
49159
+ end
49160
+
49161
+ # Update properties of this object
49162
+ def update!(**args)
49163
+ @code = args[:code] if args.key?(:code)
49164
+ @data = args[:data] if args.key?(:data)
49165
+ @message = args[:message] if args.key?(:message)
49166
+ end
49167
+
49168
+ #
49169
+ class Datum
49170
+ include Google::Apis::Core::Hashable
49171
+
49172
+ # [Output Only] A key that provides more detail on the warning being
49173
+ # returned. For example, for warnings where there are no results in a list
49174
+ # request for a particular zone, this key might be scope and
49175
+ # the key value might be the zone name. Other examples might be a key
49176
+ # indicating a deprecated resource and a suggested replacement, or a
49177
+ # warning about invalid network settings (for example, if an instance
49178
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
49179
+ # Corresponds to the JSON property `key`
49180
+ # @return [String]
49181
+ attr_accessor :key
49182
+
49183
+ # [Output Only] A warning data value corresponding to the key.
49184
+ # Corresponds to the JSON property `value`
49185
+ # @return [String]
49186
+ attr_accessor :value
49187
+
49188
+ def initialize(**args)
49189
+ update!(**args)
49190
+ end
49191
+
49192
+ # Update properties of this object
49193
+ def update!(**args)
49194
+ @key = args[:key] if args.key?(:key)
49195
+ @value = args[:value] if args.key?(:value)
49196
+ end
49197
+ end
49198
+ end
49199
+ end
49200
+
49201
+ # Query formability of a given set of reservation subblocks.
49202
+ class QueryFormabilityRequest
47791
49203
  include Google::Apis::Core::Hashable
47792
49204
 
47793
- # The allocatable prefix length supported by this PublicDelegatedSubPrefix.
47794
- # Corresponds to the JSON property `allocatablePrefixLength`
47795
- # @return [Fixnum]
47796
- attr_accessor :allocatable_prefix_length
47797
-
47798
- # Name of the project scoping this PublicDelegatedSubPrefix.
47799
- # Corresponds to the JSON property `delegateeProject`
47800
- # @return [String]
47801
- attr_accessor :delegatee_project
47802
-
47803
- # An optional description of this resource. Provide this property when you
47804
- # create the resource.
47805
- # Corresponds to the JSON property `description`
47806
- # @return [String]
47807
- attr_accessor :description
47808
-
47809
- # Output only. [Output Only] Whether this PDP supports enhanced IPv4 allocations.
47810
- # Applicable for IPv4 PDPs only.
47811
- # Corresponds to the JSON property `enableEnhancedIpv4Allocation`
47812
- # @return [Boolean]
47813
- attr_accessor :enable_enhanced_ipv4_allocation
47814
- alias_method :enable_enhanced_ipv4_allocation?, :enable_enhanced_ipv4_allocation
47815
-
47816
- # The IP address range, in CIDR format, represented by this sub public
47817
- # delegated prefix.
47818
- # Corresponds to the JSON property `ipCidrRange`
47819
- # @return [String]
47820
- attr_accessor :ip_cidr_range
47821
-
47822
- # Output only. [Output Only] The internet access type for IPv6 Public Delegated
47823
- # Sub
47824
- # Prefixes. Inherited from parent prefix.
47825
- # Corresponds to the JSON property `ipv6AccessType`
47826
- # @return [String]
47827
- attr_accessor :ipv6_access_type
47828
-
47829
- # Whether the sub prefix is delegated to create Address resources in the
47830
- # delegatee project.
47831
- # Corresponds to the JSON property `isAddress`
47832
- # @return [Boolean]
47833
- attr_accessor :is_address
47834
- alias_method :is_address?, :is_address
47835
-
47836
- # The PublicDelegatedSubPrefix mode for IPv6 only.
47837
- # Corresponds to the JSON property `mode`
47838
- # @return [String]
47839
- attr_accessor :mode
47840
-
47841
- # The name of the sub public delegated prefix.
47842
- # Corresponds to the JSON property `name`
47843
- # @return [String]
47844
- attr_accessor :name
47845
-
47846
- # Output only. [Output Only] The region of the sub public delegated prefix if it
47847
- # is
47848
- # regional. If absent, the sub prefix is global.
47849
- # Corresponds to the JSON property `region`
47850
- # @return [String]
47851
- attr_accessor :region
47852
-
47853
- # Output only. [Output Only] The status of the sub public delegated prefix.
47854
- # Corresponds to the JSON property `status`
47855
- # @return [String]
47856
- attr_accessor :status
49205
+ # Explicit list of fully qualified reservation subblock resource URLs. Both
49206
+ # full and relative URIs are supported.
49207
+ # Corresponds to the JSON property `subblocks`
49208
+ # @return [Array<String>]
49209
+ attr_accessor :subblocks
47857
49210
 
47858
49211
  def initialize(**args)
47859
49212
  update!(**args)
@@ -47861,141 +49214,29 @@ module Google
47861
49214
 
47862
49215
  # Update properties of this object
47863
49216
  def update!(**args)
47864
- @allocatable_prefix_length = args[:allocatable_prefix_length] if args.key?(:allocatable_prefix_length)
47865
- @delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
47866
- @description = args[:description] if args.key?(:description)
47867
- @enable_enhanced_ipv4_allocation = args[:enable_enhanced_ipv4_allocation] if args.key?(:enable_enhanced_ipv4_allocation)
47868
- @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
47869
- @ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
47870
- @is_address = args[:is_address] if args.key?(:is_address)
47871
- @mode = args[:mode] if args.key?(:mode)
47872
- @name = args[:name] if args.key?(:name)
47873
- @region = args[:region] if args.key?(:region)
47874
- @status = args[:status] if args.key?(:status)
49217
+ @subblocks = args[:subblocks] if args.key?(:subblocks)
47875
49218
  end
47876
49219
  end
47877
49220
 
47878
- #
47879
- class PublicDelegatedPrefixesScopedList
49221
+ # Response message for AcceleratorInterconnects.QueryFormability.
49222
+ class QueryFormabilityResponse
47880
49223
  include Google::Apis::Core::Hashable
47881
49224
 
47882
- # [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
47883
- # Corresponds to the JSON property `publicDelegatedPrefixes`
47884
- # @return [Array<Google::Apis::ComputePreview::PublicDelegatedPrefix>]
47885
- attr_accessor :public_delegated_prefixes
47886
-
47887
- # [Output Only] Informational warning which replaces the list of
47888
- # public delegated prefixes when the list is empty.
47889
- # Corresponds to the JSON property `warning`
47890
- # @return [Google::Apis::ComputePreview::PublicDelegatedPrefixesScopedList::Warning]
47891
- attr_accessor :warning
47892
-
47893
- def initialize(**args)
47894
- update!(**args)
47895
- end
47896
-
47897
- # Update properties of this object
47898
- def update!(**args)
47899
- @public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
47900
- @warning = args[:warning] if args.key?(:warning)
47901
- end
47902
-
47903
- # [Output Only] Informational warning which replaces the list of
47904
- # public delegated prefixes when the list is empty.
47905
- class Warning
47906
- include Google::Apis::Core::Hashable
47907
-
47908
- # [Output Only] A warning code, if applicable. For example, Compute
47909
- # Engine returns NO_RESULTS_ON_PAGE if there
47910
- # are no results in the response.
47911
- # Corresponds to the JSON property `code`
47912
- # @return [String]
47913
- attr_accessor :code
47914
-
47915
- # [Output Only] Metadata about this warning in key:
47916
- # value format. For example:
47917
- # "data": [
47918
- # `
47919
- # "key": "scope",
47920
- # "value": "zones/us-east1-d"
47921
- # `]
47922
- # Corresponds to the JSON property `data`
47923
- # @return [Array<Google::Apis::ComputePreview::PublicDelegatedPrefixesScopedList::Warning::Datum>]
47924
- attr_accessor :data
47925
-
47926
- # [Output Only] A human-readable description of the warning code.
47927
- # Corresponds to the JSON property `message`
47928
- # @return [String]
47929
- attr_accessor :message
47930
-
47931
- def initialize(**args)
47932
- update!(**args)
47933
- end
47934
-
47935
- # Update properties of this object
47936
- def update!(**args)
47937
- @code = args[:code] if args.key?(:code)
47938
- @data = args[:data] if args.key?(:data)
47939
- @message = args[:message] if args.key?(:message)
47940
- end
47941
-
47942
- #
47943
- class Datum
47944
- include Google::Apis::Core::Hashable
47945
-
47946
- # [Output Only] A key that provides more detail on the warning being
47947
- # returned. For example, for warnings where there are no results in a list
47948
- # request for a particular zone, this key might be scope and
47949
- # the key value might be the zone name. Other examples might be a key
47950
- # indicating a deprecated resource and a suggested replacement, or a
47951
- # warning about invalid network settings (for example, if an instance
47952
- # attempts to perform IP forwarding but is not enabled for IP forwarding).
47953
- # Corresponds to the JSON property `key`
47954
- # @return [String]
47955
- attr_accessor :key
47956
-
47957
- # [Output Only] A warning data value corresponding to the key.
47958
- # Corresponds to the JSON property `value`
47959
- # @return [String]
47960
- attr_accessor :value
47961
-
47962
- def initialize(**args)
47963
- update!(**args)
47964
- end
47965
-
47966
- # Update properties of this object
47967
- def update!(**args)
47968
- @key = args[:key] if args.key?(:key)
47969
- @value = args[:value] if args.key?(:value)
47970
- end
47971
- end
47972
- end
47973
- end
47974
-
47975
- # A quotas entry.
47976
- class Quota
47977
- include Google::Apis::Core::Hashable
47978
-
47979
- # [Output Only] Quota limit for this metric.
47980
- # Corresponds to the JSON property `limit`
47981
- # @return [Float]
47982
- attr_accessor :limit
47983
-
47984
- # [Output Only] Name of the quota metric.
47985
- # Corresponds to the JSON property `metric`
47986
- # @return [String]
47987
- attr_accessor :metric
49225
+ # Flattened collection of hierarchical partitions and their formability
49226
+ # across all requested subblocks.
49227
+ # Corresponds to the JSON property `items`
49228
+ # @return [Array<Google::Apis::ComputePreview::PartitionFormability>]
49229
+ attr_accessor :items
47988
49230
 
47989
- # [Output Only] Owning resource. This is the resource on which this quota
47990
- # is applied.
47991
- # Corresponds to the JSON property `owner`
49231
+ # This token allows you to get the next page of results for
49232
+ # list requests. If the number of results is larger thanmaxResults, use the
49233
+ # nextPageToken as a value for
49234
+ # the query parameter pageToken in the next list request.
49235
+ # Subsequent list requests will have their own nextPageToken to
49236
+ # continue paging through the results.
49237
+ # Corresponds to the JSON property `nextPageToken`
47992
49238
  # @return [String]
47993
- attr_accessor :owner
47994
-
47995
- # [Output Only] Current usage of this metric.
47996
- # Corresponds to the JSON property `usage`
47997
- # @return [Float]
47998
- attr_accessor :usage
49239
+ attr_accessor :next_page_token
47999
49240
 
48000
49241
  def initialize(**args)
48001
49242
  update!(**args)
@@ -48003,10 +49244,8 @@ module Google
48003
49244
 
48004
49245
  # Update properties of this object
48005
49246
  def update!(**args)
48006
- @limit = args[:limit] if args.key?(:limit)
48007
- @metric = args[:metric] if args.key?(:metric)
48008
- @owner = args[:owner] if args.key?(:owner)
48009
- @usage = args[:usage] if args.key?(:usage)
49247
+ @items = args[:items] if args.key?(:items)
49248
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
48010
49249
  end
48011
49250
  end
48012
49251
 
@@ -48200,11 +49439,6 @@ module Google
48200
49439
  # @return [Google::Apis::ComputePreview::Region::QuotaStatusWarning]
48201
49440
  attr_accessor :quota_status_warning
48202
49441
 
48203
- # [Output Only] Quotas assigned to this region.
48204
- # Corresponds to the JSON property `quotas`
48205
- # @return [Array<Google::Apis::ComputePreview::Quota>]
48206
- attr_accessor :quotas
48207
-
48208
49442
  # [Output Only] Server-defined URL for the resource.
48209
49443
  # Corresponds to the JSON property `selfLink`
48210
49444
  # @return [String]
@@ -48240,7 +49474,6 @@ module Google
48240
49474
  @kind = args[:kind] if args.key?(:kind)
48241
49475
  @name = args[:name] if args.key?(:name)
48242
49476
  @quota_status_warning = args[:quota_status_warning] if args.key?(:quota_status_warning)
48243
- @quotas = args[:quotas] if args.key?(:quotas)
48244
49477
  @self_link = args[:self_link] if args.key?(:self_link)
48245
49478
  @status = args[:status] if args.key?(:status)
48246
49479
  @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
@@ -51024,6 +52257,14 @@ module Google
51024
52257
  # @return [String]
51025
52258
  attr_accessor :kind
51026
52259
 
52260
+ # Output only. [Output Only] The number of machines in the reservation block.
52261
+ # Only
52262
+ # populated for families where machine to host ratio is not 1:1 such as
52263
+ # TPU8i.
52264
+ # Corresponds to the JSON property `machineCount`
52265
+ # @return [Fixnum]
52266
+ attr_accessor :machine_count
52267
+
51027
52268
  # Output only. [Output Only] The name of this reservation block generated by
51028
52269
  # Google
51029
52270
  # Compute Engine. The name must be 1-63 characters long, and comply with
@@ -51093,6 +52334,7 @@ module Google
51093
52334
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
51094
52335
  @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
51095
52336
  @kind = args[:kind] if args.key?(:kind)
52337
+ @machine_count = args[:machine_count] if args.key?(:machine_count)
51096
52338
  @name = args[:name] if args.key?(:name)
51097
52339
  @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
51098
52340
  @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
@@ -51270,6 +52512,12 @@ module Google
51270
52512
  # @return [String]
51271
52513
  attr_accessor :host
51272
52514
 
52515
+ # Machine hash for a given instance. Only populated for families where
52516
+ # machine-to-host ratio is not 1:1 such as TPU8i.
52517
+ # Corresponds to the JSON property `machine`
52518
+ # @return [String]
52519
+ attr_accessor :machine
52520
+
51273
52521
  # Sub block hash for a given instance
51274
52522
  # Corresponds to the JSON property `subBlock`
51275
52523
  # @return [String]
@@ -51282,6 +52530,7 @@ module Google
51282
52530
  # Update properties of this object
51283
52531
  def update!(**args)
51284
52532
  @host = args[:host] if args.key?(:host)
52533
+ @machine = args[:machine] if args.key?(:machine)
51285
52534
  @sub_block = args[:sub_block] if args.key?(:sub_block)
51286
52535
  end
51287
52536
  end
@@ -51949,6 +53198,14 @@ module Google
51949
53198
  # @return [String]
51950
53199
  attr_accessor :kind
51951
53200
 
53201
+ # Output only. [Output Only] The number of machines in the reservation subBlock.
53202
+ # Only
53203
+ # populated for families where machine to host ratio is not 1:1 such as
53204
+ # TPU8i.
53205
+ # Corresponds to the JSON property `machineCount`
53206
+ # @return [Fixnum]
53207
+ attr_accessor :machine_count
53208
+
51952
53209
  # Output only. [Output Only] The name of this reservation subBlock generated by
51953
53210
  # Google
51954
53211
  # Compute Engine. The name must be 1-63 characters long, and comply with
@@ -52008,6 +53265,7 @@ module Google
52008
53265
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
52009
53266
  @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
52010
53267
  @kind = args[:kind] if args.key?(:kind)
53268
+ @machine_count = args[:machine_count] if args.key?(:machine_count)
52011
53269
  @name = args[:name] if args.key?(:name)
52012
53270
  @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
52013
53271
  @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance)
@@ -53845,6 +55103,13 @@ module Google
53845
55103
  # @return [String]
53846
55104
  attr_accessor :graceful_shutdown_timestamp
53847
55105
 
55106
+ # Output only. Protection tier for the workload which specifies the workload
55107
+ # expectations in the event of infrastructure failures at data center
55108
+ # (e.g. power and/or cooling failures).
55109
+ # Corresponds to the JSON property `protectionTier`
55110
+ # @return [String]
55111
+ attr_accessor :protection_tier
55112
+
53848
55113
  # Time in future when the instance will be terminated inRFC3339 text format.
53849
55114
  # Corresponds to the JSON property `terminationTimestamp`
53850
55115
  # @return [String]
@@ -53858,6 +55123,7 @@ module Google
53858
55123
  def update!(**args)
53859
55124
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
53860
55125
  @graceful_shutdown_timestamp = args[:graceful_shutdown_timestamp] if args.key?(:graceful_shutdown_timestamp)
55126
+ @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
53861
55127
  @termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
53862
55128
  end
53863
55129
  end
@@ -56989,6 +58255,13 @@ module Google
56989
58255
  # @return [Google::Apis::ComputePreview::BfdStatus]
56990
58256
  attr_accessor :bfd_status
56991
58257
 
58258
+ # Output only. [Output Only] Indicates whether the BGP peer is in a
58259
+ # depreferenced state.
58260
+ # Corresponds to the JSON property `depreferenced`
58261
+ # @return [Boolean]
58262
+ attr_accessor :depreferenced
58263
+ alias_method :depreferenced?, :depreferenced
58264
+
56992
58265
  # Output only. Enable IPv4 traffic over BGP Peer.
56993
58266
  # It is enabled by default if the peerIpAddress is version 4.
56994
58267
  # Corresponds to the JSON property `enableIpv4`
@@ -57102,6 +58375,7 @@ module Google
57102
58375
  def update!(**args)
57103
58376
  @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
57104
58377
  @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
58378
+ @depreferenced = args[:depreferenced] if args.key?(:depreferenced)
57105
58379
  @enable_ipv4 = args[:enable_ipv4] if args.key?(:enable_ipv4)
57106
58380
  @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
57107
58381
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -58264,6 +59538,13 @@ module Google
58264
59538
  # @return [Google::Apis::ComputePreview::Duration]
58265
59539
  attr_accessor :preemption_notice_duration
58266
59540
 
59541
+ # Protection tier for the workload which specifies the workload
59542
+ # expectations in the event of infrastructure failures at data center
59543
+ # (e.g. power and/or cooling failures).
59544
+ # Corresponds to the JSON property `protectionTier`
59545
+ # @return [String]
59546
+ attr_accessor :protection_tier
59547
+
58267
59548
  # Specifies the provisioning model of the instance.
58268
59549
  # Corresponds to the JSON property `provisioningModel`
58269
59550
  # @return [String]
@@ -58305,6 +59586,7 @@ module Google
58305
59586
  @on_instance_stop_action = args[:on_instance_stop_action] if args.key?(:on_instance_stop_action)
58306
59587
  @preemptible = args[:preemptible] if args.key?(:preemptible)
58307
59588
  @preemption_notice_duration = args[:preemption_notice_duration] if args.key?(:preemption_notice_duration)
59589
+ @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
58308
59590
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
58309
59591
  @skip_guest_os_shutdown = args[:skip_guest_os_shutdown] if args.key?(:skip_guest_os_shutdown)
58310
59592
  @termination_time = args[:termination_time] if args.key?(:termination_time)
@@ -58789,6 +60071,11 @@ module Google
58789
60071
  # @return [String]
58790
60072
  attr_accessor :name
58791
60073
 
60074
+ # Additional security policy parameters.
60075
+ # Corresponds to the JSON property `params`
60076
+ # @return [Google::Apis::ComputePreview::SecurityPolicyParams]
60077
+ attr_accessor :params
60078
+
58792
60079
  # Output only. [Output Only] The parent of the security policy.
58793
60080
  # Corresponds to the JSON property `parent`
58794
60081
  # @return [String]
@@ -58892,6 +60179,7 @@ module Google
58892
60179
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
58893
60180
  @labels = args[:labels] if args.key?(:labels)
58894
60181
  @name = args[:name] if args.key?(:name)
60182
+ @params = args[:params] if args.key?(:params)
58895
60183
  @parent = args[:parent] if args.key?(:parent)
58896
60184
  @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
58897
60185
  @region = args[:region] if args.key?(:region)
@@ -59360,6 +60648,38 @@ module Google
59360
60648
  end
59361
60649
  end
59362
60650
 
60651
+ # Additional security policy parameters.
60652
+ class SecurityPolicyParams
60653
+ include Google::Apis::Core::Hashable
60654
+
60655
+ # Tag keys/values directly bound to this resource.
60656
+ # Tag keys and values have the same definition as resource
60657
+ # manager tags. The field is allowed for INSERT
60658
+ # only. The keys/values to set on the resource should be specified in
60659
+ # either ID ` : ` or Namespaced format
60660
+ # ` : `.
60661
+ # For example the following are valid inputs:
60662
+ # * `"tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"`
60663
+ # * `"123/environment" : "production", "345/abc" : "xyz"`
60664
+ # Note:
60665
+ # * Invalid combinations of ID & namespaced format is not supported. For
60666
+ # instance: `"123/environment" : "tagValues/444"` is invalid.
60667
+ # * Inconsistent format is not supported. For instance:
60668
+ # `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
60669
+ # Corresponds to the JSON property `resourceManagerTags`
60670
+ # @return [Hash<String,String>]
60671
+ attr_accessor :resource_manager_tags
60672
+
60673
+ def initialize(**args)
60674
+ update!(**args)
60675
+ end
60676
+
60677
+ # Update properties of this object
60678
+ def update!(**args)
60679
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
60680
+ end
60681
+ end
60682
+
59363
60683
  #
59364
60684
  class SecurityPolicyRecaptchaOptionsConfig
59365
60685
  include Google::Apis::Core::Hashable
@@ -62630,6 +63950,17 @@ module Google
62630
63950
  # @return [String]
62631
63951
  attr_accessor :certificate
62632
63952
 
63953
+ # A value read into memory from a write-only private key file whose
63954
+ # contents have been encrypted using the appropriate HPKE key distributed
63955
+ # by Google. The underlying plaintext MUST be a PEM format private key. For
63956
+ # security, only insert requests include this field. Exactly
63957
+ # one of privateKey or encryptedPemPrivateKey
63958
+ # MUST be specified when creating a self-managed certificate.
63959
+ # Corresponds to the JSON property `encryptedPemPrivateKey`
63960
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
63961
+ # @return [String]
63962
+ attr_accessor :encrypted_pem_private_key
63963
+
62633
63964
  # A write-only private key in PEM format. Only insert
62634
63965
  # requests will include this field.
62635
63966
  # Corresponds to the JSON property `privateKey`
@@ -62643,6 +63974,7 @@ module Google
62643
63974
  # Update properties of this object
62644
63975
  def update!(**args)
62645
63976
  @certificate = args[:certificate] if args.key?(:certificate)
63977
+ @encrypted_pem_private_key = args[:encrypted_pem_private_key] if args.key?(:encrypted_pem_private_key)
62646
63978
  @private_key = args[:private_key] if args.key?(:private_key)
62647
63979
  end
62648
63980
  end