google-apis-compute_alpha 0.118.0 → 0.120.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.
@@ -1261,6 +1261,23 @@ module Google
1261
1261
  class AllocationAggregateReservation
1262
1262
  include Google::Apis::Core::Hashable
1263
1263
 
1264
+ # Count of reserved hosts of specified VM family. The host has fixed number of
1265
+ # accelerators based on the accelerator/vm-family selected.
1266
+ # Corresponds to the JSON property `hostCount`
1267
+ # @return [Fixnum]
1268
+ attr_accessor :host_count
1269
+
1270
+ # Number of hosts currently in use. If there is one or more Instances running on
1271
+ # the host, it is considered in use.
1272
+ # Corresponds to the JSON property `inUseHostCount`
1273
+ # @return [Fixnum]
1274
+ attr_accessor :in_use_host_count
1275
+
1276
+ # Number of instances currently in use in this reservation.
1277
+ # Corresponds to the JSON property `inUseInstanceCount`
1278
+ # @return [Fixnum]
1279
+ attr_accessor :in_use_instance_count
1280
+
1264
1281
  # [Output only] List of resources currently in use.
1265
1282
  # Corresponds to the JSON property `inUseResources`
1266
1283
  # @return [Array<Google::Apis::ComputeAlpha::AllocationAggregateReservationReservedResourceInfo>]
@@ -1288,6 +1305,9 @@ module Google
1288
1305
 
1289
1306
  # Update properties of this object
1290
1307
  def update!(**args)
1308
+ @host_count = args[:host_count] if args.key?(:host_count)
1309
+ @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
1310
+ @in_use_instance_count = args[:in_use_instance_count] if args.key?(:in_use_instance_count)
1291
1311
  @in_use_resources = args[:in_use_resources] if args.key?(:in_use_resources)
1292
1312
  @reserved_resources = args[:reserved_resources] if args.key?(:reserved_resources)
1293
1313
  @vm_family = args[:vm_family] if args.key?(:vm_family)
@@ -3163,6 +3183,24 @@ module Google
3163
3183
  # @return [Fixnum]
3164
3184
  attr_accessor :max_connections_per_instance
3165
3185
 
3186
+ # Defines a maximum number of in-flight requests for the whole NEG or instance
3187
+ # group. Not available if backend's balancingMode is RATE or CONNECTION.
3188
+ # Corresponds to the JSON property `maxInFlightRequests`
3189
+ # @return [Fixnum]
3190
+ attr_accessor :max_in_flight_requests
3191
+
3192
+ # Defines a maximum number of in-flight requests for a single endpoint. Not
3193
+ # available if backend's balancingMode is RATE or CONNECTION.
3194
+ # Corresponds to the JSON property `maxInFlightRequestsPerEndpoint`
3195
+ # @return [Fixnum]
3196
+ attr_accessor :max_in_flight_requests_per_endpoint
3197
+
3198
+ # Defines a maximum number of in-flight requests for a single VM. Not available
3199
+ # if backend's balancingMode is RATE or CONNECTION.
3200
+ # Corresponds to the JSON property `maxInFlightRequestsPerInstance`
3201
+ # @return [Fixnum]
3202
+ attr_accessor :max_in_flight_requests_per_instance
3203
+
3166
3204
  # Defines a maximum number of HTTP requests per second (RPS). For usage
3167
3205
  # guidelines, see Rate balancing mode and Utilization balancing mode. Not
3168
3206
  # available if the backend's balancingMode is CONNECTION.
@@ -3201,6 +3239,11 @@ module Google
3201
3239
  # @return [String]
3202
3240
  attr_accessor :preference
3203
3241
 
3242
+ #
3243
+ # Corresponds to the JSON property `trafficDuration`
3244
+ # @return [String]
3245
+ attr_accessor :traffic_duration
3246
+
3204
3247
  def initialize(**args)
3205
3248
  update!(**args)
3206
3249
  end
@@ -3216,11 +3259,15 @@ module Google
3216
3259
  @max_connections = args[:max_connections] if args.key?(:max_connections)
3217
3260
  @max_connections_per_endpoint = args[:max_connections_per_endpoint] if args.key?(:max_connections_per_endpoint)
3218
3261
  @max_connections_per_instance = args[:max_connections_per_instance] if args.key?(:max_connections_per_instance)
3262
+ @max_in_flight_requests = args[:max_in_flight_requests] if args.key?(:max_in_flight_requests)
3263
+ @max_in_flight_requests_per_endpoint = args[:max_in_flight_requests_per_endpoint] if args.key?(:max_in_flight_requests_per_endpoint)
3264
+ @max_in_flight_requests_per_instance = args[:max_in_flight_requests_per_instance] if args.key?(:max_in_flight_requests_per_instance)
3219
3265
  @max_rate = args[:max_rate] if args.key?(:max_rate)
3220
3266
  @max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint)
3221
3267
  @max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
3222
3268
  @max_utilization = args[:max_utilization] if args.key?(:max_utilization)
3223
3269
  @preference = args[:preference] if args.key?(:preference)
3270
+ @traffic_duration = args[:traffic_duration] if args.key?(:traffic_duration)
3224
3271
  end
3225
3272
  end
3226
3273
 
@@ -4184,7 +4231,7 @@ module Google
4184
4231
  # was redirected to the load balancer. - MAGLEV: used as a drop in replacement
4185
4232
  # for the ring hash load balancer. Maglev is not as stable as ring hash but has
4186
4233
  # faster table lookup build times and host selection times. For more information
4187
- # about Maglev, see https://ai.google/research/pubs/pub44824 -
4234
+ # about Maglev, see Maglev: A Fast and Reliable Software Network Load Balancer. -
4188
4235
  # WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using
4189
4236
  # weights computed from Backend reported Custom Metrics. If set, the Backend
4190
4237
  # Service responses are expected to contain non-standard HTTP response header
@@ -4326,7 +4373,7 @@ module Google
4326
4373
  attr_accessor :service_bindings
4327
4374
 
4328
4375
  # URL to networkservices.ServiceLbPolicy resource. Can only be set if load
4329
- # balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or
4376
+ # balancing scheme is EXTERNAL_MANAGED, INTERNAL_MANAGED or
4330
4377
  # INTERNAL_SELF_MANAGED and the scope is global.
4331
4378
  # Corresponds to the JSON property `serviceLbPolicy`
4332
4379
  # @return [String]
@@ -7056,7 +7103,7 @@ module Google
7056
7103
  include Google::Apis::Core::Hashable
7057
7104
 
7058
7105
  # Initially the API will provide one recommendation which balances the
7059
- # individual scores according to Google's preference.
7106
+ # individual scores according to service provider's preference.
7060
7107
  # Corresponds to the JSON property `recommendations`
7061
7108
  # @return [Array<Google::Apis::ComputeAlpha::CapacityAdviceResponseRecommendation>]
7062
7109
  attr_accessor :recommendations
@@ -8035,11 +8082,6 @@ module Google
8035
8082
  class CompositeHealthCheckAggregatedList
8036
8083
  include Google::Apis::Core::Hashable
8037
8084
 
8038
- #
8039
- # Corresponds to the JSON property `etag`
8040
- # @return [String]
8041
- attr_accessor :etag
8042
-
8043
8085
  # [Output Only] Unique identifier for the resource; defined by the server.
8044
8086
  # Corresponds to the JSON property `id`
8045
8087
  # @return [String]
@@ -8069,11 +8111,6 @@ module Google
8069
8111
  # @return [String]
8070
8112
  attr_accessor :self_link
8071
8113
 
8072
- # [Output Only] Unreachable resources.
8073
- # Corresponds to the JSON property `unreachables`
8074
- # @return [Array<String>]
8075
- attr_accessor :unreachables
8076
-
8077
8114
  # [Output Only] Informational warning message.
8078
8115
  # Corresponds to the JSON property `warning`
8079
8116
  # @return [Google::Apis::ComputeAlpha::CompositeHealthCheckAggregatedList::Warning]
@@ -8085,13 +8122,11 @@ module Google
8085
8122
 
8086
8123
  # Update properties of this object
8087
8124
  def update!(**args)
8088
- @etag = args[:etag] if args.key?(:etag)
8089
8125
  @id = args[:id] if args.key?(:id)
8090
8126
  @items = args[:items] if args.key?(:items)
8091
8127
  @kind = args[:kind] if args.key?(:kind)
8092
8128
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8093
8129
  @self_link = args[:self_link] if args.key?(:self_link)
8094
- @unreachables = args[:unreachables] if args.key?(:unreachables)
8095
8130
  @warning = args[:warning] if args.key?(:warning)
8096
8131
  end
8097
8132
 
@@ -8164,11 +8199,6 @@ module Google
8164
8199
  class CompositeHealthCheckList
8165
8200
  include Google::Apis::Core::Hashable
8166
8201
 
8167
- #
8168
- # Corresponds to the JSON property `etag`
8169
- # @return [String]
8170
- attr_accessor :etag
8171
-
8172
8202
  # [Output Only] Unique identifier for the resource; defined by the server.
8173
8203
  # Corresponds to the JSON property `id`
8174
8204
  # @return [String]
@@ -8199,12 +8229,6 @@ module Google
8199
8229
  # @return [String]
8200
8230
  attr_accessor :self_link
8201
8231
 
8202
- # [Output Only] Unreachable resources. end_interface:
8203
- # MixerListResponseWithEtagBuilder
8204
- # Corresponds to the JSON property `unreachables`
8205
- # @return [Array<String>]
8206
- attr_accessor :unreachables
8207
-
8208
8232
  # [Output Only] Informational warning message.
8209
8233
  # Corresponds to the JSON property `warning`
8210
8234
  # @return [Google::Apis::ComputeAlpha::CompositeHealthCheckList::Warning]
@@ -8216,13 +8240,11 @@ module Google
8216
8240
 
8217
8241
  # Update properties of this object
8218
8242
  def update!(**args)
8219
- @etag = args[:etag] if args.key?(:etag)
8220
8243
  @id = args[:id] if args.key?(:id)
8221
8244
  @items = args[:items] if args.key?(:items)
8222
8245
  @kind = args[:kind] if args.key?(:kind)
8223
8246
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8224
8247
  @self_link = args[:self_link] if args.key?(:self_link)
8225
- @unreachables = args[:unreachables] if args.key?(:unreachables)
8226
8248
  @warning = args[:warning] if args.key?(:warning)
8227
8249
  end
8228
8250
 
@@ -11301,6 +11323,12 @@ module Google
11301
11323
  # @return [String]
11302
11324
  attr_accessor :name
11303
11325
 
11326
+ # Input only. [Input Only] Additional params passed with the request, but not
11327
+ # persisted as part of resource payload.
11328
+ # Corresponds to the JSON property `params`
11329
+ # @return [Google::Apis::ComputeAlpha::ExternalVpnGatewayParams]
11330
+ attr_accessor :params
11331
+
11304
11332
  # Indicates the user-supplied redundancy type of this external VPN gateway.
11305
11333
  # Corresponds to the JSON property `redundancyType`
11306
11334
  # @return [String]
@@ -11325,6 +11353,7 @@ module Google
11325
11353
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
11326
11354
  @labels = args[:labels] if args.key?(:labels)
11327
11355
  @name = args[:name] if args.key?(:name)
11356
+ @params = args[:params] if args.key?(:params)
11328
11357
  @redundancy_type = args[:redundancy_type] if args.key?(:redundancy_type)
11329
11358
  @self_link = args[:self_link] if args.key?(:self_link)
11330
11359
  end
@@ -11496,6 +11525,33 @@ module Google
11496
11525
  end
11497
11526
  end
11498
11527
 
11528
+ #
11529
+ class ExternalVpnGatewayParams
11530
+ include Google::Apis::Core::Hashable
11531
+
11532
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
11533
+ # same definition as resource manager tags. The field is allowed for INSERT only.
11534
+ # The keys/values to set on the resource should be specified in either ID ` : `
11535
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
11536
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
11537
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
11538
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
11539
+ # "tagValues/444"` is invalid. * Inconsistent format is not supported. For
11540
+ # instance: `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
11541
+ # Corresponds to the JSON property `resourceManagerTags`
11542
+ # @return [Hash<String,String>]
11543
+ attr_accessor :resource_manager_tags
11544
+
11545
+ def initialize(**args)
11546
+ update!(**args)
11547
+ end
11548
+
11549
+ # Update properties of this object
11550
+ def update!(**args)
11551
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
11552
+ end
11553
+ end
11554
+
11499
11555
  #
11500
11556
  class FileContentBuffer
11501
11557
  include Google::Apis::Core::Hashable
@@ -13796,6 +13852,11 @@ module Google
13796
13852
  # @return [String]
13797
13853
  attr_accessor :planning_status
13798
13854
 
13855
+ # Protection tier for the workload.
13856
+ # Corresponds to the JSON property `protectionTier`
13857
+ # @return [String]
13858
+ attr_accessor :protection_tier
13859
+
13799
13860
  # The reservation mode which determines reservation-termination behavior and
13800
13861
  # expected pricing.
13801
13862
  # Corresponds to the JSON property `reservationMode`
@@ -13880,6 +13941,7 @@ module Google
13880
13941
  @name = args[:name] if args.key?(:name)
13881
13942
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
13882
13943
  @planning_status = args[:planning_status] if args.key?(:planning_status)
13944
+ @protection_tier = args[:protection_tier] if args.key?(:protection_tier)
13883
13945
  @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
13884
13946
  @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
13885
13947
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
@@ -15702,6 +15764,604 @@ module Google
15702
15764
  end
15703
15765
  end
15704
15766
 
