google-apis-compute_beta 0.16.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -510,13 +510,17 @@ module Google
510
510
  attr_accessor :network_tier
511
511
 
512
512
  # The DNS domain name for the public PTR record. You can set this field only if
513
- # the `setPublicPtr` field is enabled.
513
+ # the `setPublicPtr` field is enabled in accessConfig. If this field is
514
+ # unspecified in ipv6AccessConfig, a default PTR record will be createc for
515
+ # first IP in associated external IPv6 range.
514
516
  # Corresponds to the JSON property `publicPtrDomainName`
515
517
  # @return [String]
516
518
  attr_accessor :public_ptr_domain_name
517
519
 
518
520
  # Specifies whether a public DNS 'PTR' record should be created to map the
519
- # external IP address of the instance to a DNS domain name.
521
+ # external IP address of the instance to a DNS domain name. This field is not
522
+ # used in ipv6AccessConfig. A default PTR record will be created if the VM has
523
+ # external IPv6 range associated.
520
524
  # Corresponds to the JSON property `setPublicPtr`
521
525
  # @return [Boolean]
522
526
  attr_accessor :set_public_ptr
@@ -2774,7 +2778,7 @@ module Google
2774
2778
  # specified), or else sets the response max-age directive to the lesser of the
2775
2779
  # client_ttl and default_ttl, and also ensures a "public" cache-control
2776
2780
  # directive is present. If a client TTL is not specified, a default value (1
2777
- # hour) will be used. The maximum allowed value is 86400s (1 day).
2781
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
2778
2782
  # Corresponds to the JSON property `clientTtl`
2779
2783
  # @return [Fixnum]
2780
2784
  attr_accessor :client_ttl
@@ -3262,8 +3266,8 @@ module Google
3262
3266
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3263
3267
  # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3264
3268
  # is not set to MAGLEV or RING_HASH, session affinity settings will not take
3265
- # effect. Only the default ROUND_ROBIN policy is supported when the backend
3266
- # service is referenced by a URL map that is bound to target gRPC proxy that has
3269
+ # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3270
+ # is referenced by a URL map that is bound to target gRPC proxy that has
3267
3271
  # validateForProxyless field set to true.
3268
3272
  # Corresponds to the JSON property `localityLbPolicy`
3269
3273
  # @return [String]
@@ -3356,11 +3360,18 @@ module Google
3356
3360
  # @return [String]
3357
3361
  attr_accessor :self_link
3358
3362
 
3359
- # Type of session affinity to use. The default is NONE. For a detailed
3360
- # description of session affinity options, see: [Session affinity](https://cloud.
3361
- # google.com/load-balancing/docs/backend-service#session_affinity). Not
3362
- # supported when the backend service is referenced by a URL map that is bound to
3363
- # target gRPC proxy that has validateForProxyless field set to true.
3363
+ # URLs of networkservices.ServiceBinding resources. Can only be set if load
3364
+ # balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and
3365
+ # health checks must be both empty.
3366
+ # Corresponds to the JSON property `serviceBindings`
3367
+ # @return [Array<String>]
3368
+ attr_accessor :service_bindings
3369
+
3370
+ # Type of session affinity to use. The default is NONE. Only NONE and
3371
+ # HEADER_FIELD are supported when the backend service is referenced by a URL map
3372
+ # that is bound to target gRPC proxy that has validateForProxyless field set to
3373
+ # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3374
+ # balancing/docs/backend-service#session_affinity).
3364
3375
  # Corresponds to the JSON property `sessionAffinity`
3365
3376
  # @return [String]
3366
3377
  attr_accessor :session_affinity
@@ -3419,6 +3430,7 @@ module Google
3419
3430
  @security_policy = args[:security_policy] if args.key?(:security_policy)
3420
3431
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3421
3432
  @self_link = args[:self_link] if args.key?(:self_link)
3433
+ @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3422
3434
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3423
3435
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3424
3436
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -3589,7 +3601,7 @@ module Google
3589
3601
  # specified), or else sets the response max-age directive to the lesser of the
3590
3602
  # client_ttl and default_ttl, and also ensures a "public" cache-control
3591
3603
  # directive is present. If a client TTL is not specified, a default value (1
3592
- # hour) will be used. The maximum allowed value is 86400s (1 day).
3604
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
3593
3605
  # Corresponds to the JSON property `clientTtl`
3594
3606
  # @return [Fixnum]
3595
3607
  attr_accessor :client_ttl
@@ -3769,32 +3781,42 @@ module Google
3769
3781
  # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
3770
3782
  # existing connections always persist on unhealthy backends regardless of
3771
3783
  # protocol and session affinity. It is generally not recommended to use this
3772
- # mode overriding the default.
3784
+ # mode overriding the default. For more details, see [Connection Persistence for
3785
+ # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
3786
+ # networklb-backend-service#connection-persistence) and [Connection Persistence
3787
+ # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
3788
+ # docs/internal#connection-persistence).
3773
3789
  # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
3774
3790
  # @return [String]
3775
3791
  attr_accessor :connection_persistence_on_unhealthy_backends
3776
3792
 
3777
- # Enable Strong Session Affinity. This is only available in External TCP/UDP
3778
- # load balancer.
3793
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3794
+ # available publicly.
3779
3795
  # Corresponds to the JSON property `enableStrongAffinity`
3780
3796
  # @return [Boolean]
3781
3797
  attr_accessor :enable_strong_affinity
3782
3798
  alias_method :enable_strong_affinity?, :enable_strong_affinity
3783
3799
 
3784
3800
  # Specifies how long to keep a Connection Tracking entry while there is no
3785
- # matching traffic (in seconds). For L4 ILB the minimum(default) is 10 minutes
3786
- # and maximum is 16 hours. For NLB the minimum(default) is 60 seconds and the
3787
- # maximum is 16 hours. This field will be supported only if the Connection
3788
- # Tracking key is less than 5-tuple.
3801
+ # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3802
+ # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
3803
+ # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
3804
+ # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
3805
+ # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
3806
+ # is not available publicly.
3789
3807
  # Corresponds to the JSON property `idleTimeoutSec`
3790
3808
  # @return [Fixnum]
3791
3809
  attr_accessor :idle_timeout_sec
3792
3810
 
3793
- # Specifies the key used for connection tracking. There are two options:
3811
+ # Specifies the key used for connection tracking. There are two options: -
3794
3812
  # PER_CONNECTION: This is the default mode. The Connection Tracking is performed
3795
- # as per the Connection Key (default Hash Method) for the specific protocol.
3813
+ # as per the Connection Key (default Hash Method) for the specific protocol. -
3796
3814
  # PER_SESSION: The Connection Tracking is performed as per the configured
3797
- # Session Affinity. It matches the configured Session Affinity.
3815
+ # Session Affinity. It matches the configured Session Affinity. For more details,
3816
+ # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
3817
+ # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
3818
+ # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
3819
+ # balancing/docs/internal#tracking-mode).
3798
3820
  # Corresponds to the JSON property `trackingMode`
3799
3821
  # @return [String]
3800
3822
  attr_accessor :tracking_mode
@@ -4450,7 +4472,7 @@ module Google
4450
4472
  end
4451
4473
  end
4452
4474
 
4453
- # Associates `members` with a `role`.
4475
+ # Associates `members`, or principals, with a `role`.
4454
4476
  class Binding
4455
4477
  include Google::Apis::Core::Hashable
4456
4478
 
@@ -4478,7 +4500,7 @@ module Google
4478
4500
  # @return [Google::Apis::ComputeBeta::Expr]
4479
4501
  attr_accessor :condition
4480
4502
 
4481
- # Specifies the identities requesting access for a Cloud Platform resource. `
4503
+ # Specifies the principals requesting access for a Cloud Platform resource. `
4482
4504
  # members` can have the following values: * `allUsers`: A special identifier
4483
4505
  # that represents anyone who is on the internet; with or without a Google
4484
4506
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -4508,8 +4530,8 @@ module Google
4508
4530
  # @return [Array<String>]
4509
4531
  attr_accessor :members
4510
4532
 
4511
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
4512
- # , or `roles/owner`.
4533
+ # Role that is assigned to the list of `members`, or principals. For example, `
4534
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
4513
4535
  # Corresponds to the JSON property `role`
4514
4536
  # @return [String]
4515
4537
  attr_accessor :role
@@ -5405,14 +5427,15 @@ module Google
5405
5427
  end
5406
5428
  end
5407
5429
 
5408
- # The specification for allowing client side cross-origin requests. Please see
5409
- # W3C Recommendation for Cross Origin Resource Sharing
5430
+ # The specification for allowing client-side cross-origin requests. For more
5431
+ # information about the W3C recommendation for cross-origin resource sharing (
5432
+ # CORS), see Fetch API Living Standard.
5410
5433
  class CorsPolicy
5411
5434
  include Google::Apis::Core::Hashable
5412
5435
 
5413
5436
  # In response to a preflight request, setting this to true indicates that the
5414
- # actual request can include user credentials. This translates to the Access-
5415
- # Control-Allow-Credentials header. Default is false.
5437
+ # actual request can include user credentials. This field translates to the
5438
+ # Access-Control-Allow-Credentials header. Default is false.
5416
5439
  # Corresponds to the JSON property `allowCredentials`
5417
5440
  # @return [Boolean]
5418
5441
  attr_accessor :allow_credentials
@@ -5428,23 +5451,23 @@ module Google
5428
5451
  # @return [Array<String>]
5429
5452
  attr_accessor :allow_methods
5430
5453
 
5431
- # Specifies the regualar expression patterns that match allowed origins. For
5432
- # regular expression grammar please see github.com/google/re2/wiki/Syntax An
5433
- # origin is allowed if it matches either an item in allowOrigins or an item in
5454
+ # Specifies a regular expression that matches allowed origins. For more
5455
+ # information about the regular expression syntax, see Syntax. An origin is
5456
+ # allowed if it matches either an item in allowOrigins or an item in
5434
5457
  # allowOriginRegexes.
5435
5458
  # Corresponds to the JSON property `allowOriginRegexes`
5436
5459
  # @return [Array<String>]
5437
5460
  attr_accessor :allow_origin_regexes
5438
5461
 
5439
- # Specifies the list of origins that will be allowed to do CORS requests. An
5440
- # origin is allowed if it matches either an item in allowOrigins or an item in
5462
+ # Specifies the list of origins that is allowed to do CORS requests. An origin
5463
+ # is allowed if it matches either an item in allowOrigins or an item in
5441
5464
  # allowOriginRegexes.
5442
5465
  # Corresponds to the JSON property `allowOrigins`
5443
5466
  # @return [Array<String>]
5444
5467
  attr_accessor :allow_origins
5445
5468
 
5446
- # If true, specifies the CORS policy is disabled. The default value of false,
5447
- # which indicates that the CORS policy is in effect.
5469
+ # If true, the setting specifies the CORS policy is disabled. The default value
5470
+ # of false, which indicates that the CORS policy is in effect.
5448
5471
  # Corresponds to the JSON property `disabled`
5449
5472
  # @return [Boolean]
5450
5473
  attr_accessor :disabled
@@ -5456,7 +5479,7 @@ module Google
5456
5479
  attr_accessor :expose_headers
5457
5480
 
5458
5481
  # Specifies how long results of a preflight request can be cached in seconds.
5459
- # This translates to the Access-Control-Max-Age header.
5482
+ # This field translates to the Access-Control-Max-Age header.
5460
5483
  # Corresponds to the JSON property `maxAge`
5461
5484
  # @return [Fixnum]
5462
5485
  attr_accessor :max_age
@@ -5482,30 +5505,39 @@ module Google
5482
5505
  class CustomerEncryptionKey
5483
5506
  include Google::Apis::Core::Hashable
5484
5507
 
5485
- # The name of the encryption key that is stored in Google Cloud KMS.
5508
+ # The name of the encryption key that is stored in Google Cloud KMS. For example:
5509
+ # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
5510
+ # cryptoKeys/key
5486
5511
  # Corresponds to the JSON property `kmsKeyName`
5487
5512
  # @return [String]
5488
5513
  attr_accessor :kms_key_name
5489
5514
 
5490
5515
  # The service account being used for the encryption request for the given KMS
5491
- # key. If absent, the Compute Engine default service account is used.
5516
+ # key. If absent, the Compute Engine default service account is used. For
5517
+ # example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
5492
5518
  # Corresponds to the JSON property `kmsKeyServiceAccount`
5493
5519
  # @return [String]
5494
5520
  attr_accessor :kms_key_service_account
5495
5521
 
5496
5522
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
5497
- # base64 to either encrypt or decrypt this resource.
5523
+ # base64 to either encrypt or decrypt this resource. You can provide either the
5524
+ # rawKey or the rsaEncryptedKey. For example: "rawKey": "
5525
+ # SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
5498
5526
  # Corresponds to the JSON property `rawKey`
5499
5527
  # @return [String]
5500
5528
  attr_accessor :raw_key
5501
5529
 
5502
5530
  # Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
5503
- # encryption key to either encrypt or decrypt this resource. The key must meet
5504
- # the following requirements before you can provide it to Compute Engine: 1. The
5505
- # key is wrapped using a RSA public key certificate provided by Google. 2. After
5506
- # being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the
5507
- # RSA public key certificate provided by Google at: https://cloud-certs.storage.
5508
- # googleapis.com/google-cloud-csek-ingress.pem
5531
+ # encryption key to either encrypt or decrypt this resource. You can provide
5532
+ # either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
5533
+ # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
5534
+ # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
5535
+ # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
5536
+ # key must meet the following requirements before you can provide it to Compute
5537
+ # Engine: 1. The key is wrapped using a RSA public key certificate provided by
5538
+ # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
5539
+ # encoding. Gets the RSA public key certificate provided by Google at: https://
5540
+ # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
5509
5541
  # Corresponds to the JSON property `rsaEncryptedKey`
5510
5542
  # @return [String]
5511
5543
  attr_accessor :rsa_encrypted_key
@@ -5540,7 +5572,8 @@ module Google
5540
5572
  attr_accessor :disk_encryption_key
5541
5573
 
