google-apis-compute_beta 0.136.0 → 0.138.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.
@@ -2080,8 +2080,8 @@ module Google
2080
2080
  # Input only. Resource manager tags to be bound to the disk. Tag keys and values
2081
2081
  # have the same definition as resource
2082
2082
  # manager tags. Keys and values can be either in numeric format,
2083
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
2084
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
2083
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
2084
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
2085
2085
  # ``tag_value_short_name``. The field is ignored (both PUT & PATCH) when
2086
2086
  # empty.
2087
2087
  # Corresponds to the JSON property `resourceManagerTags`
@@ -2983,6 +2983,17 @@ module Google
2983
2983
  # @return [Hash<String,Google::Apis::ComputeBeta::AutoscalingPolicyScalingSchedule>]
2984
2984
  attr_accessor :scaling_schedules
2985
2985
 
2986
+ # The number of seconds that autoscaler waits for load stabilization before
2987
+ # making scale-in decisions. This is referred to as the
2988
+ # [stabilization period](/compute/docs/autoscaler#stabilization_period).
2989
+ # This might appear as a delay in scaling in but it is an important mechanism
2990
+ # for your application to not have fluctuating size due to short term load
2991
+ # fluctuations.
2992
+ # The default stabilization period is 600 seconds.
2993
+ # Corresponds to the JSON property `stabilizationPeriodSec`
2994
+ # @return [Fixnum]
2995
+ attr_accessor :stabilization_period_sec
2996
+
2986
2997
  def initialize(**args)
2987
2998
  update!(**args)
2988
2999
  end
@@ -2999,6 +3010,7 @@ module Google
2999
3010
  @scale_down_control = args[:scale_down_control] if args.key?(:scale_down_control)
3000
3011
  @scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control)
3001
3012
  @scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules)
3013
+ @stabilization_period_sec = args[:stabilization_period_sec] if args.key?(:stabilization_period_sec)
3002
3014
  end
3003
3015
  end
3004
3016
 
@@ -3458,6 +3470,19 @@ module Google
3458
3470
  # @return [String]
3459
3471
  attr_accessor :preference
3460
3472
 
3473
+ # Represents a service backend (e.g., Cloud Run service, PSC Service
3474
+ # Attachment).
3475
+ # e.g.
3476
+ # "run.googleapis.com/projects/123456789/locations/us-central1/services/my-
3477
+ # service"
3478
+ # for Cloud Run service.
3479
+ # "compute.googleapis.com/projects/123456789/regions/us-central1/
3480
+ # serviceAttachments/my-service-attachment"
3481
+ # for PSC Service Attachment.
3482
+ # Corresponds to the JSON property `service`
3483
+ # @return [String]
3484
+ attr_accessor :service
3485
+
3461
3486
  #
3462
3487
  # Corresponds to the JSON property `trafficDuration`
3463
3488
  # @return [String]
@@ -3487,6 +3512,7 @@ module Google
3487
3512
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3488
3513
  @orchestration_info = args[:orchestration_info] if args.key?(:orchestration_info)
3489
3514
  @preference = args[:preference] if args.key?(:preference)
3515
+ @service = args[:service] if args.key?(:service)
3490
3516
  @traffic_duration = args[:traffic_duration] if args.key?(:traffic_duration)
3491
3517
  end
3492
3518
  end
@@ -4781,7 +4807,7 @@ module Google
4781
4807
  # field.
4782
4808
  #
4783
4809
  # This field is applicable to either:
4784
- # - A regional backend service with the service_protocol set to HTTP,
4810
+ # - A regional backend service with the service protocol set to HTTP,
4785
4811
  # HTTPS, HTTP2 or H2C, and load_balancing_scheme set to
4786
4812
  # INTERNAL_MANAGED.
4787
4813
  # - A global backend service with the
@@ -7213,7 +7239,8 @@ module Google
7213
7239
  # @return [Google::Apis::ComputeBeta::InstantSnapshotGroupParameters]
7214
7240
  attr_accessor :instant_snapshot_group_parameters
7215
7241
 
7216
- # The parameters for the snapshot group.
7242
+ # The parameters for the snapshot group. The usage of snapshot group feature
7243
+ # is restricted.
7217
7244
  # Corresponds to the JSON property `snapshotGroupParameters`
7218
7245
  # @return [Google::Apis::ComputeBeta::SnapshotGroupParameters]
7219
7246
  attr_accessor :snapshot_group_parameters
@@ -7606,8 +7633,8 @@ module Google
7606
7633
 
7607
7634
  # Bypass the cache when the specified request headers are matched by name,
7608
7635
  # e.g. Pragma or Authorization headers. Values are case-insensitive. Up to 5
7609
- # header names can be specified. The cache is bypassed for all
7610
- # cachePolicy.cacheMode settings.
7636
+ # header names can be specified. The cache is bypassed for all `cacheMode`
7637
+ # values.
7611
7638
  # Corresponds to the JSON property `cacheBypassRequestHeaderNames`
7612
7639
  # @return [Array<String>]
7613
7640
  attr_accessor :cache_bypass_request_header_names
@@ -7618,8 +7645,8 @@ module Google
7618
7645
  # @return [Google::Apis::ComputeBeta::CachePolicyCacheKeyPolicy]
7619
7646
  attr_accessor :cache_key_policy
7620
7647
 
7621
- # Specifies the cache setting for all responses from this route.
7622
- # If not specified, the default value is CACHE_ALL_STATIC.
7648
+ # Specifies the cache setting for all responses from this route. If not
7649
+ # specified, Cloud CDN uses `CACHE_ALL_STATIC` mode.
7623
7650
  # Corresponds to the JSON property `cacheMode`
7624
7651
  # @return [String]
7625
7652
  attr_accessor :cache_mode
@@ -7652,38 +7679,37 @@ module Google
7652
7679
  # to apply fine-grained caching for common errors or redirects.
7653
7680
  # This can reduce the load on your origin and improve end-user
7654
7681
  # experience by reducing response latency.
7655
- # When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS,
7656
- # negative caching applies to responses with the specified response code
7657
- # that lack any Cache-Control, Expires, or Pragma: no-cache directives.
7658
- # When the cache mode is set to FORCE_CACHE_ALL, negative caching applies
7659
- # to all responses with the specified response code, and override any
7660
- # caching headers.
7661
- # By default, Cloud CDN will apply the following default TTLs to these
7662
- # status codes:
7663
- # HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m
7664
- # HTTP 404 (Not Found), 410 (Gone),
7665
- # 451 (Unavailable For Legal Reasons): 120s
7666
- # HTTP 405 (Method Not Found), 501 (Not Implemented): 60s.
7667
- # These defaults can be overridden in negative_caching_policy.
7682
+ # When the `cacheMode` is set to `CACHE_ALL_STATIC` or
7683
+ # `USE_ORIGIN_HEADERS`, negative caching applies to responses with
7684
+ # the specified response code that lack any Cache-Control, Expires, or
7685
+ # Pragma: no-cache directives. When the `cacheMode` is set to
7686
+ # `FORCE_CACHE_ALL`, negative caching applies to all responses
7687
+ # with the specified response code, and overrides any caching headers. By
7688
+ # default, Cloud CDN applies the following TTLs to these HTTP status codes:
7689
+ # * 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m
7690
+ # * 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s
7691
+ # * 405 (Method Not Found), 501 (Not Implemented): 60s
7692
+ # These defaults can be overridden in `negativeCachingPolicy`.
7693
+ # If not specified, Cloud CDN applies negative caching by default.
7668
7694
  # Corresponds to the JSON property `negativeCaching`
7669
7695
  # @return [Boolean]
7670
7696
  attr_accessor :negative_caching
7671
7697
  alias_method :negative_caching?, :negative_caching
7672
7698
 
7673
7699
  # Sets a cache TTL for the specified HTTP status code.
7674
- # negative_caching must be enabled to configure negative_caching_policy.
7675
- # Omitting the policy and leaving negative_caching enabled will use
7676
- # Cloud CDN's default cache TTLs.
7677
- # Note that when specifying an explicit negative_caching_policy, you
7678
- # should take care to specify a cache TTL for all response codes
7679
- # that you wish to cache. Cloud CDN will not apply any default
7680
- # negative caching when a policy exists.
7700
+ # `negativeCaching` must be enabled to configure `negativeCachingPolicy`.
7701
+ # Omitting the policy and leaving `negativeCaching` enabled will use Cloud
7702
+ # CDN's default cache TTLs. Note that when specifying an explicit
7703
+ # `negativeCachingPolicy`, you should take care to specify a cache TTL for
7704
+ # all response codes that you wish to cache. Cloud CDN will not apply any
7705
+ # default negative caching when a policy exists.
7681
7706
  # Corresponds to the JSON property `negativeCachingPolicy`
7682
7707
  # @return [Array<Google::Apis::ComputeBeta::CachePolicyNegativeCachingPolicy>]
7683
7708
  attr_accessor :negative_caching_policy
7684
7709
 
7685
7710
  # If true then Cloud CDN will combine multiple concurrent cache fill
7686
- # requests into a small number of requests to the origin.
7711
+ # requests into a small number of requests to the origin. If not specified,
7712
+ # Cloud CDN applies request coalescing by default.
7687
7713
  # Corresponds to the JSON property `requestCoalescing`
7688
7714
  # @return [Boolean]
7689
7715
  attr_accessor :request_coalescing
@@ -7722,14 +7748,14 @@ module Google
7722
7748
  include Google::Apis::Core::Hashable
7723
7749
 
7724
7750
  # Names of query string parameters to exclude in cache keys. All other
7725
- # parameters will be included. Either specify excluded_query_parameters or
7726
- # included_query_parameters, not both. '&' and '=' will be percent encoded
7727
- # and not treated as delimiters.
7751
+ # parameters will be included. Either specify `excludedQueryParameters`
7752
+ # or `includedQueryParameters`, not both. '&' and '=' will be percent
7753
+ # encoded and not treated as delimiters.
7728
7754
  # Note: This field applies to routes that use backend services. Attempting
7729
7755
  # to set it on a route that points exclusively to Backend Buckets will
7730
7756
  # result in a configuration error. For routes that point to a Backend
7731
- # Bucket, use includedQueryParameters to define which parameters should
7732
- # be a part of the cache key.
7757
+ # Bucket, use `includedQueryParameters` to define which parameters should
7758
+ # be part of the cache key.
7733
7759
  # Corresponds to the JSON property `excludedQueryParameters`
7734
7760
  # @return [Array<String>]
7735
7761
  attr_accessor :excluded_query_parameters
@@ -7757,14 +7783,14 @@ module Google
7757
7783
  alias_method :include_protocol?, :include_protocol
7758
7784
 
7759
7785
  # If true, include query string parameters in the cache key according to
7760
- # included_query_parameters and excluded_query_parameters. If neither is
7761
- # set, the entire query string will be included. If false, the query string
7762
- # will be excluded from the cache key entirely.
7786
+ # `includedQueryParameters` and `excludedQueryParameters`. If neither
7787
+ # is set, the entire query string will be included. If false, the query
7788
+ # string will be excluded from the cache key entirely.
7763
7789
  # Note: This field applies to routes that use backend services. Attempting
7764
7790
  # to set it on a route that points exclusively to Backend Buckets will
7765
- # result in a configuration error. For routes that point to a Backend
7766
- # Bucket, use includedQueryParameters to define which parameters should
7767
- # be a part of the cache key.
7791
+ # result in a configuration error. For routes that point to a Backend
7792
+ # Bucket, use `includedQueryParameters` to define which parameters should
7793
+ # be part of the cache key.
7768
7794
  # Corresponds to the JSON property `includeQueryString`
7769
7795
  # @return [Boolean]
7770
7796
  attr_accessor :include_query_string
@@ -7787,9 +7813,9 @@ module Google
7787
7813
  attr_accessor :included_header_names
7788
7814
 
7789
7815
  # Names of query string parameters to include in cache keys. All other
7790
- # parameters will be excluded. Either specify included_query_parameters or
7791
- # excluded_query_parameters, not both. '&' and '=' will be percent encoded
7792
- # and not treated as delimiters.
7816
+ # parameters will be excluded. Either specify `includedQueryParameters`
7817
+ # or `excludedQueryParameters`, not both. '&' and '=' will be percent
7818
+ # encoded and not treated as delimiters.
7793
7819
  # Corresponds to the JSON property `includedQueryParameters`
7794
7820
  # @return [Array<String>]
7795
7821
  attr_accessor :included_query_parameters
@@ -7909,6 +7935,518 @@ module Google
7909
7935
  end
7910
7936
  end
7911
7937
 
