google-apis-compute_alpha 0.116.0 → 0.118.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.
@@ -1368,6 +1368,11 @@ module Google
1368
1368
  # @return [Google::Apis::ComputeAlpha::AllocationResourceStatusAggregateAllocation]
1369
1369
  attr_accessor :aggregate_allocation
1370
1370
 
1371
+ # Health information for the reservation.
1372
+ # Corresponds to the JSON property `healthInfo`
1373
+ # @return [Google::Apis::ComputeAlpha::AllocationResourceStatusHealthInfo]
1374
+ attr_accessor :health_info
1375
+
1371
1376
  # The number of reservation blocks associated with this reservation.
1372
1377
  # Corresponds to the JSON property `reservationBlockCount`
1373
1378
  # @return [Fixnum]
@@ -1390,6 +1395,7 @@ module Google
1390
1395
  # Update properties of this object
1391
1396
  def update!(**args)
1392
1397
  @aggregate_allocation = args[:aggregate_allocation] if args.key?(:aggregate_allocation)
1398
+ @health_info = args[:health_info] if args.key?(:health_info)
1393
1399
  @reservation_block_count = args[:reservation_block_count] if args.key?(:reservation_block_count)
1394
1400
  @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
1395
1401
  @specific_sku_allocation = args[:specific_sku_allocation] if args.key?(:specific_sku_allocation)
@@ -1416,6 +1422,37 @@ module Google
1416
1422
  end
1417
1423
  end
1418
1424
 
1425
+ # Health information for the reservation.
1426
+ class AllocationResourceStatusHealthInfo
1427
+ include Google::Apis::Core::Hashable
1428
+
1429
+ # The number of reservation blocks that are degraded.
1430
+ # Corresponds to the JSON property `degradedBlockCount`
1431
+ # @return [Fixnum]
1432
+ attr_accessor :degraded_block_count
1433
+
1434
+ # The health status of the reservation.
1435
+ # Corresponds to the JSON property `healthStatus`
1436
+ # @return [String]
1437
+ attr_accessor :health_status
1438
+
1439
+ # The number of reservation blocks that are healthy.
1440
+ # Corresponds to the JSON property `healthyBlockCount`
1441
+ # @return [Fixnum]
1442
+ attr_accessor :healthy_block_count
1443
+
1444
+ def initialize(**args)
1445
+ update!(**args)
1446
+ end
1447
+
1448
+ # Update properties of this object
1449
+ def update!(**args)
1450
+ @degraded_block_count = args[:degraded_block_count] if args.key?(:degraded_block_count)
1451
+ @health_status = args[:health_status] if args.key?(:health_status)
1452
+ @healthy_block_count = args[:healthy_block_count] if args.key?(:healthy_block_count)
1453
+ end
1454
+ end
1455
+
1419
1456
  # Contains Properties set for the reservation.
1420
1457
  class AllocationResourceStatusSpecificSkuAllocation
1421
1458
  include Google::Apis::Core::Hashable
@@ -3265,6 +3302,11 @@ module Google
3265
3302
  # @return [String]
3266
3303
  attr_accessor :name
3267
3304
 
3305
+ # Additional Backend Bucket parameters.
3306
+ # Corresponds to the JSON property `params`
3307
+ # @return [Google::Apis::ComputeAlpha::BackendBucketParams]
3308
+ attr_accessor :params
3309
+
3268
3310
  # [Output Only] URL of the region where the regional backend bucket resides.
3269
3311
  # This field is not applicable to global backend buckets. You must specify this
3270
3312
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -3306,6 +3348,7 @@ module Google
3306
3348
  @kind = args[:kind] if args.key?(:kind)
3307
3349
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3308
3350
  @name = args[:name] if args.key?(:name)
3351
+ @params = args[:params] if args.key?(:params)
3309
3352
  @region = args[:region] if args.key?(:region)
3310
3353
  @self_link = args[:self_link] if args.key?(:self_link)
3311
3354
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -3783,6 +3826,32 @@ module Google
3783
3826
  end
3784
3827
  end
3785
3828
 
3829
+ # Additional Backend Bucket parameters.
3830
+ class BackendBucketParams
3831
+ include Google::Apis::Core::Hashable
3832
+
3833
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
3834
+ # same definition as resource manager tags. The field is allowed for INSERT only.
3835
+ # The keys/values to set on the resource should be specified in either ID ` : `
3836
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
3837
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
3838
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
3839
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
3840
+ # "tagValues/444"` is invalid.
3841
+ # Corresponds to the JSON property `resourceManagerTags`
3842
+ # @return [Hash<String,String>]
3843
+ attr_accessor :resource_manager_tags
3844
+
3845
+ def initialize(**args)
3846
+ update!(**args)
3847
+ end
3848
+
3849
+ # Update properties of this object
3850
+ def update!(**args)
3851
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
3852
+ end
3853
+ end
3854
+
3786
3855
  #
3787
3856
  class BackendBucketUsedBy
3788
3857
  include Google::Apis::Core::Hashable
@@ -3820,7 +3889,7 @@ module Google
3820
3889
  attr_accessor :max_utilization
3821
3890
 
3822
3891
  # Name of a custom utilization signal. The name must be 1-64 characters long and
3823
- # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
3892
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the
3824
3893
  # first character must be a lowercase letter, and all following characters must
3825
3894
  # be a dash, period, underscore, lowercase letter, or digit, except the last
3826
3895
  # character, which cannot be a dash, period, or underscore. For usage guidelines,
@@ -3868,6 +3937,13 @@ module Google
3868
3937
  # @return [Fixnum]
3869
3938
  attr_accessor :affinity_cookie_ttl_sec
3870
3939
 
3940
+ # A boolean flag enabling multi-network mesh. This field is only allowed with
3941
+ # load balancing scheme set to INTERNAL_SELF_MANAGED.
3942
+ # Corresponds to the JSON property `allowMultinetwork`
3943
+ # @return [Boolean]
3944
+ attr_accessor :allow_multinetwork
3945
+ alias_method :allow_multinetwork?, :allow_multinetwork
3946
+
3871
3947
  # The list of backends that serve this BackendService.
3872
3948
  # Corresponds to the JSON property `backends`
3873
3949
  # @return [Array<Google::Apis::ComputeAlpha::Backend>]
@@ -4108,11 +4184,16 @@ module Google
4108
4184
  # was redirected to the load balancer. - MAGLEV: used as a drop in replacement
4109
4185
  # for the ring hash load balancer. Maglev is not as stable as ring hash but has
4110
4186
  # faster table lookup build times and host selection times. For more information
4111
- # about Maglev, see https://ai.google/research/pubs/pub44824 This field is
4112
- # applicable to either: - A regional backend service with the service_protocol
4113
- # set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to
4114
- # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
4115
- # set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
4187
+ # about Maglev, see https://ai.google/research/pubs/pub44824 -
4188
+ # WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin Load Balancing using
4189
+ # weights computed from Backend reported Custom Metrics. If set, the Backend
4190
+ # Service responses are expected to contain non-standard HTTP response header
4191
+ # field Endpoint-Load-Metrics. The reported metrics to use for computing the
4192
+ # weights are specified via the customMetrics field. This field is applicable to
4193
+ # either: - A regional backend service with the service_protocol set to HTTP,
4194
+ # HTTPS, HTTP2 or H2C, and load_balancing_scheme set to INTERNAL_MANAGED. - A
4195
+ # global backend service with the load_balancing_scheme set to
4196
+ # INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If
4116
4197
  # sessionAffinity is not configured—that is, if session affinity remains at the
4117
4198
  # default value of NONE—then the default value for localityLbPolicy is
4118
4199
  # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
@@ -4176,6 +4257,11 @@ module Google
4176
4257
  # @return [Google::Apis::ComputeAlpha::OutlierDetection]
4177
4258
  attr_accessor :outlier_detection
4178
4259
 
