google-apis-compute_alpha 0.124.0 → 0.126.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.
@@ -4154,7 +4154,7 @@ module Google
4154
4154
  include Google::Apis::Core::Hashable
4155
4155
 
4156
4156
  # The HTTP status code to define a TTL against. Only HTTP status codes
4157
- # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be
4157
+ # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be
4158
4158
  # specified as values, and you cannot specify a status code more than
4159
4159
  # once.
4160
4160
  # Corresponds to the JSON property `code`
@@ -4596,8 +4596,8 @@ module Google
4596
4596
  attr_accessor :max_utilization
4597
4597
 
4598
4598
  # Name of a custom utilization signal. The name must be 1-64 characters
4599
- # long and match the regular expression[a-z]([-_.a-z0-9]*[a-z0-9])? which means
4600
- # that the
4599
+ # long and match the regular expression
4600
+ # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the
4601
4601
  # first character must be a lowercase letter, and all following
4602
4602
  # characters must be a dash, period, underscore, lowercase letter, or
4603
4603
  # digit, except the last character, which cannot be a dash, period, or
@@ -5566,7 +5566,7 @@ module Google
5566
5566
  include Google::Apis::Core::Hashable
5567
5567
 
5568
5568
  # The HTTP status code to define a TTL against. Only HTTP status codes
5569
- # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be
5569
+ # 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 can be
5570
5570
  # specified as values, and you cannot specify a status code more than
5571
5571
  # once.
5572
5572
  # Corresponds to the JSON property `code`
@@ -5688,8 +5688,8 @@ module Google
5688
5688
  alias_method :dry_run?, :dry_run
5689
5689
 
5690
5690
  # Name of a custom utilization signal. The name must be 1-64 characters
5691
- # long and match the regular expression[a-z]([-_.a-z0-9]*[a-z0-9])? which means
5692
- # that the
5691
+ # long and match the regular expression
5692
+ # `[a-z]([-_.a-z0-9]*[a-z0-9])?` which means that the
5693
5693
  # first character must be a lowercase letter, and all following
5694
5694
  # characters must be a dash, period, underscore, lowercase letter, or
5695
5695
  # digit, except the last character, which cannot be a dash, period, or
@@ -6663,32 +6663,31 @@ module Google
6663
6663
  # @return [String]
6664
6664
  attr_accessor :authentication_config
6665
6665
 
6666
- # Assigns the Managed Identity for the RegionBackendService Workload.
6666
+ # Assigns the Managed Identity for the BackendService Workload.
6667
6667
  # Use this property to configure the load balancer back-end to use
6668
6668
  # certificates and roots of trust provisioned by the Managed Workload
6669
6669
  # Identity system.
6670
- # The `managedIdentity` property is the
6670
+ # The `identity` property is the
6671
6671
  # fully-specified SPIFFE ID to use in the SVID presented by the Load
6672
6672
  # Balancer Workload.
6673
6673
  # The SPIFFE ID must be a resource starting with the
6674
- # "spiffe" scheme identifier, followed by the "trustDomain" property value,
6675
- # followed by the path to the Managed Workload Identity.
6676
- # Supported
6677
- # SPIFFE ID format:
6674
+ # `trustDomain` property value, followed by the path to the Managed
6675
+ # Workload Identity.
6676
+ # Supported SPIFFE ID format:
6678
6677
  #
6679
- # - spiffe://<trust_domain>/ns/<namespace>/sa/<subject>
6678
+ # - //<trust_domain>/ns/<namespace>/sa/<subject>
6680
6679
  # The Trust Domain within the Managed Identity must refer to a valid
6681
6680
  # Workload Identity Pool. The TrustConfig and CertificateIssuanceConfig
6682
6681
  # will be inherited from the Workload Identity Pool.
6683
6682
  # Restrictions:
6684
6683
  #
6685
- # - If you set the `managedIdentity` property, you cannot manually set
6684
+ # - If you set the `identity` property, you cannot manually set
6686
6685
  # the following fields:
6687
6686
  # - tlsSettings.sni
6688
6687
  # - tlsSettings.subjectAltNames
6689
6688
  # - tlsSettings.authenticationConfig
6690
6689
  #
6691
- # When defining a `managedIdentity` for a RegionBackendServices, the
6690
+ # When defining a `identity` for a RegionBackendServices, the
6692
6691
  # corresponding Workload Identity Pool must have a ca_pool
6693
6692
  # configured in the same region.
6694
6693
  # The system will set up a read-onlytlsSettings.authenticationConfig for the
@@ -8126,7 +8125,8 @@ module Google
8126
8125
  # @return [Float]
8127
8126
  attr_accessor :obtainability
8128
8127
 
8129
- # The uptime score indicates the availability of your Spot VMs. For more
8128
+ # The uptime score indicates the likelihood that your Spot VMs will
8129
+ # continue to run without preemption within the next few hours. For more
8130
8130
  # information about the preemption process, see Preemption
8131
8131
  # of Spot VMs.
8132
8132
  # The score range is 0.0 through 1.0. Higher is better.
@@ -14118,6 +14118,16 @@ module Google
14118
14118
  # @return [Array<String>]
14119
14119
  attr_accessor :dest_ip_ranges
14120
14120
 
14121
+ # Network context of the traffic destination. Allowed values are:
14122
+ #
14123
+ #
14124
+ # - UNSPECIFIED
14125
+ # - INTERNET
14126
+ # - NON_INTERNET
14127
+ # Corresponds to the JSON property `destNetworkContext`
14128
+ # @return [String]
14129
+ attr_accessor :dest_network_context
14130
+
14121
14131
  # Network scope of the traffic destination.
14122
14132
  # Corresponds to the JSON property `destNetworkScope`
14123
14133
  # @return [String]
@@ -14171,6 +14181,18 @@ module Google
14171
14181
  # @return [Array<String>]
14172
14182
  attr_accessor :src_ip_ranges
14173
14183
 
14184
+ # Network context of the traffic source. Allowed values are:
14185
+ #
14186
+ #
14187
+ # - UNSPECIFIED
14188
+ # - INTERNET
14189
+ # - INTRA_VPC
14190
+ # - NON_INTERNET
14191
+ # - VPC_NETWORKS
14192
+ # Corresponds to the JSON property `srcNetworkContext`
14193
+ # @return [String]
14194
+ attr_accessor :src_network_context
14195
+
14174
14196
  # Network scope of the traffic source.
14175
14197
  # Corresponds to the JSON property `srcNetworkScope`
14176
14198
  # @return [String]
@@ -14225,6 +14247,7 @@ module Google
14225
14247
  @dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
14226
14248
  @dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
14227
14249
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
14250
+ @dest_network_context = args[:dest_network_context] if args.key?(:dest_network_context)
14228
14251
  @dest_network_scope = args[:dest_network_scope] if args.key?(:dest_network_scope)
14229
14252
  @dest_network_type = args[:dest_network_type] if args.key?(:dest_network_type)
14230
14253
  @dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
@@ -14233,6 +14256,7 @@ module Google
14233
14256
  @src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
14234
14257
  @src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
14235
14258
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
14259
+ @src_network_context = args[:src_network_context] if args.key?(:src_network_context)
14236
14260
  @src_network_scope = args[:src_network_scope] if args.key?(:src_network_scope)
14237
14261
  @src_network_type = args[:src_network_type] if args.key?(:src_network_type)
14238
14262
  @src_networks = args[:src_networks] if args.key?(:src_networks)
@@ -18715,11 +18739,155 @@ module Google
18715
18739
  end
18716
18740
  end
18717
18741
 