7938
+ # A request to provide Assistant Scores. These scores determine VM
7939
+ # obtainability and preemption likelihood.
7940
+ class CapacityAdviceRequest
7941
+ include Google::Apis::Core::Hashable
7942
+
7943
+ # Distribution policy.
7944
+ # Corresponds to the JSON property `distributionPolicy`
7945
+ # @return [Google::Apis::ComputeBeta::CapacityAdviceRequestDistributionPolicy]
7946
+ attr_accessor :distribution_policy
7947
+
7948
+ # Specification of alternative, flexible instance configurations.
7949
+ # Corresponds to the JSON property `instanceFlexibilityPolicy`
7950
+ # @return [Google::Apis::ComputeBeta::CapacityAdviceRequestInstanceFlexibilityPolicy]
7951
+ attr_accessor :instance_flexibility_policy
7952
+
7953
+ # Instance provisioning properties.
7954
+ # Corresponds to the JSON property `instanceProperties`
7955
+ # @return [Google::Apis::ComputeBeta::CapacityAdviceRequestInstanceProperties]
7956
+ attr_accessor :instance_properties
7957
+
7958
+ # The number of VM instances to request.
7959
+ # Corresponds to the JSON property `size`
7960
+ # @return [Fixnum]
7961
+ attr_accessor :size
7962
+
7963
+ def initialize(**args)
7964
+ update!(**args)
7965
+ end
7966
+
7967
+ # Update properties of this object
7968
+ def update!(**args)
7969
+ @distribution_policy = args[:distribution_policy] if args.key?(:distribution_policy)
7970
+ @instance_flexibility_policy = args[:instance_flexibility_policy] if args.key?(:instance_flexibility_policy)
7971
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
7972
+ @size = args[:size] if args.key?(:size)
7973
+ end
7974
+ end
7975
+
7976
+ # Distribution policy.
7977
+ class CapacityAdviceRequestDistributionPolicy
7978
+ include Google::Apis::Core::Hashable
7979
+
7980
+ # Target distribution shape. You can specify the following values:ANY,
7981
+ # ANY_SINGLE_ZONE, or BALANCED.
7982
+ # Corresponds to the JSON property `targetShape`
7983
+ # @return [String]
7984
+ attr_accessor :target_shape
7985
+
7986
+ # Zones where Capacity Advisor looks for capacity.
7987
+ # Corresponds to the JSON property `zones`
7988
+ # @return [Array<Google::Apis::ComputeBeta::CapacityAdviceRequestDistributionPolicyZoneConfiguration>]
7989
+ attr_accessor :zones
7990
+
7991
+ def initialize(**args)
7992
+ update!(**args)
7993
+ end
7994
+
7995
+ # Update properties of this object
7996
+ def update!(**args)
7997
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
7998
+ @zones = args[:zones] if args.key?(:zones)
7999
+ end
8000
+ end
8001
+
8002
+ # Zone configuration for the distribution policy.
8003
+ class CapacityAdviceRequestDistributionPolicyZoneConfiguration
8004
+ include Google::Apis::Core::Hashable
8005
+
8006
+ # The URL of the zone. It can be a
8007
+ # partial or full URL. For example, the following are valid values:
8008
+ #
8009
+ #
8010
+ # - https://www.googleapis.com/compute/v1/projects/project/zones/zone
8011
+ # - projects/project/zones/zone
8012
+ # - zones/zone
8013
+ # Corresponds to the JSON property `zone`
8014
+ # @return [String]
8015
+ attr_accessor :zone
8016
+
8017
+ def initialize(**args)
8018
+ update!(**args)
8019
+ end
8020
+
8021
+ # Update properties of this object
8022
+ def update!(**args)
8023
+ @zone = args[:zone] if args.key?(:zone)
8024
+ end
8025
+ end
8026
+
8027
+ # Specification of alternative, flexible instance configurations.
8028
+ class CapacityAdviceRequestInstanceFlexibilityPolicy
8029
+ include Google::Apis::Core::Hashable
8030
+
8031
+ # Named instance selections to configure properties.
8032
+ # The key is an arbitrary, unique RFC1035 string that identifies the
8033
+ # instance selection.
8034
+ # Corresponds to the JSON property `instanceSelections`
8035
+ # @return [Hash<String,Google::Apis::ComputeBeta::CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection>]
8036
+ attr_accessor :instance_selections
8037
+
8038
+ def initialize(**args)
8039
+ update!(**args)
8040
+ end
8041
+
8042
+ # Update properties of this object
8043
+ def update!(**args)
8044
+ @instance_selections = args[:instance_selections] if args.key?(:instance_selections)
8045
+ end
8046
+ end
8047
+
8048
+ # Machine specification.
8049
+ class CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelection
8050
+ include Google::Apis::Core::Hashable
8051
+
8052
+ # Local SSDs.
8053
+ # Corresponds to the JSON property `disks`
8054
+ # @return [Array<Google::Apis::ComputeBeta::CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk>]
8055
+ attr_accessor :disks
8056
+
8057
+ # Accelerators configuration.
8058
+ # Corresponds to the JSON property `guestAccelerators`
8059
+ # @return [Array<Google::Apis::ComputeBeta::AcceleratorConfig>]
8060
+ attr_accessor :guest_accelerators
8061
+
8062
+ # Full machine-type names, e.g. "n1-standard-16".
8063
+ # Corresponds to the JSON property `machineTypes`
8064
+ # @return [Array<String>]
8065
+ attr_accessor :machine_types
8066
+
8067
+ def initialize(**args)
8068
+ update!(**args)
8069
+ end
8070
+
8071
+ # Update properties of this object
8072
+ def update!(**args)
8073
+ @disks = args[:disks] if args.key?(:disks)
8074
+ @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
8075
+ @machine_types = args[:machine_types] if args.key?(:machine_types)
8076
+ end
8077
+ end
8078
+
8079
+ # Attached disk configuration.
8080
+ class CapacityAdviceRequestInstanceFlexibilityPolicyInstanceSelectionAttachedDisk
8081
+ include Google::Apis::Core::Hashable
8082
+
8083
+ # Specifies the type of the disk.
8084
+ # This field must be set to SCRATCH.
8085
+ # Corresponds to the JSON property `type`
8086
+ # @return [String]
8087
+ attr_accessor :type
8088
+
8089
+ def initialize(**args)
8090
+ update!(**args)
8091
+ end
8092
+
8093
+ # Update properties of this object
8094
+ def update!(**args)
8095
+ @type = args[:type] if args.key?(:type)
8096
+ end
8097
+ end
8098
+
8099
+ # Instance provisioning properties.
8100
+ class CapacityAdviceRequestInstanceProperties
8101
+ include Google::Apis::Core::Hashable
8102
+
8103
+ # Defines the instance scheduling options.
8104
+ # Corresponds to the JSON property `scheduling`
8105
+ # @return [Google::Apis::ComputeBeta::CapacityAdviceRequestInstancePropertiesScheduling]
8106
+ attr_accessor :scheduling
8107
+
8108
+ def initialize(**args)
8109
+ update!(**args)
8110
+ end
8111
+
8112
+ # Update properties of this object
8113
+ def update!(**args)
8114
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
8115
+ end
8116
+ end
8117
+
8118
+ # Defines the instance scheduling options.
8119
+ class CapacityAdviceRequestInstancePropertiesScheduling
8120
+ include Google::Apis::Core::Hashable
8121
+
8122
+ # Specifies the provisioning model.
8123
+ # Corresponds to the JSON property `provisioningModel`
8124
+ # @return [String]
8125
+ attr_accessor :provisioning_model
8126
+
8127
+ def initialize(**args)
8128
+ update!(**args)
8129
+ end
8130
+
8131
+ # Update properties of this object
8132
+ def update!(**args)
8133
+ @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
8134
+ end
8135
+ end
8136
+
8137
+ # A response contains scoring recommendations.
8138
+ class CapacityAdviceResponse
8139
+ include Google::Apis::Core::Hashable
8140
+
8141
+ # Initially the API will provide one recommendation which balances the
8142
+ # individual scores according to the service provider's preference.
8143
+ # Corresponds to the JSON property `recommendations`
8144
+ # @return [Array<Google::Apis::ComputeBeta::CapacityAdviceResponseRecommendation>]
8145
+ attr_accessor :recommendations
8146
+
8147
+ def initialize(**args)
8148
+ update!(**args)
8149
+ end
8150
+
8151
+ # Update properties of this object
8152
+ def update!(**args)
8153
+ @recommendations = args[:recommendations] if args.key?(:recommendations)
8154
+ end
8155
+ end
8156
+
8157
+ # Recommendation.
8158
+ class CapacityAdviceResponseRecommendation
8159
+ include Google::Apis::Core::Hashable
8160
+
8161
+ # Groups information about a shard of capacity.
8162
+ # Corresponds to the JSON property `scores`
8163
+ # @return [Google::Apis::ComputeBeta::CapacityAdviceResponseRecommendationScores]
8164
+ attr_accessor :scores
8165
+
8166
+ # Shards represent blocks of uniform capacity in recommendations.
8167
+ # Corresponds to the JSON property `shards`
8168
+ # @return [Array<Google::Apis::ComputeBeta::CapacityAdviceResponseRecommendationShard>]
8169
+ attr_accessor :shards
8170
+
8171
+ def initialize(**args)
8172
+ update!(**args)
8173
+ end
8174
+
8175
+ # Update properties of this object
8176
+ def update!(**args)
8177
+ @scores = args[:scores] if args.key?(:scores)
8178
+ @shards = args[:shards] if args.key?(:shards)
8179
+ end
8180
+ end
8181
+
8182
+ # Groups information about a shard of capacity.
8183
+ class CapacityAdviceResponseRecommendationScores
8184
+ include Google::Apis::Core::Hashable
8185
+
8186
+ # The estimated run time of the majority of Spot VMs in the request
8187
+ # before preemption. The estimate is best-effort only. It is based on
8188
+ # historical data and current conditions.
8189
+ # Corresponds to the JSON property `estimatedUptime`
8190
+ # @return [String]
8191
+ attr_accessor :estimated_uptime
8192
+
8193
+ # The obtainability score indicates the likelihood of successfully
8194
+ # obtaining (provisioning) the requested number of VMs.
8195
+ # The score range is 0.0 through 1.0. Higher is better.
8196
+ # Corresponds to the JSON property `obtainability`
8197
+ # @return [Float]
8198
+ attr_accessor :obtainability
8199
+
8200
+ def initialize(**args)
8201
+ update!(**args)
8202
+ end
8203
+
8204
+ # Update properties of this object
8205
+ def update!(**args)
8206
+ @estimated_uptime = args[:estimated_uptime] if args.key?(:estimated_uptime)
8207
+ @obtainability = args[:obtainability] if args.key?(:obtainability)
8208
+ end
8209
+ end
8210
+
8211
+ # Shards represent blocks of uniform capacity in recommendations.
8212
+ # Each shard is for a single zone and a single machine shape. Each shard
8213
+ # defines a size expressed as the number of VMs.
8214
+ class CapacityAdviceResponseRecommendationShard
8215
+ include Google::Apis::Core::Hashable
8216
+
8217
+ # The number of instances.
8218
+ # Corresponds to the JSON property `instanceCount`
8219
+ # @return [Fixnum]
8220
+ attr_accessor :instance_count
8221
+
8222
+ # The machine type corresponds to the instance selection in the request.
8223
+ # Corresponds to the JSON property `machineType`
8224
+ # @return [String]
8225
+ attr_accessor :machine_type
8226
+
8227
+ # The provisioning model that you want to view recommendations for.
8228
+ # Corresponds to the JSON property `provisioningModel`
8229
+ # @return [String]
8230
+ attr_accessor :provisioning_model
8231
+
8232
+ # Output only. The zone name for this shard.
8233
+ # Corresponds to the JSON property `zone`
8234
+ # @return [String]
8235
+ attr_accessor :zone
8236
+
8237
+ def initialize(**args)
8238
+ update!(**args)
8239
+ end
8240
+
8241
+ # Update properties of this object
8242
+ def update!(**args)
8243
+ @instance_count = args[:instance_count] if args.key?(:instance_count)
8244
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
8245
+ @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
8246
+ @zone = args[:zone] if args.key?(:zone)
8247
+ end
8248
+ end
8249
+
8250
+ # A request to get the capacity history.
8251
+ class CapacityHistoryRequest
8252
+ include Google::Apis::Core::Hashable
8253
+
8254
+ # Instance properties for this request.
8255
+ # Corresponds to the JSON property `instanceProperties`
8256
+ # @return [Google::Apis::ComputeBeta::CapacityHistoryRequestInstanceProperties]
8257
+ attr_accessor :instance_properties
8258
+
8259
+ # Location policy for this request.
8260
+ # Corresponds to the JSON property `locationPolicy`
8261
+ # @return [Google::Apis::ComputeBeta::CapacityHistoryRequestLocationPolicy]
8262
+ attr_accessor :location_policy
8263
+
8264
+ # List of history types to get capacity history for.
8265
+ # Corresponds to the JSON property `types`
8266
+ # @return [Array<String>]
8267
+ attr_accessor :types
8268
+
8269
+ def initialize(**args)
8270
+ update!(**args)
8271
+ end
8272
+
8273
+ # Update properties of this object
8274
+ def update!(**args)
8275
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
8276
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
8277
+ @types = args[:types] if args.key?(:types)
8278
+ end
8279
+ end
8280
+
8281
+ # Instance properties for this request.
8282
+ class CapacityHistoryRequestInstanceProperties
8283
+ include Google::Apis::Core::Hashable
8284
+
8285
+ # The machine type for the VM, such as `n2-standard-4`.
8286
+ # Corresponds to the JSON property `machineType`
8287
+ # @return [String]
8288
+ attr_accessor :machine_type
8289
+
8290
+ # Scheduling options.
8291
+ # Corresponds to the JSON property `scheduling`
8292
+ # @return [Google::Apis::ComputeBeta::CapacityHistoryRequestInstancePropertiesScheduling]
8293
+ attr_accessor :scheduling
8294
+
8295
+ def initialize(**args)
8296
+ update!(**args)
8297
+ end
8298
+
8299
+ # Update properties of this object
8300
+ def update!(**args)
8301
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
8302
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
8303
+ end
8304
+ end
8305
+
8306
+ # Scheduling options.
8307
+ class CapacityHistoryRequestInstancePropertiesScheduling
8308
+ include Google::Apis::Core::Hashable
8309
+
8310
+ # The provisioning model to get capacity history for.
8311
+ # This field must be set to SPOT.
8312
+ # For more information, see
8313
+ # Compute Engine instances provisioning models.
8314
+ # Corresponds to the JSON property `provisioningModel`
8315
+ # @return [String]
8316
+ attr_accessor :provisioning_model
8317
+
8318
+ def initialize(**args)
8319
+ update!(**args)
8320
+ end
8321
+
8322
+ # Update properties of this object
8323
+ def update!(**args)
8324
+ @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
8325
+ end
8326
+ end
8327
+
8328
+ # Location policy for this request.
8329
+ class CapacityHistoryRequestLocationPolicy
8330
+ include Google::Apis::Core::Hashable
8331
+
8332
+ # The region or zone to get capacity history for.
8333
+ # It can be a partial or full URL. For example, the following are valid
8334
+ # values:
8335
+ #
8336
+ #
8337
+ # - https://www.googleapis.com/compute/v1/projects/project/zones/zone
8338
+ # - projects/project/zones/zone
8339
+ # - zones/zone
8340
+ # This field is optional.
8341
+ # Corresponds to the JSON property `location`
8342
+ # @return [String]
8343
+ attr_accessor :location
8344
+
8345
+ def initialize(**args)
8346
+ update!(**args)
8347
+ end
8348
+
8349
+ # Update properties of this object
8350
+ def update!(**args)
8351
+ @location = args[:location] if args.key?(:location)
8352
+ end
8353
+ end
8354
+
8355
+ # Contains the capacity history.
8356
+ class CapacityHistoryResponse
8357
+ include Google::Apis::Core::Hashable
8358
+
8359
+ #
8360
+ # Corresponds to the JSON property `location`
8361
+ # @return [String]
8362
+ attr_accessor :location
8363
+
8364
+ #
8365
+ # Corresponds to the JSON property `machineType`
8366
+ # @return [String]
8367
+ attr_accessor :machine_type
8368
+
8369
+ #
8370
+ # Corresponds to the JSON property `preemptionHistory`
8371
+ # @return [Array<Google::Apis::ComputeBeta::CapacityHistoryResponsePreemptionRecord>]
8372
+ attr_accessor :preemption_history
8373
+
8374
+ #
8375
+ # Corresponds to the JSON property `priceHistory`
8376
+ # @return [Array<Google::Apis::ComputeBeta::CapacityHistoryResponsePriceRecord>]
8377
+ attr_accessor :price_history
8378
+
8379
+ def initialize(**args)
8380
+ update!(**args)
8381
+ end
8382
+
8383
+ # Update properties of this object
8384
+ def update!(**args)
8385
+ @location = args[:location] if args.key?(:location)
8386
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
8387
+ @preemption_history = args[:preemption_history] if args.key?(:preemption_history)
8388
+ @price_history = args[:price_history] if args.key?(:price_history)
8389
+ end
8390
+ end
8391
+
8392
+ #
8393
+ class CapacityHistoryResponsePreemptionRecord
8394
+ include Google::Apis::Core::Hashable
8395
+
8396
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
8397
+ # Timestamp end (exclusive).
8398
+ # The start must be less than or equal to the end.
8399
+ # When the start equals the end, the interval is empty (matches no time).
8400
+ # When both start and end are unspecified, the interval matches any time.
8401
+ # Corresponds to the JSON property `interval`
8402
+ # @return [Google::Apis::ComputeBeta::Interval]
8403
+ attr_accessor :interval
8404
+
8405
+ #
8406
+ # Corresponds to the JSON property `preemptionRate`
8407
+ # @return [Float]
8408
+ attr_accessor :preemption_rate
8409
+
8410
+ def initialize(**args)
8411
+ update!(**args)
8412
+ end
8413
+
8414
+ # Update properties of this object
8415
+ def update!(**args)
8416
+ @interval = args[:interval] if args.key?(:interval)
8417
+ @preemption_rate = args[:preemption_rate] if args.key?(:preemption_rate)
8418
+ end
8419
+ end
8420
+
8421
+ #
8422
+ class CapacityHistoryResponsePriceRecord
8423
+ include Google::Apis::Core::Hashable
8424
+
8425
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
8426
+ # Timestamp end (exclusive).
8427
+ # The start must be less than or equal to the end.
8428
+ # When the start equals the end, the interval is empty (matches no time).
8429
+ # When both start and end are unspecified, the interval matches any time.
8430
+ # Corresponds to the JSON property `interval`
8431
+ # @return [Google::Apis::ComputeBeta::Interval]
8432
+ attr_accessor :interval
8433
+
8434
+ # Represents an amount of money with its currency type.
8435
+ # Corresponds to the JSON property `listPrice`
8436
+ # @return [Google::Apis::ComputeBeta::Money]
8437
+ attr_accessor :list_price
8438
+
8439
+ def initialize(**args)
8440
+ update!(**args)
8441
+ end
8442
+
8443
+ # Update properties of this object
8444
+ def update!(**args)
8445
+ @interval = args[:interval] if args.key?(:interval)
8446
+ @list_price = args[:list_price] if args.key?(:list_price)
8447
+ end
8448
+ end
8449
+
7912
8450
  # Settings controlling the volume of requests, connections and retries to this
7913
8451
  # backend service.
7914
8452
  class CircuitBreakers
@@ -8077,6 +8615,11 @@ module Google
8077
8615
  # @return [String]
8078
8616
  attr_accessor :name
8079
8617
 
8618
+ # Additional commitment params.
8619
+ # Corresponds to the JSON property `params`
8620
+ # @return [Google::Apis::ComputeBeta::CommitmentParams]
8621
+ attr_accessor :params
8622
+
8080
8623
  # The minimum time duration that you commit to purchasing resources.
8081
8624
  # The plan that you choose determines the preset term length of the
8082
8625
  # commitment (which is 1 year or 3 years) and affects the discount rate that
@@ -8160,8 +8703,8 @@ module Google
8160
8703
  # COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D,COMPUTE_OPTIMIZED_H3,
8161
8704
  # GENERAL_PURPOSE,GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2,GENERAL_PURPOSE_N2,
8162
8705
  # GENERAL_PURPOSE_N2D,GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,GRAPHICS_OPTIMIZED,
8163
- # GRAPHICS_OPTIMIZED_G4,MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3,
8164
- # MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For
8706
+ # GRAPHICS_OPTIMIZED_G4,GRAPHICS_OPTIMIZED_G4_VGPU,MEMORY_OPTIMIZED,
8707
+ # MEMORY_OPTIMIZED_M3,MEMORY_OPTIMIZED_X4, STORAGE_OPTIMIZED_Z3. For
8165
8708
  # example, type MEMORY_OPTIMIZED specifies a commitment that
8166
8709
  # applies only to eligible resources of memory optimized M1 and M2 machine
8167
8710
  # series. Type GENERAL_PURPOSE specifies a commitment that
@@ -8188,6 +8731,7 @@ module Google
8188
8731
  @license_resource = args[:license_resource] if args.key?(:license_resource)
8189
8732
  @merge_source_commitments = args[:merge_source_commitments] if args.key?(:merge_source_commitments)
8190
8733
  @name = args[:name] if args.key?(:name)
8734
+ @params = args[:params] if args.key?(:params)
8191
8735
  @plan = args[:plan] if args.key?(:plan)
8192
8736
  @region = args[:region] if args.key?(:region)
8193
8737
  @reservations = args[:reservations] if args.key?(:reservations)
@@ -8459,6 +9003,31 @@ module Google
8459
9003
  end
8460
9004
  end
8461
9005
 
9006
+ # Additional commitment params.
9007
+ class CommitmentParams
9008
+ include Google::Apis::Core::Hashable
9009
+
9010
+ # Input only. Resource manager tags to be bound to the commitment. Tag keys and
9011
+ # values have the same definition as resource
9012
+ # manager tags. Keys and values can be either in numeric format,
9013
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
9014
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
9015
+ # ``tag_value_short_name``. The field is ignored (both PUT &
9016
+ # PATCH) when empty.
9017
+ # Corresponds to the JSON property `resourceManagerTags`
9018
+ # @return [Hash<String,String>]
9019
+ attr_accessor :resource_manager_tags
9020
+
9021
+ def initialize(**args)
9022
+ update!(**args)
9023
+ end
9024
+
9025
+ # Update properties of this object
9026
+ def update!(**args)
9027
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
9028
+ end
9029
+ end
9030
+
8462
9031
  # [Output Only] Contains output only fields.
8463
9032
  class CommitmentResourceStatus
8464
9033
  include Google::Apis::Core::Hashable
@@ -8821,6 +9390,39 @@ module Google
8821
9390
  end
8822
9391
  end
8823
9392
 
9393
+ # Response message for RegionCompositeHealthChecks.GetHealth
9394
+ class CompositeHealthCheckHealth
9395
+ include Google::Apis::Core::Hashable
9396
+
9397
+ # Health sources and their corresponding health states.
9398
+ # Corresponds to the JSON property `healthSources`
9399
+ # @return [Array<Google::Apis::ComputeBeta::CompositeHealthChecksGetHealthResponseHealthSourceHealth>]
9400
+ attr_accessor :health_sources
9401
+
9402
+ # Health state of the CompositeHealthCheck.
9403
+ # Corresponds to the JSON property `healthState`
9404
+ # @return [String]
9405
+ attr_accessor :health_state
9406
+
9407
+ # Output only. [Output Only] Type of resource. Alwayscompute#
9408
+ # compositeHealthCheckHealth for the health of
9409
+ # composite health checks.
9410
+ # Corresponds to the JSON property `kind`
9411
+ # @return [String]
9412
+ attr_accessor :kind
9413
+
9414
+ def initialize(**args)
9415
+ update!(**args)
9416
+ end
9417
+
9418
+ # Update properties of this object
9419
+ def update!(**args)
9420
+ @health_sources = args[:health_sources] if args.key?(:health_sources)
9421
+ @health_state = args[:health_state] if args.key?(:health_state)
9422
+ @kind = args[:kind] if args.key?(:kind)
9423
+ end
9424
+ end
9425
+
8824
9426
  #
8825
9427
  class CompositeHealthCheckList
8826
9428
  include Google::Apis::Core::Hashable
@@ -8946,6 +9548,31 @@ module Google
8946
9548
  end
8947
9549
  end
8948
9550
 
9551
+ #
9552
+ class CompositeHealthChecksGetHealthResponseHealthSourceHealth
9553
+ include Google::Apis::Core::Hashable
9554
+
9555
+ # Health state of the associated HealthSource resource.
9556
+ # Corresponds to the JSON property `healthState`
9557
+ # @return [String]
9558
+ attr_accessor :health_state
9559
+
9560
+ # Fully qualified URL of the associated HealthSource resource.
9561
+ # Corresponds to the JSON property `source`
9562
+ # @return [String]
9563
+ attr_accessor :source
9564
+
9565
+ def initialize(**args)
9566
+ update!(**args)
9567
+ end
9568
+
9569
+ # Update properties of this object
9570
+ def update!(**args)
9571
+ @health_state = args[:health_state] if args.key?(:health_state)
9572
+ @source = args[:source] if args.key?(:source)
9573
+ end
9574
+ end
9575
+
8949
9576
  #