4260
+ # Additional Backend Service parameters.
4261
+ # Corresponds to the JSON property `params`
4262
+ # @return [Google::Apis::ComputeAlpha::BackendServiceParams]
4263
+ attr_accessor :params
4264
+
4179
4265
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
4180
4266
  # default value is 80. For internal passthrough Network Load Balancers and
4181
4267
  # external passthrough Network Load Balancers, omit port.
@@ -4309,6 +4395,7 @@ module Google
4309
4395
  # Update properties of this object
4310
4396
  def update!(**args)
4311
4397
  @affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
4398
+ @allow_multinetwork = args[:allow_multinetwork] if args.key?(:allow_multinetwork)
4312
4399
  @backends = args[:backends] if args.key?(:backends)
4313
4400
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
4314
4401
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
@@ -4344,6 +4431,7 @@ module Google
4344
4431
  @network = args[:network] if args.key?(:network)
4345
4432
  @network_pass_through_lb_traffic_policy = args[:network_pass_through_lb_traffic_policy] if args.key?(:network_pass_through_lb_traffic_policy)
4346
4433
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
4434
+ @params = args[:params] if args.key?(:params)
4347
4435
  @port = args[:port] if args.key?(:port)
4348
4436
  @port_name = args[:port_name] if args.key?(:port_name)
4349
4437
  @protocol = args[:protocol] if args.key?(:protocol)
@@ -4773,7 +4861,7 @@ module Google
4773
4861
  alias_method :dry_run?, :dry_run
4774
4862
 
4775
4863
  # Name of a custom utilization signal. The name must be 1-64 characters long and
4776
- # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
4864
+ # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means that the
4777
4865
  # first character must be a lowercase letter, and all following characters must
4778
4866
  # be a dash, period, underscore, lowercase letter, or digit, except the last
4779
4867
  # character, which cannot be a dash, period, or underscore. For usage guidelines,
@@ -5611,6 +5699,32 @@ module Google
5611
5699
  end
5612
5700
  end
5613
5701
 
5702
+ # Additional Backend Service parameters.
5703
+ class BackendServiceParams
5704
+ include Google::Apis::Core::Hashable
5705
+
5706
+ # Tag keys/values directly bound to this resource. Tag keys and values have the
5707
+ # same definition as resource manager tags. The field is allowed for INSERT only.
5708
+ # The keys/values to set on the resource should be specified in either ID ` : `
5709
+ # or Namespaced format ` : `. For example the following are valid inputs: * `"
5710
+ # tagKeys/333" : "tagValues/444", "tagKeys/123" : "tagValues/456"` * `"123/
5711
+ # environment" : "production", "345/abc" : "xyz"` Note: * Invalid combinations
5712
+ # of ID & namespaced format is not supported. For instance: `"123/environment" :
5713
+ # "tagValues/444"` is invalid.
5714
+ # Corresponds to the JSON property `resourceManagerTags`
5715
+ # @return [Hash<String,String>]
5716
+ attr_accessor :resource_manager_tags
5717
+
5718
+ def initialize(**args)
5719
+ update!(**args)
5720
+ end
5721
+
5722
+ # Update properties of this object
5723
+ def update!(**args)
5724
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
5725
+ end
5726
+ end
5727
+
5614
5728
  #
5615
5729
  class BackendServiceReference
5616
5730
  include Google::Apis::Core::Hashable
@@ -6162,6 +6276,13 @@ module Google
6162
6276
  # @return [Array<Fixnum>]
6163
6277
  attr_accessor :asns
6164
6278
 
6279
+ # [Output only] ASNs in the path segment. This field is for better support of 32
6280
+ # bit ASNs as the other asns field suffers from overflow when the ASN is larger.
6281
+ # When type is SEQUENCE, these are ordered.
6282
+ # Corresponds to the JSON property `asns32`
6283
+ # @return [Array<Fixnum>]
6284
+ attr_accessor :asns32
6285
+
6165
6286
  # [Output only] Type of AS-PATH segment (SEQUENCE or SET)
6166
6287
  # Corresponds to the JSON property `type`
6167
6288
  # @return [String]
@@ -6174,6 +6295,7 @@ module Google
6174
6295
  # Update properties of this object
6175
6296
  def update!(**args)
6176
6297
  @asns = args[:asns] if args.key?(:asns)
6298
+ @asns32 = args[:asns32] if args.key?(:asns32)
6177
6299
  @type = args[:type] if args.key?(:type)
6178
6300
  end
6179
6301
  end
@@ -8174,9 +8296,9 @@ module Google
8174
8296
  include Google::Apis::Core::Hashable
8175
8297
 
8176
8298
  # A list of CompositeHealthChecks contained in this scope.
8177
- # Corresponds to the JSON property `resources`
8299
+ # Corresponds to the JSON property `compositeHealthChecks`
8178
8300
  # @return [Array<Google::Apis::ComputeAlpha::CompositeHealthCheck>]
8179
- attr_accessor :resources
8301
+ attr_accessor :composite_health_checks
8180
8302
 
8181
8303
  # Informational warning which replaces the list of composite health checks when
8182
8304
  # the list is empty.
@@ -8190,7 +8312,7 @@ module Google
8190
8312
 
8191
8313
  # Update properties of this object
8192
8314
  def update!(**args)
8193
- @resources = args[:resources] if args.key?(:resources)
8315
+ @composite_health_checks = args[:composite_health_checks] if args.key?(:composite_health_checks)
8194
8316
  @warning = args[:warning] if args.key?(:warning)
8195
8317
  end
8196
8318
 
@@ -12809,7 +12931,8 @@ module Google
12809
12931
  # allowed to inject packets into the consumer's network. If set to true, the
12810
12932
  # target service attachment must have tunneling enabled and TunnelingConfig.
12811
12933
  # RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use
12812
- # this field.
12934
+ # this field. This field was never released to any customers and is deprecated
12935
+ # and will be removed in the future.
12813
12936
  # Corresponds to the JSON property `allowPscPacketInjection`
12814
12937
  # @return [Boolean]
12815
12938
  attr_accessor :allow_psc_packet_injection
@@ -13129,6 +13252,13 @@ module Google
13129
13252
  # @return [String]
13130
13253
  attr_accessor :target
13131
13254
 
13255
+ # [PSC for VPC-hosted services only] Determines if clients are allowed to access
13256
+ # the producer service via this PSC endpoint.
13257
+ # Corresponds to the JSON property `trafficDisabled`
13258
+ # @return [Boolean]
13259
+ attr_accessor :traffic_disabled
13260
+ alias_method :traffic_disabled?, :traffic_disabled
13261
+
13132
13262
  def initialize(**args)
13133
13263
  update!(**args)
13134
13264
  end
@@ -13174,6 +13304,7 @@ module Google
13174
13304
  @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
13175
13305
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
13176
13306
  @target = args[:target] if args.key?(:target)
13307
+ @traffic_disabled = args[:traffic_disabled] if args.key?(:traffic_disabled)
13177
13308
  end
13178
13309
  end
13179
13310
 
@@ -15571,6 +15702,25 @@ module Google
15571
15702
  end
15572
15703
  end
15573
15704
 
15705
+ #
15706
+ class HaControllersFailoverRequest
15707
+ include Google::Apis::Core::Hashable
15708
+
15709
+ # Name of the destination zone for the failover.
15710
+ # Corresponds to the JSON property `primaryZone`
15711
+ # @return [String]
15712
+ attr_accessor :primary_zone
15713
+
15714
+ def initialize(**args)
15715
+ update!(**args)
15716
+ end
15717
+
15718
+ # Update properties of this object
15719
+ def update!(**args)
15720
+ @primary_zone = args[:primary_zone] if args.key?(:primary_zone)
15721
+ end
15722
+ end
15723
+
15574
15724
  # Represents a health aggregation policy. A health aggregation policy resource
15575
15725
  # defines a policy to aggregate health. For more information, see Health checks
15576
15726
  # overview.
