google-apis-compute_beta 0.126.0 → 0.127.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.
@@ -10479,8 +10479,21 @@ module Google
10479
10479
  class DiskSettings
10480
10480
  include Google::Apis::Core::Hashable
10481
10481
 
10482
- # Policy of which locations are allowed to create regional
10483
- # snapshots.
10482
+ # AccessLocation is only used for regional snapshot. It contains which
10483
+ # regions are allowed to create a regional snapshot from disks located in the
10484
+ # given region/zone.
10485
+ # It includes key-value pairs designed to store the following structure. The
10486
+ # keys should match their corresponding values, which must be provided:
10487
+ # access_location: `
10488
+ # locations `
10489
+ # us-central1 `
10490
+ # region: "us-central1"
10491
+ # `,
10492
+ # asia-west2 `
10493
+ # region: "asia-west2"
10494
+ # `
10495
+ # `
10496
+ # `
10484
10497
  # Corresponds to the JSON property `accessLocation`
10485
10498
  # @return [Google::Apis::ComputeBeta::DiskSettingsAccessLocation]
10486
10499
  attr_accessor :access_location
@@ -10495,16 +10508,31 @@ module Google
10495
10508
  end
10496
10509
  end
10497
10510
 
10498
- #
10511
+ # AccessLocation is only used for regional snapshot. It contains which
10512
+ # regions are allowed to create a regional snapshot from disks located in the
10513
+ # given region/zone.
10514
+ # It includes key-value pairs designed to store the following structure. The
10515
+ # keys should match their corresponding values, which must be provided:
10516
+ # access_location: `
10517
+ # locations `
10518
+ # us-central1 `
10519
+ # region: "us-central1"
10520
+ # `,
10521
+ # asia-west2 `
10522
+ # region: "asia-west2"
10523
+ # `
10524
+ # `
10525
+ # `
10499
10526
  class DiskSettingsAccessLocation
10500
10527
  include Google::Apis::Core::Hashable
10501
10528
 
10502
- #
10529
+ # List of regions that can create a regional
10530
+ # snapshot from the current region
10503
10531
  # Corresponds to the JSON property `locations`
10504
10532
  # @return [Hash<String,Google::Apis::ComputeBeta::DiskSettingsAccessLocationAccessLocationPreference>]
10505
10533
  attr_accessor :locations
10506
10534
 
10507
- #
10535
+ # Policy of which location is allowed to access snapshot.
10508
10536
  # Corresponds to the JSON property `policy`
10509
10537
  # @return [String]
10510
10538
  attr_accessor :policy
@@ -10520,11 +10548,11 @@ module Google
10520
10548
  end
10521
10549
  end
10522
10550
 
10523
- #
10551
+ # A structure for specifying an allowed target region to create snapshot.
10524
10552
  class DiskSettingsAccessLocationAccessLocationPreference
10525
10553
  include Google::Apis::Core::Hashable
10526
10554
 
10527
- #
10555
+ # Accessible region name
10528
10556
  # Corresponds to the JSON property `region`
10529
10557
  # @return [String]
10530
10558
  attr_accessor :region
@@ -16055,6 +16083,142 @@ module Google
16055
16083
  end
16056
16084
  end
16057
16085
 
16086
+ # Response to list global VM extension policy resources.
16087
+ class GlobalVmExtensionPolicyList
16088
+ include Google::Apis::Core::Hashable
16089
+
16090
+ #
16091
+ # Corresponds to the JSON property `etag`
16092
+ # @return [String]
16093
+ attr_accessor :etag
16094
+
16095
+ # [Output Only] Unique identifier for the resource; defined by the server.
16096
+ # Corresponds to the JSON property `id`
16097
+ # @return [String]
16098
+ attr_accessor :id
16099
+
16100
+ # A list of GlobalVmExtensionPolicy resources.
16101
+ # Corresponds to the JSON property `items`
16102
+ # @return [Array<Google::Apis::ComputeBeta::GlobalVmExtensionPolicy>]
16103
+ attr_accessor :items
16104
+
16105
+ # Type of resource.
16106
+ # Corresponds to the JSON property `kind`
16107
+ # @return [String]
16108
+ attr_accessor :kind
16109
+
16110
+ # [Output Only] This token allows you to get the next page of results for
16111
+ # list requests. If the number of results is larger thanmaxResults, use the
16112
+ # nextPageToken as a value for
16113
+ # the query parameter pageToken in the next list request.
16114
+ # Subsequent list requests will have their own nextPageToken to
16115
+ # continue paging through the results.
16116
+ # Corresponds to the JSON property `nextPageToken`
16117
+ # @return [String]
16118
+ attr_accessor :next_page_token
16119
+
16120
+ # [Output Only] Server-defined URL for this resource.
16121
+ # Corresponds to the JSON property `selfLink`
16122
+ # @return [String]
16123
+ attr_accessor :self_link
16124
+
16125
+ # [Output Only] Unreachable resources.
16126
+ # Corresponds to the JSON property `unreachables`
16127
+ # @return [Array<String>]
16128
+ attr_accessor :unreachables
16129
+
16130
+ # [Output Only] Informational warning message.
16131
+ # Corresponds to the JSON property `warning`
16132
+ # @return [Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::Warning]
16133
+ attr_accessor :warning
16134
+
16135
+ def initialize(**args)
16136
+ update!(**args)
16137
+ end
16138
+
16139
+ # Update properties of this object
16140
+ def update!(**args)
16141
+ @etag = args[:etag] if args.key?(:etag)
16142
+ @id = args[:id] if args.key?(:id)
16143
+ @items = args[:items] if args.key?(:items)
16144
+ @kind = args[:kind] if args.key?(:kind)
16145
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
16146
+ @self_link = args[:self_link] if args.key?(:self_link)
16147
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
16148
+ @warning = args[:warning] if args.key?(:warning)
16149
+ end
16150
+
16151
+ # [Output Only] Informational warning message.
16152
+ class Warning
16153
+ include Google::Apis::Core::Hashable
16154
+
16155
+ # [Output Only] A warning code, if applicable. For example, Compute
16156
+ # Engine returns NO_RESULTS_ON_PAGE if there
16157
+ # are no results in the response.
16158
+ # Corresponds to the JSON property `code`
16159
+ # @return [String]
16160
+ attr_accessor :code
16161
+
16162
+ # [Output Only] Metadata about this warning in key:
16163
+ # value format. For example:
16164
+ # "data": [
16165
+ # `
16166
+ # "key": "scope",
16167
+ # "value": "zones/us-east1-d"
16168
+ # `
16169
+ # Corresponds to the JSON property `data`
16170
+ # @return [Array<Google::Apis::ComputeBeta::GlobalVmExtensionPolicyList::Warning::Datum>]
16171
+ attr_accessor :data
16172
+
16173
+ # [Output Only] A human-readable description of the warning code.
16174
+ # Corresponds to the JSON property `message`
16175
+ # @return [String]
16176
+ attr_accessor :message
16177
+
16178
+ def initialize(**args)
16179
+ update!(**args)
16180
+ end
16181
+
16182
+ # Update properties of this object
16183
+ def update!(**args)
16184
+ @code = args[:code] if args.key?(:code)
16185
+ @data = args[:data] if args.key?(:data)
16186
+ @message = args[:message] if args.key?(:message)
16187
+ end
16188
+
16189
+ #
16190
+ class Datum
16191
+ include Google::Apis::Core::Hashable
16192
+
16193
+ # [Output Only] A key that provides more detail on the warning being
16194
+ # returned. For example, for warnings where there are no results in a list
16195
+ # request for a particular zone, this key might be scope and
16196
+ # the key value might be the zone name. Other examples might be a key
16197
+ # indicating a deprecated resource and a suggested replacement, or a
16198
+ # warning about invalid network settings (for example, if an instance
16199
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
16200
+ # Corresponds to the JSON property `key`
16201
+ # @return [String]
16202
+ attr_accessor :key
16203
+
16204
+ # [Output Only] A warning data value corresponding to the key.
16205
+ # Corresponds to the JSON property `value`
16206
+ # @return [String]
16207
+ attr_accessor :value
16208
+
16209
+ def initialize(**args)
16210
+ update!(**args)
16211
+ end
16212
+
16213
+ # Update properties of this object
16214
+ def update!(**args)
16215
+ @key = args[:key] if args.key?(:key)
16216
+ @value = args[:value] if args.key?(:value)
16217
+ end
16218
+ end
16219
+ end
16220
+ end
16221
+
16058
16222
  # Represents the rollout operation