5542
5574
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
5543
- # This field is only applicable for persistent disks.
5575
+ # This field is only applicable for persistent disks. For example: "source": "/
5576
+ # compute/v1/projects/project_id/zones/zone/disks/ disk_name
5544
5577
  # Corresponds to the JSON property `source`
5545
5578
  # @return [String]
5546
5579
  attr_accessor :source
@@ -7573,7 +7606,7 @@ module Google
7573
7606
  # Name of the resource; provided by the client when the resource is created. The
7574
7607
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
7575
7608
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
7576
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
7609
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
7577
7610
  # following characters (except for the last character) must be a dash, lowercase
7578
7611
  # letter, or digit. The last character must be a lowercase letter or digit.
7579
7612
  # Corresponds to the JSON property `name`
@@ -7948,7 +7981,7 @@ module Google
7948
7981
  attr_accessor :description
7949
7982
 
7950
7983
  # Deprecated, please use short name instead. User-provided name of the
7951
- # Organization firewall plicy. The name should be unique in the organization in
7984
+ # Organization firewall policy. The name should be unique in the organization in
7952
7985
  # which the firewall policy is created. This name must be set on creation and
7953
7986
  # cannot be changed. The name must be 1-63 characters long, and comply with
7954
7987
  # RFC1035. Specifically, the name must be 1-63 characters long and match the
@@ -9234,31 +9267,31 @@ module Google
9234
9267
 
9235
9268
  # An Identity and Access Management (IAM) policy, which specifies access
9236
9269
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
9237
- # A `binding` binds one or more `members` to a single `role`. Members can be
9238
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
9239
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
9240
- # role or a user-created custom role. For some types of Google Cloud resources,
9241
- # a `binding` can also specify a `condition`, which is a logical expression that
9242
- # allows access to a resource only if the expression evaluates to `true`. A
9243
- # condition can add constraints based on attributes of the request, the resource,
9244
- # or both. To learn which resources support conditions in their IAM policies,
9245
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
9246
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
9247
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
9248
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
9249
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
9250
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
9251
- # title": "expirable access", "description": "Does not grant access after Sep
9252
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
9253
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
9254
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
9255
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
9256
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9257
- # roles/resourcemanager.organizationViewer condition: title: expirable access
9258
- # description: Does not grant access after Sep 2020 expression: request.time <
9259
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9260
- # description of IAM and its features, see the [IAM documentation](https://cloud.
9261
- # google.com/iam/docs/).
9270
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9271
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9272
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9273
+ # an IAM predefined role or a user-created custom role. For some types of Google
9274
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9275
+ # logical expression that allows access to a resource only if the expression
9276
+ # evaluates to `true`. A condition can add constraints based on attributes of
9277
+ # the request, the resource, or both. To learn which resources support
9278
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9279
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9280
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9281
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9282
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9283
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9284
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9285
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9286
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9287
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9288
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9289
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9290
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9291
+ # access description: Does not grant access after Sep 2020 expression: request.
9292
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9293
+ # a description of IAM and its features, see the [IAM documentation](https://
9294
+ # cloud.google.com/iam/docs/).
9262
9295
  # Corresponds to the JSON property `policy`
9263
9296
  # @return [Google::Apis::ComputeBeta::Policy]
9264
9297
  attr_accessor :policy
@@ -9331,31 +9364,31 @@ module Google
9331
9364
 
9332
9365
  # An Identity and Access Management (IAM) policy, which specifies access
9333
9366
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
9334
- # A `binding` binds one or more `members` to a single `role`. Members can be
9335
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
9336
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
9337
- # role or a user-created custom role. For some types of Google Cloud resources,
9338
- # a `binding` can also specify a `condition`, which is a logical expression that
9339
- # allows access to a resource only if the expression evaluates to `true`. A
9340
- # condition can add constraints based on attributes of the request, the resource,
9341
- # or both. To learn which resources support conditions in their IAM policies,
9342
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
9343
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
9344
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
9345
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
9346
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
9347
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
9348
- # title": "expirable access", "description": "Does not grant access after Sep
9349
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
9350
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
9351
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
9352
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
9353
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9354
- # roles/resourcemanager.organizationViewer condition: title: expirable access
9355
- # description: Does not grant access after Sep 2020 expression: request.time <
9356
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9357
- # description of IAM and its features, see the [IAM documentation](https://cloud.
9358
- # google.com/iam/docs/).
9367
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9368
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9369
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9370
+ # an IAM predefined role or a user-created custom role. For some types of Google
9371
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9372
+ # logical expression that allows access to a resource only if the expression
9373
+ # evaluates to `true`. A condition can add constraints based on attributes of
9374
+ # the request, the resource, or both. To learn which resources support
9375
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9376
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9377
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9378
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9379
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9380
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9381
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9382
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9383
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9384
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9385
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9386
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9387
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9388
+ # access description: Does not grant access after Sep 2020 expression: request.
9389
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9390
+ # a description of IAM and its features, see the [IAM documentation](https://
9391
+ # cloud.google.com/iam/docs/).
9359
9392
  # Corresponds to the JSON property `policy`
9360
9393
  # @return [Google::Apis::ComputeBeta::Policy]
9361
9394
  attr_accessor :policy
@@ -9477,8 +9510,11 @@ module Google
9477
9510
  class GuestOsFeature
9478
9511
  include Google::Apis::Core::Hashable
9479
9512
 
9480
- # The ID of a supported feature. Read Enabling guest operating system features
9481
- # to see a list of available options.
9513
+ # The ID of a supported feature. To add multiple values, use commas to separate
9514
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9515
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9516
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
9517
+ # guest operating system features.
9482
9518
  # Corresponds to the JSON property `type`
9483
9519
  # @return [String]
9484
9520
  attr_accessor :type
@@ -10638,7 +10674,8 @@ module Google
10638
10674
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
10639
10675
  # In that case, * must be the first character and must be followed in the
10640
10676
  # pattern by either - or .. * based matching is not supported when the URL map
10641
- # is bound to target gRPC proxy that has validateForProxyless field set to true.
10677
+ # is bound to a target gRPC proxy that has the validateForProxyless field set to
10678
+ # true.
10642
10679
  # Corresponds to the JSON property `hosts`
10643
10680
  # @return [Array<String>]
10644
10681
  attr_accessor :hosts
@@ -10665,8 +10702,8 @@ module Google
10665
10702
  class HttpFaultAbort
10666
10703
  include Google::Apis::Core::Hashable
10667
10704
 
10668
- # The HTTP status code used to abort the request. The value must be between 200
10669
- # and 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10705
+ # The HTTP status code used to abort the request. The value must be from 200 to
10706
+ # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10670
10707
  # status code according to this mapping table. HTTP status 200 is mapped to gRPC
10671
10708
  # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
10672
10709
  # Director.
@@ -10674,8 +10711,8 @@ module Google
10674
10711
  # @return [Fixnum]
10675
10712
  attr_accessor :http_status
10676
10713
 
10677
- # The percentage of traffic (connections/operations/requests) which will be
10678
- # aborted as part of fault injection. The value must be between 0.0 and 100.0
10714
+ # The percentage of traffic for connections, operations, or requests that is
10715
+ # aborted as part of fault injection. The value must be from 0.0 to 100.0
10679
10716
  # inclusive.
10680
10717
  # Corresponds to the JSON property `percentage`
10681
10718
  # @return [Float]
@@ -10692,8 +10729,8 @@ module Google
10692
10729
  end
10693
10730
  end
10694
10731
 
10695
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10696
- # to the backend service as part of fault injection.
10732
+ # Specifies the delay introduced by the load balancer before forwarding the
10733
+ # request to the backend service as part of fault injection.
10697
10734
  class HttpFaultDelay
10698
10735
  include Google::Apis::Core::Hashable
10699
10736
 
@@ -10705,9 +10742,9 @@ module Google
10705
10742
  # @return [Google::Apis::ComputeBeta::Duration]
10706
10743
  attr_accessor :fixed_delay
10707
10744
 
10708
- # The percentage of traffic (connections/operations/requests) on which delay
10709
- # will be introduced as part of fault injection. The value must be between 0.0
10710
- # and 100.0 inclusive.
10745
+ # The percentage of traffic for connections, operations, or requests for which a
10746
+ # delay is introduced as part of fault injection. The value must be from 0.0 to
10747
+ # 100.0 inclusive.
10711
10748
  # Corresponds to the JSON property `percentage`
10712
10749
  # @return [Float]
10713
10750
  attr_accessor :percentage
@@ -10726,9 +10763,9 @@ module Google
10726
10763
  # The specification for fault injection introduced into traffic to test the
10727
10764
  # resiliency of clients to backend service failure. As part of fault injection,
10728
10765
  # when clients send requests to a backend service, delays can be introduced by
10729
- # Loadbalancer on a percentage of requests before sending those request to the
10730
- # backend service. Similarly requests from clients can be aborted by the
10731
- # Loadbalancer for a percentage of requests.
10766
+ # the load balancer on a percentage of requests before sending those request to
10767
+ # the backend service. Similarly requests from clients can be aborted by the
10768
+ # load balancer for a percentage of requests.
10732
10769
  class HttpFaultInjection
10733
10770
  include Google::Apis::Core::Hashable
10734
10771
 
@@ -10737,8 +10774,8 @@ module Google
10737
10774
  # @return [Google::Apis::ComputeBeta::HttpFaultAbort]
10738
10775
  attr_accessor :abort
10739
10776
 
10740
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10741
- # to the backend service as part of fault injection.
10777
+ # Specifies the delay introduced by the load balancer before forwarding the
10778
+ # request to the backend service as part of fault injection.
10742
10779
  # Corresponds to the JSON property `delay`
10743
10780
  # @return [Google::Apis::ComputeBeta::HttpFaultDelay]
10744
10781
  attr_accessor :delay
@@ -10796,25 +10833,25 @@ module Google
10796
10833
  class HttpHeaderAction
10797
10834
  include Google::Apis::Core::Hashable
10798
10835
 
10799
- # Headers to add to a matching request prior to forwarding the request to the
10836
+ # Headers to add to a matching request before forwarding the request to the
10800
10837
  # backendService.
10801
10838
  # Corresponds to the JSON property `requestHeadersToAdd`
10802
10839
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10803
10840
  attr_accessor :request_headers_to_add
10804
10841
 
10805
10842
  # A list of header names for headers that need to be removed from the request
10806
- # prior to forwarding the request to the backendService.
10843
+ # before forwarding the request to the backendService.
10807
10844
  # Corresponds to the JSON property `requestHeadersToRemove`
10808
10845
  # @return [Array<String>]
10809
10846
  attr_accessor :request_headers_to_remove
10810
10847
 
10811
- # Headers to add the response prior to sending the response back to the client.
10848
+ # Headers to add the response before sending the response back to the client.
10812
10849
  # Corresponds to the JSON property `responseHeadersToAdd`
10813
10850
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10814
10851
  attr_accessor :response_headers_to_add
10815
10852
 
10816
10853
  # A list of header names for headers that need to be removed from the response
10817
- # prior to sending the response back to the client.
10854
+ # before sending the response back to the client.
10818
10855
  # Corresponds to the JSON property `responseHeadersToRemove`
10819
10856
  # @return [Array<String>]
10820
10857
  attr_accessor :response_headers_to_remove
@@ -10844,21 +10881,21 @@ module Google
10844
10881
 
10845
10882
  # The name of the HTTP header to match. For matching against the HTTP request's
10846
10883
  # authority, use a headerMatch with the header name ":authority". For matching a
10847
- # request's method, use the headerName ":method". When the URL map is bound to
10848
- # target gRPC proxy that has validateForProxyless field set to true, only non-
10849
- # binary user-specified custom metadata and the `content-type` header are
10884
+ # request's method, use the headerName ":method". When the URL map is bound to a
10885
+ # target gRPC proxy that has the validateForProxyless field set to true, only
10886
+ # non-binary user-specified custom metadata and the `content-type` header are
10850
10887
  # supported. The following transport-level headers cannot be used in header
10851
10888
  # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
10852
10889
  # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
10853
10890
  # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
10854
- # bin.
10891
+ # bin`.
10855
10892
  # Corresponds to the JSON property `headerName`
10856
10893
  # @return [String]
10857
10894
  attr_accessor :header_name
10858
10895
 
10859
- # If set to false, the headerMatch is considered a match if the match criteria
10860
- # above are met. If set to true, the headerMatch is considered a match if the
10861
- # match criteria above are NOT met. The default setting is false.
10896
+ # If set to false, the headerMatch is considered a match if the preceding match
10897
+ # criteria are met. If set to true, the headerMatch is considered a match if the
10898
+ # preceding match criteria are NOT met. The default setting is false.
10862
10899
  # Corresponds to the JSON property `invertMatch`
10863
10900
  # @return [Boolean]
10864
10901
  attr_accessor :invert_match
@@ -10886,13 +10923,13 @@ module Google
10886
10923
  attr_accessor :range_match
10887
10924
 
10888
10925
  # The value of the header must match the regular expression specified in
10889
- # regexMatch. For regular expression grammar, please see: github.com/google/re2/
10890
- # wiki/Syntax For matching against a port specified in the HTTP request, use a
10891
- # headerMatch with headerName set to PORT and a regular expression that
10892
- # satisfies the RFC2616 Host header's port specifier. Only one of exactMatch,
10893
- # prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
10894
- # Note that regexMatch only applies to Loadbalancers that have their
10895
- # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
10926
+ # regexMatch. For more information about regular expression syntax, see Syntax.
10927
+ # For matching against a port specified in the HTTP request, use a headerMatch
10928
+ # with headerName set to PORT and a regular expression that satisfies the
10929
+ # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
10930
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
10931
+ # only applies to load balancers that have loadBalancingScheme set to
10932
+ # INTERNAL_SELF_MANAGED.
10896
10933
  # Corresponds to the JSON property `regexMatch`
10897
10934
  # @return [String]
10898
10935
  attr_accessor :regex_match
@@ -11187,8 +11224,8 @@ module Google
11187
11224
  include Google::Apis::Core::Hashable
11188
11225
 
11189
11226
  # The queryParameterMatch matches if the value of the parameter exactly matches