15767
+ # HaController handles failover for a VM Instance.
15768
+ class HaController
15769
+ include Google::Apis::Core::Hashable
15770
+
15771
+ # [Output Only] Creation timestamp in RFC3339 text format.
15772
+ # Corresponds to the JSON property `creationTimestamp`
15773
+ # @return [String]
15774
+ attr_accessor :creation_timestamp
15775
+
15776
+ # An optional description of this resource. Provide this property when you
15777
+ # create the resource.
15778
+ # Corresponds to the JSON property `description`
15779
+ # @return [String]
15780
+ attr_accessor :description
15781
+
15782
+ # Indicates how failover should be initiated.
15783
+ # Corresponds to the JSON property `failoverInitiation`
15784
+ # @return [String]
15785
+ attr_accessor :failover_initiation
15786
+
15787
+ # [Output Only] The unique identifier for the resource. This identifier is
15788
+ # defined by the server.
15789
+ # Corresponds to the JSON property `id`
15790
+ # @return [Fixnum]
15791
+ attr_accessor :id
15792
+
15793
+ # Name of the instance that HaController is in charge of. If not specified the
15794
+ # HaController's resource name will be used instead. The name must be 1-63
15795
+ # characters long, and comply with RFC1035. Specifically, the name must be 1-63
15796
+ # characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
15797
+ # which means the first character must be a lowercase letter, and all following
15798
+ # characters must be a dash, lowercase letter, or digit, except the last
15799
+ # character, which cannot be a dash.
15800
+ # Corresponds to the JSON property `instanceName`
15801
+ # @return [String]
15802
+ attr_accessor :instance_name
15803
+
15804
+ # [Output Only] Type of the resource. Always compute#haController for
15805
+ # HaControllers.
15806
+ # Corresponds to the JSON property `kind`
15807
+ # @return [String]
15808
+ attr_accessor :kind
15809
+
15810
+ # Name of the resource. Provided by the client when the resource is created. The
15811
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
15812
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
15813
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
15814
+ # and all following characters must be a dash, lowercase letter, or digit,
15815
+ # except the last character, which cannot be a dash.
15816
+ # Corresponds to the JSON property `name`
15817
+ # @return [String]
15818
+ attr_accessor :name
15819
+
15820
+ # [Output Only] URL of the region where the resource resides. You must specify
15821
+ # this field as part of the HTTP request URL. It is not settable as a field in
15822
+ # the request body.
15823
+ # Corresponds to the JSON property `region`
15824
+ # @return [String]
15825
+ attr_accessor :region
15826
+
15827
+ # Indicates the capacity guarantees in the secondary zone.
15828
+ # Corresponds to the JSON property `secondaryZoneCapacity`
15829
+ # @return [String]
15830
+ attr_accessor :secondary_zone_capacity
15831
+
15832
+ # [Output only] Server-defined URL for the resource.
15833
+ # Corresponds to the JSON property `selfLink`
15834
+ # @return [String]
15835
+ attr_accessor :self_link
15836
+
15837
+ # [Output Only] Server-defined URL for this resource with the resource id.
15838
+ # Corresponds to the JSON property `selfLinkWithId`
15839
+ # @return [String]
15840
+ attr_accessor :self_link_with_id
15841
+
15842
+ # Contains information about current status of the HaController.
15843
+ # Corresponds to the JSON property `status`
15844
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatus]
15845
+ attr_accessor :status
15846
+
15847
+ # Map of zone configurations Key: name of the zone Value: ZoneConfiguration
15848
+ # Corresponds to the JSON property `zoneConfigurations`
15849
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HaControllerZoneConfiguration>]
15850
+ attr_accessor :zone_configurations
15851
+
15852
+ def initialize(**args)
15853
+ update!(**args)
15854
+ end
15855
+
15856
+ # Update properties of this object
15857
+ def update!(**args)
15858
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
15859
+ @description = args[:description] if args.key?(:description)
15860
+ @failover_initiation = args[:failover_initiation] if args.key?(:failover_initiation)
15861
+ @id = args[:id] if args.key?(:id)
15862
+ @instance_name = args[:instance_name] if args.key?(:instance_name)
15863
+ @kind = args[:kind] if args.key?(:kind)
15864
+ @name = args[:name] if args.key?(:name)
15865
+ @region = args[:region] if args.key?(:region)
15866
+ @secondary_zone_capacity = args[:secondary_zone_capacity] if args.key?(:secondary_zone_capacity)
15867
+ @self_link = args[:self_link] if args.key?(:self_link)
15868
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
15869
+ @status = args[:status] if args.key?(:status)
15870
+ @zone_configurations = args[:zone_configurations] if args.key?(:zone_configurations)
15871
+ end
15872
+ end
15873
+
15874
+ # Contains information about current status of the HaController.
15875
+ class HaControllerStatus
15876
+ include Google::Apis::Core::Hashable
15877
+
15878
+ # Contains information about the current failover operation.
15879
+ # Corresponds to the JSON property `failoverProgress`
15880
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgress]
15881
+ attr_accessor :failover_progress
15882
+
15883
+ # [Output Only] Indicates if the failover is currently in-progress.
15884
+ # Corresponds to the JSON property `ongoingFailover`
15885
+ # @return [Boolean]
15886
+ attr_accessor :ongoing_failover
15887
+ alias_method :ongoing_failover?, :ongoing_failover
15888
+
15889
+ # [Output Only] The URL to the instance that is intended to be primary at this
15890
+ # moment. Primary instance will be changed at the very beginning of a failover
15891
+ # operation.
15892
+ # Corresponds to the JSON property `primaryInstance`
15893
+ # @return [String]
15894
+ attr_accessor :primary_instance
15895
+
15896
+ # [Output Only] The name of the zone that is intended to be primary at this
15897
+ # moment. Primary zone will be changed at the very beginning of a failover
15898
+ # operation. The zone may not be operational in the middle of a failover
15899
+ # operation.
15900
+ # Corresponds to the JSON property `primaryZone`
15901
+ # @return [String]
15902
+ attr_accessor :primary_zone
15903
+
15904
+ # [Output Only] Indicates if the resource is ready for initiating a failover to
15905
+ # the secondary zone.
15906
+ # Corresponds to the JSON property `readyForFailover`
15907
+ # @return [Boolean]
15908
+ attr_accessor :ready_for_failover
15909
+ alias_method :ready_for_failover?, :ready_for_failover
15910
+
15911
+ # [Output Only] Map of zone statuses. Key: name of the zone Value: ZoneStatus
15912
+ # Corresponds to the JSON property `zoneStatus`
15913
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HaControllerStatusZoneStatus>]
15914
+ attr_accessor :zone_status
15915
+
15916
+ def initialize(**args)
15917
+ update!(**args)
15918
+ end
15919
+
15920
+ # Update properties of this object
15921
+ def update!(**args)
15922
+ @failover_progress = args[:failover_progress] if args.key?(:failover_progress)
15923
+ @ongoing_failover = args[:ongoing_failover] if args.key?(:ongoing_failover)
15924
+ @primary_instance = args[:primary_instance] if args.key?(:primary_instance)
15925
+ @primary_zone = args[:primary_zone] if args.key?(:primary_zone)
15926
+ @ready_for_failover = args[:ready_for_failover] if args.key?(:ready_for_failover)
15927
+ @zone_status = args[:zone_status] if args.key?(:zone_status)
15928
+ end
15929
+ end
15930
+
15931
+ # Contains information about the current failover operation.
15932
+ class HaControllerStatusFailoverProgress
15933
+ include Google::Apis::Core::Hashable
15934
+
15935
+ # [Output Only] Indicates if failover has been triggered automatically or
15936
+ # manually.
15937
+ # Corresponds to the JSON property `failoverTrigger`
15938
+ # @return [String]
15939
+ attr_accessor :failover_trigger
15940
+
15941
+ # [Output Only] Timestamp of the last failover trigger.
15942
+ # Corresponds to the JSON property `failoverTriggerTimestamp`
15943
+ # @return [String]
15944
+ attr_accessor :failover_trigger_timestamp
15945
+
15946
+ # [Output Only] Contains details of the last failed failover. This field is
15947
+ # filled only if the current failover is failing
15948
+ # Corresponds to the JSON property `lastFailoverAttempt`
15949
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgressLastFailoverAttempt]
15950
+ attr_accessor :last_failover_attempt
15951
+
15952
+ def initialize(**args)
15953
+ update!(**args)
15954
+ end
15955
+
15956
+ # Update properties of this object
15957
+ def update!(**args)
15958
+ @failover_trigger = args[:failover_trigger] if args.key?(:failover_trigger)
15959
+ @failover_trigger_timestamp = args[:failover_trigger_timestamp] if args.key?(:failover_trigger_timestamp)
15960
+ @last_failover_attempt = args[:last_failover_attempt] if args.key?(:last_failover_attempt)
15961
+ end
15962
+ end
15963
+
15964
+ #
15965
+ class HaControllerStatusFailoverProgressLastFailoverAttempt
15966
+ include Google::Apis::Core::Hashable
15967
+
15968
+ # [Output Only] Encountered errors during the last attempt to process failover.
15969
+ # Corresponds to the JSON property `errors`
15970
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgressLastFailoverAttempt::Errors]
15971
+ attr_accessor :errors
15972
+
15973
+ # [Output Only] Show timestamp only if there is an error. RFC3339 text format.
15974
+ # Corresponds to the JSON property `timestamp`
15975
+ # @return [String]
15976
+ attr_accessor :timestamp
15977
+
15978
+ def initialize(**args)
15979
+ update!(**args)
15980
+ end
15981
+
15982
+ # Update properties of this object
15983
+ def update!(**args)
15984
+ @errors = args[:errors] if args.key?(:errors)
15985
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
15986
+ end
15987
+
15988
+ # [Output Only] Encountered errors during the last attempt to process failover.
15989
+ class Errors
15990
+ include Google::Apis::Core::Hashable
15991
+
15992
+ # [Output Only] The array of errors encountered while processing this operation.
15993
+ # Corresponds to the JSON property `errors`
15994
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgressLastFailoverAttempt::Errors::Error>]
15995
+ attr_accessor :errors
15996
+
15997
+ def initialize(**args)
15998
+ update!(**args)
15999
+ end
16000
+
16001
+ # Update properties of this object
16002
+ def update!(**args)
16003
+ @errors = args[:errors] if args.key?(:errors)
16004
+ end
16005
+
16006
+ #
16007
+ class Error
16008
+ include Google::Apis::Core::Hashable
16009
+
16010
+ # [Output Only] The error type identifier for this error.
16011
+ # Corresponds to the JSON property `code`
16012
+ # @return [String]
16013
+ attr_accessor :code
16014
+
16015
+ # [Output Only] An optional list of messages that contain the error details.
16016
+ # There is a set of defined message types to use for providing details.The
16017
+ # syntax depends on the error code. For example, QuotaExceededInfo will have
16018
+ # details when the error code is QUOTA_EXCEEDED.
16019
+ # Corresponds to the JSON property `errorDetails`
16020
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllerStatusFailoverProgressLastFailoverAttempt::Errors::Error::ErrorDetail>]
16021
+ attr_accessor :error_details
16022
+
16023
+ # [Output Only] Indicates the field in the request that caused the error. This
16024
+ # property is optional.
16025
+ # Corresponds to the JSON property `location`
16026
+ # @return [String]
16027
+ attr_accessor :location
16028
+
16029
+ # [Output Only] An optional, human-readable error message.
16030
+ # Corresponds to the JSON property `message`
16031
+ # @return [String]
16032
+ attr_accessor :message
16033
+
16034
+ def initialize(**args)
16035
+ update!(**args)
16036
+ end
16037
+
16038
+ # Update properties of this object
16039
+ def update!(**args)
16040
+ @code = args[:code] if args.key?(:code)
16041
+ @error_details = args[:error_details] if args.key?(:error_details)
16042
+ @location = args[:location] if args.key?(:location)
16043
+ @message = args[:message] if args.key?(:message)
16044
+ end
16045
+
16046
+ #
16047
+ class ErrorDetail
16048
+ include Google::Apis::Core::Hashable
16049
+
16050
+ # Describes the cause of the error with structured details. Example of an error
16051
+ # when contacting the "pubsub.googleapis.com" API when it is not enabled: ` "
16052
+ # reason": "API_DISABLED" "domain": "googleapis.com" "metadata": ` "resource": "
16053
+ # projects/123", "service": "pubsub.googleapis.com" ` ` This response indicates
16054
+ # that the pubsub.googleapis.com API is not enabled. Example of an error that is
16055
+ # returned when attempting to create a Spanner instance in a region that is out
16056
+ # of stock: ` "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata"
16057
+ # : ` "availableRegions": "us-central1,us-east2" ` `
16058
+ # Corresponds to the JSON property `errorInfo`
16059
+ # @return [Google::Apis::ComputeAlpha::ErrorInfo]
16060
+ attr_accessor :error_info
16061
+
16062
+ # Provides links to documentation or for performing an out of band action. For
16063
+ # example, if a quota check failed with an error indicating the calling project
16064
+ # hasn't enabled the accessed service, this can contain a URL pointing directly
16065
+ # to the right place in the developer console to flip the bit.
16066
+ # Corresponds to the JSON property `help`
16067
+ # @return [Google::Apis::ComputeAlpha::Help]
16068
+ attr_accessor :help
16069
+
16070
+ # Provides a localized error message that is safe to return to the user which
16071
+ # can be attached to an RPC error.
16072
+ # Corresponds to the JSON property `localizedMessage`
16073
+ # @return [Google::Apis::ComputeAlpha::LocalizedMessage]
16074
+ attr_accessor :localized_message
16075
+
16076
+ # Additional details for quota exceeded error for resource quota.
16077
+ # Corresponds to the JSON property `quotaInfo`
16078
+ # @return [Google::Apis::ComputeAlpha::QuotaExceededInfo]
16079
+ attr_accessor :quota_info
16080
+
16081
+ def initialize(**args)
16082
+ update!(**args)
16083
+ end
16084
+
16085
+ # Update properties of this object
16086
+ def update!(**args)
16087
+ @error_info = args[:error_info] if args.key?(:error_info)
16088
+ @help = args[:help] if args.key?(:help)
16089
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
16090
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
16091
+ end
16092
+ end
16093
+ end
16094
+ end
16095
+ end
16096
+
16097
+ # Contains the status of a specific zone.
16098
+ class HaControllerStatusZoneStatus
16099
+ include Google::Apis::Core::Hashable
16100
+
16101
+ # [Output Only] Indicates if the zone is primary at this moment.
16102
+ # Corresponds to the JSON property `isPrimary`
16103
+ # @return [Boolean]
16104
+ attr_accessor :is_primary
16105
+ alias_method :is_primary?, :is_primary
16106
+
16107
+ # [Output Only] Indicates if the zone is ready for initiating a failover.
16108
+ # Corresponds to the JSON property `isZoneReady`
16109
+ # @return [Boolean]
16110
+ attr_accessor :is_zone_ready
16111
+ alias_method :is_zone_ready?, :is_zone_ready
16112
+
16113
+ # Contains details of the last failed operation.
16114
+ # Corresponds to the JSON property `lastError`
16115
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatusZoneStatusLastError]
16116
+ attr_accessor :last_error
16117
+
16118
+ def initialize(**args)
16119
+ update!(**args)
16120
+ end
16121
+
16122
+ # Update properties of this object
16123
+ def update!(**args)
16124
+ @is_primary = args[:is_primary] if args.key?(:is_primary)
16125
+ @is_zone_ready = args[:is_zone_ready] if args.key?(:is_zone_ready)
16126
+ @last_error = args[:last_error] if args.key?(:last_error)
16127
+ end
16128
+ end
16129
+
16130
+ # Contains details of the last failed operation.
16131
+ class HaControllerStatusZoneStatusLastError
16132
+ include Google::Apis::Core::Hashable
16133
+
16134
+ # [Output Only] Encountered errors.
16135
+ # Corresponds to the JSON property `errors`
16136
+ # @return [Google::Apis::ComputeAlpha::HaControllerStatusZoneStatusLastError::Errors]
16137
+ attr_accessor :errors
16138
+
16139
+ # [Output Only] Show timestamp only if there is an error. RFC3339 text format.
16140
+ # Corresponds to the JSON property `timestamp`
16141
+ # @return [String]
16142
+ attr_accessor :timestamp
16143
+
16144
+ def initialize(**args)
16145
+ update!(**args)
16146
+ end
16147
+
16148
+ # Update properties of this object
16149
+ def update!(**args)
16150
+ @errors = args[:errors] if args.key?(:errors)
16151
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
16152
+ end
16153
+
16154
+ # [Output Only] Encountered errors.
16155
+ class Errors
16156
+ include Google::Apis::Core::Hashable
16157
+
16158
+ # [Output Only] The array of errors encountered while processing this operation.
16159
+ # Corresponds to the JSON property `errors`
16160
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllerStatusZoneStatusLastError::Errors::Error>]
16161
+ attr_accessor :errors
16162
+
16163
+ def initialize(**args)
16164
+ update!(**args)
16165
+ end
16166
+
16167
+ # Update properties of this object
16168
+ def update!(**args)
16169
+ @errors = args[:errors] if args.key?(:errors)
16170
+ end
16171
+
16172
+ #
16173
+ class Error
16174
+ include Google::Apis::Core::Hashable
16175
+
16176
+ # [Output Only] The error type identifier for this error.
16177
+ # Corresponds to the JSON property `code`
16178
+ # @return [String]
16179
+ attr_accessor :code
16180
+
16181
+ # [Output Only] An optional list of messages that contain the error details.
16182
+ # There is a set of defined message types to use for providing details.The
16183
+ # syntax depends on the error code. For example, QuotaExceededInfo will have
16184
+ # details when the error code is QUOTA_EXCEEDED.
16185
+ # Corresponds to the JSON property `errorDetails`
16186
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllerStatusZoneStatusLastError::Errors::Error::ErrorDetail>]
16187
+ attr_accessor :error_details
16188
+
16189
+ # [Output Only] Indicates the field in the request that caused the error. This
16190
+ # property is optional.
16191
+ # Corresponds to the JSON property `location`
16192
+ # @return [String]
16193
+ attr_accessor :location
16194
+
16195
+ # [Output Only] An optional, human-readable error message.
16196
+ # Corresponds to the JSON property `message`
16197
+ # @return [String]
16198
+ attr_accessor :message
16199
+
16200
+ def initialize(**args)
16201
+ update!(**args)
16202
+ end
16203
+
16204
+ # Update properties of this object
16205
+ def update!(**args)
16206
+ @code = args[:code] if args.key?(:code)
16207
+ @error_details = args[:error_details] if args.key?(:error_details)
16208
+ @location = args[:location] if args.key?(:location)
16209
+ @message = args[:message] if args.key?(:message)
16210
+ end
16211
+
16212
+ #
16213
+ class ErrorDetail
16214
+ include Google::Apis::Core::Hashable
16215
+
16216
+ # Describes the cause of the error with structured details. Example of an error
16217
+ # when contacting the "pubsub.googleapis.com" API when it is not enabled: ` "
16218
+ # reason": "API_DISABLED" "domain": "googleapis.com" "metadata": ` "resource": "
16219
+ # projects/123", "service": "pubsub.googleapis.com" ` ` This response indicates
16220
+ # that the pubsub.googleapis.com API is not enabled. Example of an error that is
16221
+ # returned when attempting to create a Spanner instance in a region that is out
16222
+ # of stock: ` "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata"
16223
+ # : ` "availableRegions": "us-central1,us-east2" ` `
16224
+ # Corresponds to the JSON property `errorInfo`
16225
+ # @return [Google::Apis::ComputeAlpha::ErrorInfo]
16226
+ attr_accessor :error_info
16227
+
16228
+ # Provides links to documentation or for performing an out of band action. For
16229
+ # example, if a quota check failed with an error indicating the calling project
16230
+ # hasn't enabled the accessed service, this can contain a URL pointing directly
16231
+ # to the right place in the developer console to flip the bit.
16232
+ # Corresponds to the JSON property `help`
16233
+ # @return [Google::Apis::ComputeAlpha::Help]
16234
+ attr_accessor :help
16235
+
16236
+ # Provides a localized error message that is safe to return to the user which
16237
+ # can be attached to an RPC error.
16238
+ # Corresponds to the JSON property `localizedMessage`
16239
+ # @return [Google::Apis::ComputeAlpha::LocalizedMessage]
16240
+ attr_accessor :localized_message
16241
+
16242
+ # Additional details for quota exceeded error for resource quota.
16243
+ # Corresponds to the JSON property `quotaInfo`
16244
+ # @return [Google::Apis::ComputeAlpha::QuotaExceededInfo]
16245
+ attr_accessor :quota_info
16246
+
16247
+ def initialize(**args)
16248
+ update!(**args)
16249
+ end
16250
+
16251
+ # Update properties of this object
16252
+ def update!(**args)
16253
+ @error_info = args[:error_info] if args.key?(:error_info)
16254
+ @help = args[:help] if args.key?(:help)
16255
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
16256
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
16257
+ end
16258
+ end
16259
+ end
16260
+ end
16261
+ end
16262
+
16263
+ # Config for a zone that the HaController may use for running the VM instance.
16264
+ class HaControllerZoneConfiguration
16265
+ include Google::Apis::Core::Hashable
16266
+
16267
+ # A set of node affinity configurations. Refer to Configuring node affinity for
16268
+ # more information. Overrides reservationAffinity.
16269
+ # Corresponds to the JSON property `nodeAffinities`
16270
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllerZoneConfigurationNodeAffinity>]
16271
+ attr_accessor :node_affinities
16272
+
16273
+ # Specifies the reservations that this instance can consume from. This message
16274
+ # should be an exact copy of the Instances representation of AllocationAffinity.
16275
+ # LINT.IfChange(HaControllerAllocationAffinityMixer)
16276
+ # Corresponds to the JSON property `reservationAffinity`
16277
+ # @return [Google::Apis::ComputeAlpha::HaControllerZoneConfigurationReservationAffinity]
16278
+ attr_accessor :reservation_affinity
16279
+
16280
+ def initialize(**args)
16281
+ update!(**args)
16282
+ end
16283
+
16284
+ # Update properties of this object
16285
+ def update!(**args)
16286
+ @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
16287
+ @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
16288
+ end
16289
+ end
16290
+
16291
+ # Node Affinity: the configuration of desired nodes onto which the Instance
16292
+ # could be scheduled. This message should be an exact copy of the Instances
16293
+ # representation of NodeAffinity. LINT.IfChange(HaControllerNodeAffinityMixer)
16294
+ class HaControllerZoneConfigurationNodeAffinity
16295
+ include Google::Apis::Core::Hashable
16296
+
16297
+ # Corresponds to the label key of Node resource.
16298
+ # Corresponds to the JSON property `key`
16299
+ # @return [String]
16300
+ attr_accessor :key
16301
+
16302
+ # Defines the operation of node selection. Valid operators are IN for affinity
16303
+ # and NOT_IN for anti-affinity.
16304
+ # Corresponds to the JSON property `operator`
16305
+ # @return [String]
16306
+ attr_accessor :operator
16307
+
16308
+ # Corresponds to the label values of Node resource.
16309
+ # Corresponds to the JSON property `values`
16310
+ # @return [Array<String>]
16311
+ attr_accessor :values
16312
+
16313
+ def initialize(**args)
16314
+ update!(**args)
16315
+ end
16316
+
16317
+ # Update properties of this object
16318
+ def update!(**args)
16319
+ @key = args[:key] if args.key?(:key)
16320
+ @operator = args[:operator] if args.key?(:operator)
16321
+ @values = args[:values] if args.key?(:values)
16322
+ end
16323
+ end
16324
+
16325
+ # Specifies the reservations that this instance can consume from. This message
16326
+ # should be an exact copy of the Instances representation of AllocationAffinity.
16327
+ # LINT.IfChange(HaControllerAllocationAffinityMixer)
16328
+ class HaControllerZoneConfigurationReservationAffinity
16329
+ include Google::Apis::Core::Hashable
16330
+
16331
+ # Specifies the type of reservation from which this instance can consume
16332
+ # resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION.
16333
+ # See Consuming reserved instances for examples.
16334
+ # Corresponds to the JSON property `consumeReservationType`
16335
+ # @return [String]
16336
+ attr_accessor :consume_reservation_type
16337
+
16338
+ # Corresponds to the label key of a reservation resource. To target a
16339
+ # SPECIFIC_RESERVATION by name, specify googleapis.com/reservation-name as the
16340
+ # key and specify the name of your reservation as its value.
16341
+ # Corresponds to the JSON property `key`
16342
+ # @return [String]
16343
+ attr_accessor :key
16344
+
16345
+ # Corresponds to the label values of a reservation resource. This can be either
16346
+ # a name to a reservation in the same project or "projects/different-project/
16347
+ # reservations/some-reservation-name" to target a shared reservation in the same
16348
+ # zone but in a different project.
16349
+ # Corresponds to the JSON property `values`
16350
+ # @return [Array<String>]
16351
+ attr_accessor :values
16352
+
16353
+ def initialize(**args)
16354
+ update!(**args)
16355
+ end
16356
+
16357
+ # Update properties of this object
16358
+ def update!(**args)
16359
+ @consume_reservation_type = args[:consume_reservation_type] if args.key?(:consume_reservation_type)
16360
+ @key = args[:key] if args.key?(:key)
16361
+ @values = args[:values] if args.key?(:values)
16362
+ end
16363
+ end
16364
+
15705
16365
  #
