google-apis-compute_v1 0.89.0 → 0.90.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1701,8 +1701,8 @@ module Google
1701
1701
  attr_accessor :provisioned_iops
1702
1702
 
1703
1703
  # Indicates how much throughput to provision for the disk. This sets the number
1704
- # of throughput mb per second that the disk can handle. Values must be between 1
1705
- # and 7,124.
1704
+ # of throughput mb per second that the disk can handle. Values must greater than
1705
+ # or equal to 1.
1706
1706
  # Corresponds to the JSON property `provisionedThroughput`
1707
1707
  # @return [Fixnum]
1708
1708
  attr_accessor :provisioned_throughput
@@ -2838,6 +2838,16 @@ module Google
2838
2838
  # @return [Float]
2839
2839
  attr_accessor :max_utilization
2840
2840
 
2841
+ # This field indicates whether this backend should be fully utilized before
2842
+ # sending traffic to backends with default preference. The possible values are: -
2843
+ # PREFERRED: Backends with this preference level will be filled up to their
2844
+ # capacity limits first, based on RTT. - DEFAULT: If preferred backends don't
2845
+ # have enough capacity, backends in this layer would be used and traffic would
2846
+ # be assigned based on the load balancing algorithm you use. This is the default
2847
+ # Corresponds to the JSON property `preference`
2848
+ # @return [String]
2849
+ attr_accessor :preference
2850
+
2841
2851
  def initialize(**args)
2842
2852
  update!(**args)
2843
2853
  end
@@ -2856,6 +2866,7 @@ module Google
2856
2866
  @max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint)
2857
2867
  @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
2858
2868
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
2869
+ @preference = args[:preference] if args.key?(:preference)
2859
2870
  end
2860
2871
  end
2861
2872
 
@@ -3603,6 +3614,13 @@ module Google
3603
3614
  # @return [Array<String>]
3604
3615
  attr_accessor :service_bindings
3605
3616
 
3617
+ # URL to networkservices.ServiceLbPolicy resource. Can only be set if load
3618
+ # balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or
3619
+ # INTERNAL_SELF_MANAGED and the scope is global.
3620
+ # Corresponds to the JSON property `serviceLbPolicy`
3621
+ # @return [String]
3622
+ attr_accessor :service_lb_policy
3623
+
3606
3624
  # Type of session affinity to use. The default is NONE. Only NONE and
3607
3625
  # HEADER_FIELD are supported when the backend service is referenced by a URL map
3608
3626
  # that is bound to target gRPC proxy that has validateForProxyless field set to
@@ -3679,6 +3697,7 @@ module Google
3679
3697
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3680
3698
  @self_link = args[:self_link] if args.key?(:self_link)
3681
3699
  @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3700
+ @service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
3682
3701
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3683
3702
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3684
3703
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -6434,8 +6453,8 @@ module Google
6434
6453
  attr_accessor :provisioned_iops
6435
6454
 
6436
6455
  # 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.
6456
+ # of throughput mb per second that the disk can handle. Values must be greater
6457
+ # than or equal to 1.
6439
6458
  # Corresponds to the JSON property `provisionedThroughput`
6440
6459
  # @return [Fixnum]
6441
6460
  attr_accessor :provisioned_throughput
@@ -6550,6 +6569,25 @@ module Google
6550
6569
  # @return [String]
6551
6570
  attr_accessor :source_image_id
6552
6571
 
6572
+ # The source instant snapshot used to create this disk. You can provide this as
6573
+ # a partial or full URL to the resource. For example, the following are valid
6574
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
6575
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
6576
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
6577
+ # Corresponds to the JSON property `sourceInstantSnapshot`
6578
+ # @return [String]
6579
+ attr_accessor :source_instant_snapshot
6580
+
6581
+ # [Output Only] The unique ID of the instant snapshot used to create this disk.
6582
+ # This value identifies the exact instant snapshot that was used to create this
6583
+ # persistent disk. For example, if you created the persistent disk from an
6584
+ # instant snapshot that was later deleted and recreated under the same name, the
6585
+ # source instant snapshot ID would identify the exact version of the instant
6586
+ # snapshot that was used.
6587
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
6588
+ # @return [String]
6589
+ attr_accessor :source_instant_snapshot_id
6590
+
6553
6591
  # The source snapshot used to create this disk. You can provide this as a
