google-apis-compute_beta 0.110.0 → 0.112.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.
@@ -2917,7 +2917,8 @@ module Google
2917
2917
  # the [Backend services overview](https://cloud.google.com/load-balancing/docs/
2918
2918
  # backend-service#backends). You must use the *fully-qualified* URL (starting
2919
2919
  # with https://www.googleapis.com/) to specify the instance group or NEG.
2920
- # Partial URLs are not supported.
2920
+ # Partial URLs are not supported. If haPolicy is specified, backends must refer
2921
+ # to NEG resources of type GCE_VM_IP.
2921
2922
  # Corresponds to the JSON property `group`
2922
2923
  # @return [String]
2923
2924
  attr_accessor :group
@@ -3467,6 +3468,124 @@ module Google
3467
3468
  end
3468
3469
  end
3469
3470
 
3471
+ #
3472
+ class BackendBucketListUsable
3473
+ include Google::Apis::Core::Hashable
3474
+
3475
+ # [Output Only] Unique identifier for the resource; defined by the server.
3476
+ # Corresponds to the JSON property `id`
3477
+ # @return [String]
3478
+ attr_accessor :id
3479
+
3480
+ # A list of BackendBucket resources.
3481
+ # Corresponds to the JSON property `items`
3482
+ # @return [Array<Google::Apis::ComputeBeta::BackendBucket>]
3483
+ attr_accessor :items
3484
+
3485
+ # [Output Only] Type of resource. Always compute#usableBackendBucketList for
3486
+ # lists of usable backend buckets.
3487
+ # Corresponds to the JSON property `kind`
3488
+ # @return [String]
3489
+ attr_accessor :kind
3490
+
3491
+ # [Output Only] This token allows you to get the next page of results for list
3492
+ # requests. If the number of results is larger than maxResults, use the
3493
+ # nextPageToken as a value for the query parameter pageToken in the next list
3494
+ # request. Subsequent list requests will have their own nextPageToken to
3495
+ # continue paging through the results.
3496
+ # Corresponds to the JSON property `nextPageToken`
3497
+ # @return [String]
3498
+ attr_accessor :next_page_token
3499
+
3500
+ # [Output Only] Server-defined URL for this resource.
3501
+ # Corresponds to the JSON property `selfLink`
3502
+ # @return [String]
3503
+ attr_accessor :self_link
3504
+
3505
+ # [Output Only] Informational warning message.
3506
+ # Corresponds to the JSON property `warning`
3507
+ # @return [Google::Apis::ComputeBeta::BackendBucketListUsable::Warning]
3508
+ attr_accessor :warning
3509
+
3510
+ def initialize(**args)
3511
+ update!(**args)
3512
+ end
3513
+
3514
+ # Update properties of this object
3515
+ def update!(**args)
3516
+ @id = args[:id] if args.key?(:id)
3517
+ @items = args[:items] if args.key?(:items)
3518
+ @kind = args[:kind] if args.key?(:kind)
3519
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3520
+ @self_link = args[:self_link] if args.key?(:self_link)
3521
+ @warning = args[:warning] if args.key?(:warning)
3522
+ end
3523
+
3524
+ # [Output Only] Informational warning message.
3525
+ class Warning
3526
+ include Google::Apis::Core::Hashable
3527
+
3528
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
3529
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
3530
+ # Corresponds to the JSON property `code`
3531
+ # @return [String]
3532
+ attr_accessor :code
3533
+
3534
+ # [Output Only] Metadata about this warning in key: value format. For example: "
3535
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
3536
+ # Corresponds to the JSON property `data`
3537
+ # @return [Array<Google::Apis::ComputeBeta::BackendBucketListUsable::Warning::Datum>]
3538
+ attr_accessor :data
3539
+
3540
+ # [Output Only] A human-readable description of the warning code.
3541
+ # Corresponds to the JSON property `message`
3542
+ # @return [String]
3543
+ attr_accessor :message
3544
+
3545
+ def initialize(**args)
3546
+ update!(**args)
3547
+ end
3548
+
3549
+ # Update properties of this object
3550
+ def update!(**args)
3551
+ @code = args[:code] if args.key?(:code)
3552
+ @data = args[:data] if args.key?(:data)
3553
+ @message = args[:message] if args.key?(:message)
3554
+ end
3555
+
3556
+ #
3557
+ class Datum
3558
+ include Google::Apis::Core::Hashable
3559
+
3560
+ # [Output Only] A key that provides more detail on the warning being returned.
3561
+ # For example, for warnings where there are no results in a list request for a
3562
+ # particular zone, this key might be scope and the key value might be the zone
3563
+ # name. Other examples might be a key indicating a deprecated resource and a
3564
+ # suggested replacement, or a warning about invalid network settings (for
3565
+ # example, if an instance attempts to perform IP forwarding but is not enabled
3566
+ # for IP forwarding).
3567
+ # Corresponds to the JSON property `key`
3568
+ # @return [String]
3569
+ attr_accessor :key
3570
+
3571
+ # [Output Only] A warning data value corresponding to the key.
3572
+ # Corresponds to the JSON property `value`
3573
+ # @return [String]
3574
+ attr_accessor :value
3575
+
3576
+ def initialize(**args)
3577
+ update!(**args)
3578
+ end
3579
+
3580
+ # Update properties of this object
3581
+ def update!(**args)
3582
+ @key = args[:key] if args.key?(:key)
3583
+ @value = args[:value] if args.key?(:value)
3584
+ end
3585
+ end
3586
+ end
3587
+ end
3588
+
3470
3589
  #
