google-apis-compute_alpha 0.117.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.
@@ -3302,6 +3302,11 @@ module Google
3302
3302
  # @return [String]
3303
3303
  attr_accessor :name
3304
3304
 
3305
+ # Additional Backend Bucket parameters.
3306
+ # Corresponds to the JSON property `params`
3307
+ # @return [Google::Apis::ComputeAlpha::BackendBucketParams]
3308
+ attr_accessor :params
3309
+
3305
3310
  # [Output Only] URL of the region where the regional backend bucket resides.
3306
3311
  # This field is not applicable to global backend buckets. You must specify this
3307
3312
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -3343,6 +3348,7 @@ module Google
3343
3348
  @kind = args[:kind] if args.key?(:kind)
3344
3349
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3345
3350
  @name = args[:name] if args.key?(:name)
3351
+ @params = args[:params] if args.key?(:params)
3346
3352
  @region = args[:region] if args.key?(:region)
3347
3353
  @self_link = args[:self_link] if args.key?(:self_link)
3348
3354
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -3820,6 +3826,32 @@ module Google
3820
3826
  end
3821
3827
  end
3822
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
+
3823
3855
  #
3824
3856
  class BackendBucketUsedBy
3825
3857
  include Google::Apis::Core::Hashable
@@ -3857,7 +3889,7 @@ module Google
3857
3889
  attr_accessor :max_utilization
3858
3890
 
3859
3891
  # Name of a custom utilization signal. The name must be 1-64 characters long and
3860
- # 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
3861
3893
  # first character must be a lowercase letter, and all following characters must
3862
3894
  # be a dash, period, underscore, lowercase letter, or digit, except the last
3863
3895
  # character, which cannot be a dash, period, or underscore. For usage guidelines,
@@ -3905,6 +3937,13 @@ module Google
3905
3937
  # @return [Fixnum]
3906
3938
  attr_accessor :affinity_cookie_ttl_sec
3907
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
+
3908
3947
  # The list of backends that serve this BackendService.
3909
3948
  # Corresponds to the JSON property `backends`
3910
3949
  # @return [Array<Google::Apis::ComputeAlpha::Backend>]
@@ -4145,11 +4184,16 @@ module Google
4145
4184
  # was redirected to the load balancer. - MAGLEV: used as a drop in replacement
4146
4185
  # for the ring hash load balancer. Maglev is not as stable as ring hash but has
4147
4186
  # faster table lookup build times and host selection times. For more information
4148
- # about Maglev, see https://ai.google/research/pubs/pub44824 This field is
4149
- # applicable to either: - A regional backend service with the service_protocol
4150
- # set to HTTP, HTTPS, HTTP2 or H2C, and load_balancing_scheme set to
4151
- # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
4152
- # 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
4153
4197
  # sessionAffinity is not configured—that is, if session affinity remains at the
4154
4198
  # default value of NONE—then the default value for localityLbPolicy is
4155
4199
  # ROUND_ROBIN. If session affinity is set to a value other than NONE, then the
@@ -4213,6 +4257,11 @@ module Google
4213
4257
  # @return [Google::Apis::ComputeAlpha::OutlierDetection]
4214
4258
  attr_accessor :outlier_detection
4215
4259
 
4260
+ # Additional Backend Service parameters.
4261
+ # Corresponds to the JSON property `params`
4262
+ # @return [Google::Apis::ComputeAlpha::BackendServiceParams]
4263
+ attr_accessor :params
4264
+
4216
4265
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
4217
4266
  # default value is 80. For internal passthrough Network Load Balancers and
4218
4267
  # external passthrough Network Load Balancers, omit port.
@@ -4346,6 +4395,7 @@ module Google
4346
4395
  # Update properties of this object
4347
4396
  def update!(**args)
4348
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)
4349
4399
  @backends = args[:backends] if args.key?(:backends)
