google-apis-compute_beta 0.92.0 → 0.94.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1830,6 +1830,15 @@ module Google
1830
1830
  # @return [Google::Apis::ComputeBeta::CustomerEncryptionKey]
1831
1831
  attr_accessor :source_snapshot_encryption_key
1832
1832
 
1833
+ # The storage pool in which the new disk is created. You can provide this as a
1834
+ # partial or full URL to the resource. For example, the following are valid
1835
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
1836
+ # storagePools/storagePool - projects/project/zones/zone/storagePools/
1837
+ # storagePool - zones/zone/storagePools/storagePool
1838
+ # Corresponds to the JSON property `storagePool`
1839
+ # @return [String]
1840
+ attr_accessor :storage_pool
1841
+
1833
1842
  def initialize(**args)
1834
1843
  update!(**args)
1835
1844
  end
@@ -1857,6 +1866,7 @@ module Google
1857
1866
  @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
1858
1867
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
1859
1868
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
1869
+ @storage_pool = args[:storage_pool] if args.key?(:storage_pool)
1860
1870
  end
1861
1871
  end
1862
1872
 
@@ -6922,6 +6932,15 @@ module Google
6922
6932
  # @return [String]
6923
6933
  attr_accessor :status
6924
6934
 
6935
+ # The storage pool in which the new disk is created. You can provide this as a
6936
+ # partial or full URL to the resource. For example, the following are valid
6937
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
6938
+ # storagePools/storagePool - projects/project/zones/zone/storagePools/
6939
+ # storagePool - zones/zone/storagePools/storagePool
6940
+ # Corresponds to the JSON property `storagePool`
6941
+ # @return [String]
6942
+ attr_accessor :storage_pool
6943
+
6925
6944
  # [Deprecated] Storage type of the persistent disk.
6926
6945
  # Corresponds to the JSON property `storageType`
6927
6946
  # @return [String]
@@ -7011,6 +7030,7 @@ module Google
7011
7030
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
7012
7031
  @source_storage_object = args[:source_storage_object] if args.key?(:source_storage_object)
7013
7032
  @status = args[:status] if args.key?(:status)
7033
+ @storage_pool = args[:storage_pool] if args.key?(:storage_pool)
7014
7034
  @storage_type = args[:storage_type] if args.key?(:storage_type)
7015
7035
  @type = args[:type] if args.key?(:type)
7016
7036
  @user_licenses = args[:user_licenses] if args.key?(:user_licenses)
@@ -11713,7 +11733,7 @@ module Google
11713
11733
  # The ID of a supported feature. To add multiple values, use commas to separate
11714
11734
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
11715
11735
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
11716
- # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE -
11736
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
11717
11737
  # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
11718
11738
  # features.
11719
11739
  # Corresponds to the JSON property `type`
@@ -12071,6 +12091,20 @@ module Google
12071
12091
  # @return [String]
12072
12092
  attr_accessor :self_link
12073
12093
 
12094
+ # The list of cloud regions from which health checks are performed. If any
12095
+ # regions are specified, then exactly 3 regions should be specified. The region
12096
+ # names must be valid names of GCP regions. This can only be set for global
12097
+ # health check. If this list is non-empty, then there are restrictions on what
12098
+ # other health check fields are supported and what other resources can use this
12099
+ # health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP
12100
+ # request field is not supported. - The proxyHeader field for HTTP, HTTPS, and
12101
+ # TCP is not supported. - The checkIntervalSec field must be at least 30. - The
12102
+ # health check cannot be used with BackendService nor with managed instance
12103
+ # group auto-healing.
12104
+ # Corresponds to the JSON property `sourceRegions`
12105
+ # @return [Array<String>]
12106
+ attr_accessor :source_regions
12107
+
12074
12108
  #
12075
12109
  # Corresponds to the JSON property `sslHealthCheck`
12076
12110
  # @return [Google::Apis::ComputeBeta::SslHealthCheck]
@@ -12121,6 +12155,7 @@ module Google
12121
12155
  @name = args[:name] if args.key?(:name)
12122
12156
  @region = args[:region] if args.key?(:region)
12123
12157
  @self_link = args[:self_link] if args.key?(:self_link)
12158
+ @source_regions = args[:source_regions] if args.key?(:source_regions)
12124
12159
  @ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
12125
12160
  @tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
12126
12161
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -15819,6 +15854,11 @@ module Google
15819
15854
  # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
15820
15855
  attr_accessor :named_ports
15821
15856
 
15857
+ # Input only additional params for instance group manager creation.
15858
+ # Corresponds to the JSON property `params`
15859
+ # @return [Google::Apis::ComputeBeta::InstanceGroupManagerParams]
15860
+ attr_accessor :params
15861
+
15822
15862
  # [Output Only] The URL of the region where the managed instance group resides (
15823
15863
  # for regional resources).
15824
15864
  # Corresponds to the JSON property `region`
@@ -15930,6 +15970,7 @@ module Google
15930
15970
  @list_managed_instances_results = args[:list_managed_instances_results] if args.key?(:list_managed_instances_results)
15931
15971
  @name = args[:name] if args.key?(:name)
15932
15972
  @named_ports = args[:named_ports] if args.key?(:named_ports)
15973
+ @params = args[:params] if args.key?(:params)
15933
15974
  @region = args[:region] if args.key?(:region)
15934
15975
  @self_link = args[:self_link] if args.key?(:self_link)
15935
15976
  @service_account = args[:service_account] if args.key?(:service_account)
@@ -16441,6 +16482,28 @@ module Google
16441
16482
  end
16442
16483
  end
16443
16484
 
16485
+ # Input only additional params for instance group manager creation.
16486
+ class InstanceGroupManagerParams
16487
+ include Google::Apis::Core::Hashable
16488
+
16489
+ # Resource manager tags to be bound to the instance group manager. Tag keys and
16490
+ # values have the same definition as resource manager tags. Keys must be in the
16491
+ # format `tagKeys/123`, and values are in the format `tagValues/456`. The field
16492
+ # is allowed for INSERT only.
16493
+ # Corresponds to the JSON property `resourceManagerTags`
16494
+ # @return [Hash<String,String>]
16495
+ attr_accessor :resource_manager_tags
16496
+
16497
+ def initialize(**args)
16498
+ update!(**args)
16499
+ end
16500
+
16501
+ # Update properties of this object
16502
+ def update!(**args)
16503
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
16504
+ end
16505
+ end
16506
+
16444
16507
  # InstanceGroupManagerResizeRequest represents a request to create a number of
16445
16508
  # VMs: either immediately or by queuing the request for the specified time. This
16446
16509
  # resize request is nested under InstanceGroupManager and the VMs created by
@@ -22509,10 +22572,10 @@ module Google
22509
22572
 
22510
22573
  # [Output Only] Port pair remote location constraints, which can take one of the
22511
22574
  # following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION,
22512
- # PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports,
22513
- # but the UI uses this field when ordering a pair of ports, to prevent users
22514
- # from accidentally ordering something that is incompatible with their cloud
22515
- # provider. Specifically, when ordering a redundant pair of Cross-Cloud
22575
+ # PORT_PAIR_MATCHING_REMOTE_LOCATION. Google Cloud API refers only to individual
22576
+ # ports, but the UI uses this field when ordering a pair of ports, to prevent
22577
+ # users from accidentally ordering something that is incompatible with their
22578
+ # cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud
22516
22579
  # Interconnect ports, and one of them uses a remote location with
22517
22580
  # portPairMatchingRemoteLocation set to matching, the UI requires that both
22518
22581
  # ports use the same remote location.
@@ -40543,6 +40606,19 @@ module Google
40543
40606
  # @return [String]
40544
40607
  attr_accessor :producer_forwarding_rule
40545
40608
 
