google-apis-compute_v1 0.89.0 → 0.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1701,8 +1701,8 @@ module Google
1701
1701
  attr_accessor :provisioned_iops
1702
1702
 
1703
1703
  # Indicates how much throughput to provision for the disk. This sets the number
1704
- # of throughput mb per second that the disk can handle. Values must be between 1
1705
- # and 7,124.
1704
+ # of throughput mb per second that the disk can handle. Values must greater than
1705
+ # or equal to 1.
1706
1706
  # Corresponds to the JSON property `provisionedThroughput`
1707
1707
  # @return [Fixnum]
1708
1708
  attr_accessor :provisioned_throughput
@@ -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
 
@@ -2838,6 +2848,16 @@ module Google
2838
2848
  # @return [Float]
2839
2849
  attr_accessor :max_utilization
2840
2850
 
2851
+ # This field indicates whether this backend should be fully utilized before
2852
+ # sending traffic to backends with default preference. The possible values are: -
2853
+ # PREFERRED: Backends with this preference level will be filled up to their
2854
+ # capacity limits first, based on RTT. - DEFAULT: If preferred backends don't
2855
+ # have enough capacity, backends in this layer would be used and traffic would
2856
+ # be assigned based on the load balancing algorithm you use. This is the default
2857
+ # Corresponds to the JSON property `preference`
2858
+ # @return [String]
2859
+ attr_accessor :preference
2860
+
2841
2861
  def initialize(**args)
2842
2862
  update!(**args)
2843
2863
  end
@@ -2856,6 +2876,7 @@ module Google
2856
2876
  @max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint)
2857
2877
  @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
2858
2878
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
2879
+ @preference = args[:preference] if args.key?(:preference)
2859
2880
  end
2860
2881
  end
2861
2882
 
@@ -3603,6 +3624,13 @@ module Google
3603
3624
  # @return [Array<String>]
3604
3625
  attr_accessor :service_bindings
3605
3626
 
3627
+ # URL to networkservices.ServiceLbPolicy resource. Can only be set if load
3628
+ # balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or
3629
+ # INTERNAL_SELF_MANAGED and the scope is global.
3630
+ # Corresponds to the JSON property `serviceLbPolicy`
3631
+ # @return [String]
3632
+ attr_accessor :service_lb_policy
3633
+
3606
3634
  # Type of session affinity to use. The default is NONE. Only NONE and
3607
3635
  # HEADER_FIELD are supported when the backend service is referenced by a URL map
3608
3636
  # that is bound to target gRPC proxy that has validateForProxyless field set to
@@ -3679,6 +3707,7 @@ module Google
3679
3707
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3680
3708
  @self_link = args[:self_link] if args.key?(:self_link)
3681
3709
  @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3710
+ @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
3682
3711
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3683
3712
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3684
3713
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -6434,8 +6463,8 @@ module Google
6434
6463
  attr_accessor :provisioned_iops
6435
6464
 
6436
6465
  # Indicates how much throughput to provision for the disk. This sets the number
6437
- # of throughput mb per second that the disk can handle. Values must be between 1
6438
- # and 7,124.
6466
+ # of throughput mb per second that the disk can handle. Values must be greater
6467
+ # than or equal to 1.
6439
6468
  # Corresponds to the JSON property `provisionedThroughput`
6440
6469
  # @return [Fixnum]
6441
6470
  attr_accessor :provisioned_throughput
@@ -6550,6 +6579,25 @@ module Google
6550
6579
  # @return [String]
6551
6580
  attr_accessor :source_image_id
6552
6581
 
6582
+ # The source instant snapshot used to create this disk. You can provide this as
6583
+ # a partial or full URL to the resource. For example, the following are valid
6584
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
6585
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
6586
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
6587
+ # Corresponds to the JSON property `sourceInstantSnapshot`
6588
+ # @return [String]
6589
+ attr_accessor :source_instant_snapshot
6590
+
6591
+ # [Output Only] The unique ID of the instant snapshot used to create this disk.
6592
+ # This value identifies the exact instant snapshot that was used to create this
6593
+ # persistent disk. For example, if you created the persistent disk from an
6594
+ # instant snapshot that was later deleted and recreated under the same name, the
6595
+ # source instant snapshot ID would identify the exact version of the instant
6596
+ # snapshot that was used.
6597
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
6598
+ # @return [String]
6599
+ attr_accessor :source_instant_snapshot_id
6600
+
6553
6601
  # The source snapshot used to create this disk. You can provide this as a
6554
6602
  # partial or full URL to the resource. For example, the following are valid
6555
6603
  # values: - https://www.googleapis.com/compute/v1/projects/project /global/
@@ -6591,6 +6639,15 @@ module Google
6591
6639
  # @return [String]
6592
6640
  attr_accessor :status
6593
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
+
6594
6651
  # URL of the disk type resource describing which disk type to use to create the
6595
6652
  # disk. Provide this when creating the disk. For example: projects/project /
6596
6653
  # zones/zone/diskTypes/pd-ssd . See Persistent disk types.
@@ -6655,11 +6712,14 @@ module Google
6655
6712
  @source_image = args[:source_image] if args.key?(:source_image)
6656
6713
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6657
6714
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
6715
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6716
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6658
6717
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
6659
6718
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
6660
6719
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
6661
6720
  @source_storage_object = args[:source_storage_object] if args.key?(:source_storage_object)
6662
6721
  @status = args[:status] if args.key?(:status)
6722
+ @storage_pool = args[:storage_pool] if args.key?(:storage_pool)
6663
6723
  @type = args[:type] if args.key?(:type)
6664
6724
  @users = args[:users] if args.key?(:users)
6665
6725
  @zone = args[:zone] if args.key?(:zone)
@@ -8232,6 +8292,16 @@ module Google
8232
8292
  # @return [String]
8233
8293
  attr_accessor :ip_address
8234
8294
 
8295
+ # IPv6 address of the interface in the external VPN gateway. This IPv6 address
8296
+ # can be either from your on-premise gateway or another Cloud provider's VPN
8297
+ # gateway, it cannot be an IP address from Google Compute Engine. Must specify
8298
+ # an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g.
8299
+ # 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::
8300
+ # 2d9:51:0:0).
8301
+ # Corresponds to the JSON property `ipv6Address`
8302
+ # @return [String]
8303
+ attr_accessor :ipv6_address
8304
+
8235
8305
  def initialize(**args)
8236
8306
  update!(**args)
8237
8307
  end
@@ -8240,6 +8310,7 @@ module Google
8240
8310
  def update!(**args)
8241
8311
  @id = args[:id] if args.key?(:id)
8242
8312
  @ip_address = args[:ip_address] if args.key?(:ip_address)
8313
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
8243
8314
  end
8244
8315
  end
8245
8316
 
@@ -10610,7 +10681,7 @@ module Google
10610
10681
  # The ID of a supported feature. To add multiple values, use commas to separate
10611
10682
  # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
10612
10683
  # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
10613
- # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE -
10684
+ # SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE -
10614
10685
  # TDX_CAPABLE - IDPF For more information, see Enabling guest operating system
10615
10686
  # features.
10616
10687
  # Corresponds to the JSON property `type`
@@ -14930,6 +15001,15 @@ module Google
14930
15001
  class InstanceGroupManagerInstanceLifecyclePolicy
14931
15002
  include Google::Apis::Core::Hashable
14932
15003
 
15004
+ # The action that a MIG performs on a failed or an unhealthy VM. A VM is marked
15005
+ # as unhealthy when the application running on that VM fails a health check.
15006
+ # Valid values are - REPAIR (default): MIG automatically repairs a failed or an
15007
+ # unhealthy VM by recreating it. For more information, see About repairing VMs
15008
+ # in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM.
15009
+ # Corresponds to the JSON property `defaultActionOnFailure`
15010
+ # @return [String]
15011
+ attr_accessor :default_action_on_failure
15012
+
14933
15013
  # A bit indicating whether to forcefully apply the group's latest configuration
14934
15014
  # when repairing a VM. Valid options are: - NO (default): If configuration
14935
15015
  # updates are available, they are not forcefully applied during repair. Instead,
@@ -14945,6 +15025,7 @@ module Google
14945
15025
 
14946
15026
  # Update properties of this object
14947
15027
  def update!(**args)
15028
+ @default_action_on_failure = args[:default_action_on_failure] if args.key?(:default_action_on_failure)
14948
15029
  @force_update_on_repair = args[:force_update_on_repair] if args.key?(:force_update_on_repair)
14949
15030
  end
14950
15031
  end
@@ -17604,6 +17685,518 @@ module Google
17604
17685
  end
17605
17686
  end
17606
17687
 