4350
4400
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
4351
4401
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
@@ -4381,6 +4431,7 @@ module Google
4381
4431
  @network = args[:network] if args.key?(:network)
4382
4432
  @network_pass_through_lb_traffic_policy = args[:network_pass_through_lb_traffic_policy] if args.key?(:network_pass_through_lb_traffic_policy)
4383
4433
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
4434
+ @params = args[:params] if args.key?(:params)
4384
4435
  @port = args[:port] if args.key?(:port)
4385
4436
  @port_name = args[:port_name] if args.key?(:port_name)
4386
4437
  @protocol = args[:protocol] if args.key?(:protocol)
@@ -4810,7 +4861,7 @@ module Google
4810
4861
  alias_method :dry_run?, :dry_run
4811
4862
 
4812
4863
  # Name of a custom utilization signal. The name must be 1-64 characters long and
4813
- # 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
4814
4865
  # first character must be a lowercase letter, and all following characters must
4815
4866
  # be a dash, period, underscore, lowercase letter, or digit, except the last
4816
4867
  # character, which cannot be a dash, period, or underscore. For usage guidelines,
@@ -5648,6 +5699,32 @@ module Google
5648
5699
  end
5649
5700
  end
5650
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
+
5651
5728
  #
5652
5729
  class BackendServiceReference
5653
5730
  include Google::Apis::Core::Hashable
@@ -6199,6 +6276,13 @@ module Google
6199
6276
  # @return [Array<Fixnum>]
6200
6277
  attr_accessor :asns
6201
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
+
6202
6286
  # [Output only] Type of AS-PATH segment (SEQUENCE or SET)
6203
6287
  # Corresponds to the JSON property `type`
6204
6288
  # @return [String]
@@ -6211,6 +6295,7 @@ module Google
6211
6295
  # Update properties of this object
6212
6296
  def update!(**args)
6213
6297
  @asns = args[:asns] if args.key?(:asns)
6298
+ @asns32 = args[:asns32] if args.key?(:asns32)
6214
6299
  @type = args[:type] if args.key?(:type)
6215
6300
  end
6216
6301
  end
@@ -8211,9 +8296,9 @@ module Google
8211
8296
  include Google::Apis::Core::Hashable
8212
8297
 
8213
8298
  # A list of CompositeHealthChecks contained in this scope.
8214
- # Corresponds to the JSON property `resources`
8299
+ # Corresponds to the JSON property `compositeHealthChecks`
8215
8300
  # @return [Array<Google::Apis::ComputeAlpha::CompositeHealthCheck>]
8216
- attr_accessor :resources
8301
+ attr_accessor :composite_health_checks
8217
8302
 
8218
8303
  # Informational warning which replaces the list of composite health checks when
8219
8304
  # the list is empty.
@@ -8227,7 +8312,7 @@ module Google
8227
8312
 
8228
8313
  # Update properties of this object
8229
8314
  def update!(**args)
8230
- @resources = args[:resources] if args.key?(:resources)
8315
+ @composite_health_checks = args[:composite_health_checks] if args.key?(:composite_health_checks)
8231
8316
  @warning = args[:warning] if args.key?(:warning)
8232
8317
  end
8233
8318
 
@@ -12846,7 +12931,8 @@ module Google
12846
12931
  # allowed to inject packets into the consumer's network. If set to true, the
12847
12932
  # target service attachment must have tunneling enabled and TunnelingConfig.
12848
12933
  # RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use
12849
- # this field.
12934
+ # this field. This field was never released to any customers and is deprecated
12935
+ # and will be removed in the future.
12850
12936
  # Corresponds to the JSON property `allowPscPacketInjection`
12851
12937
  # @return [Boolean]
12852
12938
  attr_accessor :allow_psc_packet_injection
@@ -13166,6 +13252,13 @@ module Google
13166
13252
  # @return [String]
13167
13253
  attr_accessor :target
13168
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
+
13169
13262
  def initialize(**args)
13170
13263
  update!(**args)