@@ -17263,9 +17413,9 @@ module Google
17263
17413
  include Google::Apis::Core::Hashable
17264
17414
 
17265
17415
  # A list of HealthSources contained in this scope.
17266
- # Corresponds to the JSON property `resources`
17416
+ # Corresponds to the JSON property `healthSources`
17267
17417
  # @return [Array<Google::Apis::ComputeAlpha::HealthSource>]
17268
- attr_accessor :resources
17418
+ attr_accessor :health_sources
17269
17419
 
17270
17420
  # Informational warning which replaces the list of health sources when the list
17271
17421
  # is empty.
@@ -17279,7 +17429,7 @@ module Google
17279
17429
 
17280
17430
  # Update properties of this object
17281
17431
  def update!(**args)
17282
- @resources = args[:resources] if args.key?(:resources)
17432
+ @health_sources = args[:health_sources] if args.key?(:health_sources)
17283
17433
  @warning = args[:warning] if args.key?(:warning)
17284
17434
  end
17285
17435
 
@@ -20014,6 +20164,12 @@ module Google
20014
20164
  class InstanceFlexibilityPolicyInstanceSelection
20015
20165
  include Google::Apis::Core::Hashable
20016
20166
 
20167
+ # Disks to be attached to the instances created from in this selection. They
20168
+ # override the disks specified in the instance properties.
20169
+ # Corresponds to the JSON property `disks`
20170
+ # @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
20171
+ attr_accessor :disks
20172
+
20017
20173
  # Alternative machine types to use for instances that are created from these
20018
20174
  # properties. This field only accepts a machine type names, for example `n2-
20019
20175
  # standard-4` and not URLs or partial URLs.
@@ -20034,6 +20190,7 @@ module Google
20034
20190
 
20035
20191
  # Update properties of this object
20036
20192
  def update!(**args)
20193
+ @disks = args[:disks] if args.key?(:disks)
20037
20194
  @machine_types = args[:machine_types] if args.key?(:machine_types)
20038
20195
  @rank = args[:rank] if args.key?(:rank)
20039
20196
  end
@@ -33252,11 +33409,6 @@ module Google
33252
33409
  # @return [String]
33253
33410
  attr_accessor :self_link
33254
33411
 
33255
- # [Output only] Server-defined URL for this resource with the resource id.
33256
- # Corresponds to the JSON property `selfLinkWithId`
33257
- # @return [String]
33258
- attr_accessor :self_link_with_id
33259
-
33260
33412
  #
33261
33413
  # Corresponds to the JSON property `status`
33262
33414
  # @return [Google::Apis::ComputeAlpha::MultiMigStatus]
@@ -33276,7 +33428,6 @@ module Google
33276
33428
  @region = args[:region] if args.key?(:region)
33277
33429
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33278
33430
  @self_link = args[:self_link] if args.key?(:self_link)
33279
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33280
33431
  @status = args[:status] if args.key?(:status)
33281
33432
  end
33282
33433
  end
@@ -33291,11 +33442,6 @@ module Google
33291
33442
  # @return [String]
33292
33443
  attr_accessor :creation_timestamp
33293
33444
 
33294
- # An optional description of this resource.
33295
- # Corresponds to the JSON property `description`
33296
- # @return [String]
33297
- attr_accessor :description
33298
-
33299
33445
  # [Output only] The unique identifier for this resource type. The server
33300
33446
  # generates this identifier.
33301
33447
  # Corresponds to the JSON property `id`
@@ -33324,11 +33470,6 @@ module Google
33324
33470
  # @return [String]
33325
33471
  attr_accessor :self_link
33326
33472
 
33327
- # [Output Only] Server-defined URL for this resource with the resource id.
33328
- # Corresponds to the JSON property `selfLinkWithId`
33329
- # @return [String]
33330
- attr_accessor :self_link_with_id
33331
-
33332
33473
  # [Output Only] The status of this multi-MIG member
33333
33474
  # Corresponds to the JSON property `status`
33334
33475
  # @return [Google::Apis::ComputeAlpha::MultiMigMemberStatus]
@@ -33341,13 +33482,11 @@ module Google
33341
33482
  # Update properties of this object
33342
33483
  def update!(**args)
33343
33484
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33344
- @description = args[:description] if args.key?(:description)
33345
33485
  @id = args[:id] if args.key?(:id)
33346
33486
  @kind = args[:kind] if args.key?(:kind)
33347
33487
  @name = args[:name] if args.key?(:name)
33348
33488
  @region = args[:region] if args.key?(:region)
33349
33489
  @self_link = args[:self_link] if args.key?(:self_link)
33350
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33351
33490
  @status = args[:status] if args.key?(:status)
33352
33491
  end
33353
33492
  end
@@ -33543,11 +33682,6 @@ module Google
33543
33682
  class MultiMigsList
33544
33683
  include Google::Apis::Core::Hashable
33545
33684
 
33546
- #
33547
- # Corresponds to the JSON property `etag`
33548
- # @return [String]
33549
- attr_accessor :etag
33550
-
33551
33685
  # Unique identifier for the resource; defined by the server.
33552
33686
  # Corresponds to the JSON property `id`
33553
33687
  # @return [String]
@@ -33576,11 +33710,6 @@ module Google
33576
33710
  # @return [String]
33577
33711
  attr_accessor :self_link
33578
33712
 
33579
- # [Output only] Unreachable resources.
33580
- # Corresponds to the JSON property `unreachables`
33581
- # @return [Array<String>]
33582
- attr_accessor :unreachables
33583
-
33584
33713
  # Informational warning message.
33585
33714
  # Corresponds to the JSON property `warning`
33586
33715
  # @return [Google::Apis::ComputeAlpha::MultiMigsList::Warning]
@@ -33592,13 +33721,11 @@ module Google
33592
33721
 
33593
33722
  # Update properties of this object
33594
33723
  def update!(**args)
33595
- @etag = args[:etag] if args.key?(:etag)
33596
33724
  @id = args[:id] if args.key?(:id)
33597
33725
  @items = args[:items] if args.key?(:items)
33598
33726
  @kind = args[:kind] if args.key?(:kind)
33599
33727
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33600
33728
  @self_link = args[:self_link] if args.key?(:self_link)
33601
- @unreachables = args[:unreachables] if args.key?(:unreachables)
33602
33729
  @warning = args[:warning] if args.key?(:warning)
33603
33730
  end
33604
33731
 
@@ -42044,16 +42171,11 @@ module Google
42044
42171
  class PreviewFeatureRolloutOperation
42045
42172
  include Google::Apis::Core::Hashable
42046
42173
 
42047
- #
42174
+ # Represents the input for the rollout operation.
42048
42175
  # Corresponds to the JSON property `rolloutInput`
42049
42176
  # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutInput]
42050
42177
  attr_accessor :rollout_input
42051
42178
 
42052
- #
42053
- # Corresponds to the JSON property `rolloutStatus`
42054
- # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatus]
42055
- attr_accessor :rollout_status
42056
-
42057
42179
  def initialize(**args)
42058
42180
  update!(**args)
42059
42181
  end
@@ -42061,11 +42183,10 @@ module Google
42061
42183
  # Update properties of this object
42062
42184
  def update!(**args)
42063
42185
  @rollout_input = args[:rollout_input] if args.key?(:rollout_input)
42064
- @rollout_status = args[:rollout_status] if args.key?(:rollout_status)
42065
42186
  end
42066
42187
  end
42067
42188
 
42068
- #
42189
+ # Represents the input for the rollout operation.
42069
42190
  class PreviewFeatureRolloutOperationRolloutInput
42070
42191
  include Google::Apis::Core::Hashable
42071
42192
 
@@ -42081,13 +42202,6 @@ module Google
42081
42202
  # @return [String]
42082
42203
  attr_accessor :predefined_rollout_plan
42083
42204
 