3471
3590
  class BackendBucketUsedBy
3472
3591
  include Google::Apis::Core::Hashable
@@ -3687,13 +3806,35 @@ module Google
3687
3806
  # @return [String]
3688
3807
  attr_accessor :fingerprint
3689
3808
 
3809
+ # Configures self-managed High Availability (HA) for External and Internal
3810
+ # Protocol Forwarding. The backends of this regional backend service must only
3811
+ # specify zonal network endpoint groups (NEGs) of type GCE_VM_IP. When haPolicy
3812
+ # is set for an Internal Passthrough Network Load Balancer, the regional backend
3813
+ # service must set the network field. All zonal NEGs must belong to the same
3814
+ # network. However, individual NEGs can belong to different subnetworks of that
3815
+ # network. When haPolicy is specified, the set of attached network endpoints
3816
+ # across all backends comprise an High Availability domain from which one
3817
+ # endpoint is selected as the active endpoint (the leader) that receives all
3818
+ # traffic. haPolicy can be added only at backend service creation time. Once set
3819
+ # up, it cannot be deleted. Note that haPolicy is not for load balancing, and
3820
+ # therefore cannot be specified with sessionAffinity, connectionTrackingPolicy,
3821
+ # and failoverPolicy. haPolicy requires customers to be responsible for tracking
3822
+ # backend endpoint health and electing a leader among the healthy endpoints.
3823
+ # Therefore, haPolicy cannot be specified with healthChecks. haPolicy can only
3824
+ # be specified for External Passthrough Network Load Balancers and Internal
3825
+ # Passthrough Network Load Balancers.
3826
+ # Corresponds to the JSON property `haPolicy`
3827
+ # @return [Google::Apis::ComputeBeta::BackendServiceHaPolicy]
3828
+ attr_accessor :ha_policy
3829
+
3690
3830
  # The list of URLs to the healthChecks, httpHealthChecks (legacy), or
3691
3831
  # httpsHealthChecks (legacy) resource for health checking this backend service.
3692
3832
  # Not all backend services support legacy health checks. See Load balancer guide.
3693
3833
  # Currently, at most one health check can be specified for each backend service.
3694
3834
  # Backend services with instance group or zonal NEG backends must have a health
3695
- # check. Backend services with internet or serverless NEG backends must not have
3696
- # a health check.
3835
+ # check unless haPolicy is specified. Backend services with internet or
3836
+ # serverless NEG backends must not have a health check. healthChecks[] cannot be
3837
+ # specified with haPolicy.
3697
3838
  # Corresponds to the JSON property `healthChecks`
3698
3839
  # @return [Array<String>]
3699
3840
  attr_accessor :health_checks
@@ -3781,6 +3922,7 @@ module Google
3781
3922
  # default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH
3782
3923
  # are supported when the backend service is referenced by a URL map that is
3783
3924
  # bound to target gRPC proxy that has validateForProxyless field set to true.