8950
9577
  class CompositeHealthChecksScopedList
8951
9578
  include Google::Apis::Core::Hashable
@@ -10779,8 +11406,8 @@ module Google
10779
11406
  # Input only. Resource manager tags to be bound to the disk. Tag keys and values
10780
11407
  # have the same definition as resource
10781
11408
  # manager tags. Keys and values can be either in numeric format,
10782
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
10783
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
11409
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
11410
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
10784
11411
  # ``tag_value_short_name``. The field is ignored (both PUT &
10785
11412
  # PATCH) when empty.
10786
11413
  # Corresponds to the JSON property `resourceManagerTags`
@@ -11384,6 +12011,34 @@ module Google
11384
12011
  end
11385
12012
  end
11386
12013
 
12014
+ #
12015
+ class DiskUpdateKmsKeyRequest
12016
+ include Google::Apis::Core::Hashable
12017
+
12018
+ # Optional. The new KMS key to replace the current one on the disk. If empty,
12019
+ # the disk
12020
+ # will be re-encrypted using the primary version of the disk's current KMS
12021
+ # key.
12022
+ # The KMS key can be provided in the following formats:
12023
+ #
12024
+ #
12025
+ # - projects/project_id/locations/location/keyRings/key_ring/cryptoKeys/key
12026
+ # Where project is the project ID or
12027
+ # project number.
12028
+ # Corresponds to the JSON property `kmsKeyName`
12029
+ # @return [String]
12030
+ attr_accessor :kms_key_name
12031
+
12032
+ def initialize(**args)
12033
+ update!(**args)
12034
+ end
12035
+
12036
+ # Update properties of this object
12037
+ def update!(**args)
12038
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
12039
+ end
12040
+ end
12041
+
11387
12042
  #
11388
12043
  class DisksAddResourcePoliciesRequest
11389
12044
  include Google::Apis::Core::Hashable
@@ -13061,8 +13716,8 @@ module Google
13061
13716
  # @return [String]
13062
13717
  attr_accessor :policy_source
13063
13718
 
13064
- # The type of the firewall policy. This field can be eitherVPC_POLICY or
13065
- # RDMA_ROCE_POLICY.
13719
+ # The type of the firewall policy. This field can be one of
13720
+ # VPC_POLICY, RDMA_ROCE_POLICY or ULL_POLICY.
13066
13721
  # Note: if not specified then VPC_POLICY will be used.
13067
13722
  # Corresponds to the JSON property `policyType`
13068
13723
  # @return [String]
@@ -13725,9 +14380,8 @@ module Google
13725
14380
  class FixedOrPercent
13726
14381
  include Google::Apis::Core::Hashable
13727
14382
 
13728
- # Output only. [Output Only] Absolute value of VM instances calculated based on
13729
- # the
13730
- # specific mode.
14383
+ # Output only. Absolute value of VM instances calculated based on the specific
14384
+ # mode.
13731
14385
  #
13732
14386
  #
13733
14387
  # - If the value is fixed, then the calculated
@@ -13870,6 +14524,11 @@ module Google
13870
14524
  # @return [String]
13871
14525
  attr_accessor :ip_address
13872
14526
 
14527
+ #
14528
+ # Corresponds to the JSON property `IPAddresses`
14529
+ # @return [Array<String>]
14530
+ attr_accessor :ip_addresses
14531
+
13873
14532
  # The IP protocol to which this rule applies.
13874
14533
  # For protocol forwarding, valid
13875
14534
  # options are TCP, UDP, ESP,AH, SCTP, ICMP andL3_DEFAULT.
@@ -13920,6 +14579,20 @@ module Google
13920
14579
  attr_accessor :allow_psc_global_access
13921
14580
  alias_method :allow_psc_global_access?, :allow_psc_global_access
13922
14581
 
14582
+ # Output only. [Output Only]. The extensions that are attached to this
14583
+ # ForwardingRule.
14584
+ # Corresponds to the JSON property `attachedExtensions`
14585
+ # @return [Array<Google::Apis::ComputeBeta::ForwardingRuleAttachedExtension>]
14586
+ attr_accessor :attached_extensions
14587
+
14588
+ # [Output Only] Specifies the availability group of the forwarding rule. This
14589
+ # field is for use by global external passthrough load balancers (load
14590
+ # balancing scheme EXTERNAL_PASSTHROUGH) and is set for the child forwarding
14591
+ # rules only.
14592
+ # Corresponds to the JSON property `availabilityGroup`
14593
+ # @return [String]
14594
+ attr_accessor :availability_group
14595
+
13923
14596
  # Identifies the backend service to which the forwarding rule sends traffic.
13924
14597
  # Required for internal and external passthrough Network Load Balancers;
13925
14598
  # must be omitted for all other load balancer types.
@@ -13938,6 +14611,16 @@ module Google
13938
14611
  # @return [String]
13939
14612
  attr_accessor :base_forwarding_rule
13940
14613
 
14614
+ # Output only. [Output Only] Applicable only to the parent forwarding rule of
14615
+ # global
14616
+ # external passthrough load balancers. This field contains the list of child
14617
+ # forwarding rule URLs associated with the parent forwarding rule: one for
14618
+ # each availability group. AVAILABILITY_GROUP0 will be the first element, and
14619
+ # AVAILABILITY_GROUP1 will be the second element.
14620
+ # Corresponds to the JSON property `childForwardingRules`
14621
+ # @return [Array<String>]
14622
+ attr_accessor :child_forwarding_rules
14623
+
13941
14624
  # Output only. [Output Only] Creation timestamp inRFC3339
13942
14625
  # text format.
13943
14626
  # Corresponds to the JSON property `creationTimestamp`
@@ -14131,6 +14814,14 @@ module Google
14131
14814
  attr_accessor :no_automate_dns_zone
14132
14815
  alias_method :no_automate_dns_zone?, :no_automate_dns_zone
14133
14816
 
14817
+ # Output only. [Output Only] Applicable only to the child forwarding rules of
14818
+ # global external
14819
+ # passthrough load balancers. This field contains the URL of the parent
14820
+ # forwarding rule.
14821
+ # Corresponds to the JSON property `parentForwardingRule`
14822
+ # @return [String]
14823
+ attr_accessor :parent_forwarding_rule
14824
+
14134
14825
  # The ports, portRange, and allPorts
14135
14826
  # fields are mutually exclusive. Only packets addressed to ports in the
14136
14827
  # specified range will be forwarded to the backends configured with this
@@ -14289,12 +14980,16 @@ module Google
14289
14980
  # Update properties of this object
14290
14981
  def update!(**args)
14291
14982
  @ip_address = args[:ip_address] if args.key?(:ip_address)
14983
+ @ip_addresses = args[:ip_addresses] if args.key?(:ip_addresses)
14292
14984
  @ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
14293
14985
  @all_ports = args[:all_ports] if args.key?(:all_ports)
14294
14986
  @allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
14295
14987
  @allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access)
14988
+ @attached_extensions = args[:attached_extensions] if args.key?(:attached_extensions)
14989
+ @availability_group = args[:availability_group] if args.key?(:availability_group)
14296
14990
  @backend_service = args[:backend_service] if args.key?(:backend_service)
14297
14991
  @base_forwarding_rule = args[:base_forwarding_rule] if args.key?(:base_forwarding_rule)
14992
+ @child_forwarding_rules = args[:child_forwarding_rules] if args.key?(:child_forwarding_rules)
14298
14993
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
14299
14994
  @description = args[:description] if args.key?(:description)
14300
14995
  @external_managed_backend_bucket_migration_state = args[:external_managed_backend_bucket_migration_state] if args.key?(:external_managed_backend_bucket_migration_state)
@@ -14313,6 +15008,7 @@ module Google
14313
15008
  @network = args[:network] if args.key?(:network)
14314
15009
  @network_tier = args[:network_tier] if args.key?(:network_tier)
14315
15010
  @no_automate_dns_zone = args[:no_automate_dns_zone] if args.key?(:no_automate_dns_zone)
15011
+ @parent_forwarding_rule = args[:parent_forwarding_rule] if args.key?(:parent_forwarding_rule)
14316
15012
  @port_range = args[:port_range] if args.key?(:port_range)
14317
15013
  @ports = args[:ports] if args.key?(:ports)
14318
15014
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
@@ -14460,6 +15156,25 @@ module Google
14460
15156
  end
14461
15157
  end
14462
15158
 
15159
+ # Reference to an extension resource that is attached to this ForwardingRule.
15160
+ class ForwardingRuleAttachedExtension
15161
+ include Google::Apis::Core::Hashable
15162
+
15163
+ # Output only. The resource name.
15164
+ # Corresponds to the JSON property `reference`
15165
+ # @return [String]
15166
+ attr_accessor :reference
15167
+
15168
+ def initialize(**args)
15169
+ update!(**args)
15170
+ end
15171
+
15172
+ # Update properties of this object
15173
+ def update!(**args)
15174
+ @reference = args[:reference] if args.key?(:reference)
15175
+ end
15176
+ end
15177
+
14463
15178
  # Contains a list of ForwardingRule resources.
14464
15179
  class ForwardingRuleList
14465
15180
  include Google::Apis::Core::Hashable
@@ -14849,6 +15564,11 @@ module Google
14849
15564
  # @return [String]
14850
15565
  attr_accessor :name_prefix
14851
15566
 
15567
+ # Additional future reservation params.
15568
+ # Corresponds to the JSON property `params`
15569
+ # @return [Google::Apis::ComputeBeta::FutureReservationParams]
15570
+ attr_accessor :params
15571
+
14852
15572
  # Planning state before being submitted for evaluation
14853
15573
  # Corresponds to the JSON property `planningStatus`
14854
15574
  # @return [String]
@@ -14947,6 +15667,7 @@ module Google
14947
15667
  @kind = args[:kind] if args.key?(:kind)
14948
15668
  @name = args[:name] if args.key?(:name)
14949
15669
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
15670
+ @params = args[:params] if args.key?(:params)
14950
15671
  @planning_status = args[:planning_status] if args.key?(:planning_status)
14951
15672
  @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
14952
15673
  @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
@@ -14998,6 +15719,32 @@ module Google
14998
15719
  end
14999
15720
  end
15000
15721
 
15722
+ # Additional future reservation params.
15723
+ class FutureReservationParams
15724
+ include Google::Apis::Core::Hashable
15725
+
15726
+ # Input only. Resource manager tags to be bound to the future reservation. Tag
15727
+ # keys and
15728
+ # values have the same definition as resource
15729
+ # manager tags. Keys and values can be either in numeric format,
15730
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
15731
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
15732
+ # ``tag_value_short_name``. The field is ignored (both PUT &
15733
+ # PATCH) when empty.
15734
+ # Corresponds to the JSON property `resourceManagerTags`
15735
+ # @return [Hash<String,String>]
15736
+ attr_accessor :resource_manager_tags
15737
+
15738
+ def initialize(**args)
15739
+ update!(**args)
15740
+ end
15741
+
15742
+ # Update properties of this object
15743
+ def update!(**args)
15744
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
15745
+ end
15746
+ end
15747
+
15001
15748
  #
15002
15749
  class FutureReservationSpecificSkuProperties
15003
15750
  include Google::Apis::Core::Hashable
@@ -16080,14 +16827,14 @@ module Google
16080
16827
  class GetVersionOperationMetadataSbomInfo
16081
16828
  include Google::Apis::Core::Hashable
16082
16829
 
16083
- # SBOM versions currently applied to the resource. The key is the component
16084
- # name and the value is the version.
16830
+ # A mapping of components to their currently-applied versions or other
16831
+ # appropriate identifiers.
16085
16832
  # Corresponds to the JSON property `currentComponentVersions`
16086
16833
  # @return [Hash<String,String>]
16087
16834
  attr_accessor :current_component_versions
16088
16835
 
16089
- # SBOM versions scheduled for the next maintenance. The key is the
16090
- # component name and the value is the version.
16836
+ # A mapping of components to their target versions or other appropriate
16837
+ # identifiers.
16091
16838
  # Corresponds to the JSON property `targetComponentVersions`
16092
16839
  # @return [Hash<String,String>]
16093
16840
  attr_accessor :target_component_versions
@@ -17092,6 +17839,7 @@ module Google
17092
17839
  # - TDX_CAPABLE
17093
17840
  # - IDPF
17094
17841
  # - SNP_SVSM_CAPABLE
17842
+ # - CCA_CAPABLE
17095
17843
  # For more information, see
17096
17844
  # Enabling guest operating system features.
17097
17845
  # Corresponds to the JSON property `type`
@@ -19245,6 +19993,38 @@ module Google
19245
19993
  end
19246
19994
  end
19247
19995
 
19996
+ # Response message for RegionHealthSources.GetHealth
19997
+ class HealthSourceHealth
19998
+ include Google::Apis::Core::Hashable
19999
+
20000
+ # Health state of the HealthSource.
20001
+ # Corresponds to the JSON property `healthState`
20002
+ # @return [String]
20003
+ attr_accessor :health_state
20004
+
20005
+ # Output only. [Output Only] Type of resource. Alwayscompute#healthSourceHealth
20006
+ # for the health of health sources.
20007
+ # Corresponds to the JSON property `kind`
20008
+ # @return [String]
20009
+ attr_accessor :kind
20010
+
20011
+ # Health state details of the sources.
20012
+ # Corresponds to the JSON property `sources`
20013
+ # @return [Array<Google::Apis::ComputeBeta::HealthSourcesGetHealthResponseSourceInfo>]
20014
+ attr_accessor :sources
20015
+
20016
+ def initialize(**args)
20017
+ update!(**args)
20018
+ end
20019
+
20020
+ # Update properties of this object
20021
+ def update!(**args)
20022
+ @health_state = args[:health_state] if args.key?(:health_state)
20023
+ @kind = args[:kind] if args.key?(:kind)
20024
+ @sources = args[:sources] if args.key?(:sources)
20025
+ end
20026
+ end
20027
+
19248
20028
  #
19249
20029
  class HealthSourceList
19250
20030
  include Google::Apis::Core::Hashable
@@ -19370,6 +20150,75 @@ module Google
19370
20150
  end
19371
20151
  end
19372
20152
 
20153
+ #
20154
+ class HealthSourcesGetHealthResponseSourceInfo
20155
+ include Google::Apis::Core::Hashable
20156
+
20157
+ # Represents an instance group or network endpoint group behind the source
20158
+ # backend service. Only used if the sourceType of the regionHealthSource
20159
+ # is BACKEND_SERVICE.
20160
+ # Corresponds to the JSON property `backends`
20161
+ # @return [Array<Google::Apis::ComputeBeta::HealthSourcesGetHealthResponseSourceInfoBackendInfo>]
20162
+ attr_accessor :backends
20163
+
20164
+ # Fully qualified URL of the forwarding rule associated with the source
20165
+ # resource if it is a L4ILB backend service.
20166
+ # Corresponds to the JSON property `forwardingRule`
20167
+ # @return [String]
20168
+ attr_accessor :forwarding_rule
20169
+
20170
+ # Fully qualified URL of the associated source resource. This is always a
20171
+ # backend service URL.
20172
+ # Corresponds to the JSON property `source`
20173
+ # @return [String]
20174
+ attr_accessor :source
20175
+
20176
+ def initialize(**args)
20177
+ update!(**args)
20178
+ end
20179
+
20180
+ # Update properties of this object
20181
+ def update!(**args)
20182
+ @backends = args[:backends] if args.key?(:backends)
20183
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
20184
+ @source = args[:source] if args.key?(:source)
20185
+ end
20186
+ end
20187
+
20188
+ #
20189
+ class HealthSourcesGetHealthResponseSourceInfoBackendInfo
20190
+ include Google::Apis::Core::Hashable
20191
+
20192
+ # Total number of endpoints when determining the health of the
20193
+ # regionHealthSource.
20194
+ # Corresponds to the JSON property `endpointCount`
20195
+ # @return [Fixnum]
20196
+ attr_accessor :endpoint_count
20197
+
20198
+ # Fully qualified URL of an instance group or network endpoint group
20199
+ # behind the source backend service.
20200
+ # Corresponds to the JSON property `group`
20201
+ # @return [String]
20202
+ attr_accessor :group
20203
+
20204
+ # Number of endpoints considered healthy when determining health of the
20205
+ # regionHealthSource.
20206
+ # Corresponds to the JSON property `healthyEndpointCount`
20207
+ # @return [Fixnum]
20208
+ attr_accessor :healthy_endpoint_count
20209
+
20210
+ def initialize(**args)
20211
+ update!(**args)
20212
+ end
20213
+
20214
+ # Update properties of this object
20215
+ def update!(**args)
20216
+ @endpoint_count = args[:endpoint_count] if args.key?(:endpoint_count)
20217
+ @group = args[:group] if args.key?(:group)
20218
+ @healthy_endpoint_count = args[:healthy_endpoint_count] if args.key?(:healthy_endpoint_count)
20219
+ end
20220
+ end
20221
+
19373
20222
  #
19374
20223
  class HealthSourcesScopedList
19375
20224
  include Google::Apis::Core::Hashable
@@ -21618,8 +22467,8 @@ module Google
21618
22467
  # values have
21619
22468
  # the same definition as resource
21620
22469
  # manager tags. Keys and values can be either in numeric format,
21621
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
21622
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
22470
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
22471
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
21623
22472
  # ``tag_value_short_name``. The field is ignored (both PUT &
21624
22473
  # PATCH) when empty.
21625
22474
  # Corresponds to the JSON property `resourceManagerTags`
@@ -22791,15 +23640,13 @@ module Google
22791
23640
  # @return [String]
22792
23641
  attr_accessor :base_instance_name
22793
23642
 
22794
- # Output only. [Output Only] The creation timestamp for this managed instance
22795
- # group inRFC3339
23643
+ # Output only. The creation timestamp for this managed instance group inRFC3339
22796
23644
  # text format.
22797
23645
  # Corresponds to the JSON property `creationTimestamp`
22798
23646
  # @return [String]
22799
23647
  attr_accessor :creation_timestamp
22800
23648
 
22801
- # Output only. [Output Only] The list of instance actions and the number of
22802
- # instances
23649
+ # Output only. The list of instance actions and the number of instances
22803
23650
  # in this managed instance group that are scheduled for each of those
22804
23651
  # actions.
22805
23652
  # Corresponds to the JSON property `currentActions`
@@ -22834,8 +23681,7 @@ module Google
22834
23681
  # @return [String]
22835
23682
  attr_accessor :fingerprint
22836
23683
 
22837
- # Output only. [Output Only] A unique identifier for this resource type. The
22838
- # server
23684
+ # Output only. A unique identifier for this resource type. The server
22839
23685
  # generates this identifier.
22840
23686
  # Corresponds to the JSON property `id`
22841
23687
  # @return [Fixnum]
@@ -22849,7 +23695,7 @@ module Google
22849
23695
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerInstanceFlexibilityPolicy]
22850
23696
  attr_accessor :instance_flexibility_policy
22851
23697
 