40609
+ # The number of consumer Network Connectivity Center spokes that connected
40610
+ # Private Service Connect endpoints can be propagated to. This limit lets a
40611
+ # service producer indirectly limit how many propagated Private Service Connect
40612
+ # connections can be established to the producer's service attachment. If the
40613
+ # connection preference of the service attachment is ACCEPT_MANUAL, the limit
40614
+ # applies to each project or network that is listed in the consumer accept list.
40615
+ # If the connection preference of the service attachment is ACCEPT_AUTOMATIC,
40616
+ # the limit applies to each project that contains a connected endpoint. If
40617
+ # unspecified, the default propagated connection limit is 250.
40618
+ # Corresponds to the JSON property `propagatedConnectionLimit`
40619
+ # @return [Fixnum]
40620
+ attr_accessor :propagated_connection_limit
40621
+
40546
40622
  # [Output Only] An 128-bit global unique ID of the PSC service attachment.
40547
40623
  # Corresponds to the JSON property `pscServiceAttachmentId`
40548
40624
  # @return [Google::Apis::ComputeBeta::Uint128]
@@ -40608,6 +40684,7 @@ module Google
40608
40684
  @name = args[:name] if args.key?(:name)
40609
40685
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
40610
40686
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
40687
+ @propagated_connection_limit = args[:propagated_connection_limit] if args.key?(:propagated_connection_limit)
40611
40688
  @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
40612
40689
  @reconcile_connections = args[:reconcile_connections] if args.key?(:reconcile_connections)
40613
40690
  @region = args[:region] if args.key?(:region)
@@ -40754,6 +40831,12 @@ module Google
40754
40831
  # @return [String]
40755
40832
  attr_accessor :endpoint
40756
40833
 
40834
+ # The number of consumer Network Connectivity Center spokes that the connected
40835
+ # Private Service Connect endpoint has propagated to.
40836
+ # Corresponds to the JSON property `propagatedConnectionCount`
40837
+ # @return [Fixnum]
40838
+ attr_accessor :propagated_connection_count
40839
+
40757
40840
  # The PSC connection id of the connected endpoint.
40758
40841
  # Corresponds to the JSON property `pscConnectionId`
40759
40842
  # @return [Fixnum]
@@ -40772,6 +40855,7 @@ module Google
40772
40855
  def update!(**args)
40773
40856
  @consumer_network = args[:consumer_network] if args.key?(:consumer_network)
40774
40857
  @endpoint = args[:endpoint] if args.key?(:endpoint)
40858
+ @propagated_connection_count = args[:propagated_connection_count] if args.key?(:propagated_connection_count)
40775
40859
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
40776
40860
  @status = args[:status] if args.key?(:status)
40777
40861
  end
@@ -43294,6 +43378,1244 @@ module Google
43294
43378
  end
43295
43379
  end
43296
43380
 