18742
+ #
18743
+ class HaControllersAggregatedList
18744
+ include Google::Apis::Core::Hashable
18745
+
18746
+ #
18747
+ # Corresponds to the JSON property `etag`
18748
+ # @return [String]
18749
+ attr_accessor :etag
18750
+
18751
+ # [Output Only] Unique identifier for the resource; defined by the server.
18752
+ # Corresponds to the JSON property `id`
18753
+ # @return [String]
18754
+ attr_accessor :id
18755
+
18756
+ # A list of HaControllersScopedList resources.
18757
+ # Corresponds to the JSON property `items`
18758
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HaControllersScopedList>]
18759
+ attr_accessor :items
18760
+
18761
+ # [Output Only] Type of resource. Alwayscompute#haControllersAggregatedList for
18762
+ # lists of
18763
+ # HaControllers.
18764
+ # Corresponds to the JSON property `kind`
18765
+ # @return [String]
18766
+ attr_accessor :kind
18767
+
18768
+ # [Output Only] This token allows you to get the next page of results for
18769
+ # list requests. If the number of results is larger thanmaxResults, use the
18770
+ # nextPageToken as a value for
18771
+ # the query parameter pageToken in the next list request.
18772
+ # Subsequent list requests will have their own nextPageToken to
18773
+ # continue paging through the results.
18774
+ # Corresponds to the JSON property `nextPageToken`
18775
+ # @return [String]
18776
+ attr_accessor :next_page_token
18777
+
18778
+ # [Output Only] Server-defined URL for this resource.
18779
+ # Corresponds to the JSON property `selfLink`
18780
+ # @return [String]
18781
+ attr_accessor :self_link
18782
+
18783
+ # [Output Only] Unreachable resources.
18784
+ # Corresponds to the JSON property `unreachables`
18785
+ # @return [Array<String>]
18786
+ attr_accessor :unreachables
18787
+
18788
+ # [Output Only] Informational warning message.
18789
+ # Corresponds to the JSON property `warning`
18790
+ # @return [Google::Apis::ComputeAlpha::HaControllersAggregatedList::Warning]
18791
+ attr_accessor :warning
18792
+
18793
+ def initialize(**args)
18794
+ update!(**args)
18795
+ end
18796
+
18797
+ # Update properties of this object
18798
+ def update!(**args)
18799
+ @etag = args[:etag] if args.key?(:etag)
18800
+ @id = args[:id] if args.key?(:id)
18801
+ @items = args[:items] if args.key?(:items)
18802
+ @kind = args[:kind] if args.key?(:kind)
18803
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
18804
+ @self_link = args[:self_link] if args.key?(:self_link)
18805
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
18806
+ @warning = args[:warning] if args.key?(:warning)
18807
+ end
18808
+
18809
+ # [Output Only] Informational warning message.
18810
+ class Warning
18811
+ include Google::Apis::Core::Hashable
18812
+
18813
+ # [Output Only] A warning code, if applicable. For example, Compute
18814
+ # Engine returns NO_RESULTS_ON_PAGE if there
18815
+ # are no results in the response.
18816
+ # Corresponds to the JSON property `code`
18817
+ # @return [String]
18818
+ attr_accessor :code
18819
+
18820
+ # [Output Only] Metadata about this warning in key:
18821
+ # value format. For example:
18822
+ # "data": [
18823
+ # `
18824
+ # "key": "scope",
18825
+ # "value": "zones/us-east1-d"
18826
+ # `
18827
+ # Corresponds to the JSON property `data`
18828
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllersAggregatedList::Warning::Datum>]
18829
+ attr_accessor :data
18830
+
18831
+ # [Output Only] A human-readable description of the warning code.
18832
+ # Corresponds to the JSON property `message`
18833
+ # @return [String]
18834
+ attr_accessor :message
18835
+
18836
+ def initialize(**args)
18837
+ update!(**args)
18838
+ end
18839
+
18840
+ # Update properties of this object
18841
+ def update!(**args)
18842
+ @code = args[:code] if args.key?(:code)
18843
+ @data = args[:data] if args.key?(:data)
18844
+ @message = args[:message] if args.key?(:message)
18845
+ end
18846
+
18847
+ #
18848
+ class Datum
18849
+ include Google::Apis::Core::Hashable
18850
+
18851
+ # [Output Only] A key that provides more detail on the warning being
18852
+ # returned. For example, for warnings where there are no results in a list
18853
+ # request for a particular zone, this key might be scope and
18854
+ # the key value might be the zone name. Other examples might be a key
18855
+ # indicating a deprecated resource and a suggested replacement, or a
18856
+ # warning about invalid network settings (for example, if an instance
18857
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
18858
+ # Corresponds to the JSON property `key`
18859
+ # @return [String]
18860
+ attr_accessor :key
18861
+
18862
+ # [Output Only] A warning data value corresponding to the key.
18863
+ # Corresponds to the JSON property `value`
18864
+ # @return [String]
18865
+ attr_accessor :value
18866
+
18867
+ def initialize(**args)
18868
+ update!(**args)
18869
+ end
18870
+
18871
+ # Update properties of this object
18872
+ def update!(**args)
18873
+ @key = args[:key] if args.key?(:key)
18874
+ @value = args[:value] if args.key?(:value)
18875
+ end
18876
+ end
18877
+ end
18878
+ end
18879
+
18718
18880
  #
18719
18881
  class HaControllersFailoverRequest
18720
18882
  include Google::Apis::Core::Hashable
18721
18883
 
18722
18884
  # Name of the destination zone for the failover.
18885
+ # Corresponds to the JSON property `failoverToZone`
18886
+ # @return [String]
18887
+ attr_accessor :failover_to_zone
18888
+
18889
+ # Name of the destination zone for the failover.
18890
+ # Deprecated: use failover_to_zone instead.
18723
18891
  # Corresponds to the JSON property `primaryZone`
18724
18892
  # @return [String]
18725
18893
  attr_accessor :primary_zone
@@ -18730,6 +18898,7 @@ module Google
18730
18898
 
18731
18899
  # Update properties of this object
18732
18900
  def update!(**args)
18901
+ @failover_to_zone = args[:failover_to_zone] if args.key?(:failover_to_zone)
18733
18902
  @primary_zone = args[:primary_zone] if args.key?(:primary_zone)
18734
18903
  end
18735
18904
  end
@@ -18863,6 +19032,103 @@ module Google
18863
19032
  end
18864
19033
  end
18865
19034
 
19035
+ #
19036
+ class HaControllersScopedList
19037
+ include Google::Apis::Core::Hashable
19038
+
19039
+ # List of HaControllers contained in this scope.
19040
+ # Corresponds to the JSON property `haControllers`
19041
+ # @return [Array<Google::Apis::ComputeAlpha::HaController>]
19042
+ attr_accessor :ha_controllers
19043
+
19044
+ # Informational warning which replaces the list of
19045
+ # backend services when the list is empty.
19046
+ # Corresponds to the JSON property `warning`
19047
+ # @return [Google::Apis::ComputeAlpha::HaControllersScopedList::Warning]
19048
+ attr_accessor :warning
19049
+
19050
+ def initialize(**args)
19051
+ update!(**args)
19052
+ end
19053
+
19054
+ # Update properties of this object
19055
+ def update!(**args)
19056
+ @ha_controllers = args[:ha_controllers] if args.key?(:ha_controllers)
19057
+ @warning = args[:warning] if args.key?(:warning)
19058
+ end
19059
+
19060
+ # Informational warning which replaces the list of
19061
+ # backend services when the list is empty.
19062
+ class Warning
19063
+ include Google::Apis::Core::Hashable
19064
+
19065
+ # [Output Only] A warning code, if applicable. For example, Compute
19066
+ # Engine returns NO_RESULTS_ON_PAGE if there
19067
+ # are no results in the response.
19068
+ # Corresponds to the JSON property `code`
19069
+ # @return [String]
19070
+ attr_accessor :code
19071
+
19072
+ # [Output Only] Metadata about this warning in key:
19073
+ # value format. For example:
19074
+ # "data": [
19075
+ # `
19076
+ # "key": "scope",
19077
+ # "value": "zones/us-east1-d"
19078
+ # `
19079
+ # Corresponds to the JSON property `data`
19080
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllersScopedList::Warning::Datum>]
19081
+ attr_accessor :data
19082
+
19083
+ # [Output Only] A human-readable description of the warning code.
19084
+ # Corresponds to the JSON property `message`
19085
+ # @return [String]
19086
+ attr_accessor :message
19087
+
19088
+ def initialize(**args)
19089
+ update!(**args)
19090
+ end
19091
+
19092
+ # Update properties of this object
19093
+ def update!(**args)
19094
+ @code = args[:code] if args.key?(:code)
19095
+ @data = args[:data] if args.key?(:data)
19096
+ @message = args[:message] if args.key?(:message)
19097
+ end
19098
+
19099
+ #
19100
+ class Datum
19101
+ include Google::Apis::Core::Hashable
19102
+
19103
+ # [Output Only] A key that provides more detail on the warning being
19104
+ # returned. For example, for warnings where there are no results in a list
19105
+ # request for a particular zone, this key might be scope and
19106
+ # the key value might be the zone name. Other examples might be a key
19107
+ # indicating a deprecated resource and a suggested replacement, or a
19108
+ # warning about invalid network settings (for example, if an instance
19109
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
19110
+ # Corresponds to the JSON property `key`
19111
+ # @return [String]
19112
+ attr_accessor :key
19113
+
19114
+ # [Output Only] A warning data value corresponding to the key.
19115
+ # Corresponds to the JSON property `value`
19116
+ # @return [String]
19117
+ attr_accessor :value
19118
+
19119
+ def initialize(**args)
19120
+ update!(**args)
19121
+ end
19122
+
19123
+ # Update properties of this object
19124
+ def update!(**args)
19125
+ @key = args[:key] if args.key?(:key)
19126
+ @value = args[:value] if args.key?(:value)
19127
+ end
19128
+ end
19129
+ end
19130
+ end
19131
+
18866
19132
  #
18867
19133
  class HealthAggregationPoliciesScopedList
18868
19134
  include Google::Apis::Core::Hashable
@@ -21446,7 +21712,7 @@ module Google
21446
21712
  # Only one of exactMatch, prefixMatch,suffixMatch, regexMatch,presentMatch or
21447
21713
  # rangeMatch must be set.
21448
21714
  # Regular expressions can only be used when the loadBalancingScheme is
21449
- # set to INTERNAL_SELF_MANAGED.
21715
+ # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.
21450
21716
  # Corresponds to the JSON property `regexMatch`
21451
21717
  # @return [String]
21452
21718
  attr_accessor :regex_match
@@ -21790,7 +22056,7 @@ module Google
21790
22056
  # more information about regular expression syntax, see Syntax.
21791
22057
  # Only one of presentMatch, exactMatch, orregexMatch must be set.
21792
22058
  # Regular expressions can only be used when the loadBalancingScheme is
21793
- # set to INTERNAL_SELF_MANAGED.
22059
+ # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.
21794
22060
  # Corresponds to the JSON property `regexMatch`
21795
22061
  # @return [String]
21796
22062
  attr_accessor :regex_match
@@ -22182,7 +22448,8 @@ module Google
22182
22448
  # any query parameters and anchor
22183
22449
  # that may be part of the original URL.
22184
22450
  # fullPathMatch must be from 1 to 1024 characters.
22185
- # Only one of prefixMatch, fullPathMatch or regexMatch must be
22451
+ # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must
22452
+ # be
22186
22453
  # specified.
22187
22454
  # Corresponds to the JSON property `fullPathMatch`
22188
22455
  # @return [String]
@@ -22246,7 +22513,9 @@ module Google
22246
22513
  # For satisfying the matchRule condition, the request's
22247
22514
  # path must begin with the specified prefixMatch.prefixMatch must begin with a /.
22248
22515
  # The value must be from 1 to 1024 characters.
22249
- # Only one of prefixMatch, fullPathMatch or regexMatch must be
22516
+ # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must
22517
+ # be
22518
+ # specified.
22250
22519
  # specified.
22251
22520
  # Corresponds to the JSON property `prefixMatch`
22252
22521
  # @return [String]