16059
16223
  class GlobalVmExtensionPolicyRolloutOperation
16060
16224
  include Google::Apis::Core::Hashable
@@ -19011,7 +19175,7 @@ module Google
19011
19175
  # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or
19012
19176
  # rangeMatch must be set.
19013
19177
  # Regular expressions can only be used when the loadBalancingScheme is
19014
- # set to INTERNAL_SELF_MANAGED.
19178
+ # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.
19015
19179
  # Corresponds to the JSON property `regexMatch`
19016
19180
  # @return [String]
19017
19181
  attr_accessor :regex_match
@@ -19349,7 +19513,7 @@ module Google
19349
19513
  # more information about regular expression syntax, see Syntax.
19350
19514
  # Only one of presentMatch, exactMatch, orregexMatch must be set.
19351
19515
  # Regular expressions can only be used when the loadBalancingScheme is
19352
- # set to INTERNAL_SELF_MANAGED.
19516
+ # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.
19353
19517
  # Corresponds to the JSON property `regexMatch`
19354
19518
  # @return [String]
19355
19519
  attr_accessor :regex_match
@@ -19741,7 +19905,8 @@ module Google
19741
19905
  # any query parameters and anchor
19742
19906
  # that may be part of the original URL.
19743
19907
  # fullPathMatch must be from 1 to 1024 characters.
19744
- # Only one of prefixMatch, fullPathMatch or regexMatch must be
19908
+ # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must
19909
+ # be
19745
19910
  # specified.
19746
19911
  # Corresponds to the JSON property `fullPathMatch`
19747
19912
  # @return [String]
@@ -19805,7 +19970,9 @@ module Google
19805
19970
  # For satisfying the matchRule condition, the request's
19806
19971
  # path must begin with the specified prefixMatch.prefixMatch must begin with a /.
19807
19972
  # The value must be from 1 to 1024 characters.
19808
- # Only one of prefixMatch, fullPathMatch or regexMatch must be
19973
+ # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must
19974
+ # be
19975
+ # specified.
19809
19976
  # specified.
19810
19977
  # Corresponds to the JSON property `prefixMatch`
19811
19978
  # @return [String]
@@ -19823,10 +19990,11 @@ module Google
19823
19990
  # removing any query parameters and anchor
19824
19991
  # supplied with the original URL. For
19825
19992
  # more information about regular expression syntax, see Syntax.
19826
- # Only one of prefixMatch, fullPathMatch orregexMatch must be
19993
+ # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must
19994
+ # be
19827
19995
  # specified.
19828
19996
  # Regular expressions can only be used when the loadBalancingScheme is
19829
- # set to INTERNAL_SELF_MANAGED.
19997
+ # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.
19830
19998
  # Corresponds to the JSON property `regexMatch`
19831
19999
  # @return [String]
19832
20000
  attr_accessor :regex_match
@@ -22352,11 +22520,23 @@ module Google
22352
22520
  class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection
22353
22521
  include Google::Apis::Core::Hashable
22354
22522
 
22523
+ # List of disks to be attached to the instances created from this
22524
+ # selection.
22525
+ # Corresponds to the JSON property `disks`
22526
+ # @return [Array<Google::Apis::ComputeBeta::AttachedDisk>]
22527
+ attr_accessor :disks
22528
+
22355
22529
  # Full machine-type names, e.g. "n1-standard-16".
22356
22530
  # Corresponds to the JSON property `machineTypes`
22357
22531
  # @return [Array<String>]
22358
22532
  attr_accessor :machine_types
22359
22533
 
22534
+ # Name of the minimum CPU platform to be used by this instance selection.
22535
+ # e.g. 'Intel Ice Lake'.
22536
+ # Corresponds to the JSON property `minCpuPlatform`
22537
+ # @return [String]
22538
+ attr_accessor :min_cpu_platform
22539
+
22360
22540
  # Preference of this instance selection. Lower number means higher
22361
22541
  # preference. MIG will first try to create a VM based on the machine-type
22362
22542
  # with lowest rank and fallback to next rank based on availability.
@@ -22372,7 +22552,9 @@ module Google
22372
22552
 
22373
22553
  # Update properties of this object
22374
22554
  def update!(**args)
22555
+ @disks = args[:disks] if args.key?(:disks)
22375
22556
  @machine_types = args[:machine_types] if args.key?(:machine_types)