15706
16366
  class HaControllersFailoverRequest
15707
16367
  include Google::Apis::Core::Hashable
@@ -15721,6 +16381,219 @@ module Google
15721
16381
  end
15722
16382
  end
15723
16383
 
16384
+ #
16385
+ class HaControllersList
16386
+ include Google::Apis::Core::Hashable
16387
+
16388
+ #
16389
+ # Corresponds to the JSON property `etag`
16390
+ # @return [String]
16391
+ attr_accessor :etag
16392
+
16393
+ # Unique identifier for the resource; defined by the server.
16394
+ # Corresponds to the JSON property `id`
16395
+ # @return [String]
16396
+ attr_accessor :id
16397
+
16398
+ # A list of HaControllers in the specified project and region.
16399
+ # Corresponds to the JSON property `items`
16400
+ # @return [Array<Google::Apis::ComputeAlpha::HaController>]
16401
+ attr_accessor :items
16402
+
16403
+ # This token allows you to get the next page of results for maxResults, use the
16404
+ # nextPageToken as a value for the query parameter pageToken in the next list
16405
+ # request. Subsequent list requests will have their own nextPageToken to
16406
+ # continue paging through the results.
16407
+ # Corresponds to the JSON property `nextPageToken`
16408
+ # @return [String]
16409
+ attr_accessor :next_page_token
16410
+
16411
+ # [Output only] Server-defined URL for this resource.
16412
+ # Corresponds to the JSON property `selfLink`
16413
+ # @return [String]
16414
+ attr_accessor :self_link
16415
+
16416
+ # [Output only] Unreachable resources.
16417
+ # Corresponds to the JSON property `unreachables`
16418
+ # @return [Array<String>]
16419
+ attr_accessor :unreachables
16420
+
16421
+ # Informational warning message.
16422
+ # Corresponds to the JSON property `warning`
16423
+ # @return [Google::Apis::ComputeAlpha::HaControllersList::Warning]
16424
+ attr_accessor :warning
16425
+
16426
+ def initialize(**args)
16427
+ update!(**args)
16428
+ end
16429
+
16430
+ # Update properties of this object
16431
+ def update!(**args)
16432
+ @etag = args[:etag] if args.key?(:etag)
16433
+ @id = args[:id] if args.key?(:id)
16434
+ @items = args[:items] if args.key?(:items)
16435
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
16436
+ @self_link = args[:self_link] if args.key?(:self_link)
16437
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
16438
+ @warning = args[:warning] if args.key?(:warning)
16439
+ end
16440
+
16441
+ # Informational warning message.
16442
+ class Warning
16443
+ include Google::Apis::Core::Hashable
16444
+
16445
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
16446
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
16447
+ # Corresponds to the JSON property `code`
16448
+ # @return [String]
16449
+ attr_accessor :code
16450
+
16451
+ # [Output Only] Metadata about this warning in key: value format. For example: "
16452
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
16453
+ # Corresponds to the JSON property `data`
16454
+ # @return [Array<Google::Apis::ComputeAlpha::HaControllersList::Warning::Datum>]
16455
+ attr_accessor :data
16456
+
16457
+ # [Output Only] A human-readable description of the warning code.
16458
+ # Corresponds to the JSON property `message`
16459
+ # @return [String]
16460
+ attr_accessor :message
16461
+
16462
+ def initialize(**args)
16463
+ update!(**args)
16464
+ end
16465
+
16466
+ # Update properties of this object
16467
+ def update!(**args)
16468
+ @code = args[:code] if args.key?(:code)
16469
+ @data = args[:data] if args.key?(:data)
16470
+ @message = args[:message] if args.key?(:message)
16471
+ end
16472
+
16473
+ #
16474
+ class Datum
16475
+ include Google::Apis::Core::Hashable
16476
+
16477
+ # [Output Only] A key that provides more detail on the warning being returned.
16478
+ # For example, for warnings where there are no results in a list request for a
16479
+ # particular zone, this key might be scope and the key value might be the zone
16480
+ # name. Other examples might be a key indicating a deprecated resource and a
16481
+ # suggested replacement, or a warning about invalid network settings (for
16482
+ # example, if an instance attempts to perform IP forwarding but is not enabled
16483
+ # for IP forwarding).
16484
+ # Corresponds to the JSON property `key`
16485
+ # @return [String]
16486
+ attr_accessor :key
16487
+
16488
+ # [Output Only] A warning data value corresponding to the key.
16489
+ # Corresponds to the JSON property `value`
16490
+ # @return [String]
16491
+ attr_accessor :value
16492
+
16493
+ def initialize(**args)
16494
+ update!(**args)
16495
+ end
16496
+
16497
+ # Update properties of this object
16498
+ def update!(**args)
16499
+ @key = args[:key] if args.key?(:key)
16500
+ @value = args[:value] if args.key?(:value)
16501
+ end
16502
+ end
16503
+ end
16504
+ end
16505
+
16506
+ #
16507
+ class HealthAggregationPoliciesScopedList
16508
+ include Google::Apis::Core::Hashable
16509
+
16510
+ # A list of HealthAggregationPolicys contained in this scope.
16511
+ # Corresponds to the JSON property `healthAggregationPolicies`
16512
+ # @return [Array<Google::Apis::ComputeAlpha::HealthAggregationPolicy>]
16513
+ attr_accessor :health_aggregation_policies
16514
+
16515
+ # Informational warning which replaces the list of health aggregation policies
16516
+ # when the list is empty.
16517
+ # Corresponds to the JSON property `warning`
16518
+ # @return [Google::Apis::ComputeAlpha::HealthAggregationPoliciesScopedList::Warning]
16519
+ attr_accessor :warning
16520
+
16521
+ def initialize(**args)
16522
+ update!(**args)
16523
+ end
16524
+
16525
+ # Update properties of this object
16526
+ def update!(**args)
16527
+ @health_aggregation_policies = args[:health_aggregation_policies] if args.key?(:health_aggregation_policies)
16528
+ @warning = args[:warning] if args.key?(:warning)
16529
+ end
16530
+
16531
+ # Informational warning which replaces the list of health aggregation policies
16532
+ # when the list is empty.
16533
+ class Warning
16534
+ include Google::Apis::Core::Hashable
16535
+
16536
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
16537
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
16538
+ # Corresponds to the JSON property `code`
16539
+ # @return [String]
16540
+ attr_accessor :code
16541
+
16542
+ # [Output Only] Metadata about this warning in key: value format. For example: "
16543
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
16544
+ # Corresponds to the JSON property `data`
16545
+ # @return [Array<Google::Apis::ComputeAlpha::HealthAggregationPoliciesScopedList::Warning::Datum>]
16546
+ attr_accessor :data
16547
+
16548
+ # [Output Only] A human-readable description of the warning code.
16549
+ # Corresponds to the JSON property `message`
16550
+ # @return [String]
16551
+ attr_accessor :message
16552
+
16553
+ def initialize(**args)
16554
+ update!(**args)
16555
+ end
16556
+
16557
+ # Update properties of this object
16558
+ def update!(**args)
16559
+ @code = args[:code] if args.key?(:code)
16560
+ @data = args[:data] if args.key?(:data)
16561
+ @message = args[:message] if args.key?(:message)
16562
+ end
16563
+
16564
+ #
16565
+ class Datum
16566
+ include Google::Apis::Core::Hashable
16567
+
16568
+ # [Output Only] A key that provides more detail on the warning being returned.
16569
+ # For example, for warnings where there are no results in a list request for a
16570
+ # particular zone, this key might be scope and the key value might be the zone
16571
+ # name. Other examples might be a key indicating a deprecated resource and a
16572
+ # suggested replacement, or a warning about invalid network settings (for
16573
+ # example, if an instance attempts to perform IP forwarding but is not enabled
16574
+ # for IP forwarding).
16575
+ # Corresponds to the JSON property `key`
16576
+ # @return [String]
16577
+ attr_accessor :key
16578
+
16579
+ # [Output Only] A warning data value corresponding to the key.
16580
+ # Corresponds to the JSON property `value`
16581
+ # @return [String]
16582
+ attr_accessor :value
16583
+
16584
+ def initialize(**args)
16585
+ update!(**args)
16586
+ end
16587
+
16588
+ # Update properties of this object
16589
+ def update!(**args)
16590
+ @key = args[:key] if args.key?(:key)
16591
+ @value = args[:value] if args.key?(:value)
16592
+ end
16593
+ end
16594
+ end
16595
+ end
16596
+
15724
16597
  # Represents a health aggregation policy. A health aggregation policy resource
15725
16598
  # defines a policy to aggregate health. For more information, see Health checks
15726
16599
  # overview.
@@ -15844,14 +16717,132 @@ module Google
15844
16717
  end
15845
16718
  end
15846
16719
 
15847
- #
15848
- class HealthAggregationPolicyList
16720
+ # Contains a list of HealthAggregationPoliciesScopedList.
16721
+ class HealthAggregationPolicyAggregatedList
15849
16722
  include Google::Apis::Core::Hashable
15850
16723
 
15851
- #
15852
- # Corresponds to the JSON property `etag`
16724
+ # [Output Only] Unique identifier for the resource; defined by the server.
16725
+ # Corresponds to the JSON property `id`
15853
16726
  # @return [String]