3925
+ # localityLbPolicy cannot be specified with haPolicy.
3784
3926
  # Corresponds to the JSON property `localityLbPolicy`
3785
3927
  # @return [String]
3786
3928
  attr_accessor :locality_lb_policy
@@ -3815,14 +3957,17 @@ module Google
3815
3957
  # @return [String]
3816
3958
  attr_accessor :name
3817
3959
 
3818
- # The URL of the network to which this backend service belongs. This field can
3819
- # only be specified when the load balancing scheme is set to INTERNAL.
3960
+ # The URL of the network to which this backend service belongs. This field must
3961
+ # be set for Internal Passthrough Network Load Balancers when the haPolicy is
3962
+ # enabled, and for External Passthrough Network Load Balancers when the haPolicy
3963
+ # fastIpMove is enabled. This field can only be specified when the load
3964
+ # balancing scheme is set to INTERNAL.
3820
3965
  # Corresponds to the JSON property `network`
3821
3966
  # @return [String]
3822
3967
  attr_accessor :network
3823
3968
 
3824
3969
  # Configures traffic steering properties of internal passthrough Network Load
3825
- # Balancers.
3970
+ # Balancers. networkPassThroughLbTrafficPolicy cannot be specified with haPolicy.
3826
3971
  # Corresponds to the JSON property `networkPassThroughLbTrafficPolicy`
3827
3972
  # @return [Google::Apis::ComputeBeta::BackendServiceNetworkPassThroughLbTrafficPolicy]
3828
3973
  attr_accessor :network_pass_through_lb_traffic_policy
@@ -3902,7 +4047,8 @@ module Google
3902
4047
  # HEADER_FIELD are supported when the backend service is referenced by a URL map
3903
4048
  # that is bound to target gRPC proxy that has validateForProxyless field set to
3904
4049
  # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3905
- # balancing/docs/backend-service#session_affinity).
4050
+ # balancing/docs/backend-service#session_affinity). sessionAffinity cannot be
4051
+ # specified with haPolicy.
3906
4052
  # Corresponds to the JSON property `sessionAffinity`
3907
4053
  # @return [String]
3908
4054
  attr_accessor :session_affinity
@@ -3968,6 +4114,7 @@ module Google
3968
4114
  @external_managed_migration_testing_percentage = args[:external_managed_migration_testing_percentage] if args.key?(:external_managed_migration_testing_percentage)
3969
4115
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3970
4116
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
4117
+ @ha_policy = args[:ha_policy] if args.key?(:ha_policy)
3971
4118
  @health_checks = args[:health_checks] if args.key?(:health_checks)
3972
4119
  @iap = args[:iap] if args.key?(:iap)
3973
4120
  @id = args[:id] if args.key?(:id)
@@ -4562,6 +4709,70 @@ module Google
4562
4709
  end
4563
4710
  end
4564
4711
 