13171
13264
  end
@@ -13211,6 +13304,7 @@ module Google
13211
13304
  @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
13212
13305
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
13213
13306
  @target = args[:target] if args.key?(:target)
13307
+ @traffic_disabled = args[:traffic_disabled] if args.key?(:traffic_disabled)
13214
13308
  end
13215
13309
  end
13216
13310
 
@@ -15608,6 +15702,25 @@ module Google
15608
15702
  end
15609
15703
  end
15610
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
+
15611
15724
  # Represents a health aggregation policy. A health aggregation policy resource
15612
15725
  # defines a policy to aggregate health. For more information, see Health checks
15613
15726
  # overview.
@@ -17300,9 +17413,9 @@ module Google
17300
17413
  include Google::Apis::Core::Hashable
17301
17414
 
17302
17415
  # A list of HealthSources contained in this scope.
17303
- # Corresponds to the JSON property `resources`
17416
+ # Corresponds to the JSON property `healthSources`
17304
17417
  # @return [Array<Google::Apis::ComputeAlpha::HealthSource>]
17305
- attr_accessor :resources
17418
+ attr_accessor :health_sources
17306
17419
 
17307
17420
  # Informational warning which replaces the list of health sources when the list
17308
17421
  # is empty.
@@ -17316,7 +17429,7 @@ module Google
17316
17429
 
17317
17430
  # Update properties of this object
17318
17431
  def update!(**args)
17319
- @resources = args[:resources] if args.key?(:resources)
17432
+ @health_sources = args[:health_sources] if args.key?(:health_sources)
17320
17433
  @warning = args[:warning] if args.key?(:warning)
17321
17434
  end
17322
17435
 
@@ -20051,6 +20164,12 @@ module Google
20051
20164
  class InstanceFlexibilityPolicyInstanceSelection
20052
20165
  include Google::Apis::Core::Hashable
20053
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
+
20054
20173
  # Alternative machine types to use for instances that are created from these
20055
20174
  # properties. This field only accepts a machine type names, for example `n2-
20056
20175
  # standard-4` and not URLs or partial URLs.
@@ -20071,6 +20190,7 @@ module Google
20071
20190
 
20072
20191
  # Update properties of this object
20073
20192
  def update!(**args)
20193
+ @disks = args[:disks] if args.key?(:disks)
20074
20194
  @machine_types = args[:machine_types] if args.key?(:machine_types)
20075
20195
  @rank = args[:rank] if args.key?(:rank)
20076
20196
  end
@@ -33289,11 +33409,6 @@ module Google
33289
33409
  # @return [String]
33290
33410
  attr_accessor :self_link
33291
33411
 
33292
- # [Output only] Server-defined URL for this resource with the resource id.
33293
- # Corresponds to the JSON property `selfLinkWithId`
33294
- # @return [String]
33295
- attr_accessor :self_link_with_id
33296
-
33297
33412
  #
33298
33413
  # Corresponds to the JSON property `status`
33299
33414
  # @return [Google::Apis::ComputeAlpha::MultiMigStatus]
@@ -33313,7 +33428,6 @@ module Google
33313
33428
  @region = args[:region] if args.key?(:region)
33314
33429
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
33315
33430
  @self_link = args[:self_link] if args.key?(:self_link)
33316
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33317
33431
  @status = args[:status] if args.key?(:status)
33318
33432
  end
33319
33433
  end
@@ -33328,11 +33442,6 @@ module Google
33328
33442
  # @return [String]
33329
33443
  attr_accessor :creation_timestamp
33330
33444
 
33331
- # An optional description of this resource.
33332
- # Corresponds to the JSON property `description`
33333
- # @return [String]
33334
- attr_accessor :description
33335
-
33336
33445
  # [Output only] The unique identifier for this resource type. The server
33337
33446
  # generates this identifier.
33338
33447
  # Corresponds to the JSON property `id`