22852
- # Output only. [Output Only] The URL of the Instance Group resource.
23698
+ # Output only. The URL of the Instance Group resource.
22853
23699
  # Corresponds to the JSON property `instanceGroup`
22854
23700
  # @return [String]
22855
23701
  attr_accessor :instance_group
@@ -22868,8 +23714,8 @@ module Google
22868
23714
  # @return [String]
22869
23715
  attr_accessor :instance_template
22870
23716
 
22871
- # Output only. [Output Only] The resource type, which is alwayscompute#
22872
- # instanceGroupManager for managed instance groups.
23717
+ # Output only. The resource type, which is alwayscompute#instanceGroupManager
23718
+ # for managed instance groups.
22873
23719
  # Corresponds to the JSON property `kind`
22874
23720
  # @return [String]
22875
23721
  attr_accessor :kind
@@ -22913,20 +23759,19 @@ module Google
22913
23759
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerResourcePolicies]
22914
23760
  attr_accessor :resource_policies
22915
23761
 
22916
- # Output only. [Output Only] Reserved for future use.
23762
+ # Output only. Reserved for future use.
22917
23763
  # Corresponds to the JSON property `satisfiesPzi`
22918
23764
  # @return [Boolean]
22919
23765
  attr_accessor :satisfies_pzi
22920
23766
  alias_method :satisfies_pzi?, :satisfies_pzi
22921
23767
 
22922
- # Output only. [Output Only] Reserved for future use.
23768
+ # Output only. Reserved for future use.
22923
23769
  # Corresponds to the JSON property `satisfiesPzs`
22924
23770
  # @return [Boolean]
22925
23771
  attr_accessor :satisfies_pzs
22926
23772
  alias_method :satisfies_pzs?, :satisfies_pzs
22927
23773
 
22928
- # Output only. [Output Only] The URL for this managed instance group. The server
22929
- # defines
23774
+ # Output only. The URL for this managed instance group. The server defines
22930
23775
  # this URL.
22931
23776
  # Corresponds to the JSON property `selfLink`
22932
23777
  # @return [String]
@@ -22951,7 +23796,7 @@ module Google
22951
23796
  # @return [Google::Apis::ComputeBeta::StatefulPolicy]
22952
23797
  attr_accessor :stateful_policy
22953
23798
 
22954
- # Output only. [Output Only] The status of this managed instance group.
23799
+ # Output only. The status of this managed instance group.
22955
23800
  # Corresponds to the JSON property `status`
22956
23801
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatus]
22957
23802
  attr_accessor :status
@@ -23020,7 +23865,7 @@ module Google
23020
23865
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerVersion>]
23021
23866
  attr_accessor :versions
23022
23867
 
23023
- # Output only. [Output Only] The URL of azone
23868
+ # Output only. The URL of azone
23024
23869
  # where the managed instance group is located (for zonal resources).
23025
23870
  # Corresponds to the JSON property `zone`
23026
23871
  # @return [String]
@@ -23076,22 +23921,20 @@ module Google
23076
23921
  class InstanceGroupManagerActionsSummary
23077
23922
  include Google::Apis::Core::Hashable
23078
23923
 
23079
- # Output only. [Output Only] The total number of instances in the managed
23080
- # instance group
23924
+ # Output only. The total number of instances in the managed instance group
23081
23925
  # that are scheduled to be abandoned. Abandoning an instance removes it
23082
23926
  # from the managed instance group without deleting it.
23083
23927
  # Corresponds to the JSON property `abandoning`
23084
23928
  # @return [Fixnum]
23085
23929
  attr_accessor :abandoning
23086
23930
 
23087
- # [Output Only] The number of instances in the managed instance group that
23931
+ # Output only. The number of instances in the managed instance group that
23088
23932
  # are scheduled to be adopted or are currently being adopted.
23089
23933
  # Corresponds to the JSON property `adopting`
23090
23934
  # @return [Fixnum]
23091
23935
  attr_accessor :adopting
23092
23936
 
23093
- # Output only. [Output Only] The number of instances in the managed instance
23094
- # group that
23937
+ # Output only. The number of instances in the managed instance group that
23095
23938
  # are scheduled to be created or are currently being created. If the group
23096
23939
  # fails to create any of these instances, it tries again until it creates
23097
23940
  # the instance successfully.
@@ -23101,8 +23944,7 @@ module Google
23101
23944
  # @return [Fixnum]
23102
23945
  attr_accessor :creating
23103
23946
 
23104
- # Output only. [Output Only] The number of instances that the managed instance
23105
- # group
23947
+ # Output only. The number of instances that the managed instance group
23106
23948
  # will attempt to create. The group attempts to create each instance
23107
23949
  # only once. If the group fails to create any of these instances, it
23108
23950
  # decreases the group's targetSize value accordingly.
@@ -23110,22 +23952,19 @@ module Google
23110
23952
  # @return [Fixnum]
23111
23953
  attr_accessor :creating_without_retries
23112
23954
 
23113
- # Output only. [Output Only] The number of instances in the managed instance
23114
- # group that
23955
+ # Output only. The number of instances in the managed instance group that
23115
23956
  # are scheduled to be deleted or are currently being deleted.
23116
23957
  # Corresponds to the JSON property `deleting`
23117
23958
  # @return [Fixnum]
23118
23959
  attr_accessor :deleting
23119
23960
 
23120
- # Output only. [Output Only] The number of instances in the managed instance
23121
- # group that
23961
+ # Output only. The number of instances in the managed instance group that
23122
23962
  # are running and have no scheduled actions.
23123
23963
  # Corresponds to the JSON property `none`
23124
23964
  # @return [Fixnum]
23125
23965
  attr_accessor :none
23126
23966
 
23127
- # Output only. [Output Only] The number of instances in the managed instance
23128
- # group that
23967
+ # Output only. The number of instances in the managed instance group that
23129
23968
  # are scheduled to be recreated or are currently being being recreated.
23130
23969
  # Recreating an instance deletes the existing root persistent disk
23131
23970
  # and creates a new disk from the image that is defined in the
@@ -23134,8 +23973,7 @@ module Google
23134
23973
  # @return [Fixnum]
23135
23974
  attr_accessor :recreating
23136
23975
 
23137
- # Output only. [Output Only] The number of instances in the managed instance
23138
- # group that
23976
+ # Output only. The number of instances in the managed instance group that
23139
23977
  # are being reconfigured with properties that do not require a restart
23140
23978
  # or a recreate action. For example, setting or removing target
23141
23979
  # pools for the instance.
@@ -23143,43 +23981,37 @@ module Google
23143
23981
  # @return [Fixnum]
23144
23982
  attr_accessor :refreshing
23145
23983
 
23146
- # Output only. [Output Only] The number of instances in the managed instance
23147
- # group that
23984
+ # Output only. The number of instances in the managed instance group that
23148
23985
  # are scheduled to be restarted or are currently being restarted.
23149
23986
  # Corresponds to the JSON property `restarting`
23150
23987
  # @return [Fixnum]
23151
23988
  attr_accessor :restarting
23152
23989
 
23153
- # Output only. [Output Only] The number of instances in the managed instance
23154
- # group that
23990
+ # Output only. The number of instances in the managed instance group that
23155
23991
  # are scheduled to be resumed or are currently being resumed.
23156
23992
  # Corresponds to the JSON property `resuming`
23157
23993
  # @return [Fixnum]
23158
23994
  attr_accessor :resuming
23159
23995
 
23160
- # Output only. [Output Only] The number of instances in the managed instance
23161
- # group that
23996
+ # Output only. The number of instances in the managed instance group that
23162
23997
  # are scheduled to be started or are currently being started.
23163
23998
  # Corresponds to the JSON property `starting`
23164
23999
  # @return [Fixnum]
23165
24000
  attr_accessor :starting
23166
24001
 
23167
- # Output only. [Output Only] The number of instances in the managed instance
23168
- # group that
24002
+ # Output only. The number of instances in the managed instance group that
23169
24003
  # are scheduled to be stopped or are currently being stopped.
23170
24004
  # Corresponds to the JSON property `stopping`
23171
24005
  # @return [Fixnum]
23172
24006
  attr_accessor :stopping
23173
24007
 
23174
- # Output only. [Output Only] The number of instances in the managed instance
23175
- # group that
24008
+ # Output only. The number of instances in the managed instance group that
23176
24009
  # are scheduled to be suspended or are currently being suspended.
23177
24010
  # Corresponds to the JSON property `suspending`
23178
24011
  # @return [Fixnum]
23179
24012
  attr_accessor :suspending
23180
24013
 
23181
- # Output only. [Output Only] The number of instances in the managed instance
23182
- # group that
24014
+ # Output only. The number of instances in the managed instance group that
23183
24015
  # are being verified. See the managedInstances[].currentAction
23184
24016
  # property in the listManagedInstances method documentation.
23185
24017
  # Corresponds to the JSON property `verifying`
@@ -23213,8 +24045,7 @@ module Google
23213
24045
  class InstanceGroupManagerAggregatedList
23214
24046
  include Google::Apis::Core::Hashable
23215
24047
 
23216
- # Output only. [Output Only] Unique identifier for the resource; defined by the
23217
- # server.
24048
+ # Output only. Unique identifier for the resource; defined by the server.
23218
24049
  # Corresponds to the JSON property `id`
23219
24050
  # @return [String]
23220
24051
  attr_accessor :id
@@ -23224,15 +24055,14 @@ module Google
23224
24055
  # @return [Hash<String,Google::Apis::ComputeBeta::InstanceGroupManagersScopedList>]
23225
24056
  attr_accessor :items
23226
24057
 
23227
- # Output only. [Output Only] The resource type, which is alwayscompute#
24058
+ # Output only. The resource type, which is alwayscompute#
23228
24059
  # instanceGroupManagerAggregatedList for an aggregated
23229
24060
  # list of managed instance groups.
23230
24061
  # Corresponds to the JSON property `kind`
23231
24062
  # @return [String]
23232
24063
  attr_accessor :kind
23233
24064
 
23234
- # Output only. [Output Only] This token allows you to get the next page of
23235
- # results for
24065
+ # Output only. This token allows you to get the next page of results for
23236
24066
  # list requests. If the number of results is larger thanmaxResults, use the
23237
24067
  # nextPageToken as a value for
23238
24068
  # the query parameter pageToken in the next list request.
@@ -23242,17 +24072,17 @@ module Google
23242
24072
  # @return [String]
23243
24073
  attr_accessor :next_page_token
23244
24074
 
23245
- # Output only. [Output Only] Server-defined URL for this resource.
24075
+ # Output only. Server-defined URL for this resource.
23246
24076
  # Corresponds to the JSON property `selfLink`
23247
24077
  # @return [String]
23248
24078
  attr_accessor :self_link
23249
24079
 
23250
- # Output only. [Output Only] Unreachable resources.
24080
+ # Output only. Unreachable resources.
23251
24081
  # Corresponds to the JSON property `unreachables`
23252
24082
  # @return [Array<String>]
23253
24083
  attr_accessor :unreachables
23254
24084
 
23255
- # Output only. [Output Only] Informational warning message.
24085
+ # Output only. Informational warning message.
23256
24086
  # Corresponds to the JSON property `warning`
23257
24087
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerAggregatedList::Warning]
23258
24088
  attr_accessor :warning
@@ -23272,7 +24102,7 @@ module Google
23272
24102
  @warning = args[:warning] if args.key?(:warning)
23273
24103
  end
23274
24104
 
23275
- # Output only. [Output Only] Informational warning message.
24105
+ # Output only. Informational warning message.
23276
24106
  class Warning
23277
24107
  include Google::Apis::Core::Hashable
23278
24108
 
@@ -23587,8 +24417,7 @@ module Google
23587
24417
  class InstanceGroupManagerList
23588
24418
  include Google::Apis::Core::Hashable
23589
24419
 
23590
- # Output only. [Output Only] Unique identifier for the resource; defined by the
23591
- # server.
24420
+ # Output only. Unique identifier for the resource; defined by the server.
23592
24421
  # Corresponds to the JSON property `id`
23593
24422
  # @return [String]
23594
24423
  attr_accessor :id
@@ -23598,14 +24427,14 @@ module Google
23598
24427
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
23599
24428
  attr_accessor :items
23600
24429
 
23601
- # Output only. [Output Only] The resource type, which is always
23602
- # compute#instanceGroupManagerList for a list of managed instance groups.
24430
+ # Output only. The resource type, which is always compute#
24431
+ # instanceGroupManagerList for a
24432
+ # list of managed instance groups.
23603
24433
  # Corresponds to the JSON property `kind`
23604
24434
  # @return [String]
23605
24435
  attr_accessor :kind
23606
24436
 
23607
- # Output only. [Output Only] This token allows you to get the next page of
23608
- # results for
24437
+ # Output only. This token allows you to get the next page of results for
23609
24438
  # list requests. If the number of results is larger thanmaxResults, use the
23610
24439
  # nextPageToken as a value for
23611
24440
  # the query parameter pageToken in the next list request.
@@ -23615,12 +24444,12 @@ module Google
23615
24444
  # @return [String]
23616
24445
  attr_accessor :next_page_token
23617
24446
 
23618
- # Output only. [Output Only] Server-defined URL for this resource.
24447
+ # Output only. Server-defined URL for this resource.
23619
24448
  # Corresponds to the JSON property `selfLink`
23620
24449
  # @return [String]
23621
24450
  attr_accessor :self_link
23622
24451
 
23623
- # Output only. [Output Only] Informational warning message.
24452
+ # Output only. Informational warning message.
23624
24453
  # Corresponds to the JSON property `warning`
23625
24454
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerList::Warning]
23626
24455
  attr_accessor :warning
@@ -23639,7 +24468,7 @@ module Google
23639
24468
  @warning = args[:warning] if args.key?(:warning)
23640
24469
  end
23641
24470
 
23642
- # Output only. [Output Only] Informational warning message.
24471
+ # Output only. Informational warning message.
23643
24472
  class Warning
23644
24473
  include Google::Apis::Core::Hashable
23645
24474
 
@@ -23749,8 +24578,7 @@ module Google
23749
24578
  # @return [Fixnum]
23750
24579
  attr_accessor :count
23751
24580
 
23752
- # Output only. [Output Only] The creation timestamp for this resize request
23753
- # inRFC3339
24581
+ # Output only. The creation timestamp for this resize request inRFC3339
23754
24582
  # text format.
23755
24583
  # Corresponds to the JSON property `creationTimestamp`
23756
24584
  # @return [String]
@@ -23761,9 +24589,9 @@ module Google
23761
24589
  # @return [String]
23762
24590
  attr_accessor :description
23763
24591
 
23764
- # Output only. [Output Only] A unique identifier for this resource type. The
23765
- # server
23766
- # generates this identifier.
24592
+ # Output only. A unique identifier for this resource type. The server generates
24593
+ # this
24594
+ # identifier.
23767
24595
  # Corresponds to the JSON property `id`
23768
24596
  # @return [Fixnum]
23769
24597
  attr_accessor :id
@@ -23776,9 +24604,8 @@ module Google
23776
24604
  # @return [Array<Google::Apis::ComputeBeta::PerInstanceConfig>]
23777
24605
  attr_accessor :instances
23778
24606
 
23779
- # Output only. [Output Only] The resource type, which is alwayscompute#
23780
- # instanceGroupManagerResizeRequest for
23781
- # resize requests.
24607
+ # Output only. The resource type, which is alwayscompute#
24608
+ # instanceGroupManagerResizeRequest for resize requests.
23782
24609
  # Corresponds to the JSON property `kind`
23783
24610
  # @return [String]
23784
24611
  attr_accessor :kind
@@ -23789,7 +24616,7 @@ module Google
23789
24616
  # @return [String]
23790
24617
  attr_accessor :name
23791
24618
 
23792
- # Output only. [Output Only] The URL of aregion
24619
+ # Output only. The URL of a region
23793
24620
  # where the resize request is located. Populated only for regional resize
23794
24621
  # requests.
23795
24622
  # Corresponds to the JSON property `region`
@@ -23811,29 +24638,27 @@ module Google
23811
24638
  # @return [Fixnum]
23812
24639
  attr_accessor :resize_by
23813
24640
 
23814
- # Output only. [Output Only] The URL for this resize request. The server defines
23815
- # this URL.
24641
+ # Output only. The URL for this resize request. The server defines this URL.
23816
24642
  # Corresponds to the JSON property `selfLink`
23817
24643
  # @return [String]
23818
24644
  attr_accessor :self_link
23819
24645
 
23820
- # Output only. [Output Only] Server-defined URL for this resource with the
23821
- # resource id.
24646
+ # Output only. Server-defined URL for this resource with the resource id.
23822
24647
  # Corresponds to the JSON property `selfLinkWithId`
23823
24648
  # @return [String]
23824
24649
  attr_accessor :self_link_with_id
23825
24650
 
23826
- # Output only. [Output only] Current state of the request.
24651
+ # Output only. Current state of the request.
23827
24652
  # Corresponds to the JSON property `state`
23828
24653
  # @return [String]
23829
24654
  attr_accessor :state
23830
24655
 
23831
- # Output only. [Output only] Status of the request.
24656
+ # Output only. Status of the request.
23832
24657
  # Corresponds to the JSON property `status`
23833
24658
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequestStatus]
23834
24659
  attr_accessor :status
23835
24660
 
23836
- # Output only. [Output Only] The URL of azone
24661
+ # Output only. The URL of a zone
23837
24662
  # where the resize request is located. Populated only for zonal resize
23838
24663
  # requests.
23839
24664
  # Corresponds to the JSON property `zone`
@@ -23868,24 +24693,24 @@ module Google
23868
24693
  class InstanceGroupManagerResizeRequestStatus
23869
24694
  include Google::Apis::Core::Hashable
23870
24695
 
23871
- # Output only. [Output only] Fatal errors encountered during the queueing or
23872
- # provisioning phases of the ResizeRequest that caused the transition to
23873
- # the FAILED state. Contrary to the last_attempt errors, this field is
23874
- # final and errors are never removed from here, as the ResizeRequest is not
23875
- # going to retry.
24696
+ # Output only. Fatal errors encountered during the queueing or provisioning
24697
+ # phases of
24698
+ # the ResizeRequest that caused the transition to the FAILED state.
24699
+ # Contrary to the last_attempt errors, this field is final and errors are
24700
+ # never removed from here, as the ResizeRequest is not going to retry.
23876
24701
  # Corresponds to the JSON property `error`
23877
24702
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequestStatus::Error]
23878
24703
  attr_accessor :error
23879
24704
 
23880
- # Output only. [Output only] Information about the last attempt to fulfill the
23881
- # request.
23882
- # The value is temporary since the ResizeRequest can retry, as long as it's
23883
- # still active and the last attempt value can either be cleared or replaced
23884
- # with a different error. Since ResizeRequest retries infrequently, the
23885
- # value may be stale and no longer show an active problem. The value is
23886
- # cleared when ResizeRequest transitions to the final state (becomes
23887
- # inactive). If the final state is FAILED the error describing it will be
23888
- # storred in the "error" field only.
24705
+ # Output only. Information about the last attempt to fulfill the request. The
24706
+ # value is
24707
+ # temporary since the ResizeRequest can retry, as long as it's still active
24708
+ # and the last attempt value can either be cleared or replaced with a
24709
+ # different error. Since ResizeRequest retries infrequently, the value may
24710
+ # be stale and no longer show an active problem. The value is cleared when
24711
+ # ResizeRequest transitions to the final state (becomes inactive). If the
24712
+ # final state is FAILED the error describing it will be stored in the
24713
+ # "error" field only.
23889
24714
  # Corresponds to the JSON property `lastAttempt`