4712
+ #
4713
+ class BackendServiceHaPolicy
4714
+ include Google::Apis::Core::Hashable
4715
+
4716
+ # Specifies whether fast IP move is enabled, and if so, the mechanism to achieve
4717
+ # it. Supported values are: - DISABLED: Fast IP Move is disabled. You can only
4718
+ # use the haPolicy.leader API to update the leader. - >GARP_RA: Provides a
4719
+ # method to very quickly define a new network endpoint as the leader. This
4720
+ # method is faster than updating the leader using the haPolicy.leader API. Fast
4721
+ # IP move works as follows: The VM hosting the network endpoint that should
4722
+ # become the new leader sends either a Gratuitous ARP (GARP) packet (IPv4) or an
4723
+ # ICMPv6 Router Advertisement(RA) packet (IPv6). Google Cloud immediately but
4724
+ # temporarily associates the forwarding rule IP address with that VM, and both
4725
+ # new and in-flight packets are quickly delivered to that VM. Note the important
4726
+ # properties of the Fast IP Move functionality: - The GARP/RA-initiated re-
4727
+ # routing stays active for approximately 20 minutes. After triggering fast
4728
+ # failover, you must also appropriately set the haPolicy.leader. - The new
4729
+ # leader instance should continue to send GARP/RA packets periodically every 10
4730
+ # seconds until at least 10 minutes after updating the haPolicy.leader (but stop
4731
+ # immediately if it is no longer the leader). - After triggering a fast failover,
4732
+ # we recommend that you wait at least 3 seconds before sending another GARP/RA
4733
+ # packet from a different VM instance to avoid race conditions. - Don't send
4734
+ # GARP/RA packets from different VM instances at the same time. If multiple
4735
+ # instances continue to send GARP/RA packets, traffic might be routed to
4736
+ # different destinations in an alternating order. This condition ceases when a
4737
+ # single instance issues a GARP/RA packet. - The GARP/RA request always takes
4738
+ # priority over the leader API. Using the haPolicy.leader API to change the
4739
+ # leader to a different instance will have no effect until the GARP/RA request
4740
+ # becomes inactive. - The GARP/RA packets should follow the GARP/RA Packet
4741
+ # Specifications.. - When multiple forwarding rules refer to a regional backend
4742
+ # service, you need only send a GARP or RA packet for a single forwarding rule
4743
+ # virtual IP. The virtual IPs for all forwarding rules targeting the same
4744
+ # backend service will also be moved to the sender of the GARP or RA packet. The
4745
+ # following are the Fast IP Move limitations (that is, when fastIPMove is not
4746
+ # DISABLED): - Multiple forwarding rules cannot use the same IP address if one
4747
+ # of them refers to a regional backend service with fastIPMove. - The regional
4748
+ # backend service must set the network field, and all NEGs must belong to that
4749
+ # network. However, individual NEGs can belong to different subnetworks of that
4750
+ # network. - The maximum number of network endpoints across all backends of a
4751
+ # backend service with fastIPMove is 64. - The maximum number of backend
4752
+ # services with fastIPMove that can have the same network endpoint attached to
4753
+ # one of its backends is 64. - The maximum number of backend services with
4754
+ # fastIPMove in a VPC in a region is 64. - The network endpoints that are
4755
+ # attached to a backend of a backend service with fastIPMove cannot resolve to
4756
+ # C3 machines. - Traffic directed to the leader by a static route next hop will
4757
+ # not be redirected to a new leader by fast failover. Such traffic will only be
4758
+ # redirected once an haPolicy.leader update has taken effect. Only traffic to
4759
+ # the forwarding rule's virtual IP will be redirected to a new leader by fast
4760
+ # failover. haPolicy.fastIPMove can be set only at backend service creation time.
4761
+ # Once set, it cannot be updated. By default, fastIpMove is set to DISABLED.
4762
+ # Corresponds to the JSON property `fastIPMove`
4763
+ # @return [String]
4764
+ attr_accessor :fast_ip_move
4765
+
4766
+ def initialize(**args)
4767
+ update!(**args)
4768
+ end
4769
+
4770
+ # Update properties of this object
4771
+ def update!(**args)
4772
+ @fast_ip_move = args[:fast_ip_move] if args.key?(:fast_ip_move)
4773
+ end
4774
+ end
4775
+
4565
4776
  # The HTTP cookie used for stateful session affinity.
4566
4777
  class BackendServiceHttpCookie
4567
4778
  include Google::Apis::Core::Hashable
@@ -8311,6 +8522,69 @@ module Google
8311
8522
  end
8312
8523
  end
8313
8524
 