@@ -22264,10 +22533,11 @@ module Google
22264
22533
  # removing any query parameters and anchor
22265
22534
  # supplied with the original URL. For
22266
22535
  # more information about regular expression syntax, see Syntax.
22267
- # Only one of prefixMatch, fullPathMatch orregexMatch must be
22536
+ # Only one of prefixMatch, fullPathMatch,regexMatch or path_template_match must
22537
+ # be
22268
22538
  # specified.
22269
22539
  # Regular expressions can only be used when the loadBalancingScheme is
22270
- # set to INTERNAL_SELF_MANAGED.
22540
+ # set to INTERNAL_SELF_MANAGED, EXTERNAL_MANAGED orINTERNAL_MANAGED.
22271
22541
  # Corresponds to the JSON property `regexMatch`
22272
22542
  # @return [String]
22273
22543
  attr_accessor :regex_match
@@ -23554,6 +23824,11 @@ module Google
23554
23824
  # @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
23555
23825
  attr_accessor :upcoming_maintenance
23556
23826
 
23827
+ #
23828
+ # Corresponds to the JSON property `workloadIdentityConfig`
23829
+ # @return [Google::Apis::ComputeAlpha::WorkloadIdentityConfig]
23830
+ attr_accessor :workload_identity_config
23831
+
23557
23832
  # [Output Only] URL of the zone where the instance resides.
23558
23833
  # You must specify this field as part of the HTTP request URL. It is
23559
23834
  # not settable as a field in the request body.
@@ -23624,6 +23899,7 @@ module Google
23624
23899
  @status_message = args[:status_message] if args.key?(:status_message)
23625
23900
  @tags = args[:tags] if args.key?(:tags)
23626
23901
  @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
23902
+ @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config)
23627
23903
  @zone = args[:zone] if args.key?(:zone)
23628
23904
  end
23629
23905
  end
@@ -25003,11 +25279,23 @@ module Google
25003
25279
  class InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection
25004
25280
  include Google::Apis::Core::Hashable
25005
25281
 
25282
+ # List of disks to be attached to the instances created from this
25283
+ # selection.
25284
+ # Corresponds to the JSON property `disks`
25285
+ # @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
25286
+ attr_accessor :disks
25287
+
25006
25288
  # Full machine-type names, e.g. "n1-standard-16".
25007
25289
  # Corresponds to the JSON property `machineTypes`
25008
25290
  # @return [Array<String>]
25009
25291
  attr_accessor :machine_types
25010
25292
 
25293
+ # Name of the minimum CPU platform to be used by this instance selection.
25294
+ # e.g. 'Intel Ice Lake'.
25295
+ # Corresponds to the JSON property `minCpuPlatform`
25296
+ # @return [String]
25297
+ attr_accessor :min_cpu_platform
25298
+
25011
25299
  # Preference of this instance selection. Lower number means higher
25012
25300
  # preference. MIG will first try to create a VM based on the machine-type
25013
25301
  # with lowest rank and fallback to next rank based on availability.
@@ -25023,7 +25311,9 @@ module Google
25023
25311
 
25024
25312
  # Update properties of this object
25025
25313
  def update!(**args)
25314
+ @disks = args[:disks] if args.key?(:disks)
25026
25315
  @machine_types = args[:machine_types] if args.key?(:machine_types)
25316
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
25027
25317
  @rank = args[:rank] if args.key?(:rank)
25028
25318
  end
25029
25319
  end
@@ -25165,6 +25455,12 @@ module Google
25165
25455
  include Google::Apis::Core::Hashable
25166
25456
 
25167
25457
  # Specifies whether the MIG can change a VM's zone during a repair.
25458
+ # Valid values are:
25459
+ #
25460
+ # - NO (default): MIG cannot change a VM's zone during a
25461
+ # repair.
25462
+ # - YES: MIG can select a different zone for the VM during
25463
+ # a repair.
25168
25464
  # Corresponds to the JSON property `allowChangingZone`
25169
25465
  # @return [String]
25170
25466
  attr_accessor :allow_changing_zone
@@ -28142,6 +28438,11 @@ module Google
28142
28438
  # @return [Google::Apis::ComputeAlpha::Tags]
28143
28439
  attr_accessor :tags
28144
28440
 
28441
+ #
28442
+ # Corresponds to the JSON property `workloadIdentityConfig`
28443
+ # @return [Google::Apis::ComputeAlpha::WorkloadIdentityConfig]
28444
+ attr_accessor :workload_identity_config
28445
+
28145
28446
  def initialize(**args)
28146
28447
  update!(**args)
28147
28448
  end
@@ -28177,6 +28478,7 @@ module Google
28177
28478
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
28178
28479
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
28179
28480
  @tags = args[:tags] if args.key?(:tags)
28481
+ @workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config)
28180
28482
  end
28181
28483
  end
28182
28484
 
@@ -31027,6 +31329,7 @@ module Google
31027
31329
  # customer.
31028
31330
  # - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by
31029
31331
  # the partner.
31332
+ # - L2_DEDICATED: a L2 attachment to a Dedicated Interconnect.
31030
31333
  # Corresponds to the JSON property `type`
31031
31334
  # @return [String]
31032
31335
  attr_accessor :type
@@ -33071,7 +33374,7 @@ module Google
33071
33374
  # If provided when patching a configuration in update mode, the provided
33072
33375
  # token must match the current token or the update is rejected. This provides
33073
33376
  # a reliable means of doing read-modify-write (optimistic locking) as
33074
- # described byAPI 154.
33377
+ # described by AIP 154.
33075
33378
  # Corresponds to the JSON property `etag`
33076
33379
  # @return [String]
33077
33380
  attr_accessor :etag
@@ -37509,11 +37812,22 @@ module Google
37509
37812
  class ManagedInstanceInstanceFlexibilityOverride
37510
37813
  include Google::Apis::Core::Hashable
37511
37814
 
37815
+ # List of disks to be attached to the instance.
37816
+ # Corresponds to the JSON property `disks`
37817
+ # @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
37818
+ attr_accessor :disks
37819
+
37512
37820
  # The machine type to be used for this instance.
37513
37821
  # Corresponds to the JSON property `machineType`
37514
37822
  # @return [String]
37515
37823
  attr_accessor :machine_type
37516
37824
 
37825
+ # Name of the minimum CPU platform to be used by this instance.
37826
+ # e.g. 'Intel Ice Lake'.
37827
+ # Corresponds to the JSON property `minCpuPlatform`
37828
+ # @return [String]
37829
+ attr_accessor :min_cpu_platform
37830
+
37517
37831
  # The provisioning model to be used for this instance.
37518
37832
  # Corresponds to the JSON property `provisioningModel`
37519
37833
  # @return [String]
@@ -37525,7 +37839,9 @@ module Google
37525
37839
 
37526
37840
  # Update properties of this object
37527
37841
  def update!(**args)
37842
+ @disks = args[:disks] if args.key?(:disks)
37528
37843
  @machine_type = args[:machine_type] if args.key?(:machine_type)
37844
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
37529
37845
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
37530
37846
  end
37531
37847
  end
@@ -37711,11 +38027,22 @@ module Google
37711
38027
  class ManagedInstancePropertiesFromFlexibilityPolicy
37712
38028
  include Google::Apis::Core::Hashable
37713
38029
 
38030
+ # List of disks to be attached to the instance.
38031
+ # Corresponds to the JSON property `disks`
38032
+ # @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
38033
+ attr_accessor :disks
38034
+
37714
38035
  # The machine type to be used for this instance.
37715
38036
  # Corresponds to the JSON property `machineType`
37716
38037
  # @return [String]
37717
38038
  attr_accessor :machine_type
37718
38039
 
38040
+ # Name of the minimum CPU platform to be used by this instance.
38041
+ # e.g. 'Intel Ice Lake'.
38042
+ # Corresponds to the JSON property `minCpuPlatform`
38043
+ # @return [String]
38044
+ attr_accessor :min_cpu_platform
38045
+
37719
38046
  # The provisioning model to be used for this instance.
37720
38047
  # Corresponds to the JSON property `provisioningModel`
37721
38048
  # @return [String]
@@ -37727,7 +38054,9 @@ module Google
37727
38054
 
37728
38055
  # Update properties of this object
37729
38056
  def update!(**args)
38057
+ @disks = args[:disks] if args.key?(:disks)
37730
38058
  @machine_type = args[:machine_type] if args.key?(:machine_type)
38059
+ @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
37731
38060
  @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
37732
38061
  end
37733
38062
  end
@@ -42445,16 +42774,6 @@ module Google
42445
42774
  # @return [Fixnum]
42446
42775
  attr_accessor :dscp_value
42447
42776
 
42448
- # The field type could be one of: TRAFFIC_CLASS or DSCP.
42449
- # Corresponds to the JSON property `fieldType`
42450
- # @return [String]
42451
- attr_accessor :field_type
42452
-
42453
- # For field_type = TRAFFIC_CLASS: 1 to 6. For field_type = DSCP: 0 to 63.
42454
- # Corresponds to the JSON property `fieldValue`
42455
- # @return [Fixnum]
42456
- attr_accessor :field_value
42457
-
42458
42777
  # The traffic class that should be applied to the matching packet.
42459
42778
  # Corresponds to the JSON property `trafficClass`
42460
42779
  # @return [String]
@@ -42473,8 +42792,6 @@ module Google
42473
42792
  def update!(**args)
42474
42793
  @dscp_mode = args[:dscp_mode] if args.key?(:dscp_mode)
42475
42794
  @dscp_value = args[:dscp_value] if args.key?(:dscp_value)
42476
- @field_type = args[:field_type] if args.key?(:field_type)
42477
- @field_value = args[:field_value] if args.key?(:field_value)
42478
42795
  @traffic_class = args[:traffic_class] if args.key?(:traffic_class)
42479
42796
  @type = args[:type] if args.key?(:type)
42480
42797
  end