23890
24715
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequestStatusLastAttempt]
23891
24716
  attr_accessor :last_attempt
@@ -23900,11 +24725,11 @@ module Google
23900
24725
  @last_attempt = args[:last_attempt] if args.key?(:last_attempt)
23901
24726
  end
23902
24727
 
23903
- # Output only. [Output only] Fatal errors encountered during the queueing or
23904
- # provisioning phases of the ResizeRequest that caused the transition to
23905
- # the FAILED state. Contrary to the last_attempt errors, this field is
23906
- # final and errors are never removed from here, as the ResizeRequest is not
23907
- # going to retry.
24728
+ # Output only. Fatal errors encountered during the queueing or provisioning
24729
+ # phases of
24730
+ # the ResizeRequest that caused the transition to the FAILED state.
24731
+ # Contrary to the last_attempt errors, this field is final and errors are
24732
+ # never removed from here, as the ResizeRequest is not going to retry.
23908
24733
  class Error
23909
24734
  include Google::Apis::Core::Hashable
23910
24735
 
@@ -24170,8 +24995,7 @@ module Google
24170
24995
  class InstanceGroupManagerResizeRequestsListResponse
24171
24996
  include Google::Apis::Core::Hashable
24172
24997
 
24173
- # Output only. [Output Only] Unique identifier for the resource; defined by the
24174
- # server.
24998
+ # Output only. Unique identifier for the resource; defined by the server.
24175
24999
  # Corresponds to the JSON property `id`
24176
25000
  # @return [String]
24177
25001
  attr_accessor :id
@@ -24181,30 +25005,29 @@ module Google
24181
25005
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequest>]
24182
25006
  attr_accessor :items
24183
25007
 
24184
- # Output only. [Output Only] Type of the resource. Alwayscompute#
25008
+ # Output only. Type of the resource. Alwayscompute#
24185
25009
  # instanceGroupManagerResizeRequestList for
24186
25010
  # a list of resize requests.
24187
25011
  # Corresponds to the JSON property `kind`
24188
25012
  # @return [String]
24189
25013
  attr_accessor :kind
24190
25014
 
24191
- # Output only. [Output Only] This token allows you to get the next page of
24192
- # results for
24193
- # list requests. If the number of results is larger thanmaxResults, use the
24194
- # nextPageToken as a value for
24195
- # the query parameter pageToken in the next list request.
25015
+ # Output only. This token allows you to get the next page of results for list
25016
+ # requests.
25017
+ # If the number of results is larger than maxResults, use thenextPageToken as a
25018
+ # value for the query parameterpageToken in the next list request.
24196
25019
  # Subsequent list requests will have their own nextPageToken to
24197
25020
  # continue paging through the results.
24198
25021
  # Corresponds to the JSON property `nextPageToken`
24199
25022
  # @return [String]
24200
25023
  attr_accessor :next_page_token
24201
25024
 
24202
- # Output only. [Output Only] Server-defined URL for this resource.
25025
+ # Output only. Server-defined URL for this resource.
24203
25026
  # Corresponds to the JSON property `selfLink`
24204
25027
  # @return [String]
24205
25028
  attr_accessor :self_link
24206
25029
 
24207
- # Output only. [Output Only] Informational warning message.
25030
+ # Output only. Informational warning message.
24208
25031
  # Corresponds to the JSON property `warning`
24209
25032
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequestsListResponse::Warning]
24210
25033
  attr_accessor :warning
@@ -24223,7 +25046,7 @@ module Google
24223
25046
  @warning = args[:warning] if args.key?(:warning)
24224
25047
  end
24225
25048
 
24226
- # Output only. [Output Only] Informational warning message.
25049
+ # Output only. Informational warning message.
24227
25050
  class Warning
24228
25051
  include Google::Apis::Core::Hashable
24229
25052
 
@@ -24356,18 +25179,18 @@ module Google
24356
25179
  class InstanceGroupManagerStatus
24357
25180
  include Google::Apis::Core::Hashable
24358
25181
 
24359
- # Output only. [Output only] Status of all-instances configuration on the group.
25182
+ # Output only. Status of all-instances configuration on the group.
24360
25183
  # Corresponds to the JSON property `allInstancesConfig`
24361
25184
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusAllInstancesConfig]
24362
25185
  attr_accessor :all_instances_config
24363
25186
 
24364
- # Output only. [Output Only] The accelerator topology applied to this MIG.
25187
+ # Output only. The accelerator topology applied to this MIG.
24365
25188
  # Currently only one accelerator topology is supported.
24366
25189
  # Corresponds to the JSON property `appliedAcceleratorTopologies`
24367
25190
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerStatusAcceleratorTopology>]
24368
25191
  attr_accessor :applied_accelerator_topologies
24369
25192
 
24370
- # Output only. [Output Only] The URL of theAutoscaler
25193
+ # Output only. The URL of theAutoscaler
24371
25194
  # that targets this instance group manager.
24372
25195
  # Corresponds to the JSON property `autoscaler`
24373
25196
  # @return [String]
@@ -24387,8 +25210,7 @@ module Google
24387
25210
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusInstanceStatusSummary]
24388
25211
  attr_accessor :current_instance_statuses
24389
25212
 
24390
- # Output only. [Output Only] A bit indicating whether the managed instance group
24391
- # is in a
25213
+ # Output only. A bit indicating whether the managed instance group is in a
24392
25214
  # stable state. A stable state means that: none of the instances in the
24393
25215
  # managed instance group is currently undergoing any type of change (for
24394
25216
  # example, creation, restart, or deletion); no future changes are scheduled
@@ -24399,13 +25221,12 @@ module Google
24399
25221
  attr_accessor :is_stable
24400
25222
  alias_method :is_stable?, :is_stable
24401
25223
 
24402
- # Output only. [Output Only] Stateful status of the given Instance Group Manager.
25224
+ # Output only. Stateful status of the given Instance Group Manager.
24403
25225
  # Corresponds to the JSON property `stateful`
24404
25226
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusStateful]
24405
25227
  attr_accessor :stateful
24406
25228
 
24407
- # Output only. [Output Only] A status of consistency of Instances' versions with
24408
- # their
25229
+ # Output only. A status of consistency of Instances' versions with their
24409
25230
  # target version specified by version field on Instance Group
24410
25231
  # Manager.
24411
25232
  # Corresponds to the JSON property `versionTarget`
@@ -24433,18 +25254,18 @@ module Google
24433
25254
  class InstanceGroupManagerStatusAcceleratorTopology
24434
25255
  include Google::Apis::Core::Hashable
24435
25256
 
24436
- # Output only. [Output Only] Topology in the format of: "16x16", "4x4x4", etc.
25257
+ # Output only. Topology in the format of: "16x16", "4x4x4", etc.
24437
25258
  # The value is the same as configured in the WorkloadPolicy.
24438
25259
  # Corresponds to the JSON property `acceleratorTopology`
24439
25260
  # @return [String]
24440
25261
  attr_accessor :accelerator_topology
24441
25262
 
24442
- # Output only. [Output Only] The state of the accelerator topology.
25263
+ # Output only. The state of the accelerator topology.
24443
25264
  # Corresponds to the JSON property `state`
24444
25265
  # @return [String]
24445
25266
  attr_accessor :state
24446
25267
 
24447
- # Output only. [Output Only] The result of the latest accelerator topology state
25268
+ # Output only. The result of the latest accelerator topology state
24448
25269
  # check.
24449
25270
  # Corresponds to the JSON property `stateDetails`
24450
25271
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDetails]
@@ -24466,13 +25287,12 @@ module Google
24466
25287
  class InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDetails
24467
25288
  include Google::Apis::Core::Hashable
24468
25289
 
24469
- # Output only. [Output Only] Encountered errors.
25290
+ # Output only. Encountered errors.
24470
25291
  # Corresponds to the JSON property `error`
24471
25292
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusAcceleratorTopologyAcceleratorTopologyStateDetails::Error]
24472
25293
  attr_accessor :error
24473
25294
 
24474
- # Output only. [Output Only] Timestamp is shown only if there is an error. The
24475
- # field
25295
+ # Output only. Timestamp is shown only if there is an error. The field
24476
25296
  # has // RFC3339 //
24477
25297
  # text format.
24478
25298
  # Corresponds to the JSON property `timestamp`
@@ -24489,7 +25309,7 @@ module Google
24489
25309
  @timestamp = args[:timestamp] if args.key?(:timestamp)
24490
25310
  end
24491
25311
 
24492
- # Output only. [Output Only] Encountered errors.
25312
+ # Output only. Encountered errors.
24493
25313
  class Error
24494
25314
  include Google::Apis::Core::Hashable
24495
25315
 
@@ -24615,13 +25435,13 @@ module Google
24615
25435
  class InstanceGroupManagerStatusAllInstancesConfig
24616
25436
  include Google::Apis::Core::Hashable
24617
25437
 
24618
- # Output only. [Output Only] Current all-instances configuration revision.
25438
+ # Output only. Current all-instances configuration revision.
24619
25439
  # This value is in RFC3339 text format.
24620
25440
  # Corresponds to the JSON property `currentRevision`
24621
25441
  # @return [String]
24622
25442
  attr_accessor :current_revision
24623
25443
 
24624
- # Output only. [Output Only] A bit indicating whether this configuration has
25444
+ # Output only. A bit indicating whether this configuration has
24625
25445
  # been applied to all managed instances in the group.
24626
25446
  # Corresponds to the JSON property `effective`
24627
25447
  # @return [Boolean]
@@ -24644,15 +25464,13 @@ module Google
24644
25464
  class InstanceGroupManagerStatusBulkInstanceOperation
24645
25465
  include Google::Apis::Core::Hashable
24646
25466
 
24647
- # Output only. [Output Only] Informs whether bulk instance operation is in
24648
- # progress.
25467
+ # Output only. Informs whether bulk instance operation is in progress.
24649
25468
  # Corresponds to the JSON property `inProgress`
24650
25469
  # @return [Boolean]
24651
25470
  attr_accessor :in_progress
24652
25471
  alias_method :in_progress?, :in_progress
24653
25472
 
24654
- # Output only. [Output Only] Information from the last progress check of bulk
24655
- # instance
25473
+ # Output only. Information from the last progress check of bulk instance
24656
25474
  # operation.
24657
25475
  # Corresponds to the JSON property `lastProgressCheck`
24658
25476
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck]
@@ -24673,13 +25491,12 @@ module Google
24673
25491
  class InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck
24674
25492
  include Google::Apis::Core::Hashable
24675
25493
 
24676
- # Output only. [Output Only] Errors encountered during bulk instance operation.
25494
+ # Output only. Errors encountered during bulk instance operation.
24677
25495
  # Corresponds to the JSON property `error`
24678
25496
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck::Error]
24679
25497
  attr_accessor :error
24680
25498
 
24681
- # Output only. [Output Only] Timestamp of the last progress check of bulk
24682
- # instance
25499
+ # Output only. Timestamp of the last progress check of bulk instance
24683
25500
  # operation. Timestamp is in RFC3339 text format.
24684
25501
  # Corresponds to the JSON property `timestamp`
24685
25502
  # @return [String]
@@ -24695,7 +25512,7 @@ module Google
24695
25512
  @timestamp = args[:timestamp] if args.key?(:timestamp)
24696
25513
  end
24697
25514
 
24698
- # Output only. [Output Only] Errors encountered during bulk instance operation.
25515
+ # Output only. Errors encountered during bulk instance operation.
24699
25516
  class Error
24700
25517
  include Google::Apis::Core::Hashable
24701
25518
 
@@ -24824,15 +25641,13 @@ module Google
24824
25641
  class InstanceGroupManagerStatusInstanceStatusSummary
24825
25642
  include Google::Apis::Core::Hashable
24826
25643
 
24827
- # Output only. [Output Only] The number of instances in the managed instance
24828
- # group
25644
+ # Output only. The number of instances in the managed instance group
24829
25645
  # that have DEPROVISIONING status.
24830
25646
  # Corresponds to the JSON property `deprovisioning`
24831
25647
  # @return [Fixnum]
24832
25648
  attr_accessor :deprovisioning
24833
25649
 
24834
- # Output only. [Output Only] The number of instances that have not been created
24835
- # yet or
25650
+ # Output only. The number of instances that have not been created yet or
24836
25651
  # have been deleted. Includes only instances that would be shown in the
24837
25652
  # listManagedInstances method and not all instances that have been
24838
25653
  # deleted in the lifetime of the MIG.
@@ -24842,8 +25657,7 @@ module Google
24842
25657
  # @return [Fixnum]
24843
25658
  attr_accessor :non_existent
24844
25659
 
24845
- # Output only. [Output Only] The number of instances in the managed instance
24846
- # group
25660
+ # Output only. The number of instances in the managed instance group
24847
25661
  # that have PENDING status, that is FlexStart instances that are waiting
24848
25662
  # for resources. Instances that do not exist because of the other reasons
24849
25663
  # are counted as 'non_existent'.
@@ -24851,71 +25665,61 @@ module Google
24851
25665
  # @return [Fixnum]
24852
25666
  attr_accessor :pending
24853
25667
 
24854
- # Output only. [Output Only] The number of instances in the managed instance
24855
- # group
25668
+ # Output only. The number of instances in the managed instance group
24856
25669
  # that have PENDING_STOP status.
24857
25670
  # Corresponds to the JSON property `pendingStop`
24858
25671
  # @return [Fixnum]
24859
25672
  attr_accessor :pending_stop
24860
25673
 
24861
- # Output only. [Output Only] The number of instances in the managed instance
24862
- # group
25674
+ # Output only. The number of instances in the managed instance group
24863
25675
  # that have PROVISIONING status.
24864
25676
  # Corresponds to the JSON property `provisioning`
24865
25677
  # @return [Fixnum]
24866
25678
  attr_accessor :provisioning
24867
25679
 
24868
- # Output only. [Output Only] The number of instances in the managed instance
24869
- # group
25680
+ # Output only. The number of instances in the managed instance group
24870
25681
  # that have REPAIRING status.
24871
25682
  # Corresponds to the JSON property `repairing`
24872
25683
  # @return [Fixnum]
24873
25684
  attr_accessor :repairing
24874
25685
 
24875
- # Output only. [Output Only] The number of instances in the managed instance
24876
- # group
25686
+ # Output only. The number of instances in the managed instance group
24877
25687
  # that have RUNNING status.
24878
25688
  # Corresponds to the JSON property `running`
24879
25689
  # @return [Fixnum]
24880
25690
  attr_accessor :running
24881
25691
 
24882
- # Output only. [Output Only] The number of instances in the managed instance
24883
- # group
25692
+ # Output only. The number of instances in the managed instance group
24884
25693
  # that have STAGING status.
24885
25694
  # Corresponds to the JSON property `staging`
24886
25695
  # @return [Fixnum]
24887
25696
  attr_accessor :staging
24888
25697
 
24889
- # Output only. [Output Only] The number of instances in the managed instance
24890
- # group
25698
+ # Output only. The number of instances in the managed instance group
24891
25699
  # that have STOPPED status.
24892
25700
  # Corresponds to the JSON property `stopped`
24893
25701
  # @return [Fixnum]
24894
25702
  attr_accessor :stopped
24895
25703
 
24896
- # Output only. [Output Only] The number of instances in the managed instance
24897
- # group
25704
+ # Output only. The number of instances in the managed instance group
24898
25705
  # that have STOPPING status.
24899
25706
  # Corresponds to the JSON property `stopping`
24900
25707
  # @return [Fixnum]
24901
25708
  attr_accessor :stopping
24902
25709
 
24903
- # Output only. [Output Only] The number of instances in the managed instance
24904
- # group
25710
+ # Output only. The number of instances in the managed instance group
24905
25711
  # that have SUSPENDED status.
24906
25712
  # Corresponds to the JSON property `suspended`
24907
25713
  # @return [Fixnum]
24908
25714
  attr_accessor :suspended
24909
25715
 
24910
- # Output only. [Output Only] The number of instances in the managed instance
24911
- # group
25716
+ # Output only. The number of instances in the managed instance group
24912
25717
  # that have SUSPENDING status.
24913
25718
  # Corresponds to the JSON property `suspending`
24914
25719
  # @return [Fixnum]
24915
25720
  attr_accessor :suspending
24916
25721
 
24917
- # Output only. [Output Only] The number of instances in the managed instance
24918
- # group
25722
+ # Output only. The number of instances in the managed instance group
24919
25723
  # that have TERMINATED status.
24920
25724
  # Corresponds to the JSON property `terminated`
24921
25725
  # @return [Fixnum]
@@ -24947,7 +25751,7 @@ module Google
24947
25751
  class InstanceGroupManagerStatusStateful
24948
25752
  include Google::Apis::Core::Hashable
24949
25753
 
24950
- # Output only. [Output Only] A bit indicating whether the managed instance group
25754
+ # Output only. A bit indicating whether the managed instance group
24951
25755
  # has stateful configuration, that is, if you have configured any items
24952
25756
  # in a stateful policy or in per-instance configs.
24953
25757
  # The group might report that it has no stateful configuration even when
@@ -24958,7 +25762,7 @@ module Google
24958
25762
  attr_accessor :has_stateful_config
24959
25763
  alias_method :has_stateful_config?, :has_stateful_config
24960
25764
 
24961
- # Output only. [Output Only] A bit indicating whether the managed instance group
25765
+ # Output only. A bit indicating whether the managed instance group
24962
25766
  # has stateful configuration, that is, if you have configured any items
24963
25767
  # in a stateful policy or in per-instance configs.
24964
25768
  # The group might report that it has no stateful configuration even when
@@ -24970,8 +25774,7 @@ module Google
24970
25774
  attr_accessor :is_stateful
24971
25775
  alias_method :is_stateful?, :is_stateful
24972
25776
 
24973
- # Output only. [Output Only] Status of per-instance configurations on the
24974
- # instances.
25777
+ # Output only. Status of per-instance configurations on the instances.
24975
25778
  # Corresponds to the JSON property `perInstanceConfigs`
24976
25779
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagerStatusStatefulPerInstanceConfigs]
24977
25780
  attr_accessor :per_instance_configs
@@ -25015,8 +25818,7 @@ module Google
25015
25818
  class InstanceGroupManagerStatusVersionTarget
25016
25819
  include Google::Apis::Core::Hashable
25017
25820
 
25018
- # Output only. [Output Only] A bit indicating whether version target has been
25019
- # reached
25821
+ # Output only. A bit indicating whether version target has been reached
25020
25822
  # in this managed instance group, i.e. all instances are in their target