8525
+ #
8526
+ class DiskSettings
8527
+ include Google::Apis::Core::Hashable
8528
+
8529
+ # Policy of which locations are allowed to create regional snapshots.
8530
+ # Corresponds to the JSON property `accessLocation`
8531
+ # @return [Google::Apis::ComputeBeta::DiskSettingsAccessLocation]
8532
+ attr_accessor :access_location
8533
+
8534
+ def initialize(**args)
8535
+ update!(**args)
8536
+ end
8537
+
8538
+ # Update properties of this object
8539
+ def update!(**args)
8540
+ @access_location = args[:access_location] if args.key?(:access_location)
8541
+ end
8542
+ end
8543
+
8544
+ #
8545
+ class DiskSettingsAccessLocation
8546
+ include Google::Apis::Core::Hashable
8547
+
8548
+ #
8549
+ # Corresponds to the JSON property `locations`
8550
+ # @return [Hash<String,Google::Apis::ComputeBeta::DiskSettingsAccessLocationAccessLocationPreference>]
8551
+ attr_accessor :locations
8552
+
8553
+ #
8554
+ # Corresponds to the JSON property `policy`
8555
+ # @return [String]
8556
+ attr_accessor :policy
8557
+
8558
+ def initialize(**args)
8559
+ update!(**args)
8560
+ end
8561
+
8562
+ # Update properties of this object
8563
+ def update!(**args)
8564
+ @locations = args[:locations] if args.key?(:locations)
8565
+ @policy = args[:policy] if args.key?(:policy)
8566
+ end
8567
+ end
8568
+
8569
+ #
8570
+ class DiskSettingsAccessLocationAccessLocationPreference
8571
+ include Google::Apis::Core::Hashable
8572
+
8573
+ #
8574
+ # Corresponds to the JSON property `region`
8575
+ # @return [String]
8576
+ attr_accessor :region
8577
+
8578
+ def initialize(**args)
8579
+ update!(**args)
8580
+ end
8581
+
8582
+ # Update properties of this object
8583
+ def update!(**args)
8584
+ @region = args[:region] if args.key?(:region)
8585
+ end
8586
+ end
8587
+
8314
8588
  # Represents a Disk Type resource. Google Compute Engine has two Disk Type
8315
8589
  # resources: * [Regional](/compute/docs/reference/rest/beta/regionDiskTypes) * [
8316
8590
  # Zonal](/compute/docs/reference/rest/beta/diskTypes) You can choose from a
@@ -22219,7 +22493,8 @@ module Google
22219
22493
 
22220
22494
  # Type of link requested, which can take one of the following values: -
22221
22495
  # LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics -
22222
- # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
22496
+ # LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. -
22497
+ # LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 optics. Note that this
22223
22498
  # field indicates the speed of each of the links in the bundle, not the speed of
22224
22499
  # the entire bundle.
22225
22500
  # Corresponds to the JSON property `linkType`
@@ -38520,6 +38795,11 @@ module Google
38520
38795
  # @return [String]
38521
38796
  attr_accessor :collocation
38522
38797
 
38798
+ # Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.
38799
+ # Corresponds to the JSON property `gpuTopology`
38800
+ # @return [String]
38801
+ attr_accessor :gpu_topology
38802
+
38523
38803
  # Specifies the number of max logical switches.
38524
38804
  # Corresponds to the JSON property `maxDistance`
38525
38805
  # @return [Fixnum]
@@ -38550,6 +38830,7 @@ module Google
38550
38830
  def update!(**args)
38551
38831
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
38552
38832
  @collocation = args[:collocation] if args.key?(:collocation)
38833
+ @gpu_topology = args[:gpu_topology] if args.key?(:gpu_topology)
38553
38834
  @max_distance = args[:max_distance] if args.key?(:max_distance)
38554
38835
  @slice_count = args[:slice_count] if args.key?(:slice_count)
38555
38836
  @tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology)
@@ -39019,6 +39300,16 @@ module Google
39019
39300
  class ResourcePolicyWorkloadPolicy
39020
39301
  include Google::Apis::Core::Hashable
39021
39302
 
39303
+ #
39304
+ # Corresponds to the JSON property `acceleratorTopology`
39305
+ # @return [String]
39306
+ attr_accessor :accelerator_topology
39307
+
39308
+ #
39309
+ # Corresponds to the JSON property `maxTopologyDistance`
39310
+ # @return [String]
39311
+ attr_accessor :max_topology_distance
39312
+
39022
39313
  #
39023
39314
  # Corresponds to the JSON property `type`
39024
39315
  # @return [String]
@@ -39030,6 +39321,8 @@ module Google
39030
39321
 
39031
39322
  # Update properties of this object
39032
39323
  def update!(**args)
39324
+ @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology)
39325
+ @max_topology_distance = args[:max_topology_distance] if args.key?(:max_topology_distance)
39033
39326
  @type = args[:type] if args.key?(:type)
39034
39327
  end
39035
39328
  end
@@ -45332,6 +45625,12 @@ module Google
45332
45625
  # @return [String]
45333
45626
  attr_accessor :name
45334
45627
 
45628
+ # [Output Only] URL of the region where the snapshot resides. Only applicable
45629
+ # for regional snapshots.
45630
+ # Corresponds to the JSON property `region`
45631
+ # @return [String]
45632
+ attr_accessor :region
45633
+
45335
45634
  # Output only. Reserved for future use.
