google-apis-compute_v1 0.90.0 → 0.92.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1770,6 +1770,15 @@ module Google
1770
1770
  # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
1771
1771
  attr_accessor :source_snapshot_encryption_key
1772
1772
 
1773
+ # The storage pool in which the new disk is created. You can provide this as a
1774
+ # partial or full URL to the resource. For example, the following are valid
1775
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
1776
+ # storagePools/storagePool - projects/project/zones/zone/storagePools/
1777
+ # storagePool - zones/zone/storagePools/storagePool
1778
+ # Corresponds to the JSON property `storagePool`
1779
+ # @return [String]
1780
+ attr_accessor :storage_pool
1781
+
1773
1782
  def initialize(**args)
1774
1783
  update!(**args)
1775
1784
  end
@@ -1794,6 +1803,7 @@ module Google
1794
1803
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
1795
1804
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
1796
1805
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
1806
+ @storage_pool = args[:storage_pool] if args.key?(:storage_pool)
1797
1807
  end
1798
1808
  end
1799
1809
 
@@ -6097,10 +6107,10 @@ module Google
6097
6107
  attr_accessor :allow_methods
6098
6108
 
6099
6109
  # Specifies a regular expression that matches allowed origins. For more
6100
- # information about the regular expression syntax, see Syntax. An origin is
6101
- # allowed if it matches either an item in allowOrigins or an item in
6102
- # allowOriginRegexes. Regular expressions can only be used when the
6103
- # loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
6110
+ # information, see regular expression syntax . An origin is allowed if it
6111
+ # matches either an item in allowOrigins or an item in allowOriginRegexes.
6112
+ # Regular expressions can only be used when the loadBalancingScheme is set to
6113
+ # INTERNAL_SELF_MANAGED.
6104
6114
  # Corresponds to the JSON property `allowOriginRegexes`
6105
6115
  # @return [Array<String>]
6106
6116
  attr_accessor :allow_origin_regexes
@@ -6112,8 +6122,8 @@ module Google
6112
6122
  # @return [Array<String>]
6113
6123
  attr_accessor :allow_origins
6114
6124
 
6115
- # If true, the setting specifies the CORS policy is disabled. The default value
6116
- # of false, which indicates that the CORS policy is in effect.
6125
+ # If true, disables the CORS policy. The default value is false, which indicates
6126
+ # that the CORS policy is in effect.
6117
6127
  # Corresponds to the JSON property `disabled`
6118
6128
  # @return [Boolean]
6119
6129
  attr_accessor :disabled
@@ -6629,6 +6639,15 @@ module Google
6629
6639
  # @return [String]
6630
6640
  attr_accessor :status
6631
6641
 
6642
+ # The storage pool in which the new disk is created. You can provide this as a
6643
+ # partial or full URL to the resource. For example, the following are valid
6644
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
6645
+ # storagePools/storagePool - projects/project/zones/zone/storagePools/
6646
+ # storagePool - zones/zone/storagePools/storagePool
6647
+ # Corresponds to the JSON property `storagePool`
6648
+ # @return [String]
6649
+ attr_accessor :storage_pool
6650
+
6632
6651
  # URL of the disk type resource describing which disk type to use to create the
6633
6652
  # disk. Provide this when creating the disk. For example: projects/project /
6634
6653
  # zones/zone/diskTypes/pd-ssd . See Persistent disk types.
@@ -6700,6 +6719,7 @@ module Google
6700
6719
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
6701
6720
  @source_storage_object = args[:source_storage_object] if args.key?(:source_storage_object)
6702
6721
  @status = args[:status] if args.key?(:status)
6722
+ @storage_pool = args[:storage_pool] if args.key?(:storage_pool)
6703
6723
  @type = args[:type] if args.key?(:type)
6704
6724
  @users = args[:users] if args.key?(:users)
6705
6725
  @zone = args[:zone] if args.key?(:zone)
@@ -10661,7 +10681,7 @@ module Google
10661
10681
  # The ID of a supported feature. To add multiple values, use commas to separate
10662
10682
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
10663
10683
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
10664
- # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE -
10684
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
10665
10685
  # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
10666
10686
  # features.
10667
10687
  # Corresponds to the JSON property `type`
@@ -15128,6 +15148,494 @@ module Google
15128
15148
  end
15129
15149
  end
15130
15150
 