@@ -33361,11 +33470,6 @@ module Google
33361
33470
  # @return [String]
33362
33471
  attr_accessor :self_link
33363
33472
 
33364
- # [Output Only] Server-defined URL for this resource with the resource id.
33365
- # Corresponds to the JSON property `selfLinkWithId`
33366
- # @return [String]
33367
- attr_accessor :self_link_with_id
33368
-
33369
33473
  # [Output Only] The status of this multi-MIG member
33370
33474
  # Corresponds to the JSON property `status`
33371
33475
  # @return [Google::Apis::ComputeAlpha::MultiMigMemberStatus]
@@ -33378,13 +33482,11 @@ module Google
33378
33482
  # Update properties of this object
33379
33483
  def update!(**args)
33380
33484
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
33381
- @description = args[:description] if args.key?(:description)
33382
33485
  @id = args[:id] if args.key?(:id)
33383
33486
  @kind = args[:kind] if args.key?(:kind)
33384
33487
  @name = args[:name] if args.key?(:name)
33385
33488
  @region = args[:region] if args.key?(:region)
33386
33489
  @self_link = args[:self_link] if args.key?(:self_link)
33387
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
33388
33490
  @status = args[:status] if args.key?(:status)
33389
33491
  end
33390
33492
  end
@@ -33580,11 +33682,6 @@ module Google
33580
33682
  class MultiMigsList
33581
33683
  include Google::Apis::Core::Hashable
33582
33684
 
33583
- #
33584
- # Corresponds to the JSON property `etag`
33585
- # @return [String]
33586
- attr_accessor :etag
33587
-
33588
33685
  # Unique identifier for the resource; defined by the server.
33589
33686
  # Corresponds to the JSON property `id`
33590
33687
  # @return [String]
@@ -33613,11 +33710,6 @@ module Google
33613
33710
  # @return [String]
33614
33711
  attr_accessor :self_link
33615
33712
 
33616
- # [Output only] Unreachable resources.
33617
- # Corresponds to the JSON property `unreachables`
33618
- # @return [Array<String>]
33619
- attr_accessor :unreachables
33620
-
33621
33713
  # Informational warning message.
33622
33714
  # Corresponds to the JSON property `warning`
33623
33715
  # @return [Google::Apis::ComputeAlpha::MultiMigsList::Warning]
@@ -33629,13 +33721,11 @@ module Google
33629
33721
 
33630
33722
  # Update properties of this object
33631
33723
  def update!(**args)
33632
- @etag = args[:etag] if args.key?(:etag)
33633
33724
  @id = args[:id] if args.key?(:id)
33634
33725
  @items = args[:items] if args.key?(:items)
33635
33726
  @kind = args[:kind] if args.key?(:kind)
33636
33727
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
33637
33728
  @self_link = args[:self_link] if args.key?(:self_link)
33638
- @unreachables = args[:unreachables] if args.key?(:unreachables)
33639
33729
  @warning = args[:warning] if args.key?(:warning)
33640
33730
  end
33641
33731
 
@@ -42081,16 +42171,11 @@ module Google
42081
42171
  class PreviewFeatureRolloutOperation
42082
42172
  include Google::Apis::Core::Hashable
42083
42173
 
42084
- #
42174
+ # Represents the input for the rollout operation.
42085
42175
  # Corresponds to the JSON property `rolloutInput`
42086
42176
  # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutInput]
42087
42177
  attr_accessor :rollout_input
42088
42178
 
42089
- #
42090
- # Corresponds to the JSON property `rolloutStatus`
42091
- # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatus]
42092
- attr_accessor :rollout_status
42093
-
42094
42179
  def initialize(**args)
42095
42180
  update!(**args)
42096
42181
  end
@@ -42098,11 +42183,10 @@ module Google
42098
42183
  # Update properties of this object
42099
42184
  def update!(**args)
42100
42185
  @rollout_input = args[:rollout_input] if args.key?(:rollout_input)