45336
45635
  # Corresponds to the JSON property `satisfiesPzi`
45337
45636
  # @return [Boolean]
@@ -45479,6 +45778,7 @@ module Google
45479
45778
  @licenses = args[:licenses] if args.key?(:licenses)
45480
45779
  @location_hint = args[:location_hint] if args.key?(:location_hint)
45481
45780
  @name = args[:name] if args.key?(:name)
45781
+ @region = args[:region] if args.key?(:region)
45482
45782
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
45483
45783
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
45484
45784
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -45501,6 +45801,136 @@ module Google
45501
45801
  end
45502
45802
  end
45503
45803
 
45804
+ #
45805
+ class SnapshotAggregatedList
45806
+ include Google::Apis::Core::Hashable
45807
+
45808
+ #
45809
+ # Corresponds to the JSON property `etag`
45810
+ # @return [String]
45811
+ attr_accessor :etag
45812
+
45813
+ # [Output Only] Unique identifier for the resource; defined by the server.
45814
+ # Corresponds to the JSON property `id`
45815
+ # @return [String]
45816
+ attr_accessor :id
45817
+
45818
+ # A list of SnapshotsScopedList resources.
45819
+ # Corresponds to the JSON property `items`
45820
+ # @return [Hash<String,Google::Apis::ComputeBeta::SnapshotsScopedList>]
45821
+ attr_accessor :items
45822
+
45823
+ # [Output Only] Type of resource. Always compute#snapshotAggregatedList for
45824
+ # aggregated lists of snapshots.
45825
+ # Corresponds to the JSON property `kind`
45826
+ # @return [String]
45827
+ attr_accessor :kind
45828
+
45829
+ # [Output Only] This token allows you to get the next page of results for list
45830
+ # requests. If the number of results is larger than maxResults, use the
45831
+ # nextPageToken as a value for the query parameter pageToken in the next list
45832
+ # request. Subsequent list requests will have their own nextPageToken to
45833
+ # continue paging through the results.
45834
+ # Corresponds to the JSON property `nextPageToken`
45835
+ # @return [String]
45836
+ attr_accessor :next_page_token
45837
+
45838
+ # [Output Only] Server-defined URL for this resource.
45839
+ # Corresponds to the JSON property `selfLink`
45840
+ # @return [String]
45841
+ attr_accessor :self_link
45842
+
45843
+ # [Output Only] Unreachable resources.
45844
+ # Corresponds to the JSON property `unreachables`
45845
+ # @return [Array<String>]
45846
+ attr_accessor :unreachables
45847
+
45848
+ # [Output Only] Informational warning message.
45849
+ # Corresponds to the JSON property `warning`
45850
+ # @return [Google::Apis::ComputeBeta::SnapshotAggregatedList::Warning]
45851
+ attr_accessor :warning
45852
+
45853
+ def initialize(**args)
45854
+ update!(**args)
45855
+ end
45856
+
45857
+ # Update properties of this object
45858
+ def update!(**args)
45859
+ @etag = args[:etag] if args.key?(:etag)
45860
+ @id = args[:id] if args.key?(:id)
45861
+ @items = args[:items] if args.key?(:items)
45862
+ @kind = args[:kind] if args.key?(:kind)
45863
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
45864
+ @self_link = args[:self_link] if args.key?(:self_link)
45865
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
45866
+ @warning = args[:warning] if args.key?(:warning)
45867
+ end
45868
+
45869
+ # [Output Only] Informational warning message.
45870
+ class Warning
45871
+ include Google::Apis::Core::Hashable
45872
+
45873
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
45874
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
45875
+ # Corresponds to the JSON property `code`
45876
+ # @return [String]
45877
+ attr_accessor :code
45878
+
45879
+ # [Output Only] Metadata about this warning in key: value format. For example: "
45880
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
45881
+ # Corresponds to the JSON property `data`
45882
+ # @return [Array<Google::Apis::ComputeBeta::SnapshotAggregatedList::Warning::Datum>]
45883
+ attr_accessor :data
45884
+
45885
+ # [Output Only] A human-readable description of the warning code.
45886
+ # Corresponds to the JSON property `message`
45887
+ # @return [String]
45888
+ attr_accessor :message
45889
+
45890
+ def initialize(**args)
45891
+ update!(**args)
45892
+ end
45893
+
45894
+ # Update properties of this object
45895
+ def update!(**args)
45896
+ @code = args[:code] if args.key?(:code)
45897
+ @data = args[:data] if args.key?(:data)
45898
+ @message = args[:message] if args.key?(:message)
45899
+ end
45900
+
45901
+ #
45902
+ class Datum
45903
+ include Google::Apis::Core::Hashable
45904
+
45905
+ # [Output Only] A key that provides more detail on the warning being returned.
45906
+ # For example, for warnings where there are no results in a list request for a
45907
+ # particular zone, this key might be scope and the key value might be the zone
45908
+ # name. Other examples might be a key indicating a deprecated resource and a
45909
+ # suggested replacement, or a warning about invalid network settings (for
45910
+ # example, if an instance attempts to perform IP forwarding but is not enabled
45911
+ # for IP forwarding).
45912
+ # Corresponds to the JSON property `key`
45913
+ # @return [String]
45914
+ attr_accessor :key
45915
+
45916
+ # [Output Only] A warning data value corresponding to the key.
45917
+ # Corresponds to the JSON property `value`
45918
+ # @return [String]
45919
+ attr_accessor :value
45920
+
45921
+ def initialize(**args)
45922
+ update!(**args)
45923
+ end
45924
+
45925
+ # Update properties of this object
45926
+ def update!(**args)
45927
+ @key = args[:key] if args.key?(:key)
45928
+ @value = args[:value] if args.key?(:value)
45929
+ end
45930
+ end
45931
+ end
45932
+ end
45933
+
45504
45934
  # Contains a list of Snapshot resources.