42084
- # The UUID of the retry action. Only needed if this is a retry for an existing
42085
- # rollout. This can be used after the user canceled a rollout and want to retry
42086
- # it with no changes.
42087
- # Corresponds to the JSON property `retryUuid`
42088
- # @return [String]
42089
- attr_accessor :retry_uuid
42090
-
42091
42205
  def initialize(**args)
42092
42206
  update!(**args)
42093
42207
  end
@@ -42096,68 +42210,6 @@ module Google
42096
42210
  def update!(**args)
42097
42211
  @name = args[:name] if args.key?(:name)
42098
42212
  @predefined_rollout_plan = args[:predefined_rollout_plan] if args.key?(:predefined_rollout_plan)
42099
- @retry_uuid = args[:retry_uuid] if args.key?(:retry_uuid)
42100
- end
42101
- end
42102
-
42103
- #
42104
- class PreviewFeatureRolloutOperationRolloutStatus
42105
- include Google::Apis::Core::Hashable
42106
-
42107
- # Output only. The ongoing rollout resources. There can be multiple ongoing
42108
- # rollouts for a resource.
42109
- # Corresponds to the JSON property `ongoingRollouts`
42110
- # @return [Array<Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata>]
42111
- attr_accessor :ongoing_rollouts
42112
-
42113
- # Output only. The last completed rollout resource. This field will not be
42114
- # populated until the first rollout is completed.
42115
- # Corresponds to the JSON property `previousRollout`
42116
- # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata]
42117
- attr_accessor :previous_rollout
42118
-
42119
- def initialize(**args)
42120
- update!(**args)
42121
- end
42122
-
42123
- # Update properties of this object
42124
- def update!(**args)
42125
- @ongoing_rollouts = args[:ongoing_rollouts] if args.key?(:ongoing_rollouts)
42126
- @previous_rollout = args[:previous_rollout] if args.key?(:previous_rollout)
42127
- end
42128
- end
42129
-
42130
- #
42131
- class PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata
42132
- include Google::Apis::Core::Hashable
42133
-
42134
- # The name of the rollout Ex. organizations//locations/global/rollouts/ Ex.
42135
- # folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/.
42136
- # Corresponds to the JSON property `rollout`
42137
- # @return [String]
42138
- attr_accessor :rollout
42139
-
42140
- # The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/
42141
- # Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/
42142
- # rolloutPlans/.
42143
- # Corresponds to the JSON property `rolloutPlan`
42144
- # @return [String]
42145
- attr_accessor :rollout_plan
42146
-
42147
- # [Output Only] The status of the feature.
42148
- # Corresponds to the JSON property `status`
42149
- # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatus]
42150
- attr_accessor :status
42151
-
42152
- def initialize(**args)
42153
- update!(**args)
42154
- end
42155
-
42156
- # Update properties of this object
42157
- def update!(**args)
42158
- @rollout = args[:rollout] if args.key?(:rollout)
42159
- @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
42160
- @status = args[:status] if args.key?(:status)
42161
42213
  end
42162
42214
  end
42163
42215
 
@@ -42175,7 +42227,7 @@ module Google
42175
42227
  # @return [String]
42176
42228
  attr_accessor :help_link
42177
42229
 
42178
- #
42230
+ # [Output Only] The release status of the feature.
42179
42231
  # Corresponds to the JSON property `releaseStatus`
42180
42232
  # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatusReleaseStatus]
42181
42233
  attr_accessor :release_status
@@ -42192,7 +42244,7 @@ module Google
42192
42244
  end
42193
42245
  end
42194
42246
 
42195
- #
42247
+ # [Output Only] The release status of the feature.
42196
42248
  class PreviewFeatureStatusReleaseStatus
42197
42249
  include Google::Apis::Core::Hashable
42198
42250
 
@@ -43008,6 +43060,24 @@ module Google
43008
43060
  # @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
43009
43061
  attr_accessor :public_delegated_sub_prefixs
43010
43062
 
43063
+ # The purpose of the public delegated prefix. This field can only be set for the
43064
+ # top-level global public delegated prefix. It is an output-only field for the
43065
+ # sub-delegates that inherit the value from the top-level global public
43066
+ # delegated prefix. Once the value is set, it cannot be changed. The field
43067
+ # cannot be set for regional public delegated prefixes. The supported values are:
43068
+ # - APPLICATION_AND_PROXY_LOAD_BALANCERS: The global public delegated prefix
43069
+ # can only be used by Global External Application and Proxy Load Balancers to
43070
+ # allocate addresses for forwarding rules. This is the default value. -
43071
+ # PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0: The global public delegated
43072
+ # prefix can only be used by Global External Passthrough Network Load Balancers
43073
+ # to allocate Availability Group 0 addresses for forwarding rules. -
43074
+ # PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1: The global public delegated
43075
+ # prefix can only be used by Global External Passthrough Network Load Balancers
43076
+ # to allocate Availability Group 1 addresses for forwarding rules.
43077
+ # Corresponds to the JSON property `purpose`
43078
+ # @return [String]
43079
+ attr_accessor :purpose
43080
+
43011
43081
  # [Output Only] URL of the region where the public delegated prefix resides.
43012
43082
  # This field applies only to the region resource. You must specify this field as
43013
43083
  # part of the HTTP request URL. It is not settable as a field in the request
@@ -43056,6 +43126,7 @@ module Google
43056
43126
  @name = args[:name] if args.key?(:name)
43057
43127
  @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
43058
43128
  @public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
43129
+ @purpose = args[:purpose] if args.key?(:purpose)
43059
43130
  @region = args[:region] if args.key?(:region)
43060
43131
  @self_link = args[:self_link] if args.key?(:self_link)
43061
43132
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -43355,6 +43426,12 @@ module Google
43355
43426
  # @return [String]
43356
43427
  attr_accessor :name
43357
43428
 
43429
+ # [Output Only] The purpose of the sub public delegated prefix. Inherited from
43430
+ # parent prefix.
43431
+ # Corresponds to the JSON property `purpose`
43432
+ # @return [String]
43433
+ attr_accessor :purpose
43434
+
43358
43435
  # [Output Only] The region of the sub public delegated prefix if it is regional.
43359
43436
  # If absent, the sub prefix is global.
43360
43437
  # Corresponds to the JSON property `region`
@@ -43380,6 +43457,7 @@ module Google
43380
43457
  @is_address = args[:is_address] if args.key?(:is_address)
43381
43458
  @mode = args[:mode] if args.key?(:mode)
43382
43459
  @name = args[:name] if args.key?(:name)
43460
+ @purpose = args[:purpose] if args.key?(:purpose)
43383
43461
  @region = args[:region] if args.key?(:region)
43384
43462
  @status = args[:status] if args.key?(:status)
43385
43463
  end
@@ -47349,6 +47427,12 @@ module Google
47349
47427
  class Reservation
47350
47428
  include Google::Apis::Core::Hashable
47351
47429
 
47430
+ # Advance control for cluster management, applicable only to DENSE deployment
47431
+ # type reservations.
47432
+ # Corresponds to the JSON property `advancedDeploymentControl`
47433
+ # @return [Google::Apis::ComputeAlpha::ReservationAdvancedDeploymentControl]
47434
+ attr_accessor :advanced_deployment_control
47435
+
47352
47436
  # This reservation type is specified by total resource amounts (e.g. total count
47353
47437
  # of CPUs) and can account for multiple instance SKUs. In other words, one can
47354
47438
  # create instances of varying shapes against this reservation.
@@ -47517,6 +47601,7 @@ module Google
47517
47601
 
47518
47602
  # Update properties of this object
47519
47603
  def update!(**args)
47604
+ @advanced_deployment_control = args[:advanced_deployment_control] if args.key?(:advanced_deployment_control)
47520
47605
  @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
47521
47606
  @commitment = args[:commitment] if args.key?(:commitment)
47522
47607
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -47546,6 +47631,26 @@ module Google
47546
47631
  end
47547
47632
  end
47548
47633
 