@@ -42684,6 +43001,11 @@ module Google
42684
43001
  # @return [Array<String>]
42685
43002
  attr_accessor :address_purposes
42686
43003
 
43004
+ # Specifies whether address creation is allowed.
43005
+ # Corresponds to the JSON property `allowAddressCreation`
43006
+ # @return [String]
43007
+ attr_accessor :allow_address_creation
43008
+
42687
43009
  # Specifies whether alias IP ranges (and secondary address ranges) are
42688
43010
  # allowed.
42689
43011
  # Corresponds to the JSON property `allowAliasIpRanges`
@@ -42746,6 +43068,16 @@ module Google
42746
43068
  # @return [String]
42747
43069
  attr_accessor :allow_multi_nic_in_same_network
42748
43070
 
43071
+ # Specifies whether multi-nic in the same subnetwork is allowed.
43072
+ # Corresponds to the JSON property `allowMultiNicInSameSubnetwork`
43073
+ # @return [String]
43074
+ attr_accessor :allow_multi_nic_in_same_subnetwork
43075
+
43076
+ # Specifies whether multicast is allowed.
43077
+ # Corresponds to the JSON property `allowMulticast`
43078
+ # @return [String]
43079
+ attr_accessor :allow_multicast
43080
+
42749
43081
  # Specifies whether NCC is allowed.
42750
43082
  # Corresponds to the JSON property `allowNcc`
42751
43083
  # @return [String]
@@ -42786,6 +43118,11 @@ module Google
42786
43118
  # @return [String]
42787
43119
  attr_accessor :allow_sub_interfaces
42788
43120
 
43121
+ # Specifies whether subnetwork creation is allowed.
43122
+ # Corresponds to the JSON property `allowSubnetworkCreation`
43123
+ # @return [String]
43124
+ attr_accessor :allow_subnetwork_creation
43125
+
42789
43126
  # Specifies whether VPC firewall rules can be created under the network.
42790
43127
  # Corresponds to the JSON property `allowVpcFirewallRules`
42791
43128
  # @return [String]
@@ -42812,6 +43149,21 @@ module Google
42812
43149
  # @return [Array<String>]
42813
43150
  attr_accessor :interface_types
42814
43151
 
43152
+ # Specifies which type of multicast is supported.
43153
+ # Corresponds to the JSON property `multicast`
43154
+ # @return [String]
43155
+ attr_accessor :multicast
43156
+
43157
+ # Specifies a predefined internal IPv6 range for the network.
43158
+ # Corresponds to the JSON property `predefinedNetworkInternalIpv6Range`
43159
+ # @return [String]
43160
+ attr_accessor :predefined_network_internal_ipv6_range
43161
+
43162
+ # Predefined subnetwork ranges for the network.
43163
+ # Corresponds to the JSON property `predefinedSubnetworkRanges`
43164
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkProfileNetworkFeaturesPredefinedSubnetworkRange>]
43165
+ attr_accessor :predefined_subnetwork_ranges
43166
+
42815
43167
  # Specifies which subnetwork purposes are supported.
42816
43168
  # Corresponds to the JSON property `subnetPurposes`
42817
43169
  # @return [Array<String>]
@@ -42844,6 +43196,7 @@ module Google
42844
43196
  # Update properties of this object
42845
43197
  def update!(**args)
42846
43198
  @address_purposes = args[:address_purposes] if args.key?(:address_purposes)
43199
+ @allow_address_creation = args[:allow_address_creation] if args.key?(:allow_address_creation)
42847
43200
  @allow_alias_ip_ranges = args[:allow_alias_ip_ranges] if args.key?(:allow_alias_ip_ranges)
42848
43201
  @allow_auto_mode_subnet = args[:allow_auto_mode_subnet] if args.key?(:allow_auto_mode_subnet)
42849
43202
  @allow_class_d_firewalls = args[:allow_class_d_firewalls] if args.key?(:allow_class_d_firewalls)
@@ -42856,6 +43209,8 @@ module Google
42856
43209
  @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
42857
43210
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
42858
43211
  @allow_multi_nic_in_same_network = args[:allow_multi_nic_in_same_network] if args.key?(:allow_multi_nic_in_same_network)
43212
+ @allow_multi_nic_in_same_subnetwork = args[:allow_multi_nic_in_same_subnetwork] if args.key?(:allow_multi_nic_in_same_subnetwork)
43213
+ @allow_multicast = args[:allow_multicast] if args.key?(:allow_multicast)
42859
43214
  @allow_ncc = args[:allow_ncc] if args.key?(:allow_ncc)
42860
43215
  @allow_network_migration = args[:allow_network_migration] if args.key?(:allow_network_migration)
42861
43216
  @allow_packet_mirroring = args[:allow_packet_mirroring] if args.key?(:allow_packet_mirroring)
@@ -42864,11 +43219,15 @@ module Google
42864
43219
  @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
42865
43220
  @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
42866
43221
  @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
43222
+ @allow_subnetwork_creation = args[:allow_subnetwork_creation] if args.key?(:allow_subnetwork_creation)
42867
43223
  @allow_vpc_firewall_rules = args[:allow_vpc_firewall_rules] if args.key?(:allow_vpc_firewall_rules)
42868
43224
  @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
42869
43225
  @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
42870
43226
  @firewall_policy_types = args[:firewall_policy_types] if args.key?(:firewall_policy_types)
42871
43227
  @interface_types = args[:interface_types] if args.key?(:interface_types)
43228
+ @multicast = args[:multicast] if args.key?(:multicast)
43229
+ @predefined_network_internal_ipv6_range = args[:predefined_network_internal_ipv6_range] if args.key?(:predefined_network_internal_ipv6_range)
43230
+ @predefined_subnetwork_ranges = args[:predefined_subnetwork_ranges] if args.key?(:predefined_subnetwork_ranges)
42872
43231
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
42873
43232
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
42874
43233
  @subnetwork_purposes = args[:subnetwork_purposes] if args.key?(:subnetwork_purposes)
@@ -42877,6 +43236,31 @@ module Google
42877
43236
  end
42878
43237
  end
42879
43238
 
43239
+ #
43240
+ class NetworkProfileNetworkFeaturesPredefinedSubnetworkRange
43241
+ include Google::Apis::Core::Hashable
43242
+
43243
+ # The IPv6 range of the predefined subnetwork.
43244
+ # Corresponds to the JSON property `ipv6Range`
43245
+ # @return [String]
43246
+ attr_accessor :ipv6_range
43247
+
43248
+ # The naming prefix of the predefined subnetwork.
43249
+ # Corresponds to the JSON property `namePrefix`
43250
+ # @return [String]
43251
+ attr_accessor :name_prefix
43252
+
43253
+ def initialize(**args)
43254
+ update!(**args)
43255
+ end
43256
+
43257
+ # Update properties of this object
43258
+ def update!(**args)
43259
+ @ipv6_range = args[:ipv6_range] if args.key?(:ipv6_range)
43260
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
43261
+ end
43262
+ end
43263
+
42880
43264
  #
42881
43265
  class NetworkProfileProfileType
42882
43266
  include Google::Apis::Core::Hashable
@@ -49976,16 +50360,19 @@ module Google
49976
50360
  end
49977
50361
  end
49978
50362
 
49979
- #
50363
+ # [Output only] Result of queuing and provisioning based on deferred
50364
+ # capacity.
49980
50365
  class QueuedResourceStatus
49981
50366
  include Google::Apis::Core::Hashable
49982
50367
 
49983
- #
50368
+ # Additional status detail for the FAILED state.
49984
50369
  # Corresponds to the JSON property `failedData`
49985
50370
  # @return [Google::Apis::ComputeAlpha::QueuedResourceStatusFailedData]
49986
50371
  attr_accessor :failed_data
49987
50372
 
49988
- #
50373
+ # [Output only] Fully qualified URL of the provisioning GCE operation to
50374
+ # track the provisioning along with provisioning errors. The referenced
50375
+ # operation may not exist after having been deleted or expired.
49989
50376
  # Corresponds to the JSON property `provisioningOperations`
49990
50377
  # @return [Array<String>]
49991
50378
  attr_accessor :provisioning_operations
@@ -50007,11 +50394,11 @@ module Google
50007
50394
  end
50008
50395
  end
50009
50396
 
50010
- #
50397
+ # Additional status detail for the FAILED state.
50011
50398
  class QueuedResourceStatusFailedData
50012
50399
  include Google::Apis::Core::Hashable
50013
50400
 
50014
- #
50401
+ # The error(s) that caused the QueuedResource to enter the FAILED state.
50015
50402
  # Corresponds to the JSON property `error`
50016
50403
  # @return [Google::Apis::ComputeAlpha::QueuedResourceStatusFailedData::Error]
50017
50404
  attr_accessor :error
@@ -50025,7 +50412,7 @@ module Google
50025
50412
  @error = args[:error] if args.key?(:error)
50026
50413
  end
50027
50414
 
50028
- #
50415
+ # The error(s) that caused the QueuedResource to enter the FAILED state.
50029
50416
  class Error
50030
50417
  include Google::Apis::Core::Hashable
50031
50418
 
@@ -55817,6 +56204,12 @@ module Google
55817
56204
  class ResourcePolicyGroupPlacementPolicy
55818
56205
  include Google::Apis::Core::Hashable
55819
56206
 
56207
+ # Specifies the connection mode for the accelerator topology. If not
56208
+ # specified, the default is AUTO_CONNECT.
56209
+ # Corresponds to the JSON property `acceleratorTopologyMode`
56210
+ # @return [String]
56211
+ attr_accessor :accelerator_topology_mode
56212
+
55820
56213
  # The number of availability domains to spread instances across. If two
55821
56214
  # instances are in different availability domain, they are not in the same
55822
56215
  # low latency network.
@@ -55869,6 +56262,7 @@ module Google
55869
56262
 
55870
56263
  # Update properties of this object
55871
56264
  def update!(**args)