43381
+ # Represents a zonal storage pool resource.
43382
+ class StoragePool
43383
+ include Google::Apis::Core::Hashable
43384
+
43385
+ # Provisioning type of the byte capacity of the pool.
43386
+ # Corresponds to the JSON property `capacityProvisioningType`
43387
+ # @return [String]
43388
+ attr_accessor :capacity_provisioning_type
43389
+
43390
+ # [Output Only] Creation timestamp in RFC3339 text format.
43391
+ # Corresponds to the JSON property `creationTimestamp`
43392
+ # @return [String]
43393
+ attr_accessor :creation_timestamp
43394
+
43395
+ # An optional description of this resource. Provide this property when you
43396
+ # create the resource.
43397
+ # Corresponds to the JSON property `description`
43398
+ # @return [String]
43399
+ attr_accessor :description
43400
+
43401
+ # [Output Only] The unique identifier for the resource. This identifier is
43402
+ # defined by the server.
43403
+ # Corresponds to the JSON property `id`
43404
+ # @return [Fixnum]
43405
+ attr_accessor :id
43406
+
43407
+ # [Output Only] Type of the resource. Always compute#storagePool for storage
43408
+ # pools.
43409
+ # Corresponds to the JSON property `kind`
43410
+ # @return [String]
43411
+ attr_accessor :kind
43412
+
43413
+ # A fingerprint for the labels being applied to this storage pool, which is
43414
+ # essentially a hash of the labels set used for optimistic locking. The
43415
+ # fingerprint is initially generated by Compute Engine and changes after every
43416
+ # request to modify or update labels. You must always provide an up-to-date
43417
+ # fingerprint hash in order to update or change labels, otherwise the request
43418
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
43419
+ # a get() request to retrieve a storage pool.
43420
+ # Corresponds to the JSON property `labelFingerprint`
43421
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
43422
+ # @return [String]
43423
+ attr_accessor :label_fingerprint
43424
+
43425
+ # Labels to apply to this storage pool. These can be later modified by the
43426
+ # setLabels method.
43427
+ # Corresponds to the JSON property `labels`
43428
+ # @return [Hash<String,String>]
43429
+ attr_accessor :labels
43430
+
43431
+ # Name of the resource. Provided by the client when the resource is created. The
43432
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
43433
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
43434
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
43435
+ # and all following characters must be a dash, lowercase letter, or digit,
43436
+ # except the last character, which cannot be a dash.
43437
+ # Corresponds to the JSON property `name`
43438
+ # @return [String]
43439
+ attr_accessor :name
43440
+
43441
+ # Provisioning type of the performance-related parameters of the pool, such as
43442
+ # throughput and IOPS.
43443
+ # Corresponds to the JSON property `performanceProvisioningType`
43444
+ # @return [String]
43445
+ attr_accessor :performance_provisioning_type
43446
+
43447
+ # Size, in GiB, of the storage pool.
43448
+ # Corresponds to the JSON property `poolProvisionedCapacityGb`
43449
+ # @return [Fixnum]
43450
+ attr_accessor :pool_provisioned_capacity_gb
43451
+
43452
+ # Provisioned IOPS of the storage pool. Only relevant if the storage pool type
43453
+ # is hyperdisk-balanced.
43454
+ # Corresponds to the JSON property `poolProvisionedIops`
43455
+ # @return [Fixnum]
43456
+ attr_accessor :pool_provisioned_iops
43457
+
43458
+ # Provisioned throughput of the storage pool. Only relevant if the storage pool
43459
+ # type is hyperdisk-balanced or hyperdisk-throughput.
43460
+ # Corresponds to the JSON property `poolProvisionedThroughput`
43461
+ # @return [Fixnum]
43462
+ attr_accessor :pool_provisioned_throughput
43463
+
43464
+ # [Output Only] Contains output only fields.
43465
+ # Corresponds to the JSON property `resourceStatus`
43466
+ # @return [Google::Apis::ComputeBeta::StoragePoolResourceStatus]
43467
+ attr_accessor :resource_status
43468
+
43469
+ # [Output Only] Server-defined fully-qualified URL for this resource.
43470
+ # Corresponds to the JSON property `selfLink`
43471
+ # @return [String]
43472
+ attr_accessor :self_link
43473
+
43474
+ # [Output Only] Server-defined URL for this resource's resource id.
43475
+ # Corresponds to the JSON property `selfLinkWithId`
43476
+ # @return [String]
43477
+ attr_accessor :self_link_with_id
43478
+
43479
+ # [Output Only] The status of storage pool creation. - CREATING: Storage pool is
43480
+ # provisioning. storagePool. - FAILED: Storage pool creation failed. - READY:
43481
+ # Storage pool is ready for use. - DELETING: Storage pool is deleting.
43482
+ # Corresponds to the JSON property `state`
43483
+ # @return [String]
43484
+ attr_accessor :state
43485
+
43486
+ # [Output Only] Contains output only fields.
43487
+ # Corresponds to the JSON property `status`
43488
+ # @return [Google::Apis::ComputeBeta::StoragePoolResourceStatus]
43489
+ attr_accessor :status
43490
+
43491
+ # Type of the storage pool.
43492
+ # Corresponds to the JSON property `storagePoolType`
43493
+ # @return [String]
43494
+ attr_accessor :storage_pool_type
43495
+
43496
+ # [Output Only] URL of the zone where the storage pool resides. You must specify
43497
+ # this field as part of the HTTP request URL. It is not settable as a field in
43498
+ # the request body.
43499
+ # Corresponds to the JSON property `zone`
43500
+ # @return [String]
43501
+ attr_accessor :zone
43502
+
43503
+ def initialize(**args)
43504
+ update!(**args)
43505
+ end
43506
+
43507
+ # Update properties of this object
43508
+ def update!(**args)
43509
+ @capacity_provisioning_type = args[:capacity_provisioning_type] if args.key?(:capacity_provisioning_type)
43510
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
43511
+ @description = args[:description] if args.key?(:description)
43512
+ @id = args[:id] if args.key?(:id)
43513
+ @kind = args[:kind] if args.key?(:kind)
43514
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
43515
+ @labels = args[:labels] if args.key?(:labels)
43516
+ @name = args[:name] if args.key?(:name)
43517
+ @performance_provisioning_type = args[:performance_provisioning_type] if args.key?(:performance_provisioning_type)
43518
+ @pool_provisioned_capacity_gb = args[:pool_provisioned_capacity_gb] if args.key?(:pool_provisioned_capacity_gb)
43519
+ @pool_provisioned_iops = args[:pool_provisioned_iops] if args.key?(:pool_provisioned_iops)
43520
+ @pool_provisioned_throughput = args[:pool_provisioned_throughput] if args.key?(:pool_provisioned_throughput)
43521
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
43522
+ @self_link = args[:self_link] if args.key?(:self_link)
43523
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
43524
+ @state = args[:state] if args.key?(:state)
43525
+ @status = args[:status] if args.key?(:status)
43526
+ @storage_pool_type = args[:storage_pool_type] if args.key?(:storage_pool_type)
43527
+ @zone = args[:zone] if args.key?(:zone)
43528
+ end
43529
+ end
43530
+
43531
+ #
43532
+ class StoragePoolAggregatedList
43533
+ include Google::Apis::Core::Hashable
43534
+
43535
+ #
43536
+ # Corresponds to the JSON property `etag`
43537
+ # @return [String]
43538
+ attr_accessor :etag
43539
+
43540
+ # [Output Only] Unique identifier for the resource; defined by the server.
43541
+ # Corresponds to the JSON property `id`
43542
+ # @return [String]
43543
+ attr_accessor :id
43544
+
43545
+ # A list of StoragePoolsScopedList resources.
43546
+ # Corresponds to the JSON property `items`
43547
+ # @return [Hash<String,Google::Apis::ComputeBeta::StoragePoolsScopedList>]
43548
+ attr_accessor :items
43549
+
43550
+ # [Output Only] Type of resource. Always compute#storagePoolAggregatedList for
43551
+ # aggregated lists of storage pools.
43552
+ # Corresponds to the JSON property `kind`
43553
+ # @return [String]
43554
+ attr_accessor :kind
43555
+
43556
+ # [Output Only] This token allows you to get the next page of results for list
43557
+ # requests. If the number of results is larger than maxResults, use the
43558
+ # nextPageToken as a value for the query parameter pageToken in the next list
43559
+ # request. Subsequent list requests will have their own nextPageToken to
43560
+ # continue paging through the results.
43561
+ # Corresponds to the JSON property `nextPageToken`
43562
+ # @return [String]
43563
+ attr_accessor :next_page_token
43564
+
43565
+ # [Output Only] Server-defined URL for this resource.
43566
+ # Corresponds to the JSON property `selfLink`
43567
+ # @return [String]
43568
+ attr_accessor :self_link
43569
+
43570
+ # [Output Only] Unreachable resources.
43571
+ # Corresponds to the JSON property `unreachables`
43572
+ # @return [Array<String>]
43573
+ attr_accessor :unreachables
43574
+
43575
+ # [Output Only] Informational warning message.
43576
+ # Corresponds to the JSON property `warning`
43577
+ # @return [Google::Apis::ComputeBeta::StoragePoolAggregatedList::Warning]
43578
+ attr_accessor :warning
43579
+
43580
+ def initialize(**args)
43581
+ update!(**args)
43582
+ end
43583
+
43584
+ # Update properties of this object
43585
+ def update!(**args)
43586
+ @etag = args[:etag] if args.key?(:etag)
43587
+ @id = args[:id] if args.key?(:id)
43588
+ @items = args[:items] if args.key?(:items)
43589
+ @kind = args[:kind] if args.key?(:kind)
43590
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
43591
+ @self_link = args[:self_link] if args.key?(:self_link)
43592
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
43593
+ @warning = args[:warning] if args.key?(:warning)
43594
+ end
43595
+
43596
+ # [Output Only] Informational warning message.
43597
+ class Warning
43598
+ include Google::Apis::Core::Hashable
43599
+
43600
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
43601
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
43602
+ # Corresponds to the JSON property `code`
43603
+ # @return [String]
43604
+ attr_accessor :code
43605
+
43606
+ # [Output Only] Metadata about this warning in key: value format. For example: "
43607
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
43608
+ # Corresponds to the JSON property `data`
43609
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolAggregatedList::Warning::Datum>]
43610
+ attr_accessor :data
43611
+
43612
+ # [Output Only] A human-readable description of the warning code.
43613
+ # Corresponds to the JSON property `message`
43614
+ # @return [String]
43615
+ attr_accessor :message
43616
+
43617
+ def initialize(**args)
43618
+ update!(**args)
43619
+ end
43620
+
43621
+ # Update properties of this object
43622
+ def update!(**args)
43623
+ @code = args[:code] if args.key?(:code)
43624
+ @data = args[:data] if args.key?(:data)
43625
+ @message = args[:message] if args.key?(:message)
43626
+ end
43627
+
43628
+ #
43629
+ class Datum
43630
+ include Google::Apis::Core::Hashable
43631
+
43632
+ # [Output Only] A key that provides more detail on the warning being returned.
43633
+ # For example, for warnings where there are no results in a list request for a
43634
+ # particular zone, this key might be scope and the key value might be the zone
43635
+ # name. Other examples might be a key indicating a deprecated resource and a
43636
+ # suggested replacement, or a warning about invalid network settings (for
43637
+ # example, if an instance attempts to perform IP forwarding but is not enabled
43638
+ # for IP forwarding).
43639
+ # Corresponds to the JSON property `key`
43640
+ # @return [String]
43641
+ attr_accessor :key
43642
+
43643
+ # [Output Only] A warning data value corresponding to the key.
43644
+ # Corresponds to the JSON property `value`
43645
+ # @return [String]
43646
+ attr_accessor :value
43647
+
43648
+ def initialize(**args)
43649
+ update!(**args)
43650
+ end
43651
+
43652
+ # Update properties of this object
43653
+ def update!(**args)
43654
+ @key = args[:key] if args.key?(:key)
43655
+ @value = args[:value] if args.key?(:value)
43656
+ end
43657
+ end
43658
+ end
43659
+ end
43660
+
43661
+ #
43662
+ class StoragePoolDisk
43663
+ include Google::Apis::Core::Hashable
43664
+
43665
+ # [Output Only] Instances this disk is attached to.
43666
+ # Corresponds to the JSON property `attachedInstances`
43667
+ # @return [Array<String>]
43668
+ attr_accessor :attached_instances
43669
+
43670
+ # [Output Only] Creation timestamp in RFC3339 text format.
43671
+ # Corresponds to the JSON property `creationTimestamp`
43672
+ # @return [String]
43673
+ attr_accessor :creation_timestamp
43674
+
43675
+ # [Output Only] The URL of the disk.
43676
+ # Corresponds to the JSON property `disk`
43677
+ # @return [String]
43678
+ attr_accessor :disk
43679
+
43680
+ # [Output Only] The name of the disk.
43681
+ # Corresponds to the JSON property `name`
43682
+ # @return [String]
43683
+ attr_accessor :name
43684
+
43685
+ # [Output Only] The number of IOPS provisioned for the disk.
43686
+ # Corresponds to the JSON property `provisionedIops`
43687
+ # @return [Fixnum]
43688
+ attr_accessor :provisioned_iops
43689
+
43690
+ # [Output Only] The throughput provisioned for the disk.
43691
+ # Corresponds to the JSON property `provisionedThroughput`
43692
+ # @return [Fixnum]
43693
+ attr_accessor :provisioned_throughput
43694
+
43695
+ # [Output Only] Resource policies applied to disk for automatic snapshot
43696
+ # creations.
43697
+ # Corresponds to the JSON property `resourcePolicies`
43698
+ # @return [Array<String>]
43699
+ attr_accessor :resource_policies
43700
+
43701
+ # [Output Only] The disk size, in GB.
43702
+ # Corresponds to the JSON property `sizeGb`
43703
+ # @return [Fixnum]
43704
+ attr_accessor :size_gb
43705
+
43706
+ # [Output Only] The disk status.
43707
+ # Corresponds to the JSON property `status`
43708
+ # @return [String]
43709
+ attr_accessor :status
43710
+
43711
+ # [Output Only] The disk type.
43712
+ # Corresponds to the JSON property `type`
43713
+ # @return [String]
43714
+ attr_accessor :type
43715
+
43716
+ # [Output Only] Amount of disk space used.
43717
+ # Corresponds to the JSON property `usedBytes`
43718
+ # @return [Fixnum]
43719
+ attr_accessor :used_bytes
43720
+
43721
+ def initialize(**args)
43722
+ update!(**args)
43723
+ end
43724
+
43725
+ # Update properties of this object
43726
+ def update!(**args)
43727
+ @attached_instances = args[:attached_instances] if args.key?(:attached_instances)
43728
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
43729
+ @disk = args[:disk] if args.key?(:disk)
43730
+ @name = args[:name] if args.key?(:name)
43731
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
43732
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
43733
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
43734
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
43735
+ @status = args[:status] if args.key?(:status)
43736
+ @type = args[:type] if args.key?(:type)
43737
+ @used_bytes = args[:used_bytes] if args.key?(:used_bytes)
43738
+ end
43739
+ end
43740
+
43741
+ # A list of StoragePool resources.
43742
+ class StoragePoolList
43743
+ include Google::Apis::Core::Hashable
43744
+
43745
+ #
43746
+ # Corresponds to the JSON property `etag`
43747
+ # @return [String]
43748
+ attr_accessor :etag
43749
+
43750
+ # [Output Only] Unique identifier for the resource; defined by the server.
43751
+ # Corresponds to the JSON property `id`
43752
+ # @return [String]
43753
+ attr_accessor :id
43754
+
43755
+ # A list of StoragePool resources.
43756
+ # Corresponds to the JSON property `items`
43757
+ # @return [Array<Google::Apis::ComputeBeta::StoragePool>]
43758
+ attr_accessor :items
43759
+
43760
+ # [Output Only] Type of resource. Always compute#storagePoolList for lists of
43761
+ # storagePools.
43762
+ # Corresponds to the JSON property `kind`
43763
+ # @return [String]
43764
+ attr_accessor :kind
43765
+
43766
+ # [Output Only] This token allows you to get the next page of results for list
43767
+ # requests. If the number of results is larger than maxResults, use the
43768
+ # nextPageToken as a value for the query parameter pageToken in the next list
43769
+ # request. Subsequent list requests will have their own nextPageToken to
43770
+ # continue paging through the results.
43771
+ # Corresponds to the JSON property `nextPageToken`
43772
+ # @return [String]
43773
+ attr_accessor :next_page_token
43774
+
43775
+ # [Output Only] Server-defined URL for this resource.
43776
+ # Corresponds to the JSON property `selfLink`
43777
+ # @return [String]
43778
+ attr_accessor :self_link
43779
+
43780
+ # [Output Only] Unreachable resources. end_interface:
43781
+ # MixerListResponseWithEtagBuilder
43782
+ # Corresponds to the JSON property `unreachables`
43783
+ # @return [Array<String>]
43784
+ attr_accessor :unreachables
43785
+
43786
+ # [Output Only] Informational warning message.
43787
+ # Corresponds to the JSON property `warning`
43788
+ # @return [Google::Apis::ComputeBeta::StoragePoolList::Warning]
43789
+ attr_accessor :warning
43790
+
43791
+ def initialize(**args)
43792
+ update!(**args)
43793
+ end
43794
+
43795
+ # Update properties of this object
43796
+ def update!(**args)
43797
+ @etag = args[:etag] if args.key?(:etag)
43798
+ @id = args[:id] if args.key?(:id)
43799
+ @items = args[:items] if args.key?(:items)
43800
+ @kind = args[:kind] if args.key?(:kind)
43801
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
43802
+ @self_link = args[:self_link] if args.key?(:self_link)
43803
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
43804
+ @warning = args[:warning] if args.key?(:warning)
43805
+ end
43806
+
43807
+ # [Output Only] Informational warning message.
43808
+ class Warning
43809
+ include Google::Apis::Core::Hashable
43810
+
43811
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
43812
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
43813
+ # Corresponds to the JSON property `code`
43814
+ # @return [String]
43815
+ attr_accessor :code
43816
+
43817
+ # [Output Only] Metadata about this warning in key: value format. For example: "
43818
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
43819
+ # Corresponds to the JSON property `data`
43820
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolList::Warning::Datum>]
43821
+ attr_accessor :data
43822
+
43823
+ # [Output Only] A human-readable description of the warning code.
43824
+ # Corresponds to the JSON property `message`
43825
+ # @return [String]
43826
+ attr_accessor :message
43827
+
43828
+ def initialize(**args)
43829
+ update!(**args)
43830
+ end
43831
+
43832
+ # Update properties of this object
43833
+ def update!(**args)
43834
+ @code = args[:code] if args.key?(:code)
43835
+ @data = args[:data] if args.key?(:data)
43836
+ @message = args[:message] if args.key?(:message)
43837
+ end
43838
+
43839
+ #
43840
+ class Datum
43841
+ include Google::Apis::Core::Hashable
43842
+
43843
+ # [Output Only] A key that provides more detail on the warning being returned.
43844
+ # For example, for warnings where there are no results in a list request for a
43845
+ # particular zone, this key might be scope and the key value might be the zone
43846
+ # name. Other examples might be a key indicating a deprecated resource and a
43847
+ # suggested replacement, or a warning about invalid network settings (for
43848
+ # example, if an instance attempts to perform IP forwarding but is not enabled
43849
+ # for IP forwarding).
43850
+ # Corresponds to the JSON property `key`
43851
+ # @return [String]
43852
+ attr_accessor :key
43853
+
43854
+ # [Output Only] A warning data value corresponding to the key.
43855
+ # Corresponds to the JSON property `value`
43856
+ # @return [String]
43857
+ attr_accessor :value
43858
+
43859
+ def initialize(**args)
43860
+ update!(**args)
43861
+ end
43862
+
43863
+ # Update properties of this object
43864
+ def update!(**args)
43865
+ @key = args[:key] if args.key?(:key)
43866
+ @value = args[:value] if args.key?(:value)
43867
+ end
43868
+ end
43869
+ end
43870
+ end
43871
+
43872
+ #
43873
+ class StoragePoolListDisks
43874
+ include Google::Apis::Core::Hashable
43875
+
43876
+ #
43877
+ # Corresponds to the JSON property `etag`
43878
+ # @return [String]
43879
+ attr_accessor :etag
43880
+
43881
+ # [Output Only] Unique identifier for the resource; defined by the server.
43882
+ # Corresponds to the JSON property `id`
43883
+ # @return [String]
43884
+ attr_accessor :id
43885
+
43886
+ # A list of StoragePoolDisk resources.
43887
+ # Corresponds to the JSON property `items`
43888
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolDisk>]
43889
+ attr_accessor :items
43890
+
43891
+ # [Output Only] Type of resource. Always compute#storagePoolListDisks for lists
43892
+ # of disks in a storagePool.
43893
+ # Corresponds to the JSON property `kind`
43894
+ # @return [String]
43895
+ attr_accessor :kind
43896
+
43897
+ # [Output Only] This token allows you to get the next page of results for list
43898
+ # requests. If the number of results is larger than maxResults, use the
43899
+ # nextPageToken as a value for the query parameter pageToken in the next list
43900
+ # request. Subsequent list requests will have their own nextPageToken to
43901
+ # continue paging through the results.
43902
+ # Corresponds to the JSON property `nextPageToken`
43903
+ # @return [String]
43904
+ attr_accessor :next_page_token
43905
+
43906
+ # [Output Only] Server-defined URL for this resource.
43907
+ # Corresponds to the JSON property `selfLink`
43908
+ # @return [String]
43909
+ attr_accessor :self_link
43910
+
43911
+ # [Output Only] Unreachable resources. end_interface:
43912
+ # MixerListResponseWithEtagBuilder
43913
+ # Corresponds to the JSON property `unreachables`
43914
+ # @return [Array<String>]
43915
+ attr_accessor :unreachables
43916
+
43917
+ # [Output Only] Informational warning message.
43918
+ # Corresponds to the JSON property `warning`
43919
+ # @return [Google::Apis::ComputeBeta::StoragePoolListDisks::Warning]
43920
+ attr_accessor :warning
43921
+
43922
+ def initialize(**args)
43923
+ update!(**args)
43924
+ end
43925
+
43926
+ # Update properties of this object
43927
+ def update!(**args)
43928
+ @etag = args[:etag] if args.key?(:etag)
43929
+ @id = args[:id] if args.key?(:id)
43930
+ @items = args[:items] if args.key?(:items)
43931
+ @kind = args[:kind] if args.key?(:kind)
43932
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
43933
+ @self_link = args[:self_link] if args.key?(:self_link)
43934
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
43935
+ @warning = args[:warning] if args.key?(:warning)
43936
+ end
43937
+
43938
+ # [Output Only] Informational warning message.
43939
+ class Warning
43940
+ include Google::Apis::Core::Hashable
43941
+
43942
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
43943
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
43944
+ # Corresponds to the JSON property `code`
43945
+ # @return [String]
43946
+ attr_accessor :code
43947
+
43948
+ # [Output Only] Metadata about this warning in key: value format. For example: "
43949
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
43950
+ # Corresponds to the JSON property `data`
43951
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolListDisks::Warning::Datum>]
43952
+ attr_accessor :data
43953
+
43954
+ # [Output Only] A human-readable description of the warning code.
43955
+ # Corresponds to the JSON property `message`
43956
+ # @return [String]
43957
+ attr_accessor :message
43958
+
43959
+ def initialize(**args)
43960
+ update!(**args)
43961
+ end
43962
+
43963
+ # Update properties of this object
43964
+ def update!(**args)
43965
+ @code = args[:code] if args.key?(:code)
43966
+ @data = args[:data] if args.key?(:data)
43967
+ @message = args[:message] if args.key?(:message)
43968
+ end
43969
+
43970
+ #
43971
+ class Datum
43972
+ include Google::Apis::Core::Hashable
43973
+
43974
+ # [Output Only] A key that provides more detail on the warning being returned.
43975
+ # For example, for warnings where there are no results in a list request for a
43976
+ # particular zone, this key might be scope and the key value might be the zone
43977
+ # name. Other examples might be a key indicating a deprecated resource and a
43978
+ # suggested replacement, or a warning about invalid network settings (for
43979
+ # example, if an instance attempts to perform IP forwarding but is not enabled
43980
+ # for IP forwarding).
43981
+ # Corresponds to the JSON property `key`
43982
+ # @return [String]
43983
+ attr_accessor :key
43984
+
43985
+ # [Output Only] A warning data value corresponding to the key.
43986
+ # Corresponds to the JSON property `value`
43987
+ # @return [String]
43988
+ attr_accessor :value
43989
+
43990
+ def initialize(**args)
43991
+ update!(**args)
43992
+ end
43993
+
43994
+ # Update properties of this object
43995
+ def update!(**args)
43996
+ @key = args[:key] if args.key?(:key)
43997
+ @value = args[:value] if args.key?(:value)
43998
+ end
43999
+ end
44000
+ end
44001
+ end
44002
+
44003
+ # [Output Only] Contains output only fields.
44004
+ class StoragePoolResourceStatus
44005
+ include Google::Apis::Core::Hashable
44006
+
44007
+ # [Output Only] Number of disks used.
44008
+ # Corresponds to the JSON property `diskCount`
44009
+ # @return [Fixnum]
44010
+ attr_accessor :disk_count
44011
+
44012
+ # [Output Only] Timestamp of the last successful resize in RFC3339 text format.
44013
+ # Corresponds to the JSON property `lastResizeTimestamp`
44014
+ # @return [String]
44015
+ attr_accessor :last_resize_timestamp
44016
+
44017
+ # [Output Only] Maximum allowed aggregate disk size in gigabytes.
44018
+ # Corresponds to the JSON property `maxTotalProvisionedDiskCapacityGb`
44019
+ # @return [Fixnum]
44020
+ attr_accessor :max_total_provisioned_disk_capacity_gb
44021
+
44022
+ # [Output Only] Space used by data stored in disks within the storage pool (in
44023
+ # bytes). This will reflect the total number of bytes written to the disks in
44024
+ # the pool, in contrast to the capacity of those disks.
44025
+ # Corresponds to the JSON property `poolUsedCapacityBytes`
44026
+ # @return [Fixnum]
44027
+ attr_accessor :pool_used_capacity_bytes
44028
+
44029
+ # Sum of all the disks' provisioned IOPS, minus some amount that is allowed per
44030
+ # disk that is not counted towards pool's IOPS capacity.
44031
+ # Corresponds to the JSON property `poolUsedIops`
44032
+ # @return [Fixnum]
44033
+ attr_accessor :pool_used_iops
44034
+
44035
+ # [Output Only] Sum of all the disks' provisioned throughput in MB/s.
44036
+ # Corresponds to the JSON property `poolUsedThroughput`
44037
+ # @return [Fixnum]
44038
+ attr_accessor :pool_used_throughput
44039
+
44040
+ # [Output Only] Amount of data written into the pool, before it is compacted.
44041
+ # Corresponds to the JSON property `poolUserWrittenBytes`
44042
+ # @return [Fixnum]
44043
+ attr_accessor :pool_user_written_bytes
44044
+
44045
+ # [Output Only] Sum of all the capacity provisioned in disks in this storage
44046
+ # pool. A disk's provisioned capacity is the same as its total capacity.
44047
+ # Corresponds to the JSON property `totalProvisionedDiskCapacityGb`
44048
+ # @return [Fixnum]
44049
+ attr_accessor :total_provisioned_disk_capacity_gb
44050
+
44051
+ # [Output Only] Sum of all the disks' provisioned IOPS.
44052
+ # Corresponds to the JSON property `totalProvisionedDiskIops`
44053
+ # @return [Fixnum]
44054
+ attr_accessor :total_provisioned_disk_iops
44055
+
44056
+ # [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some
44057
+ # amount that is allowed per disk that is not counted towards pool's throughput
44058
+ # capacity.
44059
+ # Corresponds to the JSON property `totalProvisionedDiskThroughput`
44060
+ # @return [Fixnum]
44061
+ attr_accessor :total_provisioned_disk_throughput
44062
+
44063
+ def initialize(**args)
44064
+ update!(**args)
44065
+ end
44066
+
44067
+ # Update properties of this object
44068
+ def update!(**args)
44069
+ @disk_count = args[:disk_count] if args.key?(:disk_count)
44070
+ @last_resize_timestamp = args[:last_resize_timestamp] if args.key?(:last_resize_timestamp)
44071
+ @max_total_provisioned_disk_capacity_gb = args[:max_total_provisioned_disk_capacity_gb] if args.key?(:max_total_provisioned_disk_capacity_gb)
44072
+ @pool_used_capacity_bytes = args[:pool_used_capacity_bytes] if args.key?(:pool_used_capacity_bytes)
44073
+ @pool_used_iops = args[:pool_used_iops] if args.key?(:pool_used_iops)
44074
+ @pool_used_throughput = args[:pool_used_throughput] if args.key?(:pool_used_throughput)
44075
+ @pool_user_written_bytes = args[:pool_user_written_bytes] if args.key?(:pool_user_written_bytes)
44076
+ @total_provisioned_disk_capacity_gb = args[:total_provisioned_disk_capacity_gb] if args.key?(:total_provisioned_disk_capacity_gb)
44077
+ @total_provisioned_disk_iops = args[:total_provisioned_disk_iops] if args.key?(:total_provisioned_disk_iops)
44078
+ @total_provisioned_disk_throughput = args[:total_provisioned_disk_throughput] if args.key?(:total_provisioned_disk_throughput)
44079
+ end
44080
+ end
44081
+
44082
+ #
44083
+ class StoragePoolType
44084
+ include Google::Apis::Core::Hashable
44085
+
44086
+ # [Output Only] Creation timestamp in RFC3339 text format.
44087
+ # Corresponds to the JSON property `creationTimestamp`
44088
+ # @return [String]
44089
+ attr_accessor :creation_timestamp
44090
+
44091
+ # Deprecation status for a public resource.
44092
+ # Corresponds to the JSON property `deprecated`
44093
+ # @return [Google::Apis::ComputeBeta::DeprecationStatus]
44094
+ attr_accessor :deprecated
44095
+
44096
+ # [Output Only] An optional description of this resource.
44097
+ # Corresponds to the JSON property `description`
44098
+ # @return [String]
44099
+ attr_accessor :description
44100
+
44101
+ # [Output Only] The unique identifier for the resource. This identifier is
44102
+ # defined by the server.
44103
+ # Corresponds to the JSON property `id`
44104
+ # @return [Fixnum]
44105
+ attr_accessor :id
44106
+
44107
+ # [Output Only] Type of the resource. Always compute#storagePoolType for storage
44108
+ # pool types.
44109
+ # Corresponds to the JSON property `kind`
44110
+ # @return [String]
44111
+ attr_accessor :kind
44112
+
44113
+ # [Output Only] Maximum storage pool size in GB.
44114
+ # Corresponds to the JSON property `maxPoolProvisionedCapacityGb`
44115
+ # @return [Fixnum]
44116
+ attr_accessor :max_pool_provisioned_capacity_gb
44117
+
44118
+ # [Output Only] Maximum provisioned IOPS.
44119
+ # Corresponds to the JSON property `maxPoolProvisionedIops`
44120
+ # @return [Fixnum]
44121
+ attr_accessor :max_pool_provisioned_iops
44122
+
44123
+ # [Output Only] Maximum provisioned throughput.
44124
+ # Corresponds to the JSON property `maxPoolProvisionedThroughput`
44125
+ # @return [Fixnum]
44126
+ attr_accessor :max_pool_provisioned_throughput
44127
+
44128
+ # [Output Only] Minimum storage pool size in GB.
44129
+ # Corresponds to the JSON property `minPoolProvisionedCapacityGb`
44130
+ # @return [Fixnum]
44131
+ attr_accessor :min_pool_provisioned_capacity_gb
44132
+
44133
+ # [Output Only] Minimum provisioned IOPS.
44134
+ # Corresponds to the JSON property `minPoolProvisionedIops`
44135
+ # @return [Fixnum]
44136
+ attr_accessor :min_pool_provisioned_iops
44137
+
44138
+ # [Output Only] Minimum provisioned throughput.
44139
+ # Corresponds to the JSON property `minPoolProvisionedThroughput`
44140
+ # @return [Fixnum]
44141
+ attr_accessor :min_pool_provisioned_throughput
44142
+
44143
+ # [Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb
44144
+ # instead.
44145
+ # Corresponds to the JSON property `minSizeGb`
44146
+ # @return [Fixnum]
44147
+ attr_accessor :min_size_gb
44148
+
44149
+ # [Output Only] Name of the resource.
44150
+ # Corresponds to the JSON property `name`
44151
+ # @return [String]
44152
+ attr_accessor :name
44153
+
44154
+ # [Output Only] Server-defined URL for the resource.
44155
+ # Corresponds to the JSON property `selfLink`
44156
+ # @return [String]
44157
+ attr_accessor :self_link
44158
+
44159
+ # [Output Only] Server-defined URL for this resource with the resource id.
44160
+ # Corresponds to the JSON property `selfLinkWithId`
44161
+ # @return [String]
44162
+ attr_accessor :self_link_with_id
44163
+
44164
+ # [Output Only] The list of disk types supported in this storage pool type.
44165
+ # Corresponds to the JSON property `supportedDiskTypes`
44166
+ # @return [Array<String>]
44167
+ attr_accessor :supported_disk_types
44168
+
44169
+ # [Output Only] URL of the zone where the storage pool type resides. You must
44170
+ # specify this field as part of the HTTP request URL. It is not settable as a
44171
+ # field in the request body.
44172
+ # Corresponds to the JSON property `zone`
44173
+ # @return [String]
44174
+ attr_accessor :zone
44175
+
44176
+ def initialize(**args)
44177
+ update!(**args)
44178
+ end
44179
+
44180
+ # Update properties of this object
44181
+ def update!(**args)
44182
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
44183
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
44184
+ @description = args[:description] if args.key?(:description)
44185
+ @id = args[:id] if args.key?(:id)
44186
+ @kind = args[:kind] if args.key?(:kind)
44187
+ @max_pool_provisioned_capacity_gb = args[:max_pool_provisioned_capacity_gb] if args.key?(:max_pool_provisioned_capacity_gb)
44188
+ @max_pool_provisioned_iops = args[:max_pool_provisioned_iops] if args.key?(:max_pool_provisioned_iops)
44189
+ @max_pool_provisioned_throughput = args[:max_pool_provisioned_throughput] if args.key?(:max_pool_provisioned_throughput)
44190
+ @min_pool_provisioned_capacity_gb = args[:min_pool_provisioned_capacity_gb] if args.key?(:min_pool_provisioned_capacity_gb)
44191
+ @min_pool_provisioned_iops = args[:min_pool_provisioned_iops] if args.key?(:min_pool_provisioned_iops)
44192
+ @min_pool_provisioned_throughput = args[:min_pool_provisioned_throughput] if args.key?(:min_pool_provisioned_throughput)
44193
+ @min_size_gb = args[:min_size_gb] if args.key?(:min_size_gb)
44194
+ @name = args[:name] if args.key?(:name)
44195
+ @self_link = args[:self_link] if args.key?(:self_link)
44196
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
44197
+ @supported_disk_types = args[:supported_disk_types] if args.key?(:supported_disk_types)
44198
+ @zone = args[:zone] if args.key?(:zone)
44199
+ end
44200
+ end
44201
+
44202
+ #
44203
+ class StoragePoolTypeAggregatedList
44204
+ include Google::Apis::Core::Hashable
44205
+
44206
+ # [Output Only] Unique identifier for the resource; defined by the server.
44207
+ # Corresponds to the JSON property `id`
44208
+ # @return [String]
44209
+ attr_accessor :id
44210
+
44211
+ # A list of StoragePoolTypesScopedList resources.
44212
+ # Corresponds to the JSON property `items`
44213
+ # @return [Hash<String,Google::Apis::ComputeBeta::StoragePoolTypesScopedList>]
44214
+ attr_accessor :items
44215
+
44216
+ # [Output Only] Type of resource. Always compute#storagePoolTypeAggregatedList .
44217
+ # Corresponds to the JSON property `kind`
44218
+ # @return [String]
44219
+ attr_accessor :kind
44220
+
44221
+ # [Output Only] This token allows you to get the next page of results for list
44222
+ # requests. If the number of results is larger than maxResults, use the
44223
+ # nextPageToken as a value for the query parameter pageToken in the next list
44224
+ # request. Subsequent list requests will have their own nextPageToken to
44225
+ # continue paging through the results.
44226
+ # Corresponds to the JSON property `nextPageToken`
44227
+ # @return [String]
44228
+ attr_accessor :next_page_token
44229
+
44230
+ # [Output Only] Server-defined URL for this resource.
44231
+ # Corresponds to the JSON property `selfLink`
44232
+ # @return [String]
44233
+ attr_accessor :self_link
44234
+
44235
+ # [Output Only] Informational warning message.
44236
+ # Corresponds to the JSON property `warning`
44237
+ # @return [Google::Apis::ComputeBeta::StoragePoolTypeAggregatedList::Warning]
44238
+ attr_accessor :warning
44239
+
44240
+ def initialize(**args)
44241
+ update!(**args)
44242
+ end
44243
+
44244
+ # Update properties of this object
44245
+ def update!(**args)
44246
+ @id = args[:id] if args.key?(:id)
44247
+ @items = args[:items] if args.key?(:items)
44248
+ @kind = args[:kind] if args.key?(:kind)
44249
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
44250
+ @self_link = args[:self_link] if args.key?(:self_link)
44251
+ @warning = args[:warning] if args.key?(:warning)
44252
+ end
44253
+
44254
+ # [Output Only] Informational warning message.
44255
+ class Warning
44256
+ include Google::Apis::Core::Hashable
44257
+
44258
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
44259
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
44260
+ # Corresponds to the JSON property `code`
44261
+ # @return [String]
44262
+ attr_accessor :code
44263
+
44264
+ # [Output Only] Metadata about this warning in key: value format. For example: "
44265
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
44266
+ # Corresponds to the JSON property `data`
44267
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolTypeAggregatedList::Warning::Datum>]
44268
+ attr_accessor :data
44269
+
44270
+ # [Output Only] A human-readable description of the warning code.
44271
+ # Corresponds to the JSON property `message`
44272
+ # @return [String]
44273
+ attr_accessor :message
44274
+
44275
+ def initialize(**args)
44276
+ update!(**args)
44277
+ end
44278
+
44279
+ # Update properties of this object
44280
+ def update!(**args)
44281
+ @code = args[:code] if args.key?(:code)
44282
+ @data = args[:data] if args.key?(:data)
44283
+ @message = args[:message] if args.key?(:message)
44284
+ end
44285
+
44286
+ #
44287
+ class Datum
44288
+ include Google::Apis::Core::Hashable
44289
+
44290
+ # [Output Only] A key that provides more detail on the warning being returned.
44291
+ # For example, for warnings where there are no results in a list request for a
44292
+ # particular zone, this key might be scope and the key value might be the zone
44293
+ # name. Other examples might be a key indicating a deprecated resource and a
44294
+ # suggested replacement, or a warning about invalid network settings (for
44295
+ # example, if an instance attempts to perform IP forwarding but is not enabled
44296
+ # for IP forwarding).
44297
+ # Corresponds to the JSON property `key`
44298
+ # @return [String]
44299
+ attr_accessor :key
44300
+
44301
+ # [Output Only] A warning data value corresponding to the key.
44302
+ # Corresponds to the JSON property `value`
44303
+ # @return [String]
44304
+ attr_accessor :value
44305
+
44306
+ def initialize(**args)
44307
+ update!(**args)
44308
+ end
44309
+
44310
+ # Update properties of this object
44311
+ def update!(**args)
44312
+ @key = args[:key] if args.key?(:key)
44313
+ @value = args[:value] if args.key?(:value)
44314
+ end
44315
+ end
44316
+ end
44317
+ end
44318
+
44319
+ # Contains a list of storage pool types.
44320
+ class StoragePoolTypeList
44321
+ include Google::Apis::Core::Hashable
44322
+
44323
+ # [Output Only] Unique identifier for the resource; defined by the server.
44324
+ # Corresponds to the JSON property `id`
44325
+ # @return [String]
44326
+ attr_accessor :id
44327
+
44328
+ # A list of StoragePoolType resources.
44329
+ # Corresponds to the JSON property `items`
44330
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolType>]
44331
+ attr_accessor :items
44332
+
44333
+ # [Output Only] Type of resource. Always compute#storagePoolTypeList for storage
44334
+ # pool types.
44335
+ # Corresponds to the JSON property `kind`
44336
+ # @return [String]
44337
+ attr_accessor :kind
44338
+
44339
+ # [Output Only] This token allows you to get the next page of results for list
44340
+ # requests. If the number of results is larger than maxResults, use the
44341
+ # nextPageToken as a value for the query parameter pageToken in the next list
44342
+ # request. Subsequent list requests will have their own nextPageToken to
44343
+ # continue paging through the results.
44344
+ # Corresponds to the JSON property `nextPageToken`
44345
+ # @return [String]
44346
+ attr_accessor :next_page_token
44347
+
44348
+ # [Output Only] Server-defined URL for this resource.
44349
+ # Corresponds to the JSON property `selfLink`
44350
+ # @return [String]
44351
+ attr_accessor :self_link
44352
+
44353
+ # [Output Only] Informational warning message.
44354
+ # Corresponds to the JSON property `warning`
44355
+ # @return [Google::Apis::ComputeBeta::StoragePoolTypeList::Warning]
44356
+ attr_accessor :warning
44357
+
44358
+ def initialize(**args)
44359
+ update!(**args)
44360
+ end
44361
+
44362
+ # Update properties of this object
44363
+ def update!(**args)
44364
+ @id = args[:id] if args.key?(:id)
44365
+ @items = args[:items] if args.key?(:items)
44366
+ @kind = args[:kind] if args.key?(:kind)
44367
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
44368
+ @self_link = args[:self_link] if args.key?(:self_link)
44369
+ @warning = args[:warning] if args.key?(:warning)
44370
+ end
44371
+
44372
+ # [Output Only] Informational warning message.
44373
+ class Warning
44374
+ include Google::Apis::Core::Hashable
44375
+
44376
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
44377
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
44378
+ # Corresponds to the JSON property `code`
44379
+ # @return [String]
44380
+ attr_accessor :code
44381
+
44382
+ # [Output Only] Metadata about this warning in key: value format. For example: "
44383
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
44384
+ # Corresponds to the JSON property `data`
44385
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolTypeList::Warning::Datum>]
44386
+ attr_accessor :data
44387
+
44388
+ # [Output Only] A human-readable description of the warning code.
44389
+ # Corresponds to the JSON property `message`
44390
+ # @return [String]
44391
+ attr_accessor :message
44392
+
44393
+ def initialize(**args)
44394
+ update!(**args)
44395
+ end
44396
+
44397
+ # Update properties of this object
44398
+ def update!(**args)
44399
+ @code = args[:code] if args.key?(:code)
44400
+ @data = args[:data] if args.key?(:data)
44401
+ @message = args[:message] if args.key?(:message)
44402
+ end
44403
+
44404
+ #
44405
+ class Datum
44406
+ include Google::Apis::Core::Hashable
44407
+
44408
+ # [Output Only] A key that provides more detail on the warning being returned.
44409
+ # For example, for warnings where there are no results in a list request for a
44410
+ # particular zone, this key might be scope and the key value might be the zone
44411
+ # name. Other examples might be a key indicating a deprecated resource and a
44412
+ # suggested replacement, or a warning about invalid network settings (for
44413
+ # example, if an instance attempts to perform IP forwarding but is not enabled
44414
+ # for IP forwarding).
44415
+ # Corresponds to the JSON property `key`
44416
+ # @return [String]
44417
+ attr_accessor :key
44418
+
44419
+ # [Output Only] A warning data value corresponding to the key.
44420
+ # Corresponds to the JSON property `value`
44421
+ # @return [String]
44422
+ attr_accessor :value
44423
+
44424
+ def initialize(**args)
44425
+ update!(**args)
44426
+ end
44427
+
44428
+ # Update properties of this object
44429
+ def update!(**args)
44430
+ @key = args[:key] if args.key?(:key)
44431
+ @value = args[:value] if args.key?(:value)
44432
+ end
44433
+ end
44434
+ end
44435
+ end
44436
+
44437
+ #
44438
+ class StoragePoolTypesScopedList
44439
+ include Google::Apis::Core::Hashable
44440
+
44441
+ # [Output Only] A list of storage pool types contained in this scope.
44442
+ # Corresponds to the JSON property `storagePoolTypes`
44443
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolType>]
44444
+ attr_accessor :storage_pool_types
44445
+
44446
+ # [Output Only] Informational warning which replaces the list of storage pool
44447
+ # types when the list is empty.
44448
+ # Corresponds to the JSON property `warning`
44449
+ # @return [Google::Apis::ComputeBeta::StoragePoolTypesScopedList::Warning]
44450
+ attr_accessor :warning
44451
+
44452
+ def initialize(**args)
44453
+ update!(**args)
44454
+ end
44455
+
44456
+ # Update properties of this object
44457
+ def update!(**args)
44458
+ @storage_pool_types = args[:storage_pool_types] if args.key?(:storage_pool_types)
44459
+ @warning = args[:warning] if args.key?(:warning)
44460
+ end
44461
+
44462
+ # [Output Only] Informational warning which replaces the list of storage pool
44463
+ # types when the list is empty.
44464
+ class Warning
44465
+ include Google::Apis::Core::Hashable
44466
+
44467
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
44468
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
44469
+ # Corresponds to the JSON property `code`
44470
+ # @return [String]
44471
+ attr_accessor :code
44472
+
44473
+ # [Output Only] Metadata about this warning in key: value format. For example: "
44474
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
44475
+ # Corresponds to the JSON property `data`
44476
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolTypesScopedList::Warning::Datum>]
44477
+ attr_accessor :data
44478
+
44479
+ # [Output Only] A human-readable description of the warning code.
44480
+ # Corresponds to the JSON property `message`
44481
+ # @return [String]
44482
+ attr_accessor :message
44483
+
44484
+ def initialize(**args)
44485
+ update!(**args)
44486
+ end
44487
+
44488
+ # Update properties of this object
44489
+ def update!(**args)
44490
+ @code = args[:code] if args.key?(:code)
44491
+ @data = args[:data] if args.key?(:data)
44492
+ @message = args[:message] if args.key?(:message)
44493
+ end
44494
+
44495
+ #
44496
+ class Datum
44497
+ include Google::Apis::Core::Hashable
44498
+
44499
+ # [Output Only] A key that provides more detail on the warning being returned.
44500
+ # For example, for warnings where there are no results in a list request for a
44501
+ # particular zone, this key might be scope and the key value might be the zone
44502
+ # name. Other examples might be a key indicating a deprecated resource and a
44503
+ # suggested replacement, or a warning about invalid network settings (for
44504
+ # example, if an instance attempts to perform IP forwarding but is not enabled
44505
+ # for IP forwarding).
44506
+ # Corresponds to the JSON property `key`
44507
+ # @return [String]
44508
+ attr_accessor :key
44509
+
44510
+ # [Output Only] A warning data value corresponding to the key.
44511
+ # Corresponds to the JSON property `value`
44512
+ # @return [String]
44513
+ attr_accessor :value
44514
+
44515
+ def initialize(**args)
44516
+ update!(**args)
44517
+ end
44518
+
44519
+ # Update properties of this object
44520
+ def update!(**args)
44521
+ @key = args[:key] if args.key?(:key)
44522
+ @value = args[:value] if args.key?(:value)
44523
+ end
44524
+ end
44525
+ end
44526
+ end
44527
+
44528
+ #
44529
+ class StoragePoolsScopedList
44530
+ include Google::Apis::Core::Hashable
44531
+
44532
+ # [Output Only] A list of storage pool contained in this scope.
44533
+ # Corresponds to the JSON property `storagePools`
44534
+ # @return [Array<Google::Apis::ComputeBeta::StoragePool>]
44535
+ attr_accessor :storage_pools
44536
+
44537
+ # [Output Only] Informational warning which replaces the list of storage pool
44538
+ # when the list is empty.
44539
+ # Corresponds to the JSON property `warning`
44540
+ # @return [Google::Apis::ComputeBeta::StoragePoolsScopedList::Warning]
44541
+ attr_accessor :warning
44542
+
44543
+ def initialize(**args)
44544
+ update!(**args)
44545
+ end
44546
+
44547
+ # Update properties of this object
44548
+ def update!(**args)
44549
+ @storage_pools = args[:storage_pools] if args.key?(:storage_pools)
44550
+ @warning = args[:warning] if args.key?(:warning)
44551
+ end
44552
+
44553
+ # [Output Only] Informational warning which replaces the list of storage pool
44554
+ # when the list is empty.
44555
+ class Warning
44556
+ include Google::Apis::Core::Hashable
44557
+
44558
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
44559
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
44560
+ # Corresponds to the JSON property `code`
44561
+ # @return [String]
44562
+ attr_accessor :code
44563
+
44564
+ # [Output Only] Metadata about this warning in key: value format. For example: "
44565
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
44566
+ # Corresponds to the JSON property `data`
44567
+ # @return [Array<Google::Apis::ComputeBeta::StoragePoolsScopedList::Warning::Datum>]
44568
+ attr_accessor :data
44569
+
44570
+ # [Output Only] A human-readable description of the warning code.
44571
+ # Corresponds to the JSON property `message`
44572
+ # @return [String]
44573
+ attr_accessor :message
44574
+
44575
+ def initialize(**args)
44576
+ update!(**args)
44577
+ end
44578
+
44579
+ # Update properties of this object
44580
+ def update!(**args)
44581
+ @code = args[:code] if args.key?(:code)
44582
+ @data = args[:data] if args.key?(:data)
44583
+ @message = args[:message] if args.key?(:message)
44584
+ end
44585
+
44586
+ #
44587
+ class Datum
44588
+ include Google::Apis::Core::Hashable
44589
+
44590
+ # [Output Only] A key that provides more detail on the warning being returned.
44591
+ # For example, for warnings where there are no results in a list request for a
44592
+ # particular zone, this key might be scope and the key value might be the zone
44593
+ # name. Other examples might be a key indicating a deprecated resource and a
44594
+ # suggested replacement, or a warning about invalid network settings (for
44595
+ # example, if an instance attempts to perform IP forwarding but is not enabled
44596
+ # for IP forwarding).
44597
+ # Corresponds to the JSON property `key`
44598
+ # @return [String]
44599
+ attr_accessor :key
44600
+
44601
+ # [Output Only] A warning data value corresponding to the key.
44602
+ # Corresponds to the JSON property `value`
44603
+ # @return [String]
44604
+ attr_accessor :value
44605
+
44606
+ def initialize(**args)
44607
+ update!(**args)
44608
+ end
44609
+
44610
+ # Update properties of this object
44611
+ def update!(**args)
44612
+ @key = args[:key] if args.key?(:key)
44613
+ @value = args[:value] if args.key?(:value)
44614
+ end
44615
+ end
44616
+ end
44617
+ end
44618
+
43297
44619
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
43298
44620
  # logical partition of a Virtual Private Cloud network with one primary IP range
43299
44621
  # and zero or more secondary IP ranges. For more information, read Virtual