11190
- # the contents of exactMatch. Only one of presentMatch, exactMatch or regexMatch
11191
- # must be set.
11227
+ # the contents of exactMatch. Only one of presentMatch, exactMatch, or
11228
+ # regexMatch must be set.
11192
11229
  # Corresponds to the JSON property `exactMatch`
11193
11230
  # @return [String]
11194
11231
  attr_accessor :exact_match
@@ -11201,17 +11238,17 @@ module Google
11201
11238
 
11202
11239
  # Specifies that the queryParameterMatch matches if the request contains the
11203
11240
  # query parameter, irrespective of whether the parameter has a value or not.
11204
- # Only one of presentMatch, exactMatch or regexMatch must be set.
11241
+ # Only one of presentMatch, exactMatch, or regexMatch must be set.
11205
11242
  # Corresponds to the JSON property `presentMatch`
11206
11243
  # @return [Boolean]
11207
11244
  attr_accessor :present_match
11208
11245
  alias_method :present_match?, :present_match
11209
11246
 
11210
11247
  # The queryParameterMatch matches if the value of the parameter matches the
11211
- # regular expression specified by regexMatch. For the regular expression grammar,
11212
- # please see github.com/google/re2/wiki/Syntax Only one of presentMatch,
11213
- # exactMatch or regexMatch must be set. Note that regexMatch only applies when
11214
- # the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
11248
+ # regular expression specified by regexMatch. For more information about regular
11249
+ # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
11250
+ # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
11251
+ # is set to INTERNAL_SELF_MANAGED.
11215
11252
  # Corresponds to the JSON property `regexMatch`
11216
11253
  # @return [String]
11217
11254
  attr_accessor :regex_match
@@ -11233,15 +11270,15 @@ module Google
11233
11270
  class HttpRedirectAction
11234
11271
  include Google::Apis::Core::Hashable
11235
11272
 
11236
- # The host that will be used in the redirect response instead of the one that
11237
- # was supplied in the request. The value must be between 1 and 255 characters.
11273
+ # The host that is used in the redirect response instead of the one that was
11274
+ # supplied in the request. The value must be from 1 to 255 characters.
11238
11275
  # Corresponds to the JSON property `hostRedirect`
11239
11276
  # @return [String]
11240
11277
  attr_accessor :host_redirect
11241
11278
 
11242
- # If set to true, the URL scheme in the redirected request is set to https. If
11243
- # set to false, the URL scheme of the redirected request will remain the same as
11244
- # that of the request. This must only be set for UrlMaps used in
11279
+ # If set to true, the URL scheme in the redirected request is set to HTTPS. If
11280
+ # set to false, the URL scheme of the redirected request remains the same as
11281
+ # that of the request. This must only be set for URL maps used in
11245
11282
  # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
11246
11283
  # default is set to false.
11247
11284
  # Corresponds to the JSON property `httpsRedirect`
@@ -11249,11 +11286,11 @@ module Google
11249
11286
  attr_accessor :https_redirect
11250
11287
  alias_method :https_redirect?, :https_redirect
11251
11288
 
11252
- # The path that will be used in the redirect response instead of the one that
11253
- # was supplied in the request. pathRedirect cannot be supplied together with
11289
+ # The path that is used in the redirect response instead of the one that was
11290
+ # supplied in the request. pathRedirect cannot be supplied together with
11254
11291
  # prefixRedirect. Supply one alone or neither. If neither is supplied, the path
11255
- # of the original request will be used for the redirect. The value must be
11256
- # between 1 and 1024 characters.
11292
+ # of the original request is used for the redirect. The value must be from 1 to
11293
+ # 1024 characters.
11257
11294
  # Corresponds to the JSON property `pathRedirect`
11258
11295
  # @return [String]
11259
11296
  attr_accessor :path_redirect
@@ -11261,8 +11298,8 @@ module Google
11261
11298
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
11262
11299
  # retaining the remaining portion of the URL before redirecting the request.
11263
11300
  # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
11264
- # or neither. If neither is supplied, the path of the original request will be
11265
- # used for the redirect. The value must be between 1 and 1024 characters.
11301
+ # or neither. If neither is supplied, the path of the original request is used
11302
+ # for the redirect. The value must be from 1 to 1024 characters.
11266
11303
  # Corresponds to the JSON property `prefixRedirect`
11267
11304
  # @return [String]
11268
11305
  attr_accessor :prefix_redirect
@@ -11271,14 +11308,14 @@ module Google
11271
11308
  # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
11272
11309
  # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
11273
11310
  # TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
11274
- # will be retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case,
11275
- # the request method will be retained.
11311
+ # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
11312
+ # request method is retained.
11276
11313
  # Corresponds to the JSON property `redirectResponseCode`
11277
11314
  # @return [String]
11278
11315
  attr_accessor :redirect_response_code
11279
11316
 
11280
11317
  # If set to true, any accompanying query portion of the original URL is removed
11281
- # prior to redirecting the request. If set to false, the query portion of the
11318
+ # before redirecting the request. If set to false, the query portion of the
11282
11319
  # original URL is retained. The default is set to false.
11283
11320
  # Corresponds to the JSON property `stripQuery`
11284
11321
  # @return [Boolean]
@@ -11319,25 +11356,27 @@ module Google
11319
11356
  attr_accessor :per_try_timeout
11320
11357
 
11321
11358
  # Specifies one or more conditions when this retry policy applies. Valid values
11322
- # are: - 5xx: Retry will be attempted if the instance or endpoint responds with
11323
- # any 5xx response code, or if the instance or endpoint does not respond at all,
11324
- # example: disconnects, reset, read timeout, connection failure, and refused
11359
+ # are: - 5xx: retry is attempted if the instance or endpoint responds with any
11360
+ # 5xx response code, or if the instance or endpoint does not respond at all. For
11361
+ # example, disconnects, reset, read timeout, connection failure, and refused
11325
11362
  # streams. - gateway-error: Similar to 5xx, but only applies to response codes
11326
- # 502, 503 or 504. - - connect-failure: A retry will be attempted on failures
11327
- # connecting to the instance or endpoint, for example due to connection timeouts.
11328
- # - retriable-4xx: A retry will be attempted if the instance or endpoint
11329
- # responds with a retriable 4xx response code. Currently the only retriable
11330
- # error supported is 409. - refused-stream: A retry will be attempted if the
11331
- # instance or endpoint resets the stream with a REFUSED_STREAM error code. This
11332
- # reset type indicates that it is safe to retry. - cancelled: A retry will be
11333
- # attempted if the gRPC status code in the response header is set to cancelled. -
11334
- # deadline-exceeded: A retry will be attempted if the gRPC status code in the
11335
- # response header is set to deadline-exceeded. - internal: A retry will be
11336
- # attempted if the gRPC status code in the response header is set to internal. -
11337
- # resource-exhausted: A retry will be attempted if the gRPC status code in the
11338
- # response header is set to resource-exhausted. - unavailable: A retry will be
11339
- # attempted if the gRPC status code in the response header is set to unavailable.
11340
- #
11363
+ # 502, 503 or 504. - connect-failure: a retry is attempted on failures
11364
+ # connecting to the instance or endpoint. For example, connection timeouts. -
11365
+ # retriable-4xx: a retry is attempted if the instance or endpoint responds with
11366
+ # a 4xx response code. The only error that you can retry is error code 409. -
11367
+ # refused-stream: a retry is attempted if the instance or endpoint resets the
11368
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
11369
+ # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
11370
+ # the response header is set to cancelled. - deadline-exceeded: a retry is
11371
+ # attempted if the gRPC status code in the response header is set to deadline-
11372
+ # exceeded. - internal: a retry is attempted if the gRPC status code in the
11373
+ # response header is set to internal. - resource-exhausted: a retry is attempted
11374
+ # if the gRPC status code in the response header is set to resource-exhausted. -
11375
+ # unavailable: a retry is attempted if the gRPC status code in the response
11376
+ # header is set to unavailable. Only the following codes are supported when the
11377
+ # URL map is bound to target gRPC proxy that has validateForProxyless field set
11378
+ # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
11379
+ # unavailable
11341
11380
  # Corresponds to the JSON property `retryConditions`
11342
11381
  # @return [Array<String>]
11343
11382
  attr_accessor :retry_conditions
@@ -11358,8 +11397,9 @@ module Google
11358
11397
  class HttpRouteAction
11359
11398
  include Google::Apis::Core::Hashable
11360
11399
 
11361
- # The specification for allowing client side cross-origin requests. Please see
11362
- # W3C Recommendation for Cross Origin Resource Sharing
11400
+ # The specification for allowing client-side cross-origin requests. For more
11401
+ # information about the W3C recommendation for cross-origin resource sharing (
11402
+ # CORS), see Fetch API Living Standard.
11363
11403
  # Corresponds to the JSON property `corsPolicy`
11364
11404
  # @return [Google::Apis::ComputeBeta::CorsPolicy]
11365
11405
  attr_accessor :cors_policy
@@ -11367,9 +11407,9 @@ module Google
11367
11407
  # The specification for fault injection introduced into traffic to test the
11368
11408
  # resiliency of clients to backend service failure. As part of fault injection,
11369
11409
  # when clients send requests to a backend service, delays can be introduced by
11370
- # Loadbalancer on a percentage of requests before sending those request to the
11371
- # backend service. Similarly requests from clients can be aborted by the
11372
- # Loadbalancer for a percentage of requests.
11410
+ # the load balancer on a percentage of requests before sending those request to
11411
+ # the backend service. Similarly requests from clients can be aborted by the
11412
+ # load balancer for a percentage of requests.
11373
11413
  # Corresponds to the JSON property `faultInjectionPolicy`
11374
11414
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11375
11415
  attr_accessor :fault_injection_policy
@@ -11383,9 +11423,9 @@ module Google
11383
11423
  attr_accessor :max_stream_duration
11384
11424
 
11385
11425
  # A policy that specifies how requests intended for the route's backends are
11386
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11387
- # for responses from the shadow service. Prior to sending traffic to the shadow
11388
- # service, the host / authority header is suffixed with -shadow.
11426
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
11427
+ # wait for responses from the shadow service. Before sending traffic to the
11428
+ # shadow service, the host or authority header is suffixed with -shadow.
11389
11429
  # Corresponds to the JSON property `requestMirrorPolicy`
11390
11430
  # @return [Google::Apis::ComputeBeta::RequestMirrorPolicy]
11391
11431
  attr_accessor :request_mirror_policy
@@ -11413,7 +11453,7 @@ module Google
11413
11453
  # occurs. The weights determine the fraction of traffic that flows to their
11414
11454
  # corresponding backend service. If all traffic needs to go to a single backend
11415
11455
  # service, there must be one weightedBackendService with weight set to a non-
11416
- # zero number. Once a backendService is identified and before forwarding the
11456
+ # zero number. After a backend service is identified and before forwarding the
11417
11457
  # request to the backend service, advanced routing actions such as URL rewrites
11418
11458
  # and header transformations are applied depending on additional settings
11419
11459
  # specified in this HttpRouteAction.
@@ -11438,8 +11478,8 @@ module Google
11438
11478
  end
11439
11479
  end
11440
11480
 
11441
- # An HttpRouteRule specifies how to match an HTTP request and the corresponding
11442
- # routing action that load balancing proxies will perform.
11481
+ # The HttpRouteRule setting specifies how to match an HTTP request and the
11482
+ # corresponding routing action that load balancing proxies perform.
11443
11483
  class HttpRouteRule
11444
11484
  include Google::Apis::Core::Hashable
11445
11485
 
@@ -11456,9 +11496,9 @@ module Google
11456
11496
  attr_accessor :header_action
11457
11497
 
11458
11498
  # Outbound route specific configuration for networkservices.HttpFilter resources
11459
- # enabled by Traffic Director. httpFilterConfigs only applies for Loadbalancers
11499
+ # enabled by Traffic Director. httpFilterConfigs only applies for load balancers
11460
11500
  # with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for
11461
- # more details. Not supported when the URL map is bound to target gRPC proxy
11501
+ # more details. Not supported when the URL map is bound to a target gRPC proxy
11462
11502
  # that has validateForProxyless field set to true.
11463
11503
  # Corresponds to the JSON property `httpFilterConfigs`
11464
11504
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
@@ -11466,10 +11506,10 @@ module Google
11466
11506
 
11467
11507
  # Outbound route specific metadata supplied to networkservices.HttpFilter
11468
11508
  # resources enabled by Traffic Director. httpFilterMetadata only applies for
11469
- # Loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11509
+ # load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11470
11510
  # ForwardingRule for more details. The only configTypeUrl supported is type.
11471
11511
  # googleapis.com/google.protobuf.Struct Not supported when the URL map is bound
11472
- # to target gRPC proxy that has validateForProxyless field set to true.
11512
+ # to a target gRPC proxy that has validateForProxyless field set to true.
11473
11513
  # Corresponds to the JSON property `httpFilterMetadata`
11474
11514
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
11475
11515
  attr_accessor :http_filter_metadata
@@ -11484,11 +11524,11 @@ module Google
11484
11524
  attr_accessor :match_rules
11485
11525
 
11486
11526
  # For routeRules within a given pathMatcher, priority determines the order in
11487
- # which load balancer will interpret routeRules. RouteRules are evaluated in
11488
- # order of priority, from the lowest to highest number. The priority of a rule
11527
+ # which a load balancer interprets routeRules. RouteRules are evaluated in order
11528
+ # of priority, from the lowest to highest number. The priority of a rule
11489
11529
  # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
11490
11530
  # the request is applied. You cannot configure two or more routeRules with the
11491
- # same priority. Priority for each rule must be set to a number between 0 and
11531
+ # same priority. Priority for each rule must be set to a number from 0 to
11492
11532
  # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
11493
11533
  # or remove rules in the future without affecting the rest of the rules. For
11494
11534
  # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
@@ -11499,24 +11539,24 @@ module Google
11499
11539
  attr_accessor :priority
11500
11540
 
11501
11541
  # In response to a matching matchRule, the load balancer performs advanced
11502
- # routing actions like URL rewrites, header transformations, etc. prior to
11542
+ # routing actions, such as URL rewrites and header transformations, before
11503
11543
  # forwarding the request to the selected backend. If routeAction specifies any