15854
- attr_accessor :etag
16727
+ attr_accessor :id
16728
+
16729
+ # A list of HealthAggregationPoliciesScopedList resources.
16730
+ # Corresponds to the JSON property `items`
16731
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HealthAggregationPoliciesScopedList>]
16732
+ attr_accessor :items
16733
+
16734
+ # Type of resource.
16735
+ # Corresponds to the JSON property `kind`
16736
+ # @return [String]
16737
+ attr_accessor :kind
16738
+
16739
+ # [Output Only] This token allows you to get the next page of results for list
16740
+ # requests. If the number of results is larger than maxResults, use the
16741
+ # nextPageToken as a value for the query parameter pageToken in the next list
16742
+ # request. Subsequent list requests will have their own nextPageToken to
16743
+ # continue paging through the results.
16744
+ # Corresponds to the JSON property `nextPageToken`
16745
+ # @return [String]
16746
+ attr_accessor :next_page_token
16747
+
16748
+ # [Output Only] Server-defined URL for this resource.
16749
+ # Corresponds to the JSON property `selfLink`
16750
+ # @return [String]
16751
+ attr_accessor :self_link
16752
+
16753
+ # [Output Only] Unreachable resources.
16754
+ # Corresponds to the JSON property `unreachables`
16755
+ # @return [Array<String>]
16756
+ attr_accessor :unreachables
16757
+
16758
+ # [Output Only] Informational warning message.
16759
+ # Corresponds to the JSON property `warning`
16760
+ # @return [Google::Apis::ComputeAlpha::HealthAggregationPolicyAggregatedList::Warning]
16761
+ attr_accessor :warning
16762
+
16763
+ def initialize(**args)
16764
+ update!(**args)
16765
+ end
16766
+
16767
+ # Update properties of this object
16768
+ def update!(**args)
16769
+ @id = args[:id] if args.key?(:id)
16770
+ @items = args[:items] if args.key?(:items)
16771
+ @kind = args[:kind] if args.key?(:kind)
16772
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
16773
+ @self_link = args[:self_link] if args.key?(:self_link)
16774
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
16775
+ @warning = args[:warning] if args.key?(:warning)
16776
+ end
16777
+
16778
+ # [Output Only] Informational warning message.
16779
+ class Warning
16780
+ include Google::Apis::Core::Hashable
16781
+
16782
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
16783
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
16784
+ # Corresponds to the JSON property `code`
16785
+ # @return [String]
16786
+ attr_accessor :code
16787
+
16788
+ # [Output Only] Metadata about this warning in key: value format. For example: "
16789
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
16790
+ # Corresponds to the JSON property `data`
16791
+ # @return [Array<Google::Apis::ComputeAlpha::HealthAggregationPolicyAggregatedList::Warning::Datum>]
16792
+ attr_accessor :data
16793
+
16794
+ # [Output Only] A human-readable description of the warning code.
16795
+ # Corresponds to the JSON property `message`
16796
+ # @return [String]
16797
+ attr_accessor :message
16798
+
16799
+ def initialize(**args)
16800
+ update!(**args)
16801
+ end
16802
+
16803
+ # Update properties of this object
16804
+ def update!(**args)
16805
+ @code = args[:code] if args.key?(:code)
16806
+ @data = args[:data] if args.key?(:data)
16807
+ @message = args[:message] if args.key?(:message)
16808
+ end
16809
+
16810
+ #
16811
+ class Datum
16812
+ include Google::Apis::Core::Hashable
16813
+
16814
+ # [Output Only] A key that provides more detail on the warning being returned.
16815
+ # For example, for warnings where there are no results in a list request for a
16816
+ # particular zone, this key might be scope and the key value might be the zone
16817
+ # name. Other examples might be a key indicating a deprecated resource and a
16818
+ # suggested replacement, or a warning about invalid network settings (for
16819
+ # example, if an instance attempts to perform IP forwarding but is not enabled
16820
+ # for IP forwarding).
16821
+ # Corresponds to the JSON property `key`
16822
+ # @return [String]
16823
+ attr_accessor :key
16824
+
16825
+ # [Output Only] A warning data value corresponding to the key.
16826
+ # Corresponds to the JSON property `value`
16827
+ # @return [String]
16828
+ attr_accessor :value
16829
+
16830
+ def initialize(**args)
16831
+ update!(**args)
16832
+ end
16833
+
16834
+ # Update properties of this object
16835
+ def update!(**args)
16836
+ @key = args[:key] if args.key?(:key)
16837
+ @value = args[:value] if args.key?(:value)
16838
+ end
16839
+ end
16840
+ end
16841
+ end
16842
+
16843
+ #
16844
+ class HealthAggregationPolicyList
16845
+ include Google::Apis::Core::Hashable
15855
16846
 
15856
16847
  # [Output Only] Unique identifier for the resource; defined by the server.
15857
16848
  # Corresponds to the JSON property `id`
@@ -15883,12 +16874,6 @@ module Google
15883
16874
  # @return [String]
15884
16875
  attr_accessor :self_link
15885
16876
 
15886
- # [Output Only] Unreachable resources. end_interface:
15887
- # MixerListResponseWithEtagBuilder
15888
- # Corresponds to the JSON property `unreachables`
15889
- # @return [Array<String>]
15890
- attr_accessor :unreachables
15891
-
15892
16877
  # [Output Only] Informational warning message.
15893
16878
  # Corresponds to the JSON property `warning`
15894
16879
  # @return [Google::Apis::ComputeAlpha::HealthAggregationPolicyList::Warning]
@@ -15900,13 +16885,11 @@ module Google
15900
16885
 
15901
16886
  # Update properties of this object
15902
16887
  def update!(**args)
15903
- @etag = args[:etag] if args.key?(:etag)
15904
16888
  @id = args[:id] if args.key?(:id)
15905
16889
  @items = args[:items] if args.key?(:items)
15906
16890
  @kind = args[:kind] if args.key?(:kind)
15907
16891
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
15908
16892
  @self_link = args[:self_link] if args.key?(:self_link)
15909
- @unreachables = args[:unreachables] if args.key?(:unreachables)
15910
16893
  @warning = args[:warning] if args.key?(:warning)
15911
16894
  end
15912
16895
 
@@ -17152,11 +18135,6 @@ module Google
17152
18135
  class HealthSourceAggregatedList
17153
18136
  include Google::Apis::Core::Hashable
17154
18137
 
17155
- #
17156
- # Corresponds to the JSON property `etag`
17157
- # @return [String]
17158
- attr_accessor :etag
17159
-
17160
18138
  # [Output Only] Unique identifier for the resource; defined by the server.
17161
18139
  # Corresponds to the JSON property `id`
17162
18140
  # @return [String]
@@ -17186,11 +18164,6 @@ module Google
17186
18164
  # @return [String]
17187
18165
  attr_accessor :self_link
17188
18166
 
17189
- # [Output Only] Unreachable resources.
17190
- # Corresponds to the JSON property `unreachables`
17191
- # @return [Array<String>]
17192
- attr_accessor :unreachables
17193
-
17194
18167
  # [Output Only] Informational warning message.
17195
18168
  # Corresponds to the JSON property `warning`
17196
18169
  # @return [Google::Apis::ComputeAlpha::HealthSourceAggregatedList::Warning]
@@ -17202,13 +18175,11 @@ module Google
17202
18175
 
17203
18176
  # Update properties of this object
17204
18177
  def update!(**args)
17205
- @etag = args[:etag] if args.key?(:etag)
17206
18178
  @id = args[:id] if args.key?(:id)
17207
18179
  @items = args[:items] if args.key?(:items)
17208
18180
  @kind = args[:kind] if args.key?(:kind)
17209
18181
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
17210
18182
  @self_link = args[:self_link] if args.key?(:self_link)
17211
- @unreachables = args[:unreachables] if args.key?(:unreachables)
17212
18183
  @warning = args[:warning] if args.key?(:warning)
17213
18184
  end
17214
18185
 
@@ -17281,11 +18252,6 @@ module Google
17281
18252
  class HealthSourceList
17282
18253
  include Google::Apis::Core::Hashable
17283
18254
 
17284
- #
17285
- # Corresponds to the JSON property `etag`
17286
- # @return [String]
17287
- attr_accessor :etag
17288
-
17289
18255
  # [Output Only] Unique identifier for the resource; defined by the server.
17290
18256
  # Corresponds to the JSON property `id`
17291
18257
  # @return [String]
@@ -17316,12 +18282,6 @@ module Google
17316
18282
  # @return [String]
17317
18283
  attr_accessor :self_link
17318
18284
 
17319
- # [Output Only] Unreachable resources. end_interface:
17320
- # MixerListResponseWithEtagBuilder
17321
- # Corresponds to the JSON property `unreachables`
17322
- # @return [Array<String>]
17323
- attr_accessor :unreachables
17324
-
17325
18285
  # [Output Only] Informational warning message.
17326
18286
  # Corresponds to the JSON property `warning`
17327
18287
  # @return [Google::Apis::ComputeAlpha::HealthSourceList::Warning]
@@ -17333,13 +18293,11 @@ module Google
17333
18293
 
17334
18294
  # Update properties of this object
17335
18295
  def update!(**args)
17336
- @etag = args[:etag] if args.key?(:etag)
17337
18296
  @id = args[:id] if args.key?(:id)
17338
18297
  @items = args[:items] if args.key?(:items)
17339
18298
  @kind = args[:kind] if args.key?(:kind)
17340
18299
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
17341
18300
  @self_link = args[:self_link] if args.key?(:self_link)
17342
- @unreachables = args[:unreachables] if args.key?(:unreachables)
17343
18301
  @warning = args[:warning] if args.key?(:warning)
17344
18302
  end
17345
18303
 
@@ -19618,6 +20576,17 @@ module Google
19618
20576
  # @return [Fixnum]
19619
20577
  attr_accessor :id
19620
20578
 
20579
+ #
20580
+ # Corresponds to the JSON property `identity`
20581
+ # @return [String]
20582
+ attr_accessor :identity
20583
+
20584
+ #
20585
+ # Corresponds to the JSON property `identityCertificate`
20586
+ # @return [Boolean]
20587
+ attr_accessor :identity_certificate
20588
+ alias_method :identity_certificate?, :identity_certificate
20589
+
19621
20590
  # Encrypts suspended data for an instance with a customer-managed encryption key.
19622
20591
  # If you are creating a new instance, this field will encrypt the local SSD and
19623
20592
  # in-memory contents of the instance during the suspend operation. If you do not
@@ -19903,6 +20872,8 @@ module Google
19903
20872
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
19904
20873
  @hostname = args[:hostname] if args.key?(:hostname)
19905
20874
  @id = args[:id] if args.key?(:id)
20875
+ @identity = args[:identity] if args.key?(:identity)
20876
+ @identity_certificate = args[:identity_certificate] if args.key?(:identity_certificate)
19906
20877
  @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
19907
20878
  @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
19908
20879
  @kind = args[:kind] if args.key?(:kind)
@@ -24035,6 +25006,17 @@ module Google
24035
25006
  # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
24036
25007
  attr_accessor :guest_accelerators
24037
25008
 
25009
+ #
25010
+ # Corresponds to the JSON property `identity`
25011
+ # @return [String]
25012
+ attr_accessor :identity
25013
+
25014
+ #
25015
+ # Corresponds to the JSON property `identityCertificate`
25016
+ # @return [Boolean]
25017
+ attr_accessor :identity_certificate
25018
+ alias_method :identity_certificate?, :identity_certificate
25019
+
24038
25020
  # KeyRevocationActionType of the instance. Supported options are "STOP" and "
24039
25021
  # NONE". The default value is "NONE" if it is not specified.
24040
25022
  # Corresponds to the JSON property `keyRevocationActionType`
@@ -24168,6 +25150,8 @@ module Google
24168
25150
  @disks = args[:disks] if args.key?(:disks)
24169
25151
  @display_device = args[:display_device] if args.key?(:display_device)
24170
25152
  @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
25153
+ @identity = args[:identity] if args.key?(:identity)
25154
+ @identity_certificate = args[:identity_certificate] if args.key?(:identity_certificate)
24171
25155
  @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
24172
25156
  @labels = args[:labels] if args.key?(:labels)
24173
25157
  @machine_type = args[:machine_type] if args.key?(:machine_type)
@@ -33657,6 +34641,12 @@ module Google
33657
34641
  class MultiMigStatus
33658
34642
  include Google::Apis::Core::Hashable
33659
34643
 
34644
+ # [Output Only] The accelerator topology applied to this multi-MIG. Currently
34645
+ # only one accelerator topology is supported.
34646
+ # Corresponds to the JSON property `appliedAcceleratorTopologies`
34647
+ # @return [Array<Google::Apis::ComputeAlpha::MultiMigStatusAcceleratorTopology>]
34648
+ attr_accessor :applied_accelerator_topologies
34649
+
33660
34650
  #
33661
34651
  # Corresponds to the JSON property `memberInstanceGroupManagers`
33662
34652
  # @return [Array<String>]
@@ -33673,11 +34663,178 @@ module Google
33673
34663
 
33674
34664
  # Update properties of this object
33675
34665
  def update!(**args)
34666
+ @applied_accelerator_topologies = args[:applied_accelerator_topologies] if args.key?(:applied_accelerator_topologies)
33676
34667
  @member_instance_group_managers = args[:member_instance_group_managers] if args.key?(:member_instance_group_managers)
33677
34668
  @members_count = args[:members_count] if args.key?(:members_count)
33678
34669
  end
33679
34670
  end
33680
34671
 