17688
+ # Represents a InstantSnapshot resource. You can use instant snapshots to create
17689
+ # disk rollback points quickly..
17690
+ class InstantSnapshot
17691
+ include Google::Apis::Core::Hashable
17692
+
17693
+ # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
17694
+ # or X86_64.
17695
+ # Corresponds to the JSON property `architecture`
17696
+ # @return [String]
17697
+ attr_accessor :architecture
17698
+
17699
+ # [Output Only] Creation timestamp in RFC3339 text format.
17700
+ # Corresponds to the JSON property `creationTimestamp`
17701
+ # @return [String]
17702
+ attr_accessor :creation_timestamp
17703
+
17704
+ # An optional description of this resource. Provide this property when you
17705
+ # create the resource.
17706
+ # Corresponds to the JSON property `description`
17707
+ # @return [String]
17708
+ attr_accessor :description
17709
+
17710
+ # [Output Only] Size of the source disk, specified in GB.
17711
+ # Corresponds to the JSON property `diskSizeGb`
17712
+ # @return [Fixnum]
17713
+ attr_accessor :disk_size_gb
17714
+
17715
+ # [Output Only] The unique identifier for the resource. This identifier is
17716
+ # defined by the server.
17717
+ # Corresponds to the JSON property `id`
17718
+ # @return [Fixnum]
17719
+ attr_accessor :id
17720
+
17721
+ # [Output Only] Type of the resource. Always compute#instantSnapshot for
17722
+ # InstantSnapshot resources.
17723
+ # Corresponds to the JSON property `kind`
17724
+ # @return [String]
17725
+ attr_accessor :kind
17726
+
17727
+ # A fingerprint for the labels being applied to this InstantSnapshot, which is
17728
+ # essentially a hash of the labels set used for optimistic locking. The
17729
+ # fingerprint is initially generated by Compute Engine and changes after every
17730
+ # request to modify or update labels. You must always provide an up-to-date
17731
+ # fingerprint hash in order to update or change labels, otherwise the request
17732
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
17733
+ # a get() request to retrieve a InstantSnapshot.
17734
+ # Corresponds to the JSON property `labelFingerprint`
17735
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17736
+ # @return [String]
17737
+ attr_accessor :label_fingerprint
17738
+
17739
+ # Labels to apply to this InstantSnapshot. These can be later modified by the
17740
+ # setLabels method. Label values may be empty.
17741
+ # Corresponds to the JSON property `labels`
17742
+ # @return [Hash<String,String>]
17743
+ attr_accessor :labels
17744
+
17745
+ # Name of the resource; provided by the client when the resource is created. The
17746
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
17747
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
17748
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
17749
+ # and all following characters must be a dash, lowercase letter, or digit,
17750
+ # except the last character, which cannot be a dash.
17751
+ # Corresponds to the JSON property `name`
17752
+ # @return [String]
17753
+ attr_accessor :name
17754
+
17755
+ # [Output Only] URL of the region where the instant snapshot resides. You must
17756
+ # specify this field as part of the HTTP request URL. It is not settable as a
17757
+ # field in the request body.
17758
+ # Corresponds to the JSON property `region`
17759
+ # @return [String]
17760
+ attr_accessor :region
17761
+
17762
+ # [Output Only] Status information for the instant snapshot resource.
17763
+ # Corresponds to the JSON property `resourceStatus`
17764
+ # @return [Google::Apis::ComputeV1::InstantSnapshotResourceStatus]
17765
+ attr_accessor :resource_status
17766
+
17767
+ # Output only. Reserved for future use.
17768
+ # Corresponds to the JSON property `satisfiesPzi`
17769
+ # @return [Boolean]
17770
+ attr_accessor :satisfies_pzi
17771
+ alias_method :satisfies_pzi?, :satisfies_pzi
17772
+
17773
+ # [Output Only] Reserved for future use.
17774
+ # Corresponds to the JSON property `satisfiesPzs`
17775
+ # @return [Boolean]
17776
+ attr_accessor :satisfies_pzs
17777
+ alias_method :satisfies_pzs?, :satisfies_pzs
17778
+
17779
+ # [Output Only] Server-defined URL for the resource.
17780
+ # Corresponds to the JSON property `selfLink`
17781
+ # @return [String]
17782
+ attr_accessor :self_link
17783
+
17784
+ # [Output Only] Server-defined URL for this resource's resource id.
17785
+ # Corresponds to the JSON property `selfLinkWithId`
17786
+ # @return [String]
17787
+ attr_accessor :self_link_with_id
17788
+
17789
+ # URL of the source disk used to create this instant snapshot. Note that the
17790
+ # source disk must be in the same zone/region as the instant snapshot to be
17791
+ # created. This can be a full or valid partial URL. For example, the following
17792
+ # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
17793
+ # zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/
17794
+ # project/regions/region /disks/disk - projects/project/zones/zone/disks/disk -
17795
+ # projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/
17796
+ # region/disks/disk
17797
+ # Corresponds to the JSON property `sourceDisk`
17798
+ # @return [String]
17799
+ attr_accessor :source_disk
17800
+
17801
+ # [Output Only] The ID value of the disk used to create this InstantSnapshot.
17802
+ # This value may be used to determine whether the InstantSnapshot was taken from
17803
+ # the current or a previous instance of a given disk name.
17804
+ # Corresponds to the JSON property `sourceDiskId`
17805
+ # @return [String]
17806
+ attr_accessor :source_disk_id
17807
+
17808
+ # [Output Only] The status of the instantSnapshot. This can be CREATING,
17809
+ # DELETING, FAILED, or READY.
17810
+ # Corresponds to the JSON property `status`
17811
+ # @return [String]
17812
+ attr_accessor :status
17813
+
17814
+ # [Output Only] URL of the zone where the instant snapshot resides. You must
17815
+ # specify this field as part of the HTTP request URL. It is not settable as a
17816
+ # field in the request body.
17817
+ # Corresponds to the JSON property `zone`
17818
+ # @return [String]
17819
+ attr_accessor :zone
17820
+
17821
+ def initialize(**args)
17822
+ update!(**args)
17823
+ end
17824
+
17825
+ # Update properties of this object
17826
+ def update!(**args)
17827
+ @architecture = args[:architecture] if args.key?(:architecture)
17828
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17829
+ @description = args[:description] if args.key?(:description)
17830
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
17831
+ @id = args[:id] if args.key?(:id)
17832
+ @kind = args[:kind] if args.key?(:kind)
17833
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17834
+ @labels = args[:labels] if args.key?(:labels)
17835
+ @name = args[:name] if args.key?(:name)
17836
+ @region = args[:region] if args.key?(:region)
17837
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
17838
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
17839
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
17840
+ @self_link = args[:self_link] if args.key?(:self_link)
17841
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
17842
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
17843
+ @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
17844
+ @status = args[:status] if args.key?(:status)
17845
+ @zone = args[:zone] if args.key?(:zone)
17846
+ end
17847
+ end
17848
+
17849
+ #
17850
+ class InstantSnapshotAggregatedList
17851
+ include Google::Apis::Core::Hashable
17852
+
17853
+ # [Output Only] Unique identifier for the resource; defined by the server.
17854
+ # Corresponds to the JSON property `id`
17855
+ # @return [String]
17856
+ attr_accessor :id
17857
+
17858
+ # A list of InstantSnapshotsScopedList resources.
17859
+ # Corresponds to the JSON property `items`
17860
+ # @return [Hash<String,Google::Apis::ComputeV1::InstantSnapshotsScopedList>]
17861
+ attr_accessor :items
17862
+
17863
+ # [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
17864
+ # for aggregated lists of instantSnapshots.
17865
+ # Corresponds to the JSON property `kind`
17866
+ # @return [String]
17867
+ attr_accessor :kind
17868
+
17869
+ # [Output Only] This token allows you to get the next page of results for list
17870
+ # requests. If the number of results is larger than maxResults, use the
17871
+ # nextPageToken as a value for the query parameter pageToken in the next list
17872
+ # request. Subsequent list requests will have their own nextPageToken to
17873
+ # continue paging through the results.
17874
+ # Corresponds to the JSON property `nextPageToken`
17875
+ # @return [String]
17876
+ attr_accessor :next_page_token
17877
+
17878
+ # [Output Only] Server-defined URL for this resource.
17879
+ # Corresponds to the JSON property `selfLink`
17880
+ # @return [String]
17881
+ attr_accessor :self_link
17882
+
17883
+ # [Output Only] Unreachable resources.
17884
+ # Corresponds to the JSON property `unreachables`
17885
+ # @return [Array<String>]
17886
+ attr_accessor :unreachables
17887
+
17888
+ # [Output Only] Informational warning message.
17889
+ # Corresponds to the JSON property `warning`
17890
+ # @return [Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning]
17891
+ attr_accessor :warning
17892
+
17893
+ def initialize(**args)
17894
+ update!(**args)
17895
+ end
17896
+
17897
+ # Update properties of this object
17898
+ def update!(**args)
17899
+ @id = args[:id] if args.key?(:id)
17900
+ @items = args[:items] if args.key?(:items)
17901
+ @kind = args[:kind] if args.key?(:kind)
17902
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
17903
+ @self_link = args[:self_link] if args.key?(:self_link)
17904
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
17905
+ @warning = args[:warning] if args.key?(:warning)
17906
+ end
17907
+
17908
+ # [Output Only] Informational warning message.
17909
+ class Warning
17910
+ include Google::Apis::Core::Hashable
17911
+
17912
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
17913
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
17914
+ # Corresponds to the JSON property `code`
17915
+ # @return [String]
17916
+ attr_accessor :code
17917
+
17918
+ # [Output Only] Metadata about this warning in key: value format. For example: "
17919
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
17920
+ # Corresponds to the JSON property `data`
17921
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning::Datum>]
17922
+ attr_accessor :data
17923
+
17924
+ # [Output Only] A human-readable description of the warning code.
17925
+ # Corresponds to the JSON property `message`
17926
+ # @return [String]
17927
+ attr_accessor :message
17928
+
17929
+ def initialize(**args)
17930
+ update!(**args)
17931
+ end
17932
+
17933
+ # Update properties of this object
17934
+ def update!(**args)
17935
+ @code = args[:code] if args.key?(:code)
17936
+ @data = args[:data] if args.key?(:data)
17937
+ @message = args[:message] if args.key?(:message)
17938
+ end
17939
+
17940
+ #
17941
+ class Datum
17942
+ include Google::Apis::Core::Hashable
17943
+
17944
+ # [Output Only] A key that provides more detail on the warning being returned.
17945
+ # For example, for warnings where there are no results in a list request for a
17946
+ # particular zone, this key might be scope and the key value might be the zone
17947
+ # name. Other examples might be a key indicating a deprecated resource and a
17948
+ # suggested replacement, or a warning about invalid network settings (for
17949
+ # example, if an instance attempts to perform IP forwarding but is not enabled
17950
+ # for IP forwarding).
17951
+ # Corresponds to the JSON property `key`
17952
+ # @return [String]
17953
+ attr_accessor :key
17954
+
17955
+ # [Output Only] A warning data value corresponding to the key.
17956
+ # Corresponds to the JSON property `value`
17957
+ # @return [String]
17958
+ attr_accessor :value
17959
+
17960
+ def initialize(**args)
17961
+ update!(**args)
17962
+ end
17963
+
17964
+ # Update properties of this object
17965
+ def update!(**args)
17966
+ @key = args[:key] if args.key?(:key)
17967
+ @value = args[:value] if args.key?(:value)
17968
+ end
17969
+ end
17970
+ end
17971
+ end
17972
+
17973
+ # Contains a list of InstantSnapshot resources.
17974
+ class InstantSnapshotList
17975
+ include Google::Apis::Core::Hashable
17976
+
17977
+ # [Output Only] Unique identifier for the resource; defined by the server.
17978
+ # Corresponds to the JSON property `id`
17979
+ # @return [String]
17980
+ attr_accessor :id
17981
+
17982
+ # A list of InstantSnapshot resources.
17983
+ # Corresponds to the JSON property `items`
17984
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshot>]
17985
+ attr_accessor :items
17986
+
17987
+ # Type of resource.
17988
+ # Corresponds to the JSON property `kind`
17989
+ # @return [String]
17990
+ attr_accessor :kind
17991
+
17992
+ # [Output Only] This token allows you to get the next page of results for list
17993
+ # requests. If the number of results is larger than maxResults, use the
17994
+ # nextPageToken as a value for the query parameter pageToken in the next list
17995
+ # request. Subsequent list requests will have their own nextPageToken to
17996
+ # continue paging through the results.
17997
+ # Corresponds to the JSON property `nextPageToken`
17998
+ # @return [String]
17999
+ attr_accessor :next_page_token
18000
+
18001
+ # [Output Only] Server-defined URL for this resource.
18002
+ # Corresponds to the JSON property `selfLink`
18003
+ # @return [String]
18004
+ attr_accessor :self_link
18005
+
18006
+ # [Output Only] Informational warning message.
18007
+ # Corresponds to the JSON property `warning`
18008
+ # @return [Google::Apis::ComputeV1::InstantSnapshotList::Warning]
18009
+ attr_accessor :warning
18010
+
18011
+ def initialize(**args)
18012
+ update!(**args)
18013
+ end
18014
+
18015
+ # Update properties of this object
18016
+ def update!(**args)
18017
+ @id = args[:id] if args.key?(:id)
18018
+ @items = args[:items] if args.key?(:items)
18019
+ @kind = args[:kind] if args.key?(:kind)
18020
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18021
+ @self_link = args[:self_link] if args.key?(:self_link)
18022
+ @warning = args[:warning] if args.key?(:warning)
18023
+ end
18024
+
18025
+ # [Output Only] Informational warning message.
18026
+ class Warning
18027
+ include Google::Apis::Core::Hashable
18028
+
18029
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18030
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18031
+ # Corresponds to the JSON property `code`
18032
+ # @return [String]
18033
+ attr_accessor :code
18034
+
18035
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18036
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18037
+ # Corresponds to the JSON property `data`
18038
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotList::Warning::Datum>]
18039
+ attr_accessor :data
18040
+
18041
+ # [Output Only] A human-readable description of the warning code.
18042
+ # Corresponds to the JSON property `message`
18043
+ # @return [String]
18044
+ attr_accessor :message
18045
+
18046
+ def initialize(**args)
18047
+ update!(**args)
18048
+ end
18049
+
18050
+ # Update properties of this object
18051
+ def update!(**args)
18052
+ @code = args[:code] if args.key?(:code)
18053
+ @data = args[:data] if args.key?(:data)
18054
+ @message = args[:message] if args.key?(:message)
18055
+ end
18056
+
18057
+ #
18058
+ class Datum
18059
+ include Google::Apis::Core::Hashable
18060
+
18061
+ # [Output Only] A key that provides more detail on the warning being returned.
18062
+ # For example, for warnings where there are no results in a list request for a
18063
+ # particular zone, this key might be scope and the key value might be the zone
18064
+ # name. Other examples might be a key indicating a deprecated resource and a
18065
+ # suggested replacement, or a warning about invalid network settings (for
18066
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18067
+ # for IP forwarding).
18068
+ # Corresponds to the JSON property `key`
18069
+ # @return [String]
18070
+ attr_accessor :key
18071
+
18072
+ # [Output Only] A warning data value corresponding to the key.
18073
+ # Corresponds to the JSON property `value`
18074
+ # @return [String]
18075
+ attr_accessor :value
18076
+
18077
+ def initialize(**args)
18078
+ update!(**args)
18079
+ end
18080
+
18081
+ # Update properties of this object
18082
+ def update!(**args)
18083
+ @key = args[:key] if args.key?(:key)
18084
+ @value = args[:value] if args.key?(:value)
18085
+ end
18086
+ end
18087
+ end
18088
+ end
18089
+
18090
+ #
18091
+ class InstantSnapshotResourceStatus
18092
+ include Google::Apis::Core::Hashable
18093
+
18094
+ # [Output Only] The storage size of this instant snapshot.
18095
+ # Corresponds to the JSON property `storageSizeBytes`
18096
+ # @return [Fixnum]
18097
+ attr_accessor :storage_size_bytes
18098
+
18099
+ def initialize(**args)
18100
+ update!(**args)
18101
+ end
18102
+
18103
+ # Update properties of this object
18104
+ def update!(**args)
18105
+ @storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes)
18106
+ end
18107
+ end
18108
+
18109
+ #
18110
+ class InstantSnapshotsScopedList
18111
+ include Google::Apis::Core::Hashable
18112
+
18113
+ # [Output Only] A list of instantSnapshots contained in this scope.
18114
+ # Corresponds to the JSON property `instantSnapshots`
18115
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshot>]
18116
+ attr_accessor :instant_snapshots
18117
+
18118
+ # [Output Only] Informational warning which replaces the list of
18119
+ # instantSnapshots when the list is empty.
18120
+ # Corresponds to the JSON property `warning`
18121
+ # @return [Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning]
18122
+ attr_accessor :warning
18123
+
18124
+ def initialize(**args)
18125
+ update!(**args)
18126
+ end
18127
+
18128
+ # Update properties of this object
18129
+ def update!(**args)
18130
+ @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
18131
+ @warning = args[:warning] if args.key?(:warning)
18132
+ end
18133
+
18134
+ # [Output Only] Informational warning which replaces the list of
18135
+ # instantSnapshots when the list is empty.
18136
+ class Warning
18137
+ include Google::Apis::Core::Hashable
18138
+
18139
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18140
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18141
+ # Corresponds to the JSON property `code`
18142
+ # @return [String]
18143
+ attr_accessor :code
18144
+
18145
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18146
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18147
+ # Corresponds to the JSON property `data`
18148
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning::Datum>]
18149
+ attr_accessor :data
18150
+
18151
+ # [Output Only] A human-readable description of the warning code.
18152
+ # Corresponds to the JSON property `message`
18153
+ # @return [String]
18154
+ attr_accessor :message
18155
+
18156
+ def initialize(**args)
18157
+ update!(**args)
18158
+ end
18159
+
18160
+ # Update properties of this object
18161
+ def update!(**args)
18162
+ @code = args[:code] if args.key?(:code)
18163
+ @data = args[:data] if args.key?(:data)
18164
+ @message = args[:message] if args.key?(:message)
18165
+ end
18166
+
18167
+ #
18168
+ class Datum
18169
+ include Google::Apis::Core::Hashable
18170
+
18171
+ # [Output Only] A key that provides more detail on the warning being returned.
18172
+ # For example, for warnings where there are no results in a list request for a
18173
+ # particular zone, this key might be scope and the key value might be the zone
18174
+ # name. Other examples might be a key indicating a deprecated resource and a
18175
+ # suggested replacement, or a warning about invalid network settings (for
18176
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18177
+ # for IP forwarding).
18178
+ # Corresponds to the JSON property `key`
18179
+ # @return [String]
18180
+ attr_accessor :key
18181
+
18182
+ # [Output Only] A warning data value corresponding to the key.
18183
+ # Corresponds to the JSON property `value`
18184
+ # @return [String]
18185
+ attr_accessor :value
18186
+
18187
+ def initialize(**args)
18188
+ update!(**args)
18189
+ end
18190
+
18191
+ # Update properties of this object
18192
+ def update!(**args)
18193
+ @key = args[:key] if args.key?(:key)
18194
+ @value = args[:value] if args.key?(:value)
18195
+ end
18196
+ end
18197
+ end
18198
+ end
18199
+
17607
18200
  # HttpRouteRuleMatch criteria for field values that must stay within the