11504
11544
  # weightedBackendServices, service must not be set. Conversely if service is set,
11505
11545
  # routeAction cannot contain any weightedBackendServices. Only one of
11506
11546
  # urlRedirect, service or routeAction.weightedBackendService must be set.
11507
11547
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
11508
- # within a routeRule's routeAction.
11548
+ # within a route rule's routeAction.
11509
11549
  # Corresponds to the JSON property `routeAction`
11510
11550
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
11511
11551
  attr_accessor :route_action
11512
11552
 
11513
11553
  # The full or partial URL of the backend service resource to which traffic is
11514
- # directed if this rule is matched. If routeAction is additionally specified,
11515
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
11516
- # the request to the backend. However, if service is specified, routeAction
11517
- # cannot contain any weightedBackendService s. Conversely, if routeAction
11518
- # specifies any weightedBackendServices, service must not be specified. Only one
11519
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
11554
+ # directed if this rule is matched. If routeAction is also specified, advanced
11555
+ # routing actions, such as URL rewrites, take effect before sending the request
11556
+ # to the backend. However, if service is specified, routeAction cannot contain
11557
+ # any weightedBackendServices. Conversely, if routeAction specifies any
11558
+ # weightedBackendServices, service must not be specified. Only one of
11559
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
11520
11560
  # Corresponds to the JSON property `service`
11521
11561
  # @return [String]
11522
11562
  attr_accessor :service
@@ -11551,9 +11591,9 @@ module Google
11551
11591
 
11552
11592
  # For satisfying the matchRule condition, the path of the request must exactly
11553
11593
  # match the value specified in fullPathMatch after removing any query parameters
11554
- # and anchor that may be part of the original URL. fullPathMatch must be between
11555
- # 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11556
- # must be specified.
11594
+ # and anchor that may be part of the original URL. fullPathMatch must be from 1
11595
+ # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
11596
+ # be specified.
11557
11597
  # Corresponds to the JSON property `fullPathMatch`
11558
11598
  # @return [String]
11559
11599
  attr_accessor :full_path_match
@@ -11566,53 +11606,52 @@ module Google
11566
11606
 
11567
11607
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
11568
11608
  # default value is false. ignoreCase must not be used with regexMatch. Not
11569
- # supported when the URL map is bound to target gRPC proxy.
11609
+ # supported when the URL map is bound to a target gRPC proxy.
11570
11610
  # Corresponds to the JSON property `ignoreCase`
11571
11611
  # @return [Boolean]
11572
11612
  attr_accessor :ignore_case
11573
11613
  alias_method :ignore_case?, :ignore_case
11574
11614
 
11575
- # Opaque filter criteria used by Loadbalancer to restrict routing configuration
11576
- # to a limited set of xDS compliant clients. In their xDS requests to
11577
- # Loadbalancer, xDS clients present node metadata. When there is a match, the
11578
- # relevant routing configuration is made available to those proxies. For each
11579
- # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
11580
- # at least one of the filterLabels must match the corresponding label provided
11581
- # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
11582
- # its filterLabels must match with corresponding labels provided in the metadata.
11583
- # If multiple metadataFilters are specified, all of them need to be satisfied
11584
- # in order to be considered a match. metadataFilters specified here will be
11615
+ # Opaque filter criteria used by the load balancer to restrict routing
11616
+ # configuration to a limited set of xDS compliant clients. In their xDS requests
11617
+ # to the load balancer, xDS clients present node metadata. When there is a match,
11618
+ # the relevant routing configuration is made available to those proxies. For
11619
+ # each metadataFilter in this list, if its filterMatchCriteria is set to
11620
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
11621
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
11622
+ # all of its filterLabels must match with corresponding labels provided in the
11623
+ # metadata. If multiple metadata filters are specified, all of them need to be
11624
+ # satisfied in order to be considered a match. metadataFilters specified here is
11585
11625
  # applied after those specified in ForwardingRule that refers to the UrlMap this
11586
- # HttpRouteRuleMatch belongs to. metadataFilters only applies to Loadbalancers
11587
- # that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not
11588
- # supported when the URL map is bound to target gRPC proxy that has
11589
- # validateForProxyless field set to true.
11626
+ # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
11627
+ # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
11628
+ # the URL map is bound to a target gRPC proxy that has validateForProxyless
11629
+ # field set to true.
11590
11630
  # Corresponds to the JSON property `metadataFilters`
11591
11631
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
11592
11632
  attr_accessor :metadata_filters
11593
11633
 
11594
11634
  # For satisfying the matchRule condition, the request's path must begin with the
11595
- # specified prefixMatch. prefixMatch must begin with a /. The value must be
11596
- # between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
11597
- # regexMatch must be specified.
11635
+ # specified prefixMatch. prefixMatch must begin with a /. The value must be from
11636
+ # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11637
+ # must be specified.
11598
11638
  # Corresponds to the JSON property `prefixMatch`
11599
11639
  # @return [String]
11600
11640
  attr_accessor :prefix_match
11601
11641
 
11602
11642
  # Specifies a list of query parameter match criteria, all of which must match
11603
11643
  # corresponding query parameters in the request. Not supported when the URL map
11604
- # is bound to target gRPC proxy.
11644
+ # is bound to a target gRPC proxy.
11605
11645
  # Corresponds to the JSON property `queryParameterMatches`
11606
11646
  # @return [Array<Google::Apis::ComputeBeta::HttpQueryParameterMatch>]
11607
11647
  attr_accessor :query_parameter_matches
11608
11648
 
11609
11649
  # For satisfying the matchRule condition, the path of the request must satisfy
11610
11650
  # the regular expression specified in regexMatch after removing any query
11611
- # parameters and anchor supplied with the original URL. For regular expression
11612
- # grammar please see github.com/google/re2/wiki/Syntax Only one of prefixMatch,
11613
- # fullPathMatch or regexMatch must be specified. Note that regexMatch only
11614
- # applies to Loadbalancers that have their loadBalancingScheme set to
11615
- # INTERNAL_SELF_MANAGED.
11651
+ # parameters and anchor supplied with the original URL. For more information
11652
+ # about regular expression syntax, see Syntax. Only one of prefixMatch,
11653
+ # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
11654
+ # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
11616
11655
  # Corresponds to the JSON property `regexMatch`
11617
11656
  # @return [String]
11618
11657
  attr_accessor :regex_match
@@ -11900,8 +11939,8 @@ module Google
11900
11939
  attr_accessor :family
11901
11940
 
11902
11941
  # A list of features to enable on the guest operating system. Applicable only
11903
- # for bootable images. Read Enabling guest operating system features to see a
11904
- # list of available options.
11942
+ # for bootable images. To see a list of available options, see the
11943
+ # guestOSfeatures[].type parameter.
11905
11944
  # Corresponds to the JSON property `guestOsFeatures`
11906
11945
  # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
11907
11946
  attr_accessor :guest_os_features
@@ -15318,7 +15357,7 @@ module Google
15318
15357
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
15319
15358
  attr_accessor :network_interfaces
15320
15359
 
15321
- #
15360
+ # Note that for MachineImage, this is not supported yet.
15322
15361
  # Corresponds to the JSON property `networkPerformanceConfig`
15323
15362
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
15324
15363
  attr_accessor :network_performance_config
@@ -15329,7 +15368,8 @@ module Google
15329
15368
  attr_accessor :post_key_revocation_action_type
15330
15369
 
15331
15370
  # The private IPv6 google access type for VMs. If not specified, use
15332
- # INHERIT_FROM_SUBNETWORK as default.
15371
+ # INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
15372
+ # supported yet.
15333
15373
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
15334
15374
  # @return [String]
15335
15375
  attr_accessor :private_ipv6_google_access
@@ -15340,7 +15380,7 @@ module Google
15340
15380
  attr_accessor :reservation_affinity
15341
15381
 
15342
15382
  # Resource policies (names, not ULRs) applied to instances created from these
15343
- # properties.
15383
+ # properties. Note that for MachineImage, this is not supported yet.
15344
15384
  # Corresponds to the JSON property `resourcePolicies`
15345
15385
  # @return [Array<String>]
15346
15386
  attr_accessor :resource_policies
@@ -16264,6 +16304,14 @@ module Google
16264
16304
  # @return [Fixnum]
16265
16305
  attr_accessor :requested_link_count
16266
16306
 
16307
+ # [Output Only] Set to true if the resource satisfies the zone separation
16308
+ # organization policy constraints and false otherwise. Defaults to false if the
16309
+ # field is not present.
16310
+ # Corresponds to the JSON property `satisfiesPzs`
16311
+ # @return [Boolean]
16312
+ attr_accessor :satisfies_pzs
16313
+ alias_method :satisfies_pzs?, :satisfies_pzs
16314
+
16267
16315
  # [Output Only] Server-defined URL for the resource.
16268
16316
  # Corresponds to the JSON property `selfLink`
16269
16317
  # @return [String]
@@ -16308,6 +16356,7 @@ module Google
16308
16356
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
16309
16357
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
16310
16358
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
16359
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16311
16360
  @self_link = args[:self_link] if args.key?(:self_link)
16312
16361
  @state = args[:state] if args.key?(:state)
16313
16362
  end
@@ -16533,6 +16582,14 @@ module Google
16533
16582
  # @return [String]
16534
16583
  attr_accessor :router
16535
16584
 
16585
+ # [Output Only] Set to true if the resource satisfies the zone separation
16586
+ # organization policy constraints and false otherwise. Defaults to false if the
16587
+ # field is not present.
16588
+ # Corresponds to the JSON property `satisfiesPzs`
16589
+ # @return [Boolean]
16590
+ attr_accessor :satisfies_pzs
16591
+ alias_method :satisfies_pzs?, :satisfies_pzs
16592
+
16536
16593
  # [Output Only] Server-defined URL for the resource.
16537
16594
  # Corresponds to the JSON property `selfLink`
16538
16595
  # @return [String]
@@ -16604,6 +16661,7 @@ module Google
16604
16661
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
16605
16662
  @region = args[:region] if args.key?(:region)
16606
16663
  @router = args[:router] if args.key?(:router)
16664
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16607
16665
  @self_link = args[:self_link] if args.key?(:self_link)
16608
16666
  @state = args[:state] if args.key?(:state)
16609
16667
  @type = args[:type] if args.key?(:type)
@@ -17431,6 +17489,13 @@ module Google
17431
17489
  # @return [String]
17432
17490
  attr_accessor :status
17433
17491
 
17492
+ # [Output Only] Set to true for locations that support physical zone separation.
17493
+ # Defaults to false if the field is not present.
17494
+ # Corresponds to the JSON property `supportsPzs`
17495
+ # @return [Boolean]
17496
+ attr_accessor :supports_pzs
17497
+ alias_method :supports_pzs?, :supports_pzs
17498
+
17434
17499
  def initialize(**args)
17435
17500
  update!(**args)
17436
17501
  end
@@ -17452,6 +17517,7 @@ module Google
17452
17517
  @region_infos = args[:region_infos] if args.key?(:region_infos)
17453
17518
  @self_link = args[:self_link] if args.key?(:self_link)
17454
17519
  @status = args[:status] if args.key?(:status)
17520
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
17455
17521
  end
17456
17522
  end
17457
17523
 
@@ -18098,6 +18164,11 @@ module Google
18098
18164
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
18099
18165
  attr_accessor :locations
18100
18166
 
18167
+ # Strategy for distributing VMs across zones in a region.
18168
+ # Corresponds to the JSON property `targetShape`
18169
+ # @return [String]
18170
+ attr_accessor :target_shape
18171
+
18101
18172
  def initialize(**args)
18102
18173
  update!(**args)
18103
18174
  end
@@ -18105,6 +18176,7 @@ module Google
18105
18176
  # Update properties of this object
18106
18177
  def update!(**args)
18107
18178
  @locations = args[:locations] if args.key?(:locations)
18179
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
18108
18180
  end
18109
18181
  end
18110
18182
 
@@ -19256,18 +19328,18 @@ module Google
19256
19328
  end
19257
19329
  end
19258
19330
 
19259
- # Opaque filter criteria used by loadbalancers to restrict routing configuration
19260
- # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
19261
- # loadbalancing would typically present metadata to the loadbalancers which need
19262
- # to match criteria specified here. If a match takes place, the relevant
19263
- # configuration is made available to those proxies. For each metadataFilter in
19264
- # this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
19265
- # filterLabels must match the corresponding label provided in the metadata. If
19266
- # its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must
19267
- # match with corresponding labels provided in the metadata. An example for using
19268
- # metadataFilters would be: if loadbalancing involves Envoys, they will only
19269
- # receive routing configuration when values in metadataFilters match values
19270
- # supplied in of their XDS requests to loadbalancers.
19331
+ # Opaque filter criteria used by load balancers to restrict routing
19332
+ # configuration to a limited set of load balancing proxies. Proxies and sidecars
19333
+ # involved in load balancing would typically present metadata to the load
19334
+ # balancers that need to match criteria specified here. If a match takes place,
19335
+ # the relevant configuration is made available to those proxies. For each
19336
+ # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
19337
+ # at least one of the filterLabels must match the corresponding label provided
19338
+ # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
19339
+ # its filterLabels must match with corresponding labels provided in the metadata.
19340
+ # An example for using metadataFilters would be: if load balancing involves
19341
+ # Envoys, they receive routing configuration when values in metadataFilters
19342
+ # match values supplied in of their XDS requests to loadbalancers.
19271
19343
  class MetadataFilter
19272
19344
  include Google::Apis::Core::Hashable
19273
19345
 
@@ -19278,11 +19350,11 @@ module Google
19278
19350
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilterLabelMatch>]
19279
19351
  attr_accessor :filter_labels
19280
19352
 
19281
- # Specifies how individual filterLabel matches within the list of filterLabels
19282
- # contribute towards the overall metadataFilter match. Supported values are: -
19283
- # MATCH_ANY: At least one of the filterLabels must have a matching label in the
19284
- # provided metadata. - MATCH_ALL: All filterLabels must have matching labels in
19285
- # the provided metadata.
19353
+ # Specifies how individual filter label matches within the list of filterLabels
19354
+ # and contributes toward the overall metadataFilter match. Supported values are:
19355
+ # - MATCH_ANY: at least one of the filterLabels must have a matching label in
19356
+ # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
19357
+ # in the provided metadata.
19286
19358
  # Corresponds to the JSON property `filterMatchCriteria`