22557
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
22376
22558
  @rank = args[:rank] if args.key?(:rank)
22377
22559
  end
22378
22560
  end
@@ -33377,11 +33559,22 @@ module Google
33377
33559
  class ManagedInstancePropertiesFromFlexibilityPolicy
33378
33560
  include Google::Apis::Core::Hashable
33379
33561
 
33562
+ # List of disks to be attached to the instance.
33563
+ # Corresponds to the JSON property `disks`
33564
+ # @return [Array<Google::Apis::ComputeBeta::AttachedDisk>]
33565
+ attr_accessor :disks
33566
+
33380
33567
  # The machine type to be used for this instance.
33381
33568
  # Corresponds to the JSON property `machineType`
33382
33569
  # @return [String]
33383
33570
  attr_accessor :machine_type
33384
33571
 
33572
+ # Name of the minimum CPU platform to be used by this instance.
33573
+ # e.g. 'Intel Ice Lake'.
33574
+ # Corresponds to the JSON property `minCpuPlatform`
33575
+ # @return [String]
33576
+ attr_accessor :min_cpu_platform
33577
+
33385
33578
  # The provisioning model to be used for this instance.
33386
33579
  # Corresponds to the JSON property `provisioningModel`
33387
33580
  # @return [String]
@@ -33393,7 +33586,9 @@ module Google
33393
33586
 
33394
33587
  # Update properties of this object
33395
33588
  def update!(**args)
33589
+ @disks = args[:disks] if args.key?(:disks)
33396
33590
  @machine_type = args[:machine_type] if args.key?(:machine_type)
33591
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
33397
33592
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
33398
33593
  end
33399
33594
  end
@@ -49452,6 +49647,585 @@ module Google
49452
49647
  end
49453
49648
  end
49454
49649
 