34672
+ #
34673
+ class MultiMigStatusAcceleratorTopology
34674
+ include Google::Apis::Core::Hashable
34675
+
34676
+ # [Output Only] Topology in the format of: "16x16", "4x4x4", etc. The value is
34677
+ # the same as configured in the WorkloadPolicy.
34678
+ # Corresponds to the JSON property `acceleratorTopology`
34679
+ # @return [String]
34680
+ attr_accessor :accelerator_topology
34681
+
34682
+ # [Output Only] The state of the accelerator topology.
34683
+ # Corresponds to the JSON property `acceleratorTopologyState`
34684
+ # @return [String]
34685
+ attr_accessor :accelerator_topology_state
34686
+
34687
+ # [Output Only] The result of the latest accelerator topology state check.
34688
+ # Corresponds to the JSON property `acceleratorTopologyStateLastCheck`
34689
+ # @return [Google::Apis::ComputeAlpha::MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck]
34690
+ attr_accessor :accelerator_topology_state_last_check
34691
+
34692
+ def initialize(**args)
34693
+ update!(**args)
34694
+ end
34695
+
34696
+ # Update properties of this object
34697
+ def update!(**args)
34698
+ @accelerator_topology = args[:accelerator_topology] if args.key?(:accelerator_topology)
34699
+ @accelerator_topology_state = args[:accelerator_topology_state] if args.key?(:accelerator_topology_state)
34700
+ @accelerator_topology_state_last_check = args[:accelerator_topology_state_last_check] if args.key?(:accelerator_topology_state_last_check)
34701
+ end
34702
+ end
34703
+
34704
+ #
34705
+ class MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck
34706
+ include Google::Apis::Core::Hashable
34707
+
34708
+ # [Output Only] Encountered errors on the last state check.
34709
+ # Corresponds to the JSON property `error`
34710
+ # @return [Google::Apis::ComputeAlpha::MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck::Error]
34711
+ attr_accessor :error
34712
+
34713
+ # [Output Only] Timestamp is shown only if there is an error. The field has //
34714
+ # RFC3339 // text format.
34715
+ # Corresponds to the JSON property `timestamp`
34716
+ # @return [String]
34717
+ attr_accessor :timestamp
34718
+
34719
+ def initialize(**args)
34720
+ update!(**args)
34721
+ end
34722
+
34723
+ # Update properties of this object
34724
+ def update!(**args)
34725
+ @error = args[:error] if args.key?(:error)
34726
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
34727
+ end
34728
+
34729
+ # [Output Only] Encountered errors on the last state check.
34730
+ class Error
34731
+ include Google::Apis::Core::Hashable
34732
+
34733
+ # [Output Only] The array of errors encountered while processing this operation.
34734
+ # Corresponds to the JSON property `errors`
34735
+ # @return [Array<Google::Apis::ComputeAlpha::MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck::Error::Error>]
34736
+ attr_accessor :errors
34737
+
34738
+ def initialize(**args)
34739
+ update!(**args)
34740
+ end
34741
+
34742
+ # Update properties of this object
34743
+ def update!(**args)
34744
+ @errors = args[:errors] if args.key?(:errors)
34745
+ end
34746
+
34747
+ #
34748
+ class Error
34749
+ include Google::Apis::Core::Hashable
34750
+
34751
+ # [Output Only] The error type identifier for this error.
34752
+ # Corresponds to the JSON property `code`
34753
+ # @return [String]
34754
+ attr_accessor :code
34755
+
34756
+ # [Output Only] An optional list of messages that contain the error details.
34757
+ # There is a set of defined message types to use for providing details.The
34758
+ # syntax depends on the error code. For example, QuotaExceededInfo will have
34759
+ # details when the error code is QUOTA_EXCEEDED.
34760
+ # Corresponds to the JSON property `errorDetails`
34761
+ # @return [Array<Google::Apis::ComputeAlpha::MultiMigStatusAcceleratorTopologyAcceleratorTopologyStateLastCheck::Error::Error::ErrorDetail>]
34762
+ attr_accessor :error_details
34763
+
34764
+ # [Output Only] Indicates the field in the request that caused the error. This
34765
+ # property is optional.
34766
+ # Corresponds to the JSON property `location`
34767
+ # @return [String]
34768
+ attr_accessor :location
34769
+
34770
+ # [Output Only] An optional, human-readable error message.
34771
+ # Corresponds to the JSON property `message`
34772
+ # @return [String]
34773
+ attr_accessor :message
34774
+
34775
+ def initialize(**args)
34776
+ update!(**args)
34777
+ end
34778
+
34779
+ # Update properties of this object
34780
+ def update!(**args)
34781
+ @code = args[:code] if args.key?(:code)
34782
+ @error_details = args[:error_details] if args.key?(:error_details)
34783
+ @location = args[:location] if args.key?(:location)
34784
+ @message = args[:message] if args.key?(:message)
34785
+ end
34786
+
34787
+ #
34788
+ class ErrorDetail
34789
+ include Google::Apis::Core::Hashable
34790
+
34791
+ # Describes the cause of the error with structured details. Example of an error
34792
+ # when contacting the "pubsub.googleapis.com" API when it is not enabled: ` "
34793
+ # reason": "API_DISABLED" "domain": "googleapis.com" "metadata": ` "resource": "
34794
+ # projects/123", "service": "pubsub.googleapis.com" ` ` This response indicates
34795
+ # that the pubsub.googleapis.com API is not enabled. Example of an error that is
34796
+ # returned when attempting to create a Spanner instance in a region that is out
34797
+ # of stock: ` "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata"
34798
+ # : ` "availableRegions": "us-central1,us-east2" ` `
34799
+ # Corresponds to the JSON property `errorInfo`
34800
+ # @return [Google::Apis::ComputeAlpha::ErrorInfo]
34801
+ attr_accessor :error_info
34802
+
34803
+ # Provides links to documentation or for performing an out of band action. For
34804
+ # example, if a quota check failed with an error indicating the calling project
34805
+ # hasn't enabled the accessed service, this can contain a URL pointing directly
34806
+ # to the right place in the developer console to flip the bit.
34807
+ # Corresponds to the JSON property `help`
34808
+ # @return [Google::Apis::ComputeAlpha::Help]
34809
+ attr_accessor :help
34810
+
34811
+ # Provides a localized error message that is safe to return to the user which
34812
+ # can be attached to an RPC error.
34813
+ # Corresponds to the JSON property `localizedMessage`
34814
+ # @return [Google::Apis::ComputeAlpha::LocalizedMessage]
34815
+ attr_accessor :localized_message
34816
+
34817
+ # Additional details for quota exceeded error for resource quota.
34818
+ # Corresponds to the JSON property `quotaInfo`
34819
+ # @return [Google::Apis::ComputeAlpha::QuotaExceededInfo]
34820
+ attr_accessor :quota_info
34821
+
34822
+ def initialize(**args)
34823
+ update!(**args)
34824
+ end
34825
+
34826
+ # Update properties of this object
34827
+ def update!(**args)
34828
+ @error_info = args[:error_info] if args.key?(:error_info)
34829
+ @help = args[:help] if args.key?(:help)
34830
+ @localized_message = args[:localized_message] if args.key?(:localized_message)
34831
+ @quota_info = args[:quota_info] if args.key?(:quota_info)
34832
+ end
34833
+ end
34834
+ end
34835
+ end
34836
+ end
34837
+
33681
34838
  #
33682
34839
  class MultiMigsList
33683
34840
  include Google::Apis::Core::Hashable
@@ -36956,6 +38113,11 @@ module Google
36956
38113
  # @return [String]
36957
38114
  attr_accessor :allow_external_ip_access
36958
38115
 
38116
+ # Specifies whether firewall policy can be attached to the network.
38117
+ # Corresponds to the JSON property `allowFirewallPolicy`
38118
+ # @return [String]
38119
+ attr_accessor :allow_firewall_policy
38120
+
36959
38121
  # Specifies whether Cloud Interconnect creation is allowed.
36960
38122
  # Corresponds to the JSON property `allowInterconnect`
36961
38123
  # @return [String]
@@ -37016,6 +38178,11 @@ module Google
37016
38178
  # @return [String]
37017
38179
  attr_accessor :allow_sub_interfaces
37018
38180
 
38181
+ # Specifies whether VPC firewall rules can be created under the network.
38182
+ # Corresponds to the JSON property `allowVpcFirewallRules`
38183
+ # @return [String]
38184
+ attr_accessor :allow_vpc_firewall_rules
38185
+
37019
38186
  # Specifies whether VPC peering is allowed.
37020
38187
  # Corresponds to the JSON property `allowVpcPeering`
37021
38188
  # @return [String]
@@ -37026,6 +38193,11 @@ module Google
37026
38193
  # @return [String]
37027
38194
  attr_accessor :allow_vpn
37028
38195
 
38196
+ #
38197
+ # Corresponds to the JSON property `firewallPolicyTypes`
38198
+ # @return [Array<String>]
38199
+ attr_accessor :firewall_policy_types
38200
+
37029
38201
  # If set, limits the interface types that the network supports. If empty, all
37030
38202
  # interface types are supported.
37031
38203
  # Corresponds to the JSON property `interfaceTypes`
@@ -37071,6 +38243,7 @@ module Google
37071
38243
  @allow_cloud_router = args[:allow_cloud_router] if args.key?(:allow_cloud_router)
37072
38244
  @allow_default_nic_attachment = args[:allow_default_nic_attachment] if args.key?(:allow_default_nic_attachment)
37073
38245
  @allow_external_ip_access = args[:allow_external_ip_access] if args.key?(:allow_external_ip_access)
38246
+ @allow_firewall_policy = args[:allow_firewall_policy] if args.key?(:allow_firewall_policy)
37074
38247
  @allow_interconnect = args[:allow_interconnect] if args.key?(:allow_interconnect)
37075
38248
  @allow_ip_forwarding = args[:allow_ip_forwarding] if args.key?(:allow_ip_forwarding)
37076
38249
  @allow_load_balancing = args[:allow_load_balancing] if args.key?(:allow_load_balancing)
@@ -37083,8 +38256,10 @@ module Google
37083
38256
  @allow_same_network_unicast = args[:allow_same_network_unicast] if args.key?(:allow_same_network_unicast)
37084
38257
  @allow_static_routes = args[:allow_static_routes] if args.key?(:allow_static_routes)
37085
38258
  @allow_sub_interfaces = args[:allow_sub_interfaces] if args.key?(:allow_sub_interfaces)
38259
+ @allow_vpc_firewall_rules = args[:allow_vpc_firewall_rules] if args.key?(:allow_vpc_firewall_rules)
37086
38260
  @allow_vpc_peering = args[:allow_vpc_peering] if args.key?(:allow_vpc_peering)
37087
38261
  @allow_vpn = args[:allow_vpn] if args.key?(:allow_vpn)
38262
+ @firewall_policy_types = args[:firewall_policy_types] if args.key?(:firewall_policy_types)
37088
38263
  @interface_types = args[:interface_types] if args.key?(:interface_types)
37089
38264
  @subnet_purposes = args[:subnet_purposes] if args.key?(:subnet_purposes)
37090
38265
  @subnet_stack_types = args[:subnet_stack_types] if args.key?(:subnet_stack_types)
@@ -47844,6 +49019,12 @@ module Google
47844
49019
  # @return [Fixnum]
47845
49020
  attr_accessor :in_use_count
47846
49021
 
49022
+ # Number of hosts currently in use. If there is one or more Instances running on
49023
+ # the host, it is considered in use.
49024
+ # Corresponds to the JSON property `inUseHostCount`
49025
+ # @return [Fixnum]
49026
+ attr_accessor :in_use_host_count
49027
+
47847
49028
  # [Output Only] Type of the resource. Always compute#reservationBlock for
47848
49029
  # reservation blocks.
47849
49030
  # Corresponds to the JSON property `kind`
@@ -47919,6 +49100,7 @@ module Google
47919
49100
  @health_info = args[:health_info] if args.key?(:health_info)
47920
49101
  @id = args[:id] if args.key?(:id)
47921
49102
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
49103
+ @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
47922
49104
  @kind = args[:kind] if args.key?(:kind)
47923
49105
  @location_prefix = args[:location_prefix] if args.key?(:location_prefix)
47924
49106
  @name = args[:name] if args.key?(:name)
@@ -48307,187 +49489,341 @@ module Google
48307
49489
  end
48308
49490
  end
48309
49491
 