19287
19359
  # @return [String]
19288
19360
  attr_accessor :filter_match_criteria
@@ -19299,7 +19371,7 @@ module Google
19299
19371
  end
19300
19372
 
19301
19373
  # MetadataFilter label name value pairs that are expected to match corresponding
19302
- # labels presented as metadata to the loadbalancer.
19374
+ # labels presented as metadata to the load balancer.
19303
19375
  class MetadataFilterLabelMatch
19304
19376
  include Google::Apis::Core::Hashable
19305
19377
 
@@ -20510,14 +20582,15 @@ module Google
20510
20582
  # @return [String]
20511
20583
  attr_accessor :name
20512
20584
 
20513
- # URL of the network resource for this instance. When creating an instance, if
20514
- # neither the network nor the subnetwork is specified, the default network
20515
- # global/networks/default is used; if the network is not specified but the
20516
- # subnetwork is specified, the network is inferred. If you specify this property,
20517
- # you can specify the network as a full or partial URL. For example, the
20518
- # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
20519
- # project/global/networks/ network - projects/project/global/networks/network -
20520
- # global/networks/default
20585
+ # URL of the VPC network resource for this instance. When creating an instance,
20586
+ # if neither the network nor the subnetwork is specified, the default network
20587
+ # global/networks/default is used. If the selected project doesn't have the
20588
+ # default network, you must specify a network or subnet. If the network is not
20589
+ # specified but the subnetwork is specified, the network is inferred. If you
20590
+ # specify this property, you can specify the network as a full or partial URL.
20591
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
20592
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
20593
+ # networks/network - global/networks/default
20521
20594
  # Corresponds to the JSON property `network`
20522
20595
  # @return [String]
20523
20596
  attr_accessor :network
@@ -20726,7 +20799,8 @@ module Google
20726
20799
  attr_accessor :exchange_subnet_routes
20727
20800
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
20728
20801
 
20729
- # Whether to export the custom routes to peer network.
20802
+ # Whether to export the custom routes to peer network. The default value is
20803
+ # false.
20730
20804
  # Corresponds to the JSON property `exportCustomRoutes`
20731
20805
  # @return [Boolean]
20732
20806
  attr_accessor :export_custom_routes
@@ -20740,7 +20814,8 @@ module Google
20740
20814
  attr_accessor :export_subnet_routes_with_public_ip
20741
20815
  alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
20742
20816
 
20743
- # Whether to import the custom routes from peer network.
20817
+ # Whether to import the custom routes from peer network. The default value is
20818
+ # false.
20744
20819
  # Corresponds to the JSON property `importCustomRoutes`
20745
20820
  # @return [Boolean]
20746
20821
  attr_accessor :import_custom_routes
@@ -24426,37 +24501,37 @@ module Google
24426
24501
 
24427
24502
  # A matcher for the path portion of the URL. The BackendService from the longest-
24428
24503
  # matched rule will serve the URL. If no rule was matched, the default service
24429
- # will be used.
24504
+ # is used.
24430
24505
  class PathMatcher
24431
24506
  include Google::Apis::Core::Hashable
24432
24507
 
24433
24508
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
24434
- # The load balancer performs advanced routing actions like URL rewrites, header
24435
- # transformations, etc. prior to forwarding the request to the selected backend.
24509
+ # The load balancer performs advanced routing actions, such as URL rewrites and
24510
+ # header transformations, before forwarding the request to the selected backend.
24436
24511
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
24437
24512
  # must not be set. Conversely if defaultService is set, defaultRouteAction
24438
24513
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
24439
24514
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
24440
- # support only the urlRewrite action within a pathMatcher's defaultRouteAction.
24515
+ # support only the urlRewrite action within a path matcher's defaultRouteAction.
24441
24516
  # Corresponds to the JSON property `defaultRouteAction`
24442
24517
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24443
24518
  attr_accessor :default_route_action
24444
24519
 
24445
- # The full or partial URL to the BackendService resource. This will be used if
24520
+ # The full or partial URL to the BackendService resource. This URL is used if
24446
24521
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
24447
24522
  # For example, the following are all valid URLs to a BackendService resource: -
24448
24523
  # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
24449
24524
  # backendService - compute/v1/projects/project/global/backendServices/
24450
24525
  # backendService - global/backendServices/backendService If defaultRouteAction
24451
- # is additionally specified, advanced routing actions like URL Rewrites, etc.
24452
- # take effect prior to sending the request to the backend. However, if
24453
- # defaultService is specified, defaultRouteAction cannot contain any
24454
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
24455
- # weightedBackendServices, defaultService must not be specified. Only one of
24456
- # defaultService, defaultUrlRedirect or defaultRouteAction.
24457
- # weightedBackendService must be set. Authorization requires one or more of the
24458
- # following Google IAM permissions on the specified resource default_service: -
24459
- # compute.backendBuckets.use - compute.backendServices.use
24526
+ # is also specified, advanced routing actions, such as URL rewrites, take effect
24527
+ # before sending the request to the backend. However, if defaultService is
24528
+ # specified, defaultRouteAction cannot contain any weightedBackendServices.
24529
+ # Conversely, if defaultRouteAction specifies any weightedBackendServices,
24530
+ # defaultService must not be specified. Only one of defaultService,
24531
+ # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
24532
+ # Authorization requires one or more of the following Google IAM permissions on
24533
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
24534
+ # backendServices.use
24460
24535
  # Corresponds to the JSON property `defaultService`
24461
24536
  # @return [String]
24462
24537
  attr_accessor :default_service
@@ -24532,23 +24607,23 @@ module Google
24532
24607
  attr_accessor :paths
24533
24608
 
24534
24609
  # In response to a matching path, the load balancer performs advanced routing
24535
- # actions like URL rewrites, header transformations, etc. prior to forwarding
24610
+ # actions, such as URL rewrites and header transformations, before forwarding
24536
24611
  # the request to the selected backend. If routeAction specifies any
24537
24612
  # weightedBackendServices, service must not be set. Conversely if service is set,
24538
24613
  # routeAction cannot contain any weightedBackendServices. Only one of
24539
- # routeAction or urlRedirect must be set. UrlMaps for external HTTP(S) load
24540
- # balancers support only the urlRewrite action within a pathRule's routeAction.
24614
+ # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
24615
+ # balancers support only the urlRewrite action within a path rule's routeAction.
24541
24616
  # Corresponds to the JSON property `routeAction`
24542
24617
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24543
24618
  attr_accessor :route_action
24544
24619
 
24545
24620
  # The full or partial URL of the backend service resource to which traffic is
24546
- # directed if this rule is matched. If routeAction is additionally specified,
24547
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
24548
- # the request to the backend. However, if service is specified, routeAction
24549
- # cannot contain any weightedBackendService s. Conversely, if routeAction
24550
- # specifies any weightedBackendServices, service must not be specified. Only one
24551
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
24621
+ # directed if this rule is matched. If routeAction is also specified, advanced
24622
+ # routing actions, such as URL rewrites, take effect before sending the request
24623
+ # to the backend. However, if service is specified, routeAction cannot contain
24624
+ # any weightedBackendServices. Conversely, if routeAction specifies any
24625
+ # weightedBackendServices, service must not be specified. Only one of
24626
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
24552
24627
  # Corresponds to the JSON property `service`
24553
24628
  # @return [String]
24554
24629
  attr_accessor :service
@@ -24620,31 +24695,31 @@ module Google
24620
24695
 
24621
24696
  # An Identity and Access Management (IAM) policy, which specifies access
24622
24697
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
24623
- # A `binding` binds one or more `members` to a single `role`. Members can be
24624
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
24625
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
24626
- # role or a user-created custom role. For some types of Google Cloud resources,
24627
- # a `binding` can also specify a `condition`, which is a logical expression that
24628
- # allows access to a resource only if the expression evaluates to `true`. A
24629
- # condition can add constraints based on attributes of the request, the resource,
24630
- # or both. To learn which resources support conditions in their IAM policies,
24631
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
24632
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
24633
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
24634
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
24635
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
24636
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
24637
- # title": "expirable access", "description": "Does not grant access after Sep
24638
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
24639
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
24640
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
24641
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
24642
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
24643
- # roles/resourcemanager.organizationViewer condition: title: expirable access
24644
- # description: Does not grant access after Sep 2020 expression: request.time <
24645
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
24646
- # description of IAM and its features, see the [IAM documentation](https://cloud.
24647
- # google.com/iam/docs/).
24698
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
24699
+ # Principals can be user accounts, service accounts, Google groups, and domains (
24700
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
24701
+ # an IAM predefined role or a user-created custom role. For some types of Google
24702
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
24703
+ # logical expression that allows access to a resource only if the expression
24704
+ # evaluates to `true`. A condition can add constraints based on attributes of
24705
+ # the request, the resource, or both. To learn which resources support
24706
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
24707
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
24708
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
24709
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
24710
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
24711
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
24712
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
24713
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
24714
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
24715
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
24716
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
24717
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
24718
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
24719
+ # access description: Does not grant access after Sep 2020 expression: request.
24720
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
24721
+ # a description of IAM and its features, see the [IAM documentation](https://
24722
+ # cloud.google.com/iam/docs/).
24648
24723
  class Policy
24649
24724
  include Google::Apis::Core::Hashable
24650
24725
 
@@ -24653,9 +24728,14 @@ module Google
24653
24728
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
24654
24729
  attr_accessor :audit_configs
24655
24730
 
24656
- # Associates a list of `members` to a `role`. Optionally, may specify a `
24657
- # condition` that determines how and when the `bindings` are applied. Each of
24658
- # the `bindings` must contain at least one member.
24731
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
24732
+ # specify a `condition` that determines how and when the `bindings` are applied.
24733
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
24734
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
24735
+ # can be Google groups. Each occurrence of a principal counts towards these
24736
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
24737
+ # example.com`, and not to any other principal, then you can add another 1,450
24738
+ # principals to the `bindings` in the `Policy`.
24659
24739
  # Corresponds to the JSON property `bindings`
24660
24740
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
24661
24741
  attr_accessor :bindings
@@ -24676,12 +24756,6 @@ module Google
24676
24756
  # @return [String]
24677
24757
  attr_accessor :etag
24678
24758
 
24679
- # This is deprecated and has no effect. Do not use.
24680
- # Corresponds to the JSON property `iamOwned`
24681
- # @return [Boolean]
24682
- attr_accessor :iam_owned
24683
- alias_method :iam_owned?, :iam_owned
24684
-
24685
24759
  # This is deprecated and has no effect. Do not use.
24686
24760
  # Corresponds to the JSON property `rules`
24687
24761
  # @return [Array<Google::Apis::ComputeBeta::Rule>]
@@ -24715,7 +24789,6 @@ module Google
24715
24789
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
24716
24790
  @bindings = args[:bindings] if args.key?(:bindings)
24717
24791
  @etag = args[:etag] if args.key?(:etag)
24718
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
24719
24792
  @rules = args[:rules] if args.key?(:rules)
24720
24793
  @version = args[:version] if args.key?(:version)
24721
24794
  end
@@ -25096,7 +25169,13 @@ module Google
25096
25169
  # @return [String]
25097
25170
  attr_accessor :shared_secret
25098
25171
 
25099
- # The status of the public advertised prefix.
25172
+ # The status of the public advertised prefix. Possible values include: - `
25173
+ # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
25174
+ # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
25175
+ # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
25176
+ # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
25177
+ # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
25178
+ # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
25100
25179
  # Corresponds to the JSON property `status`
25101
25180
  # @return [String]
25102
25181
  attr_accessor :status
@@ -25375,7 +25454,12 @@ module Google
25375
25454
  # @return [String]
25376
25455
  attr_accessor :self_link
25377
25456
 
25378
- # [Output Only] The status of the public delegated prefix.
25457
+ # [Output Only] The status of the public delegated prefix, which can be one of
25458
+ # following values: - `INITIALIZING` The public delegated prefix is being
25459
+ # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
25460
+ # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
25461
+ # The public delegated prefix is active. - `DELETING` The public delegated
25462
+ # prefix is being deprovsioned.
25379
25463
  # Corresponds to the JSON property `status`
25380
25464
  # @return [String]
25381
25465
  attr_accessor :status
@@ -26862,6 +26946,47 @@ module Google
26862
26946
  end
26863
26947
  end
26864
26948
 
26949
+ #
26950
+ class RegionInstanceGroupManagersResizeAdvancedRequest
26951
+ include Google::Apis::Core::Hashable
26952
+
26953
+ # If this flag is true, the managed instance group attempts to create all
26954
+ # instances initiated by this resize request only once. If there is an error
26955
+ # during creation, the managed instance group does not retry create this
26956
+ # instance, and we will decrease the targetSize of the request instead. If the
26957
+ # flag is false, the group attempts to recreate each instance continuously until
26958
+ # it succeeds. This flag matters only in the first attempt of creation of an
26959
+ # instance. After an instance is successfully created while this flag is enabled,
26960
+ # the instance behaves the same way as all the other instances created with a
26961
+ # regular resize request. In particular, if a running instance dies unexpectedly
26962
+ # at a later time and needs to be recreated, this mode does not affect the
26963
+ # recreation behavior in that scenario. This flag is applicable only to the
26964
+ # current resize request. It does not influence other resize requests in any way.
26965
+ # You can see which instances ar being created in which mode by calling the get
26966
+ # or listManagedInstances API.
26967
+ # Corresponds to the JSON property `noCreationRetries`
26968
+ # @return [Boolean]
26969
+ attr_accessor :no_creation_retries
26970
+ alias_method :no_creation_retries?, :no_creation_retries
26971
+
26972
+ # The number of running instances that the managed instance group should
26973
+ # maintain at any given time. The group automatically adds or removes instances
26974
+ # to maintain the number of instances specified by this parameter.
26975
+ # Corresponds to the JSON property `targetSize`
26976
+ # @return [Fixnum]
26977
+ attr_accessor :target_size
26978
+
26979
+ def initialize(**args)
26980
+ update!(**args)
26981
+ end
26982
+
26983
+ # Update properties of this object
26984
+ def update!(**args)
26985
+ @no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
26986
+ @target_size = args[:target_size] if args.key?(:target_size)
26987
+ end
26988
+ end
26989
+
26865
26990
  #