49650
+ # Represent a Rollout resource.
49651
+ class Rollout
49652
+ include Google::Apis::Core::Hashable
49653
+
49654
+ # Output only. The timestamp at which the Rollout was cancelled.
49655
+ # Corresponds to the JSON property `cancellationTime`
49656
+ # @return [String]
49657
+ attr_accessor :cancellation_time
49658
+
49659
+ # Output only. The timestamp at which the Rollout was completed.
49660
+ # Corresponds to the JSON property `completionTime`
49661
+ # @return [String]
49662
+ attr_accessor :completion_time
49663
+
49664
+ # [Output Only] Creation timestamp inRFC3339
49665
+ # text format.
49666
+ # Corresponds to the JSON property `creationTimestamp`
49667
+ # @return [String]
49668
+ attr_accessor :creation_timestamp
49669
+
49670
+ # Output only. The number of the currently running wave.
49671
+ # Ex. 1
49672
+ # Corresponds to the JSON property `currentWaveNumber`
49673
+ # @return [Fixnum]
49674
+ attr_accessor :current_wave_number
49675
+
49676
+ # An optional description of this resource. Provide this property when you
49677
+ # create the resource.
49678
+ # Corresponds to the JSON property `description`
49679
+ # @return [String]
49680
+ attr_accessor :description
49681
+
49682
+ # Output only. etag of the Rollout
49683
+ # Ex. abc1234
49684
+ # Corresponds to the JSON property `etag`
49685
+ # @return [String]
49686
+ attr_accessor :etag
49687
+
49688
+ # [Output Only] The unique identifier for the resource. This identifier is
49689
+ # defined by the server.
49690
+ # Corresponds to the JSON property `id`
49691
+ # @return [Fixnum]
49692
+ attr_accessor :id
49693
+
49694
+ # [Output Only] Type of the resource. Always compute#rollout
49695
+ # for rollouts.
49696
+ # Corresponds to the JSON property `kind`
49697
+ # @return [String]
49698
+ attr_accessor :kind
49699
+
49700
+ # Name of the resource. Provided by the client when the resource is created.
49701
+ # The name must be 1-63 characters long, and comply withRFC1035.
49702
+ # Specifically, the name must be 1-63 characters long and match the regular
49703
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
49704
+ # which means the first character must be a lowercase letter, and all
49705
+ # following characters must be a dash, lowercase letter, or digit, except
49706
+ # the last character, which cannot be a dash.
49707
+ # Corresponds to the JSON property `name`
49708
+ # @return [String]
49709
+ attr_accessor :name
49710
+
49711
+ # Specifications of the resource to roll out.
49712
+ # Corresponds to the JSON property `rolloutEntity`
49713
+ # @return [Google::Apis::ComputeBeta::RolloutRolloutEntity]
49714
+ attr_accessor :rollout_entity
49715
+
49716
+ # Required. Rollout Plan used to model the Rollout.
49717
+ # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
49718
+ # Corresponds to the JSON property `rolloutPlan`
49719
+ # @return [String]
49720
+ attr_accessor :rollout_plan
49721
+
49722
+ # [Output Only] Server-defined fully-qualified URL for this resource.
49723
+ # Corresponds to the JSON property `selfLink`
49724
+ # @return [String]
49725
+ attr_accessor :self_link
49726
+
49727
+ # [Output Only] Server-defined URL for this resource's resource id.
49728
+ # Corresponds to the JSON property `selfLinkWithId`
49729
+ # @return [String]
49730
+ attr_accessor :self_link_with_id
49731
+
49732
+ # Output only. The current state of the Rollout.
49733
+ # Corresponds to the JSON property `state`
49734
+ # @return [String]
49735
+ attr_accessor :state
49736
+
49737
+ # Output only. Details about each wave of the rollout.
49738
+ # Corresponds to the JSON property `waveDetails`
49739
+ # @return [Array<Google::Apis::ComputeBeta::RolloutWaveDetails>]
49740
+ attr_accessor :wave_details
49741
+
49742
+ def initialize(**args)
49743
+ update!(**args)
49744
+ end
49745
+
49746
+ # Update properties of this object
49747
+ def update!(**args)
49748
+ @cancellation_time = args[:cancellation_time] if args.key?(:cancellation_time)
49749
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
49750
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
49751
+ @current_wave_number = args[:current_wave_number] if args.key?(:current_wave_number)
49752
+ @description = args[:description] if args.key?(:description)
49753
+ @etag = args[:etag] if args.key?(:etag)
49754
+ @id = args[:id] if args.key?(:id)
49755
+ @kind = args[:kind] if args.key?(:kind)
49756
+ @name = args[:name] if args.key?(:name)
49757
+ @rollout_entity = args[:rollout_entity] if args.key?(:rollout_entity)
49758
+ @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
49759
+ @self_link = args[:self_link] if args.key?(:self_link)
49760
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
49761
+ @state = args[:state] if args.key?(:state)
49762
+ @wave_details = args[:wave_details] if args.key?(:wave_details)
49763
+ end
49764
+ end
49765
+
49766
+ # Message describing RolloutPlan object
49767
+ class RolloutPlan
49768
+ include Google::Apis::Core::Hashable
49769
+
49770
+ # [Output Only] Creation timestamp inRFC3339
49771
+ # text format.
49772
+ # Corresponds to the JSON property `creationTimestamp`
49773
+ # @return [String]
49774
+ attr_accessor :creation_timestamp
49775
+
49776
+ # An optional description of this resource. Provide this property when you
49777
+ # create the resource.
49778
+ # Corresponds to the JSON property `description`
49779
+ # @return [String]
49780
+ attr_accessor :description
49781
+
49782
+ # [Output Only] The unique identifier for the resource. This identifier is
49783
+ # defined by the server.
49784
+ # Corresponds to the JSON property `id`
49785
+ # @return [Fixnum]
49786
+ attr_accessor :id
49787
+
49788
+ # [Output Only] Type of the resource. Always compute#rolloutPlan
49789
+ # for rolloutPlans.
49790
+ # Corresponds to the JSON property `kind`
49791
+ # @return [String]
49792
+ attr_accessor :kind
49793
+
49794
+ # The location scope of the rollout plan. If not specified, the location
49795
+ # scope is considered as ZONAL.
49796
+ # Corresponds to the JSON property `locationScope`
49797
+ # @return [String]
49798
+ attr_accessor :location_scope
49799
+
49800
+ # Name of the resource. Provided by the client when the resource is created.
49801
+ # The name must be 1-63 characters long, and comply withRFC1035.
49802
+ # Specifically, the name must be 1-63 characters long and match the regular
49803
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
49804
+ # which means the first character must be a lowercase letter, and all
49805
+ # following characters must be a dash, lowercase letter, or digit, except
49806
+ # the last character, which cannot be a dash.
49807
+ # Corresponds to the JSON property `name`
49808
+ # @return [String]
49809
+ attr_accessor :name
49810
+
49811
+ # [Output Only] Server-defined fully-qualified URL for this resource.
49812
+ # Corresponds to the JSON property `selfLink`
49813
+ # @return [String]
49814
+ attr_accessor :self_link
49815
+
49816
+ # [Output Only] Server-defined URL for this resource's resource id.
49817
+ # Corresponds to the JSON property `selfLinkWithId`
49818
+ # @return [String]
49819
+ attr_accessor :self_link_with_id
49820
+
49821
+ # Required. The waves included in this rollout plan.
49822
+ # Corresponds to the JSON property `waves`
49823
+ # @return [Array<Google::Apis::ComputeBeta::RolloutPlanWave>]
49824
+ attr_accessor :waves
49825
+
49826
+ def initialize(**args)
49827
+ update!(**args)
49828
+ end
49829
+
49830
+ # Update properties of this object
49831
+ def update!(**args)
49832
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
49833
+ @description = args[:description] if args.key?(:description)
49834
+ @id = args[:id] if args.key?(:id)
49835
+ @kind = args[:kind] if args.key?(:kind)
49836
+ @location_scope = args[:location_scope] if args.key?(:location_scope)
49837
+ @name = args[:name] if args.key?(:name)
49838
+ @self_link = args[:self_link] if args.key?(:self_link)
49839
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
49840
+ @waves = args[:waves] if args.key?(:waves)
49841
+ end
49842
+ end
49843
+
49844
+ # A single wave in a rollout plan.
49845
+ class RolloutPlanWave
49846
+ include Google::Apis::Core::Hashable
49847
+
49848
+ # Optional. The display name of this wave of the rollout plan.
49849
+ # Corresponds to the JSON property `displayName`
49850
+ # @return [String]
49851
+ attr_accessor :display_name
49852
+
49853
+ # Output only. The wave number.
49854
+ # Corresponds to the JSON property `number`
49855
+ # @return [Fixnum]
49856
+ attr_accessor :number
49857
+
49858
+ # Options to control the pace of orchestration of a wave. These options are
49859
+ # required only if the resource being rolled out follows the Orchestrated
49860
+ # pattern.
49861
+ # Corresponds to the JSON property `orchestrationOptions`
49862
+ # @return [Google::Apis::ComputeBeta::RolloutPlanWaveOrchestrationOptions]
49863
+ attr_accessor :orchestration_options
49864
+
49865
+ # Required. The selectors for this wave. There is a logical AND between each
49866
+ # selector
49867
+ # defined in a wave, so a resource must satisfy the criteria of *all* the
49868
+ # specified selectors to be in scope for the wave.
49869
+ # Corresponds to the JSON property `selectors`
49870
+ # @return [Array<Google::Apis::ComputeBeta::RolloutPlanWaveSelector>]
49871
+ attr_accessor :selectors
49872
+
49873
+ # The validation to be performed before progressing to the next wave.
49874
+ # Corresponds to the JSON property `validation`
49875
+ # @return [Google::Apis::ComputeBeta::RolloutPlanWaveValidation]
49876
+ attr_accessor :validation
49877
+
49878
+ def initialize(**args)
49879
+ update!(**args)
49880
+ end
49881
+
49882
+ # Update properties of this object
49883
+ def update!(**args)
49884
+ @display_name = args[:display_name] if args.key?(:display_name)
49885
+ @number = args[:number] if args.key?(:number)
49886
+ @orchestration_options = args[:orchestration_options] if args.key?(:orchestration_options)
49887
+ @selectors = args[:selectors] if args.key?(:selectors)
49888
+ @validation = args[:validation] if args.key?(:validation)
49889
+ end
49890
+ end
49891
+
49892
+ # Options to control the pace of orchestration of a wave. These options are
49893
+ # required only if the resource being rolled out follows the Orchestrated
49894
+ # pattern.
49895
+ class RolloutPlanWaveOrchestrationOptions
49896
+ include Google::Apis::Core::Hashable
49897
+
49898
+ # Optional. Delays, if any, to be added between batches of projects. We allow
49899
+ # multiple Delays to be specified, letting users set separate delays
49900
+ # between batches of projects corresponding to different locations and
49901
+ # batches of projects corresponding to the same location.
49902
+ # Corresponds to the JSON property `delays`
49903
+ # @return [Array<Google::Apis::ComputeBeta::RolloutPlanWaveOrchestrationOptionsDelay>]
49904
+ attr_accessor :delays
49905
+
49906
+ # Optional. Maximum number of locations to be orchestrated in parallel.
49907
+ # Corresponds to the JSON property `maxConcurrentLocations`
49908
+ # @return [Fixnum]
49909
+ attr_accessor :max_concurrent_locations
49910
+
49911
+ # Optional. Maximum number of resources to be orchestrated per location in
49912
+ # parallel.
49913
+ # Corresponds to the JSON property `maxConcurrentResourcesPerLocation`
49914
+ # @return [Fixnum]
49915
+ attr_accessor :max_concurrent_resources_per_location
49916
+
49917
+ def initialize(**args)
49918
+ update!(**args)
49919
+ end
49920
+
49921
+ # Update properties of this object
49922
+ def update!(**args)
49923
+ @delays = args[:delays] if args.key?(:delays)
49924
+ @max_concurrent_locations = args[:max_concurrent_locations] if args.key?(:max_concurrent_locations)
49925
+ @max_concurrent_resources_per_location = args[:max_concurrent_resources_per_location] if args.key?(:max_concurrent_resources_per_location)
49926
+ end
49927
+ end
49928
+
49929
+ # Options to control the delay, if any, between batches of projects.
49930
+ class RolloutPlanWaveOrchestrationOptionsDelay
49931
+ include Google::Apis::Core::Hashable
49932
+
49933
+ # Optional. Controls whether the delay should only be added between batches of
49934
+ # projects corresponding to different locations, or also between
49935
+ # batches of projects corresponding to the same location.
49936
+ # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
49937
+ # Corresponds to the JSON property `delimiter`
49938
+ # @return [String]
49939
+ attr_accessor :delimiter
49940
+
49941
+ # Optional. The duration of the delay, if any, to be added between batches of
49942
+ # projects. A zero duration corresponds to no delay.
49943
+ # Corresponds to the JSON property `duration`
49944
+ # @return [String]
49945
+ attr_accessor :duration
49946
+
49947
+ # Optional. Controls whether the specified duration is to be added at the end of
49948
+ # each batch, or if the total processing time for each batch will be
49949
+ # padded if needed to meet the specified duration.
49950
+ # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
49951
+ # Corresponds to the JSON property `type`
49952
+ # @return [String]
49953
+ attr_accessor :type
49954
+
49955
+ def initialize(**args)
49956
+ update!(**args)
49957
+ end
49958
+
49959
+ # Update properties of this object
49960
+ def update!(**args)
49961
+ @delimiter = args[:delimiter] if args.key?(:delimiter)
49962
+ @duration = args[:duration] if args.key?(:duration)
49963
+ @type = args[:type] if args.key?(:type)
49964
+ end
49965
+ end
49966
+
49967
+ # A selector which specifies what resource(s) are included in a given wave.
49968
+ class RolloutPlanWaveSelector
49969
+ include Google::Apis::Core::Hashable
49970
+
49971
+ # Roll out to resources by location.
49972
+ # Corresponds to the JSON property `locationSelector`
49973
+ # @return [Google::Apis::ComputeBeta::RolloutPlanWaveSelectorLocationSelector]
49974
+ attr_accessor :location_selector
49975
+
49976
+ # Roll out to resources by Cloud Resource Manager resource hierarchy
49977
+ # nodes such as projects, folders, orgs.
49978
+ # Corresponds to the JSON property `resourceHierarchySelector`
49979
+ # @return [Google::Apis::ComputeBeta::RolloutPlanWaveSelectorResourceHierarchySelector]
49980
+ attr_accessor :resource_hierarchy_selector
49981
+
49982
+ def initialize(**args)
49983
+ update!(**args)
49984
+ end
49985
+
49986
+ # Update properties of this object
49987
+ def update!(**args)
49988
+ @location_selector = args[:location_selector] if args.key?(:location_selector)
49989
+ @resource_hierarchy_selector = args[:resource_hierarchy_selector] if args.key?(:resource_hierarchy_selector)
49990
+ end
49991
+ end
49992
+
49993
+ # Roll out to resources by location.
49994
+ class RolloutPlanWaveSelectorLocationSelector
49995
+ include Google::Apis::Core::Hashable
49996
+
49997
+ # Optional. Example: "us-central1-a"
49998
+ # Corresponds to the JSON property `includedLocations`
49999
+ # @return [Array<String>]
50000
+ attr_accessor :included_locations
50001
+
50002
+ def initialize(**args)
50003
+ update!(**args)
50004
+ end
50005
+
50006
+ # Update properties of this object
50007
+ def update!(**args)
50008
+ @included_locations = args[:included_locations] if args.key?(:included_locations)
50009
+ end
50010
+ end
50011
+
50012
+ # Roll out to resources by Cloud Resource Manager resource hierarchy
50013
+ # nodes such as projects, folders, orgs.
50014
+ class RolloutPlanWaveSelectorResourceHierarchySelector
50015
+ include Google::Apis::Core::Hashable
50016
+
50017
+ # Optional. Format: "folders/`folder_id`"
50018
+ # Corresponds to the JSON property `includedFolders`
50019
+ # @return [Array<String>]
50020
+ attr_accessor :included_folders
50021
+
50022
+ # Optional. Format: "organizations/`organization_id`"
50023
+ # Corresponds to the JSON property `includedOrganizations`
50024
+ # @return [Array<String>]
50025
+ attr_accessor :included_organizations
50026
+
50027
+ # Optional. Format: "projects/`project_id`"
50028
+ # Corresponds to the JSON property `includedProjects`
50029
+ # @return [Array<String>]
50030
+ attr_accessor :included_projects
50031
+
50032
+ def initialize(**args)
50033
+ update!(**args)
50034
+ end
50035
+
50036
+ # Update properties of this object
50037
+ def update!(**args)
50038
+ @included_folders = args[:included_folders] if args.key?(:included_folders)
50039
+ @included_organizations = args[:included_organizations] if args.key?(:included_organizations)
50040
+ @included_projects = args[:included_projects] if args.key?(:included_projects)
50041
+ end
50042
+ end
50043
+
50044
+ # The validation to be performed before progressing to the next wave.
50045
+ class RolloutPlanWaveValidation
50046
+ include Google::Apis::Core::Hashable
50047
+
50048
+ # Metadata required if type = "time".
50049
+ # Corresponds to the JSON property `timeBasedValidationMetadata`
50050
+ # @return [Google::Apis::ComputeBeta::RolloutPlanWaveValidationTimeBasedValidationMetadata]
50051
+ attr_accessor :time_based_validation_metadata
50052
+
50053
+ # Required. The type of the validation. If a type of validation is associated
50054
+ # with
50055
+ # a metadata object, the appropriate metadata field mapping to the
50056
+ # validation type must be provided in the validation message. Possible
50057
+ # values are in quotes below alongside an explanation:
50058
+ # "manual": The system waits for an end-user approval API before
50059
+ # progressing to the next wave.
50060
+ # "time": The system waits for a user specified duration before
50061
+ # progressing to the next wave. TimeBasedValidation must be provided.
50062
+ # Corresponds to the JSON property `type`
50063
+ # @return [String]
50064
+ attr_accessor :type
50065
+
50066
+ def initialize(**args)
50067
+ update!(**args)
50068
+ end
50069
+
50070
+ # Update properties of this object
50071
+ def update!(**args)
50072
+ @time_based_validation_metadata = args[:time_based_validation_metadata] if args.key?(:time_based_validation_metadata)
50073
+ @type = args[:type] if args.key?(:type)
50074
+ end
50075
+ end
50076
+
50077
+ # Metadata required if type = "time".
50078
+ class RolloutPlanWaveValidationTimeBasedValidationMetadata
50079
+ include Google::Apis::Core::Hashable
50080
+
50081
+ # Optional. The duration that the system waits in between waves. This wait
50082
+ # starts
50083
+ # after all changes in the wave are rolled out.
50084
+ # Corresponds to the JSON property `waitDuration`
50085
+ # @return [String]
50086
+ attr_accessor :wait_duration
50087
+
50088
+ def initialize(**args)
50089
+ update!(**args)
50090
+ end
50091
+
50092
+ # Update properties of this object
50093
+ def update!(**args)
50094
+ @wait_duration = args[:wait_duration] if args.key?(:wait_duration)
50095
+ end
50096
+ end
50097
+
50098
+ # Contains a list of RolloutPlan resources.
50099
+ class RolloutPlansListResponse
50100
+ include Google::Apis::Core::Hashable
50101
+
50102
+ #
50103
+ # Corresponds to the JSON property `etag`
50104
+ # @return [String]
50105
+ attr_accessor :etag
50106
+
50107
+ # [Output Only] Unique identifier for the resource; defined by the server.
50108
+ # Corresponds to the JSON property `id`
50109
+ # @return [String]
50110
+ attr_accessor :id
50111
+
50112
+ # A list of RolloutPlan resources.
50113
+ # Corresponds to the JSON property `items`
50114
+ # @return [Array<Google::Apis::ComputeBeta::RolloutPlan>]
50115
+ attr_accessor :items
50116
+
50117
+ # [Output Only] This token allows you to get the next page of results for
50118
+ # list requests. If the number of results is larger thanmaxResults, use the
50119
+ # nextPageToken as a value for
50120
+ # the query parameter pageToken in the next list request.
50121
+ # Subsequent list requests will have their own nextPageToken to
50122
+ # continue paging through the results.
50123
+ # Corresponds to the JSON property `nextPageToken`
50124
+ # @return [String]
50125
+ attr_accessor :next_page_token
50126
+
50127
+ # [Output Only] Server-defined URL for this resource.
50128
+ # Corresponds to the JSON property `selfLink`
50129
+ # @return [String]
50130
+ attr_accessor :self_link
50131
+
50132
+ # [Output Only] Unreachable resources.
50133
+ # end_interface: MixerListResponseWithEtagBuilder
50134
+ # Corresponds to the JSON property `unreachables`
50135
+ # @return [Array<String>]
50136
+ attr_accessor :unreachables
50137
+
50138
+ # [Output Only] Informational warning message.
50139
+ # Corresponds to the JSON property `warning`
50140
+ # @return [Google::Apis::ComputeBeta::RolloutPlansListResponse::Warning]
50141
+ attr_accessor :warning
50142
+
50143
+ def initialize(**args)
50144
+ update!(**args)
50145
+ end
50146
+
50147
+ # Update properties of this object
50148
+ def update!(**args)
50149
+ @etag = args[:etag] if args.key?(:etag)
50150
+ @id = args[:id] if args.key?(:id)
50151
+ @items = args[:items] if args.key?(:items)
50152
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
50153
+ @self_link = args[:self_link] if args.key?(:self_link)
50154
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
50155
+ @warning = args[:warning] if args.key?(:warning)
50156
+ end
50157
+
50158
+ # [Output Only] Informational warning message.
50159
+ class Warning
50160
+ include Google::Apis::Core::Hashable
50161
+
50162
+ # [Output Only] A warning code, if applicable. For example, Compute
50163
+ # Engine returns NO_RESULTS_ON_PAGE if there
50164
+ # are no results in the response.
50165
+ # Corresponds to the JSON property `code`
50166
+ # @return [String]
50167
+ attr_accessor :code
50168
+
50169
+ # [Output Only] Metadata about this warning in key:
50170
+ # value format. For example:
50171
+ # "data": [
50172
+ # `
50173
+ # "key": "scope",
50174
+ # "value": "zones/us-east1-d"
50175
+ # `
50176
+ # Corresponds to the JSON property `data`
50177
+ # @return [Array<Google::Apis::ComputeBeta::RolloutPlansListResponse::Warning::Datum>]
50178
+ attr_accessor :data
50179
+
50180
+ # [Output Only] A human-readable description of the warning code.
50181
+ # Corresponds to the JSON property `message`
50182
+ # @return [String]
50183
+ attr_accessor :message
50184
+
50185
+ def initialize(**args)
50186
+ update!(**args)
50187
+ end
50188
+
50189
+ # Update properties of this object
50190
+ def update!(**args)
50191
+ @code = args[:code] if args.key?(:code)
50192
+ @data = args[:data] if args.key?(:data)
50193
+ @message = args[:message] if args.key?(:message)
50194
+ end
50195
+
50196
+ #
50197
+ class Datum
50198
+ include Google::Apis::Core::Hashable
50199
+
50200
+ # [Output Only] A key that provides more detail on the warning being
50201
+ # returned. For example, for warnings where there are no results in a list
50202
+ # request for a particular zone, this key might be scope and
50203
+ # the key value might be the zone name. Other examples might be a key
50204
+ # indicating a deprecated resource and a suggested replacement, or a
50205
+ # warning about invalid network settings (for example, if an instance
50206
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
50207
+ # Corresponds to the JSON property `key`
50208
+ # @return [String]
50209
+ attr_accessor :key
50210
+
50211
+ # [Output Only] A warning data value corresponding to the key.
50212
+ # Corresponds to the JSON property `value`
50213
+ # @return [String]
50214
+ attr_accessor :value
50215
+
50216
+ def initialize(**args)
50217
+ update!(**args)
50218
+ end
50219
+
50220
+ # Update properties of this object
50221
+ def update!(**args)
50222
+ @key = args[:key] if args.key?(:key)
50223
+ @value = args[:value] if args.key?(:value)
50224
+ end
50225
+ end
50226
+ end
50227
+ end
50228
+
49455
50229
  # A rollout policy configuration.