15151
+ # InstanceGroupManagerResizeRequest represents a request to create a number of
15152
+ # VMs: either immediately or by queuing the request for the specified time. This
15153
+ # resize request is nested under InstanceGroupManager and the VMs created by
15154
+ # this request are added to the owning InstanceGroupManager.
15155
+ class InstanceGroupManagerResizeRequest
15156
+ include Google::Apis::Core::Hashable
15157
+
15158
+ # [Output Only] The creation timestamp for this resize request in RFC3339 text
15159
+ # format.
15160
+ # Corresponds to the JSON property `creationTimestamp`
15161
+ # @return [String]
15162
+ attr_accessor :creation_timestamp
15163
+
15164
+ # An optional description of this resource.
15165
+ # Corresponds to the JSON property `description`
15166
+ # @return [String]
15167
+ attr_accessor :description
15168
+
15169
+ # [Output Only] A unique identifier for this resource type. The server generates
15170
+ # this identifier.
15171
+ # Corresponds to the JSON property `id`
15172
+ # @return [Fixnum]
15173
+ attr_accessor :id
15174
+
15175
+ # [Output Only] The resource type, which is always compute#
15176
+ # instanceGroupManagerResizeRequest for resize requests.
15177
+ # Corresponds to the JSON property `kind`
15178
+ # @return [String]
15179
+ attr_accessor :kind
15180
+
15181
+ # The name of this resize request. The name must be 1-63 characters long, and
15182
+ # comply with RFC1035.
15183
+ # Corresponds to the JSON property `name`
15184
+ # @return [String]
15185
+ attr_accessor :name
15186
+
15187
+ # A Duration represents a fixed-length span of time represented as a count of
15188
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
15189
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
15190
+ # 000 years.
15191
+ # Corresponds to the JSON property `requestedRunDuration`
15192
+ # @return [Google::Apis::ComputeV1::Duration]
15193
+ attr_accessor :requested_run_duration
15194
+
15195
+ # The number of instances to be created by this resize request. The group's
15196
+ # target size will be increased by this number.
15197
+ # Corresponds to the JSON property `resizeBy`
15198
+ # @return [Fixnum]
15199
+ attr_accessor :resize_by
15200
+
15201
+ # [Output Only] The URL for this resize request. The server defines this URL.
15202
+ # Corresponds to the JSON property `selfLink`
15203
+ # @return [String]
15204
+ attr_accessor :self_link
15205
+
15206
+ # [Output Only] Server-defined URL for this resource with the resource id.
15207
+ # Corresponds to the JSON property `selfLinkWithId`
15208
+ # @return [String]
15209
+ attr_accessor :self_link_with_id
15210
+
15211
+ # [Output only] Current state of the request.
15212
+ # Corresponds to the JSON property `state`
15213
+ # @return [String]
15214
+ attr_accessor :state
15215
+
15216
+ # [Output only] Status of the request.
15217
+ # Corresponds to the JSON property `status`
15218
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus]
15219
+ attr_accessor :status
15220
+
15221
+ # [Output Only] The URL of a zone where the resize request is located. Populated
15222
+ # only for zonal resize requests.
15223
+ # Corresponds to the JSON property `zone`
15224
+ # @return [String]
15225
+ attr_accessor :zone
15226
+
15227
+ def initialize(**args)
15228
+ update!(**args)
15229
+ end
15230
+
15231
+ # Update properties of this object
15232
+ def update!(**args)
15233
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
15234
+ @description = args[:description] if args.key?(:description)
15235
+ @id = args[:id] if args.key?(:id)
15236
+ @kind = args[:kind] if args.key?(:kind)
15237
+ @name = args[:name] if args.key?(:name)
15238
+ @requested_run_duration = args[:requested_run_duration] if args.key?(:requested_run_duration)
15239
+ @resize_by = args[:resize_by] if args.key?(:resize_by)
15240
+ @self_link = args[:self_link] if args.key?(:self_link)
15241
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
15242
+ @state = args[:state] if args.key?(:state)
15243
+ @status = args[:status] if args.key?(:status)
15244
+ @zone = args[:zone] if args.key?(:zone)
15245
+ end
15246
+ end
15247
+
15248
+ #
15249
+ class InstanceGroupManagerResizeRequestStatus
15250
+ include Google::Apis::Core::Hashable
15251
+
15252
+ # [Output only] Fatal errors encountered during the queueing or provisioning
15253
+ # phases of the ResizeRequest that caused the transition to the FAILED state.
15254
+ # Contrary to the last_attempt errors, this field is final and errors are never
15255
+ # removed from here, as the ResizeRequest is not going to retry.
15256
+ # Corresponds to the JSON property `error`
15257
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error]
15258
+ attr_accessor :error
15259
+
15260
+ # [Output only] Information about the last attempt to fulfill the request. The
15261
+ # value is temporary since the ResizeRequest can retry, as long as it's still
15262
+ # active and the last attempt value can either be cleared or replaced with a
15263
+ # different error. Since ResizeRequest retries infrequently, the value may be
15264
+ # stale and no longer show an active problem. The value is cleared when
15265
+ # ResizeRequest transitions to the final state (becomes inactive). If the final
15266
+ # state is FAILED the error describing it will be storred in the "error" field
15267
+ # only.
15268
+ # Corresponds to the JSON property `lastAttempt`
15269
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt]
15270
+ attr_accessor :last_attempt
15271
+
15272
+ def initialize(**args)
15273
+ update!(**args)
15274
+ end
15275
+
15276
+ # Update properties of this object
15277
+ def update!(**args)
15278
+ @error = args[:error] if args.key?(:error)
15279
+ @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
15280
+ end
15281
+
15282
+ # [Output only] Fatal errors encountered during the queueing or provisioning
15283
+ # phases of the ResizeRequest that caused the transition to the FAILED state.
15284
+ # Contrary to the last_attempt errors, this field is final and errors are never
15285
+ # removed from here, as the ResizeRequest is not going to retry.
15286
+ class Error
15287
+ include Google::Apis::Core::Hashable
15288
+
15289
+ # [Output Only] The array of errors encountered while processing this operation.
15290
+ # Corresponds to the JSON property `errors`
15291
+ # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error::Error>]
15292
+ attr_accessor :errors
15293
+
15294
+ def initialize(**args)
15295
+ update!(**args)
15296
+ end
15297
+
15298
+ # Update properties of this object
15299
+ def update!(**args)
15300
+ @errors = args[:errors] if args.key?(:errors)
15301
+ end
15302
+
15303
+ #
15304
+ class Error
15305
+ include Google::Apis::Core::Hashable
15306
+
15307
+ # [Output Only] The error type identifier for this error.
15308
+ # Corresponds to the JSON property `code`
15309
+ # @return [String]
15310
+ attr_accessor :code
15311
+
15312
+ # [Output Only] An optional list of messages that contain the error details.
15313
+ # There is a set of defined message types to use for providing details.The
15314
+ # syntax depends on the error code. For example, QuotaExceededInfo will have
15315
+ # details when the error code is QUOTA_EXCEEDED.
15316
+ # Corresponds to the JSON property `errorDetails`
15317
+ # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatus::Error::Error::ErrorDetail>]
15318
+ attr_accessor :error_details
15319
+
15320
+ # [Output Only] Indicates the field in the request that caused the error. This
15321
+ # property is optional.
15322
+ # Corresponds to the JSON property `location`
15323
+ # @return [String]
15324
+ attr_accessor :location
15325
+
15326
+ # [Output Only] An optional, human-readable error message.
15327
+ # Corresponds to the JSON property `message`
15328
+ # @return [String]
15329
+ attr_accessor :message
15330
+
15331
+ def initialize(**args)
15332
+ update!(**args)
15333
+ end
15334
+
15335
+ # Update properties of this object
15336
+ def update!(**args)
15337
+ @code = args[:code] if args.key?(:code)
15338
+ @error_details = args[:error_details] if args.key?(:error_details)
15339
+ @location = args[:location] if args.key?(:location)
15340
+ @message = args[:message] if args.key?(:message)
15341
+ end
15342
+
15343
+ #
15344
+ class ErrorDetail
15345
+ include Google::Apis::Core::Hashable
15346
+
15347
+ # Describes the cause of the error with structured details. Example of an error
15348
+ # when contacting the "pubsub.googleapis.com" API when it is not enabled: ` "
15349
+ # reason": "API_DISABLED" "domain": "googleapis.com" "metadata": ` "resource": "
15350
+ # projects/123", "service": "pubsub.googleapis.com" ` ` This response indicates
15351
+ # that the pubsub.googleapis.com API is not enabled. Example of an error that is
15352
+ # returned when attempting to create a Spanner instance in a region that is out
15353
+ # of stock: ` "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata"
15354
+ # : ` "availableRegions": "us-central1,us-east2" ` `
15355
+ # Corresponds to the JSON property `errorInfo`
15356
+ # @return [Google::Apis::ComputeV1::ErrorInfo]
15357
+ attr_accessor :error_info
15358
+
15359
+ # Provides links to documentation or for performing an out of band action. For
15360
+ # example, if a quota check failed with an error indicating the calling project
15361
+ # hasn't enabled the accessed service, this can contain a URL pointing directly
15362
+ # to the right place in the developer console to flip the bit.
15363
+ # Corresponds to the JSON property `help`
15364
+ # @return [Google::Apis::ComputeV1::Help]
15365
+ attr_accessor :help
15366
+
15367
+ # Provides a localized error message that is safe to return to the user which
15368
+ # can be attached to an RPC error.
15369
+ # Corresponds to the JSON property `localizedMessage`
15370
+ # @return [Google::Apis::ComputeV1::LocalizedMessage]
15371
+ attr_accessor :localized_message
15372
+
15373
+ # Additional details for quota exceeded error for resource quota.
15374
+ # Corresponds to the JSON property `quotaInfo`
15375
+ # @return [Google::Apis::ComputeV1::QuotaExceededInfo]
15376
+ attr_accessor :quota_info
15377
+
15378
+ def initialize(**args)
15379
+ update!(**args)
15380
+ end
15381
+
15382
+ # Update properties of this object
15383
+ def update!(**args)
15384
+ @error_info = args[:error_info] if args.key?(:error_info)
15385
+ @help = args[:help] if args.key?(:help)
15386
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
15387
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
15388
+ end
15389
+ end
15390
+ end
15391
+ end
15392
+ end
15393
+
15394
+ #
15395
+ class InstanceGroupManagerResizeRequestStatusLastAttempt
15396
+ include Google::Apis::Core::Hashable
15397
+
15398
+ # Errors that prevented the ResizeRequest to be fulfilled.
15399
+ # Corresponds to the JSON property `error`
15400
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error]
15401
+ attr_accessor :error
15402
+
15403
+ def initialize(**args)
15404
+ update!(**args)
15405
+ end
15406
+
15407
+ # Update properties of this object
15408
+ def update!(**args)
15409
+ @error = args[:error] if args.key?(:error)
15410
+ end
15411
+
15412
+ # Errors that prevented the ResizeRequest to be fulfilled.
15413
+ class Error
15414
+ include Google::Apis::Core::Hashable
15415
+
15416
+ # [Output Only] The array of errors encountered while processing this operation.
15417
+ # Corresponds to the JSON property `errors`
15418
+ # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error::Error>]
15419
+ attr_accessor :errors
15420
+
15421
+ def initialize(**args)
15422
+ update!(**args)
15423
+ end
15424
+
15425
+ # Update properties of this object
15426
+ def update!(**args)
15427
+ @errors = args[:errors] if args.key?(:errors)
15428
+ end
15429
+
15430
+ #
15431
+ class Error
15432
+ include Google::Apis::Core::Hashable
15433
+
15434
+ # [Output Only] The error type identifier for this error.
15435
+ # Corresponds to the JSON property `code`
15436
+ # @return [String]
15437
+ attr_accessor :code
15438
+
15439
+ # [Output Only] An optional list of messages that contain the error details.
15440
+ # There is a set of defined message types to use for providing details.The
15441
+ # syntax depends on the error code. For example, QuotaExceededInfo will have
15442
+ # details when the error code is QUOTA_EXCEEDED.
15443
+ # Corresponds to the JSON property `errorDetails`
15444
+ # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestStatusLastAttempt::Error::Error::ErrorDetail>]
15445
+ attr_accessor :error_details
15446
+
15447
+ # [Output Only] Indicates the field in the request that caused the error. This
15448
+ # property is optional.
15449
+ # Corresponds to the JSON property `location`
15450
+ # @return [String]
15451
+ attr_accessor :location
15452
+
15453
+ # [Output Only] An optional, human-readable error message.
15454
+ # Corresponds to the JSON property `message`
15455
+ # @return [String]
15456
+ attr_accessor :message
15457
+
15458
+ def initialize(**args)
15459
+ update!(**args)
15460
+ end
15461
+
15462
+ # Update properties of this object
15463
+ def update!(**args)
15464
+ @code = args[:code] if args.key?(:code)
15465
+ @error_details = args[:error_details] if args.key?(:error_details)
15466
+ @location = args[:location] if args.key?(:location)
15467
+ @message = args[:message] if args.key?(:message)
15468
+ end
15469
+
15470
+ #
15471
+ class ErrorDetail
15472
+ include Google::Apis::Core::Hashable
15473
+
15474
+ # Describes the cause of the error with structured details. Example of an error
15475
+ # when contacting the "pubsub.googleapis.com" API when it is not enabled: ` "
15476
+ # reason": "API_DISABLED" "domain": "googleapis.com" "metadata": ` "resource": "
15477
+ # projects/123", "service": "pubsub.googleapis.com" ` ` This response indicates
15478
+ # that the pubsub.googleapis.com API is not enabled. Example of an error that is
15479
+ # returned when attempting to create a Spanner instance in a region that is out
15480
+ # of stock: ` "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata"
15481
+ # : ` "availableRegions": "us-central1,us-east2" ` `
15482
+ # Corresponds to the JSON property `errorInfo`
15483
+ # @return [Google::Apis::ComputeV1::ErrorInfo]
15484
+ attr_accessor :error_info
15485
+
15486
+ # Provides links to documentation or for performing an out of band action. For
15487
+ # example, if a quota check failed with an error indicating the calling project
15488
+ # hasn't enabled the accessed service, this can contain a URL pointing directly
15489
+ # to the right place in the developer console to flip the bit.
15490
+ # Corresponds to the JSON property `help`
15491
+ # @return [Google::Apis::ComputeV1::Help]
15492
+ attr_accessor :help
15493
+
15494
+ # Provides a localized error message that is safe to return to the user which
15495
+ # can be attached to an RPC error.
15496
+ # Corresponds to the JSON property `localizedMessage`
15497
+ # @return [Google::Apis::ComputeV1::LocalizedMessage]
15498
+ attr_accessor :localized_message
15499
+
15500
+ # Additional details for quota exceeded error for resource quota.
15501
+ # Corresponds to the JSON property `quotaInfo`
15502
+ # @return [Google::Apis::ComputeV1::QuotaExceededInfo]
15503
+ attr_accessor :quota_info
15504
+
15505
+ def initialize(**args)
15506
+ update!(**args)
15507
+ end
15508
+
15509
+ # Update properties of this object
15510
+ def update!(**args)
15511
+ @error_info = args[:error_info] if args.key?(:error_info)
15512
+ @help = args[:help] if args.key?(:help)
15513
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
15514
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
15515
+ end
15516
+ end
15517
+ end
15518
+ end
15519
+ end
15520
+
15521
+ # [Output Only] A list of resize requests.
15522
+ class InstanceGroupManagerResizeRequestsListResponse
15523
+ include Google::Apis::Core::Hashable
15524
+
15525
+ # [Output Only] Unique identifier for the resource; defined by the server.
15526
+ # Corresponds to the JSON property `id`
15527
+ # @return [String]
15528
+ attr_accessor :id
15529
+
15530
+ # A list of resize request resources.
15531
+ # Corresponds to the JSON property `items`
15532
+ # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerResizeRequest>]
15533
+ attr_accessor :items
15534
+
15535
+ # [Output Only] Type of the resource. Always compute#
15536
+ # instanceGroupManagerResizeRequestList for a list of resize requests.
15537
+ # Corresponds to the JSON property `kind`
15538
+ # @return [String]
15539
+ attr_accessor :kind
15540
+
15541
+ # [Output Only] This token allows you to get the next page of results for list
15542
+ # requests. If the number of results is larger than maxResults, use the
15543
+ # nextPageToken as a value for the query parameter pageToken in the next list
15544
+ # request. Subsequent list requests will have their own nextPageToken to
15545
+ # continue paging through the results.
15546
+ # Corresponds to the JSON property `nextPageToken`
15547
+ # @return [String]
15548
+ attr_accessor :next_page_token
15549
+
15550
+ # [Output Only] Server-defined URL for this resource.
15551
+ # Corresponds to the JSON property `selfLink`
15552
+ # @return [String]
15553
+ attr_accessor :self_link
15554
+
15555
+ # [Output Only] Informational warning message.
15556
+ # Corresponds to the JSON property `warning`
15557
+ # @return [Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Warning]
15558
+ attr_accessor :warning
15559
+
15560
+ def initialize(**args)
15561
+ update!(**args)
15562
+ end
15563
+
15564
+ # Update properties of this object
15565
+ def update!(**args)
15566
+ @id = args[:id] if args.key?(:id)
15567
+ @items = args[:items] if args.key?(:items)
15568
+ @kind = args[:kind] if args.key?(:kind)
15569
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15570
+ @self_link = args[:self_link] if args.key?(:self_link)
15571
+ @warning = args[:warning] if args.key?(:warning)
15572
+ end
15573
+
15574
+ # [Output Only] Informational warning message.
15575
+ class Warning
15576
+ include Google::Apis::Core::Hashable
15577
+
15578
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
15579
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
15580
+ # Corresponds to the JSON property `code`
15581
+ # @return [String]
15582
+ attr_accessor :code
15583
+
15584
+ # [Output Only] Metadata about this warning in key: value format. For example: "
15585
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
15586
+ # Corresponds to the JSON property `data`
15587
+ # @return [Array<Google::Apis::ComputeV1::InstanceGroupManagerResizeRequestsListResponse::Warning::Datum>]
15588
+ attr_accessor :data
15589
+
15590
+ # [Output Only] A human-readable description of the warning code.
15591
+ # Corresponds to the JSON property `message`
15592
+ # @return [String]
15593
+ attr_accessor :message
15594
+
15595
+ def initialize(**args)
15596
+ update!(**args)
15597
+ end
15598
+
15599
+ # Update properties of this object
15600
+ def update!(**args)
15601
+ @code = args[:code] if args.key?(:code)
15602
+ @data = args[:data] if args.key?(:data)
15603
+ @message = args[:message] if args.key?(:message)
15604
+ end
15605
+
15606
+ #
15607
+ class Datum
15608
+ include Google::Apis::Core::Hashable
15609
+
15610
+ # [Output Only] A key that provides more detail on the warning being returned.
15611
+ # For example, for warnings where there are no results in a list request for a
15612
+ # particular zone, this key might be scope and the key value might be the zone
15613
+ # name. Other examples might be a key indicating a deprecated resource and a
15614
+ # suggested replacement, or a warning about invalid network settings (for
15615
+ # example, if an instance attempts to perform IP forwarding but is not enabled
15616
+ # for IP forwarding).
15617
+ # Corresponds to the JSON property `key`
15618
+ # @return [String]
15619
+ attr_accessor :key
15620
+
15621
+ # [Output Only] A warning data value corresponding to the key.
15622
+ # Corresponds to the JSON property `value`
15623
+ # @return [String]
15624
+ attr_accessor :value
15625
+
15626
+ def initialize(**args)
15627
+ update!(**args)
15628
+ end
15629
+
15630
+ # Update properties of this object
15631
+ def update!(**args)
15632
+ @key = args[:key] if args.key?(:key)
15633
+ @value = args[:value] if args.key?(:value)
15634
+ end
15635
+ end
15636
+ end
15637
+ end
15638
+
15131
15639
  #