42101
- @rollout_status = args[:rollout_status] if args.key?(:rollout_status)
42102
42186
  end
42103
42187
  end
42104
42188
 
42105
- #
42189
+ # Represents the input for the rollout operation.
42106
42190
  class PreviewFeatureRolloutOperationRolloutInput
42107
42191
  include Google::Apis::Core::Hashable
42108
42192
 
@@ -42118,13 +42202,6 @@ module Google
42118
42202
  # @return [String]
42119
42203
  attr_accessor :predefined_rollout_plan
42120
42204
 
42121
- # The UUID of the retry action. Only needed if this is a retry for an existing
42122
- # rollout. This can be used after the user canceled a rollout and want to retry
42123
- # it with no changes.
42124
- # Corresponds to the JSON property `retryUuid`
42125
- # @return [String]
42126
- attr_accessor :retry_uuid
42127
-
42128
42205
  def initialize(**args)
42129
42206
  update!(**args)
42130
42207
  end
@@ -42133,68 +42210,6 @@ module Google
42133
42210
  def update!(**args)
42134
42211
  @name = args[:name] if args.key?(:name)
42135
42212
  @predefined_rollout_plan = args[:predefined_rollout_plan] if args.key?(:predefined_rollout_plan)
42136
- @retry_uuid = args[:retry_uuid] if args.key?(:retry_uuid)
42137
- end
42138
- end
42139
-
42140
- #
42141
- class PreviewFeatureRolloutOperationRolloutStatus
42142
- include Google::Apis::Core::Hashable
42143
-
42144
- # Output only. The ongoing rollout resources. There can be multiple ongoing
42145
- # rollouts for a resource.
42146
- # Corresponds to the JSON property `ongoingRollouts`
42147
- # @return [Array<Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata>]
42148
- attr_accessor :ongoing_rollouts
42149
-
42150
- # Output only. The last completed rollout resource. This field will not be
42151
- # populated until the first rollout is completed.
42152
- # Corresponds to the JSON property `previousRollout`
42153
- # @return [Google::Apis::ComputeAlpha::PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata]
42154
- attr_accessor :previous_rollout
42155
-
42156
- def initialize(**args)
42157
- update!(**args)
42158
- end
42159
-
42160
- # Update properties of this object
42161
- def update!(**args)
42162
- @ongoing_rollouts = args[:ongoing_rollouts] if args.key?(:ongoing_rollouts)
42163
- @previous_rollout = args[:previous_rollout] if args.key?(:previous_rollout)
42164
- end
42165
- end
42166
-
42167
- #
42168
- class PreviewFeatureRolloutOperationRolloutStatusRolloutMetadata
42169
- include Google::Apis::Core::Hashable
42170
-
42171
- # The name of the rollout Ex. organizations//locations/global/rollouts/ Ex.
42172
- # folders//locations/global/rollouts/ Ex. projects//locations/global/rollouts/.
42173
- # Corresponds to the JSON property `rollout`
42174
- # @return [String]
42175
- attr_accessor :rollout
42176
-
42177
- # The name of the rollout plan Ex. organizations//locations/global/rolloutPlans/
42178
- # Ex. folders//locations/global/rolloutPlans/ Ex. projects//locations/global/
42179
- # rolloutPlans/.
42180
- # Corresponds to the JSON property `rolloutPlan`
42181
- # @return [String]
42182
- attr_accessor :rollout_plan
42183
-
42184
- # [Output Only] The status of the feature.
42185
- # Corresponds to the JSON property `status`
42186
- # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatus]
42187
- attr_accessor :status
42188
-
42189
- def initialize(**args)
42190
- update!(**args)
42191
- end
42192
-
42193
- # Update properties of this object
42194
- def update!(**args)
42195
- @rollout = args[:rollout] if args.key?(:rollout)
42196
- @rollout_plan = args[:rollout_plan] if args.key?(:rollout_plan)
42197
- @status = args[:status] if args.key?(:status)
42198
42213
  end