48310
- # Represents a reservation subBlock resource.
48311
- class ReservationSubBlock
48312
- include Google::Apis::Core::Hashable
48313
-
48314
- # [Output Only] The number of hosts that are allocated in this reservation
48315
- # subBlock.
48316
- # Corresponds to the JSON property `count`
48317
- # @return [Fixnum]
48318
- attr_accessor :count
48319
-
48320
- # [Output Only] Creation timestamp in RFC3339 text format.
48321
- # Corresponds to the JSON property `creationTimestamp`
48322
- # @return [String]
48323
- attr_accessor :creation_timestamp
48324
-
48325
- # Health information for the reservation subBlock.
48326
- # Corresponds to the JSON property `healthInfo`
48327
- # @return [Google::Apis::ComputeAlpha::ReservationSubBlockHealthInfo]
48328
- attr_accessor :health_info
48329
-
48330
- # [Output Only] The unique identifier for the resource. This identifier is
48331
- # defined by the server.
48332
- # Corresponds to the JSON property `id`
48333
- # @return [Fixnum]
48334
- attr_accessor :id
48335
-
48336
- # [Output Only] The number of instances that are currently in use on this
48337
- # reservation subBlock.
48338
- # Corresponds to the JSON property `inUseCount`
48339
- # @return [Fixnum]
48340
- attr_accessor :in_use_count
48341
-
48342
- # [Output Only] Type of the resource. Always compute#reservationSubBlock for
48343
- # reservation subBlocks.
48344
- # Corresponds to the JSON property `kind`
48345
- # @return [String]
48346
- attr_accessor :kind
48347
-
48348
- # [Output Only] The name of this reservation subBlock generated by Google
48349
- # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
48350
- # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
48351
- # Corresponds to the JSON property `name`
48352
- # @return [String]
48353
- attr_accessor :name
48354
-
48355
- # [Output Only] The physical topology of the reservation subBlock.
48356
- # Corresponds to the JSON property `physicalTopology`
48357
- # @return [Google::Apis::ComputeAlpha::ReservationSubBlockPhysicalTopology]
48358
- attr_accessor :physical_topology
48359
-
48360
- # Maintenance Info for ReservationBlocks.
48361
- # Corresponds to the JSON property `reservationSubBlockMaintenance`
48362
- # @return [Google::Apis::ComputeAlpha::GroupMaintenanceInfo]
48363
- attr_accessor :reservation_sub_block_maintenance
48364
-
48365
- # [Output Only] Server-defined fully-qualified URL for this resource.
48366
- # Corresponds to the JSON property `selfLink`
48367
- # @return [String]
48368
- attr_accessor :self_link
48369
-
48370
- # [Output Only] Server-defined URL for this resource with the resource id.
48371
- # Corresponds to the JSON property `selfLinkWithId`
48372
- # @return [String]
48373
- attr_accessor :self_link_with_id
48374
-
48375
- # [Output Only] Status of the reservation subBlock.
48376
- # Corresponds to the JSON property `status`
48377
- # @return [String]
48378
- attr_accessor :status
48379
-
48380
- # [Output Only] Zone in which the reservation subBlock resides.
48381
- # Corresponds to the JSON property `zone`
48382
- # @return [String]
48383
- attr_accessor :zone
48384
-
48385
- def initialize(**args)
48386
- update!(**args)
48387
- end
48388
-
48389
- # Update properties of this object
48390
- def update!(**args)
48391
- @count = args[:count] if args.key?(:count)
48392
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
48393
- @health_info = args[:health_info] if args.key?(:health_info)
48394
- @id = args[:id] if args.key?(:id)
48395
- @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
48396
- @kind = args[:kind] if args.key?(:kind)
48397
- @name = args[:name] if args.key?(:name)
48398
- @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
48399
- @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance)
48400
- @self_link = args[:self_link] if args.key?(:self_link)
48401
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
48402
- @status = args[:status] if args.key?(:status)
48403
- @zone = args[:zone] if args.key?(:zone)
48404
- end
48405
- end
48406
-
48407
- # Health information for the reservation subBlock.
48408
- class ReservationSubBlockHealthInfo
48409
- include Google::Apis::Core::Hashable
48410
-
48411
- # The number of degraded hosts in the reservation subBlock.
48412
- # Corresponds to the JSON property `degradedHostCount`
48413
- # @return [Fixnum]
48414
- attr_accessor :degraded_host_count
48415
-
48416
- # The number of degraded infrastructure (e.g NV link domain) in the reservation
48417
- # subblock.
48418
- # Corresponds to the JSON property `degradedInfraCount`
48419
- # @return [Fixnum]
48420
- attr_accessor :degraded_infra_count
48421
-
48422
- # The health status of the reservation subBlock.
48423
- # Corresponds to the JSON property `healthStatus`
48424
- # @return [String]
48425
- attr_accessor :health_status
48426
-
48427
- # The number of healthy hosts in the reservation subBlock.
48428
- # Corresponds to the JSON property `healthyHostCount`
48429
- # @return [Fixnum]
48430
- attr_accessor :healthy_host_count
48431
-
48432
- # The number of healthy infrastructure (e.g NV link domain) in the reservation
48433
- # subblock.
48434
- # Corresponds to the JSON property `healthyInfraCount`
48435
- # @return [Fixnum]
48436
- attr_accessor :healthy_infra_count
48437
-
48438
- def initialize(**args)
48439
- update!(**args)
48440
- end
48441
-
48442
- # Update properties of this object
48443
- def update!(**args)
48444
- @degraded_host_count = args[:degraded_host_count] if args.key?(:degraded_host_count)
48445
- @degraded_infra_count = args[:degraded_infra_count] if args.key?(:degraded_infra_count)
48446
- @health_status = args[:health_status] if args.key?(:health_status)
48447
- @healthy_host_count = args[:healthy_host_count] if args.key?(:healthy_host_count)
48448
- @healthy_infra_count = args[:healthy_infra_count] if args.key?(:healthy_infra_count)
48449
- end
48450
- end
48451
-
49492
+ # Represents a reservation subBlock resource.
49493
+ class ReservationSubBlock
49494
+ include Google::Apis::Core::Hashable
49495
+
49496
+ # [Output Only] The number of hosts that are allocated in this reservation
49497
+ # subBlock.
49498
+ # Corresponds to the JSON property `count`
49499
+ # @return [Fixnum]
49500
+ attr_accessor :count
49501
+
49502
+ # [Output Only] Creation timestamp in RFC3339 text format.
49503
+ # Corresponds to the JSON property `creationTimestamp`
49504
+ # @return [String]
49505
+ attr_accessor :creation_timestamp
49506
+
49507
+ # Health information for the reservation subBlock.
49508
+ # Corresponds to the JSON property `healthInfo`
49509
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlockHealthInfo]
49510
+ attr_accessor :health_info
49511
+
49512
+ # [Output Only] The unique identifier for the resource. This identifier is
49513
+ # defined by the server.
49514
+ # Corresponds to the JSON property `id`
49515
+ # @return [Fixnum]
49516
+ attr_accessor :id
49517
+
49518
+ # [Output Only] The number of instances that are currently in use on this
49519
+ # reservation subBlock.
49520
+ # Corresponds to the JSON property `inUseCount`
49521
+ # @return [Fixnum]
49522
+ attr_accessor :in_use_count
49523
+
49524
+ # Number of hosts currently in use. If there is one or more Instances running on
49525
+ # the host, it is considered in use.
49526
+ # Corresponds to the JSON property `inUseHostCount`
49527
+ # @return [Fixnum]
49528
+ attr_accessor :in_use_host_count
49529
+
49530
+ # [Output Only] Type of the resource. Always compute#reservationSubBlock for
49531
+ # reservation subBlocks.
49532
+ # Corresponds to the JSON property `kind`
49533
+ # @return [String]
49534
+ attr_accessor :kind
49535
+
49536
+ # [Output Only] The name of this reservation subBlock generated by Google
49537
+ # Compute Engine. The name must be 1-63 characters long, and comply with RFC1035
49538
+ # @pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
49539
+ # Corresponds to the JSON property `name`
49540
+ # @return [String]
49541
+ attr_accessor :name
49542
+
49543
+ # [Output Only] The physical topology of the reservation subBlock.
49544
+ # Corresponds to the JSON property `physicalTopology`
49545
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlockPhysicalTopology]
49546
+ attr_accessor :physical_topology
49547
+
49548
+ # Maintenance Info for ReservationBlocks.
49549
+ # Corresponds to the JSON property `reservationSubBlockMaintenance`
49550
+ # @return [Google::Apis::ComputeAlpha::GroupMaintenanceInfo]
49551
+ attr_accessor :reservation_sub_block_maintenance
49552
+
49553
+ # [Output Only] Server-defined fully-qualified URL for this resource.
49554
+ # Corresponds to the JSON property `selfLink`
49555
+ # @return [String]
49556
+ attr_accessor :self_link
49557
+
49558
+ # [Output Only] Server-defined URL for this resource with the resource id.
49559
+ # Corresponds to the JSON property `selfLinkWithId`
49560
+ # @return [String]
49561
+ attr_accessor :self_link_with_id
49562
+
49563
+ # [Output Only] Status of the reservation subBlock.
49564
+ # Corresponds to the JSON property `status`
49565
+ # @return [String]
49566
+ attr_accessor :status
49567
+
49568
+ # [Output Only] Zone in which the reservation subBlock resides.
49569
+ # Corresponds to the JSON property `zone`
49570
+ # @return [String]
49571
+ attr_accessor :zone
49572
+
49573
+ def initialize(**args)
49574
+ update!(**args)
49575
+ end
49576
+
49577
+ # Update properties of this object
49578
+ def update!(**args)
49579
+ @count = args[:count] if args.key?(:count)
49580
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
49581
+ @health_info = args[:health_info] if args.key?(:health_info)
49582
+ @id = args[:id] if args.key?(:id)
49583
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
49584
+ @in_use_host_count = args[:in_use_host_count] if args.key?(:in_use_host_count)
49585
+ @kind = args[:kind] if args.key?(:kind)
49586
+ @name = args[:name] if args.key?(:name)
49587
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
49588
+ @reservation_sub_block_maintenance = args[:reservation_sub_block_maintenance] if args.key?(:reservation_sub_block_maintenance)
49589
+ @self_link = args[:self_link] if args.key?(:self_link)
49590
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
49591
+ @status = args[:status] if args.key?(:status)
49592
+ @zone = args[:zone] if args.key?(:zone)
49593
+ end
49594
+ end
49595
+
49596
+ # Health information for the reservation subBlock.
49597
+ class ReservationSubBlockHealthInfo
49598
+ include Google::Apis::Core::Hashable
49599
+
49600
+ # The number of degraded hosts in the reservation subBlock.
49601
+ # Corresponds to the JSON property `degradedHostCount`
49602
+ # @return [Fixnum]
49603
+ attr_accessor :degraded_host_count
49604
+
49605
+ # The number of degraded infrastructure (e.g NV link domain) in the reservation
49606
+ # subblock.
49607
+ # Corresponds to the JSON property `degradedInfraCount`
49608
+ # @return [Fixnum]
49609
+ attr_accessor :degraded_infra_count
49610
+
49611
+ # The health status of the reservation subBlock.
49612
+ # Corresponds to the JSON property `healthStatus`
49613
+ # @return [String]
49614
+ attr_accessor :health_status
49615
+
49616
+ # The number of healthy hosts in the reservation subBlock.
49617
+ # Corresponds to the JSON property `healthyHostCount`
49618
+ # @return [Fixnum]
49619
+ attr_accessor :healthy_host_count
49620
+
49621
+ # The number of healthy infrastructure (e.g NV link domain) in the reservation
49622
+ # subblock.
49623
+ # Corresponds to the JSON property `healthyInfraCount`
49624
+ # @return [Fixnum]
49625
+ attr_accessor :healthy_infra_count
49626
+
49627
+ def initialize(**args)
49628
+ update!(**args)
49629
+ end
49630
+
49631
+ # Update properties of this object
49632
+ def update!(**args)
49633
+ @degraded_host_count = args[:degraded_host_count] if args.key?(:degraded_host_count)
49634
+ @degraded_infra_count = args[:degraded_infra_count] if args.key?(:degraded_infra_count)
49635
+ @health_status = args[:health_status] if args.key?(:health_status)
49636
+ @healthy_host_count = args[:healthy_host_count] if args.key?(:healthy_host_count)
49637
+ @healthy_infra_count = args[:healthy_infra_count] if args.key?(:healthy_infra_count)
49638
+ end
49639
+ end
49640
+
49641
+ #
49642
+ class ReservationSubBlockPhysicalTopology
49643
+ include Google::Apis::Core::Hashable
49644
+
49645
+ # The hash of the capacity block within the cluster.
49646
+ # Corresponds to the JSON property `block`
49647
+ # @return [String]
49648
+ attr_accessor :block
49649
+
49650
+ # The cluster name of the reservation subBlock.
49651
+ # Corresponds to the JSON property `cluster`
49652
+ # @return [String]
49653
+ attr_accessor :cluster
49654
+
49655
+ # The hash of the capacity sub-block within the capacity block.
49656
+ # Corresponds to the JSON property `subBlock`
49657
+ # @return [String]
49658
+ attr_accessor :sub_block
49659
+
49660
+ def initialize(**args)
49661
+ update!(**args)
49662
+ end
49663
+
49664
+ # Update properties of this object
49665
+ def update!(**args)
49666
+ @block = args[:block] if args.key?(:block)
49667
+ @cluster = args[:cluster] if args.key?(:cluster)
49668
+ @sub_block = args[:sub_block] if args.key?(:sub_block)
49669
+ end
49670
+ end
49671
+
49672
+ #
49673
+ class ReservationSubBlocksGetResponse
49674
+ include Google::Apis::Core::Hashable
49675
+
49676
+ # Represents a reservation subBlock resource.
49677
+ # Corresponds to the JSON property `resource`
49678
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlock]
49679
+ attr_accessor :resource
49680
+
49681
+ def initialize(**args)
49682
+ update!(**args)
49683
+ end
49684
+
49685
+ # Update properties of this object
49686
+ def update!(**args)
49687
+ @resource = args[:resource] if args.key?(:resource)
49688
+ end
49689
+ end
49690
+
49691
+ # A list of reservation subBlocks under a single reservation.
49692
+ class ReservationSubBlocksListResponse
49693
+ include Google::Apis::Core::Hashable
49694
+
49695
+ # Unique identifier for the resource; defined by the server.
49696
+ # Corresponds to the JSON property `id`
49697
+ # @return [String]
49698
+ attr_accessor :id
49699
+
49700
+ # A list of reservation subBlock resources.
49701
+ # Corresponds to the JSON property `items`
49702
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlock>]
49703
+ attr_accessor :items
49704
+
49705
+ # Type of the resource. Always compute#reservationSubBlock for a list of
49706
+ # reservation subBlocks.
49707
+ # Corresponds to the JSON property `kind`
49708
+ # @return [String]
49709
+ attr_accessor :kind
49710
+
49711
+ # This token allows you to get the next page of results for list requests. If
49712
+ # the number of results is larger than maxResults, use the nextPageToken as a
49713
+ # value for the query parameter pageToken in the next list request. Subsequent
49714
+ # list requests will have their own nextPageToken to continue paging through the
49715
+ # results.
49716
+ # Corresponds to the JSON property `nextPageToken`
49717
+ # @return [String]
49718
+ attr_accessor :next_page_token
49719
+
49720
+ # Server-defined URL for this resource.
49721
+ # Corresponds to the JSON property `selfLink`
49722
+ # @return [String]
49723
+ attr_accessor :self_link
49724
+
49725
+ # Informational warning message.
49726
+ # Corresponds to the JSON property `warning`
49727
+ # @return [Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning]
49728
+ attr_accessor :warning
49729
+
49730
+ def initialize(**args)
49731
+ update!(**args)
49732
+ end
49733
+
49734
+ # Update properties of this object
49735
+ def update!(**args)
49736
+ @id = args[:id] if args.key?(:id)
49737
+ @items = args[:items] if args.key?(:items)
49738
+ @kind = args[:kind] if args.key?(:kind)
49739
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
49740
+ @self_link = args[:self_link] if args.key?(:self_link)
49741
+ @warning = args[:warning] if args.key?(:warning)
49742
+ end
49743
+
49744
+ # Informational warning message.
49745
+ class Warning
49746
+ include Google::Apis::Core::Hashable
49747
+
49748
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
49749
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
49750
+ # Corresponds to the JSON property `code`
49751
+ # @return [String]
49752
+ attr_accessor :code
49753
+
49754
+ # [Output Only] Metadata about this warning in key: value format. For example: "
49755
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
49756
+ # Corresponds to the JSON property `data`
49757
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning::Datum>]
49758
+ attr_accessor :data
49759
+
49760
+ # [Output Only] A human-readable description of the warning code.
49761
+ # Corresponds to the JSON property `message`
49762
+ # @return [String]
49763
+ attr_accessor :message
49764
+
49765
+ def initialize(**args)
49766
+ update!(**args)
49767
+ end
49768
+
49769
+ # Update properties of this object
49770
+ def update!(**args)
49771
+ @code = args[:code] if args.key?(:code)
49772
+ @data = args[:data] if args.key?(:data)
49773
+ @message = args[:message] if args.key?(:message)
49774
+ end
49775
+
49776
+ #
49777
+ class Datum
49778
+ include Google::Apis::Core::Hashable
49779
+
49780
+ # [Output Only] A key that provides more detail on the warning being returned.
49781
+ # For example, for warnings where there are no results in a list request for a
49782
+ # particular zone, this key might be scope and the key value might be the zone
49783
+ # name. Other examples might be a key indicating a deprecated resource and a
49784
+ # suggested replacement, or a warning about invalid network settings (for
49785
+ # example, if an instance attempts to perform IP forwarding but is not enabled
49786
+ # for IP forwarding).
49787
+ # Corresponds to the JSON property `key`
49788
+ # @return [String]
49789
+ attr_accessor :key
49790
+
49791
+ # [Output Only] A warning data value corresponding to the key.
49792
+ # Corresponds to the JSON property `value`
49793
+ # @return [String]
49794
+ attr_accessor :value
49795
+
49796
+ def initialize(**args)
49797
+ update!(**args)
49798
+ end
49799
+
49800
+ # Update properties of this object
49801
+ def update!(**args)
49802
+ @key = args[:key] if args.key?(:key)
49803
+ @value = args[:value] if args.key?(:value)
49804
+ end
49805
+ end
49806
+ end
49807
+ end
49808
+
48452
49809
  #
48453
- class ReservationSubBlockPhysicalTopology
49810
+ class ReservationSubBlocksReportFaultyRequest
48454
49811
  include Google::Apis::Core::Hashable
48455
49812
 
48456
- # The hash of the capacity block within the cluster.
48457
- # Corresponds to the JSON property `block`
48458
- # @return [String]
48459
- attr_accessor :block
48460
-
48461
- # The cluster name of the reservation subBlock.
48462
- # Corresponds to the JSON property `cluster`
49813
+ # The disruption schedule for the subBlock.
49814
+ # Corresponds to the JSON property `disruptionSchedule`
48463
49815
  # @return [String]
48464
- attr_accessor :cluster
49816
+ attr_accessor :disruption_schedule
48465
49817
 
48466
- # The hash of the capacity sub-block within the capacity block.
48467
- # Corresponds to the JSON property `subBlock`
49818
+ # The component that experienced the fault.
49819
+ # Corresponds to the JSON property `failureComponent`
48468
49820
  # @return [String]
48469
- attr_accessor :sub_block
48470
-
48471
- def initialize(**args)
48472
- update!(**args)
48473
- end
48474
-
48475
- # Update properties of this object
48476
- def update!(**args)
48477
- @block = args[:block] if args.key?(:block)
48478
- @cluster = args[:cluster] if args.key?(:cluster)
48479
- @sub_block = args[:sub_block] if args.key?(:sub_block)
48480
- end
48481
- end
49821
+ attr_accessor :failure_component
48482
49822
 
48483
- #
48484
- class ReservationSubBlocksGetResponse
48485
- include Google::Apis::Core::Hashable
48486
-
48487
- # Represents a reservation subBlock resource.
48488
- # Corresponds to the JSON property `resource`
48489
- # @return [Google::Apis::ComputeAlpha::ReservationSubBlock]
48490
- attr_accessor :resource
49823
+ # The reasons for the fault experienced with the subBlock.
49824
+ # Corresponds to the JSON property `faultReasons`
49825
+ # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlocksReportFaultyRequestFaultReason>]
49826
+ attr_accessor :fault_reasons
48491
49827
 
48492
49828
  def initialize(**args)
48493
49829
  update!(**args)
@@ -48495,48 +49831,25 @@ module Google
48495
49831
 
48496
49832
  # Update properties of this object
48497
49833
  def update!(**args)
48498
- @resource = args[:resource] if args.key?(:resource)
49834
+ @disruption_schedule = args[:disruption_schedule] if args.key?(:disruption_schedule)
49835
+ @failure_component = args[:failure_component] if args.key?(:failure_component)
49836
+ @fault_reasons = args[:fault_reasons] if args.key?(:fault_reasons)
48499
49837
  end
48500
49838
  end
48501
49839
 
48502
- # A list of reservation subBlocks under a single reservation.
48503
- class ReservationSubBlocksListResponse
49840
+ # The reason for the fault experienced with the subBlock.
49841
+ class ReservationSubBlocksReportFaultyRequestFaultReason
48504
49842
  include Google::Apis::Core::Hashable
48505
49843
 
48506
- # Unique identifier for the resource; defined by the server.
48507
- # Corresponds to the JSON property `id`
48508
- # @return [String]
48509
- attr_accessor :id
48510
-
48511
- # A list of reservation subBlock resources.
48512
- # Corresponds to the JSON property `items`
48513
- # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlock>]
48514
- attr_accessor :items
48515
-
48516
- # Type of the resource. Always compute#reservationSubBlock for a list of
48517
- # reservation subBlocks.
48518
- # Corresponds to the JSON property `kind`
48519
- # @return [String]
48520
- attr_accessor :kind
48521
-
48522
- # This token allows you to get the next page of results for list requests. If
48523
- # the number of results is larger than maxResults, use the nextPageToken as a
48524
- # value for the query parameter pageToken in the next list request. Subsequent
48525
- # list requests will have their own nextPageToken to continue paging through the
48526
- # results.
48527
- # Corresponds to the JSON property `nextPageToken`
49844
+ # The behavior of the fault experienced with the subBlock.
49845
+ # Corresponds to the JSON property `behavior`
48528
49846
  # @return [String]