47634
+ # Advance control for cluster management, applicable only to DENSE deployment
47635
+ # type reservations.
47636
+ class ReservationAdvancedDeploymentControl
47637
+ include Google::Apis::Core::Hashable
47638
+
47639
+ # Indicates chosen reservation operational mode for the reservation.
47640
+ # Corresponds to the JSON property `reservationOperationalMode`
47641
+ # @return [String]
47642
+ attr_accessor :reservation_operational_mode
47643
+
47644
+ def initialize(**args)
47645
+ update!(**args)
47646
+ end
47647
+
47648
+ # Update properties of this object
47649
+ def update!(**args)
47650
+ @reservation_operational_mode = args[:reservation_operational_mode] if args.key?(:reservation_operational_mode)
47651
+ end
47652
+ end
47653
+
47549
47654
  # Specifies the reservations that this instance can consume from.
47550
47655
  class ReservationAffinity
47551
47656
  include Google::Apis::Core::Hashable
@@ -47722,6 +47827,11 @@ module Google
47722
47827
  # @return [String]
47723
47828
  attr_accessor :creation_timestamp
47724
47829
 
47830
+ # Health information for the reservation block.
47831
+ # Corresponds to the JSON property `healthInfo`
47832
+ # @return [Google::Apis::ComputeAlpha::ReservationBlockHealthInfo]
47833
+ attr_accessor :health_info
47834
+
47725
47835
  # [Output Only] The unique identifier for the resource. This identifier is
47726
47836
  # defined by the server.
47727
47837
  # Corresponds to the JSON property `id`
@@ -47806,6 +47916,7 @@ module Google
47806
47916
  def update!(**args)
47807
47917
  @count = args[:count] if args.key?(:count)
47808
47918
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
47919
+ @health_info = args[:health_info] if args.key?(:health_info)
47809
47920
  @id = args[:id] if args.key?(:id)
47810
47921
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
47811
47922
  @kind = args[:kind] if args.key?(:kind)
@@ -47822,6 +47933,37 @@ module Google
47822
47933
  end
47823
47934
  end
47824
47935
 
47936
+ # Health information for the reservation block.
47937
+ class ReservationBlockHealthInfo
47938
+ include Google::Apis::Core::Hashable
47939
+
47940
+ # The number of subBlocks that are degraded.
47941
+ # Corresponds to the JSON property `degradedSubBlockCount`
47942
+ # @return [Fixnum]
47943
+ attr_accessor :degraded_sub_block_count
47944
+
47945
+ # The health status of the reservation block.
47946
+ # Corresponds to the JSON property `healthStatus`
47947
+ # @return [String]
47948
+ attr_accessor :health_status
47949
+
47950
+ # The number of subBlocks that are healthy.
47951
+ # Corresponds to the JSON property `healthySubBlockCount`
47952
+ # @return [Fixnum]
47953
+ attr_accessor :healthy_sub_block_count
47954
+
47955
+ def initialize(**args)
47956
+ update!(**args)
47957
+ end
47958
+
47959
+ # Update properties of this object
47960
+ def update!(**args)
47961
+ @degraded_sub_block_count = args[:degraded_sub_block_count] if args.key?(:degraded_sub_block_count)
47962
+ @health_status = args[:health_status] if args.key?(:health_status)
47963
+ @healthy_sub_block_count = args[:healthy_sub_block_count] if args.key?(:healthy_sub_block_count)
47964
+ end
47965
+ end
47966
+
47825
47967
  #
47826
47968
  class ReservationBlockPhysicalTopology
47827
47969
  include Google::Apis::Core::Hashable
@@ -48180,6 +48322,11 @@ module Google
48180
48322
  # @return [String]
48181
48323
  attr_accessor :creation_timestamp
48182
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
+
48183
48330
  # [Output Only] The unique identifier for the resource. This identifier is
48184
48331
  # defined by the server.
48185
48332
  # Corresponds to the JSON property `id`
@@ -48243,6 +48390,7 @@ module Google
48243
48390
  def update!(**args)
48244
48391
  @count = args[:count] if args.key?(:count)
48245
48392
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
48393
+ @health_info = args[:health_info] if args.key?(:health_info)
48246
48394
  @id = args[:id] if args.key?(:id)
48247
48395
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
48248
48396
  @kind = args[:kind] if args.key?(:kind)
@@ -48256,6 +48404,51 @@ module Google
48256
48404
  end
48257
48405
  end
48258
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
+
48259
48452
  #
48260
48453
  class ReservationSubBlockPhysicalTopology
48261
48454
  include Google::Apis::Core::Hashable
@@ -55517,7 +55710,9 @@ module Google
55517
55710
  # @return [String]
55518
55711
  attr_accessor :target
55519
55712
 
55520
- # Type of the redirect action.
55713
+ # Type of the redirect action. Possible values are: - GOOGLE_RECAPTCHA: redirect
55714
+ # to reCAPTCHA for manual challenge assessment. - EXTERNAL_302: redirect to a
55715
+ # different URL via a 302 response.
55521
55716
  # Corresponds to the JSON property `type`
55522
55717
  # @return [String]
55523
55718
  attr_accessor :type
@@ -55818,7 +56013,8 @@ module Google
55818
56013
  # service attachment. Each project or network has a connection limit. A given
55819
56014
  # service attachment can manage connections at either the project or network
55820
56015
  # level. Therefore, both the accept and reject lists for a given service
55821
- # attachment must contain either only projects or only networks.
56016
+ # attachment must contain either only projects or only networks or only
56017
+ # endpoints.
55822
56018
  # Corresponds to the JSON property `consumerAcceptLists`
55823
56019
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerProjectLimit>]
55824
56020
  attr_accessor :consumer_accept_lists
@@ -55882,6 +56078,11 @@ module Google
55882
56078
  # @return [String]
55883
56079
  attr_accessor :kind
55884
56080
 
56081
+ # Metadata of the service attachment.
56082
+ # Corresponds to the JSON property `metadata`
56083
+ # @return [Hash<String,String>]
56084
+ attr_accessor :metadata
56085
+
55885
56086
  # Name of the resource. Provided by the client when the resource is created. The
55886
56087
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
55887
56088
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -55979,6 +56180,7 @@ module Google
55979
56180
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
55980
56181
  @id = args[:id] if args.key?(:id)
55981
56182
  @kind = args[:kind] if args.key?(:kind)
56183
+ @metadata = args[:metadata] if args.key?(:metadata)
55982
56184
  @name = args[:name] if args.key?(:name)
55983
56185
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
55984
56186
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
@@ -56170,7 +56372,8 @@ module Google
56170
56372
  class ServiceAttachmentConsumerProjectLimit
56171
56373
  include Google::Apis::Core::Hashable
56172
56374
 
56173
- # The value of the limit to set.
56375
+ # The value of the limit to set. For endpoint_url, the limit should be no more
56376
+ # than 1.
56174
56377
  # Corresponds to the JSON property `connectionLimit`
56175
56378
  # @return [Fixnum]
56176
56379
  attr_accessor :connection_limit
@@ -59340,6 +59543,11 @@ module Google
59340
59543
  # @return [String]
59341
59544
  attr_accessor :description
59342
59545
 
59546
+ # Exapool provisioned capacities for each SKU type
59547
+ # Corresponds to the JSON property `exapoolProvisionedCapacityGb`
59548
+ # @return [Google::Apis::ComputeAlpha::StoragePoolExapoolProvisionedCapacityGb]
59549
+ attr_accessor :exapool_provisioned_capacity_gb
59550
+
59343
59551
  # [Output Only] The unique identifier for the resource. This identifier is
59344
59552
  # defined by the server.
59345
59553
  # Corresponds to the JSON property `id`
@@ -59386,7 +59594,7 @@ module Google
59386
59594
  # @return [String]
59387
59595
  attr_accessor :performance_provisioning_type
59388
59596
 