25021
25823
  # version. Instances' target version are specified byversion field on Instance
25022
25824
  # Group Manager.
@@ -25916,16 +26718,16 @@ module Google
25916
26718
  class InstanceGroupManagersScopedList
25917
26719
  include Google::Apis::Core::Hashable
25918
26720
 
25919
- # Output only. [Output Only] The list of managed instance groups that are
25920
- # contained in
25921
- # the specified project and zone.
26721
+ # Output only. The list of managed instance groups that are contained in the
26722
+ # specified
26723
+ # project and zone.
25922
26724
  # Corresponds to the JSON property `instanceGroupManagers`
25923
26725
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
25924
26726
  attr_accessor :instance_group_managers
25925
26727
 
25926
- # Output only. [Output Only] The warning that replaces the list of managed
25927
- # instance
25928
- # groups when the list is empty.
26728
+ # Output only. The warning that replaces the list of managed instance groups
26729
+ # when the list
26730
+ # is empty.
25929
26731
  # Corresponds to the JSON property `warning`
25930
26732
  # @return [Google::Apis::ComputeBeta::InstanceGroupManagersScopedList::Warning]
25931
26733
  attr_accessor :warning
@@ -25940,9 +26742,9 @@ module Google
25940
26742
  @warning = args[:warning] if args.key?(:warning)
25941
26743
  end
25942
26744
 
25943
- # Output only. [Output Only] The warning that replaces the list of managed
25944
- # instance
25945
- # groups when the list is empty.
26745
+ # Output only. The warning that replaces the list of managed instance groups
26746
+ # when the list
26747
+ # is empty.
25946
26748
  class Warning
25947
26749
  include Google::Apis::Core::Hashable
25948
26750
 
@@ -26903,8 +27705,8 @@ module Google
26903
27705
  # values
26904
27706
  # have the same definition as resource
26905
27707
  # manager tags. Keys and values can be either in numeric format,
26906
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
26907
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
27708
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
27709
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
26908
27710
  # ``tag_value_short_name``. The field is ignored (both PUT &
26909
27711
  # PATCH) when empty.
26910
27712
  # Corresponds to the JSON property `resourceManagerTags`
@@ -27048,8 +27850,10 @@ module Google
27048
27850
  # Input only. Resource manager tags to be bound to the instance. Tag keys and
27049
27851
  # values
27050
27852
  # have the same definition as resource
27051
- # manager tags. Keys must be in the format `tagKeys/`tag_key_id``, and
27052
- # values are in the format `tagValues/456`. The field is ignored (both PUT &
27853
+ # manager tags. Keys and values can be either in numeric format,
27854
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
27855
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
27856
+ # ``tag_value_short_name``. The field is ignored (both PUT &
27053
27857
  # PATCH) when empty.
27054
27858
  # Corresponds to the JSON property `resourceManagerTags`
27055
27859
  # @return [Hash<String,String>]
@@ -32029,7 +32833,7 @@ module Google
32029
32833
  # @return [Array<Google::Apis::ComputeBeta::InterconnectGroupsCreateMembersInterconnectInput>]
32030
32834
  attr_accessor :interconnects
32031
32835
 
32032
- # LINT.IfChange
32836
+ # Parameters for the Interconnects to create.
32033
32837
  # Corresponds to the JSON property `templateInterconnect`
32034
32838
  # @return [Google::Apis::ComputeBeta::InterconnectGroupsCreateMembersInterconnectInput]
32035
32839
  attr_accessor :template_interconnect
@@ -32046,7 +32850,7 @@ module Google
32046
32850
  end
32047
32851
  end
32048
32852
 
32049
- # LINT.IfChange
32853
+ #
32050
32854
  class InterconnectGroupsCreateMembersInterconnectInput
32051
32855
  include Google::Apis::Core::Hashable
32052
32856
 
@@ -33661,6 +34465,39 @@ module Google
33661
34465
  end
33662
34466
  end
33663
34467
 
34468
+ # Represents a time interval, encoded as a Timestamp start (inclusive) and a
34469
+ # Timestamp end (exclusive).
34470
+ # The start must be less than or equal to the end.
34471
+ # When the start equals the end, the interval is empty (matches no time).
34472
+ # When both start and end are unspecified, the interval matches any time.
34473
+ class Interval
34474
+ include Google::Apis::Core::Hashable
34475
+
34476
+ # Optional. Exclusive end of the interval.
34477
+ # If specified, a Timestamp matching this interval will have to be before the
34478
+ # end.
34479
+ # Corresponds to the JSON property `endTime`
34480
+ # @return [String]
34481
+ attr_accessor :end_time
34482
+
34483
+ # Optional. Inclusive start of the interval.
34484
+ # If specified, a Timestamp matching this interval will have to be the same
34485
+ # or after the start.
34486
+ # Corresponds to the JSON property `startTime`
34487
+ # @return [String]
34488
+ attr_accessor :start_time
34489
+
34490
+ def initialize(**args)
34491
+ update!(**args)
34492
+ end
34493
+
34494
+ # Update properties of this object
34495
+ def update!(**args)
34496
+ @end_time = args[:end_time] if args.key?(:end_time)
34497
+ @start_time = args[:start_time] if args.key?(:start_time)
34498
+ end
34499
+ end
34500
+
33664
34501
  # Represents a License resource.
33665
34502
  # A License represents billing and aggregate usage data forpublic andmarketplace
33666
34503
  # images.
@@ -33848,6 +34685,19 @@ module Google
33848
34685
  class LicenseCode
33849
34686
  include Google::Apis::Core::Hashable
33850
34687
 
34688
+ # Specifies licenseCodes of licenses that can replace this license. Note:
34689
+ # such replacements are allowed even if removable_from_disk is false.
34690
+ # Corresponds to the JSON property `allowedReplacementLicenses`
34691
+ # @return [Array<String>]
34692
+ attr_accessor :allowed_replacement_licenses
34693
+
34694
+ # If true, this license can be appended to an existing disk's set of
34695
+ # licenses.
34696
+ # Corresponds to the JSON property `appendableToDisk`
34697
+ # @return [Boolean]
34698
+ attr_accessor :appendable_to_disk
34699
+ alias_method :appendable_to_disk?, :appendable_to_disk
34700
+
33851
34701
  # Output only. [Output Only] Creation timestamp inRFC3339
33852
34702
  # text format.
33853
34703
  # Corresponds to the JSON property `creationTimestamp`
@@ -33866,6 +34716,13 @@ module Google
33866
34716
  # @return [Fixnum]
33867
34717
  attr_accessor :id
33868
34718
 
34719
+ # Specifies licenseCodes of licenses that are incompatible with this license.
34720
+ # If a license is incompatible with this license, it cannot be attached to
34721
+ # the same disk or image.
34722
+ # Corresponds to the JSON property `incompatibleLicenses`
34723
+ # @return [Array<String>]
34724
+ attr_accessor :incompatible_licenses
34725
+
33869
34726
  # Output only. [Output Only] Type of resource. Always compute#licenseCode for
33870
34727
  # licenses.
33871
34728
  # Corresponds to the JSON property `kind`
@@ -33878,6 +34735,20 @@ module Google
33878
34735
  # @return [Array<Google::Apis::ComputeBeta::LicenseCodeLicenseAlias>]
33879
34736
  attr_accessor :license_alias
33880
34737
 
34738
+ # A Duration represents a fixed-length span of time represented
34739
+ # as a count of seconds and fractions of seconds at nanosecond
34740
+ # resolution. It is independent of any calendar and concepts like "day"
34741
+ # or "month". Range is approximately 10,000 years.
34742
+ # Corresponds to the JSON property `minimumRetention`
34743
+ # @return [Google::Apis::ComputeBeta::Duration]
34744
+ attr_accessor :minimum_retention
34745
+
34746
+ # If true, this license can only be used on VMs on multi tenant nodes.
34747
+ # Corresponds to the JSON property `multiTenantOnly`
34748
+ # @return [Boolean]
34749
+ attr_accessor :multi_tenant_only
34750
+ alias_method :multi_tenant_only?, :multi_tenant_only
34751
+
33881
34752
  # Output only. [Output Only] Name of the resource. The name is 1-20 characters
33882
34753
  # long and
33883
34754
  # must be a valid 64 bit integer.
@@ -33885,11 +34756,38 @@ module Google
33885
34756
  # @return [String]
33886
34757
  attr_accessor :name
33887
34758
 
34759
+ # If true, indicates this is an OS license. Only one OS license can be
34760
+ # attached to a disk or image at a time.
34761
+ # Corresponds to the JSON property `osLicense`
34762
+ # @return [Boolean]
34763
+ attr_accessor :os_license
34764
+ alias_method :os_license?, :os_license
34765
+
34766
+ # If true, this license can be removed from a disk's set of licenses, with no
34767
+ # replacement license needed.
34768
+ # Corresponds to the JSON property `removableFromDisk`
34769
+ # @return [Boolean]
34770
+ attr_accessor :removable_from_disk
34771
+ alias_method :removable_from_disk?, :removable_from_disk
34772
+
34773
+ # Specifies the set of permissible coattached licenseCodes of licenses that
34774
+ # satisfy the coattachment requirement of this license. At least one license
34775
+ # from the set must be attached to the same disk or image as this license.
34776
+ # Corresponds to the JSON property `requiredCoattachedLicenses`
34777
+ # @return [Array<String>]
34778
+ attr_accessor :required_coattached_licenses
34779
+
33888
34780
  # Output only. [Output Only] Server-defined URL for the resource.
33889
34781
  # Corresponds to the JSON property `selfLink`
33890
34782
  # @return [String]
33891
34783
  attr_accessor :self_link
33892
34784
 
34785
+ # If true, this license can only be used on VMs on sole tenant nodes.
34786
+ # Corresponds to the JSON property `soleTenantOnly`
34787
+ # @return [Boolean]
34788
+ attr_accessor :sole_tenant_only
34789
+ alias_method :sole_tenant_only?, :sole_tenant_only
34790
+
33893
34791
  # Output only. [Output Only] Current state of this License Code.
33894
34792
  # Corresponds to the JSON property `state`
33895
34793
  # @return [String]
@@ -33903,21 +34801,37 @@ module Google
33903
34801
  attr_accessor :transferable
33904
34802
  alias_method :transferable?, :transferable
33905
34803
 
34804
+ # Output only. [Output Only] Last update timestamp inRFC3339
34805
+ # text format.
34806
+ # Corresponds to the JSON property `updateTimestamp`
34807
+ # @return [String]
34808
+ attr_accessor :update_timestamp
34809
+
33906
34810
  def initialize(**args)
33907
34811
  update!(**args)
33908
34812
  end
33909
34813
 
33910
34814
  # Update properties of this object
33911
34815
  def update!(**args)
34816
+ @allowed_replacement_licenses = args[:allowed_replacement_licenses] if args.key?(:allowed_replacement_licenses)
34817
+ @appendable_to_disk = args[:appendable_to_disk] if args.key?(:appendable_to_disk)
33912
34818
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33913
34819
  @description = args[:description] if args.key?(:description)
33914
34820
  @id = args[:id] if args.key?(:id)
34821
+ @incompatible_licenses = args[:incompatible_licenses] if args.key?(:incompatible_licenses)
33915
34822
  @kind = args[:kind] if args.key?(:kind)
33916
34823
  @license_alias = args[:license_alias] if args.key?(:license_alias)
34824
+ @minimum_retention = args[:minimum_retention] if args.key?(:minimum_retention)
34825
+ @multi_tenant_only = args[:multi_tenant_only] if args.key?(:multi_tenant_only)
33917
34826
  @name = args[:name] if args.key?(:name)
34827
+ @os_license = args[:os_license] if args.key?(:os_license)
34828
+ @removable_from_disk = args[:removable_from_disk] if args.key?(:removable_from_disk)
34829
+ @required_coattached_licenses = args[:required_coattached_licenses] if args.key?(:required_coattached_licenses)
33918
34830
  @self_link = args[:self_link] if args.key?(:self_link)
34831
+ @sole_tenant_only = args[:sole_tenant_only] if args.key?(:sole_tenant_only)
33919
34832
  @state = args[:state] if args.key?(:state)
33920
34833
  @transferable = args[:transferable] if args.key?(:transferable)
34834
+ @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp)
33921
34835
  end
33922
34836
  end
33923
34837
 
@@ -33954,8 +34868,8 @@ module Google
33954
34868
  # values
33955
34869
  # have the same definition as resource
33956
34870
  # manager tags. Keys and values can be either in numeric format,
33957
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
33958
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
34871
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
34872
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
33959
34873
  # ``tag_value_short_name``. The field is ignored (both PUT &
33960
34874
  # PATCH) when empty.
33961
34875
  # Corresponds to the JSON property `resourceManagerTags`
@@ -35545,6 +36459,13 @@ module Google
35545
36459
  # @return [Google::Apis::ComputeBeta::ManagedInstanceScheduling]
35546
36460
  attr_accessor :scheduling
35547
36461
 
36462
+ # Output only. [Output Only] Specifies the graceful shutdown details if the
36463
+ # instance is in
36464
+ # `PENDING_STOP` state or there is a programmed stop scheduled.
36465
+ # Corresponds to the JSON property `shutdownDetails`
36466
+ # @return [Google::Apis::ComputeBeta::ManagedInstanceShutdownDetails]
36467
+ attr_accessor :shutdown_details
36468
+
35548
36469
  # Output only. [Output Only] The eventual status of the instance. The instance
35549
36470
  # group
35550
36471
  # manager will not be identified as stable till each managed instance reaches
@@ -35576,6 +36497,7 @@ module Google
35576
36497
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
35577
36498
  @properties_from_flexibility_policy = args[:properties_from_flexibility_policy] if args.key?(:properties_from_flexibility_policy)
35578
36499
  @scheduling = args[:scheduling] if args.key?(:scheduling)
36500
+ @shutdown_details = args[:shutdown_details] if args.key?(:shutdown_details)
35579
36501
  @target_status = args[:target_status] if args.key?(:target_status)
35580
36502
  @version = args[:version] if args.key?(:version)
35581
36503
  end
@@ -35814,6 +36736,14 @@ module Google
35814
36736
  class ManagedInstanceScheduling
35815
36737
  include Google::Apis::Core::Hashable
35816
36738
 
36739
+ # Output only. [Output Only] The timestamp at which the underlying instance will
36740
+ # be
36741
+ # triggered for graceful shutdown if it is configured. This is in RFC3339 text
36742
+ # format.
36743
+ # Corresponds to the JSON property `gracefulShutdownTimestamp`
36744
+ # @return [String]
36745
+ attr_accessor :graceful_shutdown_timestamp
36746
+
35817
36747
  # Output only. [Output Only] The timestamp at which the managed instance will be
35818
36748
  # terminated. This is in RFC3339 text format.
35819
36749
  # Corresponds to the JSON property `terminationTimestamp`
@@ -35826,10 +36756,41 @@ module Google
35826
36756
 
35827
36757
  # Update properties of this object
35828
36758
  def update!(**args)
36759
+ @graceful_shutdown_timestamp = args[:graceful_shutdown_timestamp] if args.key?(:graceful_shutdown_timestamp)
35829
36760
  @termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
35830
36761
  end
35831
36762
  end
35832
36763
 
36764
+ #
36765
+ class ManagedInstanceShutdownDetails
36766
+ include Google::Apis::Core::Hashable
36767
+
36768
+ # A Duration represents a fixed-length span of time represented
36769
+ # as a count of seconds and fractions of seconds at nanosecond
36770
+ # resolution. It is independent of any calendar and concepts like "day"
36771
+ # or "month". Range is approximately 10,000 years.
36772
+ # Corresponds to the JSON property `maxDuration`
36773
+ # @return [Google::Apis::ComputeBeta::Duration]
36774
+ attr_accessor :max_duration
36775
+
36776
+ # Output only. [Output Only] Past timestamp indicating the beginning of `
36777
+ # PENDING_STOP`
36778
+ # state of instance in RFC3339 text format.
36779
+ # Corresponds to the JSON property `requestTimestamp`
36780
+ # @return [String]
36781
+ attr_accessor :request_timestamp
36782
+
36783
+ def initialize(**args)
36784
+ update!(**args)
36785
+ end
36786
+
36787
+ # Update properties of this object
36788
+ def update!(**args)
36789
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
36790
+ @request_timestamp = args[:request_timestamp] if args.key?(:request_timestamp)
36791
+ end
36792
+ end
36793
+
35833
36794
  #
35834
36795
  class ManagedInstanceVersion
35835
36796
  include Google::Apis::Core::Hashable
@@ -36009,6 +36970,43 @@ module Google
36009
36970
  end
36010
36971
  end
36011
36972
 
36973
+ # Represents an amount of money with its currency type.
36974
+ class Money
36975
+ include Google::Apis::Core::Hashable
36976
+
36977
+ # The three-letter currency code defined in ISO 4217.
36978
+ # Corresponds to the JSON property `currencyCode`
36979
+ # @return [String]
36980
+ attr_accessor :currency_code
36981
+
36982
+ # Number of nano (10^-9) units of the amount.
36983
+ # The value must be between -999,999,999 and +999,999,999 inclusive.
36984
+ # If `units` is positive, `nanos` must be positive or zero.
36985
+ # If `units` is zero, `nanos` can be positive, zero, or negative.
36986
+ # If `units` is negative, `nanos` must be negative or zero.
36987
+ # For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
36988
+ # Corresponds to the JSON property `nanos`
36989
+ # @return [Fixnum]
36990
+ attr_accessor :nanos
36991
+
36992
+ # The whole units of the amount.
36993
+ # For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
36994
+ # Corresponds to the JSON property `units`
36995
+ # @return [Fixnum]
36996
+ attr_accessor :units
36997
+
36998
+ def initialize(**args)
36999
+ update!(**args)
37000
+ end
37001
+
37002
+ # Update properties of this object
37003
+ def update!(**args)
37004
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
37005
+ @nanos = args[:nanos] if args.key?(:nanos)
37006
+ @units = args[:units] if args.key?(:units)
37007
+ end
37008
+ end
37009
+
36012
37010
  # Multi-MIG represents a group of managed instance groups.
36013
37011
  class MultiMig
36014
37012
  include Google::Apis::Core::Hashable
@@ -37278,6 +38276,12 @@ module Google
37278
38276
  # @return [Array<String>]
37279
38277
  attr_accessor :secondary_ip_cidr_ranges
37280
38278
 
38279
+ # The service class id of the producer service to which the IP was
38280
+ # assigned.
38281
+ # Corresponds to the JSON property `serviceClassId`
38282
+ # @return [String]
38283
+ attr_accessor :service_class_id
38284
+
37281
38285
  # The status of a connected endpoint to this network attachment.
37282
38286
  # Corresponds to the JSON property `status`
37283
38287
  # @return [String]
@@ -37306,6 +38310,7 @@ module Google
37306
38310
  @ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
37307
38311
  @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
37308
38312
  @secondary_ip_cidr_ranges = args[:secondary_ip_cidr_ranges] if args.key?(:secondary_ip_cidr_ranges)