56265
+ @accelerator_topology_mode = args[:accelerator_topology_mode] if args.key?(:accelerator_topology_mode)
55872
56266
  @availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
55873
56267
  @collocation = args[:collocation] if args.key?(:collocation)
55874
56268
  @gpu_topology = args[:gpu_topology] if args.key?(:gpu_topology)
@@ -57072,6 +57466,585 @@ module Google
57072
57466
  end
57073
57467
  end
57074
57468
 
57469
+ # Represent a Rollout resource.
57470
+ class Rollout
57471
+ include Google::Apis::Core::Hashable
57472
+
57473
+ # Output only. The timestamp at which the Rollout was cancelled.
57474
+ # Corresponds to the JSON property `cancellationTime`
57475
+ # @return [String]
57476
+ attr_accessor :cancellation_time
57477
+
57478
+ # Output only. The timestamp at which the Rollout was completed.
57479
+ # Corresponds to the JSON property `completionTime`
57480
+ # @return [String]
57481
+ attr_accessor :completion_time
57482
+
57483
+ # [Output Only] Creation timestamp inRFC3339
57484
+ # text format.
57485
+ # Corresponds to the JSON property `creationTimestamp`
57486
+ # @return [String]
57487
+ attr_accessor :creation_timestamp
57488
+
57489
+ # Output only. The number of the currently running wave.
57490
+ # Ex. 1
57491
+ # Corresponds to the JSON property `currentWaveNumber`
57492
+ # @return [Fixnum]
57493
+ attr_accessor :current_wave_number
57494
+
57495
+ # An optional description of this resource. Provide this property when you
57496
+ # create the resource.
57497
+ # Corresponds to the JSON property `description`
57498
+ # @return [String]
57499
+ attr_accessor :description
57500
+
57501
+ # Output only. etag of the Rollout
57502
+ # Ex. abc1234
57503
+ # Corresponds to the JSON property `etag`
57504
+ # @return [String]
57505
+ attr_accessor :etag
57506
+
57507
+ # [Output Only] The unique identifier for the resource. This identifier is
57508
+ # defined by the server.
57509
+ # Corresponds to the JSON property `id`
57510
+ # @return [Fixnum]
57511
+ attr_accessor :id
57512
+
57513
+ # [Output Only] Type of the resource. Always compute#rollout
57514
+ # for rollouts.
57515
+ # Corresponds to the JSON property `kind`
57516
+ # @return [String]
57517
+ attr_accessor :kind
57518
+
57519
+ # Name of the resource. Provided by the client when the resource is created.
57520
+ # The name must be 1-63 characters long, and comply withRFC1035.
57521
+ # Specifically, the name must be 1-63 characters long and match the regular
57522
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
57523
+ # which means the first character must be a lowercase letter, and all
57524
+ # following characters must be a dash, lowercase letter, or digit, except
57525
+ # the last character, which cannot be a dash.
57526
+ # Corresponds to the JSON property `name`
57527
+ # @return [String]
57528
+ attr_accessor :name
57529
+
57530
+ # Specifications of the resource to roll out.
57531
+ # Corresponds to the JSON property `rolloutEntity`
57532
+ # @return [Google::Apis::ComputeAlpha::RolloutRolloutEntity]
57533
+ attr_accessor :rollout_entity
57534
+
57535
+ # Required. Rollout Plan used to model the Rollout.
57536
+ # Ex. compute.googleapis.com/v1/projects/1234/rolloutPlans/rp1
57537
+ # Corresponds to the JSON property `rolloutPlan`
57538
+ # @return [String]
57539
+ attr_accessor :rollout_plan
57540
+
57541
+ # [Output Only] Server-defined fully-qualified URL for this resource.
57542
+ # Corresponds to the JSON property `selfLink`
57543
+ # @return [String]
57544
+ attr_accessor :self_link
57545
+
57546
+ # [Output Only] Server-defined URL for this resource's resource id.
57547
+ # Corresponds to the JSON property `selfLinkWithId`
57548
+ # @return [String]
57549
+ attr_accessor :self_link_with_id
57550
+
57551
+ # Output only. The current state of the Rollout.
57552
+ # Corresponds to the JSON property `state`
57553
+ # @return [String]
57554
+ attr_accessor :state
57555
+
57556
+ # Output only. Details about each wave of the rollout.
57557
+ # Corresponds to the JSON property `waveDetails`
57558
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutWaveDetails>]
57559
+ attr_accessor :wave_details
57560
+
57561
+ def initialize(**args)
57562
+ update!(**args)
57563
+ end
57564
+
57565
+ # Update properties of this object
57566
+ def update!(**args)
57567
+ @cancellation_time = args[:cancellation_time] if args.key?(:cancellation_time)
57568
+ @completion_time = args[:completion_time] if args.key?(:completion_time)
57569
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
57570
+ @current_wave_number = args[:current_wave_number] if args.key?(:current_wave_number)
57571
+ @description = args[:description] if args.key?(:description)
57572
+ @etag = args[:etag] if args.key?(:etag)
57573
+ @id = args[:id] if args.key?(:id)
57574
+ @kind = args[:kind] if args.key?(:kind)
57575
+ @name = args[:name] if args.key?(:name)
57576
+ @rollout_entity = args[:rollout_entity] if args.key?(:rollout_entity)
57577
+ @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
57578
+ @self_link = args[:self_link] if args.key?(:self_link)
57579
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
57580
+ @state = args[:state] if args.key?(:state)
57581
+ @wave_details = args[:wave_details] if args.key?(:wave_details)
57582
+ end
57583
+ end
57584
+
57585
+ # Message describing RolloutPlan object
57586
+ class RolloutPlan
57587
+ include Google::Apis::Core::Hashable
57588
+
57589
+ # [Output Only] Creation timestamp inRFC3339
57590
+ # text format.
57591
+ # Corresponds to the JSON property `creationTimestamp`
57592
+ # @return [String]
57593
+ attr_accessor :creation_timestamp
57594
+
57595
+ # An optional description of this resource. Provide this property when you
57596
+ # create the resource.
57597
+ # Corresponds to the JSON property `description`
57598
+ # @return [String]
57599
+ attr_accessor :description
57600
+
57601
+ # [Output Only] The unique identifier for the resource. This identifier is
57602
+ # defined by the server.
57603
+ # Corresponds to the JSON property `id`
57604
+ # @return [Fixnum]
57605
+ attr_accessor :id
57606
+
57607
+ # [Output Only] Type of the resource. Always compute#rolloutPlan
57608
+ # for rolloutPlans.
57609
+ # Corresponds to the JSON property `kind`
57610
+ # @return [String]
57611
+ attr_accessor :kind
57612
+
57613
+ # The location scope of the rollout plan. If not specified, the location
57614
+ # scope is considered as ZONAL.
57615
+ # Corresponds to the JSON property `locationScope`
57616
+ # @return [String]
57617
+ attr_accessor :location_scope
57618
+
57619
+ # Name of the resource. Provided by the client when the resource is created.
57620
+ # The name must be 1-63 characters long, and comply withRFC1035.
57621
+ # Specifically, the name must be 1-63 characters long and match the regular
57622
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?`
57623
+ # which means the first character must be a lowercase letter, and all
57624
+ # following characters must be a dash, lowercase letter, or digit, except
57625
+ # the last character, which cannot be a dash.
57626
+ # Corresponds to the JSON property `name`
57627
+ # @return [String]
57628
+ attr_accessor :name
57629
+
57630
+ # [Output Only] Server-defined fully-qualified URL for this resource.
57631
+ # Corresponds to the JSON property `selfLink`
57632
+ # @return [String]
57633
+ attr_accessor :self_link
57634
+
57635
+ # [Output Only] Server-defined URL for this resource's resource id.
57636
+ # Corresponds to the JSON property `selfLinkWithId`
57637
+ # @return [String]
57638
+ attr_accessor :self_link_with_id
57639
+
57640
+ # Required. The waves included in this rollout plan.
57641
+ # Corresponds to the JSON property `waves`
57642
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlanWave>]
57643
+ attr_accessor :waves
57644
+
57645
+ def initialize(**args)
57646
+ update!(**args)
57647
+ end
57648
+
57649
+ # Update properties of this object
57650
+ def update!(**args)
57651
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
57652
+ @description = args[:description] if args.key?(:description)
57653
+ @id = args[:id] if args.key?(:id)
57654
+ @kind = args[:kind] if args.key?(:kind)
57655
+ @location_scope = args[:location_scope] if args.key?(:location_scope)
57656
+ @name = args[:name] if args.key?(:name)
57657
+ @self_link = args[:self_link] if args.key?(:self_link)
57658
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
57659
+ @waves = args[:waves] if args.key?(:waves)
57660
+ end
57661
+ end
57662
+
57663
+ # A single wave in a rollout plan.
57664
+ class RolloutPlanWave
57665
+ include Google::Apis::Core::Hashable
57666
+
57667
+ # Optional. The display name of this wave of the rollout plan.
57668
+ # Corresponds to the JSON property `displayName`
57669
+ # @return [String]
57670
+ attr_accessor :display_name
57671
+
57672
+ # Output only. The wave number.
57673
+ # Corresponds to the JSON property `number`
57674
+ # @return [Fixnum]
57675
+ attr_accessor :number
57676
+
57677
+ # Options to control the pace of orchestration of a wave. These options are
57678
+ # required only if the resource being rolled out follows the Orchestrated
57679
+ # pattern.
57680
+ # Corresponds to the JSON property `orchestrationOptions`
57681
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveOrchestrationOptions]
57682
+ attr_accessor :orchestration_options
57683
+
57684
+ # Required. The selectors for this wave. There is a logical AND between each
57685
+ # selector
57686
+ # defined in a wave, so a resource must satisfy the criteria of *all* the
57687
+ # specified selectors to be in scope for the wave.
57688
+ # Corresponds to the JSON property `selectors`
57689
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlanWaveSelector>]
57690
+ attr_accessor :selectors
57691
+
57692
+ # The validation to be performed before progressing to the next wave.
57693
+ # Corresponds to the JSON property `validation`
57694
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveValidation]
57695
+ attr_accessor :validation
57696
+
57697
+ def initialize(**args)
57698
+ update!(**args)
57699
+ end
57700
+
57701
+ # Update properties of this object
57702
+ def update!(**args)
57703
+ @display_name = args[:display_name] if args.key?(:display_name)
57704
+ @number = args[:number] if args.key?(:number)
57705
+ @orchestration_options = args[:orchestration_options] if args.key?(:orchestration_options)
57706
+ @selectors = args[:selectors] if args.key?(:selectors)
57707
+ @validation = args[:validation] if args.key?(:validation)
57708
+ end
57709
+ end
57710
+
57711
+ # Options to control the pace of orchestration of a wave. These options are
57712
+ # required only if the resource being rolled out follows the Orchestrated
57713
+ # pattern.
57714
+ class RolloutPlanWaveOrchestrationOptions
57715
+ include Google::Apis::Core::Hashable
57716
+
57717
+ # Optional. Delays, if any, to be added between batches of projects. We allow
57718
+ # multiple Delays to be specified, letting users set separate delays
57719
+ # between batches of projects corresponding to different locations and
57720
+ # batches of projects corresponding to the same location.
57721
+ # Corresponds to the JSON property `delays`
57722
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlanWaveOrchestrationOptionsDelay>]
57723
+ attr_accessor :delays
57724
+
57725
+ # Optional. Maximum number of locations to be orchestrated in parallel.
57726
+ # Corresponds to the JSON property `maxConcurrentLocations`
57727
+ # @return [Fixnum]
57728
+ attr_accessor :max_concurrent_locations
57729
+
57730
+ # Optional. Maximum number of resources to be orchestrated per location in
57731
+ # parallel.
57732
+ # Corresponds to the JSON property `maxConcurrentResourcesPerLocation`
57733
+ # @return [Fixnum]
57734
+ attr_accessor :max_concurrent_resources_per_location
57735
+
57736
+ def initialize(**args)
57737
+ update!(**args)
57738
+ end
57739
+
57740
+ # Update properties of this object
57741
+ def update!(**args)
57742
+ @delays = args[:delays] if args.key?(:delays)
57743
+ @max_concurrent_locations = args[:max_concurrent_locations] if args.key?(:max_concurrent_locations)
57744
+ @max_concurrent_resources_per_location = args[:max_concurrent_resources_per_location] if args.key?(:max_concurrent_resources_per_location)
57745
+ end
57746
+ end
57747
+
57748
+ # Options to control the delay, if any, between batches of projects.
57749
+ class RolloutPlanWaveOrchestrationOptionsDelay
57750
+ include Google::Apis::Core::Hashable
57751
+
57752
+ # Optional. Controls whether the delay should only be added between batches of
57753
+ # projects corresponding to different locations, or also between
57754
+ # batches of projects corresponding to the same location.
57755
+ # Must be set to DELIMITER_UNSPECIFIED if no delay is to be added.
57756
+ # Corresponds to the JSON property `delimiter`
57757
+ # @return [String]
57758
+ attr_accessor :delimiter
57759
+
57760
+ # Optional. The duration of the delay, if any, to be added between batches of
57761
+ # projects. A zero duration corresponds to no delay.
57762
+ # Corresponds to the JSON property `duration`
57763
+ # @return [String]
57764
+ attr_accessor :duration
57765
+
57766
+ # Optional. Controls whether the specified duration is to be added at the end of
57767
+ # each batch, or if the total processing time for each batch will be
57768
+ # padded if needed to meet the specified duration.
57769
+ # Must be set to TYPE_UNSPECIFIED if no delay is to be added.
57770
+ # Corresponds to the JSON property `type`
57771
+ # @return [String]
57772
+ attr_accessor :type
57773
+
57774
+ def initialize(**args)
57775
+ update!(**args)
57776
+ end
57777
+
57778
+ # Update properties of this object
57779
+ def update!(**args)
57780
+ @delimiter = args[:delimiter] if args.key?(:delimiter)
57781
+ @duration = args[:duration] if args.key?(:duration)
57782
+ @type = args[:type] if args.key?(:type)
57783
+ end
57784
+ end
57785
+
57786
+ # A selector which specifies what resource(s) are included in a given wave.
57787
+ class RolloutPlanWaveSelector
57788
+ include Google::Apis::Core::Hashable
57789
+
57790
+ # Roll out to resources by location.
57791
+ # Corresponds to the JSON property `locationSelector`
57792
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveSelectorLocationSelector]
57793
+ attr_accessor :location_selector
57794
+
57795
+ # Roll out to resources by Cloud Resource Manager resource hierarchy
57796
+ # nodes such as projects, folders, orgs.
57797
+ # Corresponds to the JSON property `resourceHierarchySelector`
57798
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveSelectorResourceHierarchySelector]
57799
+ attr_accessor :resource_hierarchy_selector
57800
+
57801
+ def initialize(**args)
57802
+ update!(**args)
57803
+ end
57804
+
57805
+ # Update properties of this object
57806
+ def update!(**args)
57807
+ @location_selector = args[:location_selector] if args.key?(:location_selector)
57808
+ @resource_hierarchy_selector = args[:resource_hierarchy_selector] if args.key?(:resource_hierarchy_selector)
57809
+ end
57810
+ end
57811
+
57812
+ # Roll out to resources by location.
57813
+ class RolloutPlanWaveSelectorLocationSelector
57814
+ include Google::Apis::Core::Hashable
57815
+
57816
+ # Optional. Example: "us-central1-a"
57817
+ # Corresponds to the JSON property `includedLocations`
57818
+ # @return [Array<String>]
57819
+ attr_accessor :included_locations
57820
+
57821
+ def initialize(**args)
57822
+ update!(**args)
57823
+ end
57824
+
57825
+ # Update properties of this object
57826
+ def update!(**args)
57827
+ @included_locations = args[:included_locations] if args.key?(:included_locations)
57828
+ end
57829
+ end
57830
+
57831
+ # Roll out to resources by Cloud Resource Manager resource hierarchy
57832
+ # nodes such as projects, folders, orgs.
57833
+ class RolloutPlanWaveSelectorResourceHierarchySelector
57834
+ include Google::Apis::Core::Hashable
57835
+
57836
+ # Optional. Format: "folders/`folder_id`"
57837
+ # Corresponds to the JSON property `includedFolders`
57838
+ # @return [Array<String>]
57839
+ attr_accessor :included_folders
57840
+
57841
+ # Optional. Format: "organizations/`organization_id`"
57842
+ # Corresponds to the JSON property `includedOrganizations`
57843
+ # @return [Array<String>]
57844
+ attr_accessor :included_organizations
57845
+
57846
+ # Optional. Format: "projects/`project_id`"
57847
+ # Corresponds to the JSON property `includedProjects`
57848
+ # @return [Array<String>]
57849
+ attr_accessor :included_projects
57850
+
57851
+ def initialize(**args)
57852
+ update!(**args)
57853
+ end
57854
+
57855
+ # Update properties of this object
57856
+ def update!(**args)
57857
+ @included_folders = args[:included_folders] if args.key?(:included_folders)
57858
+ @included_organizations = args[:included_organizations] if args.key?(:included_organizations)
57859
+ @included_projects = args[:included_projects] if args.key?(:included_projects)
57860
+ end
57861
+ end
57862
+
57863
+ # The validation to be performed before progressing to the next wave.
57864
+ class RolloutPlanWaveValidation
57865
+ include Google::Apis::Core::Hashable
57866
+
57867
+ # Metadata required if type = "time".
57868
+ # Corresponds to the JSON property `timeBasedValidationMetadata`
57869
+ # @return [Google::Apis::ComputeAlpha::RolloutPlanWaveValidationTimeBasedValidationMetadata]
57870
+ attr_accessor :time_based_validation_metadata
57871
+
57872
+ # Required. The type of the validation. If a type of validation is associated
57873
+ # with
57874
+ # a metadata object, the appropriate metadata field mapping to the
57875
+ # validation type must be provided in the validation message. Possible
57876
+ # values are in quotes below alongside an explanation:
57877
+ # "manual": The system waits for an end-user approval API before
57878
+ # progressing to the next wave.
57879
+ # "time": The system waits for a user specified duration before
57880
+ # progressing to the next wave. TimeBasedValidation must be provided.
57881
+ # Corresponds to the JSON property `type`
57882
+ # @return [String]
57883
+ attr_accessor :type
57884
+
57885
+ def initialize(**args)
57886
+ update!(**args)
57887
+ end
57888
+
57889
+ # Update properties of this object
57890
+ def update!(**args)
57891
+ @time_based_validation_metadata = args[:time_based_validation_metadata] if args.key?(:time_based_validation_metadata)
57892
+ @type = args[:type] if args.key?(:type)
57893
+ end
57894
+ end
57895
+
57896
+ # Metadata required if type = "time".
57897
+ class RolloutPlanWaveValidationTimeBasedValidationMetadata
57898
+ include Google::Apis::Core::Hashable
57899
+
57900
+ # Optional. The duration that the system waits in between waves. This wait
57901
+ # starts
57902
+ # after all changes in the wave are rolled out.
57903
+ # Corresponds to the JSON property `waitDuration`
57904
+ # @return [String]
57905
+ attr_accessor :wait_duration
57906
+
57907
+ def initialize(**args)
57908
+ update!(**args)
57909
+ end
57910
+
57911
+ # Update properties of this object
57912
+ def update!(**args)
57913
+ @wait_duration = args[:wait_duration] if args.key?(:wait_duration)
57914
+ end
57915
+ end
57916
+
57917
+ # Contains a list of RolloutPlan resources.
57918
+ class RolloutPlansListResponse
57919
+ include Google::Apis::Core::Hashable
57920
+
57921
+ #
57922
+ # Corresponds to the JSON property `etag`
57923
+ # @return [String]
57924
+ attr_accessor :etag
57925
+
57926
+ # [Output Only] Unique identifier for the resource; defined by the server.
57927
+ # Corresponds to the JSON property `id`
57928
+ # @return [String]
57929
+ attr_accessor :id
57930
+
57931
+ # A list of RolloutPlan resources.
57932
+ # Corresponds to the JSON property `items`
57933
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlan>]
57934
+ attr_accessor :items
57935
+
57936
+ # [Output Only] This token allows you to get the next page of results for
57937
+ # list requests. If the number of results is larger thanmaxResults, use the
57938
+ # nextPageToken as a value for
57939
+ # the query parameter pageToken in the next list request.
57940
+ # Subsequent list requests will have their own nextPageToken to
57941
+ # continue paging through the results.
57942
+ # Corresponds to the JSON property `nextPageToken`
57943
+ # @return [String]
57944
+ attr_accessor :next_page_token
57945
+
57946
+ # [Output Only] Server-defined URL for this resource.
57947
+ # Corresponds to the JSON property `selfLink`
57948
+ # @return [String]
57949
+ attr_accessor :self_link
57950
+
57951
+ # [Output Only] Unreachable resources.
57952
+ # end_interface: MixerListResponseWithEtagBuilder
57953
+ # Corresponds to the JSON property `unreachables`
57954
+ # @return [Array<String>]
57955
+ attr_accessor :unreachables
57956
+
57957
+ # [Output Only] Informational warning message.
57958
+ # Corresponds to the JSON property `warning`
57959
+ # @return [Google::Apis::ComputeAlpha::RolloutPlansListResponse::Warning]
57960
+ attr_accessor :warning
57961
+
57962
+ def initialize(**args)
57963
+ update!(**args)
57964
+ end
57965
+
57966
+ # Update properties of this object
57967
+ def update!(**args)
57968
+ @etag = args[:etag] if args.key?(:etag)
57969
+ @id = args[:id] if args.key?(:id)
57970
+ @items = args[:items] if args.key?(:items)
57971
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
57972
+ @self_link = args[:self_link] if args.key?(:self_link)
57973
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
57974
+ @warning = args[:warning] if args.key?(:warning)
57975
+ end
57976
+
57977
+ # [Output Only] Informational warning message.
57978
+ class Warning
57979
+ include Google::Apis::Core::Hashable
57980
+
57981
+ # [Output Only] A warning code, if applicable. For example, Compute
57982
+ # Engine returns NO_RESULTS_ON_PAGE if there
57983
+ # are no results in the response.
57984
+ # Corresponds to the JSON property `code`
57985
+ # @return [String]
57986
+ attr_accessor :code
57987
+
57988
+ # [Output Only] Metadata about this warning in key:
57989
+ # value format. For example:
57990
+ # "data": [
57991
+ # `
57992
+ # "key": "scope",
57993
+ # "value": "zones/us-east1-d"
57994
+ # `
57995
+ # Corresponds to the JSON property `data`
57996
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutPlansListResponse::Warning::Datum>]
57997
+ attr_accessor :data
57998
+
57999
+ # [Output Only] A human-readable description of the warning code.
58000
+ # Corresponds to the JSON property `message`
58001
+ # @return [String]
58002
+ attr_accessor :message
58003
+
58004
+ def initialize(**args)
58005
+ update!(**args)
58006
+ end
58007
+
58008
+ # Update properties of this object
58009
+ def update!(**args)
58010
+ @code = args[:code] if args.key?(:code)
58011
+ @data = args[:data] if args.key?(:data)
58012
+ @message = args[:message] if args.key?(:message)
58013
+ end
58014
+
58015
+ #
58016
+ class Datum
58017
+ include Google::Apis::Core::Hashable
58018
+
58019
+ # [Output Only] A key that provides more detail on the warning being
58020
+ # returned. For example, for warnings where there are no results in a list
58021
+ # request for a particular zone, this key might be scope and
58022
+ # the key value might be the zone name. Other examples might be a key
58023
+ # indicating a deprecated resource and a suggested replacement, or a
58024
+ # warning about invalid network settings (for example, if an instance
58025
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
58026
+ # Corresponds to the JSON property `key`
58027
+ # @return [String]
58028
+ attr_accessor :key
58029
+
58030
+ # [Output Only] A warning data value corresponding to the key.
58031
+ # Corresponds to the JSON property `value`
58032
+ # @return [String]
58033
+ attr_accessor :value
58034
+
58035
+ def initialize(**args)
58036
+ update!(**args)
58037
+ end
58038
+
58039
+ # Update properties of this object
58040
+ def update!(**args)
58041
+ @key = args[:key] if args.key?(:key)
58042
+ @value = args[:value] if args.key?(:value)
58043
+ end
58044
+ end
58045
+ end
58046
+ end
58047
+
57075
58048
  # A rollout policy configuration.