17608
18201
  # specified integer range.
17609
18202
  class Int64RangeMatch
@@ -19768,10 +20361,10 @@ module Google
19768
20361
 
19769
20362
  # [Output Only] Port pair remote location constraints, which can take one of the
19770
20363
  # following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION,
19771
- # PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports,
19772
- # but the UI uses this field when ordering a pair of ports, to prevent users
19773
- # from accidentally ordering something that is incompatible with their cloud
19774
- # provider. Specifically, when ordering a redundant pair of Cross-Cloud
20364
+ # PORT_PAIR_MATCHING_REMOTE_LOCATION. Google Cloud API refers only to individual
20365
+ # ports, but the UI uses this field when ordering a pair of ports, to prevent
20366
+ # users from accidentally ordering something that is incompatible with their
20367
+ # cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud
19775
20368
  # Interconnect ports, and one of them uses a remote location with
19776
20369
  # portPairMatchingRemoteLocation set to matching, the UI requires that both
19777
20370
  # ports use the same remote location.
@@ -28313,6 +28906,13 @@ module Google
28313
28906
  class Project
28314
28907
  include Google::Apis::Core::Hashable
28315
28908
 
28909
+ # [Output Only] The Cloud Armor tier for this project. It can be one of the
28910
+ # following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not
28911
+ # specified, it is assumed to be CA_STANDARD.
28912
+ # Corresponds to the JSON property `cloudArmorTier`
28913
+ # @return [String]
28914
+ attr_accessor :cloud_armor_tier
28915
+
28316
28916
  # A metadata key/value entry.
28317
28917
  # Corresponds to the JSON property `commonInstanceMetadata`
28318
28918
  # @return [Google::Apis::ComputeV1::Metadata]
@@ -28397,6 +28997,7 @@ module Google
28397
28997
 
28398
28998
  # Update properties of this object
28399
28999
  def update!(**args)
29000
+ @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier)
28400
29001
  @common_instance_metadata = args[:common_instance_metadata] if args.key?(:common_instance_metadata)
28401
29002
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28402
29003
  @default_network_tier = args[:default_network_tier] if args.key?(:default_network_tier)
@@ -28510,6 +29111,25 @@ module Google
28510
29111
  end
28511
29112
  end
28512
29113
 
29114
+ #
29115
+ class ProjectsSetCloudArmorTierRequest
29116
+ include Google::Apis::Core::Hashable
29117
+
29118
+ # Managed protection tier to be set.
29119
+ # Corresponds to the JSON property `cloudArmorTier`
29120
+ # @return [String]
29121
+ attr_accessor :cloud_armor_tier
29122
+
29123
+ def initialize(**args)
29124
+ update!(**args)
29125
+ end
29126
+
29127
+ # Update properties of this object
29128
+ def update!(**args)
29129
+ @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier)
29130
+ end
29131
+ end
29132
+
28513
29133
  #
28514
29134
  class ProjectsSetDefaultNetworkTierRequest
28515
29135
  include Google::Apis::Core::Hashable
@@ -37647,6 +38267,30 @@ module Google
37647
38267
  # @return [String]
37648
38268
  attr_accessor :source_disk_id
37649
38269
 
38270
+ # The source instant snapshot used to create this snapshot. You can provide this
38271
+ # as a partial or full URL to the resource. For example, the following are valid
38272
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
38273
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
38274
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
38275
+ # Corresponds to the JSON property `sourceInstantSnapshot`
38276
+ # @return [String]
38277
+ attr_accessor :source_instant_snapshot
38278
+
38279
+ # Customer provided encryption key when creating Snapshot from Instant Snapshot.
38280
+ # Corresponds to the JSON property `sourceInstantSnapshotEncryptionKey`
38281
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
38282
+ attr_accessor :source_instant_snapshot_encryption_key
38283
+
38284
+ # [Output Only] The unique ID of the instant snapshot used to create this
38285
+ # snapshot. This value identifies the exact instant snapshot that was used to
38286
+ # create this persistent disk. For example, if you created the persistent disk
38287
+ # from an instant snapshot that was later deleted and recreated under the same
38288
+ # name, the source instant snapshot ID would identify the exact instant snapshot
38289
+ # that was used.
38290
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
38291
+ # @return [String]
38292
+ attr_accessor :source_instant_snapshot_id
38293
+
37650
38294
  # [Output Only] URL of the resource policy which created this scheduled snapshot.
37651
38295
  # Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
37652
38296
  # @return [String]
@@ -37716,6 +38360,9 @@ module Google
37716
38360
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
37717
38361
  @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint)
37718
38362
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
38363
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
38364
+ @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key)
38365
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
37719
38366
  @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
37720
38367
  @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
37721
38368
  @status = args[:status] if args.key?(:status)
@@ -39135,33 +39782,1234 @@ module Google
39135
39782
  end
39136
39783
 
39137
39784
  #