38313
+ @service_class_id = args[:service_class_id] if args.key?(:service_class_id)
37309
38314
  @status = args[:status] if args.key?(:status)
37310
38315
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
37311
38316
  @subnetwork_cidr_range = args[:subnetwork_cidr_range] if args.key?(:subnetwork_cidr_range)
@@ -39190,6 +40195,12 @@ module Google
39190
40195
  # @return [Array<Google::Apis::ComputeBeta::AliasIpRange>]
39191
40196
  attr_accessor :alias_ip_ranges
39192
40197
 
40198
+ # An array of alias IPv6 ranges for this network interface.
40199
+ # You can only specify this field for network interfaces in VPC networks.
40200
+ # Corresponds to the JSON property `aliasIpv6Ranges`
40201
+ # @return [Array<Google::Apis::ComputeBeta::AliasIpRange>]
40202
+ attr_accessor :alias_ipv6_ranges
40203
+
39193
40204
  # Optional. If true, DNS resolution will be enabled over this interface. Only
39194
40205
  # valid
39195
40206
  # with network_attachment.
@@ -39314,6 +40325,14 @@ module Google
39314
40325
  # @return [Fixnum]
39315
40326
  attr_accessor :queue_count
39316
40327
 
40328
+ # Optional. Producer Service's Service class Id for the region of this network
40329
+ # interface. Can only be used with network_attachment. It is not possible to
40330
+ # use on its own however, network_attachment can be used without
40331
+ # service_class_id.
40332
+ # Corresponds to the JSON property `serviceClassId`
40333
+ # @return [String]
40334
+ attr_accessor :service_class_id
40335
+
39317
40336
  # The stack type for this network interface. To assign only IPv4 addresses,
39318
40337
  # use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, useIPV4_IPV6. If not
39319
40338
  # specified, IPV4_ONLY is used.
@@ -39353,6 +40372,7 @@ module Google
39353
40372
  def update!(**args)
39354
40373
  @access_configs = args[:access_configs] if args.key?(:access_configs)
39355
40374
  @alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
40375
+ @alias_ipv6_ranges = args[:alias_ipv6_ranges] if args.key?(:alias_ipv6_ranges)
39356
40376
  @enable_vpc_scoped_dns = args[:enable_vpc_scoped_dns] if args.key?(:enable_vpc_scoped_dns)
39357
40377
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
39358
40378
  @igmp_query = args[:igmp_query] if args.key?(:igmp_query)
@@ -39369,6 +40389,7 @@ module Google
39369
40389
  @nic_type = args[:nic_type] if args.key?(:nic_type)
39370
40390
  @parent_nic_name = args[:parent_nic_name] if args.key?(:parent_nic_name)
39371
40391
  @queue_count = args[:queue_count] if args.key?(:queue_count)
40392
+ @service_class_id = args[:service_class_id] if args.key?(:service_class_id)
39372
40393
  @stack_type = args[:stack_type] if args.key?(:stack_type)
39373
40394
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
39374
40395
  @vlan = args[:vlan] if args.key?(:vlan)
@@ -46938,6 +47959,31 @@ module Google
46938
47959
  # @return [Array<Google::Apis::ComputeBeta::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
46939
47960
  attr_accessor :public_delegated_sub_prefixs
46940
47961
 
47962
+ # Immutable. The purpose of the public delegated prefix.
47963
+ # This field can only be set for the top-level global public delegated
47964
+ # prefix. It is an output-only field for the sub-delegates that inherit the
47965
+ # value from the top-level global public delegated prefix. Once the value is
47966
+ # set, it cannot be changed.
47967
+ # The field cannot be set for regional public delegated prefixes.
47968
+ # The supported values are:
47969
+ #
47970
+ #
47971
+ # - APPLICATION_AND_PROXY_LOAD_BALANCERS: The global public
47972
+ # delegated prefix can only be used by Global External Application and
47973
+ # Proxy Load Balancers to allocate addresses for forwarding rules. This is
47974
+ # the default value.
47975
+ # - PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0: The
47976
+ # global public delegated prefix can only be used by Global External
47977
+ # Passthrough Network Load Balancers to allocate Availability Group 0
47978
+ # addresses for forwarding rules.
47979
+ # - PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1: The
47980
+ # global public delegated prefix can only be used by Global External
47981
+ # Passthrough Network Load Balancers to allocate Availability Group 1
47982
+ # addresses for forwarding rules.
47983
+ # Corresponds to the JSON property `purpose`
47984
+ # @return [String]
47985
+ attr_accessor :purpose
47986
+
46941
47987
  # Output only. [Output Only] URL of the region where the public delegated prefix
46942
47988
  # resides.
46943
47989
  # This field applies only to the region resource. You must specify this
@@ -46989,6 +48035,7 @@ module Google
46989
48035
  @name = args[:name] if args.key?(:name)
46990
48036
  @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
46991
48037
  @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
48038
+ @purpose = args[:purpose] if args.key?(:purpose)
46992
48039
  @region = args[:region] if args.key?(:region)
46993
48040
  @self_link = args[:self_link] if args.key?(:self_link)
46994
48041
  @status = args[:status] if args.key?(:status)
@@ -47310,6 +48357,13 @@ module Google
47310
48357
  # @return [String]
47311
48358
  attr_accessor :name
47312
48359
 
48360
+ # Output only. [Output Only] The purpose of the sub public delegated prefix.
48361
+ # Inherited
48362
+ # from parent prefix.
48363
+ # Corresponds to the JSON property `purpose`
48364
+ # @return [String]
48365
+ attr_accessor :purpose
48366
+
47313
48367
  # Output only. [Output Only] The region of the sub public delegated prefix if it
47314
48368
  # is
47315
48369
  # regional. If absent, the sub prefix is global.
@@ -47337,6 +48391,7 @@ module Google
47337
48391
  @is_address = args[:is_address] if args.key?(:is_address)
47338
48392
  @mode = args[:mode] if args.key?(:mode)
47339
48393
  @name = args[:name] if args.key?(:name)
48394
+ @purpose = args[:purpose] if args.key?(:purpose)
47340
48395
  @region = args[:region] if args.key?(:region)
47341
48396
  @status = args[:status] if args.key?(:status)
47342
48397
  end
@@ -47895,63 +48950,166 @@ module Google
47895
48950
  end
47896
48951
 
47897
48952
  #
47898
- class RegionCommitmentsUpdateReservationsRequest
47899
- include Google::Apis::Core::Hashable
47900
-
47901
- # A list of two reservations to transfer GPUs and Local SSD disks between.
47902
- # Corresponds to the JSON property `reservations`
47903
- # @return [Array<Google::Apis::ComputeBeta::Reservation>]
47904
- attr_accessor :reservations
47905
-
47906
- def initialize(**args)
47907
- update!(**args)
47908
- end
47909
-
47910
- # Update properties of this object
47911
- def update!(**args)
47912
- @reservations = args[:reservations] if args.key?(:reservations)
47913
- end
47914
- end
47915
-
47916
- #
47917
- class RegionDiskTypeList
48953
+ class RegionCommitmentsUpdateReservationsRequest
48954
+ include Google::Apis::Core::Hashable
48955
+
48956
+ # A list of two reservations to transfer GPUs and Local SSD disks between.
48957
+ # Corresponds to the JSON property `reservations`
48958
+ # @return [Array<Google::Apis::ComputeBeta::Reservation>]
48959
+ attr_accessor :reservations
48960
+
48961
+ def initialize(**args)
48962
+ update!(**args)
48963
+ end
48964
+
48965
+ # Update properties of this object
48966
+ def update!(**args)
48967
+ @reservations = args[:reservations] if args.key?(:reservations)
48968
+ end
48969
+ end
48970
+
48971
+ #
48972
+ class RegionDiskTypeList
48973
+ include Google::Apis::Core::Hashable
48974
+
48975
+ # [Output Only] Unique identifier for the resource; defined by the server.
48976
+ # Corresponds to the JSON property `id`
48977
+ # @return [String]
48978
+ attr_accessor :id
48979
+
48980
+ # A list of DiskType resources.
48981
+ # Corresponds to the JSON property `items`
48982
+ # @return [Array<Google::Apis::ComputeBeta::DiskType>]
48983
+ attr_accessor :items
48984
+
48985
+ # Output only. [Output Only] Type of resource. Alwayscompute#regionDiskTypeList
48986
+ # for region disk types.
48987
+ # Corresponds to the JSON property `kind`
48988
+ # @return [String]
48989
+ attr_accessor :kind
48990
+
48991
+ # [Output Only] This token allows you to get the next page of results for
48992
+ # list requests. If the number of results is larger thanmaxResults, use the
48993
+ # nextPageToken as a value for
48994
+ # the query parameter pageToken in the next list request.
48995
+ # Subsequent list requests will have their own nextPageToken to
48996
+ # continue paging through the results.
48997
+ # Corresponds to the JSON property `nextPageToken`
48998
+ # @return [String]
48999
+ attr_accessor :next_page_token
49000
+
49001
+ # Output only. [Output Only] Server-defined URL for this resource.
49002
+ # Corresponds to the JSON property `selfLink`
49003
+ # @return [String]
49004
+ attr_accessor :self_link
49005
+
49006
+ # [Output Only] Informational warning message.
49007
+ # Corresponds to the JSON property `warning`
49008
+ # @return [Google::Apis::ComputeBeta::RegionDiskTypeList::Warning]
49009
+ attr_accessor :warning
49010
+
49011
+ def initialize(**args)
49012
+ update!(**args)
49013
+ end
49014
+
49015
+ # Update properties of this object
49016
+ def update!(**args)
49017
+ @id = args[:id] if args.key?(:id)
49018
+ @items = args[:items] if args.key?(:items)
49019
+ @kind = args[:kind] if args.key?(:kind)
49020
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
49021
+ @self_link = args[:self_link] if args.key?(:self_link)
49022
+ @warning = args[:warning] if args.key?(:warning)
49023
+ end
49024
+
49025
+ # [Output Only] Informational warning message.
49026
+ class Warning
49027
+ include Google::Apis::Core::Hashable
49028
+
49029
+ # [Output Only] A warning code, if applicable. For example, Compute
49030
+ # Engine returns NO_RESULTS_ON_PAGE if there
49031
+ # are no results in the response.
49032
+ # Corresponds to the JSON property `code`
49033
+ # @return [String]
49034
+ attr_accessor :code
49035
+
49036
+ # [Output Only] Metadata about this warning in key:
49037
+ # value format. For example:
49038
+ # "data": [
49039
+ # `
49040
+ # "key": "scope",
49041
+ # "value": "zones/us-east1-d"
49042
+ # `
49043
+ # Corresponds to the JSON property `data`
49044
+ # @return [Array<Google::Apis::ComputeBeta::RegionDiskTypeList::Warning::Datum>]
49045
+ attr_accessor :data
49046
+
49047
+ # [Output Only] A human-readable description of the warning code.
49048
+ # Corresponds to the JSON property `message`
49049
+ # @return [String]
49050
+ attr_accessor :message
49051
+
49052
+ def initialize(**args)
49053
+ update!(**args)
49054
+ end
49055
+
49056
+ # Update properties of this object
49057
+ def update!(**args)
49058
+ @code = args[:code] if args.key?(:code)
49059
+ @data = args[:data] if args.key?(:data)
49060
+ @message = args[:message] if args.key?(:message)
49061
+ end
49062
+
49063
+ #
49064
+ class Datum
49065
+ include Google::Apis::Core::Hashable
49066
+
49067
+ # [Output Only] A key that provides more detail on the warning being
49068
+ # returned. For example, for warnings where there are no results in a list
49069
+ # request for a particular zone, this key might be scope and
49070
+ # the key value might be the zone name. Other examples might be a key
49071
+ # indicating a deprecated resource and a suggested replacement, or a
49072
+ # warning about invalid network settings (for example, if an instance
49073
+ # attempts to perform IP forwarding but is not enabled for IP forwarding).
49074
+ # Corresponds to the JSON property `key`
49075
+ # @return [String]
49076
+ attr_accessor :key
49077
+
49078
+ # [Output Only] A warning data value corresponding to the key.
49079
+ # Corresponds to the JSON property `value`
49080
+ # @return [String]
49081
+ attr_accessor :value
49082
+
49083
+ def initialize(**args)
49084
+ update!(**args)
49085
+ end
49086
+
49087
+ # Update properties of this object
49088
+ def update!(**args)
49089
+ @key = args[:key] if args.key?(:key)
49090
+ @value = args[:value] if args.key?(:value)
49091
+ end
49092
+ end
49093
+ end
49094
+ end
49095
+
49096
+ #
49097
+ class RegionDiskUpdateKmsKeyRequest
47918
49098
  include Google::Apis::Core::Hashable
47919
49099
 
47920
- # [Output Only] Unique identifier for the resource; defined by the server.
47921
- # Corresponds to the JSON property `id`
47922
- # @return [String]
47923
- attr_accessor :id
47924
-
47925
- # A list of DiskType resources.
47926
- # Corresponds to the JSON property `items`
47927
- # @return [Array<Google::Apis::ComputeBeta::DiskType>]
47928
- attr_accessor :items
47929
-
47930
- # Output only. [Output Only] Type of resource. Alwayscompute#regionDiskTypeList
47931
- # for region disk types.
47932
- # Corresponds to the JSON property `kind`
47933
- # @return [String]
47934
- attr_accessor :kind
47935
-
47936
- # [Output Only] This token allows you to get the next page of results for
47937
- # list requests. If the number of results is larger thanmaxResults, use the
47938
- # nextPageToken as a value for
47939
- # the query parameter pageToken in the next list request.
47940
- # Subsequent list requests will have their own nextPageToken to
47941
- # continue paging through the results.
47942
- # Corresponds to the JSON property `nextPageToken`
47943
- # @return [String]
47944
- attr_accessor :next_page_token
47945
-
47946
- # Output only. [Output Only] Server-defined URL for this resource.
47947
- # Corresponds to the JSON property `selfLink`
49100
+ # Optional. The new KMS key to replace the current one on the disk. If empty,
49101
+ # the disk
49102
+ # will be re-encrypted using the primary version of the disk's current KMS
49103
+ # key.
49104
+ # The KMS key can be provided in the following formats:
49105
+ #
49106
+ #
49107
+ # - projects/project_id/locations/location/keyRings/key_ring/cryptoKeys/key
49108
+ # Where project is the project ID or
49109
+ # project number.
49110
+ # Corresponds to the JSON property `kmsKeyName`
47948
49111
  # @return [String]
47949
- attr_accessor :self_link
47950
-
47951
- # [Output Only] Informational warning message.
47952
- # Corresponds to the JSON property `warning`
47953
- # @return [Google::Apis::ComputeBeta::RegionDiskTypeList::Warning]
47954
- attr_accessor :warning
49112
+ attr_accessor :kms_key_name
47955
49113
 
47956
49114
  def initialize(**args)
47957
49115
  update!(**args)
@@ -47959,82 +49117,7 @@ module Google
47959
49117
 
47960
49118
  # Update properties of this object
47961
49119
  def update!(**args)
47962
- @id = args[:id] if args.key?(:id)
47963
- @items = args[:items] if args.key?(:items)
47964
- @kind = args[:kind] if args.key?(:kind)
47965
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
47966
- @self_link = args[:self_link] if args.key?(:self_link)
47967
- @warning = args[:warning] if args.key?(:warning)
47968
- end
47969
-
47970
- # [Output Only] Informational warning message.
47971
- class Warning
47972
- include Google::Apis::Core::Hashable
47973
-
47974
- # [Output Only] A warning code, if applicable. For example, Compute
47975
- # Engine returns NO_RESULTS_ON_PAGE if there
47976
- # are no results in the response.
47977
- # Corresponds to the JSON property `code`
47978
- # @return [String]
47979
- attr_accessor :code
47980
-
47981
- # [Output Only] Metadata about this warning in key:
47982
- # value format. For example:
47983
- # "data": [
47984
- # `
47985
- # "key": "scope",
47986
- # "value": "zones/us-east1-d"
47987
- # `
47988
- # Corresponds to the JSON property `data`
47989
- # @return [Array<Google::Apis::ComputeBeta::RegionDiskTypeList::Warning::Datum>]
47990
- attr_accessor :data
47991
-
47992
- # [Output Only] A human-readable description of the warning code.
47993
- # Corresponds to the JSON property `message`
47994
- # @return [String]
47995
- attr_accessor :message
47996
-
47997
- def initialize(**args)
47998
- update!(**args)
47999
- end
48000
-
48001
- # Update properties of this object
48002
- def update!(**args)
48003
- @code = args[:code] if args.key?(:code)
48004
- @data = args[:data] if args.key?(:data)
48005
- @message = args[:message] if args.key?(:message)
48006
- end
48007
-
48008
- #
48009
- class Datum
48010
- include Google::Apis::Core::Hashable
48011
-
48012
- # [Output Only] A key that provides more detail on the warning being
48013
- # returned. For example, for warnings where there are no results in a list
48014
- # request for a particular zone, this key might be scope and
48015
- # the key value might be the zone name. Other examples might be a key
48016
- # indicating a deprecated resource and a suggested replacement, or a
48017
- # warning about invalid network settings (for example, if an instance
48018
- # attempts to perform IP forwarding but is not enabled for IP forwarding).
48019
- # Corresponds to the JSON property `key`
48020
- # @return [String]
48021
- attr_accessor :key
48022
-
48023
- # [Output Only] A warning data value corresponding to the key.
48024
- # Corresponds to the JSON property `value`
48025
- # @return [String]
48026
- attr_accessor :value
48027
-
48028
- def initialize(**args)
48029
- update!(**args)
48030
- end
48031
-
48032
- # Update properties of this object
48033
- def update!(**args)
48034
- @key = args[:key] if args.key?(:key)
48035
- @value = args[:value] if args.key?(:value)
48036
- end
48037
- end
49120
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
48038
49121
  end
48039
49122
  end
48040
49123
 
@@ -48287,8 +49370,7 @@ module Google
48287
49370
  class RegionInstanceGroupManagerList
48288
49371
  include Google::Apis::Core::Hashable
48289
49372
 
48290
- # Output only. [Output Only] Unique identifier for the resource; defined by the
48291
- # server.
49373
+ # Output only. Unique identifier for the resource; defined by the server.
48292
49374
  # Corresponds to the JSON property `id`
48293
49375
  # @return [String]
48294
49376
  attr_accessor :id
@@ -48298,15 +49380,14 @@ module Google
48298
49380
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManager>]
48299
49381
  attr_accessor :items
48300
49382
 
48301
- # Output only. [Output Only] The resource type, which is always
48302
- # compute#instanceGroupManagerList for a list of managed instance groups that
48303
- # exist in th regional scope.
49383
+ # Output only. The resource type, which is always compute#
49384
+ # instanceGroupManagerList for a
49385
+ # list of managed instance groups that exist in th regional scope.
48304
49386
  # Corresponds to the JSON property `kind`
48305
49387
  # @return [String]
48306
49388
  attr_accessor :kind
48307
49389
 