15132
15640
  class InstanceGroupManagerStatus
15133
15641
  include Google::Apis::Core::Hashable
@@ -20341,10 +20849,10 @@ module Google
20341
20849
 
20342
20850
  # [Output Only] Port pair remote location constraints, which can take one of the
20343
20851
  # following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION,
20344
- # PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports,
20345
- # but the UI uses this field when ordering a pair of ports, to prevent users
20346
- # from accidentally ordering something that is incompatible with their cloud
20347
- # provider. Specifically, when ordering a redundant pair of Cross-Cloud
20852
+ # PORT_PAIR_MATCHING_REMOTE_LOCATION. Google Cloud API refers only to individual
20853
+ # ports, but the UI uses this field when ordering a pair of ports, to prevent
20854
+ # users from accidentally ordering something that is incompatible with their
20855
+ # cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud
20348
20856
  # Interconnect ports, and one of them uses a remote location with
20349
20857
  # portPairMatchingRemoteLocation set to matching, the UI requires that both
20350
20858
  # ports use the same remote location.
@@ -31521,7 +32029,7 @@ module Google
31521
32029
  attr_accessor :rules
31522
32030
 
31523
32031
  # [Output Only] The type of the firewall policy. Can be one of HIERARCHY,
31524
- # NETWORK, NETWORK_REGIONAL.
32032
+ # NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.
31525
32033
  # Corresponds to the JSON property `type`
31526
32034
  # @return [String]
31527
32035
  attr_accessor :type
@@ -39920,6 +40428,1244 @@ module Google
39920
40428
  end
39921
40429
  end
39922
40430
 