45505
45935
  class SnapshotList
45506
45936
  include Google::Apis::Core::Hashable
@@ -45622,6 +46052,12 @@ module Google
45622
46052
  class SnapshotSettings
45623
46053
  include Google::Apis::Core::Hashable
45624
46054
 
46055
+ # (Regional snapshots use only)Policy of which location is allowed to access
46056
+ # snapshot.
46057
+ # Corresponds to the JSON property `accessLocation`
46058
+ # @return [Google::Apis::ComputeBeta::SnapshotSettingsAccessLocation]
46059
+ attr_accessor :access_location
46060
+
45625
46061
  # Policy of which storage location is going to be resolved, and additional data
45626
46062
  # that particularizes how the policy is going to be carried out.
45627
46063
  # Corresponds to the JSON property `storageLocation`
@@ -45634,10 +46070,55 @@ module Google
45634
46070
 
45635
46071
  # Update properties of this object
45636
46072
  def update!(**args)
46073
+ @access_location = args[:access_location] if args.key?(:access_location)
45637
46074
  @storage_location = args[:storage_location] if args.key?(:storage_location)
45638
46075
  end
45639
46076
  end
45640
46077
 
46078
+ #
46079
+ class SnapshotSettingsAccessLocation
46080
+ include Google::Apis::Core::Hashable
46081
+
46082
+ # List of regions that can restore a regional snapshot from the current region
46083
+ # Corresponds to the JSON property `locations`
46084
+ # @return [Hash<String,Google::Apis::ComputeBeta::SnapshotSettingsAccessLocationAccessLocationPreference>]
46085
+ attr_accessor :locations
46086
+
46087
+ # Policy of which location is allowed to access snapshot.
46088
+ # Corresponds to the JSON property `policy`
46089
+ # @return [String]
46090
+ attr_accessor :policy
46091
+
46092
+ def initialize(**args)
46093
+ update!(**args)
46094
+ end
46095
+
46096
+ # Update properties of this object
46097
+ def update!(**args)
46098
+ @locations = args[:locations] if args.key?(:locations)
46099
+ @policy = args[:policy] if args.key?(:policy)
46100
+ end
46101
+ end
46102
+
46103
+ # A structure for specifying an allowed target region.
46104
+ class SnapshotSettingsAccessLocationAccessLocationPreference
46105
+ include Google::Apis::Core::Hashable
46106
+
46107
+ # Accessible region name
46108
+ # Corresponds to the JSON property `region`
46109
+ # @return [String]
46110
+ attr_accessor :region
46111
+
46112
+ def initialize(**args)
46113
+ update!(**args)
46114
+ end
46115
+
46116
+ # Update properties of this object
46117
+ def update!(**args)
46118
+ @region = args[:region] if args.key?(:region)
46119
+ end
46120
+ end
46121
+
45641
46122
  #