48308
- # Output only. [Output Only] This token allows you to get the next page of
48309
- # results for
49390
+ # Output only. This token allows you to get the next page of results for
48310
49391
  # list requests. If the number of results is larger thanmaxResults, use the
48311
49392
  # nextPageToken as a value for
48312
49393
  # the query parameter pageToken in the next list request.
@@ -48316,12 +49397,12 @@ module Google
48316
49397
  # @return [String]
48317
49398
  attr_accessor :next_page_token
48318
49399
 
48319
- # Output only. [Output Only] Server-defined URL for this resource.
49400
+ # Output only. Server-defined URL for this resource.
48320
49401
  # Corresponds to the JSON property `selfLink`
48321
49402
  # @return [String]
48322
49403
  attr_accessor :self_link
48323
49404
 
48324
- # Output only. [Output Only] Informational warning message.
49405
+ # Output only. Informational warning message.
48325
49406
  # Corresponds to the JSON property `warning`
48326
49407
  # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerList::Warning]
48327
49408
  attr_accessor :warning
@@ -48340,7 +49421,7 @@ module Google
48340
49421
  @warning = args[:warning] if args.key?(:warning)
48341
49422
  end
48342
49423
 
48343
- # Output only. [Output Only] Informational warning message.
49424
+ # Output only. Informational warning message.
48344
49425
  class Warning
48345
49426
  include Google::Apis::Core::Hashable
48346
49427
 
@@ -48440,8 +49521,7 @@ module Google
48440
49521
  # @return [String]
48441
49522
  attr_accessor :etag
48442
49523
 
48443
- # Output only. [Output Only] Unique identifier for the resource; defined by the
48444
- # server.
49524
+ # Output only. Unique identifier for the resource; defined by the server.
48445
49525
  # Corresponds to the JSON property `id`
48446
49526
  # @return [String]
48447
49527
  attr_accessor :id
@@ -48451,15 +49531,14 @@ module Google
48451
49531
  # @return [Array<Google::Apis::ComputeBeta::InstanceGroupManagerResizeRequest>]
48452
49532
  attr_accessor :items
48453
49533
 
48454
- # Output only. [Output Only] Type of the resource. Alwayscompute#
49534
+ # Output only. Type of the resource. Alwayscompute#
48455
49535
  # regionInstanceGroupManagerResizeRequestList for
48456
49536
  # a list of Resize Requests.
48457
49537
  # Corresponds to the JSON property `kind`
48458
49538
  # @return [String]
48459
49539
  attr_accessor :kind
48460
49540
 
48461
- # Output only. [Output Only] This token allows you to get the next page of
48462
- # results for
49541
+ # Output only. This token allows you to get the next page of results for
48463
49542
  # list requests. If the number of results is larger thanmaxResults, use the
48464
49543
  # nextPageToken as a value for
48465
49544
  # the query parameter pageToken in the next list request.
@@ -48469,18 +49548,18 @@ module Google
48469
49548
  # @return [String]
48470
49549
  attr_accessor :next_page_token
48471
49550
 
48472
- # Output only. [Output Only] Server-defined URL for this resource.
49551
+ # Output only. Server-defined URL for this resource.
48473
49552
  # Corresponds to the JSON property `selfLink`
48474
49553
  # @return [String]
48475
49554
  attr_accessor :self_link
48476
49555
 
48477
- # Output only. [Output Only] Unreachable resources.
49556
+ # Output only. Unreachable resources.
48478
49557
  # end_interface: MixerListResponseWithEtagBuilder
48479
49558
  # Corresponds to the JSON property `unreachables`
48480
49559
  # @return [Array<String>]
48481
49560
  attr_accessor :unreachables
48482
49561
 
48483
- # Output only. [Output Only] Informational warning message.
49562
+ # Output only. Informational warning message.
48484
49563
  # Corresponds to the JSON property `warning`
48485
49564
  # @return [Google::Apis::ComputeBeta::RegionInstanceGroupManagerResizeRequestsListResponse::Warning]
48486
49565
  attr_accessor :warning
@@ -48501,7 +49580,7 @@ module Google
48501
49580
  @warning = args[:warning] if args.key?(:warning)
48502
49581
  end
48503
49582
 
48504
- # Output only. [Output Only] Informational warning message.
49583
+ # Output only. Informational warning message.
48505
49584
  class Warning
48506
49585
  include Google::Apis::Core::Hashable
48507
49586
 
@@ -49710,6 +50789,32 @@ module Google
49710
50789
  end
49711
50790
  end
49712
50791
 
50792
+ #
50793
+ class RegionSnapshotUpdateKmsKeyRequest
50794
+ include Google::Apis::Core::Hashable
50795
+
50796
+ # Optional. The new KMS key to replace the current one on the snapshot. If empty,
50797
+ # the
50798
+ # snapshot will be re-encrypted using the primary version of the snapshot's
50799
+ # current KMS key.
50800
+ # The KMS key can be provided in the following formats:
50801
+ #
50802
+ #
50803
+ # - projects/project_id/locations/region/keyRings/region/cryptoKeys/key
50804
+ # Corresponds to the JSON property `kmsKeyName`
50805
+ # @return [String]
50806
+ attr_accessor :kms_key_name
50807
+
50808
+ def initialize(**args)
50809
+ update!(**args)
50810
+ end
50811
+
50812
+ # Update properties of this object
50813
+ def update!(**args)
50814
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
50815
+ end
50816
+ end
50817
+
49713
50818
  #
49714
50819
  class RegionTargetHttpsProxiesSetSslCertificatesRequest
49715
50820
  include Google::Apis::Core::Hashable
@@ -53716,6 +54821,13 @@ module Google
53716
54821
  # @return [Fixnum]
53717
54822
  attr_accessor :completed_resources_count
53718
54823
 
54824
+ # Output only. Estimated timestamp at which the wave will complete. Extrapolated
54825
+ # from
54826
+ # current progress.
54827
+ # Corresponds to the JSON property `estimatedCompletionTime`
54828
+ # @return [String]
54829
+ attr_accessor :estimated_completion_time
54830
+
53719
54831
  # Output only. Estimated total count of resources.
53720
54832
  # Corresponds to the JSON property `estimatedTotalResourcesCount`
53721
54833
  # @return [Fixnum]
@@ -53734,6 +54846,12 @@ module Google
53734
54846
  # @return [Fixnum]
53735
54847
  attr_accessor :failed_resources_count
53736
54848
 
54849
+ # Output only. Status of each location in the wave. Map keys (locations) must be
54850
+ # specified like "us-east1" or "asia-west1-a".
54851
+ # Corresponds to the JSON property `locationStatus`
54852
+ # @return [Hash<String,Google::Apis::ComputeBeta::RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus>]
54853
+ attr_accessor :location_status
54854
+
53737
54855
  def initialize(**args)
53738
54856
  update!(**args)
53739
54857
  end
@@ -53741,9 +54859,30 @@ module Google
53741
54859
  # Update properties of this object
53742
54860
  def update!(**args)
53743
54861
  @completed_resources_count = args[:completed_resources_count] if args.key?(:completed_resources_count)
54862
+ @estimated_completion_time = args[:estimated_completion_time] if args.key?(:estimated_completion_time)
53744
54863
  @estimated_total_resources_count = args[:estimated_total_resources_count] if args.key?(:estimated_total_resources_count)
53745
54864
  @failed_locations = args[:failed_locations] if args.key?(:failed_locations)
53746
54865
  @failed_resources_count = args[:failed_resources_count] if args.key?(:failed_resources_count)
54866
+ @location_status = args[:location_status] if args.key?(:location_status)
54867
+ end
54868
+ end
54869
+
54870
+ # Represents the status of a location in a wave.
54871
+ class RolloutWaveDetailsOrchestratedWaveDetailsLocationStatus
54872
+ include Google::Apis::Core::Hashable
54873
+
54874
+ # Output only. Location state of the wave.
54875
+ # Corresponds to the JSON property `state`
54876
+ # @return [String]
54877
+ attr_accessor :state
54878
+
54879
+ def initialize(**args)
54880
+ update!(**args)
54881
+ end
54882
+
54883
+ # Update properties of this object
54884
+ def update!(**args)
54885
+ @state = args[:state] if args.key?(:state)
53747
54886
  end
53748
54887
  end
53749
54888
 
@@ -60778,12 +61917,14 @@ module Google
60778
61917
 
60779
61918
  # Output only. [Output Only] The unique ID of the snapshot group that this
60780
61919
  # snapshot
60781
- # belongs to.
61920
+ # belongs to. The usage of snapshot group feature is restricted.
60782
61921
  # Corresponds to the JSON property `snapshotGroupId`
60783
61922
  # @return [String]
60784
61923
  attr_accessor :snapshot_group_id
60785
61924
 
60786
61925
  # Output only. [Output only] The snapshot group that this snapshot belongs to.
61926
+ # The usage
61927
+ # of snapshot group feature is restricted.
60787
61928
  # Corresponds to the JSON property `snapshotGroupName`
60788
61929
  # @return [String]
60789
61930
  attr_accessor :snapshot_group_name
@@ -61398,8 +62539,8 @@ module Google
61398
62539
  # values have
61399
62540
  # the same definition as resource
61400
62541
  # manager tags. Keys and values can be either in numeric format,
61401
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
61402
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
62542
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
62543
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
61403
62544
  # ``tag_value_short_name``. The field is ignored (both PUT &
61404
62545
  # PATCH) when empty.
61405
62546
  # Corresponds to the JSON property `resourceManagerTags`
@@ -61535,6 +62676,32 @@ module Google
61535
62676
  end
61536
62677
  end
61537
62678
 
62679
+ #
62680
+ class SnapshotUpdateKmsKeyRequest
62681
+ include Google::Apis::Core::Hashable
62682
+
62683
+ # Optional. The new KMS key to replace the current one on the snapshot. If empty,
62684
+ # the
62685
+ # snapshot will be re-encrypted using the primary version of the snapshot's
62686
+ # current KMS key.
62687
+ # The KMS key can be provided in the following formats:
62688
+ #
62689
+ #
62690
+ # - projects/project_id/locations/region/keyRings/key_ring/cryptoKeys/key
62691
+ # Corresponds to the JSON property `kmsKeyName`
62692
+ # @return [String]
62693
+ attr_accessor :kms_key_name
62694
+
62695
+ def initialize(**args)
62696
+ update!(**args)
62697
+ end
62698
+
62699
+ # Update properties of this object
62700
+ def update!(**args)
62701
+ @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
62702
+ end
62703
+ end
62704
+
61538
62705
  #
61539
62706
  class SnapshotsScopedList
61540
62707
  include Google::Apis::Core::Hashable
@@ -62827,6 +63994,19 @@ module Google
62827
63994
  # @return [String]
62828
63995
  attr_accessor :name
62829
63996
 
63997
+ # One of DEFAULT, ENABLED, orDEFERRED. Controls whether the load balancer
63998
+ # negotiates
63999
+ # X25519MLKEM768 key exchange when clients advertise support for it. When set
64000
+ # to DEFAULT, or if no SSL Policy is attached to the target
64001
+ # proxy, the load balancer disallows X25519MLKEM768 key exchange before
64002
+ # October 2026, and allows it afterward. When set to ENABLED,
64003
+ # the load balancer allows X25519MLKEM768 key exchange. When set toDEFERRED, the
64004
+ # load balancer disallows X25519MLKEM768 key
64005
+ # exchange until October 2027, and allows it afterward.
64006
+ # Corresponds to the JSON property `postQuantumKeyExchange`
64007
+ # @return [String]
64008
+ attr_accessor :post_quantum_key_exchange
64009
+
62830
64010
  # Profile specifies the set of SSL features that can be used by the load
62831
64011
  # balancer when negotiating SSL with clients. This can be one ofCOMPATIBLE,
62832
64012
  # MODERN, RESTRICTED,FIPS_202205, or CUSTOM. If usingCUSTOM, the set of SSL
@@ -62870,6 +64050,7 @@ module Google
62870
64050
  @kind = args[:kind] if args.key?(:kind)
62871
64051
  @min_tls_version = args[:min_tls_version] if args.key?(:min_tls_version)
62872
64052
  @name = args[:name] if args.key?(:name)
64053
+ @post_quantum_key_exchange = args[:post_quantum_key_exchange] if args.key?(:post_quantum_key_exchange)
62873
64054
  @profile = args[:profile] if args.key?(:profile)
62874
64055
  @region = args[:region] if args.key?(:region)
62875
64056
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -63820,8 +65001,8 @@ module Google
63820
65001
  # and values
63821
65002
  # have the same definition as resource
63822
65003
  # manager tags. Keys and values can be either in numeric format,
63823
- # such as `tagKeys/`tag_key_id`` and `tagValues/456` or in namespaced
63824
- # format such as ``org_id|project_id`/`tag_key_short_name`` and
65004
+ # such as `tagKeys/`tag_key_id`` and `tagValues/`tag_value_id`` or in
65005
+ # namespaced format such as ``org_id|project_id`/`tag_key_short_name`` and
63825
65006
  # ``tag_value_short_name``. The field is ignored (both PUT &
63826
65007
  # PATCH) when empty.
63827
65008
  # Corresponds to the JSON property `resourceManagerTags`
@@ -65238,6 +66419,22 @@ module Google
65238
66419
  # @return [String]
65239
66420
  attr_accessor :ip_cidr_range
65240
66421
 
66422
+ # Reference to a Public Delegated Prefix (PDP) for BYOIP.
66423
+ # This field should be specified for configuring BYOGUA internal IPv6
66424
+ # secondary range.
66425
+ # When specified along with the ip_cidr_range, the ip_cidr_range must lie
66426
+ # within the PDP referenced by the `ipCollection` field.
66427
+ # When specified without the ip_cidr_range, the range is auto-allocated
66428
+ # from the PDP referenced by the `ipCollection` field.
66429
+ # Corresponds to the JSON property `ipCollection`
66430
+ # @return [String]
66431
+ attr_accessor :ip_collection
66432
+
66433
+ #
66434
+ # Corresponds to the JSON property `ipVersion`
66435
+ # @return [String]
66436
+ attr_accessor :ip_version
66437
+
65241
66438
  # The name associated with this subnetwork secondary range, used when adding
65242
66439
  # an alias IP/IPv6 range to a VM instance.
65243
66440
  # The name must be 1-63 characters long, and comply withRFC1035.
@@ -65258,6 +66455,8 @@ module Google
65258
66455
  # Update properties of this object
65259
66456
  def update!(**args)
65260
66457
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
66458
+ @ip_collection = args[:ip_collection] if args.key?(:ip_collection)
66459
+ @ip_version = args[:ip_version] if args.key?(:ip_version)
65261
66460
  @range_name = args[:range_name] if args.key?(:range_name)
65262
66461
  @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
65263
66462
  end
@@ -69935,6 +71134,11 @@ module Google
69935
71134
  # @return [String]
69936
71135
  attr_accessor :self_link
69937
71136
 
71137
+ # [Output Only] The status of the URL map.
71138
+ # Corresponds to the JSON property `status`
71139
+ # @return [Google::Apis::ComputeBeta::UrlMapStatus]
71140
+ attr_accessor :status
71141
+
69938
71142
  # The list of expected URL mapping tests. Request to update theUrlMap succeeds
69939
71143
  # only if all test cases pass. You can specify a
69940
71144
  # maximum of 100 tests per UrlMap.
@@ -69965,6 +71169,7 @@ module Google
69965
71169
  @path_matchers = args[:path_matchers] if args.key?(:path_matchers)
69966
71170
  @region = args[:region] if args.key?(:region)
69967
71171
  @self_link = args[:self_link] if args.key?(:self_link)
71172
+ @status = args[:status] if args.key?(:status)
69968
71173
  @tests = args[:tests] if args.key?(:tests)
69969
71174
  end
69970
71175
  end
@@ -70093,6 +71298,31 @@ module Google
70093
71298
  end
70094
71299
  end
70095
71300
 
71301
+ # Message representing the quota usage for a UrlMap.
71302
+ class UrlMapQuotaUsage
71303
+ include Google::Apis::Core::Hashable
71304
+
71305
+ # Output only. The number of forwarding rules that uses this UrlMap.
71306
+ # Corresponds to the JSON property `forwardingRules`
71307
+ # @return [Fixnum]
71308
+ attr_accessor :forwarding_rules
71309
+
71310
+ # Output only. The number of quota units calculated for this UrlMap.
71311
+ # Corresponds to the JSON property `units`
71312
+ # @return [Fixnum]
71313
+ attr_accessor :units
71314
+
71315
+ def initialize(**args)
71316
+ update!(**args)
71317
+ end
71318
+
71319
+ # Update properties of this object
71320
+ def update!(**args)
71321
+ @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
71322
+ @units = args[:units] if args.key?(:units)
71323
+ end
71324
+ end
71325
+
70096
71326
  #
70097
71327
  class UrlMapReference
70098
71328
  include Google::Apis::Core::Hashable
@@ -70112,6 +71342,25 @@ module Google
70112
71342
  end
70113
71343
  end
70114
71344
 
71345
+ # [Output Only] The status of the URL map.
71346
+ class UrlMapStatus
71347
+ include Google::Apis::Core::Hashable
71348
+
71349
+ # Message representing the quota usage for a UrlMap.
71350
+ # Corresponds to the JSON property `quotaUsage`
71351
+ # @return [Google::Apis::ComputeBeta::UrlMapQuotaUsage]
71352
+ attr_accessor :quota_usage
71353
+
71354
+ def initialize(**args)
71355
+ update!(**args)
71356
+ end
71357
+
71358
+ # Update properties of this object
71359
+ def update!(**args)
71360
+ @quota_usage = args[:quota_usage] if args.key?(:quota_usage)
71361
+ end
71362
+ end
71363
+
70115
71364
  # Message for the expected URL mappings.
70116
71365
  class UrlMapTest
70117
71366
  include Google::Apis::Core::Hashable
@@ -70231,6 +71480,11 @@ module Google
70231
71480
  attr_accessor :load_succeeded
70232
71481
  alias_method :load_succeeded?, :load_succeeded
70233
71482
 
71483
+ # Message representing the quota usage for a UrlMap.
71484
+ # Corresponds to the JSON property `quotaUsage`
71485
+ # @return [Google::Apis::ComputeBeta::UrlMapQuotaUsage]
71486
+ attr_accessor :quota_usage
71487
+
70234
71488
  #
70235
71489
  # Corresponds to the JSON property `testFailures`
70236
71490
  # @return [Array<Google::Apis::ComputeBeta::TestFailure>]
@@ -70251,6 +71505,7 @@ module Google
70251
71505
  def update!(**args)
70252
71506
  @load_errors = args[:load_errors] if args.key?(:load_errors)
70253
71507
  @load_succeeded = args[:load_succeeded] if args.key?(:load_succeeded)
71508
+ @quota_usage = args[:quota_usage] if args.key?(:quota_usage)
70254
71509
  @test_failures = args[:test_failures] if args.key?(:test_failures)
70255
71510
  @test_passed = args[:test_passed] if args.key?(:test_passed)
70256
71511
  end