42199
42214
  end
42200
42215
 
@@ -42212,7 +42227,7 @@ module Google
42212
42227
  # @return [String]
42213
42228
  attr_accessor :help_link
42214
42229
 
42215
- #
42230
+ # [Output Only] The release status of the feature.
42216
42231
  # Corresponds to the JSON property `releaseStatus`
42217
42232
  # @return [Google::Apis::ComputeAlpha::PreviewFeatureStatusReleaseStatus]
42218
42233
  attr_accessor :release_status
@@ -42229,7 +42244,7 @@ module Google
42229
42244
  end
42230
42245
  end
42231
42246
 
42232
- #
42247
+ # [Output Only] The release status of the feature.
42233
42248
  class PreviewFeatureStatusReleaseStatus
42234
42249
  include Google::Apis::Core::Hashable
42235
42250
 
@@ -43045,6 +43060,24 @@ module Google
43045
43060
  # @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
43046
43061
  attr_accessor :public_delegated_sub_prefixs
43047
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
+
43048
43081
  # [Output Only] URL of the region where the public delegated prefix resides.
43049
43082
  # This field applies only to the region resource. You must specify this field as
43050
43083
  # part of the HTTP request URL. It is not settable as a field in the request
@@ -43093,6 +43126,7 @@ module Google
43093
43126
  @name = args[:name] if args.key?(:name)
43094
43127
  @parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
43095
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)
43096
43130
  @region = args[:region] if args.key?(:region)
43097
43131
  @self_link = args[:self_link] if args.key?(:self_link)
43098
43132
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -43392,6 +43426,12 @@ module Google
43392
43426
  # @return [String]
43393
43427
  attr_accessor :name
43394
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
+
43395
43435
  # [Output Only] The region of the sub public delegated prefix if it is regional.
43396
43436
  # If absent, the sub prefix is global.
43397
43437
  # Corresponds to the JSON property `region`
@@ -43417,6 +43457,7 @@ module Google
43417
43457
  @is_address = args[:is_address] if args.key?(:is_address)
43418
43458
  @mode = args[:mode] if args.key?(:mode)
43419
43459
  @name = args[:name] if args.key?(:name)
43460
+ @purpose = args[:purpose] if args.key?(:purpose)
43420
43461
  @region = args[:region] if args.key?(:region)
43421
43462
  @status = args[:status] if args.key?(:status)
43422
43463
  end
@@ -47386,6 +47427,12 @@ module Google
47386
47427
  class Reservation
47387
47428
  include Google::Apis::Core::Hashable
47388
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
+
47389
47436
  # This reservation type is specified by total resource amounts (e.g. total count
47390
47437
  # of CPUs) and can account for multiple instance SKUs. In other words, one can
47391
47438
  # create instances of varying shapes against this reservation.
@@ -47554,6 +47601,7 @@ module Google
47554
47601
 
47555
47602
  # Update properties of this object
47556
47603
  def update!(**args)
47604
+ @advanced_deployment_control = args[:advanced_deployment_control] if args.key?(:advanced_deployment_control)
47557
47605
  @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
47558
47606
  @commitment = args[:commitment] if args.key?(:commitment)
47559
47607
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
@@ -47583,6 +47631,26 @@ module Google
47583
47631
  end
47584
47632
  end
47585
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
+
47586
47654
  # Specifies the reservations that this instance can consume from.
47587
47655
  class ReservationAffinity
47588
47656
  include Google::Apis::Core::Hashable
@@ -55642,7 +55710,9 @@ module Google
55642
55710
  # @return [String]
55643
55711
  attr_accessor :target
55644
55712
 
55645
- # 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.
55646
55716
  # Corresponds to the JSON property `type`
55647
55717
  # @return [String]
55648
55718
  attr_accessor :type
@@ -55943,7 +56013,8 @@ module Google
55943
56013
  # service attachment. Each project or network has a connection limit. A given