57076
58049
  class RolloutPolicy
57077
58050
  include Google::Apis::Core::Hashable
@@ -57102,6 +58075,281 @@ module Google
57102
58075
  end
57103
58076
  end
57104
58077
 
58078
+ # Specifications of the resource to roll out.
58079
+ class RolloutRolloutEntity
58080
+ include Google::Apis::Core::Hashable
58081
+
58082
+ # This message is used if the resource type follows the Orchestrated
58083
+ # integration model with ProgressiveRollout.
58084
+ # Corresponds to the JSON property `orchestratedEntity`
58085
+ # @return [Google::Apis::ComputeAlpha::RolloutRolloutEntityOrchestratedEntity]
58086
+ attr_accessor :orchestrated_entity
58087
+
58088
+ def initialize(**args)
58089
+ update!(**args)
58090
+ end
58091
+
58092
+ # Update properties of this object
58093
+ def update!(**args)
58094
+ @orchestrated_entity = args[:orchestrated_entity] if args.key?(:orchestrated_entity)
58095
+ end
58096
+ end
58097
+
58098
+ # This message is used if the resource type follows the Orchestrated
58099
+ # integration model with ProgressiveRollout.
58100
+ class RolloutRolloutEntityOrchestratedEntity
58101
+ include Google::Apis::Core::Hashable
58102
+
58103
+ # Required. Specifies the behavior of the Rollout if an out of band update is
58104
+ # detected in a project during a Rollout. It can be one of the following
58105
+ # values:
58106
+ # 1) overwrite : Overwrite the local value with the rollout value.
58107
+ # 2) no_overwrite : Do not overwrite the local value with the rollout
58108
+ # value.
58109
+ # Corresponds to the JSON property `conflictBehavior`
58110
+ # @return [String]
58111
+ attr_accessor :conflict_behavior
58112
+
58113
+ # Required. Orchestration action during the Rollout. It can be one of the
58114
+ # following
58115
+ # values:
58116
+ # 1) "update": Resources will be updated by the rollout.
58117
+ # 2) "delete": Resources will be deleted by the rollout.
58118
+ # Corresponds to the JSON property `orchestrationAction`
58119
+ # @return [String]
58120
+ attr_accessor :orchestration_action
58121
+
58122
+ # Required. Fully qualified resource name of the resource which contains the
58123
+ # source
58124
+ # of truth of the configuration being rolled out across
58125
+ # locations/projects. For example, in the case of a global Rollout which
58126
+ # is applied across regions, this contains the name of the global
58127
+ # resource created by the user which contains a payload for a resource
58128
+ # that is orchestrated across regions. This follows the following format:
58129
+ # //.googleapis.com/projects//locations/global//
58130
+ # e.g.
58131
+ # //osconfig.googleapis.com/projects/1/locations/global/policyOrchestrators/po1
58132
+ # Corresponds to the JSON property `orchestrationSource`
58133
+ # @return [String]
58134
+ attr_accessor :orchestration_source
58135
+
58136
+ def initialize(**args)
58137
+ update!(**args)
58138
+ end
58139
+
58140
+ # Update properties of this object
58141
+ def update!(**args)
58142
+ @conflict_behavior = args[:conflict_behavior] if args.key?(:conflict_behavior)
58143
+ @orchestration_action = args[:orchestration_action] if args.key?(:orchestration_action)
58144
+ @orchestration_source = args[:orchestration_source] if args.key?(:orchestration_source)
58145
+ end
58146
+ end
58147
+
58148
+ # Additional metadata about the status of each wave provided by the server.
58149
+ class RolloutWaveDetails
58150
+ include Google::Apis::Core::Hashable
58151
+
58152
+ # Details of the wave for products using the Orchestrated integration
58153
+ # model.
58154
+ # Corresponds to the JSON property `orchestratedWaveDetails`
58155
+ # @return [Google::Apis::ComputeAlpha::RolloutWaveDetailsOrchestratedWaveDetails]
58156
+ attr_accessor :orchestrated_wave_details
58157
+
58158
+ # Output only. Wave name.
58159
+ # Ex. wave1
58160
+ # Corresponds to the JSON property `waveDisplayName`
58161
+ # @return [String]
58162
+ attr_accessor :wave_display_name
58163
+
58164
+ # Output only. System generated number for the wave.
58165
+ # Corresponds to the JSON property `waveNumber`
58166
+ # @return [Fixnum]
58167
+ attr_accessor :wave_number
58168
+
58169
+ def initialize(**args)
58170
+ update!(**args)
58171
+ end
58172
+
58173
+ # Update properties of this object
58174
+ def update!(**args)
58175
+ @orchestrated_wave_details = args[:orchestrated_wave_details] if args.key?(:orchestrated_wave_details)
58176
+ @wave_display_name = args[:wave_display_name] if args.key?(:wave_display_name)
58177
+ @wave_number = args[:wave_number] if args.key?(:wave_number)
58178
+ end
58179
+ end
58180
+
58181
+ # Details of the wave for products using the Orchestrated integration
58182
+ # model.
58183
+ class RolloutWaveDetailsOrchestratedWaveDetails
58184
+ include Google::Apis::Core::Hashable
58185
+
58186
+ # Output only. Resource completed so far.
58187
+ # Corresponds to the JSON property `completedResourcesCount`
58188
+ # @return [Fixnum]
58189
+ attr_accessor :completed_resources_count
58190
+
58191
+ # Output only. Estimated total count of resources.
58192
+ # Corresponds to the JSON property `estimatedTotalResourcesCount`
58193
+ # @return [Fixnum]
58194
+ attr_accessor :estimated_total_resources_count
58195
+
58196
+ # Output only. Locations that failed during orchestration, and
58197
+ # ProgressiveRollout
58198
+ # stopped retrying. There may be some successful resources rolled out in
58199
+ # the wave as the location may have failed later in the Rollout.
58200
+ # Corresponds to the JSON property `failedLocations`
58201
+ # @return [Array<String>]
58202
+ attr_accessor :failed_locations
58203
+
58204
+ # Output only. Resources failed.
58205
+ # Corresponds to the JSON property `failedResourcesCount`
58206
+ # @return [Fixnum]
58207
+ attr_accessor :failed_resources_count
58208
+
58209
+ def initialize(**args)
58210
+ update!(**args)
58211
+ end
58212
+
58213
+ # Update properties of this object
58214
+ def update!(**args)
58215
+ @completed_resources_count = args[:completed_resources_count] if args.key?(:completed_resources_count)
58216
+ @estimated_total_resources_count = args[:estimated_total_resources_count] if args.key?(:estimated_total_resources_count)
58217
+ @failed_locations = args[:failed_locations] if args.key?(:failed_locations)
58218
+ @failed_resources_count = args[:failed_resources_count] if args.key?(:failed_resources_count)
58219
+ end
58220
+ end
58221
+
58222
+ #
58223
+ class RolloutsListResponse
58224
+ include Google::Apis::Core::Hashable
58225
+
58226
+ #
58227
+ # Corresponds to the JSON property `etag`
58228
+ # @return [String]
58229
+ attr_accessor :etag
58230
+
58231
+ # [Output Only] Unique identifier for the resource; defined by the server.
58232
+ # Corresponds to the JSON property `id`
58233
+ # @return [String]
58234
+ attr_accessor :id
58235
+
58236
+ # A list of Rollout resources.
58237
+ # Corresponds to the JSON property `items`
58238
+ # @return [Array<Google::Apis::ComputeAlpha::Rollout>]
58239
+ attr_accessor :items
58240
+
58241
+ # [Output Only] This token allows you to get the next page of results for
58242
+ # list requests. If the number of results is larger thanmaxResults, use the
58243
+ # nextPageToken as a value for
58244
+ # the query parameter pageToken in the next list request.
58245
+ # Subsequent list requests will have their own nextPageToken to
58246
+ # continue paging through the results.
58247
+ # Corresponds to the JSON property `nextPageToken`
58248
+ # @return [String]
58249
+ attr_accessor :next_page_token
58250
+
58251
+ # [Output Only] Server-defined URL for this resource.
58252
+ # Corresponds to the JSON property `selfLink`
58253
+ # @return [String]
58254
+ attr_accessor :self_link
58255
+
58256
+ # [Output Only] Unreachable resources.
58257
+ # end_interface: MixerListResponseWithEtagBuilder
58258
+ # Corresponds to the JSON property `unreachables`
58259
+ # @return [Array<String>]
58260
+ attr_accessor :unreachables
58261
+
58262
+ # [Output Only] Informational warning message.
58263
+ # Corresponds to the JSON property `warning`
58264
+ # @return [Google::Apis::ComputeAlpha::RolloutsListResponse::Warning]
58265
+ attr_accessor :warning
58266
+
58267
+ def initialize(**args)
58268
+ update!(**args)
58269
+ end
58270
+
58271
+ # Update properties of this object
58272
+ def update!(**args)
58273
+ @etag = args[:etag] if args.key?(:etag)
58274
+ @id = args[:id] if args.key?(:id)
58275
+ @items = args[:items] if args.key?(:items)
58276
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
58277
+ @self_link = args[:self_link] if args.key?(:self_link)
58278
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
58279
+ @warning = args[:warning] if args.key?(:warning)
58280
+ end
58281
+
58282
+ # [Output Only] Informational warning message.
58283
+ class Warning
58284
+ include Google::Apis::Core::Hashable
58285
+
58286
+ # [Output Only] A warning code, if applicable. For example, Compute
58287
+ # Engine returns NO_RESULTS_ON_PAGE if there
58288
+ # are no results in the response.
58289
+ # Corresponds to the JSON property `code`
58290
+ # @return [String]
58291
+ attr_accessor :code
58292
+
58293
+ # [Output Only] Metadata about this warning in key:
58294
+ # value format. For example:
58295
+ # "data": [
58296
+ # `
58297
+ # "key": "scope",
58298
+ # "value": "zones/us-east1-d"
58299
+ # `
58300
+ # Corresponds to the JSON property `data`
58301
+ # @return [Array<Google::Apis::ComputeAlpha::RolloutsListResponse::Warning::Datum>]
58302
+ attr_accessor :data
58303
+
58304
+ # [Output Only] A human-readable description of the warning code.
58305
+ # Corresponds to the JSON property `message`
58306
+ # @return [String]
58307
+ attr_accessor :message
58308
+
58309
+ def initialize(**args)
58310
+ update!(**args)
58311
+ end
58312
+
58313
+ # Update properties of this object
58314
+ def update!(**args)
58315
+ @code = args[:code] if args.key?(:code)
58316
+ @data = args[:data] if args.key?(:data)
58317
+ @message = args[:message] if args.key?(:message)
58318
+ end
58319
+
58320
+ #
58321
+ class Datum
58322
+ include Google::Apis::Core::Hashable
58323
+
58324
+ # [Output Only] A key that provides more detail on the warning being
58325
+ # returned. For example, for warnings where there are no results in a list
58326
+ # request for a particular zone, this key might be scope and
58327
+ # the key value might be the zone name. Other examples might be a key
58328
+ # indicating a deprecated resource and a suggested replacement, or a
58329
+ # warning about invalid network settings (for example, if an instance
58330
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
58331
+ # Corresponds to the JSON property `key`
58332
+ # @return [String]
58333
+ attr_accessor :key
58334
+
58335
+ # [Output Only] A warning data value corresponding to the key.
58336
+ # Corresponds to the JSON property `value`
58337
+ # @return [String]
58338
+ attr_accessor :value
58339
+
58340
+ def initialize(**args)
58341
+ update!(**args)
58342
+ end
58343
+
58344
+ # Update properties of this object
58345
+ def update!(**args)
58346
+ @key = args[:key] if args.key?(:key)
58347
+ @value = args[:value] if args.key?(:value)
58348
+ end
58349
+ end
58350
+ end
58351
+ end
58352
+
57105
58353
  # Represents a Route resource.