48529
- attr_accessor :next_page_token
49847
+ attr_accessor :behavior
48530
49848
 
48531
- # Server-defined URL for this resource.
48532
- # Corresponds to the JSON property `selfLink`
49849
+ # The description of the fault experienced with the subBlock.
49850
+ # Corresponds to the JSON property `description`
48533
49851
  # @return [String]
48534
- attr_accessor :self_link
48535
-
48536
- # Informational warning message.
48537
- # Corresponds to the JSON property `warning`
48538
- # @return [Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning]
48539
- attr_accessor :warning
49852
+ attr_accessor :description
48540
49853
 
48541
49854
  def initialize(**args)
48542
49855
  update!(**args)
@@ -48544,76 +49857,8 @@ module Google
48544
49857
 
48545
49858
  # Update properties of this object
48546
49859
  def update!(**args)
48547
- @id = args[:id] if args.key?(:id)
48548
- @items = args[:items] if args.key?(:items)
48549
- @kind = args[:kind] if args.key?(:kind)
48550
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
48551
- @self_link = args[:self_link] if args.key?(:self_link)
48552
- @warning = args[:warning] if args.key?(:warning)
48553
- end
48554
-
48555
- # Informational warning message.
48556
- class Warning
48557
- include Google::Apis::Core::Hashable
48558
-
48559
- # [Output Only] A warning code, if applicable. For example, Compute Engine
48560
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
48561
- # Corresponds to the JSON property `code`
48562
- # @return [String]
48563
- attr_accessor :code
48564
-
48565
- # [Output Only] Metadata about this warning in key: value format. For example: "
48566
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
48567
- # Corresponds to the JSON property `data`
48568
- # @return [Array<Google::Apis::ComputeAlpha::ReservationSubBlocksListResponse::Warning::Datum>]
48569
- attr_accessor :data
48570
-
48571
- # [Output Only] A human-readable description of the warning code.
48572
- # Corresponds to the JSON property `message`
48573
- # @return [String]
48574
- attr_accessor :message
48575
-
48576
- def initialize(**args)
48577
- update!(**args)
48578
- end
48579
-
48580
- # Update properties of this object
48581
- def update!(**args)
48582
- @code = args[:code] if args.key?(:code)
48583
- @data = args[:data] if args.key?(:data)
48584
- @message = args[:message] if args.key?(:message)
48585
- end
48586
-
48587
- #
48588
- class Datum
48589
- include Google::Apis::Core::Hashable
48590
-
48591
- # [Output Only] A key that provides more detail on the warning being returned.
48592
- # For example, for warnings where there are no results in a list request for a
48593
- # particular zone, this key might be scope and the key value might be the zone
48594
- # name. Other examples might be a key indicating a deprecated resource and a
48595
- # suggested replacement, or a warning about invalid network settings (for
48596
- # example, if an instance attempts to perform IP forwarding but is not enabled
48597
- # for IP forwarding).
48598
- # Corresponds to the JSON property `key`
48599
- # @return [String]
48600
- attr_accessor :key
48601
-
48602
- # [Output Only] A warning data value corresponding to the key.
48603
- # Corresponds to the JSON property `value`
48604
- # @return [String]
48605
- attr_accessor :value
48606
-
48607
- def initialize(**args)
48608
- update!(**args)
48609
- end
48610
-
48611
- # Update properties of this object
48612
- def update!(**args)
48613
- @key = args[:key] if args.key?(:key)
48614
- @value = args[:value] if args.key?(:value)
48615
- end
48616
- end
49860
+ @behavior = args[:behavior] if args.key?(:behavior)
49861
+ @description = args[:description] if args.key?(:description)
48617
49862
  end
48618
49863
  end
48619
49864
 
@@ -49832,17 +51077,18 @@ module Google
49832
51077
  class ResourcePolicyWorkloadPolicy
49833
51078
  include Google::Apis::Core::Hashable
49834
51079
 
49835
- #
51080
+ # Specifies the topology required to create a partition for VMs that have
51081
+ # interconnected GPUs.
49836
51082
  # Corresponds to the JSON property `acceleratorTopology`
49837
51083
  # @return [String]
49838
51084
  attr_accessor :accelerator_topology
49839
51085
 
49840
- #
51086
+ # Specifies the maximum distance between instances.
49841
51087
  # Corresponds to the JSON property `maxTopologyDistance`
49842
51088
  # @return [String]
49843
51089
  attr_accessor :max_topology_distance
49844
51090
 
49845
- #
51091
+ # Specifies the intent of the instance placement in the MIG.
49846
51092
  # Corresponds to the JSON property `type`
49847
51093
  # @return [String]
49848
51094
  attr_accessor :type
@@ -62933,10 +64179,10 @@ module Google
62933
64179
  # HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/
62934
64180
  # targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/
62935
64181
  # regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud
62936
- # HTTPS load balancers. * targetHttpProxies are used by global external
64182
+ # HTTPS load balancers. * targetHttpsProxies are used by global external
62937
64183
  # Application Load Balancers, classic Application Load Balancers, cross-region
62938
64184
  # internal Application Load Balancers, and Traffic Director. *
62939
- # regionTargetHttpProxies are used by regional internal Application Load
64185
+ # regionTargetHttpsProxies are used by regional internal Application Load
62940
64186
  # Balancers and regional external Application Load Balancers. Forwarding rules
62941
64187
  # reference a target HTTPS proxy, and the target proxy then references a URL map.
62942
64188
  # For more information, read Using Target Proxies and Forwarding rule concepts.
@@ -65295,6 +66541,12 @@ module Google
65295
66541
  # @return [String]
65296
66542
  attr_accessor :network
65297
66543
 
66544
+ # Input only. [Input Only] Additional params passed with the request, but not
66545
+ # persisted as part of resource payload.
66546
+ # Corresponds to the JSON property `params`
66547
+ # @return [Google::Apis::ComputeAlpha::TargetVpnGatewayParams]
66548
+ attr_accessor :params
66549
+
65298
66550
  # [Output Only] URL of the region where the target VPN gateway resides. You must
65299
66551
  # specify this field as part of the HTTP request URL. It is not settable as a
65300
66552
  # field in the request body.
@@ -65334,6 +66586,7 @@ module Google
65334
66586
  @labels = args[:labels] if args.key?(:labels)
65335
66587
  @name = args[:name] if args.key?(:name)
65336
66588
  @network = args[:network] if args.key?(:network)
66589
+ @params = args[:params] if args.key?(:params)
65337
66590
  @region = args[:region] if args.key?(:region)
65338
66591
  @self_link = args[:self_link] if args.key?(:self_link)
65339
66592
  @status = args[:status] if args.key?(:status)
@@ -65583,6 +66836,33 @@ module Google
65583
66836
  end
65584
66837
  end
65585
66838
 
66839
+ #
66840
+ class TargetVpnGatewayParams
66841
+ include Google::Apis::Core::Hashable
66842
+
66843
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
66844
+ # same definition as resource manager tags. The field is allowed for INSERT only.
66845
+ # The keys/values to set on the resource should be specified in either ID ` : `
66846
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
66847
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
66848
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
66849
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
66850
+ # "tagValues/444"` is invalid. * Inconsistent format is not supported. For
66851
+ # instance: `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
66852
+ # Corresponds to the JSON property `resourceManagerTags`
66853
+ # @return [Hash<String,String>]
66854
+ attr_accessor :resource_manager_tags
66855
+
66856
+ def initialize(**args)
66857
+ update!(**args)
66858
+ end
66859
+
66860
+ # Update properties of this object
66861
+ def update!(**args)
66862
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
66863
+ end
66864
+ end
66865
+
65586
66866
  #
65587
66867
  class TargetVpnGatewaysScopedList
65588
66868
  include Google::Apis::Core::Hashable
@@ -67715,124 +68995,254 @@ module Google
67715
68995
  end
67716
68996
  end
67717
68997
 
67718
- # Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN
67719
- # solution that lets you securely connect your on-premises network to your
67720
- # Google Cloud Virtual Private Cloud network through an IPsec VPN connection in
67721
- # a single region. For more information about Cloud HA VPN solutions, see Cloud
67722
- # VPN topologies .
67723
- class VpnGateway
67724
- include Google::Apis::Core::Hashable
67725
-
67726
- # [Output Only] Creation timestamp in RFC3339 text format.
67727
- # Corresponds to the JSON property `creationTimestamp`
67728
- # @return [String]
67729
- attr_accessor :creation_timestamp
67730
-
67731
- # An optional description of this resource. Provide this property when you
67732
- # create the resource.
67733
- # Corresponds to the JSON property `description`
67734
- # @return [String]
67735
- attr_accessor :description
67736
-
67737
- # The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not
67738
- # specified, IPV4 will be used.
67739
- # Corresponds to the JSON property `gatewayIpVersion`
67740
- # @return [String]
67741
- attr_accessor :gateway_ip_version
67742
-
67743
- # [Output Only] The unique identifier for the resource. This identifier is
67744
- # defined by the server.
67745
- # Corresponds to the JSON property `id`
67746
- # @return [Fixnum]
67747
- attr_accessor :id
67748
-
67749
- # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
67750
- # Corresponds to the JSON property `kind`
67751
- # @return [String]
67752
- attr_accessor :kind
67753
-
67754
- # A fingerprint for the labels being applied to this VpnGateway, which is
67755
- # essentially a hash of the labels set used for optimistic locking. The
67756
- # fingerprint is initially generated by Compute Engine and changes after every
67757
- # request to modify or update labels. You must always provide an up-to-date
67758
- # fingerprint hash in order to update or change labels, otherwise the request
67759
- # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
67760
- # a get() request to retrieve a VpnGateway.
67761
- # Corresponds to the JSON property `labelFingerprint`
67762
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
67763
- # @return [String]
67764
- attr_accessor :label_fingerprint
67765
-
67766
- # Labels for this resource. These can only be added or modified by the setLabels
67767
- # method. Each label key/value pair must comply with RFC1035. Label values may
67768
- # be empty.
67769
- # Corresponds to the JSON property `labels`
67770
- # @return [Hash<String,String>]
67771
- attr_accessor :labels
67772
-
67773
- # Name of the resource. Provided by the client when the resource is created. The
67774
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
67775
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
67776
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
67777
- # and all following characters must be a dash, lowercase letter, or digit,
67778
- # except the last character, which cannot be a dash.
67779
- # Corresponds to the JSON property `name`
67780
- # @return [String]
67781
- attr_accessor :name
67782
-
67783
- # URL of the network to which this VPN gateway is attached. Provided by the
67784
- # client when the VPN gateway is created.
67785
- # Corresponds to the JSON property `network`
67786
- # @return [String]
67787
- attr_accessor :network
67788
-
67789
- # [Output Only] URL of the region where the VPN gateway resides.
67790
- # Corresponds to the JSON property `region`
67791
- # @return [String]
67792
- attr_accessor :region
67793
-
67794
- # [Output Only] Server-defined URL for the resource.
67795
- # Corresponds to the JSON property `selfLink`
67796
- # @return [String]
67797
- attr_accessor :self_link
67798
-
67799
- # The stack type for this VPN gateway to identify the IP protocols that are
67800
- # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not
67801
- # specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6
67802
- # if the gateway IP version is IPV6.
67803
- # Corresponds to the JSON property `stackType`
67804
- # @return [String]
67805
- attr_accessor :stack_type
67806
-
67807
- # The list of VPN interfaces associated with this VPN gateway.
67808
- # Corresponds to the JSON property `vpnInterfaces`
67809
- # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
67810
- attr_accessor :vpn_interfaces
67811
-
67812
- def initialize(**args)
67813
- update!(**args)
67814
- end
67815
-
67816
- # Update properties of this object
67817
- def update!(**args)
67818
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
67819
- @description = args[:description] if args.key?(:description)
67820
- @gateway_ip_version = args[:gateway_ip_version] if args.key?(:gateway_ip_version)
67821
- @id = args[:id] if args.key?(:id)
67822
- @kind = args[:kind] if args.key?(:kind)
67823
- @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
67824
- @labels = args[:labels] if args.key?(:labels)
67825
- @name = args[:name] if args.key?(:name)
67826
- @network = args[:network] if args.key?(:network)
67827
- @region = args[:region] if args.key?(:region)
67828
- @self_link = args[:self_link] if args.key?(:self_link)
67829
- @stack_type = args[:stack_type] if args.key?(:stack_type)
67830
- @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
67831
- end
67832
- end
67833
-
67834
- #
67835
- class VpnGatewayAggregatedList
68998
+ # Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN
68999
+ # solution that lets you securely connect your on-premises network to your
69000
+ # Google Cloud Virtual Private Cloud network through an IPsec VPN connection in
69001
+ # a single region. For more information about Cloud HA VPN solutions, see Cloud
69002
+ # VPN topologies .
69003
+ class VpnGateway
69004
+ include Google::Apis::Core::Hashable
69005
+
69006
+ # [Output Only] Creation timestamp in RFC3339 text format.
69007
+ # Corresponds to the JSON property `creationTimestamp`
69008
+ # @return [String]
69009
+ attr_accessor :creation_timestamp
69010
+
69011
+ # An optional description of this resource. Provide this property when you
69012
+ # create the resource.
69013
+ # Corresponds to the JSON property `description`
69014
+ # @return [String]
69015
+ attr_accessor :description
69016
+
69017
+ # The IP family of the gateway IPs for the HA-VPN gateway interfaces. If not
69018
+ # specified, IPV4 will be used.
69019
+ # Corresponds to the JSON property `gatewayIpVersion`
69020
+ # @return [String]
69021
+ attr_accessor :gateway_ip_version
69022
+
69023
+ # [Output Only] The unique identifier for the resource. This identifier is
69024
+ # defined by the server.
69025
+ # Corresponds to the JSON property `id`
69026
+ # @return [Fixnum]
69027
+ attr_accessor :id
69028
+
69029
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
69030
+ # Corresponds to the JSON property `kind`
69031
+ # @return [String]
69032
+ attr_accessor :kind
69033
+
69034
+ # A fingerprint for the labels being applied to this VpnGateway, which is
69035
+ # essentially a hash of the labels set used for optimistic locking. The
69036
+ # fingerprint is initially generated by Compute Engine and changes after every
69037
+ # request to modify or update labels. You must always provide an up-to-date
69038
+ # fingerprint hash in order to update or change labels, otherwise the request
69039
+ # will fail with error 412 conditionNotMet. To see the latest fingerprint, make
69040
+ # a get() request to retrieve a VpnGateway.
69041
+ # Corresponds to the JSON property `labelFingerprint`
69042
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
69043
+ # @return [String]
69044
+ attr_accessor :label_fingerprint
69045
+
69046
+ # Labels for this resource. These can only be added or modified by the setLabels
69047
+ # method. Each label key/value pair must comply with RFC1035. Label values may
69048
+ # be empty.
69049
+ # Corresponds to the JSON property `labels`
69050
+ # @return [Hash<String,String>]
69051
+ attr_accessor :labels
69052
+
69053
+ # Name of the resource. Provided by the client when the resource is created. The
69054
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
69055
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
69056
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
69057
+ # and all following characters must be a dash, lowercase letter, or digit,
69058
+ # except the last character, which cannot be a dash.
69059
+ # Corresponds to the JSON property `name`
69060
+ # @return [String]
69061
+ attr_accessor :name
69062
+
69063
+ # URL of the network to which this VPN gateway is attached. Provided by the
69064
+ # client when the VPN gateway is created.
69065
+ # Corresponds to the JSON property `network`
69066
+ # @return [String]
69067
+ attr_accessor :network
69068
+
69069
+ # Input only. [Input Only] Additional params passed with the request, but not
69070
+ # persisted as part of resource payload.
69071
+ # Corresponds to the JSON property `params`
69072
+ # @return [Google::Apis::ComputeAlpha::VpnGatewayParams]
69073
+ attr_accessor :params
69074
+
69075
+ # [Output Only] URL of the region where the VPN gateway resides.
69076
+ # Corresponds to the JSON property `region`
69077
+ # @return [String]
69078
+ attr_accessor :region
69079
+
69080
+ # [Output Only] Server-defined URL for the resource.
69081
+ # Corresponds to the JSON property `selfLink`
69082
+ # @return [String]
69083
+ attr_accessor :self_link
69084
+
69085
+ # The stack type for this VPN gateway to identify the IP protocols that are
69086
+ # enabled. Possible values are: IPV4_ONLY, IPV4_IPV6, IPV6_ONLY. If not
69087
+ # specified, IPV4_ONLY is used if the gateway IP version is IPV4, or IPV4_IPV6
69088
+ # if the gateway IP version is IPV6.
69089
+ # Corresponds to the JSON property `stackType`
69090
+ # @return [String]
69091
+ attr_accessor :stack_type
69092
+
69093
+ # The list of VPN interfaces associated with this VPN gateway.
69094
+ # Corresponds to the JSON property `vpnInterfaces`
69095
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
69096
+ attr_accessor :vpn_interfaces
69097
+
69098
+ def initialize(**args)
69099
+ update!(**args)
69100
+ end
69101
+
69102
+ # Update properties of this object
69103
+ def update!(**args)
69104
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
69105
+ @description = args[:description] if args.key?(:description)
69106
+ @gateway_ip_version = args[:gateway_ip_version] if args.key?(:gateway_ip_version)
69107
+ @id = args[:id] if args.key?(:id)
69108
+ @kind = args[:kind] if args.key?(:kind)
69109
+ @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
69110
+ @labels = args[:labels] if args.key?(:labels)
69111
+ @name = args[:name] if args.key?(:name)
69112
+ @network = args[:network] if args.key?(:network)
69113
+ @params = args[:params] if args.key?(:params)
69114
+ @region = args[:region] if args.key?(:region)
69115
+ @self_link = args[:self_link] if args.key?(:self_link)
69116
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
69117
+ @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
69118
+ end
69119
+ end
69120
+
69121
+ #
69122
+ class VpnGatewayAggregatedList
69123
+ include Google::Apis::Core::Hashable
69124
+
69125
+ # [Output Only] Unique identifier for the resource; defined by the server.
69126
+ # Corresponds to the JSON property `id`
69127
+ # @return [String]
69128
+ attr_accessor :id
69129
+
69130
+ # A list of VpnGateway resources.
69131
+ # Corresponds to the JSON property `items`
69132
+ # @return [Hash<String,Google::Apis::ComputeAlpha::VpnGatewaysScopedList>]
69133
+ attr_accessor :items
69134
+
69135
+ # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
69136
+ # Corresponds to the JSON property `kind`
69137
+ # @return [String]
69138
+ attr_accessor :kind
69139
+
69140
+ # [Output Only] This token allows you to get the next page of results for list
69141
+ # requests. If the number of results is larger than maxResults, use the
69142
+ # nextPageToken as a value for the query parameter pageToken in the next list
69143
+ # request. Subsequent list requests will have their own nextPageToken to
69144
+ # continue paging through the results.
69145
+ # Corresponds to the JSON property `nextPageToken`
69146
+ # @return [String]
69147
+ attr_accessor :next_page_token
69148
+
69149
+ # [Output Only] Server-defined URL for this resource.
69150
+ # Corresponds to the JSON property `selfLink`
69151
+ # @return [String]
69152
+ attr_accessor :self_link
69153
+
69154
+ # [Output Only] Unreachable resources.
69155
+ # Corresponds to the JSON property `unreachables`
69156
+ # @return [Array<String>]
69157
+ attr_accessor :unreachables
69158
+
69159
+ # [Output Only] Informational warning message.
69160
+ # Corresponds to the JSON property `warning`
69161
+ # @return [Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning]
69162
+ attr_accessor :warning
69163
+
69164
+ def initialize(**args)
69165
+ update!(**args)
69166
+ end
69167
+
69168
+ # Update properties of this object
69169
+ def update!(**args)
69170
+ @id = args[:id] if args.key?(:id)
69171
+ @items = args[:items] if args.key?(:items)
69172
+ @kind = args[:kind] if args.key?(:kind)
69173
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
69174
+ @self_link = args[:self_link] if args.key?(:self_link)
69175
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
69176
+ @warning = args[:warning] if args.key?(:warning)
69177
+ end
69178
+
69179
+ # [Output Only] Informational warning message.
69180
+ class Warning
69181
+ include Google::Apis::Core::Hashable
69182
+
69183
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
69184
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
69185
+ # Corresponds to the JSON property `code`
69186
+ # @return [String]
69187
+ attr_accessor :code
69188
+
69189
+ # [Output Only] Metadata about this warning in key: value format. For example: "
69190
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
69191
+ # Corresponds to the JSON property `data`
69192
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning::Datum>]
69193
+ attr_accessor :data
69194
+
69195
+ # [Output Only] A human-readable description of the warning code.
69196
+ # Corresponds to the JSON property `message`
69197
+ # @return [String]
69198
+ attr_accessor :message
69199
+
69200
+ def initialize(**args)
69201
+ update!(**args)
69202
+ end
69203
+
69204
+ # Update properties of this object
69205
+ def update!(**args)
69206
+ @code = args[:code] if args.key?(:code)
69207
+ @data = args[:data] if args.key?(:data)
69208
+ @message = args[:message] if args.key?(:message)
69209
+ end
69210
+
69211
+ #
69212
+ class Datum
69213
+ include Google::Apis::Core::Hashable
69214
+
69215
+ # [Output Only] A key that provides more detail on the warning being returned.
69216
+ # For example, for warnings where there are no results in a list request for a
69217
+ # particular zone, this key might be scope and the key value might be the zone
69218
+ # name. Other examples might be a key indicating a deprecated resource and a
69219
+ # suggested replacement, or a warning about invalid network settings (for
69220
+ # example, if an instance attempts to perform IP forwarding but is not enabled
69221
+ # for IP forwarding).
69222
+ # Corresponds to the JSON property `key`
69223
+ # @return [String]
69224
+ attr_accessor :key
69225
+
69226
+ # [Output Only] A warning data value corresponding to the key.
69227
+ # Corresponds to the JSON property `value`
69228
+ # @return [String]
69229
+ attr_accessor :value
69230
+
69231
+ def initialize(**args)
69232
+ update!(**args)
69233
+ end
69234
+
69235
+ # Update properties of this object
69236
+ def update!(**args)
69237
+ @key = args[:key] if args.key?(:key)
69238
+ @value = args[:value] if args.key?(:value)
69239
+ end
69240
+ end
69241
+ end
69242
+ end
69243
+
69244
+ # Contains a list of VpnGateway resources.
69245
+ class VpnGatewayList
67836
69246
  include Google::Apis::Core::Hashable