39138
- class SslPolicyReference
39785
+ class SslPolicyReference
39786
+ include Google::Apis::Core::Hashable
39787
+
39788
+ # URL of the SSL policy resource. Set this to empty string to clear any existing
39789
+ # SSL policy associated with the target proxy resource.
39790
+ # Corresponds to the JSON property `sslPolicy`
39791
+ # @return [String]
39792
+ attr_accessor :ssl_policy
39793
+
39794
+ def initialize(**args)
39795
+ update!(**args)
39796
+ end
39797
+
39798
+ # Update properties of this object
39799
+ def update!(**args)
39800
+ @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
39801
+ end
39802
+ end
39803
+
39804
+ #
39805
+ class StatefulPolicy
39806
+ include Google::Apis::Core::Hashable
39807
+
39808
+ # Configuration of preserved resources.
39809
+ # Corresponds to the JSON property `preservedState`
39810
+ # @return [Google::Apis::ComputeV1::StatefulPolicyPreservedState]
39811
+ attr_accessor :preserved_state
39812
+
39813
+ def initialize(**args)
39814
+ update!(**args)
39815
+ end
39816
+
39817
+ # Update properties of this object
39818
+ def update!(**args)
39819
+ @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
39820
+ end
39821
+ end
39822
+
39823
+ # Configuration of preserved resources.
39824
+ class StatefulPolicyPreservedState
39825
+ include Google::Apis::Core::Hashable
39826
+
39827
+ # Disks created on the instances that will be preserved on instance delete,
39828
+ # update, etc. This map is keyed with the device names of the disks.
39829
+ # Corresponds to the JSON property `disks`
39830
+ # @return [Hash<String,Google::Apis::ComputeV1::StatefulPolicyPreservedStateDiskDevice>]
39831
+ attr_accessor :disks
39832
+
39833
+ # External network IPs assigned to the instances that will be preserved on
39834
+ # instance delete, update, etc. This map is keyed with the network interface
39835
+ # name.
39836
+ # Corresponds to the JSON property `externalIPs`
39837
+ # @return [Hash<String,Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp>]
39838
+ attr_accessor :external_i_ps
39839
+
39840
+ # Internal network IPs assigned to the instances that will be preserved on
39841
+ # instance delete, update, etc. This map is keyed with the network interface
39842
+ # name.
39843
+ # Corresponds to the JSON property `internalIPs`
39844
+ # @return [Hash<String,Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp>]
39845
+ attr_accessor :internal_i_ps
39846
+
39847
+ def initialize(**args)
39848
+ update!(**args)
39849
+ end
39850
+
39851
+ # Update properties of this object
39852
+ def update!(**args)
39853
+ @disks = args[:disks] if args.key?(:disks)
39854
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
39855
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
39856
+ end
39857
+ end
39858
+
39859
+ #
39860
+ class StatefulPolicyPreservedStateDiskDevice
39861
+ include Google::Apis::Core::Hashable
39862
+
39863
+ # These stateful disks will never be deleted during autohealing, update or VM
39864
+ # instance recreate operations. This flag is used to configure if the disk
39865
+ # should be deleted after it is no longer used by the group, e.g. when the given
39866
+ # instance or the whole group is deleted. Note: disks attached in READ_ONLY mode
39867
+ # cannot be auto-deleted.
39868
+ # Corresponds to the JSON property `autoDelete`
39869
+ # @return [String]
39870
+ attr_accessor :auto_delete
39871
+
39872
+ def initialize(**args)
39873
+ update!(**args)
39874
+ end
39875
+
39876
+ # Update properties of this object
39877
+ def update!(**args)
39878
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
39879
+ end
39880
+ end
39881
+
39882
+ #
39883
+ class StatefulPolicyPreservedStateNetworkIp
39884
+ include Google::Apis::Core::Hashable
39885
+
39886
+ # These stateful IPs will never be released during autohealing, update or VM
39887
+ # instance recreate operations. This flag is used to configure if the IP
39888
+ # reservation should be deleted after it is no longer used by the group, e.g.
39889
+ # when the given instance or the whole group is deleted.
39890
+ # Corresponds to the JSON property `autoDelete`
39891
+ # @return [String]
39892
+ attr_accessor :auto_delete
39893
+
39894
+ def initialize(**args)
39895
+ update!(**args)
39896
+ end
39897
+
39898
+ # Update properties of this object
39899
+ def update!(**args)
39900
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
39901
+ end
39902
+ end
39903
+
39904
+ # The `Status` type defines a logical error model that is suitable for different
39905
+ # programming environments, including REST APIs and RPC APIs. It is used by [
39906
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
39907
+ # data: error code, error message, and error details. You can find out more
39908
+ # about this error model and how to work with it in the [API Design Guide](https:
39909
+ # //cloud.google.com/apis/design/errors).
39910
+ class Status
39911
+ include Google::Apis::Core::Hashable
39912
+
39913
+ # The status code, which should be an enum value of google.rpc.Code.
39914
+ # Corresponds to the JSON property `code`
39915
+ # @return [Fixnum]
39916
+ attr_accessor :code
39917
+
39918
+ # A list of messages that carry the error details. There is a common set of
39919
+ # message types for APIs to use.
39920
+ # Corresponds to the JSON property `details`
39921
+ # @return [Array<Hash<String,Object>>]
39922
+ attr_accessor :details
39923
+
39924
+ # A developer-facing error message, which should be in English. Any user-facing
39925
+ # error message should be localized and sent in the google.rpc.Status.details
39926
+ # field, or localized by the client.
39927
+ # Corresponds to the JSON property `message`
39928
+ # @return [String]
39929
+ attr_accessor :message
39930
+
39931
+ def initialize(**args)
39932
+ update!(**args)
39933
+ end
39934
+
39935
+ # Update properties of this object
39936
+ def update!(**args)
39937
+ @code = args[:code] if args.key?(:code)
39938
+ @details = args[:details] if args.key?(:details)
39939
+ @message = args[:message] if args.key?(:message)
39940
+ end
39941
+ end
39942
+
39943
+ # Represents a zonal storage pool resource.
39944
+ class StoragePool
39945
+ include Google::Apis::Core::Hashable
39946
+
39947
+ # Provisioning type of the byte capacity of the pool.
39948
+ # Corresponds to the JSON property `capacityProvisioningType`
39949
+ # @return [String]
39950
+ attr_accessor :capacity_provisioning_type
39951
+
39952
+ # [Output Only] Creation timestamp in RFC3339 text format.
39953
+ # Corresponds to the JSON property `creationTimestamp`
39954
+ # @return [String]
39955
+ attr_accessor :creation_timestamp
39956
+
39957
+ # An optional description of this resource. Provide this property when you
39958
+ # create the resource.
39959
+ # Corresponds to the JSON property `description`
39960
+ # @return [String]
39961
+ attr_accessor :description
39962
+
39963
+ # [Output Only] The unique identifier for the resource. This identifier is
39964
+ # defined by the server.
39965
+ # Corresponds to the JSON property `id`
39966
+ # @return [Fixnum]
39967
+ attr_accessor :id
39968
+
39969
+ # [Output Only] Type of the resource. Always compute#storagePool for storage
39970
+ # pools.
39971
+ # Corresponds to the JSON property `kind`
39972
+ # @return [String]
39973
+ attr_accessor :kind
39974
+
39975
+ # A fingerprint for the labels being applied to this storage pool, which is
39976
+ # essentially a hash of the labels set used for optimistic locking. The
39977
+ # fingerprint is initially generated by Compute Engine and changes after every
39978
+ # request to modify or update labels. You must always provide an up-to-date
39979
+ # fingerprint hash in order to update or change labels, otherwise the request
39980
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
39981
+ # a get() request to retrieve a storage pool.
39982
+ # Corresponds to the JSON property `labelFingerprint`
39983
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
39984
+ # @return [String]
39985
+ attr_accessor :label_fingerprint
39986
+
39987
+ # Labels to apply to this storage pool. These can be later modified by the
39988
+ # setLabels method.
39989
+ # Corresponds to the JSON property `labels`
39990
+ # @return [Hash<String,String>]
39991
+ attr_accessor :labels
39992
+
39993
+ # Name of the resource. Provided by the client when the resource is created. The
39994
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
39995
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
39996
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
39997
+ # and all following characters must be a dash, lowercase letter, or digit,
39998
+ # except the last character, which cannot be a dash.
39999
+ # Corresponds to the JSON property `name`
40000
+ # @return [String]
40001
+ attr_accessor :name
40002
+
40003
+ # Provisioning type of the performance-related parameters of the pool, such as
40004
+ # throughput and IOPS.
40005
+ # Corresponds to the JSON property `performanceProvisioningType`
40006
+ # @return [String]
40007
+ attr_accessor :performance_provisioning_type
40008
+
40009
+ # Size, in GiB, of the storage pool.
40010
+ # Corresponds to the JSON property `poolProvisionedCapacityGb`
40011
+ # @return [Fixnum]
40012
+ attr_accessor :pool_provisioned_capacity_gb
40013
+
40014
+ # Provisioned IOPS of the storage pool. Only relevant if the storage pool type
40015
+ # is hyperdisk-balanced.
40016
+ # Corresponds to the JSON property `poolProvisionedIops`
40017
+ # @return [Fixnum]
40018
+ attr_accessor :pool_provisioned_iops
40019
+
40020
+ # Provisioned throughput of the storage pool. Only relevant if the storage pool
40021
+ # type is hyperdisk-balanced or hyperdisk-throughput.
40022
+ # Corresponds to the JSON property `poolProvisionedThroughput`
40023
+ # @return [Fixnum]
40024
+ attr_accessor :pool_provisioned_throughput
40025
+
40026
+ # [Output Only] Contains output only fields.
40027
+ # Corresponds to the JSON property `resourceStatus`
40028
+ # @return [Google::Apis::ComputeV1::StoragePoolResourceStatus]
40029
+ attr_accessor :resource_status
40030
+
40031
+ # [Output Only] Server-defined fully-qualified URL for this resource.
40032
+ # Corresponds to the JSON property `selfLink`
40033
+ # @return [String]
40034
+ attr_accessor :self_link
40035
+
40036
+ # [Output Only] Server-defined URL for this resource's resource id.
40037
+ # Corresponds to the JSON property `selfLinkWithId`
40038
+ # @return [String]
40039
+ attr_accessor :self_link_with_id
40040
+
40041
+ # [Output Only] The status of storage pool creation. - CREATING: Storage pool is
40042
+ # provisioning. storagePool. - FAILED: Storage pool creation failed. - READY:
40043
+ # Storage pool is ready for use. - DELETING: Storage pool is deleting.
40044
+ # Corresponds to the JSON property `state`
40045
+ # @return [String]
40046
+ attr_accessor :state
40047
+
40048
+ # [Output Only] Contains output only fields.
40049
+ # Corresponds to the JSON property `status`
40050
+ # @return [Google::Apis::ComputeV1::StoragePoolResourceStatus]
40051
+ attr_accessor :status
40052
+
40053
+ # Type of the storage pool.
40054
+ # Corresponds to the JSON property `storagePoolType`
40055
+ # @return [String]
40056
+ attr_accessor :storage_pool_type
40057
+
40058
+ # [Output Only] URL of the zone where the storage pool resides. You must specify
40059
+ # this field as part of the HTTP request URL. It is not settable as a field in
40060
+ # the request body.
40061
+ # Corresponds to the JSON property `zone`
40062
+ # @return [String]
40063
+ attr_accessor :zone
40064
+
40065
+ def initialize(**args)
40066
+ update!(**args)
40067
+ end
40068
+
40069
+ # Update properties of this object
40070
+ def update!(**args)
40071
+ @capacity_provisioning_type = args[:capacity_provisioning_type] if args.key?(:capacity_provisioning_type)
40072
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
40073
+ @description = args[:description] if args.key?(:description)
40074
+ @id = args[:id] if args.key?(:id)
40075
+ @kind = args[:kind] if args.key?(:kind)
40076
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
40077
+ @labels = args[:labels] if args.key?(:labels)
40078
+ @name = args[:name] if args.key?(:name)
40079
+ @performance_provisioning_type = args[:performance_provisioning_type] if args.key?(:performance_provisioning_type)
40080
+ @pool_provisioned_capacity_gb = args[:pool_provisioned_capacity_gb] if args.key?(:pool_provisioned_capacity_gb)
40081
+ @pool_provisioned_iops = args[:pool_provisioned_iops] if args.key?(:pool_provisioned_iops)
40082
+ @pool_provisioned_throughput = args[:pool_provisioned_throughput] if args.key?(:pool_provisioned_throughput)
40083
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
40084
+ @self_link = args[:self_link] if args.key?(:self_link)
40085
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
40086
+ @state = args[:state] if args.key?(:state)
40087
+ @status = args[:status] if args.key?(:status)
40088
+ @storage_pool_type = args[:storage_pool_type] if args.key?(:storage_pool_type)
40089
+ @zone = args[:zone] if args.key?(:zone)
40090
+ end
40091
+ end
40092
+
40093
+ #
40094
+ class StoragePoolAggregatedList
40095
+ include Google::Apis::Core::Hashable
40096
+
40097
+ #
40098
+ # Corresponds to the JSON property `etag`
40099
+ # @return [String]
40100
+ attr_accessor :etag
40101
+
40102
+ # [Output Only] Unique identifier for the resource; defined by the server.
40103
+ # Corresponds to the JSON property `id`
40104
+ # @return [String]
40105
+ attr_accessor :id
40106
+
40107
+ # A list of StoragePoolsScopedList resources.
40108
+ # Corresponds to the JSON property `items`
40109
+ # @return [Hash<String,Google::Apis::ComputeV1::StoragePoolsScopedList>]
40110
+ attr_accessor :items
40111
+
40112
+ # [Output Only] Type of resource. Always compute#storagePoolAggregatedList for
40113
+ # aggregated lists of storage pools.
40114
+ # Corresponds to the JSON property `kind`
40115
+ # @return [String]
40116
+ attr_accessor :kind
40117
+
40118
+ # [Output Only] This token allows you to get the next page of results for list
40119
+ # requests. If the number of results is larger than maxResults, use the
40120
+ # nextPageToken as a value for the query parameter pageToken in the next list
40121
+ # request. Subsequent list requests will have their own nextPageToken to
40122
+ # continue paging through the results.
40123
+ # Corresponds to the JSON property `nextPageToken`
40124
+ # @return [String]
40125
+ attr_accessor :next_page_token
40126
+
40127
+ # [Output Only] Server-defined URL for this resource.
40128
+ # Corresponds to the JSON property `selfLink`
40129
+ # @return [String]
40130
+ attr_accessor :self_link
40131
+
40132
+ # [Output Only] Unreachable resources.
40133
+ # Corresponds to the JSON property `unreachables`
40134
+ # @return [Array<String>]
40135
+ attr_accessor :unreachables
40136
+
40137
+ # [Output Only] Informational warning message.
40138
+ # Corresponds to the JSON property `warning`
40139
+ # @return [Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning]
40140
+ attr_accessor :warning
40141
+
40142
+ def initialize(**args)
40143
+ update!(**args)
40144
+ end
40145
+
40146
+ # Update properties of this object
40147
+ def update!(**args)
40148
+ @etag = args[:etag] if args.key?(:etag)
40149
+ @id = args[:id] if args.key?(:id)
40150
+ @items = args[:items] if args.key?(:items)
40151
+ @kind = args[:kind] if args.key?(:kind)
40152
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40153
+ @self_link = args[:self_link] if args.key?(:self_link)
40154
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
40155
+ @warning = args[:warning] if args.key?(:warning)
40156
+ end
40157
+
40158
+ # [Output Only] Informational warning message.
40159
+ class Warning
40160
+ include Google::Apis::Core::Hashable
40161
+
40162
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40163
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40164
+ # Corresponds to the JSON property `code`
40165
+ # @return [String]
40166
+ attr_accessor :code
40167
+
40168
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40169
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40170
+ # Corresponds to the JSON property `data`
40171
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolAggregatedList::Warning::Datum>]
40172
+ attr_accessor :data
40173
+
40174
+ # [Output Only] A human-readable description of the warning code.
40175
+ # Corresponds to the JSON property `message`
40176
+ # @return [String]
40177
+ attr_accessor :message
40178
+
40179
+ def initialize(**args)
40180
+ update!(**args)
40181
+ end
40182
+
40183
+ # Update properties of this object
40184
+ def update!(**args)
40185
+ @code = args[:code] if args.key?(:code)
40186
+ @data = args[:data] if args.key?(:data)
40187
+ @message = args[:message] if args.key?(:message)
40188
+ end
40189
+
40190
+ #
40191
+ class Datum
40192
+ include Google::Apis::Core::Hashable
40193
+
40194
+ # [Output Only] A key that provides more detail on the warning being returned.
40195
+ # For example, for warnings where there are no results in a list request for a
40196
+ # particular zone, this key might be scope and the key value might be the zone
40197
+ # name. Other examples might be a key indicating a deprecated resource and a
40198
+ # suggested replacement, or a warning about invalid network settings (for
40199
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40200
+ # for IP forwarding).
40201
+ # Corresponds to the JSON property `key`
40202
+ # @return [String]
40203
+ attr_accessor :key
40204
+
40205
+ # [Output Only] A warning data value corresponding to the key.
40206
+ # Corresponds to the JSON property `value`
40207
+ # @return [String]
40208
+ attr_accessor :value
40209
+
40210
+ def initialize(**args)
40211
+ update!(**args)
40212
+ end
40213
+
40214
+ # Update properties of this object
40215
+ def update!(**args)
40216
+ @key = args[:key] if args.key?(:key)
40217
+ @value = args[:value] if args.key?(:value)
40218
+ end
40219
+ end
40220
+ end
40221
+ end
40222
+
40223
+ #
40224
+ class StoragePoolDisk
40225
+ include Google::Apis::Core::Hashable
40226
+
40227
+ # [Output Only] Instances this disk is attached to.
40228
+ # Corresponds to the JSON property `attachedInstances`
40229
+ # @return [Array<String>]
40230
+ attr_accessor :attached_instances
40231
+
40232
+ # [Output Only] Creation timestamp in RFC3339 text format.
40233
+ # Corresponds to the JSON property `creationTimestamp`
40234
+ # @return [String]
40235
+ attr_accessor :creation_timestamp
40236
+
40237
+ # [Output Only] The URL of the disk.
40238
+ # Corresponds to the JSON property `disk`
40239
+ # @return [String]
40240
+ attr_accessor :disk
40241
+
40242
+ # [Output Only] The name of the disk.
40243
+ # Corresponds to the JSON property `name`
40244
+ # @return [String]
40245
+ attr_accessor :name
40246
+
40247
+ # [Output Only] The number of IOPS provisioned for the disk.
40248
+ # Corresponds to the JSON property `provisionedIops`
40249
+ # @return [Fixnum]
40250
+ attr_accessor :provisioned_iops
40251
+
40252
+ # [Output Only] The throughput provisioned for the disk.
40253
+ # Corresponds to the JSON property `provisionedThroughput`
40254
+ # @return [Fixnum]
40255
+ attr_accessor :provisioned_throughput
40256
+
40257
+ # [Output Only] Resource policies applied to disk for automatic snapshot
40258
+ # creations.
40259
+ # Corresponds to the JSON property `resourcePolicies`
40260
+ # @return [Array<String>]
40261
+ attr_accessor :resource_policies
40262
+
40263
+ # [Output Only] The disk size, in GB.
40264
+ # Corresponds to the JSON property `sizeGb`
40265
+ # @return [Fixnum]
40266
+ attr_accessor :size_gb
40267
+
40268
+ # [Output Only] The disk status.
40269
+ # Corresponds to the JSON property `status`
40270
+ # @return [String]
40271
+ attr_accessor :status
40272
+
40273
+ # [Output Only] The disk type.
40274
+ # Corresponds to the JSON property `type`
40275
+ # @return [String]
40276
+ attr_accessor :type
40277
+
40278
+ # [Output Only] Amount of disk space used.
40279
+ # Corresponds to the JSON property `usedBytes`
40280
+ # @return [Fixnum]
40281
+ attr_accessor :used_bytes
40282
+
40283
+ def initialize(**args)
40284
+ update!(**args)
40285
+ end
40286
+
40287
+ # Update properties of this object
40288
+ def update!(**args)
40289
+ @attached_instances = args[:attached_instances] if args.key?(:attached_instances)
40290
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
40291
+ @disk = args[:disk] if args.key?(:disk)
40292
+ @name = args[:name] if args.key?(:name)
40293
+ @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
40294
+ @provisioned_throughput = args[:provisioned_throughput] if args.key?(:provisioned_throughput)
40295
+ @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
40296
+ @size_gb = args[:size_gb] if args.key?(:size_gb)
40297
+ @status = args[:status] if args.key?(:status)
40298
+ @type = args[:type] if args.key?(:type)
40299
+ @used_bytes = args[:used_bytes] if args.key?(:used_bytes)
40300
+ end
40301
+ end
40302
+
40303
+ # A list of StoragePool resources.
40304
+ class StoragePoolList
40305
+ include Google::Apis::Core::Hashable
40306
+
40307
+ #
40308
+ # Corresponds to the JSON property `etag`
40309
+ # @return [String]
40310
+ attr_accessor :etag
40311
+
40312
+ # [Output Only] Unique identifier for the resource; defined by the server.
40313
+ # Corresponds to the JSON property `id`
40314
+ # @return [String]
40315
+ attr_accessor :id
40316
+
40317
+ # A list of StoragePool resources.
40318
+ # Corresponds to the JSON property `items`
40319
+ # @return [Array<Google::Apis::ComputeV1::StoragePool>]
40320
+ attr_accessor :items
40321
+
40322
+ # [Output Only] Type of resource. Always compute#storagePoolList for lists of
40323
+ # storagePools.
40324
+ # Corresponds to the JSON property `kind`
40325
+ # @return [String]
40326
+ attr_accessor :kind
40327
+
40328
+ # [Output Only] This token allows you to get the next page of results for list
40329
+ # requests. If the number of results is larger than maxResults, use the
40330
+ # nextPageToken as a value for the query parameter pageToken in the next list
40331
+ # request. Subsequent list requests will have their own nextPageToken to
40332
+ # continue paging through the results.
40333
+ # Corresponds to the JSON property `nextPageToken`
40334
+ # @return [String]
40335
+ attr_accessor :next_page_token
40336
+
40337
+ # [Output Only] Server-defined URL for this resource.
40338
+ # Corresponds to the JSON property `selfLink`
40339
+ # @return [String]
40340
+ attr_accessor :self_link
40341
+
40342
+ # [Output Only] Unreachable resources. end_interface:
40343
+ # MixerListResponseWithEtagBuilder
40344
+ # Corresponds to the JSON property `unreachables`
40345
+ # @return [Array<String>]
40346
+ attr_accessor :unreachables
40347
+
40348
+ # [Output Only] Informational warning message.
40349
+ # Corresponds to the JSON property `warning`
40350
+ # @return [Google::Apis::ComputeV1::StoragePoolList::Warning]
40351
+ attr_accessor :warning
40352
+
40353
+ def initialize(**args)
40354
+ update!(**args)
40355
+ end
40356
+
40357
+ # Update properties of this object
40358
+ def update!(**args)
40359
+ @etag = args[:etag] if args.key?(:etag)
40360
+ @id = args[:id] if args.key?(:id)
40361
+ @items = args[:items] if args.key?(:items)
40362
+ @kind = args[:kind] if args.key?(:kind)
40363
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40364
+ @self_link = args[:self_link] if args.key?(:self_link)
40365
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
40366
+ @warning = args[:warning] if args.key?(:warning)
40367
+ end
40368
+
40369
+ # [Output Only] Informational warning message.
40370
+ class Warning
40371
+ include Google::Apis::Core::Hashable
40372
+
40373
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40374
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40375
+ # Corresponds to the JSON property `code`
40376
+ # @return [String]
40377
+ attr_accessor :code
40378
+
40379
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40380
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40381
+ # Corresponds to the JSON property `data`
40382
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolList::Warning::Datum>]
40383
+ attr_accessor :data
40384
+
40385
+ # [Output Only] A human-readable description of the warning code.
40386
+ # Corresponds to the JSON property `message`
40387
+ # @return [String]
40388
+ attr_accessor :message
40389
+
40390
+ def initialize(**args)
40391
+ update!(**args)
40392
+ end
40393
+
40394
+ # Update properties of this object
40395
+ def update!(**args)
40396
+ @code = args[:code] if args.key?(:code)
40397
+ @data = args[:data] if args.key?(:data)
40398
+ @message = args[:message] if args.key?(:message)
40399
+ end
40400
+
40401
+ #
40402
+ class Datum
40403
+ include Google::Apis::Core::Hashable
40404
+
40405
+ # [Output Only] A key that provides more detail on the warning being returned.
40406
+ # For example, for warnings where there are no results in a list request for a
40407
+ # particular zone, this key might be scope and the key value might be the zone
40408
+ # name. Other examples might be a key indicating a deprecated resource and a
40409
+ # suggested replacement, or a warning about invalid network settings (for
40410
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40411
+ # for IP forwarding).
40412
+ # Corresponds to the JSON property `key`
40413
+ # @return [String]
40414
+ attr_accessor :key
40415
+
40416
+ # [Output Only] A warning data value corresponding to the key.
40417
+ # Corresponds to the JSON property `value`
40418
+ # @return [String]
40419
+ attr_accessor :value
40420
+
40421
+ def initialize(**args)
40422
+ update!(**args)
40423
+ end
40424
+
40425
+ # Update properties of this object
40426
+ def update!(**args)
40427
+ @key = args[:key] if args.key?(:key)
40428
+ @value = args[:value] if args.key?(:value)
40429
+ end
40430
+ end
40431
+ end
40432
+ end
40433
+
40434
+ #
40435
+ class StoragePoolListDisks
40436
+ include Google::Apis::Core::Hashable
40437
+
40438
+ #
40439
+ # Corresponds to the JSON property `etag`
40440
+ # @return [String]
40441
+ attr_accessor :etag
40442
+
40443
+ # [Output Only] Unique identifier for the resource; defined by the server.
40444
+ # Corresponds to the JSON property `id`
40445
+ # @return [String]
40446
+ attr_accessor :id
40447
+
40448
+ # A list of StoragePoolDisk resources.
40449
+ # Corresponds to the JSON property `items`
40450
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolDisk>]
40451
+ attr_accessor :items
40452
+
40453
+ # [Output Only] Type of resource. Always compute#storagePoolListDisks for lists
40454
+ # of disks in a storagePool.
40455
+ # Corresponds to the JSON property `kind`
40456
+ # @return [String]
40457
+ attr_accessor :kind
40458
+
40459
+ # [Output Only] This token allows you to get the next page of results for list
40460
+ # requests. If the number of results is larger than maxResults, use the
40461
+ # nextPageToken as a value for the query parameter pageToken in the next list
40462
+ # request. Subsequent list requests will have their own nextPageToken to
40463
+ # continue paging through the results.
40464
+ # Corresponds to the JSON property `nextPageToken`
40465
+ # @return [String]
40466
+ attr_accessor :next_page_token
40467
+
40468
+ # [Output Only] Server-defined URL for this resource.
40469
+ # Corresponds to the JSON property `selfLink`
40470
+ # @return [String]
40471
+ attr_accessor :self_link
40472
+
40473
+ # [Output Only] Unreachable resources. end_interface:
40474
+ # MixerListResponseWithEtagBuilder
40475
+ # Corresponds to the JSON property `unreachables`
40476
+ # @return [Array<String>]
40477
+ attr_accessor :unreachables
40478
+
40479
+ # [Output Only] Informational warning message.
40480
+ # Corresponds to the JSON property `warning`
40481
+ # @return [Google::Apis::ComputeV1::StoragePoolListDisks::Warning]
40482
+ attr_accessor :warning
40483
+
40484
+ def initialize(**args)
40485
+ update!(**args)
40486
+ end
40487
+
40488
+ # Update properties of this object
40489
+ def update!(**args)
40490
+ @etag = args[:etag] if args.key?(:etag)
40491
+ @id = args[:id] if args.key?(:id)
40492
+ @items = args[:items] if args.key?(:items)
40493
+ @kind = args[:kind] if args.key?(:kind)
40494
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40495
+ @self_link = args[:self_link] if args.key?(:self_link)
40496
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
40497
+ @warning = args[:warning] if args.key?(:warning)
40498
+ end
40499
+
40500
+ # [Output Only] Informational warning message.
40501
+ class Warning
40502
+ include Google::Apis::Core::Hashable
40503
+
40504
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40505
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40506
+ # Corresponds to the JSON property `code`
40507
+ # @return [String]
40508
+ attr_accessor :code
40509
+
40510
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40511
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40512
+ # Corresponds to the JSON property `data`
40513
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolListDisks::Warning::Datum>]
40514
+ attr_accessor :data
40515
+
40516
+ # [Output Only] A human-readable description of the warning code.
40517
+ # Corresponds to the JSON property `message`
40518
+ # @return [String]
40519
+ attr_accessor :message
40520
+
40521
+ def initialize(**args)
40522
+ update!(**args)
40523
+ end
40524
+
40525
+ # Update properties of this object
40526
+ def update!(**args)
40527
+ @code = args[:code] if args.key?(:code)
40528
+ @data = args[:data] if args.key?(:data)
40529
+ @message = args[:message] if args.key?(:message)
40530
+ end
40531
+
40532
+ #
40533
+ class Datum
40534
+ include Google::Apis::Core::Hashable
40535
+
40536
+ # [Output Only] A key that provides more detail on the warning being returned.
40537
+ # For example, for warnings where there are no results in a list request for a
40538
+ # particular zone, this key might be scope and the key value might be the zone
40539
+ # name. Other examples might be a key indicating a deprecated resource and a
40540
+ # suggested replacement, or a warning about invalid network settings (for
40541
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40542
+ # for IP forwarding).
40543
+ # Corresponds to the JSON property `key`
40544
+ # @return [String]
40545
+ attr_accessor :key
40546
+
40547
+ # [Output Only] A warning data value corresponding to the key.
40548
+ # Corresponds to the JSON property `value`
40549
+ # @return [String]
40550
+ attr_accessor :value
40551
+
40552
+ def initialize(**args)
40553
+ update!(**args)
40554
+ end
40555
+
40556
+ # Update properties of this object
40557
+ def update!(**args)
40558
+ @key = args[:key] if args.key?(:key)
40559
+ @value = args[:value] if args.key?(:value)
40560
+ end
40561
+ end
40562
+ end
40563
+ end
40564
+
40565
+ # [Output Only] Contains output only fields.
40566
+ class StoragePoolResourceStatus
40567
+ include Google::Apis::Core::Hashable
40568
+
40569
+ # [Output Only] Number of disks used.
40570
+ # Corresponds to the JSON property `diskCount`
40571
+ # @return [Fixnum]
40572
+ attr_accessor :disk_count
40573
+
40574
+ # [Output Only] Timestamp of the last successful resize in RFC3339 text format.
40575
+ # Corresponds to the JSON property `lastResizeTimestamp`
40576
+ # @return [String]
40577
+ attr_accessor :last_resize_timestamp
40578
+
40579
+ # [Output Only] Maximum allowed aggregate disk size in gigabytes.
40580
+ # Corresponds to the JSON property `maxTotalProvisionedDiskCapacityGb`
40581
+ # @return [Fixnum]
40582
+ attr_accessor :max_total_provisioned_disk_capacity_gb
40583
+
40584
+ # [Output Only] Space used by data stored in disks within the storage pool (in
40585
+ # bytes). This will reflect the total number of bytes written to the disks in
40586
+ # the pool, in contrast to the capacity of those disks.
40587
+ # Corresponds to the JSON property `poolUsedCapacityBytes`
40588
+ # @return [Fixnum]
40589
+ attr_accessor :pool_used_capacity_bytes
40590
+
40591
+ # Sum of all the disks' provisioned IOPS, minus some amount that is allowed per
40592
+ # disk that is not counted towards pool's IOPS capacity.
40593
+ # Corresponds to the JSON property `poolUsedIops`
40594
+ # @return [Fixnum]
40595
+ attr_accessor :pool_used_iops
40596
+
40597
+ # [Output Only] Sum of all the disks' provisioned throughput in MB/s.
40598
+ # Corresponds to the JSON property `poolUsedThroughput`
40599
+ # @return [Fixnum]
40600
+ attr_accessor :pool_used_throughput
40601
+
40602
+ # [Output Only] Amount of data written into the pool, before it is compacted.
40603
+ # Corresponds to the JSON property `poolUserWrittenBytes`
40604
+ # @return [Fixnum]
40605
+ attr_accessor :pool_user_written_bytes
40606
+
40607
+ # [Output Only] Sum of all the capacity provisioned in disks in this storage
40608
+ # pool. A disk's provisioned capacity is the same as its total capacity.
40609
+ # Corresponds to the JSON property `totalProvisionedDiskCapacityGb`
40610
+ # @return [Fixnum]
40611
+ attr_accessor :total_provisioned_disk_capacity_gb
40612
+
40613
+ # [Output Only] Sum of all the disks' provisioned IOPS.
40614
+ # Corresponds to the JSON property `totalProvisionedDiskIops`
40615
+ # @return [Fixnum]
40616
+ attr_accessor :total_provisioned_disk_iops
40617
+
40618
+ # [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some
40619
+ # amount that is allowed per disk that is not counted towards pool's throughput
40620
+ # capacity.
40621
+ # Corresponds to the JSON property `totalProvisionedDiskThroughput`
40622
+ # @return [Fixnum]
40623
+ attr_accessor :total_provisioned_disk_throughput
40624
+
40625
+ def initialize(**args)
40626
+ update!(**args)
40627
+ end
40628
+
40629
+ # Update properties of this object
40630
+ def update!(**args)
40631
+ @disk_count = args[:disk_count] if args.key?(:disk_count)
40632
+ @last_resize_timestamp = args[:last_resize_timestamp] if args.key?(:last_resize_timestamp)
40633
+ @max_total_provisioned_disk_capacity_gb = args[:max_total_provisioned_disk_capacity_gb] if args.key?(:max_total_provisioned_disk_capacity_gb)
40634
+ @pool_used_capacity_bytes = args[:pool_used_capacity_bytes] if args.key?(:pool_used_capacity_bytes)
40635
+ @pool_used_iops = args[:pool_used_iops] if args.key?(:pool_used_iops)
40636
+ @pool_used_throughput = args[:pool_used_throughput] if args.key?(:pool_used_throughput)
40637
+ @pool_user_written_bytes = args[:pool_user_written_bytes] if args.key?(:pool_user_written_bytes)
40638
+ @total_provisioned_disk_capacity_gb = args[:total_provisioned_disk_capacity_gb] if args.key?(:total_provisioned_disk_capacity_gb)
40639
+ @total_provisioned_disk_iops = args[:total_provisioned_disk_iops] if args.key?(:total_provisioned_disk_iops)
40640
+ @total_provisioned_disk_throughput = args[:total_provisioned_disk_throughput] if args.key?(:total_provisioned_disk_throughput)
40641
+ end
40642
+ end
40643
+
40644
+ #
40645
+ class StoragePoolType
40646
+ include Google::Apis::Core::Hashable
40647
+
40648
+ # [Output Only] Creation timestamp in RFC3339 text format.
40649
+ # Corresponds to the JSON property `creationTimestamp`
40650
+ # @return [String]
40651
+ attr_accessor :creation_timestamp
40652
+
40653
+ # Deprecation status for a public resource.
40654
+ # Corresponds to the JSON property `deprecated`
40655
+ # @return [Google::Apis::ComputeV1::DeprecationStatus]
40656
+ attr_accessor :deprecated
40657
+
40658
+ # [Output Only] An optional description of this resource.
40659
+ # Corresponds to the JSON property `description`
40660
+ # @return [String]
40661
+ attr_accessor :description
40662
+
40663
+ # [Output Only] The unique identifier for the resource. This identifier is
40664
+ # defined by the server.
40665
+ # Corresponds to the JSON property `id`
40666
+ # @return [Fixnum]
40667
+ attr_accessor :id
40668
+
40669
+ # [Output Only] Type of the resource. Always compute#storagePoolType for storage
40670
+ # pool types.
40671
+ # Corresponds to the JSON property `kind`
40672
+ # @return [String]
40673
+ attr_accessor :kind
40674
+
40675
+ # [Output Only] Maximum storage pool size in GB.
40676
+ # Corresponds to the JSON property `maxPoolProvisionedCapacityGb`
40677
+ # @return [Fixnum]
40678
+ attr_accessor :max_pool_provisioned_capacity_gb
40679
+
40680
+ # [Output Only] Maximum provisioned IOPS.
40681
+ # Corresponds to the JSON property `maxPoolProvisionedIops`
40682
+ # @return [Fixnum]
40683
+ attr_accessor :max_pool_provisioned_iops
40684
+
40685
+ # [Output Only] Maximum provisioned throughput.
40686
+ # Corresponds to the JSON property `maxPoolProvisionedThroughput`
40687
+ # @return [Fixnum]
40688
+ attr_accessor :max_pool_provisioned_throughput
40689
+
40690
+ # [Output Only] Minimum storage pool size in GB.
40691
+ # Corresponds to the JSON property `minPoolProvisionedCapacityGb`
40692
+ # @return [Fixnum]
40693
+ attr_accessor :min_pool_provisioned_capacity_gb
40694
+
40695
+ # [Output Only] Minimum provisioned IOPS.
40696
+ # Corresponds to the JSON property `minPoolProvisionedIops`
40697
+ # @return [Fixnum]
40698
+ attr_accessor :min_pool_provisioned_iops
40699
+
40700
+ # [Output Only] Minimum provisioned throughput.
40701
+ # Corresponds to the JSON property `minPoolProvisionedThroughput`
40702
+ # @return [Fixnum]
40703
+ attr_accessor :min_pool_provisioned_throughput
40704
+
40705
+ # [Deprecated] This field is deprecated. Use minPoolProvisionedCapacityGb
40706
+ # instead.
40707
+ # Corresponds to the JSON property `minSizeGb`
40708
+ # @return [Fixnum]
40709
+ attr_accessor :min_size_gb
40710
+
40711
+ # [Output Only] Name of the resource.
40712
+ # Corresponds to the JSON property `name`
40713
+ # @return [String]
40714
+ attr_accessor :name
40715
+
40716
+ # [Output Only] Server-defined URL for the resource.
40717
+ # Corresponds to the JSON property `selfLink`
40718
+ # @return [String]
40719
+ attr_accessor :self_link
40720
+
40721
+ # [Output Only] Server-defined URL for this resource with the resource id.
40722
+ # Corresponds to the JSON property `selfLinkWithId`
40723
+ # @return [String]
40724
+ attr_accessor :self_link_with_id
40725
+
40726
+ # [Output Only] The list of disk types supported in this storage pool type.
40727
+ # Corresponds to the JSON property `supportedDiskTypes`
40728
+ # @return [Array<String>]
40729
+ attr_accessor :supported_disk_types
40730
+
40731
+ # [Output Only] URL of the zone where the storage pool type resides. You must
40732
+ # specify this field as part of the HTTP request URL. It is not settable as a
40733
+ # field in the request body.
40734
+ # Corresponds to the JSON property `zone`
40735
+ # @return [String]
40736
+ attr_accessor :zone
40737
+
40738
+ def initialize(**args)
40739
+ update!(**args)
40740
+ end
40741
+
40742
+ # Update properties of this object
40743
+ def update!(**args)
40744
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
40745
+ @deprecated = args[:deprecated] if args.key?(:deprecated)
40746
+ @description = args[:description] if args.key?(:description)
40747
+ @id = args[:id] if args.key?(:id)
40748
+ @kind = args[:kind] if args.key?(:kind)
40749
+ @max_pool_provisioned_capacity_gb = args[:max_pool_provisioned_capacity_gb] if args.key?(:max_pool_provisioned_capacity_gb)
40750
+ @max_pool_provisioned_iops = args[:max_pool_provisioned_iops] if args.key?(:max_pool_provisioned_iops)
40751
+ @max_pool_provisioned_throughput = args[:max_pool_provisioned_throughput] if args.key?(:max_pool_provisioned_throughput)
40752
+ @min_pool_provisioned_capacity_gb = args[:min_pool_provisioned_capacity_gb] if args.key?(:min_pool_provisioned_capacity_gb)
40753
+ @min_pool_provisioned_iops = args[:min_pool_provisioned_iops] if args.key?(:min_pool_provisioned_iops)
40754
+ @min_pool_provisioned_throughput = args[:min_pool_provisioned_throughput] if args.key?(:min_pool_provisioned_throughput)
40755
+ @min_size_gb = args[:min_size_gb] if args.key?(:min_size_gb)
40756
+ @name = args[:name] if args.key?(:name)
40757
+ @self_link = args[:self_link] if args.key?(:self_link)
40758
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
40759
+ @supported_disk_types = args[:supported_disk_types] if args.key?(:supported_disk_types)
40760
+ @zone = args[:zone] if args.key?(:zone)
40761
+ end
40762
+ end
40763
+
40764
+ #
40765
+ class StoragePoolTypeAggregatedList
40766
+ include Google::Apis::Core::Hashable
40767
+
40768
+ # [Output Only] Unique identifier for the resource; defined by the server.
40769
+ # Corresponds to the JSON property `id`
40770
+ # @return [String]
40771
+ attr_accessor :id
40772
+
40773
+ # A list of StoragePoolTypesScopedList resources.
40774
+ # Corresponds to the JSON property `items`
40775
+ # @return [Hash<String,Google::Apis::ComputeV1::StoragePoolTypesScopedList>]
40776
+ attr_accessor :items
40777
+
40778
+ # [Output Only] Type of resource. Always compute#storagePoolTypeAggregatedList .
40779
+ # Corresponds to the JSON property `kind`
40780
+ # @return [String]
40781
+ attr_accessor :kind
40782
+
40783
+ # [Output Only] This token allows you to get the next page of results for list
40784
+ # requests. If the number of results is larger than maxResults, use the
40785
+ # nextPageToken as a value for the query parameter pageToken in the next list
40786
+ # request. Subsequent list requests will have their own nextPageToken to
40787
+ # continue paging through the results.
40788
+ # Corresponds to the JSON property `nextPageToken`
40789
+ # @return [String]
40790
+ attr_accessor :next_page_token
40791
+
40792
+ # [Output Only] Server-defined URL for this resource.
40793
+ # Corresponds to the JSON property `selfLink`
40794
+ # @return [String]
40795
+ attr_accessor :self_link
40796
+
40797
+ # [Output Only] Informational warning message.
40798
+ # Corresponds to the JSON property `warning`
40799
+ # @return [Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning]
40800
+ attr_accessor :warning
40801
+
40802
+ def initialize(**args)
40803
+ update!(**args)
40804
+ end
40805
+
40806
+ # Update properties of this object
40807
+ def update!(**args)
40808
+ @id = args[:id] if args.key?(:id)
40809
+ @items = args[:items] if args.key?(:items)
40810
+ @kind = args[:kind] if args.key?(:kind)
40811
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40812
+ @self_link = args[:self_link] if args.key?(:self_link)
40813
+ @warning = args[:warning] if args.key?(:warning)
40814
+ end
40815
+
40816
+ # [Output Only] Informational warning message.
40817
+ class Warning
40818
+ include Google::Apis::Core::Hashable
40819
+
40820
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40821
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40822
+ # Corresponds to the JSON property `code`
40823
+ # @return [String]
40824
+ attr_accessor :code
40825
+
40826
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40827
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40828
+ # Corresponds to the JSON property `data`
40829
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolTypeAggregatedList::Warning::Datum>]
40830
+ attr_accessor :data
40831
+
40832
+ # [Output Only] A human-readable description of the warning code.
40833
+ # Corresponds to the JSON property `message`
40834
+ # @return [String]
40835
+ attr_accessor :message
40836
+
40837
+ def initialize(**args)
40838
+ update!(**args)
40839
+ end
40840
+
40841
+ # Update properties of this object
40842
+ def update!(**args)
40843
+ @code = args[:code] if args.key?(:code)
40844
+ @data = args[:data] if args.key?(:data)
40845
+ @message = args[:message] if args.key?(:message)
40846
+ end
40847
+
40848
+ #
40849
+ class Datum
40850
+ include Google::Apis::Core::Hashable
40851
+
40852
+ # [Output Only] A key that provides more detail on the warning being returned.
40853
+ # For example, for warnings where there are no results in a list request for a
40854
+ # particular zone, this key might be scope and the key value might be the zone
40855
+ # name. Other examples might be a key indicating a deprecated resource and a
40856
+ # suggested replacement, or a warning about invalid network settings (for
40857
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40858
+ # for IP forwarding).
40859
+ # Corresponds to the JSON property `key`
40860
+ # @return [String]
40861
+ attr_accessor :key
40862
+
40863
+ # [Output Only] A warning data value corresponding to the key.
40864
+ # Corresponds to the JSON property `value`
40865
+ # @return [String]
40866
+ attr_accessor :value
40867
+
40868
+ def initialize(**args)
40869
+ update!(**args)
40870
+ end
40871
+
40872
+ # Update properties of this object
40873
+ def update!(**args)
40874
+ @key = args[:key] if args.key?(:key)
40875
+ @value = args[:value] if args.key?(:value)
40876
+ end
40877
+ end
40878
+ end
40879
+ end
40880
+
40881
+ # Contains a list of storage pool types.
40882
+ class StoragePoolTypeList
40883
+ include Google::Apis::Core::Hashable
40884
+
40885
+ # [Output Only] Unique identifier for the resource; defined by the server.
40886
+ # Corresponds to the JSON property `id`
40887
+ # @return [String]
40888
+ attr_accessor :id
40889
+
40890
+ # A list of StoragePoolType resources.
40891
+ # Corresponds to the JSON property `items`
40892
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolType>]
40893
+ attr_accessor :items
40894
+
40895
+ # [Output Only] Type of resource. Always compute#storagePoolTypeList for storage
40896
+ # pool types.
40897
+ # Corresponds to the JSON property `kind`
40898
+ # @return [String]
40899
+ attr_accessor :kind
40900
+
40901
+ # [Output Only] This token allows you to get the next page of results for list
40902
+ # requests. If the number of results is larger than maxResults, use the
40903
+ # nextPageToken as a value for the query parameter pageToken in the next list
40904
+ # request. Subsequent list requests will have their own nextPageToken to
40905
+ # continue paging through the results.
40906
+ # Corresponds to the JSON property `nextPageToken`
40907
+ # @return [String]
40908
+ attr_accessor :next_page_token
40909
+
40910
+ # [Output Only] Server-defined URL for this resource.
40911
+ # Corresponds to the JSON property `selfLink`
40912
+ # @return [String]
40913
+ attr_accessor :self_link
40914
+
40915
+ # [Output Only] Informational warning message.
40916
+ # Corresponds to the JSON property `warning`
40917
+ # @return [Google::Apis::ComputeV1::StoragePoolTypeList::Warning]
40918
+ attr_accessor :warning
40919
+
40920
+ def initialize(**args)
40921
+ update!(**args)
40922
+ end
40923
+
40924
+ # Update properties of this object
40925
+ def update!(**args)
40926
+ @id = args[:id] if args.key?(:id)
40927
+ @items = args[:items] if args.key?(:items)
40928
+ @kind = args[:kind] if args.key?(:kind)
40929
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
40930
+ @self_link = args[:self_link] if args.key?(:self_link)
40931
+ @warning = args[:warning] if args.key?(:warning)
40932
+ end
40933
+
40934
+ # [Output Only] Informational warning message.
40935
+ class Warning
40936
+ include Google::Apis::Core::Hashable
40937
+
40938
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
40939
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
40940
+ # Corresponds to the JSON property `code`
40941
+ # @return [String]
40942
+ attr_accessor :code
40943
+
40944
+ # [Output Only] Metadata about this warning in key: value format. For example: "
40945
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
40946
+ # Corresponds to the JSON property `data`
40947
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolTypeList::Warning::Datum>]
40948
+ attr_accessor :data
40949
+
40950
+ # [Output Only] A human-readable description of the warning code.
40951
+ # Corresponds to the JSON property `message`
40952
+ # @return [String]
40953
+ attr_accessor :message
40954
+
40955
+ def initialize(**args)
40956
+ update!(**args)
40957
+ end
40958
+
40959
+ # Update properties of this object
40960
+ def update!(**args)
40961
+ @code = args[:code] if args.key?(:code)
40962
+ @data = args[:data] if args.key?(:data)
40963
+ @message = args[:message] if args.key?(:message)
40964
+ end
40965
+
40966
+ #
40967
+ class Datum
40968
+ include Google::Apis::Core::Hashable
40969
+
40970
+ # [Output Only] A key that provides more detail on the warning being returned.
40971
+ # For example, for warnings where there are no results in a list request for a
40972
+ # particular zone, this key might be scope and the key value might be the zone
40973
+ # name. Other examples might be a key indicating a deprecated resource and a
40974
+ # suggested replacement, or a warning about invalid network settings (for
40975
+ # example, if an instance attempts to perform IP forwarding but is not enabled
40976
+ # for IP forwarding).
40977
+ # Corresponds to the JSON property `key`
40978
+ # @return [String]
40979
+ attr_accessor :key
40980
+
40981
+ # [Output Only] A warning data value corresponding to the key.
40982
+ # Corresponds to the JSON property `value`
40983
+ # @return [String]
40984
+ attr_accessor :value
40985
+
40986
+ def initialize(**args)
40987
+ update!(**args)
40988
+ end
40989
+
40990
+ # Update properties of this object
40991
+ def update!(**args)
40992
+ @key = args[:key] if args.key?(:key)
40993
+ @value = args[:value] if args.key?(:value)
40994
+ end
40995
+ end
40996
+ end
40997
+ end
40998
+
40999
+ #
41000
+ class StoragePoolTypesScopedList
39139
41001
  include Google::Apis::Core::Hashable