6554
6592
  # partial or full URL to the resource. For example, the following are valid
6555
6593
  # values: - https://www.googleapis.com/compute/v1/projects/project /global/
@@ -6655,6 +6693,8 @@ module Google
6655
6693
  @source_image = args[:source_image] if args.key?(:source_image)
6656
6694
  @source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
6657
6695
  @source_image_id = args[:source_image_id] if args.key?(:source_image_id)
6696
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
6697
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
6658
6698
  @source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
6659
6699
  @source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
6660
6700
  @source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
@@ -8232,6 +8272,16 @@ module Google
8232
8272
  # @return [String]
8233
8273
  attr_accessor :ip_address
8234
8274
 
8275
+ # IPv6 address of the interface in the external VPN gateway. This IPv6 address
8276
+ # can be either from your on-premise gateway or another Cloud provider's VPN
8277
+ # gateway, it cannot be an IP address from Google Compute Engine. Must specify
8278
+ # an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g.
8279
+ # 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::
8280
+ # 2d9:51:0:0).
8281
+ # Corresponds to the JSON property `ipv6Address`
8282
+ # @return [String]
8283
+ attr_accessor :ipv6_address
8284
+
8235
8285
  def initialize(**args)
8236
8286
  update!(**args)
8237
8287
  end
@@ -8240,6 +8290,7 @@ module Google
8240
8290
  def update!(**args)
8241
8291
  @id = args[:id] if args.key?(:id)
8242
8292
  @ip_address = args[:ip_address] if args.key?(:ip_address)
8293
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
8243
8294
  end
8244
8295
  end
8245
8296
 
@@ -14930,6 +14981,15 @@ module Google
14930
14981
  class InstanceGroupManagerInstanceLifecyclePolicy
14931
14982
  include Google::Apis::Core::Hashable
14932
14983
 
14984
+ # The action that a MIG performs on a failed or an unhealthy VM. A VM is marked
14985
+ # as unhealthy when the application running on that VM fails a health check.
14986
+ # Valid values are - REPAIR (default): MIG automatically repairs a failed or an
14987
+ # unhealthy VM by recreating it. For more information, see About repairing VMs
14988
+ # in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM.
14989
+ # Corresponds to the JSON property `defaultActionOnFailure`
14990
+ # @return [String]
14991
+ attr_accessor :default_action_on_failure
14992
+
14933
14993
  # A bit indicating whether to forcefully apply the group's latest configuration
14934
14994
  # when repairing a VM. Valid options are: - NO (default): If configuration
14935
14995
  # updates are available, they are not forcefully applied during repair. Instead,
@@ -14945,6 +15005,7 @@ module Google
14945
15005
 
14946
15006
  # Update properties of this object
14947
15007
  def update!(**args)
15008
+ @default_action_on_failure = args[:default_action_on_failure] if args.key?(:default_action_on_failure)
14948
15009
  @force_update_on_repair = args[:force_update_on_repair] if args.key?(:force_update_on_repair)
14949
15010
  end
14950
15011
  end
@@ -17604,6 +17665,518 @@ module Google
17604
17665
  end
17605
17666
  end
17606
17667
 