49456
50230
  class RolloutPolicy
49457
50231
  include Google::Apis::Core::Hashable
@@ -49482,6 +50256,281 @@ module Google
49482
50256
  end
49483
50257
  end
49484
50258
 
50259
+ # Specifications of the resource to roll out.
50260
+ class RolloutRolloutEntity
50261
+ include Google::Apis::Core::Hashable
50262
+
50263
+ # This message is used if the resource type follows the Orchestrated
50264
+ # integration model with ProgressiveRollout.
50265
+ # Corresponds to the JSON property `orchestratedEntity`
50266
+ # @return [Google::Apis::ComputeBeta::RolloutRolloutEntityOrchestratedEntity]
50267
+ attr_accessor :orchestrated_entity
50268
+
50269
+ def initialize(**args)
50270
+ update!(**args)
50271
+ end
50272
+
50273
+ # Update properties of this object
50274
+ def update!(**args)
50275
+ @orchestrated_entity = args[:orchestrated_entity] if args.key?(:orchestrated_entity)
50276
+ end
50277
+ end
50278
+
50279
+ # This message is used if the resource type follows the Orchestrated
50280
+ # integration model with ProgressiveRollout.
50281
+ class RolloutRolloutEntityOrchestratedEntity
50282
+ include Google::Apis::Core::Hashable
50283
+
50284
+ # Required. Specifies the behavior of the Rollout if an out of band update is
50285
+ # detected in a project during a Rollout. It can be one of the following
50286
+ # values:
50287
+ # 1) overwrite : Overwrite the local value with the rollout value.
50288
+ # 2) no_overwrite : Do not overwrite the local value with the rollout
50289
+ # value.
50290
+ # Corresponds to the JSON property `conflictBehavior`
50291
+ # @return [String]
50292
+ attr_accessor :conflict_behavior
50293
+
50294
+ # Required. Orchestration action during the Rollout. It can be one of the
50295
+ # following
50296
+ # values:
50297
+ # 1) "update": Resources will be updated by the rollout.
50298
+ # 2) "delete": Resources will be deleted by the rollout.
50299
+ # Corresponds to the JSON property `orchestrationAction`
50300
+ # @return [String]
50301
+ attr_accessor :orchestration_action
50302
+
50303
+ # Required. Fully qualified resource name of the resource which contains the
50304
+ # source
50305
+ # of truth of the configuration being rolled out across
50306
+ # locations/projects. For example, in the case of a global Rollout which
50307
+ # is applied across regions, this contains the name of the global
50308
+ # resource created by the user which contains a payload for a resource
50309
+ # that is orchestrated across regions. This follows the following format:
50310
+ # //.googleapis.com/projects//locations/global//
50311
+ # e.g.
50312
+ # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
50313
+ # Corresponds to the JSON property `orchestrationSource`
50314
+ # @return [String]
50315
+ attr_accessor :orchestration_source
50316
+
50317
+ def initialize(**args)
50318
+ update!(**args)
50319
+ end
50320
+
50321
+ # Update properties of this object
50322
+ def update!(**args)
50323
+ @conflict_behavior = args[:conflict_behavior] if args.key?(:conflict_behavior)
50324
+ @orchestration_action = args[:orchestration_action] if args.key?(:orchestration_action)
50325
+ @orchestration_source = args[:orchestration_source] if args.key?(:orchestration_source)
50326
+ end
50327
+ end
50328
+
50329
+ # Additional metadata about the status of each wave provided by the server.
50330
+ class RolloutWaveDetails
50331
+ include Google::Apis::Core::Hashable
50332
+
50333
+ # Details of the wave for products using the Orchestrated integration
50334
+ # model.
50335
+ # Corresponds to the JSON property `orchestratedWaveDetails`
50336
+ # @return [Google::Apis::ComputeBeta::RolloutWaveDetailsOrchestratedWaveDetails]
50337
+ attr_accessor :orchestrated_wave_details
50338
+
50339
+ # Output only. Wave name.
50340
+ # Ex. wave1
50341
+ # Corresponds to the JSON property `waveDisplayName`
50342
+ # @return [String]
50343
+ attr_accessor :wave_display_name
50344
+
50345
+ # Output only. System generated number for the wave.
50346
+ # Corresponds to the JSON property `waveNumber`
50347
+ # @return [Fixnum]
50348
+ attr_accessor :wave_number
50349
+
50350
+ def initialize(**args)
50351
+ update!(**args)
50352
+ end
50353
+
50354
+ # Update properties of this object
50355
+ def update!(**args)
50356
+ @orchestrated_wave_details = args[:orchestrated_wave_details] if args.key?(:orchestrated_wave_details)
50357
+ @wave_display_name = args[:wave_display_name] if args.key?(:wave_display_name)
50358
+ @wave_number = args[:wave_number] if args.key?(:wave_number)
50359
+ end
50360
+ end
50361
+
50362
+ # Details of the wave for products using the Orchestrated integration
50363
+ # model.
50364
+ class RolloutWaveDetailsOrchestratedWaveDetails
50365
+ include Google::Apis::Core::Hashable
50366
+
50367
+ # Output only. Resource completed so far.
50368
+ # Corresponds to the JSON property `completedResourcesCount`
50369
+ # @return [Fixnum]
50370
+ attr_accessor :completed_resources_count
50371
+
50372
+ # Output only. Estimated total count of resources.
50373
+ # Corresponds to the JSON property `estimatedTotalResourcesCount`
50374
+ # @return [Fixnum]
50375
+ attr_accessor :estimated_total_resources_count
50376
+
50377
+ # Output only. Locations that failed during orchestration, and
50378
+ # ProgressiveRollout
50379
+ # stopped retrying. There may be some successful resources rolled out in
50380
+ # the wave as the location may have failed later in the Rollout.
50381
+ # Corresponds to the JSON property `failedLocations`
50382
+ # @return [Array<String>]
50383
+ attr_accessor :failed_locations
50384
+
50385
+ # Output only. Resources failed.
50386
+ # Corresponds to the JSON property `failedResourcesCount`
50387
+ # @return [Fixnum]
50388
+ attr_accessor :failed_resources_count
50389
+
50390
+ def initialize(**args)
50391
+ update!(**args)
50392
+ end
50393
+
50394
+ # Update properties of this object
50395
+ def update!(**args)
50396
+ @completed_resources_count = args[:completed_resources_count] if args.key?(:completed_resources_count)
50397
+ @estimated_total_resources_count = args[:estimated_total_resources_count] if args.key?(:estimated_total_resources_count)
50398
+ @failed_locations = args[:failed_locations] if args.key?(:failed_locations)
50399
+ @failed_resources_count = args[:failed_resources_count] if args.key?(:failed_resources_count)
50400
+ end
50401
+ end
50402
+
50403
+ #
50404
+ class RolloutsListResponse
50405
+ include Google::Apis::Core::Hashable
50406
+
50407
+ #
50408
+ # Corresponds to the JSON property `etag`
50409
+ # @return [String]
50410
+ attr_accessor :etag
50411
+
50412
+ # [Output Only] Unique identifier for the resource; defined by the server.
50413
+ # Corresponds to the JSON property `id`
50414
+ # @return [String]
50415
+ attr_accessor :id
50416
+
50417
+ # A list of Rollout resources.
50418
+ # Corresponds to the JSON property `items`
50419
+ # @return [Array<Google::Apis::ComputeBeta::Rollout>]
50420
+ attr_accessor :items
50421
+
50422
+ # [Output Only] This token allows you to get the next page of results for
50423
+ # list requests. If the number of results is larger thanmaxResults, use the
50424
+ # nextPageToken as a value for
50425
+ # the query parameter pageToken in the next list request.
50426
+ # Subsequent list requests will have their own nextPageToken to
50427
+ # continue paging through the results.
50428
+ # Corresponds to the JSON property `nextPageToken`
50429
+ # @return [String]
50430
+ attr_accessor :next_page_token
50431
+
50432
+ # [Output Only] Server-defined URL for this resource.
50433
+ # Corresponds to the JSON property `selfLink`
50434
+ # @return [String]
50435
+ attr_accessor :self_link
50436
+
50437
+ # [Output Only] Unreachable resources.
50438
+ # end_interface: MixerListResponseWithEtagBuilder
50439
+ # Corresponds to the JSON property `unreachables`
50440
+ # @return [Array<String>]
50441
+ attr_accessor :unreachables
50442
+
50443
+ # [Output Only] Informational warning message.
50444
+ # Corresponds to the JSON property `warning`
50445
+ # @return [Google::Apis::ComputeBeta::RolloutsListResponse::Warning]
50446
+ attr_accessor :warning
50447
+
50448
+ def initialize(**args)
50449
+ update!(**args)
50450
+ end
50451
+
50452
+ # Update properties of this object
50453
+ def update!(**args)
50454
+ @etag = args[:etag] if args.key?(:etag)
50455
+ @id = args[:id] if args.key?(:id)
50456
+ @items = args[:items] if args.key?(:items)
50457
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
50458
+ @self_link = args[:self_link] if args.key?(:self_link)
50459
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
50460
+ @warning = args[:warning] if args.key?(:warning)
50461
+ end
50462
+
50463
+ # [Output Only] Informational warning message.
50464
+ class Warning
50465
+ include Google::Apis::Core::Hashable
50466
+
50467
+ # [Output Only] A warning code, if applicable. For example, Compute
50468
+ # Engine returns NO_RESULTS_ON_PAGE if there
50469
+ # are no results in the response.
50470
+ # Corresponds to the JSON property `code`
50471
+ # @return [String]
50472
+ attr_accessor :code
50473
+
50474
+ # [Output Only] Metadata about this warning in key:
50475
+ # value format. For example:
50476
+ # "data": [
50477
+ # `
50478
+ # "key": "scope",
50479
+ # "value": "zones/us-east1-d"
50480
+ # `
50481
+ # Corresponds to the JSON property `data`
50482
+ # @return [Array<Google::Apis::ComputeBeta::RolloutsListResponse::Warning::Datum>]
50483
+ attr_accessor :data
50484
+
50485
+ # [Output Only] A human-readable description of the warning code.
50486
+ # Corresponds to the JSON property `message`
50487
+ # @return [String]
50488
+ attr_accessor :message
50489
+
50490
+ def initialize(**args)
50491
+ update!(**args)
50492
+ end
50493
+
50494
+ # Update properties of this object
50495
+ def update!(**args)
50496
+ @code = args[:code] if args.key?(:code)
50497
+ @data = args[:data] if args.key?(:data)
50498
+ @message = args[:message] if args.key?(:message)
50499
+ end
50500
+
50501
+ #
50502
+ class Datum
50503
+ include Google::Apis::Core::Hashable
50504
+
50505
+ # [Output Only] A key that provides more detail on the warning being
50506
+ # returned. For example, for warnings where there are no results in a list
50507
+ # request for a particular zone, this key might be scope and
50508
+ # the key value might be the zone name. Other examples might be a key
50509
+ # indicating a deprecated resource and a suggested replacement, or a
50510
+ # warning about invalid network settings (for example, if an instance
50511
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
50512
+ # Corresponds to the JSON property `key`
50513
+ # @return [String]
50514
+ attr_accessor :key
50515
+
50516
+ # [Output Only] A warning data value corresponding to the key.
50517
+ # Corresponds to the JSON property `value`
50518
+ # @return [String]
50519
+ attr_accessor :value
50520
+
50521
+ def initialize(**args)
50522
+ update!(**args)
50523
+ end
50524
+
50525
+ # Update properties of this object
50526
+ def update!(**args)
50527
+ @key = args[:key] if args.key?(:key)
50528
+ @value = args[:value] if args.key?(:value)
50529
+ end
50530
+ end
50531
+ end
50532
+ end
50533
+
49485
50534
  # Represents a Route resource.
49486
50535
  # A route defines a path from VM instances in the VPC network to a specific
49487
50536
  # destination. This destination can be inside or outside the VPC network.