26866
26991
  class RegionInstanceGroupManagersSetAutoHealingRequest
26867
26992
  include Google::Apis::Core::Hashable
@@ -27273,31 +27398,31 @@ module Google
27273
27398
 
27274
27399
  # An Identity and Access Management (IAM) policy, which specifies access
27275
27400
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
27276
- # A `binding` binds one or more `members` to a single `role`. Members can be
27277
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
27278
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
27279
- # role or a user-created custom role. For some types of Google Cloud resources,
27280
- # a `binding` can also specify a `condition`, which is a logical expression that
27281
- # allows access to a resource only if the expression evaluates to `true`. A
27282
- # condition can add constraints based on attributes of the request, the resource,
27283
- # or both. To learn which resources support conditions in their IAM policies,
27284
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
27285
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
27286
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
27287
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
27288
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
27289
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
27290
- # title": "expirable access", "description": "Does not grant access after Sep
27291
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
27292
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
27293
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
27294
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
27295
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
27296
- # roles/resourcemanager.organizationViewer condition: title: expirable access
27297
- # description: Does not grant access after Sep 2020 expression: request.time <
27298
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
27299
- # description of IAM and its features, see the [IAM documentation](https://cloud.
27300
- # google.com/iam/docs/).
27401
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
27402
+ # Principals can be user accounts, service accounts, Google groups, and domains (
27403
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
27404
+ # an IAM predefined role or a user-created custom role. For some types of Google
27405
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
27406
+ # logical expression that allows access to a resource only if the expression
27407
+ # evaluates to `true`. A condition can add constraints based on attributes of
27408
+ # the request, the resource, or both. To learn which resources support
27409
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
27410
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
27411
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
27412
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
27413
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
27414
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
27415
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
27416
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
27417
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
27418
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
27419
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
27420
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
27421
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
27422
+ # access description: Does not grant access after Sep 2020 expression: request.
27423
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
27424
+ # a description of IAM and its features, see the [IAM documentation](https://
27425
+ # cloud.google.com/iam/docs/).
27301
27426
  # Corresponds to the JSON property `policy`
27302
27427
  # @return [Google::Apis::ComputeBeta::Policy]
27303
27428
  attr_accessor :policy
@@ -27338,21 +27463,21 @@ module Google
27338
27463
  class RegionUrlMapsValidateRequest
27339
27464
  include Google::Apis::Core::Hashable
27340
27465
 
27341
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
27342
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
27343
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
27344
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
27466
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
27467
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
27468
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
27469
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
27345
27470
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
27346
27471
  # used by internal HTTP(S) load balancers. For a list of supported URL map
27347
- # features by load balancer type, see the Load balancing features: Routing and
27348
- # traffic management table. For a list of supported URL map features for Traffic
27349
- # Director, see the Traffic Director features: Routing and traffic management
27350
- # table. This resource defines mappings from host names and URL paths to either
27351
- # a backend service or a backend bucket. To use the global urlMaps resource, the
27352
- # backend service must have a loadBalancingScheme of either EXTERNAL or
27353
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
27354
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
27355
- # read URL Map Concepts.
27472
+ # features by the load balancer type, see the Load balancing features: Routing
27473
+ # and traffic management table. For a list of supported URL map features for
27474
+ # Traffic Director, see the Traffic Director features: Routing and traffic
27475
+ # management table. This resource defines mappings from hostnames and URL paths
27476
+ # to either a backend service or a backend bucket. To use the global urlMaps
27477
+ # resource, the backend service must have a loadBalancingScheme of either
27478
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
27479
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
27480
+ # information, read URL Map Concepts.
27356
27481
  # Corresponds to the JSON property `resource`
27357
27482
  # @return [Google::Apis::ComputeBeta::UrlMap]
27358
27483
  attr_accessor :resource
@@ -27368,9 +27493,9 @@ module Google
27368
27493
  end
27369
27494
 
27370
27495
  # A policy that specifies how requests intended for the route's backends are
27371
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
27372
- # for responses from the shadow service. Prior to sending traffic to the shadow
27373
- # service, the host / authority header is suffixed with -shadow.
27496
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
27497
+ # wait for responses from the shadow service. Before sending traffic to the
27498
+ # shadow service, the host or authority header is suffixed with -shadow.
27374
27499
  class RequestMirrorPolicy
27375
27500
  include Google::Apis::Core::Hashable
27376
27501
 
@@ -28829,6 +28954,11 @@ module Google
28829
28954
  class Route
28830
28955
  include Google::Apis::Core::Hashable
28831
28956
 
28957
+ # [Output Only] AS path.
28958
+ # Corresponds to the JSON property `asPaths`
28959
+ # @return [Array<Google::Apis::ComputeBeta::RouteAsPath>]
28960
+ attr_accessor :as_paths
28961
+
28832
28962
  # [Output Only] Creation timestamp in RFC3339 text format.
28833
28963
  # Corresponds to the JSON property `creationTimestamp`
28834
28964
  # @return [String]
@@ -28933,6 +29063,15 @@ module Google
28933
29063
  # @return [Fixnum]
28934
29064
  attr_accessor :priority
28935
29065
 
29066
+ # [Output Only] The type of this route, which can be one of the following values:
29067
+ # - 'TRANSIT' for a transit route that this router learned from another Cloud
29068
+ # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
29069
+ # from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
29070
+ # router - 'STATIC' for a static route
29071
+ # Corresponds to the JSON property `routeType`
29072
+ # @return [String]
29073
+ attr_accessor :route_type
29074
+
28936
29075
  # [Output Only] Server-defined fully-qualified URL for this resource.
28937
29076
  # Corresponds to the JSON property `selfLink`
28938
29077
  # @return [String]
@@ -28955,6 +29094,7 @@ module Google
28955
29094
 
28956
29095
  # Update properties of this object
28957
29096
  def update!(**args)
29097
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
28958
29098
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28959
29099
  @description = args[:description] if args.key?(:description)
28960
29100
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -28971,6 +29111,7 @@ module Google
28971
29111
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
28972
29112
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
28973
29113
  @priority = args[:priority] if args.key?(:priority)
29114
+ @route_type = args[:route_type] if args.key?(:route_type)
28974
29115
  @self_link = args[:self_link] if args.key?(:self_link)
28975
29116
  @tags = args[:tags] if args.key?(:tags)
28976
29117
  @warnings = args[:warnings] if args.key?(:warnings)
@@ -29041,6 +29182,37 @@ module Google
29041
29182
  end
29042
29183
  end
29043
29184
 
29185
+ #
29186
+ class RouteAsPath
29187
+ include Google::Apis::Core::Hashable
29188
+
29189
+ # [Output Only] The AS numbers of the AS Path.
29190
+ # Corresponds to the JSON property `asLists`
29191
+ # @return [Array<Fixnum>]
29192
+ attr_accessor :as_lists
29193
+
29194
+ # [Output Only] The type of the AS Path, which can be one of the following
29195
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
29196
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
29197
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
29198
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
29199
+ # unordered set of Member Autonomous Systems in the local confederation that the
29200
+ # route has traversed
29201
+ # Corresponds to the JSON property `pathSegmentType`
29202
+ # @return [String]
29203
+ attr_accessor :path_segment_type
29204
+
29205
+ def initialize(**args)
29206
+ update!(**args)
29207
+ end
29208
+
29209
+ # Update properties of this object
29210
+ def update!(**args)
29211
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
29212
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
29213
+ end
29214
+ end
29215
+
29044
29216
  # Contains a list of Route resources.
29045
29217
  class RouteList
29046
29218
  include Google::Apis::Core::Hashable
@@ -29507,7 +29679,7 @@ module Google
29507
29679
  # @return [Fixnum]
29508
29680
  attr_accessor :advertised_route_priority
29509
29681
 
29510
- # BFD configuration for the BGP peering. Not currently available publicly.
29682
+ # BFD configuration for the BGP peering.
29511
29683
  # Corresponds to the JSON property `bfd`
29512
29684
  # @return [Google::Apis::ComputeBeta::RouterBgpPeerBfd]
29513
29685
  attr_accessor :bfd
@@ -29600,8 +29772,8 @@ module Google
29600
29772
  # The minimum interval, in milliseconds, between BFD control packets received
29601
29773
  # from the peer router. The actual value is negotiated between the two routers
29602
29774
  # and is equal to the greater of this value and the transmit interval of the
29603
- # other router. Not currently available publicly. If set, this value must be
29604
- # between 1000 and 30000. The default is 1000.
29775
+ # other router. If set, this value must be between 1000 and 30000. The default
29776
+ # is 1000.
29605
29777
  # Corresponds to the JSON property `minReceiveInterval`
29606
29778
  # @return [Fixnum]
29607
29779
  attr_accessor :min_receive_interval
@@ -29609,24 +29781,24 @@ module Google
29609
29781
  # The minimum interval, in milliseconds, between BFD control packets transmitted
29610
29782
  # to the peer router. The actual value is negotiated between the two routers and
29611
29783
  # is equal to the greater of this value and the corresponding receive interval
29612
- # of the other router. Not currently available publicly. If set, this value must
29613
- # be between 1000 and 30000. The default is 1000.
29784
+ # of the other router. If set, this value must be between 1000 and 30000. The
29785
+ # default is 1000.
29614
29786
  # Corresponds to the JSON property `minTransmitInterval`
29615
29787
  # @return [Fixnum]
29616
29788
  attr_accessor :min_transmit_interval
29617
29789
 
29618
29790
  # The number of consecutive BFD packets that must be missed before BFD declares
29619
- # that a peer is unavailable. Not currently available publicly. If set, the
29620
- # value must be a value between 5 and 16. The default is 5.
29791
+ # that a peer is unavailable. If set, the value must be a value between 5 and 16.
29792
+ # The default is 5.
29621
29793
  # Corresponds to the JSON property `multiplier`
29622
29794
  # @return [Fixnum]
29623
29795
  attr_accessor :multiplier
29624
29796
 
29625
- # The BFD session initialization mode for this BGP peer. Not currently available
29626
- # publicly. If set to ACTIVE, the Cloud Router will initiate the BFD session for
29627
- # this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer
29628
- # router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD
29629
- # is disabled for this BGP peer. The default is PASSIVE.
29797
+ # The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
29798
+ # Cloud Router will initiate the BFD session for this BGP peer. If set to
29799
+ # PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
29800
+ # session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
29801
+ # peer. The default is PASSIVE.
29630
29802
  # Corresponds to the JSON property `sessionInitializationMode`
29631
29803
  # @return [String]
29632
29804
  attr_accessor :session_initialization_mode
@@ -29868,6 +30040,17 @@ module Google
29868
30040
  # @return [Array<String>]
29869
30041
  attr_accessor :drain_nat_ips
29870
30042
 
30043
+ # Enable Dynamic Port Allocation. If not specified, it is disabled by default.
30044
+ # If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
30045
+ # enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
30046
+ # minPortsPerVm must be set to a power of two greater than or equal to 32. If
30047
+ # minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
30048
+ # this NAT config.
30049
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
30050
+ # @return [Boolean]
30051
+ attr_accessor :enable_dynamic_port_allocation
30052
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
30053
+
29871
30054
  #
29872
30055
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
29873
30056
  # @return [Boolean]
@@ -29884,6 +30067,17 @@ module Google
29884
30067
  # @return [Google::Apis::ComputeBeta::RouterNatLogConfig]
29885
30068
  attr_accessor :log_config
29886
30069
 
30070
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
30071
+ # Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
30072
+ # field has no effect. If Dynamic Port Allocation is enabled, and this field is
30073
+ # set, it must be set to a power of two greater than minPortsPerVm, or 64 if
30074
+ # minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
30075
+ # is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
30076
+ # config.
30077
+ # Corresponds to the JSON property `maxPortsPerVm`
30078
+ # @return [Fixnum]
30079
+ attr_accessor :max_ports_per_vm
30080
+
29887
30081
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
29888
30082
  # default number of ports is allocated to a VM. This is rounded up to the
29889
30083
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -29913,6 +30107,11 @@ module Google
29913
30107
  # @return [Array<String>]
29914
30108
  attr_accessor :nat_ips
29915
30109
 
30110
+ # A list of rules associated with this NAT.
30111
+ # Corresponds to the JSON property `rules`
30112
+ # @return [Array<Google::Apis::ComputeBeta::RouterNatRule>]
30113
+ attr_accessor :rules
30114
+
29916
30115
  # Specify the Nat option, which can take one of the following values: -
29917
30116
  # ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
29918
30117
  # allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP
@@ -29939,6 +30138,12 @@ module Google
29939
30138
  # @return [Fixnum]
29940
30139
  attr_accessor :tcp_established_idle_timeout_sec
29941
30140
 
30141
+ # Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults
30142
+ # to 120s if not set.
30143
+ # Corresponds to the JSON property `tcpTimeWaitTimeoutSec`
30144
+ # @return [Fixnum]
30145
+ attr_accessor :tcp_time_wait_timeout_sec
30146
+
29942
30147
  # Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
29943
30148
  # set.
29944
30149
  # Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
@@ -29957,16 +30162,20 @@ module Google
29957
30162
  # Update properties of this object
29958
30163
  def update!(**args)
29959
30164
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
30165
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
29960
30166
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
29961
30167
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
29962
30168
  @log_config = args[:log_config] if args.key?(:log_config)
30169
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
29963
30170
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
29964
30171
  @name = args[:name] if args.key?(:name)
29965
30172
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
29966
30173
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
30174
+ @rules = args[:rules] if args.key?(:rules)
29967
30175
  @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
29968
30176
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
29969
30177
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
30178
+ @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
29970
30179
  @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
29971
30180
  @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
29972
30181
  end
@@ -30002,6 +30211,81 @@ module Google
30002
30211
  end