59389
- # Size, in GiB, of the storage pool. For more information about the size limits,
59597
+ # Size of the storage pool in GiB. For more information about the size limits,
59390
59598
  # see https://cloud.google.com/compute/docs/disks/storage-pools.
59391
59599
  # Corresponds to the JSON property `poolProvisionedCapacityGb`
59392
59600
  # @return [Fixnum]
@@ -59398,8 +59606,8 @@ module Google
59398
59606
  # @return [Fixnum]
59399
59607
  attr_accessor :pool_provisioned_iops
59400
59608
 
59401
- # Provisioned throughput of the storage pool. Only relevant if the storage pool
59402
- # type is hyperdisk-balanced or hyperdisk-throughput.
59609
+ # Provisioned throughput of the storage pool in MiB/s. Only relevant if the
59610
+ # storage pool type is hyperdisk-balanced or hyperdisk-throughput.
59403
59611
  # Corresponds to the JSON property `poolProvisionedThroughput`
59404
59612
  # @return [Fixnum]
59405
59613
  attr_accessor :pool_provisioned_throughput
@@ -59467,6 +59675,7 @@ module Google
59467
59675
  @capacity_provisioning_type = args[:capacity_provisioning_type] if args.key?(:capacity_provisioning_type)
59468
59676
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
59469
59677
  @description = args[:description] if args.key?(:description)
59678
+ @exapool_provisioned_capacity_gb = args[:exapool_provisioned_capacity_gb] if args.key?(:exapool_provisioned_capacity_gb)
59470
59679
  @id = args[:id] if args.key?(:id)
59471
59680
  @kind = args[:kind] if args.key?(:kind)
59472
59681
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -59699,6 +59908,37 @@ module Google
59699
59908
  end
59700
59909
  end
59701
59910
 
59911
+ # Exapool provisioned capacities for each SKU type
59912
+ class StoragePoolExapoolProvisionedCapacityGb
59913
+ include Google::Apis::Core::Hashable
59914
+
59915
+ # Size, in GiB, of provisioned capacity-optimized capacity for this Exapool
59916
+ # Corresponds to the JSON property `capacityOptimized`
59917
+ # @return [Fixnum]
59918
+ attr_accessor :capacity_optimized
59919
+
59920
+ # Size, in GiB, of provisioned read-optimized capacity for this Exapool
59921
+ # Corresponds to the JSON property `readOptimized`
59922
+ # @return [Fixnum]
59923
+ attr_accessor :read_optimized
59924
+
59925
+ # Size, in GiB, of provisioned write-optimized capacity for this Exapool
59926
+ # Corresponds to the JSON property `writeOptimized`
59927
+ # @return [Fixnum]
59928
+ attr_accessor :write_optimized
59929
+
59930
+ def initialize(**args)
59931
+ update!(**args)
59932
+ end
59933
+
59934
+ # Update properties of this object
59935
+ def update!(**args)
59936
+ @capacity_optimized = args[:capacity_optimized] if args.key?(:capacity_optimized)
59937
+ @read_optimized = args[:read_optimized] if args.key?(:read_optimized)
59938
+ @write_optimized = args[:write_optimized] if args.key?(:write_optimized)
59939
+ end
59940
+ end
59941
+
59702
59942
  # A list of StoragePool resources.
59703
59943
  class StoragePoolList
59704
59944
  include Google::Apis::Core::Hashable
@@ -59980,6 +60220,26 @@ module Google
59980
60220
  # @return [Fixnum]
59981
60221
  attr_accessor :disk_count
59982
60222
 
60223
+ # [Output Only] Maximum allowed read IOPS for this Exapool.
60224
+ # Corresponds to the JSON property `exapoolMaxReadIops`
60225
+ # @return [Fixnum]
60226
+ attr_accessor :exapool_max_read_iops
60227
+
60228
+ # [Output Only] Maximum allowed read throughput in MiB/s for this Exapool.
60229
+ # Corresponds to the JSON property `exapoolMaxReadThroughput`
60230
+ # @return [Fixnum]
60231
+ attr_accessor :exapool_max_read_throughput
60232
+
60233
+ # [Output Only] Maximum allowed write IOPS for this Exapool.
60234
+ # Corresponds to the JSON property `exapoolMaxWriteIops`
60235
+ # @return [Fixnum]
60236
+ attr_accessor :exapool_max_write_iops
60237
+
60238
+ # [Output Only] Maximum allowed write throughput in MiB/s for this Exapool.
60239
+ # Corresponds to the JSON property `exapoolMaxWriteThroughput`
60240
+ # @return [Fixnum]
60241
+ attr_accessor :exapool_max_write_throughput
60242
+
59983
60243
  # [Output Only] Timestamp of the last successful resize in RFC3339 text format.
59984
60244
  # Corresponds to the JSON property `lastResizeTimestamp`
59985
60245
  # @return [String]
@@ -59990,7 +60250,7 @@ module Google
59990
60250
  # @return [Fixnum]
59991
60251
  attr_accessor :max_aggregate_disk_size_gb
59992
60252
 
59993
- # [Output Only] Maximum allowed aggregate disk size in gigabytes.
60253
+ # [Output Only] Maximum allowed aggregate disk size in GiB.
59994
60254
  # Corresponds to the JSON property `maxTotalProvisionedDiskCapacityGb`
59995
60255
  # @return [Fixnum]
59996
60256
  attr_accessor :max_total_provisioned_disk_capacity_gb
@@ -60014,7 +60274,7 @@ module Google
60014
60274
  # @return [Fixnum]
60015
60275
  attr_accessor :pool_used_iops
60016
60276
 
60017
- # [Output Only] Sum of all the disks' provisioned throughput in MB/s.
60277
+ # [Output Only] Sum of all the disks' provisioned throughput in MiB/s.
60018
60278
  # Corresponds to the JSON property `poolUsedThroughput`
60019
60279
  # @return [Fixnum]
60020
60280
  attr_accessor :pool_used_throughput
@@ -60024,8 +60284,8 @@ module Google
60024
60284
  # @return [Fixnum]
60025
60285
  attr_accessor :pool_user_written_bytes
60026
60286
 
60027
- # [Output Only] Sum of all the capacity provisioned in disks in this storage
60028
- # pool. A disk's provisioned capacity is the same as its total capacity.
60287
+ # [Output Only] Sum of all the disks' provisioned capacity (in GiB) in this
60288
+ # storage pool. A disk's provisioned capacity is the same as its total capacity.
60029
60289
  # Corresponds to the JSON property `totalProvisionedDiskCapacityGb`
60030
60290
  # @return [Fixnum]
60031
60291
  attr_accessor :total_provisioned_disk_capacity_gb
@@ -60035,9 +60295,9 @@ module Google
60035
60295
  # @return [Fixnum]
60036
60296
  attr_accessor :total_provisioned_disk_iops
60037
60297
 
60038
- # [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some
60039
- # amount that is allowed per disk that is not counted towards pool's throughput
60040
- # capacity.
60298
+ # [Output Only] Sum of all the disks' provisioned throughput in MiB/s, minus
60299
+ # some amount that is allowed per disk that is not counted towards pool's
60300
+ # throughput capacity.
60041
60301
  # Corresponds to the JSON property `totalProvisionedDiskThroughput`
60042
60302
  # @return [Fixnum]
60043
60303
  attr_accessor :total_provisioned_disk_throughput
@@ -60066,6 +60326,10 @@ module Google
60066
60326
  @aggregate_disk_provisioned_iops = args[:aggregate_disk_provisioned_iops] if args.key?(:aggregate_disk_provisioned_iops)
60067
60327
  @aggregate_disk_size_gb = args[:aggregate_disk_size_gb] if args.key?(:aggregate_disk_size_gb)
60068
60328
  @disk_count = args[:disk_count] if args.key?(:disk_count)