57106
58354
  # A route defines a path from VM instances in the VPC network to a specific
57107
58355
  # destination. This destination can be inside or outside the VPC network.
@@ -57291,7 +58539,9 @@ module Google
57291
58539
  # @return [Fixnum]
57292
58540
  attr_accessor :priority
57293
58541
 
57294
- # [Output only] The status of the route.
58542
+ # [Output only] The status of the route. This status only applies to
58543
+ # dynamic routes learned by Cloud Routers. This status is not applicable
58544
+ # to static routes.
57295
58545
  # Corresponds to the JSON property `routeStatus`
57296
58546
  # @return [String]
57297
58547
  attr_accessor :route_status
@@ -76419,6 +77669,12 @@ module Google
76419
77669
  class VpnTunnel
76420
77670
  include Google::Apis::Core::Hashable
76421
77671
 
77672
+ # Capacity tier of the VPN tunnel. This is used for IPsec over Interconnect
77673
+ # tunnels to indicate different bandwidth limits.
77674
+ # Corresponds to the JSON property `capacityTier`
77675
+ # @return [String]
77676
+ attr_accessor :capacity_tier
77677
+
76422
77678
  # User specified list of ciphers to use for the phase 1 and phase 2 of the
76423
77679
  # IKE protocol.
76424
77680
  # Corresponds to the JSON property `cipherSuite`