30003
30212
  end
30004
30213
 
30214
+ #
30215
+ class RouterNatRule
30216
+ include Google::Apis::Core::Hashable
30217
+
30218
+ # The action to be enforced for traffic that matches this rule.
30219
+ # Corresponds to the JSON property `action`
30220
+ # @return [Google::Apis::ComputeBeta::RouterNatRuleAction]
30221
+ attr_accessor :action
30222
+
30223
+ # An optional description of this rule.
30224
+ # Corresponds to the JSON property `description`
30225
+ # @return [String]
30226
+ attr_accessor :description
30227
+
30228
+ # CEL expression that specifies the match condition that egress traffic from a
30229
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
30230
+ # is enforced. The following examples are valid match expressions for public NAT:
30231
+ # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
30232
+ # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
30233
+ # following example is a valid match expression for private NAT: "nexthop.hub ==
30234
+ # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
30235
+ # global/hub/hub-1'"
30236
+ # Corresponds to the JSON property `match`
30237
+ # @return [String]
30238
+ attr_accessor :match
30239
+
30240
+ # An integer uniquely identifying a rule in the list. The rule number must be a
30241
+ # positive value between 0 and 65000, and must be unique among rules within a
30242
+ # NAT.
30243
+ # Corresponds to the JSON property `ruleNumber`
30244
+ # @return [Fixnum]
30245
+ attr_accessor :rule_number
30246
+
30247
+ def initialize(**args)
30248
+ update!(**args)
30249
+ end
30250
+
30251
+ # Update properties of this object
30252
+ def update!(**args)
30253
+ @action = args[:action] if args.key?(:action)
30254
+ @description = args[:description] if args.key?(:description)
30255
+ @match = args[:match] if args.key?(:match)
30256
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
30257
+ end
30258
+ end
30259
+
30260
+ #
30261
+ class RouterNatRuleAction
30262
+ include Google::Apis::Core::Hashable
30263
+
30264
+ # A list of URLs of the IP resources used for this NAT rule. These IP addresses
30265
+ # must be valid static external IP addresses assigned to the project. This field
30266
+ # is used for public NAT.
30267
+ # Corresponds to the JSON property `sourceNatActiveIps`
30268
+ # @return [Array<String>]
30269
+ attr_accessor :source_nat_active_ips
30270
+
30271
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
30272
+ # static external IPs that have been assigned to the NAT. These IPs should be
30273
+ # used for updating/patching a NAT rule only. This field is used for public NAT.
30274
+ # Corresponds to the JSON property `sourceNatDrainIps`
30275
+ # @return [Array<String>]
30276
+ attr_accessor :source_nat_drain_ips
30277
+
30278
+ def initialize(**args)
30279
+ update!(**args)
30280
+ end
30281
+
30282
+ # Update properties of this object
30283
+ def update!(**args)
30284
+ @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
30285
+ @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
30286
+ end
30287
+ end
30288
+
30005
30289
  # Defines the IP ranges that want to use NAT for a subnetwork.
30006
30290
  class RouterNatSubnetworkToNat
30007
30291
  include Google::Apis::Core::Hashable
@@ -30207,6 +30491,11 @@ module Google
30207
30491
  # @return [Fixnum]
30208
30492
  attr_accessor :num_vm_endpoints_with_nat_mappings
30209
30493
 
30494
+ # Status of rules in this NAT.
30495
+ # Corresponds to the JSON property `ruleStatus`
30496
+ # @return [Array<Google::Apis::ComputeBeta::RouterStatusNatStatusNatRuleStatus>]
30497
+ attr_accessor :rule_status
30498
+
30210
30499
  # A list of fully qualified URLs of reserved IP address resources.
30211
30500
  # Corresponds to the JSON property `userAllocatedNatIpResources`
30212
30501
  # @return [Array<String>]
@@ -30230,11 +30519,58 @@ module Google
30230
30519
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
30231
30520
  @name = args[:name] if args.key?(:name)
30232
30521
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
30522
+ @rule_status = args[:rule_status] if args.key?(:rule_status)
30233
30523
  @user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
30234
30524
  @user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
30235
30525
  end
30236
30526
  end
30237
30527
 
30528
+ # Status of a NAT Rule contained in this NAT.
30529
+ class RouterStatusNatStatusNatRuleStatus
30530
+ include Google::Apis::Core::Hashable
30531
+
30532
+ # A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
30533
+ # Corresponds to the JSON property `activeNatIps`
30534
+ # @return [Array<String>]
30535
+ attr_accessor :active_nat_ips
30536
+
30537
+ # A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
30538
+ # 133"].
30539
+ # Corresponds to the JSON property `drainNatIps`
30540
+ # @return [Array<String>]
30541
+ attr_accessor :drain_nat_ips
30542
+
30543
+ # The number of extra IPs to allocate. This will be greater than 0 only if the
30544
+ # existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
30545
+ # use NAT.
30546
+ # Corresponds to the JSON property `minExtraIpsNeeded`
30547
+ # @return [Fixnum]
30548
+ attr_accessor :min_extra_ips_needed
30549
+
30550
+ # Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
30551
+ # Corresponds to the JSON property `numVmEndpointsWithNatMappings`
30552
+ # @return [Fixnum]
30553
+ attr_accessor :num_vm_endpoints_with_nat_mappings
30554
+
30555
+ # Rule number of the rule.
30556
+ # Corresponds to the JSON property `ruleNumber`
30557
+ # @return [Fixnum]
30558
+ attr_accessor :rule_number
30559
+
30560
+ def initialize(**args)
30561
+ update!(**args)
30562
+ end
30563
+
30564
+ # Update properties of this object
30565
+ def update!(**args)
30566
+ @active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
30567
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
30568
+ @min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
30569
+ @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
30570
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
30571
+ end
30572
+ end
30573
+
30238
30574
  #
30239
30575
  class RouterStatusResponse
30240
30576
  include Google::Apis::Core::Hashable
@@ -32334,6 +32670,12 @@ module Google
32334
32670
  class ShareSettings
32335
32671
  include Google::Apis::Core::Hashable
32336
32672
 
32673
+ # A map of project id and project config. This is only valid when share_type's
32674
+ # value is SPECIFIC_PROJECTS.
32675
+ # Corresponds to the JSON property `projectMap`
32676
+ # @return [Hash<String,Google::Apis::ComputeBeta::ShareSettingsProjectConfig>]
32677
+ attr_accessor :project_map
32678
+
32337
32679
  # A List of Project names to specify consumer projects for this shared-
32338
32680
  # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
32339
32681
  # Corresponds to the JSON property `projects`
@@ -32351,11 +32693,32 @@ module Google
32351
32693
 
32352
32694
  # Update properties of this object
32353
32695
  def update!(**args)
32696
+ @project_map = args[:project_map] if args.key?(:project_map)
32354
32697
  @projects = args[:projects] if args.key?(:projects)
32355
32698
  @share_type = args[:share_type] if args.key?(:share_type)
32356
32699
  end
32357
32700
  end
32358
32701
 
32702
+ # Config for each project in the share settings.
32703
+ class ShareSettingsProjectConfig
32704
+ include Google::Apis::Core::Hashable
32705
+
32706
+ # The project ID, should be same as the key of this project config in the parent
32707
+ # map.
32708
+ # Corresponds to the JSON property `projectId`
32709
+ # @return [String]
32710
+ attr_accessor :project_id
32711
+
32712
+ def initialize(**args)
32713
+ update!(**args)
32714
+ end
32715
+
32716
+ # Update properties of this object
32717
+ def update!(**args)
32718
+ @project_id = args[:project_id] if args.key?(:project_id)
32719
+ end
32720
+ end
32721
+
32359
32722
  # A set of Shielded Instance options.
32360
32723
  class ShieldedInstanceConfig
32361
32724
  include Google::Apis::Core::Hashable
@@ -34063,8 +34426,9 @@ module Google
34063
34426
 
34064
34427
  # Whether to enable flow logging for this subnetwork. If this field is not
34065
34428
  # explicitly set, it will not appear in get listings. If not set the default
34066
- # behavior is to disable flow logging. This field isn't supported with the
34067
- # purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
34429
+ # behavior is determined by the org policy, if there is no org policy specified,
34430
+ # then it will default to disabled. This field isn't supported with the purpose
34431
+ # field set to INTERNAL_HTTPS_LOAD_BALANCER.
34068
34432
  # Corresponds to the JSON property `enableFlowLogs`
34069
34433
  # @return [Boolean]
34070
34434
  attr_accessor :enable_flow_logs
@@ -34145,9 +34509,8 @@ module Google
34145
34509
  attr_accessor :name
34146
34510
 
34147
34511
  # The URL of the network to which this subnetwork belongs, provided by the
34148
- # client when initially creating the subnetwork. Only networks that are in the
34149
- # distributed mode can have subnetworks. This field can be set only at resource
34150
- # creation time.
34512
+ # client when initially creating the subnetwork. This field can be set only at
34513
+ # resource creation time.
34151
34514
  # Corresponds to the JSON property `network`
34152
34515
  # @return [String]
34153
34516
  attr_accessor :network
@@ -34513,7 +34876,8 @@ module Google
34513
34876
 
34514
34877
  # Whether to enable flow logging for this subnetwork. If this field is not
34515
34878
  # explicitly set, it will not appear in get listings. If not set the default
34516
- # behavior is to disable flow logging.
34879
+ # behavior is determined by the org policy, if there is no org policy specified,
34880
+ # then it will default to disabled.
34517
34881
  # Corresponds to the JSON property `enable`
34518
34882
  # @return [Boolean]
34519
34883
  attr_accessor :enable
@@ -34528,8 +34892,8 @@ module Google
34528
34892
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
34529
34893
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
34530
34894
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
34531
- # means no logs are reported. Default is 0.5, which means half of all collected
34532
- # logs are reported.
34895
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
34896
+ # org policy, which means half of all collected logs are reported.
34533
34897
  # Corresponds to the JSON property `flowSampling`
34534
34898
  # @return [Float]
34535
34899
  attr_accessor :flow_sampling
@@ -34735,6 +35099,20 @@ module Google
34735
35099
  # @return [String]
34736
35100
  attr_accessor :policy
34737
35101
 
35102
+ # The number of backends per backend group assigned to each proxy instance or
35103
+ # each service mesh client. An input parameter to the `
35104
+ # CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `
35105
+ # CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `
35106
+ # INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for
35107
+ # Internal HTTP(S) load balancing and required for Traffic Director. If you do
35108
+ # not provide this value, Cloud Load Balancing will calculate it dynamically to
35109
+ # optimize the number of proxies/clients visible to each backend and vice versa.
35110
+ # Must be greater than 0. If `subset_size` is larger than the number of backends/
35111
+ # endpoints, then subsetting is disabled.
35112
+ # Corresponds to the JSON property `subsetSize`
35113
+ # @return [Fixnum]
35114
+ attr_accessor :subset_size
35115
+
34738
35116
  def initialize(**args)
34739
35117
  update!(**args)
34740
35118
  end
@@ -34742,6 +35120,7 @@ module Google
34742
35120
  # Update properties of this object
34743
35121
  def update!(**args)
34744
35122
  @policy = args[:policy] if args.key?(:policy)
35123
+ @subset_size = args[:subset_size] if args.key?(:subset_size)
34745
35124
  end
34746
35125
  end
34747
35126
 
@@ -38100,7 +38479,7 @@ module Google
38100
38479
  class TestFailure
38101
38480
  include Google::Apis::Core::Hashable
38102
38481
 
38103
- # The actual output URL evaluated by load balancer containing the scheme, host,
38482
+ # The actual output URL evaluated by a load balancer containing the scheme, host,
38104
38483
  # path and query parameters.
38105
38484
  # Corresponds to the JSON property `actualOutputUrl`
38106
38485
  # @return [String]
@@ -38117,8 +38496,8 @@ module Google
38117
38496
  # @return [String]
38118
38497
  attr_accessor :actual_service
38119
38498
 
38120
- # The expected output URL evaluated by load balancer containing the scheme, host,
38121
- # path and query parameters.
38499
+ # The expected output URL evaluated by a load balancer containing the scheme,
38500
+ # host, path and query parameters.
38122
38501
  # Corresponds to the JSON property `expectedOutputUrl`
38123
38502
  # @return [String]
38124
38503
  attr_accessor :expected_output_url
@@ -38232,21 +38611,21 @@ module Google
38232
38611
  end
38233
38612
  end
38234
38613
 
38235
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
38236
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
38237
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38238
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
38614
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
38615
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
38616
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38617
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
38239
38618
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
38240
38619
  # used by internal HTTP(S) load balancers. For a list of supported URL map
38241
- # features by load balancer type, see the Load balancing features: Routing and
38242
- # traffic management table. For a list of supported URL map features for Traffic
38243
- # Director, see the Traffic Director features: Routing and traffic management
38244
- # table. This resource defines mappings from host names and URL paths to either
38245
- # a backend service or a backend bucket. To use the global urlMaps resource, the
38246
- # backend service must have a loadBalancingScheme of either EXTERNAL or
38247
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
38248
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
38249
- # read URL Map Concepts.
38620
+ # features by the load balancer type, see the Load balancing features: Routing
38621
+ # and traffic management table. For a list of supported URL map features for
38622
+ # Traffic Director, see the Traffic Director features: Routing and traffic
38623
+ # management table. This resource defines mappings from hostnames and URL paths
38624
+ # to either a backend service or a backend bucket. To use the global urlMaps
38625
+ # resource, the backend service must have a loadBalancingScheme of either
38626
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
38627
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
38628
+ # information, read URL Map Concepts.
38250
38629
  class UrlMap
38251
38630
  include Google::Apis::Core::Hashable
38252
38631
 
@@ -38256,28 +38635,28 @@ module Google
38256
38635
  attr_accessor :creation_timestamp
38257
38636
 
38258
38637
  # defaultRouteAction takes effect when none of the hostRules match. The load