60329
+ @exapool_max_read_iops = args[:exapool_max_read_iops] if args.key?(:exapool_max_read_iops)
60330
+ @exapool_max_read_throughput = args[:exapool_max_read_throughput] if args.key?(:exapool_max_read_throughput)
60331
+ @exapool_max_write_iops = args[:exapool_max_write_iops] if args.key?(:exapool_max_write_iops)
60332
+ @exapool_max_write_throughput = args[:exapool_max_write_throughput] if args.key?(:exapool_max_write_throughput)
60069
60333
  @last_resize_timestamp = args[:last_resize_timestamp] if args.key?(:last_resize_timestamp)
60070
60334
  @max_aggregate_disk_size_gb = args[:max_aggregate_disk_size_gb] if args.key?(:max_aggregate_disk_size_gb)
60071
60335
  @max_total_provisioned_disk_capacity_gb = args[:max_total_provisioned_disk_capacity_gb] if args.key?(:max_total_provisioned_disk_capacity_gb)
@@ -60869,6 +61133,11 @@ module Google
60869
61133
  # @return [String]
60870
61134
  attr_accessor :reserved_internal_range
60871
61135
 
61136
+ # Configures subnet mask resolution for this subnetwork.
61137
+ # Corresponds to the JSON property `resolveSubnetMask`
61138
+ # @return [String]
61139
+ attr_accessor :resolve_subnet_mask
61140
+
60872
61141
  # The role of subnetwork. Currently, this field is only used when purpose is set
60873
61142
  # to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to
60874
61143
  # ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for
@@ -60976,6 +61245,7 @@ module Google
60976
61245
  @purpose = args[:purpose] if args.key?(:purpose)
60977
61246
  @region = args[:region] if args.key?(:region)
60978
61247
  @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
61248
+ @resolve_subnet_mask = args[:resolve_subnet_mask] if args.key?(:resolve_subnet_mask)
60979
61249
  @role = args[:role] if args.key?(:role)
60980
61250
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
60981
61251
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -67130,6 +67400,321 @@ module Google
67130
67400
  end
67131
67401
  end
67132
67402
 