17668
+ # Represents a InstantSnapshot resource. You can use instant snapshots to create
17669
+ # disk rollback points quickly..
17670
+ class InstantSnapshot
17671
+ include Google::Apis::Core::Hashable
17672
+
17673
+ # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
17674
+ # or X86_64.
17675
+ # Corresponds to the JSON property `architecture`
17676
+ # @return [String]
17677
+ attr_accessor :architecture
17678
+
17679
+ # [Output Only] Creation timestamp in RFC3339 text format.
17680
+ # Corresponds to the JSON property `creationTimestamp`
17681
+ # @return [String]
17682
+ attr_accessor :creation_timestamp
17683
+
17684
+ # An optional description of this resource. Provide this property when you
17685
+ # create the resource.
17686
+ # Corresponds to the JSON property `description`
17687
+ # @return [String]
17688
+ attr_accessor :description
17689
+
17690
+ # [Output Only] Size of the source disk, specified in GB.
17691
+ # Corresponds to the JSON property `diskSizeGb`
17692
+ # @return [Fixnum]
17693
+ attr_accessor :disk_size_gb
17694
+
17695
+ # [Output Only] The unique identifier for the resource. This identifier is
17696
+ # defined by the server.
17697
+ # Corresponds to the JSON property `id`
17698
+ # @return [Fixnum]
17699
+ attr_accessor :id
17700
+
17701
+ # [Output Only] Type of the resource. Always compute#instantSnapshot for
17702
+ # InstantSnapshot resources.
17703
+ # Corresponds to the JSON property `kind`
17704
+ # @return [String]
17705
+ attr_accessor :kind
17706
+
17707
+ # A fingerprint for the labels being applied to this InstantSnapshot, which is
17708
+ # essentially a hash of the labels set used for optimistic locking. The
17709
+ # fingerprint is initially generated by Compute Engine and changes after every
17710
+ # request to modify or update labels. You must always provide an up-to-date
17711
+ # fingerprint hash in order to update or change labels, otherwise the request
17712
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
17713
+ # a get() request to retrieve a InstantSnapshot.
17714
+ # Corresponds to the JSON property `labelFingerprint`
17715
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
17716
+ # @return [String]
17717
+ attr_accessor :label_fingerprint
17718
+
17719
+ # Labels to apply to this InstantSnapshot. These can be later modified by the
17720
+ # setLabels method. Label values may be empty.
17721
+ # Corresponds to the JSON property `labels`
17722
+ # @return [Hash<String,String>]
17723
+ attr_accessor :labels
17724
+
17725
+ # Name of the resource; provided by the client when the resource is created. The
17726
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
17727
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
17728
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
17729
+ # and all following characters must be a dash, lowercase letter, or digit,
17730
+ # except the last character, which cannot be a dash.
17731
+ # Corresponds to the JSON property `name`
17732
+ # @return [String]
17733
+ attr_accessor :name
17734
+
17735
+ # [Output Only] URL of the region where the instant snapshot resides. You must
17736
+ # specify this field as part of the HTTP request URL. It is not settable as a
17737
+ # field in the request body.
17738
+ # Corresponds to the JSON property `region`
17739
+ # @return [String]
17740
+ attr_accessor :region
17741
+
17742
+ # [Output Only] Status information for the instant snapshot resource.
17743
+ # Corresponds to the JSON property `resourceStatus`
17744
+ # @return [Google::Apis::ComputeV1::InstantSnapshotResourceStatus]
17745
+ attr_accessor :resource_status
17746
+
17747
+ # Output only. Reserved for future use.
17748
+ # Corresponds to the JSON property `satisfiesPzi`
17749
+ # @return [Boolean]
17750
+ attr_accessor :satisfies_pzi
17751
+ alias_method :satisfies_pzi?, :satisfies_pzi
17752
+
17753
+ # [Output Only] Reserved for future use.
17754
+ # Corresponds to the JSON property `satisfiesPzs`
17755
+ # @return [Boolean]
17756
+ attr_accessor :satisfies_pzs
17757
+ alias_method :satisfies_pzs?, :satisfies_pzs
17758
+
17759
+ # [Output Only] Server-defined URL for the resource.
17760
+ # Corresponds to the JSON property `selfLink`
17761
+ # @return [String]
17762
+ attr_accessor :self_link
17763
+
17764
+ # [Output Only] Server-defined URL for this resource's resource id.
17765
+ # Corresponds to the JSON property `selfLinkWithId`
17766
+ # @return [String]
17767
+ attr_accessor :self_link_with_id
17768
+
17769
+ # URL of the source disk used to create this instant snapshot. Note that the
17770
+ # source disk must be in the same zone/region as the instant snapshot to be
17771
+ # created. This can be a full or valid partial URL. For example, the following
17772
+ # are valid values: - https://www.googleapis.com/compute/v1/projects/project/
17773
+ # zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/
17774
+ # project/regions/region /disks/disk - projects/project/zones/zone/disks/disk -
17775
+ # projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/
17776
+ # region/disks/disk
17777
+ # Corresponds to the JSON property `sourceDisk`
17778
+ # @return [String]
17779
+ attr_accessor :source_disk
17780
+
17781
+ # [Output Only] The ID value of the disk used to create this InstantSnapshot.
17782
+ # This value may be used to determine whether the InstantSnapshot was taken from
17783
+ # the current or a previous instance of a given disk name.
17784
+ # Corresponds to the JSON property `sourceDiskId`
17785
+ # @return [String]
17786
+ attr_accessor :source_disk_id
17787
+
17788
+ # [Output Only] The status of the instantSnapshot. This can be CREATING,
17789
+ # DELETING, FAILED, or READY.
17790
+ # Corresponds to the JSON property `status`
17791
+ # @return [String]
17792
+ attr_accessor :status
17793
+
17794
+ # [Output Only] URL of the zone where the instant snapshot resides. You must
17795
+ # specify this field as part of the HTTP request URL. It is not settable as a
17796
+ # field in the request body.
17797
+ # Corresponds to the JSON property `zone`
17798
+ # @return [String]
17799
+ attr_accessor :zone
17800
+
17801
+ def initialize(**args)
17802
+ update!(**args)
17803
+ end
17804
+
17805
+ # Update properties of this object
17806
+ def update!(**args)
17807
+ @architecture = args[:architecture] if args.key?(:architecture)
17808
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
17809
+ @description = args[:description] if args.key?(:description)
17810
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
17811
+ @id = args[:id] if args.key?(:id)
17812
+ @kind = args[:kind] if args.key?(:kind)
17813
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
17814
+ @labels = args[:labels] if args.key?(:labels)
17815
+ @name = args[:name] if args.key?(:name)
17816
+ @region = args[:region] if args.key?(:region)
17817
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
17818
+ @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
17819
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
17820
+ @self_link = args[:self_link] if args.key?(:self_link)
17821
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
17822
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
17823
+ @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
17824
+ @status = args[:status] if args.key?(:status)
17825
+ @zone = args[:zone] if args.key?(:zone)
17826
+ end
17827
+ end
17828
+
17829
+ #
17830
+ class InstantSnapshotAggregatedList
17831
+ include Google::Apis::Core::Hashable
17832
+
17833
+ # [Output Only] Unique identifier for the resource; defined by the server.
17834
+ # Corresponds to the JSON property `id`
17835
+ # @return [String]
17836
+ attr_accessor :id
17837
+
17838
+ # A list of InstantSnapshotsScopedList resources.
17839
+ # Corresponds to the JSON property `items`
17840
+ # @return [Hash<String,Google::Apis::ComputeV1::InstantSnapshotsScopedList>]
17841
+ attr_accessor :items
17842
+
17843
+ # [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
17844
+ # for aggregated lists of instantSnapshots.
17845
+ # Corresponds to the JSON property `kind`
17846
+ # @return [String]
17847
+ attr_accessor :kind
17848
+
17849
+ # [Output Only] This token allows you to get the next page of results for list
17850
+ # requests. If the number of results is larger than maxResults, use the
17851
+ # nextPageToken as a value for the query parameter pageToken in the next list
17852
+ # request. Subsequent list requests will have their own nextPageToken to
17853
+ # continue paging through the results.
17854
+ # Corresponds to the JSON property `nextPageToken`
17855
+ # @return [String]
17856
+ attr_accessor :next_page_token
17857
+
17858
+ # [Output Only] Server-defined URL for this resource.
17859
+ # Corresponds to the JSON property `selfLink`
17860
+ # @return [String]
17861
+ attr_accessor :self_link
17862
+
17863
+ # [Output Only] Unreachable resources.
17864
+ # Corresponds to the JSON property `unreachables`
17865
+ # @return [Array<String>]
17866
+ attr_accessor :unreachables
17867
+
17868
+ # [Output Only] Informational warning message.
17869
+ # Corresponds to the JSON property `warning`
17870
+ # @return [Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning]
17871
+ attr_accessor :warning
17872
+
17873
+ def initialize(**args)
17874
+ update!(**args)
17875
+ end
17876
+
17877
+ # Update properties of this object
17878
+ def update!(**args)
17879
+ @id = args[:id] if args.key?(:id)
17880
+ @items = args[:items] if args.key?(:items)
17881
+ @kind = args[:kind] if args.key?(:kind)
17882
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
17883
+ @self_link = args[:self_link] if args.key?(:self_link)
17884
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
17885
+ @warning = args[:warning] if args.key?(:warning)
17886
+ end
17887
+
17888
+ # [Output Only] Informational warning message.
17889
+ class Warning
17890
+ include Google::Apis::Core::Hashable
17891
+
17892
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
17893
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
17894
+ # Corresponds to the JSON property `code`
17895
+ # @return [String]
17896
+ attr_accessor :code
17897
+
17898
+ # [Output Only] Metadata about this warning in key: value format. For example: "
17899
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
17900
+ # Corresponds to the JSON property `data`
17901
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotAggregatedList::Warning::Datum>]
17902
+ attr_accessor :data
17903
+
17904
+ # [Output Only] A human-readable description of the warning code.
17905
+ # Corresponds to the JSON property `message`
17906
+ # @return [String]
17907
+ attr_accessor :message
17908
+
17909
+ def initialize(**args)
17910
+ update!(**args)
17911
+ end
17912
+
17913
+ # Update properties of this object
17914
+ def update!(**args)
17915
+ @code = args[:code] if args.key?(:code)
17916
+ @data = args[:data] if args.key?(:data)
17917
+ @message = args[:message] if args.key?(:message)
17918
+ end
17919
+
17920
+ #
17921
+ class Datum
17922
+ include Google::Apis::Core::Hashable
17923
+
17924
+ # [Output Only] A key that provides more detail on the warning being returned.
17925
+ # For example, for warnings where there are no results in a list request for a
17926
+ # particular zone, this key might be scope and the key value might be the zone
17927
+ # name. Other examples might be a key indicating a deprecated resource and a
17928
+ # suggested replacement, or a warning about invalid network settings (for
17929
+ # example, if an instance attempts to perform IP forwarding but is not enabled
17930
+ # for IP forwarding).
17931
+ # Corresponds to the JSON property `key`
17932
+ # @return [String]
17933
+ attr_accessor :key
17934
+
17935
+ # [Output Only] A warning data value corresponding to the key.
17936
+ # Corresponds to the JSON property `value`
17937
+ # @return [String]
17938
+ attr_accessor :value
17939
+
17940
+ def initialize(**args)
17941
+ update!(**args)
17942
+ end
17943
+
17944
+ # Update properties of this object
17945
+ def update!(**args)
17946
+ @key = args[:key] if args.key?(:key)
17947
+ @value = args[:value] if args.key?(:value)
17948
+ end
17949
+ end
17950
+ end
17951
+ end
17952
+
17953
+ # Contains a list of InstantSnapshot resources.
17954
+ class InstantSnapshotList
17955
+ include Google::Apis::Core::Hashable
17956
+
17957
+ # [Output Only] Unique identifier for the resource; defined by the server.
17958
+ # Corresponds to the JSON property `id`
17959
+ # @return [String]
17960
+ attr_accessor :id
17961
+
17962
+ # A list of InstantSnapshot resources.
17963
+ # Corresponds to the JSON property `items`
17964
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshot>]
17965
+ attr_accessor :items
17966
+
17967
+ # Type of resource.
17968
+ # Corresponds to the JSON property `kind`
17969
+ # @return [String]
17970
+ attr_accessor :kind
17971
+
17972
+ # [Output Only] This token allows you to get the next page of results for list
17973
+ # requests. If the number of results is larger than maxResults, use the
17974
+ # nextPageToken as a value for the query parameter pageToken in the next list
17975
+ # request. Subsequent list requests will have their own nextPageToken to
17976
+ # continue paging through the results.
17977
+ # Corresponds to the JSON property `nextPageToken`
17978
+ # @return [String]
17979
+ attr_accessor :next_page_token
17980
+
17981
+ # [Output Only] Server-defined URL for this resource.
17982
+ # Corresponds to the JSON property `selfLink`
17983
+ # @return [String]
17984
+ attr_accessor :self_link
17985
+
17986
+ # [Output Only] Informational warning message.
17987
+ # Corresponds to the JSON property `warning`
17988
+ # @return [Google::Apis::ComputeV1::InstantSnapshotList::Warning]
17989
+ attr_accessor :warning
17990
+
17991
+ def initialize(**args)
17992
+ update!(**args)
17993
+ end
17994
+
17995
+ # Update properties of this object
17996
+ def update!(**args)
17997
+ @id = args[:id] if args.key?(:id)
17998
+ @items = args[:items] if args.key?(:items)
17999
+ @kind = args[:kind] if args.key?(:kind)
18000
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18001
+ @self_link = args[:self_link] if args.key?(:self_link)
18002
+ @warning = args[:warning] if args.key?(:warning)
18003
+ end
18004
+
18005
+ # [Output Only] Informational warning message.
18006
+ class Warning
18007
+ include Google::Apis::Core::Hashable
18008
+
18009
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18010
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18011
+ # Corresponds to the JSON property `code`
18012
+ # @return [String]
18013
+ attr_accessor :code
18014
+
18015
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18016
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18017
+ # Corresponds to the JSON property `data`
18018
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotList::Warning::Datum>]
18019
+ attr_accessor :data
18020
+
18021
+ # [Output Only] A human-readable description of the warning code.
18022
+ # Corresponds to the JSON property `message`
18023
+ # @return [String]
18024
+ attr_accessor :message
18025
+
18026
+ def initialize(**args)
18027
+ update!(**args)
18028
+ end
18029
+
18030
+ # Update properties of this object
18031
+ def update!(**args)
18032
+ @code = args[:code] if args.key?(:code)
18033
+ @data = args[:data] if args.key?(:data)
18034
+ @message = args[:message] if args.key?(:message)
18035
+ end
18036
+
18037
+ #
18038
+ class Datum
18039
+ include Google::Apis::Core::Hashable
18040
+
18041
+ # [Output Only] A key that provides more detail on the warning being returned.
18042
+ # For example, for warnings where there are no results in a list request for a
18043
+ # particular zone, this key might be scope and the key value might be the zone
18044
+ # name. Other examples might be a key indicating a deprecated resource and a
18045
+ # suggested replacement, or a warning about invalid network settings (for
18046
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18047
+ # for IP forwarding).
18048
+ # Corresponds to the JSON property `key`
18049
+ # @return [String]
18050
+ attr_accessor :key
18051
+
18052
+ # [Output Only] A warning data value corresponding to the key.
18053
+ # Corresponds to the JSON property `value`
18054
+ # @return [String]
18055
+ attr_accessor :value
18056
+
18057
+ def initialize(**args)
18058
+ update!(**args)
18059
+ end
18060
+
18061
+ # Update properties of this object
18062
+ def update!(**args)
18063
+ @key = args[:key] if args.key?(:key)
18064
+ @value = args[:value] if args.key?(:value)
18065
+ end
18066
+ end
18067
+ end
18068
+ end
18069
+
18070
+ #
18071
+ class InstantSnapshotResourceStatus
18072
+ include Google::Apis::Core::Hashable
18073
+
18074
+ # [Output Only] The storage size of this instant snapshot.
18075
+ # Corresponds to the JSON property `storageSizeBytes`
18076
+ # @return [Fixnum]
18077
+ attr_accessor :storage_size_bytes
18078
+
18079
+ def initialize(**args)
18080
+ update!(**args)
18081
+ end
18082
+
18083
+ # Update properties of this object
18084
+ def update!(**args)
18085
+ @storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes)
18086
+ end
18087
+ end
18088
+
18089
+ #
18090
+ class InstantSnapshotsScopedList
18091
+ include Google::Apis::Core::Hashable
18092
+
18093
+ # [Output Only] A list of instantSnapshots contained in this scope.
18094
+ # Corresponds to the JSON property `instantSnapshots`
18095
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshot>]
18096
+ attr_accessor :instant_snapshots
18097
+
18098
+ # [Output Only] Informational warning which replaces the list of
18099
+ # instantSnapshots when the list is empty.
18100
+ # Corresponds to the JSON property `warning`
18101
+ # @return [Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning]
18102
+ attr_accessor :warning
18103
+
18104
+ def initialize(**args)
18105
+ update!(**args)
18106
+ end
18107
+
18108
+ # Update properties of this object
18109
+ def update!(**args)
18110
+ @instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
18111
+ @warning = args[:warning] if args.key?(:warning)
18112
+ end
18113
+
18114
+ # [Output Only] Informational warning which replaces the list of
18115
+ # instantSnapshots when the list is empty.
18116
+ class Warning
18117
+ include Google::Apis::Core::Hashable
18118
+
18119
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
18120
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
18121
+ # Corresponds to the JSON property `code`
18122
+ # @return [String]
18123
+ attr_accessor :code
18124
+
18125
+ # [Output Only] Metadata about this warning in key: value format. For example: "
18126
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
18127
+ # Corresponds to the JSON property `data`
18128
+ # @return [Array<Google::Apis::ComputeV1::InstantSnapshotsScopedList::Warning::Datum>]
18129
+ attr_accessor :data
18130
+
18131
+ # [Output Only] A human-readable description of the warning code.
18132
+ # Corresponds to the JSON property `message`
18133
+ # @return [String]
18134
+ attr_accessor :message
18135
+
18136
+ def initialize(**args)
18137
+ update!(**args)
18138
+ end
18139
+
18140
+ # Update properties of this object
18141
+ def update!(**args)
18142
+ @code = args[:code] if args.key?(:code)
18143
+ @data = args[:data] if args.key?(:data)
18144
+ @message = args[:message] if args.key?(:message)
18145
+ end
18146
+
18147
+ #
18148
+ class Datum
18149
+ include Google::Apis::Core::Hashable
18150
+
18151
+ # [Output Only] A key that provides more detail on the warning being returned.
18152
+ # For example, for warnings where there are no results in a list request for a
18153
+ # particular zone, this key might be scope and the key value might be the zone
18154
+ # name. Other examples might be a key indicating a deprecated resource and a
18155
+ # suggested replacement, or a warning about invalid network settings (for
18156
+ # example, if an instance attempts to perform IP forwarding but is not enabled
18157
+ # for IP forwarding).
18158
+ # Corresponds to the JSON property `key`
18159
+ # @return [String]
18160
+ attr_accessor :key
18161
+
18162
+ # [Output Only] A warning data value corresponding to the key.
18163
+ # Corresponds to the JSON property `value`
18164
+ # @return [String]
18165
+ attr_accessor :value
18166
+
18167
+ def initialize(**args)
18168
+ update!(**args)
18169
+ end
18170
+
18171
+ # Update properties of this object
18172
+ def update!(**args)
18173
+ @key = args[:key] if args.key?(:key)
18174
+ @value = args[:value] if args.key?(:value)
18175
+ end
18176
+ end
18177
+ end
18178
+ end
18179
+
17607
18180
  # HttpRouteRuleMatch criteria for field values that must stay within the