38259
- # balancer performs advanced routing actions like URL rewrites, header
38260
- # transformations, etc. prior to forwarding the request to the selected backend.
38261
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
38262
- # must not be set. Conversely if defaultService is set, defaultRouteAction
38263
- # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
38638
+ # balancer performs advanced routing actions, such as URL rewrites and header
38639
+ # transformations, before forwarding the request to the selected backend. If
38640
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
38641
+ # not be set. Conversely if defaultService is set, defaultRouteAction cannot
38642
+ # contain any weightedBackendServices. Only one of defaultRouteAction or
38264
38643
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
38265
38644
  # support only the urlRewrite action within defaultRouteAction.
38266
- # defaultRouteAction has no effect when the URL map is bound to target gRPC
38267
- # proxy that has validateForProxyless field set to true.
38645
+ # defaultRouteAction has no effect when the URL map is bound to a target gRPC
38646
+ # proxy that has the validateForProxyless field set to true.
38268
38647
  # Corresponds to the JSON property `defaultRouteAction`
38269
38648
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
38270
38649
  attr_accessor :default_route_action
38271
38650
 
38272
38651
  # The full or partial URL of the defaultService resource to which traffic is
38273
- # directed if none of the hostRules match. If defaultRouteAction is additionally
38274
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
38275
- # to sending the request to the backend. However, if defaultService is specified,
38652
+ # directed if none of the hostRules match. If defaultRouteAction is also
38653
+ # specified, advanced routing actions, such as URL rewrites, take effect before
38654
+ # sending the request to the backend. However, if defaultService is specified,
38276
38655
  # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
38277
38656
  # routeAction specifies any weightedBackendServices, service must not be
38278
- # specified. Only one of defaultService, defaultUrlRedirect or
38657
+ # specified. Only one of defaultService, defaultUrlRedirect , or
38279
38658
  # defaultRouteAction.weightedBackendService must be set. defaultService has no
38280
- # effect when the URL map is bound to target gRPC proxy that has
38659
+ # effect when the URL map is bound to a target gRPC proxy that has the
38281
38660
  # validateForProxyless field set to true.
38282
38661
  # Corresponds to the JSON property `defaultService`
38283
38662
  # @return [String]
@@ -38295,11 +38674,10 @@ module Google
38295
38674
  attr_accessor :description
38296
38675
 
38297
38676
  # Fingerprint of this resource. A hash of the contents stored in this object.
38298
- # This field is used in optimistic locking. This field will be ignored when
38299
- # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
38300
- # update the UrlMap, otherwise the request will fail with error 412
38301
- # conditionNotMet. To see the latest fingerprint, make a get() request to
38302
- # retrieve a UrlMap.
38677
+ # This field is used in optimistic locking. This field is ignored when inserting
38678
+ # a UrlMap. An up-to-date fingerprint must be provided in order to update the
38679
+ # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
38680
+ # the latest fingerprint, make a get() request to retrieve a UrlMap.
38303
38681
  # Corresponds to the JSON property `fingerprint`
38304
38682
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
38305
38683
  # @return [String]
@@ -38311,7 +38689,7 @@ module Google
38311
38689
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
38312
38690
  attr_accessor :header_action
38313
38691
 
38314
- # The list of HostRules to use against the URL.
38692
+ # The list of host rules to use against the URL.
38315
38693
  # Corresponds to the JSON property `hostRules`
38316
38694
  # @return [Array<Google::Apis::ComputeBeta::HostRule>]
38317
38695
  attr_accessor :host_rules
@@ -38354,10 +38732,10 @@ module Google
38354
38732
  # @return [String]
38355
38733
  attr_accessor :self_link
38356
38734
 
38357
- # The list of expected URL mapping tests. Request to update this UrlMap will
38358
- # succeed only if all of the test cases pass. You can specify a maximum of 100
38359
- # tests per UrlMap. Not supported when the URL map is bound to target gRPC proxy
38360
- # that has validateForProxyless field set to true.
38735
+ # The list of expected URL mapping tests. Request to update the UrlMap succeeds
38736
+ # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
38737
+ # Not supported when the URL map is bound to a target gRPC proxy that has
38738
+ # validateForProxyless field set to true.
38361
38739
  # Corresponds to the JSON property `tests`
38362
38740
  # @return [Array<Google::Apis::ComputeBeta::UrlMapTest>]
38363
38741
  attr_accessor :tests
@@ -38531,18 +38909,18 @@ module Google
38531
38909
  # @return [String]
38532
38910
  attr_accessor :description
38533
38911
 
38534
- # The expected output URL evaluated by load balancer containing the scheme, host,
38535
- # path and query parameters. For rules that forward requests to backends, the
38536
- # test passes only when expectedOutputUrl matches the request forwarded by load
38537
- # balancer to backends. For rules with urlRewrite, the test verifies that the
38538
- # forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite
38539
- # action. When service is specified, expectedOutputUrl`s scheme is ignored. For
38540
- # rules with urlRedirect, the test passes only if expectedOutputUrl matches the
38541
- # URL in the load balancer's redirect response. If urlRedirect specifies
38542
- # https_redirect, the test passes only if the scheme in expectedOutputUrl is
38543
- # also set to https. If urlRedirect specifies strip_query, the test passes only
38544
- # if expectedOutputUrl does not contain any query parameters. expectedOutputUrl
38545
- # is optional when service is specified.
38912
+ # The expected output URL evaluated by the load balancer containing the scheme,
38913
+ # host, path and query parameters. For rules that forward requests to backends,
38914
+ # the test passes only when expectedOutputUrl matches the request forwarded by
38915
+ # the load balancer to backends. For rules with urlRewrite, the test verifies
38916
+ # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
38917
+ # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
38918
+ # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
38919
+ # matches the URL in the load balancer's redirect response. If urlRedirect
38920
+ # specifies https_redirect, the test passes only if the scheme in
38921
+ # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
38922
+ # the test passes only if expectedOutputUrl does not contain any query
38923
+ # parameters. expectedOutputUrl is optional when service is specified.
38546
38924
  # Corresponds to the JSON property `expectedOutputUrl`
38547
38925
  # @return [String]
38548
38926
  attr_accessor :expected_output_url
@@ -38573,7 +38951,8 @@ module Google
38573
38951
  attr_accessor :path
38574
38952
 
38575
38953
  # Expected BackendService or BackendBucket resource the given URL should be
38576
- # mapped to. service cannot be set if expectedRedirectResponseCode is set.
38954
+ # mapped to. The service field cannot be set if expectedRedirectResponseCode is
38955
+ # set.
38577
38956
  # Corresponds to the JSON property `service`
38578
38957
  # @return [String]
38579
38958
  attr_accessor :service
@@ -38878,21 +39257,36 @@ module Google
38878
39257
  class ValidateUrlMapsRequest
38879
39258
  include Google::Apis::Core::Hashable
38880
39259
 
38881
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
38882
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
38883
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38884
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
39260
+ # Specifies the load balancer type(s) this validation request is for. Use
39261
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
39262
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
39263
+ # Balancer. Other load balancer types are not supported. For more information,
39264
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
39265
+ # will be inferred from the backend service resources this URL map references.
39266
+ # If that can not be inferred (for example, this URL map only references backend
39267
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
39268
+ # reference any backends), EXTERNAL will be used as the default type. If
39269
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
39270
+ # the backend service resources this Url map references.
39271
+ # Corresponds to the JSON property `loadBalancingSchemes`
39272
+ # @return [Array<String>]
39273
+ attr_accessor :load_balancing_schemes
39274
+
39275
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
39276
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
39277
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
39278
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
38885
39279
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
38886
39280
  # used by internal HTTP(S) load balancers. For a list of supported URL map
38887
- # features by load balancer type, see the Load balancing features: Routing and
38888
- # traffic management table. For a list of supported URL map features for Traffic
38889
- # Director, see the Traffic Director features: Routing and traffic management
38890
- # table. This resource defines mappings from host names and URL paths to either
38891
- # a backend service or a backend bucket. To use the global urlMaps resource, the
38892
- # backend service must have a loadBalancingScheme of either EXTERNAL or
38893
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
38894
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
38895
- # read URL Map Concepts.
39281
+ # features by the load balancer type, see the Load balancing features: Routing
39282
+ # and traffic management table. For a list of supported URL map features for
39283
+ # Traffic Director, see the Traffic Director features: Routing and traffic
39284
+ # management table. This resource defines mappings from hostnames and URL paths
39285
+ # to either a backend service or a backend bucket. To use the global urlMaps
39286
+ # resource, the backend service must have a loadBalancingScheme of either
39287
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
39288
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
39289
+ # information, read URL Map Concepts.
38896
39290
  # Corresponds to the JSON property `resource`
38897
39291
  # @return [Google::Apis::ComputeBeta::UrlMap]
38898
39292
  attr_accessor :resource
@@ -38903,6 +39297,7 @@ module Google
38903
39297
 
38904
39298
  # Update properties of this object
38905
39299
  def update!(**args)
39300
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
38906
39301
  @resource = args[:resource] if args.key?(:resource)
38907
39302
  end
38908
39303
  end
@@ -38931,16 +39326,16 @@ module Google
38931
39326
  class UrlRewrite
38932
39327
  include Google::Apis::Core::Hashable
38933
39328
 
38934
- # Prior to forwarding the request to the selected service, the request's host
38935
- # header is replaced with contents of hostRewrite. The value must be between 1
38936
- # and 255 characters.
39329
+ # Before forwarding the request to the selected service, the request's host
39330
+ # header is replaced with contents of hostRewrite. The value must be from 1 to
39331
+ # 255 characters.
38937
39332
  # Corresponds to the JSON property `hostRewrite`
38938
39333
  # @return [String]
38939
39334
  attr_accessor :host_rewrite
38940
39335
 
38941
- # Prior to forwarding the request to the selected backend service, the matching
39336
+ # Before forwarding the request to the selected backend service, the matching
38942
39337
  # portion of the request's path is replaced by pathPrefixRewrite. The value must
38943
- # be between 1 and 1024 characters.
39338
+ # be from 1 to 1024 characters.
38944
39339
  # Corresponds to the JSON property `pathPrefixRewrite`
38945
39340
  # @return [String]
38946
39341
  attr_accessor :path_prefix_rewrite
@@ -40594,14 +40989,13 @@ module Google
40594
40989
 
40595
40990
  # In contrast to a single BackendService in HttpRouteAction to which all
40596
40991
  # matching traffic is directed to, WeightedBackendService allows traffic to be
40597
- # split across multiple BackendServices. The volume of traffic for each
40598
- # BackendService is proportional to the weight specified in each
40599
- # WeightedBackendService
40992
+ # split across multiple backend services. The volume of traffic for each backend
40993
+ # service is proportional to the weight specified in each WeightedBackendService
40600
40994
  class WeightedBackendService
40601
40995
  include Google::Apis::Core::Hashable
40602
40996
 
40603
40997
  # The full or partial URL to the default BackendService resource. Before
40604
- # forwarding the request to backendService, the loadbalancer applies any
40998
+ # forwarding the request to backendService, the load balancer applies any
40605
40999
  # relevant headerActions specified as part of this backendServiceWeight.
40606
41000
  # Corresponds to the JSON property `backendService`
40607
41001
  # @return [String]
@@ -40613,12 +41007,12 @@ module Google
40613
41007
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
40614
41008
  attr_accessor :header_action
40615
41009
 
40616
- # Specifies the fraction of traffic sent to backendService, computed as weight /
40617
- # (sum of all weightedBackendService weights in routeAction) . The selection of
40618
- # a backend service is determined only for new traffic. Once a user's request
40619
- # has been directed to a backendService, subsequent requests will be sent to the
40620
- # same backendService as determined by the BackendService's session affinity
40621
- # policy. The value must be between 0 and 1000
41010
+ # Specifies the fraction of traffic sent to a backend service, computed as
41011
+ # weight / (sum of all weightedBackendService weights in routeAction) . The
41012
+ # selection of a backend service is determined only for new traffic. Once a user'
41013
+ # s request has been directed to a backend service, subsequent requests are sent
41014
+ # to the same backend service as determined by the backend service's session
41015
+ # affinity policy. The value must be from 0 to 1000.
40622
41016
  # Corresponds to the JSON property `weight`
40623
41017
  # @return [Fixnum]
40624
41018
  attr_accessor :weight
@@ -41028,31 +41422,31 @@ module Google
41028
41422
 
41029
41423
  # An Identity and Access Management (IAM) policy, which specifies access
41030
41424
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
41031
- # A `binding` binds one or more `members` to a single `role`. Members can be
41032
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
41033
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
41034
- # role or a user-created custom role. For some types of Google Cloud resources,
41035
- # a `binding` can also specify a `condition`, which is a logical expression that
41036
- # allows access to a resource only if the expression evaluates to `true`. A
41037
- # condition can add constraints based on attributes of the request, the resource,
41038
- # or both. To learn which resources support conditions in their IAM policies,
41039
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
41040
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
41041
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
41042
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
41043
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
41044
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
41045
- # title": "expirable access", "description": "Does not grant access after Sep
41046
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
41047
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
41048
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
41049
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
41050
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
41051
- # roles/resourcemanager.organizationViewer condition: title: expirable access
41052
- # description: Does not grant access after Sep 2020 expression: request.time <
41053
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
41054
- # description of IAM and its features, see the [IAM documentation](https://cloud.
41055
- # google.com/iam/docs/).
41425
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
41426
+ # Principals can be user accounts, service accounts, Google groups, and domains (
41427
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
41428
+ # an IAM predefined role or a user-created custom role. For some types of Google
41429
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
41430
+ # logical expression that allows access to a resource only if the expression
41431
+ # evaluates to `true`. A condition can add constraints based on attributes of
41432
+ # the request, the resource, or both. To learn which resources support
41433
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
41434
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
41435
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
41436
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
41437
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
41438
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
41439
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
41440
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
41441
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
41442
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
41443
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
41444
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
41445
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
41446
+ # access description: Does not grant access after Sep 2020 expression: request.
41447
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
41448
+ # a description of IAM and its features, see the [IAM documentation](https://
41449
+ # cloud.google.com/iam/docs/).
41056
41450
  # Corresponds to the JSON property `policy`
41057
41451
  # @return [Google::Apis::ComputeBeta::Policy]
41058
41452
  attr_accessor :policy