67403
+ # Represents a VM extension policy.
67404
+ class VmExtensionPolicy
67405
+ include Google::Apis::Core::Hashable
67406
+
67407
+ # [Output Only] Creation timestamp in RFC3339 text format.
67408
+ # Corresponds to the JSON property `creationTimestamp`
67409
+ # @return [String]
67410
+ attr_accessor :creation_timestamp
67411
+
67412
+ # An optional description of this resource.
67413
+ # Corresponds to the JSON property `description`
67414
+ # @return [String]
67415
+ attr_accessor :description
67416
+
67417
+ # Required. A map of extension names (e.g., "cloudops") to their corresponding
67418
+ # policy configurations.
67419
+ # Corresponds to the JSON property `extensionPolicies`
67420
+ # @return [Hash<String,Google::Apis::ComputeAlpha::VmExtensionPolicyExtensionPolicy>]
67421
+ attr_accessor :extension_policies
67422
+
67423
+ # Optional. [Output Only] Link to the global policy that manages this zone
67424
+ # policy, if applicable.
67425
+ # Corresponds to the JSON property `globalResourceLink`
67426
+ # @return [String]
67427
+ attr_accessor :global_resource_link
67428
+
67429
+ # [Output Only] The unique identifier for the resource. This identifier is
67430
+ # defined by the server.
67431
+ # Corresponds to the JSON property `id`
67432
+ # @return [Fixnum]
67433
+ attr_accessor :id
67434
+
67435
+ # Optional. Selectors to target VMs for this policy. VMs are selected if they
67436
+ # match *any* of the provided selectors (logical OR). If this list is empty, the
67437
+ # policy applies to all VMs.
67438
+ # Corresponds to the JSON property `instanceSelectors`
67439
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtensionPolicyInstanceSelector>]
67440
+ attr_accessor :instance_selectors
67441
+
67442
+ # [Output Only] Type of the resource. Always compute#vmExtensionPolicy.
67443
+ # Corresponds to the JSON property `kind`
67444
+ # @return [String]
67445
+ attr_accessor :kind
67446
+
67447
+ # Optional. [Output Only] Indicates if this policy is managed by a global policy.
67448
+ # Corresponds to the JSON property `managedByGlobal`
67449
+ # @return [Boolean]
67450
+ attr_accessor :managed_by_global
67451
+ alias_method :managed_by_global?, :managed_by_global
67452
+
67453
+ # Name of the resource. Provided by the client when the resource is created. The
67454
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
67455
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
67456
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
67457
+ # and all following characters must be a dash, lowercase letter, or digit,
67458
+ # except the last character, which cannot be a dash.
67459
+ # Corresponds to the JSON property `name`
67460
+ # @return [String]
67461
+ attr_accessor :name
67462
+
67463
+ # Optional. Priority of this policy. Used to resolve conflicts when multiple
67464
+ # policies apply to the same extension. The policy priority is an integer from 0
67465
+ # to 65535, inclusive. Lower integers indicate higher priorities. If you do not
67466
+ # specify a priority when creating a rule, it is assigned a priority of 1000. If
67467
+ # priorities are equal, the policy with the more recent creation timestamp takes
67468
+ # precedence.
67469
+ # Corresponds to the JSON property `priority`
67470
+ # @return [Fixnum]
67471
+ attr_accessor :priority
67472
+
67473
+ # [Output Only] Server-defined fully-qualified URL for this resource.
67474
+ # Corresponds to the JSON property `selfLink`
67475
+ # @return [String]
67476
+ attr_accessor :self_link
67477
+
67478
+ # [Output Only] Server-defined URL for this resource's resource id.
67479
+ # Corresponds to the JSON property `selfLinkWithId`
67480
+ # @return [String]
67481
+ attr_accessor :self_link_with_id
67482
+
67483
+ # Optional. [Output Only] Current state of the policy: ACTIVE or DELETING.
67484
+ # Corresponds to the JSON property `state`
67485
+ # @return [String]
67486
+ attr_accessor :state
67487
+
67488
+ # [Output Only] Update timestamp in RFC3339 text format.
67489
+ # Corresponds to the JSON property `updateTimestamp`
67490
+ # @return [String]
67491
+ attr_accessor :update_timestamp
67492
+
67493
+ def initialize(**args)
67494
+ update!(**args)
67495
+ end
67496
+
67497
+ # Update properties of this object
67498
+ def update!(**args)
67499
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
67500
+ @description = args[:description] if args.key?(:description)
67501
+ @extension_policies = args[:extension_policies] if args.key?(:extension_policies)
67502
+ @global_resource_link = args[:global_resource_link] if args.key?(:global_resource_link)
67503
+ @id = args[:id] if args.key?(:id)
67504
+ @instance_selectors = args[:instance_selectors] if args.key?(:instance_selectors)
67505
+ @kind = args[:kind] if args.key?(:kind)
67506
+ @managed_by_global = args[:managed_by_global] if args.key?(:managed_by_global)
67507
+ @name = args[:name] if args.key?(:name)
67508
+ @priority = args[:priority] if args.key?(:priority)
67509
+ @self_link = args[:self_link] if args.key?(:self_link)
67510
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
67511
+ @state = args[:state] if args.key?(:state)
67512
+ @update_timestamp = args[:update_timestamp] if args.key?(:update_timestamp)
67513
+ end
67514
+ end
67515
+
67516
+ # Configuration for a specific VM extension.
67517
+ class VmExtensionPolicyExtensionPolicy
67518
+ include Google::Apis::Core::Hashable
67519
+
67520
+ # Optional. The specific version of the extension to install. If not set, the
67521
+ # latest version is used.
67522
+ # Corresponds to the JSON property `pinnedVersion`
67523
+ # @return [String]
67524
+ attr_accessor :pinned_version
67525
+
67526
+ # Optional. String-based configuration data for the extension.
67527
+ # Corresponds to the JSON property `stringConfig`
67528
+ # @return [String]
67529
+ attr_accessor :string_config
67530
+
67531
+ def initialize(**args)
67532
+ update!(**args)
67533
+ end
67534
+
67535
+ # Update properties of this object
67536
+ def update!(**args)
67537
+ @pinned_version = args[:pinned_version] if args.key?(:pinned_version)
67538
+ @string_config = args[:string_config] if args.key?(:string_config)
67539
+ end
67540
+ end
67541
+
67542
+ # Defines how to select VMs to apply a zone VM extension policy.
67543
+ class VmExtensionPolicyInstanceSelector
67544
+ include Google::Apis::Core::Hashable
67545
+
67546
+ # A LabelSelector is applied to a VM only if it matches all the specified labels.
67547
+ # Corresponds to the JSON property `labelSelector`
67548
+ # @return [Google::Apis::ComputeAlpha::VmExtensionPolicyLabelSelector]
67549
+ attr_accessor :label_selector
67550
+
67551
+ def initialize(**args)
67552
+ update!(**args)
67553
+ end
67554
+
67555
+ # Update properties of this object
67556
+ def update!(**args)
67557
+ @label_selector = args[:label_selector] if args.key?(:label_selector)
67558
+ end
67559
+ end
67560
+
67561
+ # A LabelSelector is applied to a VM only if it matches all the specified labels.
67562
+ class VmExtensionPolicyLabelSelector
67563
+ include Google::Apis::Core::Hashable
67564
+
67565
+ # Optional. A map of key-value pairs representing VM labels. VMs must have all
67566
+ # of the labels specified in this map to be selected (logical AND). e.g. If the `
67567
+ # inclusion_labels` are `("key1", "value1"), ("key2", "value2")`, the VM labels
67568
+ # must contain both ("key1", "value1") and ("key2", "value2") to be selected. If
67569
+ # the VM labels are ("key1", "value1") and ("something", "else"), it will not be
67570
+ # selected. If the map is empty, it's considered a match.
67571
+ # Corresponds to the JSON property `inclusionLabels`
67572
+ # @return [Hash<String,String>]
67573
+ attr_accessor :inclusion_labels
67574
+
67575
+ def initialize(**args)
67576
+ update!(**args)
67577
+ end
67578
+
67579
+ # Update properties of this object
67580
+ def update!(**args)
67581
+ @inclusion_labels = args[:inclusion_labels] if args.key?(:inclusion_labels)
67582
+ end
67583
+ end
67584
+
67585
+ #
67586
+ class VmExtensionPolicyList
67587
+ include Google::Apis::Core::Hashable
67588
+
67589
+ # [Output Only] Fingerprint of this resource. A hash of the contents stored in
67590
+ # this object. This field is used in optimistic locking. This field will be
67591
+ # ignored when inserting a VmExtensionPolicy. An up-to-date fingerprint must be
67592
+ # provided in order to update the VmExtensionPolicy. To see the latest value of
67593
+ # the fingerprint, make a get() request to retrieve a VmExtensionPolicy.
67594
+ # Corresponds to the JSON property `etag`
67595
+ # @return [String]
67596
+ attr_accessor :etag
67597
+
67598
+ # [Output Only] Unique identifier for the resource; defined by the server.
67599
+ # Corresponds to the JSON property `id`
67600
+ # @return [String]
67601
+ attr_accessor :id
67602
+
67603
+ # [Output Only] A list of VM extension policy resources.
67604
+ # Corresponds to the JSON property `items`
67605
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtensionPolicy>]
67606
+ attr_accessor :items
67607
+
67608
+ # Type of resource.
67609
+ # Corresponds to the JSON property `kind`
67610
+ # @return [String]
67611
+ attr_accessor :kind
67612
+
67613
+ # [Output Only] This token allows you to get the next page of results for list
67614
+ # requests. If the number of results is larger than maxResults, use the
67615
+ # nextPageToken as a value for the query parameter pageToken in the next list
67616
+ # request. Subsequent list requests will have their own nextPageToken to
67617
+ # continue paging through the results.
67618
+ # Corresponds to the JSON property `nextPageToken`
67619
+ # @return [String]
67620
+ attr_accessor :next_page_token
67621
+
67622
+ # [Output Only] Server-defined URL for this resource.
67623
+ # Corresponds to the JSON property `selfLink`
67624
+ # @return [String]
67625
+ attr_accessor :self_link
67626
+
67627
+ # [Output Only] Unreachable resources.
67628
+ # Corresponds to the JSON property `unreachables`
67629
+ # @return [Array<String>]
67630
+ attr_accessor :unreachables
67631
+
67632
+ # [Output Only] Informational warning message.
67633
+ # Corresponds to the JSON property `warning`
67634
+ # @return [Google::Apis::ComputeAlpha::VmExtensionPolicyList::Warning]
67635
+ attr_accessor :warning
67636
+
67637
+ def initialize(**args)
67638
+ update!(**args)
67639
+ end
67640
+
67641
+ # Update properties of this object
67642
+ def update!(**args)
67643
+ @etag = args[:etag] if args.key?(:etag)
67644
+ @id = args[:id] if args.key?(:id)
67645
+ @items = args[:items] if args.key?(:items)
67646
+ @kind = args[:kind] if args.key?(:kind)
67647
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
67648
+ @self_link = args[:self_link] if args.key?(:self_link)
67649
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
67650
+ @warning = args[:warning] if args.key?(:warning)
67651
+ end
67652
+
67653
+ # [Output Only] Informational warning message.
67654
+ class Warning
67655
+ include Google::Apis::Core::Hashable
67656
+
67657
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
67658
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
67659
+ # Corresponds to the JSON property `code`
67660
+ # @return [String]
67661
+ attr_accessor :code
67662
+
67663
+ # [Output Only] Metadata about this warning in key: value format. For example: "
67664
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
67665
+ # Corresponds to the JSON property `data`
67666
+ # @return [Array<Google::Apis::ComputeAlpha::VmExtensionPolicyList::Warning::Datum>]
67667
+ attr_accessor :data
67668
+
67669
+ # [Output Only] A human-readable description of the warning code.
67670
+ # Corresponds to the JSON property `message`
67671
+ # @return [String]
67672
+ attr_accessor :message
67673
+
67674
+ def initialize(**args)
67675
+ update!(**args)
67676
+ end
67677
+
67678
+ # Update properties of this object
67679
+ def update!(**args)
67680
+ @code = args[:code] if args.key?(:code)
67681
+ @data = args[:data] if args.key?(:data)
67682
+ @message = args[:message] if args.key?(:message)
67683
+ end
67684
+
67685
+ #
67686
+ class Datum
67687
+ include Google::Apis::Core::Hashable
67688
+
67689
+ # [Output Only] A key that provides more detail on the warning being returned.
67690
+ # For example, for warnings where there are no results in a list request for a
67691
+ # particular zone, this key might be scope and the key value might be the zone
67692
+ # name. Other examples might be a key indicating a deprecated resource and a
67693
+ # suggested replacement, or a warning about invalid network settings (for
67694
+ # example, if an instance attempts to perform IP forwarding but is not enabled
67695
+ # for IP forwarding).
67696
+ # Corresponds to the JSON property `key`
67697
+ # @return [String]
67698
+ attr_accessor :key
67699
+
67700
+ # [Output Only] A warning data value corresponding to the key.
67701
+ # Corresponds to the JSON property `value`
67702
+ # @return [String]
67703
+ attr_accessor :value
67704
+
67705
+ def initialize(**args)
67706
+ update!(**args)
67707
+ end
67708
+
67709
+ # Update properties of this object
67710
+ def update!(**args)
67711
+ @key = args[:key] if args.key?(:key)
67712
+ @value = args[:value] if args.key?(:value)
67713
+ end
67714
+ end
67715
+ end
67716
+ end
67717
+
67133
67718
  # Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN
67134
67719
  # solution that lets you securely connect your on-premises network to your
67135
67720
  # Google Cloud Virtual Private Cloud network through an IPsec VPN connection in