39140
41002
 
39141
- # URL of the SSL policy resource. Set this to empty string to clear any existing
39142
- # SSL policy associated with the target proxy resource.
39143
- # Corresponds to the JSON property `sslPolicy`
39144
- # @return [String]
39145
- attr_accessor :ssl_policy
39146
-
39147
- def initialize(**args)
39148
- update!(**args)
39149
- end
39150
-
39151
- # Update properties of this object
39152
- def update!(**args)
39153
- @ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
39154
- end
39155
- end
39156
-
39157
- #
39158
- class StatefulPolicy
39159
- include Google::Apis::Core::Hashable
41003
+ # [Output Only] A list of storage pool types contained in this scope.
41004
+ # Corresponds to the JSON property `storagePoolTypes`
41005
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolType>]
41006
+ attr_accessor :storage_pool_types
39160
41007
 
39161
- # Configuration of preserved resources.
39162
- # Corresponds to the JSON property `preservedState`
39163
- # @return [Google::Apis::ComputeV1::StatefulPolicyPreservedState]
39164
- attr_accessor :preserved_state
41008
+ # [Output Only] Informational warning which replaces the list of storage pool
41009
+ # types when the list is empty.
41010
+ # Corresponds to the JSON property `warning`
41011
+ # @return [Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning]
41012
+ attr_accessor :warning
39165
41013
 
