google-apis-compute_v1 0.89.0 → 0.91.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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