17608
18181
  # specified integer range.
17609
18182
  class Int64RangeMatch
@@ -28313,6 +28886,13 @@ module Google
28313
28886
  class Project
28314
28887
  include Google::Apis::Core::Hashable
28315
28888
 
28889
+ # [Output Only] The Cloud Armor tier for this project. It can be one of the
28890
+ # following values: CA_STANDARD, CA_ENTERPRISE_PAYGO. If this field is not
28891
+ # specified, it is assumed to be CA_STANDARD.
28892
+ # Corresponds to the JSON property `cloudArmorTier`
28893
+ # @return [String]
28894
+ attr_accessor :cloud_armor_tier
28895
+
28316
28896
  # A metadata key/value entry.
28317
28897
  # Corresponds to the JSON property `commonInstanceMetadata`
28318
28898
  # @return [Google::Apis::ComputeV1::Metadata]
@@ -28397,6 +28977,7 @@ module Google
28397
28977
 
28398
28978
  # Update properties of this object
28399
28979
  def update!(**args)
28980
+ @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier)
28400
28981
  @common_instance_metadata = args[:common_instance_metadata] if args.key?(:common_instance_metadata)
28401
28982
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28402
28983
  @default_network_tier = args[:default_network_tier] if args.key?(:default_network_tier)