55944
56014
  # service attachment can manage connections at either the project or network
55945
56015
  # level. Therefore, both the accept and reject lists for a given service
55946
- # attachment must contain either only projects or only networks.
56016
+ # attachment must contain either only projects or only networks or only
56017
+ # endpoints.
55947
56018
  # Corresponds to the JSON property `consumerAcceptLists`
55948
56019
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerProjectLimit>]
55949
56020
  attr_accessor :consumer_accept_lists
@@ -56007,6 +56078,11 @@ module Google
56007
56078
  # @return [String]
56008
56079
  attr_accessor :kind
56009
56080
 
56081
+ # Metadata of the service attachment.
56082
+ # Corresponds to the JSON property `metadata`
56083
+ # @return [Hash<String,String>]
56084
+ attr_accessor :metadata
56085
+
56010
56086
  # Name of the resource. Provided by the client when the resource is created. The
56011
56087
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
56012
56088
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -56104,6 +56180,7 @@ module Google
56104
56180
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
56105
56181
  @id = args[:id] if args.key?(:id)
56106
56182
  @kind = args[:kind] if args.key?(:kind)
56183
+ @metadata = args[:metadata] if args.key?(:metadata)
56107
56184
  @name = args[:name] if args.key?(:name)
56108
56185
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
56109
56186
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
@@ -56295,7 +56372,8 @@ module Google
56295
56372
  class ServiceAttachmentConsumerProjectLimit
56296
56373
  include Google::Apis::Core::Hashable
56297
56374
 
56298
- # 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.
56299
56377
  # Corresponds to the JSON property `connectionLimit`
56300
56378
  # @return [Fixnum]
56301
56379
  attr_accessor :connection_limit
@@ -59465,6 +59543,11 @@ module Google
59465
59543
  # @return [String]
59466
59544
  attr_accessor :description
59467
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
+
59468
59551
  # [Output Only] The unique identifier for the resource. This identifier is
59469
59552
  # defined by the server.
59470
59553
  # Corresponds to the JSON property `id`
@@ -59511,7 +59594,7 @@ module Google
59511
59594
  # @return [String]
59512
59595
  attr_accessor :performance_provisioning_type
59513
59596
 
59514
- # 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,
59515
59598
  # see https://cloud.google.com/compute/docs/disks/storage-pools.
59516
59599
  # Corresponds to the JSON property `poolProvisionedCapacityGb`
59517
59600
  # @return [Fixnum]
@@ -59523,8 +59606,8 @@ module Google
59523
59606
  # @return [Fixnum]
59524
59607
  attr_accessor :pool_provisioned_iops
59525
59608
 
59526
- # Provisioned throughput of the storage pool. Only relevant if the storage pool
59527
- # 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.
59528
59611
  # Corresponds to the JSON property `poolProvisionedThroughput`
59529
59612
  # @return [Fixnum]
59530
59613
  attr_accessor :pool_provisioned_throughput
@@ -59592,6 +59675,7 @@ module Google
59592
59675
  @capacity_provisioning_type = args[:capacity_provisioning_type] if args.key?(:capacity_provisioning_type)
59593
59676
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
59594
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)
59595
59679
  @id = args[:id] if args.key?(:id)
59596
59680
  @kind = args[:kind] if args.key?(:kind)
59597
59681
  @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
@@ -59824,6 +59908,37 @@ module Google
59824
59908
  end
59825
59909
  end
59826
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
+
59827
59942
  # A list of StoragePool resources.
59828
59943
  class StoragePoolList
59829
59944
  include Google::Apis::Core::Hashable
@@ -60105,6 +60220,26 @@ module Google
60105
60220
  # @return [Fixnum]
60106
60221
  attr_accessor :disk_count
60107
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
+
60108
60243
  # [Output Only] Timestamp of the last successful resize in RFC3339 text format.
60109
60244
  # Corresponds to the JSON property `lastResizeTimestamp`