40431
+ # Represents a zonal storage pool resource.
40432
+ class StoragePool
40433
+ include Google::Apis::Core::Hashable
40434
+
40435
+ # Provisioning type of the byte capacity of the pool.
40436
+ # Corresponds to the JSON property `capacityProvisioningType`
40437
+ # @return [String]
40438
+ attr_accessor :capacity_provisioning_type
40439
+
40440
+ # [Output Only] Creation timestamp in RFC3339 text format.
40441
+ # Corresponds to the JSON property `creationTimestamp`
40442
+ # @return [String]
40443
+ attr_accessor :creation_timestamp
40444
+
40445
+ # An optional description of this resource. Provide this property when you
40446
+ # create the resource.
40447
+ # Corresponds to the JSON property `description`
40448
+ # @return [String]
40449
+ attr_accessor :description
40450
+
40451
+ # [Output Only] The unique identifier for the resource. This identifier is
40452
+ # defined by the server.
40453
+ # Corresponds to the JSON property `id`
40454
+ # @return [Fixnum]
40455
+ attr_accessor :id
40456
+
40457
+ # [Output Only] Type of the resource. Always compute#storagePool for storage
40458
+ # pools.
40459
+ # Corresponds to the JSON property `kind`
40460
+ # @return [String]
40461
+ attr_accessor :kind
40462
+
40463
+ # A fingerprint for the labels being applied to this storage pool, which is
40464
+ # essentially a hash of the labels set used for optimistic locking. The
40465
+ # fingerprint is initially generated by Compute Engine and changes after every
40466
+ # request to modify or update labels. You must always provide an up-to-date
40467
+ # fingerprint hash in order to update or change labels, otherwise the request
40468
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
40469
+ # a get() request to retrieve a storage pool.
40470
+ # Corresponds to the JSON property `labelFingerprint`
40471
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
40472
+ # @return [String]
40473
+ attr_accessor :label_fingerprint
40474
+
40475
+ # Labels to apply to this storage pool. These can be later modified by the
40476
+ # setLabels method.
40477
+ # Corresponds to the JSON property `labels`
40478
+ # @return [Hash<String,String>]
40479
+ attr_accessor :labels
40480
+
40481
+ # Name of the resource. Provided by the client when the resource is created. The
40482
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
40483
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
40484
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
40485
+ # and all following characters must be a dash, lowercase letter, or digit,
40486
+ # except the last character, which cannot be a dash.
40487
+ # Corresponds to the JSON property `name`
40488
+ # @return [String]
40489
+ attr_accessor :name
40490
+
40491
+ # Provisioning type of the performance-related parameters of the pool, such as
40492
+ # throughput and IOPS.
40493
+ # Corresponds to the JSON property `performanceProvisioningType`
40494
+ # @return [String]
40495
+ attr_accessor :performance_provisioning_type
40496
+
40497
+ # Size, in GiB, of the storage pool.
40498
+ # Corresponds to the JSON property `poolProvisionedCapacityGb`
40499
+ # @return [Fixnum]
40500
+ attr_accessor :pool_provisioned_capacity_gb
40501
+
40502
+ # Provisioned IOPS of the storage pool. Only relevant if the storage pool type
40503
+ # is hyperdisk-balanced.
40504
+ # Corresponds to the JSON property `poolProvisionedIops`
40505
+ # @return [Fixnum]
40506
+ attr_accessor :pool_provisioned_iops
40507
+
40508
+ # Provisioned throughput of the storage pool. Only relevant if the storage pool
40509
+ # type is hyperdisk-balanced or hyperdisk-throughput.
40510
+ # Corresponds to the JSON property `poolProvisionedThroughput`
40511
+ # @return [Fixnum]
40512
+ attr_accessor :pool_provisioned_throughput
40513
+
40514
+ # [Output Only] Contains output only fields.
40515
+ # Corresponds to the JSON property `resourceStatus`
40516
+ # @return [Google::Apis::ComputeV1::StoragePoolResourceStatus]
40517
+ attr_accessor :resource_status
40518
+
40519
+ # [Output Only] Server-defined fully-qualified URL for this resource.
40520
+ # Corresponds to the JSON property `selfLink`
40521
+ # @return [String]
40522
+ attr_accessor :self_link
40523
+
40524
+ # [Output Only] Server-defined URL for this resource's resource id.
40525
+ # Corresponds to the JSON property `selfLinkWithId`
40526
+ # @return [String]
40527
+ attr_accessor :self_link_with_id
40528
+
40529
+ # [Output Only] The status of storage pool creation. - CREATING: Storage pool is
40530
+ # provisioning. storagePool. - FAILED: Storage pool creation failed. - READY:
40531
+ # Storage pool is ready for use. - DELETING: Storage pool is deleting.
40532
+ # Corresponds to the JSON property `state`
40533
+ # @return [String]
40534
+ attr_accessor :state
40535
+
40536
+ # [Output Only] Contains output only fields.
40537
+ # Corresponds to the JSON property `status`
40538
+ # @return [Google::Apis::ComputeV1::StoragePoolResourceStatus]
40539
+ attr_accessor :status
40540
+
40541
+ # Type of the storage pool.
40542
+ # Corresponds to the JSON property `storagePoolType`
40543
+ # @return [String]
40544
+ attr_accessor :storage_pool_type
40545
+
40546
+ # [Output Only] URL of the zone where the storage pool resides. You must specify
40547
+ # this field as part of the HTTP request URL. It is not settable as a field in
40548
+ # the request body.
40549
+ # Corresponds to the JSON property `zone`
40550
+ # @return [String]
40551
+ attr_accessor :zone
40552
+
40553
+ def initialize(**args)
40554
+ update!(**args)
40555
+ end
40556
+
40557
+ # Update properties of this object
40558
+ def update!(**args)
40559
+ @capacity_provisioning_type = args[:capacity_provisioning_type] if args.key?(:capacity_provisioning_type)
40560
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
40561
+ @description = args[:description] if args.key?(:description)
40562
+ @id = args[:id] if args.key?(:id)
40563
+ @kind = args[:kind] if args.key?(:kind)
40564
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
40565
+ @labels = args[:labels] if args.key?(:labels)
40566
+ @name = args[:name] if args.key?(:name)
40567
+ @performance_provisioning_type = args[:performance_provisioning_type] if args.key?(:performance_provisioning_type)
40568
+ @pool_provisioned_capacity_gb = args[:pool_provisioned_capacity_gb] if args.key?(:pool_provisioned_capacity_gb)
40569
+ @pool_provisioned_iops = args[:pool_provisioned_iops] if args.key?(:pool_provisioned_iops)
40570
+ @pool_provisioned_throughput = args[:pool_provisioned_throughput] if args.key?(:pool_provisioned_throughput)
40571
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
40572
+ @self_link = args[:self_link] if args.key?(:self_link)
40573
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
40574
+ @state = args[:state] if args.key?(:state)
40575
+ @status = args[:status] if args.key?(:status)
40576
+ @storage_pool_type = args[:storage_pool_type] if args.key?(:storage_pool_type)
40577
+ @zone = args[:zone] if args.key?(:zone)
40578
+ end
40579
+ end
40580
+
40581
+ #
40582
+ class StoragePoolAggregatedList
40583
+ include Google::Apis::Core::Hashable
40584
+
40585
+ #
40586
+ # Corresponds to the JSON property `etag`
40587
+ # @return [String]
40588
+ attr_accessor :etag
40589
+
40590
+ # [Output Only] Unique identifier for the resource; defined by the server.
40591
+ # Corresponds to the JSON property `id`
40592
+ # @return [String]
40593
+ attr_accessor :id
40594
+
40595
+ # A list of StoragePoolsScopedList resources.
40596
+ # Corresponds to the JSON property `items`
40597
+ # @return [Hash<String,Google::Apis::ComputeV1::StoragePoolsScopedList>]
40598
+ attr_accessor :items
40599
+
40600
+ # [Output Only] Type of resource. Always compute#storagePoolAggregatedList for
40601
+ # aggregated lists of storage pools.
40602
+ # Corresponds to the JSON property `kind`
40603
+ # @return [String]
40604
+ attr_accessor :kind
40605
+
40606
+ # [Output Only] This token allows you to get the next page of results for list
40607
+ # requests. If the number of results is larger than maxResults, use the
40608
+ # nextPageToken as a value for the query parameter pageToken in the next list
40609
+ # request. Subsequent list requests will have their own nextPageToken to
40610
+ # continue paging through the results.
40611
+ # Corresponds to the JSON property `nextPageToken`
40612
+ # @return [String]
40613
+ attr_accessor :next_page_token
40614
+
40615
+ # [Output Only] Server-defined URL for this resource.
40616
+ # Corresponds to the JSON property `selfLink`
40617
+ # @return [String]
40618
+ attr_accessor :self_link
40619
+
40620
+ # [Output Only] Unreachable resources.
40621
+ # Corresponds to the JSON property `unreachables`
40622
+ # @return [Array<String>]
40623
+ attr_accessor :unreachables
40624
+
40625
+ # [Output Only] Informational warning message.
40626
+ # Corresponds to the JSON property `warning`
40627
+ # @return [Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning]
40628
+ attr_accessor :warning
40629
+
40630
+ def initialize(**args)
40631
+ update!(**args)
40632
+ end
40633
+
40634
+ # Update properties of this object
40635
+ def update!(**args)
40636
+ @etag = args[:etag] if args.key?(:etag)
40637
+ @id = args[:id] if args.key?(:id)
40638
+ @items = args[:items] if args.key?(:items)
40639
+ @kind = args[:kind] if args.key?(:kind)
40640
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40641
+ @self_link = args[:self_link] if args.key?(:self_link)
40642
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
40643
+ @warning = args[:warning] if args.key?(:warning)
40644
+ end
40645
+
40646
+ # [Output Only] Informational warning message.
40647
+ class Warning
40648
+ include Google::Apis::Core::Hashable
40649
+
40650
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40651
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40652
+ # Corresponds to the JSON property `code`
40653
+ # @return [String]
40654
+ attr_accessor :code
40655
+
40656
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40657
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40658
+ # Corresponds to the JSON property `data`
40659
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning::Datum>]
40660
+ attr_accessor :data
40661
+
40662
+ # [Output Only] A human-readable description of the warning code.
40663
+ # Corresponds to the JSON property `message`
40664
+ # @return [String]
40665
+ attr_accessor :message
40666
+
40667
+ def initialize(**args)
40668
+ update!(**args)
40669
+ end
40670
+
40671
+ # Update properties of this object
40672
+ def update!(**args)
40673
+ @code = args[:code] if args.key?(:code)
40674
+ @data = args[:data] if args.key?(:data)
40675
+ @message = args[:message] if args.key?(:message)
40676
+ end
40677
+
40678
+ #
40679
+ class Datum
40680
+ include Google::Apis::Core::Hashable
40681
+
40682
+ # [Output Only] A key that provides more detail on the warning being returned.
40683
+ # For example, for warnings where there are no results in a list request for a
40684
+ # particular zone, this key might be scope and the key value might be the zone
40685
+ # name. Other examples might be a key indicating a deprecated resource and a
40686
+ # suggested replacement, or a warning about invalid network settings (for
40687
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40688
+ # for IP forwarding).
40689
+ # Corresponds to the JSON property `key`
40690
+ # @return [String]
40691
+ attr_accessor :key
40692
+
40693
+ # [Output Only] A warning data value corresponding to the key.
40694
+ # Corresponds to the JSON property `value`
40695
+ # @return [String]
40696
+ attr_accessor :value
40697
+
40698
+ def initialize(**args)
40699
+ update!(**args)
40700
+ end
40701
+
40702
+ # Update properties of this object
40703
+ def update!(**args)
40704
+ @key = args[:key] if args.key?(:key)
40705
+ @value = args[:value] if args.key?(:value)
40706
+ end
40707
+ end
40708
+ end
40709
+ end
40710
+
40711
+ #
40712
+ class StoragePoolDisk
40713
+ include Google::Apis::Core::Hashable
40714
+
40715
+ # [Output Only] Instances this disk is attached to.
40716
+ # Corresponds to the JSON property `attachedInstances`
40717
+ # @return [Array<String>]
40718
+ attr_accessor :attached_instances
40719
+
40720
+ # [Output Only] Creation timestamp in RFC3339 text format.
40721
+ # Corresponds to the JSON property `creationTimestamp`
40722
+ # @return [String]
40723
+ attr_accessor :creation_timestamp
40724
+
40725
+ # [Output Only] The URL of the disk.
40726
+ # Corresponds to the JSON property `disk`
40727
+ # @return [String]
40728
+ attr_accessor :disk
40729
+
40730
+ # [Output Only] The name of the disk.
40731
+ # Corresponds to the JSON property `name`
40732
+ # @return [String]
40733
+ attr_accessor :name
40734
+
40735
+ # [Output Only] The number of IOPS provisioned for the disk.
40736
+ # Corresponds to the JSON property `provisionedIops`
40737
+ # @return [Fixnum]
40738
+ attr_accessor :provisioned_iops
40739
+
40740
+ # [Output Only] The throughput provisioned for the disk.
40741
+ # Corresponds to the JSON property `provisionedThroughput`
40742
+ # @return [Fixnum]
40743
+ attr_accessor :provisioned_throughput
40744
+
40745
+ # [Output Only] Resource policies applied to disk for automatic snapshot
40746
+ # creations.
40747
+ # Corresponds to the JSON property `resourcePolicies`
40748
+ # @return [Array<String>]
40749
+ attr_accessor :resource_policies
40750
+
40751
+ # [Output Only] The disk size, in GB.
40752
+ # Corresponds to the JSON property `sizeGb`
40753
+ # @return [Fixnum]
40754
+ attr_accessor :size_gb
40755
+
40756
+ # [Output Only] The disk status.
40757
+ # Corresponds to the JSON property `status`
40758
+ # @return [String]
40759
+ attr_accessor :status
40760
+
40761
+ # [Output Only] The disk type.
40762
+ # Corresponds to the JSON property `type`
40763
+ # @return [String]
40764
+ attr_accessor :type
40765
+
40766
+ # [Output Only] Amount of disk space used.
40767
+ # Corresponds to the JSON property `usedBytes`
40768
+ # @return [Fixnum]
40769
+ attr_accessor :used_bytes
40770
+
40771
+ def initialize(**args)
40772
+ update!(**args)
40773
+ end
40774
+
40775
+ # Update properties of this object
40776
+ def update!(**args)
40777
+ @attached_instances = args[:attached_instances] if args.key?(:attached_instances)
40778
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
40779
+ @disk = args[:disk] if args.key?(:disk)
40780
+ @name = args[:name] if args.key?(:name)
40781
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
40782
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
40783
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
40784
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
40785
+ @status = args[:status] if args.key?(:status)
40786
+ @type = args[:type] if args.key?(:type)
40787
+ @used_bytes = args[:used_bytes] if args.key?(:used_bytes)
40788
+ end
40789
+ end
40790
+
40791
+ # A list of StoragePool resources.
40792
+ class StoragePoolList
40793
+ include Google::Apis::Core::Hashable
40794
+
40795
+ #
40796
+ # Corresponds to the JSON property `etag`
40797
+ # @return [String]
40798
+ attr_accessor :etag
40799
+
40800
+ # [Output Only] Unique identifier for the resource; defined by the server.
40801
+ # Corresponds to the JSON property `id`
40802
+ # @return [String]
40803
+ attr_accessor :id
40804
+
40805
+ # A list of StoragePool resources.
40806
+ # Corresponds to the JSON property `items`
40807
+ # @return [Array<Google::Apis::ComputeV1::StoragePool>]
40808
+ attr_accessor :items
40809
+
40810
+ # [Output Only] Type of resource. Always compute#storagePoolList for lists of
40811
+ # storagePools.
40812
+ # Corresponds to the JSON property `kind`
40813
+ # @return [String]
40814
+ attr_accessor :kind
40815
+
40816
+ # [Output Only] This token allows you to get the next page of results for list
40817
+ # requests. If the number of results is larger than maxResults, use the
40818
+ # nextPageToken as a value for the query parameter pageToken in the next list
40819
+ # request. Subsequent list requests will have their own nextPageToken to
40820
+ # continue paging through the results.
40821
+ # Corresponds to the JSON property `nextPageToken`
40822
+ # @return [String]
40823
+ attr_accessor :next_page_token
40824
+
40825
+ # [Output Only] Server-defined URL for this resource.
40826
+ # Corresponds to the JSON property `selfLink`
40827
+ # @return [String]
40828
+ attr_accessor :self_link
40829
+
40830
+ # [Output Only] Unreachable resources. end_interface:
40831
+ # MixerListResponseWithEtagBuilder
40832
+ # Corresponds to the JSON property `unreachables`
40833
+ # @return [Array<String>]
40834
+ attr_accessor :unreachables
40835
+
40836
+ # [Output Only] Informational warning message.
40837
+ # Corresponds to the JSON property `warning`
40838
+ # @return [Google::Apis::ComputeV1::StoragePoolList::Warning]
40839
+ attr_accessor :warning
40840
+
40841
+ def initialize(**args)
40842
+ update!(**args)
40843
+ end
40844
+
40845
+ # Update properties of this object
40846
+ def update!(**args)
40847
+ @etag = args[:etag] if args.key?(:etag)
40848
+ @id = args[:id] if args.key?(:id)
40849
+ @items = args[:items] if args.key?(:items)
40850
+ @kind = args[:kind] if args.key?(:kind)
40851
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40852
+ @self_link = args[:self_link] if args.key?(:self_link)
40853
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
40854
+ @warning = args[:warning] if args.key?(:warning)
40855
+ end
40856
+
40857
+ # [Output Only] Informational warning message.
40858
+ class Warning
40859
+ include Google::Apis::Core::Hashable
40860
+
40861
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40862
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40863
+ # Corresponds to the JSON property `code`
40864
+ # @return [String]
40865
+ attr_accessor :code
40866
+
40867
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40868
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40869
+ # Corresponds to the JSON property `data`
40870
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolList::Warning::Datum>]
40871
+ attr_accessor :data
40872
+
40873
+ # [Output Only] A human-readable description of the warning code.
40874
+ # Corresponds to the JSON property `message`
40875
+ # @return [String]
40876
+ attr_accessor :message
40877
+
40878
+ def initialize(**args)
40879
+ update!(**args)
40880
+ end
40881
+
40882
+ # Update properties of this object
40883
+ def update!(**args)
40884
+ @code = args[:code] if args.key?(:code)
40885
+ @data = args[:data] if args.key?(:data)
40886
+ @message = args[:message] if args.key?(:message)
40887
+ end
40888
+
40889
+ #
40890
+ class Datum
40891
+ include Google::Apis::Core::Hashable
40892
+
40893
+ # [Output Only] A key that provides more detail on the warning being returned.
40894
+ # For example, for warnings where there are no results in a list request for a
40895
+ # particular zone, this key might be scope and the key value might be the zone
40896
+ # name. Other examples might be a key indicating a deprecated resource and a
40897
+ # suggested replacement, or a warning about invalid network settings (for
40898
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40899
+ # for IP forwarding).
40900
+ # Corresponds to the JSON property `key`
40901
+ # @return [String]
40902
+ attr_accessor :key
40903
+
40904
+ # [Output Only] A warning data value corresponding to the key.
40905
+ # Corresponds to the JSON property `value`
40906
+ # @return [String]
40907
+ attr_accessor :value
40908
+
40909
+ def initialize(**args)
40910
+ update!(**args)
40911
+ end
40912
+
40913
+ # Update properties of this object
40914
+ def update!(**args)
40915
+ @key = args[:key] if args.key?(:key)
40916
+ @value = args[:value] if args.key?(:value)
40917
+ end
40918
+ end
40919
+ end
40920
+ end
40921
+
40922
+ #
40923
+ class StoragePoolListDisks
40924
+ include Google::Apis::Core::Hashable
40925
+
40926
+ #
40927
+ # Corresponds to the JSON property `etag`
40928
+ # @return [String]
40929
+ attr_accessor :etag
40930
+
40931
+ # [Output Only] Unique identifier for the resource; defined by the server.
40932
+ # Corresponds to the JSON property `id`
40933
+ # @return [String]
40934
+ attr_accessor :id
40935
+
40936
+ # A list of StoragePoolDisk resources.
40937
+ # Corresponds to the JSON property `items`
40938
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolDisk>]
40939
+ attr_accessor :items
40940
+
40941
+ # [Output Only] Type of resource. Always compute#storagePoolListDisks for lists
40942
+ # of disks in a storagePool.
40943
+ # Corresponds to the JSON property `kind`
40944
+ # @return [String]
40945
+ attr_accessor :kind
40946
+
40947
+ # [Output Only] This token allows you to get the next page of results for list
40948
+ # requests. If the number of results is larger than maxResults, use the
40949
+ # nextPageToken as a value for the query parameter pageToken in the next list
40950
+ # request. Subsequent list requests will have their own nextPageToken to
40951
+ # continue paging through the results.
40952
+ # Corresponds to the JSON property `nextPageToken`
40953
+ # @return [String]
40954
+ attr_accessor :next_page_token
40955
+
40956
+ # [Output Only] Server-defined URL for this resource.
40957
+ # Corresponds to the JSON property `selfLink`
40958
+ # @return [String]
40959
+ attr_accessor :self_link
40960
+
40961
+ # [Output Only] Unreachable resources. end_interface:
40962
+ # MixerListResponseWithEtagBuilder
40963
+ # Corresponds to the JSON property `unreachables`
40964
+ # @return [Array<String>]
40965
+ attr_accessor :unreachables
40966
+
40967
+ # [Output Only] Informational warning message.
40968
+ # Corresponds to the JSON property `warning`
40969
+ # @return [Google::Apis::ComputeV1::StoragePoolListDisks::Warning]
40970
+ attr_accessor :warning
40971
+
40972
+ def initialize(**args)
40973
+ update!(**args)
40974
+ end
40975
+
40976
+ # Update properties of this object
40977
+ def update!(**args)
40978
+ @etag = args[:etag] if args.key?(:etag)
40979
+ @id = args[:id] if args.key?(:id)
40980
+ @items = args[:items] if args.key?(:items)
40981
+ @kind = args[:kind] if args.key?(:kind)
40982
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40983
+ @self_link = args[:self_link] if args.key?(:self_link)
40984
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
40985
+ @warning = args[:warning] if args.key?(:warning)
40986
+ end
40987
+
40988
+ # [Output Only] Informational warning message.
40989
+ class Warning
40990
+ include Google::Apis::Core::Hashable
40991
+
40992
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40993
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40994
+ # Corresponds to the JSON property `code`
40995
+ # @return [String]
40996
+ attr_accessor :code
40997
+
40998
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40999
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41000
+ # Corresponds to the JSON property `data`
41001
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolListDisks::Warning::Datum>]
41002
+ attr_accessor :data
41003
+
41004
+ # [Output Only] A human-readable description of the warning code.
41005
+ # Corresponds to the JSON property `message`
41006
+ # @return [String]
41007
+ attr_accessor :message
41008
+
41009
+ def initialize(**args)
41010
+ update!(**args)
41011
+ end
41012
+
41013
+ # Update properties of this object
41014
+ def update!(**args)
41015
+ @code = args[:code] if args.key?(:code)
41016
+ @data = args[:data] if args.key?(:data)
41017
+ @message = args[:message] if args.key?(:message)
41018
+ end
41019
+
41020
+ #
41021
+ class Datum
41022
+ include Google::Apis::Core::Hashable
41023
+
41024
+ # [Output Only] A key that provides more detail on the warning being returned.
41025
+ # For example, for warnings where there are no results in a list request for a
41026
+ # particular zone, this key might be scope and the key value might be the zone
41027
+ # name. Other examples might be a key indicating a deprecated resource and a
41028
+ # suggested replacement, or a warning about invalid network settings (for
41029
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41030
+ # for IP forwarding).
41031
+ # Corresponds to the JSON property `key`
41032
+ # @return [String]
41033
+ attr_accessor :key
41034
+
41035
+ # [Output Only] A warning data value corresponding to the key.
41036
+ # Corresponds to the JSON property `value`
41037
+ # @return [String]
41038
+ attr_accessor :value
41039
+
41040
+ def initialize(**args)
41041
+ update!(**args)
41042
+ end
41043
+
41044
+ # Update properties of this object
41045
+ def update!(**args)
41046
+ @key = args[:key] if args.key?(:key)
41047
+ @value = args[:value] if args.key?(:value)
41048
+ end
41049
+ end
41050
+ end
41051
+ end
41052
+
41053
+ # [Output Only] Contains output only fields.
41054
+ class StoragePoolResourceStatus
41055
+ include Google::Apis::Core::Hashable
41056
+
41057
+ # [Output Only] Number of disks used.
41058
+ # Corresponds to the JSON property `diskCount`
41059
+ # @return [Fixnum]
41060
+ attr_accessor :disk_count
41061
+
41062
+ # [Output Only] Timestamp of the last successful resize in RFC3339 text format.
41063
+ # Corresponds to the JSON property `lastResizeTimestamp`
41064
+ # @return [String]
41065
+ attr_accessor :last_resize_timestamp
41066
+
41067
+ # [Output Only] Maximum allowed aggregate disk size in gigabytes.
41068
+ # Corresponds to the JSON property `maxTotalProvisionedDiskCapacityGb`
41069
+ # @return [Fixnum]
41070
+ attr_accessor :max_total_provisioned_disk_capacity_gb
41071
+
41072
+ # [Output Only] Space used by data stored in disks within the storage pool (in
41073
+ # bytes). This will reflect the total number of bytes written to the disks in
41074
+ # the pool, in contrast to the capacity of those disks.
41075
+ # Corresponds to the JSON property `poolUsedCapacityBytes`
41076
+ # @return [Fixnum]
41077
+ attr_accessor :pool_used_capacity_bytes
41078
+
41079
+ # Sum of all the disks' provisioned IOPS, minus some amount that is allowed per
41080
+ # disk that is not counted towards pool's IOPS capacity.
41081
+ # Corresponds to the JSON property `poolUsedIops`
41082
+ # @return [Fixnum]
41083
+ attr_accessor :pool_used_iops
41084
+
41085
+ # [Output Only] Sum of all the disks' provisioned throughput in MB/s.
41086
+ # Corresponds to the JSON property `poolUsedThroughput`
41087
+ # @return [Fixnum]
41088
+ attr_accessor :pool_used_throughput
41089
+
41090
+ # [Output Only] Amount of data written into the pool, before it is compacted.
41091
+ # Corresponds to the JSON property `poolUserWrittenBytes`
41092
+ # @return [Fixnum]
41093
+ attr_accessor :pool_user_written_bytes
41094
+
41095
+ # [Output Only] Sum of all the capacity provisioned in disks in this storage
41096
+ # pool. A disk's provisioned capacity is the same as its total capacity.
41097
+ # Corresponds to the JSON property `totalProvisionedDiskCapacityGb`
41098
+ # @return [Fixnum]
41099
+ attr_accessor :total_provisioned_disk_capacity_gb
41100
+
41101
+ # [Output Only] Sum of all the disks' provisioned IOPS.
41102
+ # Corresponds to the JSON property `totalProvisionedDiskIops`
41103
+ # @return [Fixnum]
41104
+ attr_accessor :total_provisioned_disk_iops
41105
+
41106
+ # [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some
41107
+ # amount that is allowed per disk that is not counted towards pool's throughput
41108
+ # capacity.
41109
+ # Corresponds to the JSON property `totalProvisionedDiskThroughput`
41110
+ # @return [Fixnum]
41111
+ attr_accessor :total_provisioned_disk_throughput
41112
+
41113
+ def initialize(**args)
41114
+ update!(**args)
41115
+ end
41116
+
41117
+ # Update properties of this object
41118
+ def update!(**args)
41119
+ @disk_count = args[:disk_count] if args.key?(:disk_count)
41120
+ @last_resize_timestamp = args[:last_resize_timestamp] if args.key?(:last_resize_timestamp)
41121
+ @max_total_provisioned_disk_capacity_gb = args[:max_total_provisioned_disk_capacity_gb] if args.key?(:max_total_provisioned_disk_capacity_gb)
41122
+ @pool_used_capacity_bytes = args[:pool_used_capacity_bytes] if args.key?(:pool_used_capacity_bytes)
41123
+ @pool_used_iops = args[:pool_used_iops] if args.key?(:pool_used_iops)
41124
+ @pool_used_throughput = args[:pool_used_throughput] if args.key?(:pool_used_throughput)
41125
+ @pool_user_written_bytes = args[:pool_user_written_bytes] if args.key?(:pool_user_written_bytes)
41126
+ @total_provisioned_disk_capacity_gb = args[:total_provisioned_disk_capacity_gb] if args.key?(:total_provisioned_disk_capacity_gb)
41127
+ @total_provisioned_disk_iops = args[:total_provisioned_disk_iops] if args.key?(:total_provisioned_disk_iops)
41128
+ @total_provisioned_disk_throughput = args[:total_provisioned_disk_throughput] if args.key?(:total_provisioned_disk_throughput)
41129
+ end
41130
+ end
41131
+
41132
+ #
41133
+ class StoragePoolType
41134
+ include Google::Apis::Core::Hashable
41135
+
41136
+ # [Output Only] Creation timestamp in RFC3339 text format.
41137
+ # Corresponds to the JSON property `creationTimestamp`
41138
+ # @return [String]
41139
+ attr_accessor :creation_timestamp
41140
+
41141
+ # Deprecation status for a public resource.
41142
+ # Corresponds to the JSON property `deprecated`
41143
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
41144
+ attr_accessor :deprecated
41145
+
41146
+ # [Output Only] An optional description of this resource.
41147
+ # Corresponds to the JSON property `description`
41148
+ # @return [String]
41149
+ attr_accessor :description
41150
+
41151
+ # [Output Only] The unique identifier for the resource. This identifier is
41152
+ # defined by the server.
41153
+ # Corresponds to the JSON property `id`
41154
+ # @return [Fixnum]
41155
+ attr_accessor :id
41156
+
41157
+ # [Output Only] Type of the resource. Always compute#storagePoolType for storage
41158
+ # pool types.
41159
+ # Corresponds to the JSON property `kind`
41160
+ # @return [String]
41161
+ attr_accessor :kind
41162
+
41163
+ # [Output Only] Maximum storage pool size in GB.
41164
+ # Corresponds to the JSON property `maxPoolProvisionedCapacityGb`
41165
+ # @return [Fixnum]
41166
+ attr_accessor :max_pool_provisioned_capacity_gb
41167
+
41168
+ # [Output Only] Maximum provisioned IOPS.
41169
+ # Corresponds to the JSON property `maxPoolProvisionedIops`
41170
+ # @return [Fixnum]
41171
+ attr_accessor :max_pool_provisioned_iops
41172
+
41173
+ # [Output Only] Maximum provisioned throughput.
41174
+ # Corresponds to the JSON property `maxPoolProvisionedThroughput`
41175
+ # @return [Fixnum]
41176
+ attr_accessor :max_pool_provisioned_throughput
41177
+
41178
+ # [Output Only] Minimum storage pool size in GB.
41179
+ # Corresponds to the JSON property `minPoolProvisionedCapacityGb`
41180
+ # @return [Fixnum]
41181
+ attr_accessor :min_pool_provisioned_capacity_gb
41182
+
41183
+ # [Output Only] Minimum provisioned IOPS.
41184
+ # Corresponds to the JSON property `minPoolProvisionedIops`
41185
+ # @return [Fixnum]
41186
+ attr_accessor :min_pool_provisioned_iops
41187
+
41188
+ # [Output Only] Minimum provisioned throughput.
41189
+ # Corresponds to the JSON property `minPoolProvisionedThroughput`
41190
+ # @return [Fixnum]
41191
+ attr_accessor :min_pool_provisioned_throughput
41192
+
41193
+ # [Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb
41194
+ # instead.
41195
+ # Corresponds to the JSON property `minSizeGb`
41196
+ # @return [Fixnum]
41197
+ attr_accessor :min_size_gb
41198
+
41199
+ # [Output Only] Name of the resource.
41200
+ # Corresponds to the JSON property `name`
41201
+ # @return [String]
41202
+ attr_accessor :name
41203
+
41204
+ # [Output Only] Server-defined URL for the resource.
41205
+ # Corresponds to the JSON property `selfLink`
41206
+ # @return [String]
41207
+ attr_accessor :self_link
41208
+
41209
+ # [Output Only] Server-defined URL for this resource with the resource id.
41210
+ # Corresponds to the JSON property `selfLinkWithId`
41211
+ # @return [String]
41212
+ attr_accessor :self_link_with_id
41213
+
41214
+ # [Output Only] The list of disk types supported in this storage pool type.
41215
+ # Corresponds to the JSON property `supportedDiskTypes`
41216
+ # @return [Array<String>]
41217
+ attr_accessor :supported_disk_types
41218
+
41219
+ # [Output Only] URL of the zone where the storage pool type resides. You must
41220
+ # specify this field as part of the HTTP request URL. It is not settable as a
41221
+ # field in the request body.
41222
+ # Corresponds to the JSON property `zone`
41223
+ # @return [String]
41224
+ attr_accessor :zone
41225
+
41226
+ def initialize(**args)
41227
+ update!(**args)
41228
+ end
41229
+
41230
+ # Update properties of this object
41231
+ def update!(**args)
41232
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
41233
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
41234
+ @description = args[:description] if args.key?(:description)
41235
+ @id = args[:id] if args.key?(:id)
41236
+ @kind = args[:kind] if args.key?(:kind)
41237
+ @max_pool_provisioned_capacity_gb = args[:max_pool_provisioned_capacity_gb] if args.key?(:max_pool_provisioned_capacity_gb)
41238
+ @max_pool_provisioned_iops = args[:max_pool_provisioned_iops] if args.key?(:max_pool_provisioned_iops)
41239
+ @max_pool_provisioned_throughput = args[:max_pool_provisioned_throughput] if args.key?(:max_pool_provisioned_throughput)
41240
+ @min_pool_provisioned_capacity_gb = args[:min_pool_provisioned_capacity_gb] if args.key?(:min_pool_provisioned_capacity_gb)
41241
+ @min_pool_provisioned_iops = args[:min_pool_provisioned_iops] if args.key?(:min_pool_provisioned_iops)
41242
+ @min_pool_provisioned_throughput = args[:min_pool_provisioned_throughput] if args.key?(:min_pool_provisioned_throughput)
41243
+ @min_size_gb = args[:min_size_gb] if args.key?(:min_size_gb)
41244
+ @name = args[:name] if args.key?(:name)
41245
+ @self_link = args[:self_link] if args.key?(:self_link)
41246
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
41247
+ @supported_disk_types = args[:supported_disk_types] if args.key?(:supported_disk_types)
41248
+ @zone = args[:zone] if args.key?(:zone)
41249
+ end
41250
+ end
41251
+
41252
+ #
41253
+ class StoragePoolTypeAggregatedList
41254
+ include Google::Apis::Core::Hashable
41255
+
41256
+ # [Output Only] Unique identifier for the resource; defined by the server.
41257
+ # Corresponds to the JSON property `id`
41258
+ # @return [String]
41259
+ attr_accessor :id
41260
+
41261
+ # A list of StoragePoolTypesScopedList resources.
41262
+ # Corresponds to the JSON property `items`
41263
+ # @return [Hash<String,Google::Apis::ComputeV1::StoragePoolTypesScopedList>]
41264
+ attr_accessor :items
41265
+
41266
+ # [Output Only] Type of resource. Always compute#storagePoolTypeAggregatedList .
41267
+ # Corresponds to the JSON property `kind`
41268
+ # @return [String]
41269
+ attr_accessor :kind
41270
+
41271
+ # [Output Only] This token allows you to get the next page of results for list
41272
+ # requests. If the number of results is larger than maxResults, use the
41273
+ # nextPageToken as a value for the query parameter pageToken in the next list
41274
+ # request. Subsequent list requests will have their own nextPageToken to
41275
+ # continue paging through the results.
41276
+ # Corresponds to the JSON property `nextPageToken`
41277
+ # @return [String]
41278
+ attr_accessor :next_page_token
41279
+
41280
+ # [Output Only] Server-defined URL for this resource.
41281
+ # Corresponds to the JSON property `selfLink`
41282
+ # @return [String]
41283
+ attr_accessor :self_link
41284
+
41285
+ # [Output Only] Informational warning message.
41286
+ # Corresponds to the JSON property `warning`
41287
+ # @return [Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning]
41288
+ attr_accessor :warning
41289
+
41290
+ def initialize(**args)
41291
+ update!(**args)
41292
+ end
41293
+
41294
+ # Update properties of this object
41295
+ def update!(**args)
41296
+ @id = args[:id] if args.key?(:id)
41297
+ @items = args[:items] if args.key?(:items)
41298
+ @kind = args[:kind] if args.key?(:kind)
41299
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
41300
+ @self_link = args[:self_link] if args.key?(:self_link)
41301
+ @warning = args[:warning] if args.key?(:warning)
41302
+ end
41303
+
41304
+ # [Output Only] Informational warning message.
41305
+ class Warning
41306
+ include Google::Apis::Core::Hashable
41307
+
41308
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41309
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41310
+ # Corresponds to the JSON property `code`
41311
+ # @return [String]
41312
+ attr_accessor :code
41313
+
41314
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41315
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41316
+ # Corresponds to the JSON property `data`
41317
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning::Datum>]
41318
+ attr_accessor :data
41319
+
41320
+ # [Output Only] A human-readable description of the warning code.
41321
+ # Corresponds to the JSON property `message`
41322
+ # @return [String]
41323
+ attr_accessor :message
41324
+
41325
+ def initialize(**args)
41326
+ update!(**args)
41327
+ end
41328
+
41329
+ # Update properties of this object
41330
+ def update!(**args)
41331
+ @code = args[:code] if args.key?(:code)
41332
+ @data = args[:data] if args.key?(:data)
41333
+ @message = args[:message] if args.key?(:message)
41334
+ end
41335
+
41336
+ #
41337
+ class Datum
41338
+ include Google::Apis::Core::Hashable
41339
+
41340
+ # [Output Only] A key that provides more detail on the warning being returned.
41341
+ # For example, for warnings where there are no results in a list request for a
41342
+ # particular zone, this key might be scope and the key value might be the zone
41343
+ # name. Other examples might be a key indicating a deprecated resource and a
41344
+ # suggested replacement, or a warning about invalid network settings (for
41345
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41346
+ # for IP forwarding).
41347
+ # Corresponds to the JSON property `key`
41348
+ # @return [String]
41349
+ attr_accessor :key
41350
+
41351
+ # [Output Only] A warning data value corresponding to the key.
41352
+ # Corresponds to the JSON property `value`
41353
+ # @return [String]
41354
+ attr_accessor :value
41355
+
41356
+ def initialize(**args)
41357
+ update!(**args)
41358
+ end
41359
+
41360
+ # Update properties of this object
41361
+ def update!(**args)
41362
+ @key = args[:key] if args.key?(:key)
41363
+ @value = args[:value] if args.key?(:value)
41364
+ end
41365
+ end
41366
+ end
41367
+ end
41368
+
41369
+ # Contains a list of storage pool types.
41370
+ class StoragePoolTypeList
41371
+ include Google::Apis::Core::Hashable
41372
+
41373
+ # [Output Only] Unique identifier for the resource; defined by the server.
41374
+ # Corresponds to the JSON property `id`
41375
+ # @return [String]
41376
+ attr_accessor :id
41377
+
41378
+ # A list of StoragePoolType resources.
41379
+ # Corresponds to the JSON property `items`
41380
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolType>]
41381
+ attr_accessor :items
41382
+
41383
+ # [Output Only] Type of resource. Always compute#storagePoolTypeList for storage
41384
+ # pool types.
41385
+ # Corresponds to the JSON property `kind`
41386
+ # @return [String]
41387
+ attr_accessor :kind
41388
+
41389
+ # [Output Only] This token allows you to get the next page of results for list
41390
+ # requests. If the number of results is larger than maxResults, use the
41391
+ # nextPageToken as a value for the query parameter pageToken in the next list
41392
+ # request. Subsequent list requests will have their own nextPageToken to
41393
+ # continue paging through the results.
41394
+ # Corresponds to the JSON property `nextPageToken`
41395
+ # @return [String]
41396
+ attr_accessor :next_page_token
41397
+
41398
+ # [Output Only] Server-defined URL for this resource.
41399
+ # Corresponds to the JSON property `selfLink`
41400
+ # @return [String]
41401
+ attr_accessor :self_link
41402
+
41403
+ # [Output Only] Informational warning message.
41404
+ # Corresponds to the JSON property `warning`
41405
+ # @return [Google::Apis::ComputeV1::StoragePoolTypeList::Warning]
41406
+ attr_accessor :warning
41407
+
41408
+ def initialize(**args)
41409
+ update!(**args)
41410
+ end
41411
+
41412
+ # Update properties of this object
41413
+ def update!(**args)
41414
+ @id = args[:id] if args.key?(:id)
41415
+ @items = args[:items] if args.key?(:items)
41416
+ @kind = args[:kind] if args.key?(:kind)
41417
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
41418
+ @self_link = args[:self_link] if args.key?(:self_link)
41419
+ @warning = args[:warning] if args.key?(:warning)
41420
+ end
41421
+
41422
+ # [Output Only] Informational warning message.
41423
+ class Warning
41424
+ include Google::Apis::Core::Hashable
41425
+
41426
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41427
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41428
+ # Corresponds to the JSON property `code`
41429
+ # @return [String]
41430
+ attr_accessor :code
41431
+
41432
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41433
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41434
+ # Corresponds to the JSON property `data`
41435
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolTypeList::Warning::Datum>]
41436
+ attr_accessor :data
41437
+
41438
+ # [Output Only] A human-readable description of the warning code.
41439
+ # Corresponds to the JSON property `message`
41440
+ # @return [String]
41441
+ attr_accessor :message
41442
+
41443
+ def initialize(**args)
41444
+ update!(**args)
41445
+ end
41446
+
41447
+ # Update properties of this object
41448
+ def update!(**args)
41449
+ @code = args[:code] if args.key?(:code)
41450
+ @data = args[:data] if args.key?(:data)
41451
+ @message = args[:message] if args.key?(:message)
41452
+ end
41453
+
41454
+ #
41455
+ class Datum
41456
+ include Google::Apis::Core::Hashable
41457
+
41458
+ # [Output Only] A key that provides more detail on the warning being returned.
41459
+ # For example, for warnings where there are no results in a list request for a
41460
+ # particular zone, this key might be scope and the key value might be the zone
41461
+ # name. Other examples might be a key indicating a deprecated resource and a
41462
+ # suggested replacement, or a warning about invalid network settings (for
41463
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41464
+ # for IP forwarding).
41465
+ # Corresponds to the JSON property `key`
41466
+ # @return [String]
41467
+ attr_accessor :key
41468
+
41469
+ # [Output Only] A warning data value corresponding to the key.
41470
+ # Corresponds to the JSON property `value`
41471
+ # @return [String]
41472
+ attr_accessor :value
41473
+
41474
+ def initialize(**args)
41475
+ update!(**args)
41476
+ end
41477
+
41478
+ # Update properties of this object
41479
+ def update!(**args)
41480
+ @key = args[:key] if args.key?(:key)
41481
+ @value = args[:value] if args.key?(:value)
41482
+ end
41483
+ end
41484
+ end
41485
+ end
41486
+
41487
+ #
41488
+ class StoragePoolTypesScopedList
41489
+ include Google::Apis::Core::Hashable
41490
+
41491
+ # [Output Only] A list of storage pool types contained in this scope.
41492
+ # Corresponds to the JSON property `storagePoolTypes`
41493
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolType>]
41494
+ attr_accessor :storage_pool_types
41495
+
41496
+ # [Output Only] Informational warning which replaces the list of storage pool
41497
+ # types when the list is empty.
41498
+ # Corresponds to the JSON property `warning`
41499
+ # @return [Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning]
41500
+ attr_accessor :warning
41501
+
41502
+ def initialize(**args)
41503
+ update!(**args)
41504
+ end
41505
+
41506
+ # Update properties of this object
41507
+ def update!(**args)
41508
+ @storage_pool_types = args[:storage_pool_types] if args.key?(:storage_pool_types)
41509
+ @warning = args[:warning] if args.key?(:warning)
41510
+ end
41511
+
41512
+ # [Output Only] Informational warning which replaces the list of storage pool
41513
+ # types when the list is empty.
41514
+ class Warning
41515
+ include Google::Apis::Core::Hashable
41516
+
41517
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41518
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41519
+ # Corresponds to the JSON property `code`
41520
+ # @return [String]
41521
+ attr_accessor :code
41522
+
41523
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41524
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41525
+ # Corresponds to the JSON property `data`
41526
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning::Datum>]
41527
+ attr_accessor :data
41528
+
41529
+ # [Output Only] A human-readable description of the warning code.
41530
+ # Corresponds to the JSON property `message`
41531
+ # @return [String]
41532
+ attr_accessor :message
41533
+
41534
+ def initialize(**args)
41535
+ update!(**args)
41536
+ end
41537
+
41538
+ # Update properties of this object
41539
+ def update!(**args)
41540
+ @code = args[:code] if args.key?(:code)
41541
+ @data = args[:data] if args.key?(:data)
41542
+ @message = args[:message] if args.key?(:message)
41543
+ end
41544
+
41545
+ #
41546
+ class Datum
41547
+ include Google::Apis::Core::Hashable
41548
+
41549
+ # [Output Only] A key that provides more detail on the warning being returned.
41550
+ # For example, for warnings where there are no results in a list request for a
41551
+ # particular zone, this key might be scope and the key value might be the zone
41552
+ # name. Other examples might be a key indicating a deprecated resource and a
41553
+ # suggested replacement, or a warning about invalid network settings (for
41554
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41555
+ # for IP forwarding).
41556
+ # Corresponds to the JSON property `key`
41557
+ # @return [String]
41558
+ attr_accessor :key
41559
+
41560
+ # [Output Only] A warning data value corresponding to the key.
41561
+ # Corresponds to the JSON property `value`
41562
+ # @return [String]
41563
+ attr_accessor :value
41564
+
41565
+ def initialize(**args)
41566
+ update!(**args)
41567
+ end
41568
+
41569
+ # Update properties of this object
41570
+ def update!(**args)
41571
+ @key = args[:key] if args.key?(:key)
41572
+ @value = args[:value] if args.key?(:value)
41573
+ end
41574
+ end
41575
+ end
41576
+ end
41577
+
41578
+ #
41579
+ class StoragePoolsScopedList
41580
+ include Google::Apis::Core::Hashable
41581
+
41582
+ # [Output Only] A list of storage pool contained in this scope.
41583
+ # Corresponds to the JSON property `storagePools`
41584
+ # @return [Array<Google::Apis::ComputeV1::StoragePool>]
41585
+ attr_accessor :storage_pools
41586
+
41587
+ # [Output Only] Informational warning which replaces the list of storage pool
41588
+ # when the list is empty.
41589
+ # Corresponds to the JSON property `warning`
41590
+ # @return [Google::Apis::ComputeV1::StoragePoolsScopedList::Warning]
41591
+ attr_accessor :warning
41592
+
41593
+ def initialize(**args)
41594
+ update!(**args)
41595
+ end
41596
+
41597
+ # Update properties of this object
41598
+ def update!(**args)
41599
+ @storage_pools = args[:storage_pools] if args.key?(:storage_pools)
41600
+ @warning = args[:warning] if args.key?(:warning)
41601
+ end
41602
+
41603
+ # [Output Only] Informational warning which replaces the list of storage pool
41604
+ # when the list is empty.
41605
+ class Warning
41606
+ include Google::Apis::Core::Hashable
41607
+
41608
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41609
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41610
+ # Corresponds to the JSON property `code`
41611
+ # @return [String]
41612
+ attr_accessor :code
41613
+
41614
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41615
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41616
+ # Corresponds to the JSON property `data`
41617
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolsScopedList::Warning::Datum>]
41618
+ attr_accessor :data
41619
+
41620
+ # [Output Only] A human-readable description of the warning code.
41621
+ # Corresponds to the JSON property `message`
41622
+ # @return [String]
41623
+ attr_accessor :message
41624
+
41625
+ def initialize(**args)
41626
+ update!(**args)
41627
+ end
41628
+
41629
+ # Update properties of this object
41630
+ def update!(**args)
41631
+ @code = args[:code] if args.key?(:code)
41632
+ @data = args[:data] if args.key?(:data)
41633
+ @message = args[:message] if args.key?(:message)
41634
+ end
41635
+
41636
+ #
41637
+ class Datum
41638
+ include Google::Apis::Core::Hashable
41639
+
41640
+ # [Output Only] A key that provides more detail on the warning being returned.
41641
+ # For example, for warnings where there are no results in a list request for a
41642
+ # particular zone, this key might be scope and the key value might be the zone
41643
+ # name. Other examples might be a key indicating a deprecated resource and a
41644
+ # suggested replacement, or a warning about invalid network settings (for
41645
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41646
+ # for IP forwarding).
41647
+ # Corresponds to the JSON property `key`
41648
+ # @return [String]
41649
+ attr_accessor :key
41650
+
41651
+ # [Output Only] A warning data value corresponding to the key.
41652
+ # Corresponds to the JSON property `value`
41653
+ # @return [String]
41654
+ attr_accessor :value
41655
+
41656
+ def initialize(**args)
41657
+ update!(**args)
41658
+ end
41659
+
41660
+ # Update properties of this object
41661
+ def update!(**args)
41662
+ @key = args[:key] if args.key?(:key)
41663
+ @value = args[:value] if args.key?(:value)
41664
+ end
41665
+ end
41666
+ end
41667
+ end
41668
+
39923
41669
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
39924
41670
  # logical partition of a Virtual Private Cloud network with one primary IP range
39925
41671
  # and zero or more secondary IP ranges. For more information, read Virtual