67837
69247
 
67838
69248
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -67842,7 +69252,7 @@ module Google
67842
69252
 
67843
69253
  # A list of VpnGateway resources.
67844
69254
  # Corresponds to the JSON property `items`
67845
- # @return [Hash<String,Google::Apis::ComputeAlpha::VpnGatewaysScopedList>]
69255
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGateway>]
67846
69256
  attr_accessor :items
67847
69257
 
67848
69258
  # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
@@ -67864,14 +69274,9 @@ module Google
67864
69274
  # @return [String]
67865
69275
  attr_accessor :self_link
67866
69276
 
67867
- # [Output Only] Unreachable resources.
67868
- # Corresponds to the JSON property `unreachables`
67869
- # @return [Array<String>]
67870
- attr_accessor :unreachables
67871
-
67872
69277
  # [Output Only] Informational warning message.
67873
69278
  # Corresponds to the JSON property `warning`
67874
- # @return [Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning]
69279
+ # @return [Google::Apis::ComputeAlpha::VpnGatewayList::Warning]
67875
69280
  attr_accessor :warning
67876
69281
 
67877
69282
  def initialize(**args)
@@ -67885,7 +69290,6 @@ module Google
67885
69290
  @kind = args[:kind] if args.key?(:kind)
67886
69291
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
67887
69292
  @self_link = args[:self_link] if args.key?(:self_link)
67888
- @unreachables = args[:unreachables] if args.key?(:unreachables)
67889
69293
  @warning = args[:warning] if args.key?(:warning)
67890
69294
  end
67891
69295
 
@@ -67902,7 +69306,7 @@ module Google
67902
69306
  # [Output Only] Metadata about this warning in key: value format. For example: "
67903
69307
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
67904
69308
  # Corresponds to the JSON property `data`
67905
- # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning::Datum>]
69309
+ # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayList::Warning::Datum>]
67906
69310
  attr_accessor :data
67907
69311
 
67908
69312
  # [Output Only] A human-readable description of the warning code.
@@ -67954,43 +69358,22 @@ module Google
67954
69358
  end
67955
69359
  end
67956
69360
 
67957
- # Contains a list of VpnGateway resources.
67958
- class VpnGatewayList
69361
+ #
69362
+ class VpnGatewayParams
67959
69363
  include Google::Apis::Core::Hashable
67960
69364
 
67961
- # [Output Only] Unique identifier for the resource; defined by the server.
67962
- # Corresponds to the JSON property `id`
67963
- # @return [String]
67964
- attr_accessor :id
67965
-
67966
- # A list of VpnGateway resources.
67967
- # Corresponds to the JSON property `items`
67968
- # @return [Array<Google::Apis::ComputeAlpha::VpnGateway>]
67969
- attr_accessor :items
67970
-
67971
- # [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
67972
- # Corresponds to the JSON property `kind`
67973
- # @return [String]
67974
- attr_accessor :kind
67975
-
67976
- # [Output Only] This token allows you to get the next page of results for list
67977
- # requests. If the number of results is larger than maxResults, use the
67978
- # nextPageToken as a value for the query parameter pageToken in the next list
67979
- # request. Subsequent list requests will have their own nextPageToken to
67980
- # continue paging through the results.
67981
- # Corresponds to the JSON property `nextPageToken`
67982
- # @return [String]
67983
- attr_accessor :next_page_token
67984
-
67985
- # [Output Only] Server-defined URL for this resource.
67986
- # Corresponds to the JSON property `selfLink`
67987
- # @return [String]
67988
- attr_accessor :self_link
67989
-
67990
- # [Output Only] Informational warning message.
67991
- # Corresponds to the JSON property `warning`
67992
- # @return [Google::Apis::ComputeAlpha::VpnGatewayList::Warning]
67993
- attr_accessor :warning
69365
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
69366
+ # same definition as resource manager tags. The field is allowed for INSERT only.
69367
+ # The keys/values to set on the resource should be specified in either ID ` : `
69368
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
69369
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
69370
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
69371
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
69372
+ # "tagValues/444"` is invalid. * Inconsistent format is not supported. For
69373
+ # instance: `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
69374
+ # Corresponds to the JSON property `resourceManagerTags`
69375
+ # @return [Hash<String,String>]
69376
+ attr_accessor :resource_manager_tags
67994
69377
 
67995
69378
  def initialize(**args)
67996
69379
  update!(**args)
@@ -67998,76 +69381,7 @@ module Google
67998
69381
 
67999
69382
  # Update properties of this object
68000
69383
  def update!(**args)
68001
- @id = args[:id] if args.key?(:id)
68002
- @items = args[:items] if args.key?(:items)
68003
- @kind = args[:kind] if args.key?(:kind)
68004
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
68005
- @self_link = args[:self_link] if args.key?(:self_link)
68006
- @warning = args[:warning] if args.key?(:warning)
68007
- end
68008
-
68009
- # [Output Only] Informational warning message.
68010
- class Warning
68011
- include Google::Apis::Core::Hashable
68012
-
68013
- # [Output Only] A warning code, if applicable. For example, Compute Engine
68014
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
68015
- # Corresponds to the JSON property `code`
68016
- # @return [String]
68017
- attr_accessor :code
68018
-
68019
- # [Output Only] Metadata about this warning in key: value format. For example: "
68020
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
68021
- # Corresponds to the JSON property `data`
68022
- # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayList::Warning::Datum>]
68023
- attr_accessor :data
68024
-
68025
- # [Output Only] A human-readable description of the warning code.
68026
- # Corresponds to the JSON property `message`
68027
- # @return [String]
68028
- attr_accessor :message
68029
-
68030
- def initialize(**args)
68031
- update!(**args)
68032
- end
68033
-
68034
- # Update properties of this object
68035
- def update!(**args)
68036
- @code = args[:code] if args.key?(:code)
68037
- @data = args[:data] if args.key?(:data)
68038
- @message = args[:message] if args.key?(:message)
68039
- end
68040
-
68041
- #
68042
- class Datum
68043
- include Google::Apis::Core::Hashable
68044
-
68045
- # [Output Only] A key that provides more detail on the warning being returned.
68046
- # For example, for warnings where there are no results in a list request for a
68047
- # particular zone, this key might be scope and the key value might be the zone
68048
- # name. Other examples might be a key indicating a deprecated resource and a
68049
- # suggested replacement, or a warning about invalid network settings (for
68050
- # example, if an instance attempts to perform IP forwarding but is not enabled
68051
- # for IP forwarding).
68052
- # Corresponds to the JSON property `key`
68053
- # @return [String]
68054
- attr_accessor :key
68055
-
68056
- # [Output Only] A warning data value corresponding to the key.
68057
- # Corresponds to the JSON property `value`
68058
- # @return [String]
68059
- attr_accessor :value
68060
-
68061
- def initialize(**args)
68062
- update!(**args)
68063
- end
68064
-
68065
- # Update properties of this object
68066
- def update!(**args)
68067
- @key = args[:key] if args.key?(:key)
68068
- @value = args[:value] if args.key?(:value)
68069
- end
68070
- end
69384
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
68071
69385
  end
68072
69386
  end
68073
69387
 
@@ -68437,6 +69751,12 @@ module Google
68437
69751
  # @return [String]
68438
69752
  attr_accessor :name
68439
69753
 
69754
+ # Input only. [Input Only] Additional params passed with the request, but not
69755
+ # persisted as part of resource payload.
69756
+ # Corresponds to the JSON property `params`
69757
+ # @return [Google::Apis::ComputeAlpha::VpnTunnelParams]
69758
+ attr_accessor :params
69759
+
68440
69760
  # URL of the peer side external VPN gateway to which this VPN tunnel is
68441
69761
  # connected. Provided by the client when the VPN tunnel is created. This field
68442
69762
  # is exclusive with the field peerGcpGateway.
@@ -68563,6 +69883,7 @@ module Google
68563
69883
  @labels = args[:labels] if args.key?(:labels)
68564
69884
  @local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
68565
69885
  @name = args[:name] if args.key?(:name)
69886
+ @params = args[:params] if args.key?(:params)
68566
69887
  @peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway)
68567
69888
  @peer_external_gateway_interface = args[:peer_external_gateway_interface] if args.key?(:peer_external_gateway_interface)
68568
69889
  @peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway)
@@ -68845,6 +70166,33 @@ module Google
68845
70166
  end
68846
70167
  end
68847
70168
 
70169
+ #
70170
+ class VpnTunnelParams
70171
+ include Google::Apis::Core::Hashable
70172
+
70173
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
70174
+ # same definition as resource manager tags. The field is allowed for INSERT only.
70175
+ # The keys/values to set on the resource should be specified in either ID ` : `
70176
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
70177
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
70178
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
70179
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
70180
+ # "tagValues/444"` is invalid. * Inconsistent format is not supported. For
70181
+ # instance: `"tagKeys/333" : "tagValues/444", "123/env" : "prod"` is invalid.
70182
+ # Corresponds to the JSON property `resourceManagerTags`
70183
+ # @return [Hash<String,String>]
70184
+ attr_accessor :resource_manager_tags
70185
+
70186
+ def initialize(**args)
70187
+ update!(**args)
70188
+ end
70189
+
70190
+ # Update properties of this object
70191
+ def update!(**args)
70192
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
70193
+ end
70194
+ end
70195
+
68848
70196
  #
68849
70197
  class VpnTunnelPhase1Algorithms
68850
70198
  include Google::Apis::Core::Hashable