39166
41014
  def initialize(**args)
39167
41015
  update!(**args)
@@ -39169,80 +41017,90 @@ module Google
39169
41017
 
39170
41018
  # Update properties of this object
39171
41019
  def update!(**args)
39172
- @preserved_state = args[:preserved_state] if args.key?(:preserved_state)
39173
- end
39174
- end
39175
-
39176
- # Configuration of preserved resources.
39177
- class StatefulPolicyPreservedState
39178
- include Google::Apis::Core::Hashable
39179
-
39180
- # Disks created on the instances that will be preserved on instance delete,
39181
- # update, etc. This map is keyed with the device names of the disks.
39182
- # Corresponds to the JSON property `disks`
39183
- # @return [Hash<String,Google::Apis::ComputeV1::StatefulPolicyPreservedStateDiskDevice>]
39184
- attr_accessor :disks
39185
-
39186
- # External network IPs assigned to the instances that will be preserved on
39187
- # instance delete, update, etc. This map is keyed with the network interface
39188
- # name.
39189
- # Corresponds to the JSON property `externalIPs`
39190
- # @return [Hash<String,Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp>]
39191
- attr_accessor :external_i_ps
39192
-
39193
- # Internal network IPs assigned to the instances that will be preserved on
39194
- # instance delete, update, etc. This map is keyed with the network interface
39195
- # name.
39196
- # Corresponds to the JSON property `internalIPs`
39197
- # @return [Hash<String,Google::Apis::ComputeV1::StatefulPolicyPreservedStateNetworkIp>]
39198
- attr_accessor :internal_i_ps
39199
-
39200
- def initialize(**args)
39201
- update!(**args)
41020
+ @storage_pool_types = args[:storage_pool_types] if args.key?(:storage_pool_types)
41021
+ @warning = args[:warning] if args.key?(:warning)
39202
41022
  end
