google-apis-compute_beta 0.16.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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