45642
46123
  class SnapshotSettingsStorageLocationSettings
45643
46124
  include Google::Apis::Core::Hashable
@@ -45685,6 +46166,97 @@ module Google
45685
46166
  end
45686
46167
  end
45687
46168
 
46169
+ #
46170
+ class SnapshotsScopedList
46171
+ include Google::Apis::Core::Hashable
46172
+
46173
+ # [Output Only] A list of snapshots contained in this scope.
46174
+ # Corresponds to the JSON property `snapshots`
46175
+ # @return [Array<Google::Apis::ComputeBeta::Snapshot>]
46176
+ attr_accessor :snapshots
46177
+
46178
+ # [Output Only] Informational warning which replaces the list of snapshots when
46179
+ # the list is empty.
46180
+ # Corresponds to the JSON property `warning`
46181
+ # @return [Google::Apis::ComputeBeta::SnapshotsScopedList::Warning]
46182
+ attr_accessor :warning
46183
+
46184
+ def initialize(**args)
46185
+ update!(**args)
46186
+ end
46187
+
46188
+ # Update properties of this object
46189
+ def update!(**args)
46190
+ @snapshots = args[:snapshots] if args.key?(:snapshots)
46191
+ @warning = args[:warning] if args.key?(:warning)
46192
+ end
46193
+
46194
+ # [Output Only] Informational warning which replaces the list of snapshots when
46195
+ # the list is empty.
46196
+ class Warning
46197
+ include Google::Apis::Core::Hashable
46198
+
46199
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
46200
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
46201
+ # Corresponds to the JSON property `code`
46202
+ # @return [String]
46203
+ attr_accessor :code
46204
+
46205
+ # [Output Only] Metadata about this warning in key: value format. For example: "
46206
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
46207
+ # Corresponds to the JSON property `data`
46208
+ # @return [Array<Google::Apis::ComputeBeta::SnapshotsScopedList::Warning::Datum>]
46209
+ attr_accessor :data
46210
+
46211
+ # [Output Only] A human-readable description of the warning code.
46212
+ # Corresponds to the JSON property `message`
46213
+ # @return [String]
46214
+ attr_accessor :message
46215
+
46216
+ def initialize(**args)
46217
+ update!(**args)
46218
+ end
46219
+
46220
+ # Update properties of this object
46221
+ def update!(**args)
46222
+ @code = args[:code] if args.key?(:code)
46223
+ @data = args[:data] if args.key?(:data)
46224
+ @message = args[:message] if args.key?(:message)
46225
+ end
46226
+
46227
+ #
46228
+ class Datum
46229
+ include Google::Apis::Core::Hashable
46230
+
46231
+ # [Output Only] A key that provides more detail on the warning being returned.
46232
+ # For example, for warnings where there are no results in a list request for a
46233
+ # particular zone, this key might be scope and the key value might be the zone
46234
+ # name. Other examples might be a key indicating a deprecated resource and a
46235
+ # suggested replacement, or a warning about invalid network settings (for
46236
+ # example, if an instance attempts to perform IP forwarding but is not enabled
46237
+ # for IP forwarding).
46238
+ # Corresponds to the JSON property `key`
46239
+ # @return [String]
46240
+ attr_accessor :key
46241
+
46242
+ # [Output Only] A warning data value corresponding to the key.
46243
+ # Corresponds to the JSON property `value`
46244
+ # @return [String]
46245
+ attr_accessor :value
46246
+
46247
+ def initialize(**args)
46248
+ update!(**args)
46249
+ end
46250
+
46251
+ # Update properties of this object
46252
+ def update!(**args)
46253
+ @key = args[:key] if args.key?(:key)
46254
+ @value = args[:value] if args.key?(:value)
46255
+ end
46256
+ end
46257
+ end
46258
+ end
46259
+
45688
46260
  #
45689
46261
  class SourceDiskEncryptionKey
45690
46262
  include Google::Apis::Core::Hashable