39203
-
39204
- # Update properties of this object
39205
- def update!(**args)
39206
- @disks = args[:disks] if args.key?(:disks)
39207
- @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
39208
- @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
41023
+
41024
+ # [Output Only] Informational warning which replaces the list of storage pool
41025
+ # types when the list is empty.
41026
+ class Warning
41027
+ include Google::Apis::Core::Hashable
41028
+
41029
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41030
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41031
+ # Corresponds to the JSON property `code`
41032
+ # @return [String]
41033
+ attr_accessor :code
41034
+
41035
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41036
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41037
+ # Corresponds to the JSON property `data`
41038
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolTypesScopedList::Warning::Datum>]
41039
+ attr_accessor :data
41040
+
41041
+ # [Output Only] A human-readable description of the warning code.
41042
+ # Corresponds to the JSON property `message`
41043
+ # @return [String]
41044
+ attr_accessor :message
41045
+
41046
+ def initialize(**args)
41047
+ update!(**args)
41048
+ end
41049
+
41050
+ # Update properties of this object
41051
+ def update!(**args)
41052
+ @code = args[:code] if args.key?(:code)
41053
+ @data = args[:data] if args.key?(:data)
41054
+ @message = args[:message] if args.key?(:message)
41055
+ end
41056
+
41057
+ #
41058
+ class Datum
41059
+ include Google::Apis::Core::Hashable
41060
+
41061
+ # [Output Only] A key that provides more detail on the warning being returned.
41062
+ # For example, for warnings where there are no results in a list request for a
41063
+ # particular zone, this key might be scope and the key value might be the zone
41064
+ # name. Other examples might be a key indicating a deprecated resource and a
41065
+ # suggested replacement, or a warning about invalid network settings (for
41066
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41067
+ # for IP forwarding).
41068
+ # Corresponds to the JSON property `key`
41069
+ # @return [String]
41070
+ attr_accessor :key
41071
+
41072
+ # [Output Only] A warning data value corresponding to the key.
41073
+ # Corresponds to the JSON property `value`
41074
+ # @return [String]
41075
+ attr_accessor :value
41076
+
41077
+ def initialize(**args)
41078
+ update!(**args)
41079
+ end
41080
+
41081
+ # Update properties of this object
41082
+ def update!(**args)
41083
+ @key = args[:key] if args.key?(:key)
41084
+ @value = args[:value] if args.key?(:value)
41085
+ end
41086
+ end
39209
41087
  end