60110
60245
  # @return [String]
@@ -60115,7 +60250,7 @@ module Google
60115
60250
  # @return [Fixnum]
60116
60251
  attr_accessor :max_aggregate_disk_size_gb
60117
60252
 
60118
- # [Output Only] Maximum allowed aggregate disk size in gigabytes.
60253
+ # [Output Only] Maximum allowed aggregate disk size in GiB.
60119
60254
  # Corresponds to the JSON property `maxTotalProvisionedDiskCapacityGb`
60120
60255
  # @return [Fixnum]
60121
60256
  attr_accessor :max_total_provisioned_disk_capacity_gb
@@ -60139,7 +60274,7 @@ module Google
60139
60274
  # @return [Fixnum]
60140
60275
  attr_accessor :pool_used_iops
60141
60276
 
60142
- # [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.
60143
60278
  # Corresponds to the JSON property `poolUsedThroughput`
60144
60279
  # @return [Fixnum]
60145
60280
  attr_accessor :pool_used_throughput
@@ -60149,8 +60284,8 @@ module Google
60149
60284
  # @return [Fixnum]
60150
60285
  attr_accessor :pool_user_written_bytes
60151
60286
 
60152
- # [Output Only] Sum of all the capacity provisioned in disks in this storage
60153
- # 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.
60154
60289
  # Corresponds to the JSON property `totalProvisionedDiskCapacityGb`
60155
60290
  # @return [Fixnum]
60156
60291
  attr_accessor :total_provisioned_disk_capacity_gb
@@ -60160,9 +60295,9 @@ module Google
60160
60295
  # @return [Fixnum]
60161
60296
  attr_accessor :total_provisioned_disk_iops
60162
60297
 
60163
- # [Output Only] Sum of all the disks' provisioned throughput in MB/s, minus some
60164
- # amount that is allowed per disk that is not counted towards pool's throughput
60165
- # 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.
60166
60301
  # Corresponds to the JSON property `totalProvisionedDiskThroughput`
60167
60302
  # @return [Fixnum]
60168
60303
  attr_accessor :total_provisioned_disk_throughput
@@ -60191,6 +60326,10 @@ module Google
60191
60326
  @aggregate_disk_provisioned_iops = args[:aggregate_disk_provisioned_iops] if args.key?(:aggregate_disk_provisioned_iops)
60192
60327
  @aggregate_disk_size_gb = args[:aggregate_disk_size_gb] if args.key?(:aggregate_disk_size_gb)
60193
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)
60194
60333
  @last_resize_timestamp = args[:last_resize_timestamp] if args.key?(:last_resize_timestamp)
60195
60334
  @max_aggregate_disk_size_gb = args[:max_aggregate_disk_size_gb] if args.key?(:max_aggregate_disk_size_gb)
60196
60335
  @max_total_provisioned_disk_capacity_gb = args[:max_total_provisioned_disk_capacity_gb] if args.key?(:max_total_provisioned_disk_capacity_gb)
@@ -60994,6 +61133,11 @@ module Google
60994
61133
  # @return [String]
60995
61134
  attr_accessor :reserved_internal_range
60996
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
+
60997
61141
  # The role of subnetwork. Currently, this field is only used when purpose is set
60998
61142
  # to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. The value can be set to
60999
61143
  # ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for
@@ -61101,6 +61245,7 @@ module Google
61101
61245
  @purpose = args[:purpose] if args.key?(:purpose)
61102
61246
  @region = args[:region] if args.key?(:region)
61103
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)
61104
61249
  @role = args[:role] if args.key?(:role)
61105
61250
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
61106
61251
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -67255,6 +67400,321 @@ module Google
67255
67400
  end
67256
67401
  end
67257
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
+
67258
67718
  # Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN
67259
67719
  # solution that lets you securely connect your on-premises network to your
67260
67720
  # Google Cloud Virtual Private Cloud network through an IPsec VPN connection in