@@ -28510,6 +29091,25 @@ module Google
28510
29091
  end
28511
29092
  end
28512
29093
 
29094
+ #
29095
+ class ProjectsSetCloudArmorTierRequest
29096
+ include Google::Apis::Core::Hashable
29097
+
29098
+ # Managed protection tier to be set.
29099
+ # Corresponds to the JSON property `cloudArmorTier`
29100
+ # @return [String]
29101
+ attr_accessor :cloud_armor_tier
29102
+
29103
+ def initialize(**args)
29104
+ update!(**args)
29105
+ end
29106
+
29107
+ # Update properties of this object
29108
+ def update!(**args)
29109
+ @cloud_armor_tier = args[:cloud_armor_tier] if args.key?(:cloud_armor_tier)
29110
+ end
29111
+ end
29112
+
28513
29113
  #
28514
29114
  class ProjectsSetDefaultNetworkTierRequest
28515
29115
  include Google::Apis::Core::Hashable
@@ -37647,6 +38247,30 @@ module Google
37647
38247
  # @return [String]
37648
38248
  attr_accessor :source_disk_id
37649
38249
 
38250
+ # The source instant snapshot used to create this snapshot. You can provide this
38251
+ # as a partial or full URL to the resource. For example, the following are valid
38252
+ # values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
38253
+ # instantSnapshots/instantSnapshot - projects/project/zones/zone/
38254
+ # instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
38255
+ # Corresponds to the JSON property `sourceInstantSnapshot`
38256
+ # @return [String]
38257
+ attr_accessor :source_instant_snapshot
38258
+
38259
+ # Customer provided encryption key when creating Snapshot from Instant Snapshot.
38260
+ # Corresponds to the JSON property `sourceInstantSnapshotEncryptionKey`
38261
+ # @return [Google::Apis::ComputeV1::CustomerEncryptionKey]
38262
+ attr_accessor :source_instant_snapshot_encryption_key
38263
+
38264
+ # [Output Only] The unique ID of the instant snapshot used to create this
38265
+ # snapshot. This value identifies the exact instant snapshot that was used to
38266
+ # create this persistent disk. For example, if you created the persistent disk
38267
+ # from an instant snapshot that was later deleted and recreated under the same
38268
+ # name, the source instant snapshot ID would identify the exact instant snapshot
38269
+ # that was used.
38270
+ # Corresponds to the JSON property `sourceInstantSnapshotId`
38271
+ # @return [String]
38272
+ attr_accessor :source_instant_snapshot_id
38273
+
37650
38274
  # [Output Only] URL of the resource policy which created this scheduled snapshot.