39210
41088
  end
39211
41089
 
39212
41090
  #
39213
- class StatefulPolicyPreservedStateDiskDevice
41091
+ class StoragePoolsScopedList
39214
41092
  include Google::Apis::Core::Hashable
39215
41093
 
39216
- # These stateful disks will never be deleted during autohealing, update or VM
39217
- # instance recreate operations. This flag is used to configure if the disk
39218
- # should be deleted after it is no longer used by the group, e.g. when the given
39219
- # instance or the whole group is deleted. Note: disks attached in READ_ONLY mode
39220
- # cannot be auto-deleted.
39221
- # Corresponds to the JSON property `autoDelete`
39222
- # @return [String]
39223
- attr_accessor :auto_delete
39224
-
39225
- def initialize(**args)
39226
- update!(**args)
39227
- end
41094
+ # [Output Only] A list of storage pool contained in this scope.
41095
+ # Corresponds to the JSON property `storagePools`
41096
+ # @return [Array<Google::Apis::ComputeV1::StoragePool>]
41097
+ attr_accessor :storage_pools
39228
41098
 
39229
- # Update properties of this object
39230
- def update!(**args)
39231
- @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
39232
- end
39233
- end
39234
-
39235
- #
39236
- class StatefulPolicyPreservedStateNetworkIp
39237
- include Google::Apis::Core::Hashable
39238
-
39239
- # These stateful IPs will never be released during autohealing, update or VM
39240
- # instance recreate operations. This flag is used to configure if the IP
39241
- # reservation should be deleted after it is no longer used by the group, e.g.
39242
- # when the given instance or the whole group is deleted.
39243
- # Corresponds to the JSON property `autoDelete`
39244
- # @return [String]
39245
- attr_accessor :auto_delete
41099
+ # [Output Only] Informational warning which replaces the list of storage pool
41100
+ # when the list is empty.
41101
+ # Corresponds to the JSON property `warning`
41102
+ # @return [Google::Apis::ComputeV1::StoragePoolsScopedList::Warning]
41103
+ attr_accessor :warning
39246
41104
 
39247
41105
  def initialize(**args)
39248
41106
  update!(**args)
@@ -39250,46 +41108,73 @@ module Google
39250
41108
 
39251
41109
  # Update properties of this object
39252
41110
  def update!(**args)
39253
- @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
39254
- end
39255
- end
39256
-
39257
- # The `Status` type defines a logical error model that is suitable for different
39258
- # programming environments, including REST APIs and RPC APIs. It is used by [
39259
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
39260
- # data: error code, error message, and error details. You can find out more
39261
- # about this error model and how to work with it in the [API Design Guide](https:
39262
- # //cloud.google.com/apis/design/errors).
39263
- class Status
39264
- include Google::Apis::Core::Hashable
39265
-
39266
- # The status code, which should be an enum value of google.rpc.Code.
39267
- # Corresponds to the JSON property `code`
39268
- # @return [Fixnum]
39269
- attr_accessor :code
39270
-
39271
- # A list of messages that carry the error details. There is a common set of
39272
- # message types for APIs to use.
39273
- # Corresponds to the JSON property `details`
39274
- # @return [Array<Hash<String,Object>>]
39275
- attr_accessor :details
39276
-
39277
- # A developer-facing error message, which should be in English. Any user-facing
39278
- # error message should be localized and sent in the google.rpc.Status.details
39279
- # field, or localized by the client.
39280
- # Corresponds to the JSON property `message`
39281
- # @return [String]
39282
- attr_accessor :message
39283
-
39284
- def initialize(**args)
39285
- update!(**args)
41111
+ @storage_pools = args[:storage_pools] if args.key?(:storage_pools)
41112
+ @warning = args[:warning] if args.key?(:warning)
39286
41113
  end
39287
-
39288
- # Update properties of this object
39289
- def update!(**args)
39290
- @code = args[:code] if args.key?(:code)
39291
- @details = args[:details] if args.key?(:details)
39292
- @message = args[:message] if args.key?(:message)
41114
+
41115
+ # [Output Only] Informational warning which replaces the list of storage pool
41116
+ # when the list is empty.
41117
+ class Warning
41118
+ include Google::Apis::Core::Hashable
41119
+
41120
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
41121
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
41122
+ # Corresponds to the JSON property `code`
41123
+ # @return [String]
41124
+ attr_accessor :code
41125
+
41126
+ # [Output Only] Metadata about this warning in key: value format. For example: "
41127
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
41128
+ # Corresponds to the JSON property `data`
41129
+ # @return [Array<Google::Apis::ComputeV1::StoragePoolsScopedList::Warning::Datum>]
41130
+ attr_accessor :data
41131
+
41132
+ # [Output Only] A human-readable description of the warning code.
41133
+ # Corresponds to the JSON property `message`
41134
+ # @return [String]
41135
+ attr_accessor :message
41136
+
41137
+ def initialize(**args)
41138
+ update!(**args)
41139
+ end
41140
+
41141
+ # Update properties of this object
41142
+ def update!(**args)
41143
+ @code = args[:code] if args.key?(:code)
41144
+ @data = args[:data] if args.key?(:data)
41145
+ @message = args[:message] if args.key?(:message)
41146
+ end
41147
+
41148
+ #
41149
+ class Datum
41150
+ include Google::Apis::Core::Hashable
41151
+
41152
+ # [Output Only] A key that provides more detail on the warning being returned.
41153
+ # For example, for warnings where there are no results in a list request for a
41154
+ # particular zone, this key might be scope and the key value might be the zone
41155
+ # name. Other examples might be a key indicating a deprecated resource and a
41156
+ # suggested replacement, or a warning about invalid network settings (for
41157
+ # example, if an instance attempts to perform IP forwarding but is not enabled
41158
+ # for IP forwarding).
41159
+ # Corresponds to the JSON property `key`
41160
+ # @return [String]
41161
+ attr_accessor :key
41162
+
41163
+ # [Output Only] A warning data value corresponding to the key.
41164
+ # Corresponds to the JSON property `value`
41165
+ # @return [String]
41166
+ attr_accessor :value
41167
+
41168
+ def initialize(**args)
41169
+ update!(**args)
41170
+ end
41171
+
41172
+ # Update properties of this object
41173
+ def update!(**args)
41174
+ @key = args[:key] if args.key?(:key)
41175
+ @value = args[:value] if args.key?(:value)
41176
+ end
41177
+ end
39293
41178
  end
39294
41179
  end
39295
41180
 
@@ -45038,6 +46923,12 @@ module Google
45038
46923
  # @return [String]
45039
46924
  attr_accessor :description
45040
46925
 
46926
+ # The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not
46927
+ # specified, IPV4 will be used.
46928
+ # Corresponds to the JSON property `gatewayIpVersion`
46929
+ # @return [String]
46930
+ attr_accessor :gateway_ip_version
46931
+
45041
46932
  # [Output Only] The unique identifier for the resource. This identifier is
45042
46933
  # defined by the server.
45043
46934
  # Corresponds to the JSON property `id`
@@ -45114,6 +47005,7 @@ module Google
45114
47005
  def update!(**args)
45115
47006
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
45116
47007
  @description = args[:description] if args.key?(:description)
47008
+ @gateway_ip_version = args[:gateway_ip_version] if args.key?(:gateway_ip_version)
45117
47009
  @id = args[:id] if args.key?(:id)
45118
47010
  @kind = args[:kind] if args.key?(:kind)
45119
47011
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -45522,6 +47414,13 @@ module Google
45522
47414
  # @return [String]
45523
47415
  attr_accessor :ip_address
45524
47416
 
47417
+ # [Output Only] IPv6 address for this VPN interface associated with the VPN
47418
+ # gateway. The IPv6 address must be a regional external IPv6 address. The format
47419
+ # is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
47420
+ # Corresponds to the JSON property `ipv6Address`
47421
+ # @return [String]
47422
+ attr_accessor :ipv6_address
47423
+
45525
47424
  def initialize(**args)
45526
47425
  update!(**args)
45527
47426
  end
@@ -45531,6 +47430,7 @@ module Google
45531
47430
  @id = args[:id] if args.key?(:id)
45532
47431
  @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
45533
47432
  @ip_address = args[:ip_address] if args.key?(:ip_address)
47433
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
45534
47434
  end
45535
47435
  end
45536
47436