@@ -76641,6 +77897,7 @@ module Google
76641
77897
 
76642
77898
  # Update properties of this object
76643
77899
  def update!(**args)
77900
+ @capacity_tier = args[:capacity_tier] if args.key?(:capacity_tier)
76644
77901
  @cipher_suite = args[:cipher_suite] if args.key?(:cipher_suite)
76645
77902
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
76646
77903
  @description = args[:description] if args.key?(:description)
@@ -77901,6 +79158,32 @@ module Google
77901
79158
  end
77902
79159
  end
77903
79160
 
79161
+ #
79162
+ class WorkloadIdentityConfig
79163
+ include Google::Apis::Core::Hashable
79164
+
79165
+ #
79166
+ # Corresponds to the JSON property `identity`
79167
+ # @return [String]
79168
+ attr_accessor :identity
79169
+
79170
+ #
79171
+ # Corresponds to the JSON property `identityCertificateEnabled`
79172
+ # @return [Boolean]
79173
+ attr_accessor :identity_certificate_enabled
79174
+ alias_method :identity_certificate_enabled?, :identity_certificate_enabled
79175
+
79176
+ def initialize(**args)
79177
+ update!(**args)
79178
+ end
79179
+
79180
+ # Update properties of this object
79181
+ def update!(**args)
79182
+ @identity = args[:identity] if args.key?(:identity)
79183
+ @identity_certificate_enabled = args[:identity_certificate_enabled] if args.key?(:identity_certificate_enabled)
79184
+ end
79185
+ end
79186
+
77904
79187
  #
77905
79188
  class XpnHostList
77906
79189
  include Google::Apis::Core::Hashable