37651
38275
  # Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
37652
38276
  # @return [String]
@@ -37716,6 +38340,9 @@ module Google
37716
38340
  @source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
37717
38341
  @source_disk_for_recovery_checkpoint = args[:source_disk_for_recovery_checkpoint] if args.key?(:source_disk_for_recovery_checkpoint)
37718
38342
  @source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
38343
+ @source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
38344
+ @source_instant_snapshot_encryption_key = args[:source_instant_snapshot_encryption_key] if args.key?(:source_instant_snapshot_encryption_key)
38345
+ @source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
37719
38346
  @source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
37720
38347
  @source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
37721
38348
  @status = args[:status] if args.key?(:status)
@@ -45038,6 +45665,12 @@ module Google
45038
45665
  # @return [String]
45039
45666
  attr_accessor :description
45040
45667
 
45668
+ # The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not
45669
+ # specified, IPV4 will be used.
45670
+ # Corresponds to the JSON property `gatewayIpVersion`
45671
+ # @return [String]
45672
+ attr_accessor :gateway_ip_version
45673
+
45041
45674
  # [Output Only] The unique identifier for the resource. This identifier is
45042
45675
  # defined by the server.
45043
45676
  # Corresponds to the JSON property `id`
@@ -45114,6 +45747,7 @@ module Google
45114
45747
  def update!(**args)
45115
45748
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
45116
45749
  @description = args[:description] if args.key?(:description)
45750
+ @gateway_ip_version = args[:gateway_ip_version] if args.key?(:gateway_ip_version)
45117
45751
  @id = args[:id] if args.key?(:id)
45118
45752
  @kind = args[:kind] if args.key?(:kind)
45119
45753
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -45522,6 +46156,13 @@ module Google
45522
46156
  # @return [String]
45523
46157
  attr_accessor :ip_address
45524
46158
 
46159
+ # [Output Only] IPv6 address for this VPN interface associated with the VPN
46160
+ # gateway. The IPv6 address must be a regional external IPv6 address. The format
46161
+ # is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).
46162
+ # Corresponds to the JSON property `ipv6Address`
46163
+ # @return [String]
46164
+ attr_accessor :ipv6_address
46165
+
45525
46166
  def initialize(**args)
45526
46167
  update!(**args)
45527
46168
  end
@@ -45531,6 +46172,7 @@ module Google
45531
46172
  @id = args[:id] if args.key?(:id)
45532
46173
  @interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
45533
46174
  @ip_address = args[:ip_address] if args.key?(:ip_address)
46175
+ @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
45534
46176
  end
45535
46177
  end
45536
46178