google-apis-compute_beta 0.17.0 → 0.21.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -510,13 +510,17 @@ module Google
510
510
  attr_accessor :network_tier
511
511
 
512
512
  # The DNS domain name for the public PTR record. You can set this field only if
513
- # the `setPublicPtr` field is enabled.
513
+ # the `setPublicPtr` field is enabled in accessConfig. If this field is
514
+ # unspecified in ipv6AccessConfig, a default PTR record will be createc for
515
+ # first IP in associated external IPv6 range.
514
516
  # Corresponds to the JSON property `publicPtrDomainName`
515
517
  # @return [String]
516
518
  attr_accessor :public_ptr_domain_name
517
519
 
518
520
  # Specifies whether a public DNS 'PTR' record should be created to map the
519
- # external IP address of the instance to a DNS domain name.
521
+ # external IP address of the instance to a DNS domain name. This field is not
522
+ # used in ipv6AccessConfig. A default PTR record will be created if the VM has
523
+ # external IPv6 range associated.
520
524
  # Corresponds to the JSON property `setPublicPtr`
521
525
  # @return [Boolean]
522
526
  attr_accessor :set_public_ptr
@@ -648,14 +652,14 @@ module Google
648
652
  # regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
649
653
  # global internal IP addresses used for private services access allocated ranges.
650
654
  # - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
651
- # allocating addresses using . - IPSEC_INTERCONNECT for addresses created from a
652
- # private IP range that are reserved for a VLAN attachment in an *IPsec-
653
- # encrypted Cloud Interconnect* configuration. These addresses are regional
654
- # resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for
655
- # an internal IP address that is assigned to multiple internal forwarding rules.
656
- # - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to
657
- # configure Private Service Connect. Only global internal addresses can use this
658
- # purpose.
655
+ # allocating addresses using automatic NAT IP address allocation. -
656
+ # IPSEC_INTERCONNECT for addresses created from a private IP range that are
657
+ # reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
658
+ # configuration. These addresses are regional resources. Not currently available
659
+ # publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
660
+ # assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
661
+ # for a private network address that is used to configure Private Service
662
+ # Connect. Only global internal addresses can use this purpose.
659
663
  # Corresponds to the JSON property `purpose`
660
664
  # @return [String]
661
665
  attr_accessor :purpose
@@ -1357,7 +1361,8 @@ module Google
1357
1361
  # initializeParams.sourceSnapshot or disks.source is required except for local
1358
1362
  # SSD. If desired, you can also attach existing non-root persistent disks using
1359
1363
  # this property. This field is only applicable for persistent disks. Note that
1360
- # for InstanceTemplate, specify the disk name, not the URL for the disk.
1364
+ # for InstanceTemplate, specify the disk name for zonal disk, and the URL for
1365
+ # regional disk.
1361
1366
  # Corresponds to the JSON property `source`
1362
1367
  # @return [String]
1363
1368
  attr_accessor :source
@@ -2774,7 +2779,7 @@ module Google
2774
2779
  # specified), or else sets the response max-age directive to the lesser of the
2775
2780
  # client_ttl and default_ttl, and also ensures a "public" cache-control
2776
2781
  # 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).
2782
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
2778
2783
  # Corresponds to the JSON property `clientTtl`
2779
2784
  # @return [Fixnum]
2780
2785
  attr_accessor :client_ttl
@@ -3184,14 +3189,14 @@ module Google
3184
3189
 
3185
3190
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3186
3191
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3187
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3188
- # overview). On failover or failback, this field indicates whether connection
3189
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3190
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3191
- # active pool during failover and failback, immediately draining traffic. A
3192
- # setting of false allows existing TCP connections to persist, even on VMs no
3193
- # longer in the active pool, for up to the duration of the connection draining
3194
- # timeout (10 minutes).
3192
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3193
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3194
+ # this field indicates whether connection draining will be honored. Google Cloud
3195
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3196
+ # terminates existing TCP connections to the active pool during failover and
3197
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3198
+ # connections to persist, even on VMs no longer in the active pool, for up to
3199
+ # the duration of the connection draining timeout (10 minutes).
3195
3200
  # Corresponds to the JSON property `failoverPolicy`
3196
3201
  # @return [Google::Apis::ComputeBeta::BackendServiceFailoverPolicy]
3197
3202
  attr_accessor :failover_policy
@@ -3262,8 +3267,8 @@ module Google
3262
3267
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3263
3268
  # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3264
3269
  # 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
3270
+ # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3271
+ # is referenced by a URL map that is bound to target gRPC proxy that has
3267
3272
  # validateForProxyless field set to true.
3268
3273
  # Corresponds to the JSON property `localityLbPolicy`
3269
3274
  # @return [String]
@@ -3356,11 +3361,18 @@ module Google
3356
3361
  # @return [String]
3357
3362
  attr_accessor :self_link
3358
3363
 
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.
3364
+ # URLs of networkservices.ServiceBinding resources. Can only be set if load
3365
+ # balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and
3366
+ # health checks must be both empty.
3367
+ # Corresponds to the JSON property `serviceBindings`
3368
+ # @return [Array<String>]
3369
+ attr_accessor :service_bindings
3370
+
3371
+ # Type of session affinity to use. The default is NONE. Only NONE and
3372
+ # HEADER_FIELD are supported when the backend service is referenced by a URL map
3373
+ # that is bound to target gRPC proxy that has validateForProxyless field set to
3374
+ # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3375
+ # balancing/docs/backend-service#session_affinity).
3364
3376
  # Corresponds to the JSON property `sessionAffinity`
3365
3377
  # @return [String]
3366
3378
  attr_accessor :session_affinity
@@ -3419,6 +3431,7 @@ module Google
3419
3431
  @security_policy = args[:security_policy] if args.key?(:security_policy)
3420
3432
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3421
3433
  @self_link = args[:self_link] if args.key?(:self_link)
3434
+ @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3422
3435
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3423
3436
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3424
3437
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -3589,7 +3602,7 @@ module Google
3589
3602
  # specified), or else sets the response max-age directive to the lesser of the
3590
3603
  # client_ttl and default_ttl, and also ensures a "public" cache-control
3591
3604
  # 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).
3605
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
3593
3606
  # Corresponds to the JSON property `clientTtl`
3594
3607
  # @return [Fixnum]
3595
3608
  attr_accessor :client_ttl
@@ -3769,32 +3782,42 @@ module Google
3769
3782
  # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
3770
3783
  # existing connections always persist on unhealthy backends regardless of
3771
3784
  # protocol and session affinity. It is generally not recommended to use this
3772
- # mode overriding the default.
3785
+ # mode overriding the default. For more details, see [Connection Persistence for
3786
+ # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
3787
+ # networklb-backend-service#connection-persistence) and [Connection Persistence
3788
+ # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
3789
+ # docs/internal#connection-persistence).
3773
3790
  # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
3774
3791
  # @return [String]
3775
3792
  attr_accessor :connection_persistence_on_unhealthy_backends
3776
3793
 
3777
- # Enable Strong Session Affinity. This is only available in External TCP/UDP
3778
- # load balancer.
3794
+ # Enable Strong Session Affinity for Network Load Balancing. This option is not
3795
+ # available publicly.
3779
3796
  # Corresponds to the JSON property `enableStrongAffinity`
3780
3797
  # @return [Boolean]
3781
3798
  attr_accessor :enable_strong_affinity
3782
3799
  alias_method :enable_strong_affinity?, :enable_strong_affinity
3783
3800
 
3784
3801
  # 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.
3802
+ # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3803
+ # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
3804
+ # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
3805
+ # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
3806
+ # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
3807
+ # is not available publicly.
3789
3808
  # Corresponds to the JSON property `idleTimeoutSec`
3790
3809
  # @return [Fixnum]
3791
3810
  attr_accessor :idle_timeout_sec
3792
3811
 
3793
- # Specifies the key used for connection tracking. There are two options:
3812
+ # Specifies the key used for connection tracking. There are two options: -
3794
3813
  # 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.
3814
+ # as per the Connection Key (default Hash Method) for the specific protocol. -
3796
3815
  # PER_SESSION: The Connection Tracking is performed as per the configured
3797
- # Session Affinity. It matches the configured Session Affinity.
3816
+ # Session Affinity. It matches the configured Session Affinity. For more details,
3817
+ # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
3818
+ # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
3819
+ # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
3820
+ # balancing/docs/internal#tracking-mode).
3798
3821
  # Corresponds to the JSON property `trackingMode`
3799
3822
  # @return [String]
3800
3823
  attr_accessor :tracking_mode
@@ -3814,14 +3837,14 @@ module Google
3814
3837
 
3815
3838
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3816
3839
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3817
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3818
- # overview). On failover or failback, this field indicates whether connection
3819
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3820
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3821
- # active pool during failover and failback, immediately draining traffic. A
3822
- # setting of false allows existing TCP connections to persist, even on VMs no
3823
- # longer in the active pool, for up to the duration of the connection draining
3824
- # timeout (10 minutes).
3840
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3841
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3842
+ # this field indicates whether connection draining will be honored. Google Cloud
3843
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3844
+ # terminates existing TCP connections to the active pool during failover and
3845
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3846
+ # connections to persist, even on VMs no longer in the active pool, for up to
3847
+ # the duration of the connection draining timeout (10 minutes).
3825
3848
  class BackendServiceFailoverPolicy
3826
3849
  include Google::Apis::Core::Hashable
3827
3850
 
@@ -3836,8 +3859,9 @@ module Google
3836
3859
  # distributed among all primary VMs when all primary and all backup backend VMs
3837
3860
  # are unhealthy. For load balancers that have configurable failover: [Internal
3838
3861
  # TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
3839
- # failover-overview) and [external TCP/UDP Load Balancing](/network/networklb-
3840
- # failover-overview). The default is false.
3862
+ # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
3863
+ # com/load-balancing/docs/network/networklb-failover-overview). The default is
3864
+ # false.
3841
3865
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
3842
3866
  # @return [Boolean]
3843
3867
  attr_accessor :drop_traffic_if_unhealthy
@@ -3849,7 +3873,8 @@ module Google
3849
3873
  # the total number of healthy primary VMs is less than this ratio. For load
3850
3874
  # balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
3851
3875
  # https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
3852
- # external TCP/UDP Load Balancing](/network/networklb-failover-overview).
3876
+ # external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
3877
+ # network/networklb-failover-overview).
3853
3878
  # Corresponds to the JSON property `failoverRatio`
3854
3879
  # @return [Float]
3855
3880
  attr_accessor :failover_ratio
@@ -4450,7 +4475,7 @@ module Google
4450
4475
  end
4451
4476
  end
4452
4477
 
4453
- # Associates `members` with a `role`.
4478
+ # Associates `members`, or principals, with a `role`.
4454
4479
  class Binding
4455
4480
  include Google::Apis::Core::Hashable
4456
4481
 
@@ -4478,7 +4503,7 @@ module Google
4478
4503
  # @return [Google::Apis::ComputeBeta::Expr]
4479
4504
  attr_accessor :condition
4480
4505
 
4481
- # Specifies the identities requesting access for a Cloud Platform resource. `
4506
+ # Specifies the principals requesting access for a Cloud Platform resource. `
4482
4507
  # members` can have the following values: * `allUsers`: A special identifier
4483
4508
  # that represents anyone who is on the internet; with or without a Google
4484
4509
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -4508,8 +4533,8 @@ module Google
4508
4533
  # @return [Array<String>]
4509
4534
  attr_accessor :members
4510
4535
 
4511
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
4512
- # , or `roles/owner`.
4536
+ # Role that is assigned to the list of `members`, or principals. For example, `
4537
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
4513
4538
  # Corresponds to the JSON property `role`
4514
4539
  # @return [String]
4515
4540
  attr_accessor :role
@@ -4787,6 +4812,16 @@ module Google
4787
4812
  class Commitment
4788
4813
  include Google::Apis::Core::Hashable
4789
4814
 
4815
+ # Specifies whether to enable automatic renewal for the commitment. The default
4816
+ # value is false if not specified. The field can be updated until the day of the
4817
+ # commitment expiration at 12:00am PST. If the field is set to true, the
4818
+ # commitment will be automatically renewed for either one or three years
4819
+ # according to the terms of the existing commitment.
4820
+ # Corresponds to the JSON property `autoRenew`
4821
+ # @return [Boolean]
4822
+ attr_accessor :auto_renew
4823
+ alias_method :auto_renew?, :auto_renew
4824
+
4790
4825
  # The category of the commitment. Category MACHINE specifies commitments
4791
4826
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
4792
4827
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -4897,6 +4932,7 @@ module Google
4897
4932
 
4898
4933
  # Update properties of this object
4899
4934
  def update!(**args)
4935
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
4900
4936
  @category = args[:category] if args.key?(:category)
4901
4937
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
4902
4938
  @description = args[:description] if args.key?(:description)
@@ -5405,14 +5441,15 @@ module Google
5405
5441
  end
5406
5442
  end
5407
5443
 
5408
- # The specification for allowing client side cross-origin requests. Please see
5409
- # W3C Recommendation for Cross Origin Resource Sharing
5444
+ # The specification for allowing client-side cross-origin requests. For more
5445
+ # information about the W3C recommendation for cross-origin resource sharing (
5446
+ # CORS), see Fetch API Living Standard.
5410
5447
  class CorsPolicy
5411
5448
  include Google::Apis::Core::Hashable
5412
5449
 
5413
5450
  # 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.
5451
+ # actual request can include user credentials. This field translates to the
5452
+ # Access-Control-Allow-Credentials header. Default is false.
5416
5453
  # Corresponds to the JSON property `allowCredentials`
5417
5454
  # @return [Boolean]
5418
5455
  attr_accessor :allow_credentials
@@ -5428,23 +5465,23 @@ module Google
5428
5465
  # @return [Array<String>]
5429
5466
  attr_accessor :allow_methods
5430
5467
 
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
5468
+ # Specifies a regular expression that matches allowed origins. For more
5469
+ # information about the regular expression syntax, see Syntax. An origin is
5470
+ # allowed if it matches either an item in allowOrigins or an item in
5434
5471
  # allowOriginRegexes.
5435
5472
  # Corresponds to the JSON property `allowOriginRegexes`
5436
5473
  # @return [Array<String>]
5437
5474
  attr_accessor :allow_origin_regexes
5438
5475
 
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
5476
+ # Specifies the list of origins that is allowed to do CORS requests. An origin
5477
+ # is allowed if it matches either an item in allowOrigins or an item in
5441
5478
  # allowOriginRegexes.
5442
5479
  # Corresponds to the JSON property `allowOrigins`
5443
5480
  # @return [Array<String>]
5444
5481
  attr_accessor :allow_origins
5445
5482
 
5446
- # If true, specifies the CORS policy is disabled. The default value of false,
5447
- # which indicates that the CORS policy is in effect.
5483
+ # If true, the setting specifies the CORS policy is disabled. The default value
5484
+ # of false, which indicates that the CORS policy is in effect.
5448
5485
  # Corresponds to the JSON property `disabled`
5449
5486
  # @return [Boolean]
5450
5487
  attr_accessor :disabled
@@ -5456,7 +5493,7 @@ module Google
5456
5493
  attr_accessor :expose_headers
5457
5494
 
5458
5495
  # Specifies how long results of a preflight request can be cached in seconds.
5459
- # This translates to the Access-Control-Max-Age header.
5496
+ # This field translates to the Access-Control-Max-Age header.
5460
5497
  # Corresponds to the JSON property `maxAge`
5461
5498
  # @return [Fixnum]
5462
5499
  attr_accessor :max_age
@@ -5482,30 +5519,39 @@ module Google
5482
5519
  class CustomerEncryptionKey
5483
5520
  include Google::Apis::Core::Hashable
5484
5521
 
5485
- # The name of the encryption key that is stored in Google Cloud KMS.
5522
+ # The name of the encryption key that is stored in Google Cloud KMS. For example:
5523
+ # "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
5524
+ # cryptoKeys/key
5486
5525
  # Corresponds to the JSON property `kmsKeyName`
5487
5526
  # @return [String]
5488
5527
  attr_accessor :kms_key_name
5489
5528
 
5490
5529
  # 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.
5530
+ # key. If absent, the Compute Engine default service account is used. For
5531
+ # example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
5492
5532
  # Corresponds to the JSON property `kmsKeyServiceAccount`
5493
5533
  # @return [String]
5494
5534
  attr_accessor :kms_key_service_account
5495
5535
 
5496
5536
  # Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
5497
- # base64 to either encrypt or decrypt this resource.
5537
+ # base64 to either encrypt or decrypt this resource. You can provide either the
5538
+ # rawKey or the rsaEncryptedKey. For example: "rawKey": "
5539
+ # SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
5498
5540
  # Corresponds to the JSON property `rawKey`
5499
5541
  # @return [String]
5500
5542
  attr_accessor :raw_key
5501
5543
 
5502
5544
  # 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
5545
+ # encryption key to either encrypt or decrypt this resource. You can provide
5546
+ # either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
5547
+ # ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
5548
+ # z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
5549
+ # D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
5550
+ # key must meet the following requirements before you can provide it to Compute
5551
+ # Engine: 1. The key is wrapped using a RSA public key certificate provided by
5552
+ # Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
5553
+ # encoding. Gets the RSA public key certificate provided by Google at: https://
5554
+ # cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
5509
5555
  # Corresponds to the JSON property `rsaEncryptedKey`
5510
5556
  # @return [String]
5511
5557
  attr_accessor :rsa_encrypted_key
@@ -5540,7 +5586,8 @@ module Google
5540
5586
  attr_accessor :disk_encryption_key
5541
5587
 
5542
5588
  # Specifies a valid partial or full URL to an existing Persistent Disk resource.
5543
- # This field is only applicable for persistent disks.
5589
+ # This field is only applicable for persistent disks. For example: "source": "/
5590
+ # compute/v1/projects/project_id/zones/zone/disks/ disk_name
5544
5591
  # Corresponds to the JSON property `source`
5545
5592
  # @return [String]
5546
5593
  attr_accessor :source
@@ -7573,7 +7620,7 @@ module Google
7573
7620
  # Name of the resource; provided by the client when the resource is created. The
7574
7621
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
7575
7622
  # 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
7623
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
7577
7624
  # following characters (except for the last character) must be a dash, lowercase
7578
7625
  # letter, or digit. The last character must be a lowercase letter or digit.
7579
7626
  # Corresponds to the JSON property `name`
@@ -8651,8 +8698,7 @@ module Google
8651
8698
  attr_accessor :self_link
8652
8699
 
8653
8700
  # Service Directory resources to register this forwarding rule with. Currently,
8654
- # only supports a single Service Directory resource. It is only supported for
8655
- # internal load balancing.
8701
+ # only supports a single Service Directory resource.
8656
8702
  # Corresponds to the JSON property `serviceDirectoryRegistrations`
8657
8703
  # @return [Array<Google::Apis::ComputeBeta::ForwardingRuleServiceDirectoryRegistration>]
8658
8704
  attr_accessor :service_directory_registrations
@@ -9234,31 +9280,31 @@ module Google
9234
9280
 
9235
9281
  # An Identity and Access Management (IAM) policy, which specifies access
9236
9282
  # 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/).
9283
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9284
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9285
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9286
+ # an IAM predefined role or a user-created custom role. For some types of Google
9287
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9288
+ # logical expression that allows access to a resource only if the expression
9289
+ # evaluates to `true`. A condition can add constraints based on attributes of
9290
+ # the request, the resource, or both. To learn which resources support
9291
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9292
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9293
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9294
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9295
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9296
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9297
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9298
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9299
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9300
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9301
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9302
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9303
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9304
+ # access description: Does not grant access after Sep 2020 expression: request.
9305
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9306
+ # a description of IAM and its features, see the [IAM documentation](https://
9307
+ # cloud.google.com/iam/docs/).
9262
9308
  # Corresponds to the JSON property `policy`
9263
9309
  # @return [Google::Apis::ComputeBeta::Policy]
9264
9310
  attr_accessor :policy
@@ -9331,31 +9377,31 @@ module Google
9331
9377
 
9332
9378
  # An Identity and Access Management (IAM) policy, which specifies access
9333
9379
  # 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/).
9380
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9381
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9382
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9383
+ # an IAM predefined role or a user-created custom role. For some types of Google
9384
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9385
+ # logical expression that allows access to a resource only if the expression
9386
+ # evaluates to `true`. A condition can add constraints based on attributes of
9387
+ # the request, the resource, or both. To learn which resources support
9388
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9389
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9390
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9391
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9392
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9393
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9394
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9395
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9396
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9397
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9398
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9399
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9400
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9401
+ # access description: Does not grant access after Sep 2020 expression: request.
9402
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9403
+ # a description of IAM and its features, see the [IAM documentation](https://
9404
+ # cloud.google.com/iam/docs/).
9359
9405
  # Corresponds to the JSON property `policy`
9360
9406
  # @return [Google::Apis::ComputeBeta::Policy]
9361
9407
  attr_accessor :policy
@@ -9477,8 +9523,11 @@ module Google
9477
9523
  class GuestOsFeature
9478
9524
  include Google::Apis::Core::Hashable
9479
9525
 
9480
- # The ID of a supported feature. Read Enabling guest operating system features
9481
- # to see a list of available options.
9526
+ # The ID of a supported feature. To add multiple values, use commas to separate
9527
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9528
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9529
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
9530
+ # guest operating system features.
9482
9531
  # Corresponds to the JSON property `type`
9483
9532
  # @return [String]
9484
9533
  attr_accessor :type
@@ -9812,8 +9861,8 @@ module Google
9812
9861
  attr_accessor :timeout_sec
9813
9862
 
9814
9863
  # Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
9815
- # If not specified, the default is TCP. Exactly one of the protocol-specific
9816
- # health check field must be specified, which must match type field.
9864
+ # Exactly one of the protocol-specific health check field must be specified,
9865
+ # which must match type field.
9817
9866
  # Corresponds to the JSON property `type`
9818
9867
  # @return [String]
9819
9868
  attr_accessor :type
@@ -10638,7 +10687,8 @@ module Google
10638
10687
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
10639
10688
  # In that case, * must be the first character and must be followed in the
10640
10689
  # 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.
10690
+ # is bound to a target gRPC proxy that has the validateForProxyless field set to
10691
+ # true.
10642
10692
  # Corresponds to the JSON property `hosts`
10643
10693
  # @return [Array<String>]
10644
10694
  attr_accessor :hosts
@@ -10665,8 +10715,8 @@ module Google
10665
10715
  class HttpFaultAbort
10666
10716
  include Google::Apis::Core::Hashable
10667
10717
 
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
10718
+ # The HTTP status code used to abort the request. The value must be from 200 to
10719
+ # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10670
10720
  # status code according to this mapping table. HTTP status 200 is mapped to gRPC
10671
10721
  # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
10672
10722
  # Director.
@@ -10674,8 +10724,8 @@ module Google
10674
10724
  # @return [Fixnum]
10675
10725
  attr_accessor :http_status
10676
10726
 
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
10727
+ # The percentage of traffic for connections, operations, or requests that is
10728
+ # aborted as part of fault injection. The value must be from 0.0 to 100.0
10679
10729
  # inclusive.
10680
10730
  # Corresponds to the JSON property `percentage`
10681
10731
  # @return [Float]
@@ -10692,8 +10742,8 @@ module Google
10692
10742
  end
10693
10743
  end
10694
10744
 
10695
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10696
- # to the backend service as part of fault injection.
10745
+ # Specifies the delay introduced by the load balancer before forwarding the
10746
+ # request to the backend service as part of fault injection.
10697
10747
  class HttpFaultDelay
10698
10748
  include Google::Apis::Core::Hashable
10699
10749
 
@@ -10705,9 +10755,9 @@ module Google
10705
10755
  # @return [Google::Apis::ComputeBeta::Duration]
10706
10756
  attr_accessor :fixed_delay
10707
10757
 
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.
10758
+ # The percentage of traffic for connections, operations, or requests for which a
10759
+ # delay is introduced as part of fault injection. The value must be from 0.0 to
10760
+ # 100.0 inclusive.
10711
10761
  # Corresponds to the JSON property `percentage`
10712
10762
  # @return [Float]
10713
10763
  attr_accessor :percentage
@@ -10726,9 +10776,9 @@ module Google
10726
10776
  # The specification for fault injection introduced into traffic to test the
10727
10777
  # resiliency of clients to backend service failure. As part of fault injection,
10728
10778
  # 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.
10779
+ # the load balancer on a percentage of requests before sending those request to
10780
+ # the backend service. Similarly requests from clients can be aborted by the
10781
+ # load balancer for a percentage of requests.
10732
10782
  class HttpFaultInjection
10733
10783
  include Google::Apis::Core::Hashable
10734
10784
 
@@ -10737,8 +10787,8 @@ module Google
10737
10787
  # @return [Google::Apis::ComputeBeta::HttpFaultAbort]
10738
10788
  attr_accessor :abort
10739
10789
 
10740
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10741
- # to the backend service as part of fault injection.
10790
+ # Specifies the delay introduced by the load balancer before forwarding the
10791
+ # request to the backend service as part of fault injection.
10742
10792
  # Corresponds to the JSON property `delay`
10743
10793
  # @return [Google::Apis::ComputeBeta::HttpFaultDelay]
10744
10794
  attr_accessor :delay
@@ -10796,25 +10846,25 @@ module Google
10796
10846
  class HttpHeaderAction
10797
10847
  include Google::Apis::Core::Hashable
10798
10848
 
10799
- # Headers to add to a matching request prior to forwarding the request to the
10849
+ # Headers to add to a matching request before forwarding the request to the
10800
10850
  # backendService.
10801
10851
  # Corresponds to the JSON property `requestHeadersToAdd`
10802
10852
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10803
10853
  attr_accessor :request_headers_to_add
10804
10854
 
10805
10855
  # A list of header names for headers that need to be removed from the request
10806
- # prior to forwarding the request to the backendService.
10856
+ # before forwarding the request to the backendService.
10807
10857
  # Corresponds to the JSON property `requestHeadersToRemove`
10808
10858
  # @return [Array<String>]
10809
10859
  attr_accessor :request_headers_to_remove
10810
10860
 
10811
- # Headers to add the response prior to sending the response back to the client.
10861
+ # Headers to add the response before sending the response back to the client.
10812
10862
  # Corresponds to the JSON property `responseHeadersToAdd`
10813
10863
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10814
10864
  attr_accessor :response_headers_to_add
10815
10865
 
10816
10866
  # 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.
10867
+ # before sending the response back to the client.
10818
10868
  # Corresponds to the JSON property `responseHeadersToRemove`
10819
10869
  # @return [Array<String>]
10820
10870
  attr_accessor :response_headers_to_remove
@@ -10844,21 +10894,21 @@ module Google
10844
10894
 
10845
10895
  # The name of the HTTP header to match. For matching against the HTTP request's
10846
10896
  # 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
10897
+ # request's method, use the headerName ":method". When the URL map is bound to a
10898
+ # target gRPC proxy that has the validateForProxyless field set to true, only
10899
+ # non-binary user-specified custom metadata and the `content-type` header are
10850
10900
  # supported. The following transport-level headers cannot be used in header
10851
10901
  # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
10852
10902
  # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
10853
10903
  # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
10854
- # bin.
10904
+ # bin`.
10855
10905
  # Corresponds to the JSON property `headerName`
10856
10906
  # @return [String]
10857
10907
  attr_accessor :header_name
10858
10908
 
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.
10909
+ # If set to false, the headerMatch is considered a match if the preceding match
10910
+ # criteria are met. If set to true, the headerMatch is considered a match if the
10911
+ # preceding match criteria are NOT met. The default setting is false.
10862
10912
  # Corresponds to the JSON property `invertMatch`
10863
10913
  # @return [Boolean]
10864
10914
  attr_accessor :invert_match
@@ -10886,13 +10936,13 @@ module Google
10886
10936
  attr_accessor :range_match
10887
10937
 
10888
10938
  # 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.
10939
+ # regexMatch. For more information about regular expression syntax, see Syntax.
10940
+ # For matching against a port specified in the HTTP request, use a headerMatch
10941
+ # with headerName set to PORT and a regular expression that satisfies the
10942
+ # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
10943
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
10944
+ # only applies to load balancers that have loadBalancingScheme set to
10945
+ # INTERNAL_SELF_MANAGED.
10896
10946
  # Corresponds to the JSON property `regexMatch`
10897
10947
  # @return [String]
10898
10948
  attr_accessor :regex_match
@@ -11187,8 +11237,8 @@ module Google
11187
11237
  include Google::Apis::Core::Hashable
11188
11238
 
11189
11239
  # 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.
11240
+ # the contents of exactMatch. Only one of presentMatch, exactMatch, or
11241
+ # regexMatch must be set.
11192
11242
  # Corresponds to the JSON property `exactMatch`
11193
11243
  # @return [String]
11194
11244
  attr_accessor :exact_match
@@ -11201,17 +11251,17 @@ module Google
11201
11251
 
11202
11252
  # Specifies that the queryParameterMatch matches if the request contains the
11203
11253
  # query parameter, irrespective of whether the parameter has a value or not.
11204
- # Only one of presentMatch, exactMatch or regexMatch must be set.
11254
+ # Only one of presentMatch, exactMatch, or regexMatch must be set.
11205
11255
  # Corresponds to the JSON property `presentMatch`
11206
11256
  # @return [Boolean]
11207
11257
  attr_accessor :present_match
11208
11258
  alias_method :present_match?, :present_match
11209
11259
 
11210
11260
  # 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.
11261
+ # regular expression specified by regexMatch. For more information about regular
11262
+ # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
11263
+ # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
11264
+ # is set to INTERNAL_SELF_MANAGED.
11215
11265
  # Corresponds to the JSON property `regexMatch`
11216
11266
  # @return [String]
11217
11267
  attr_accessor :regex_match
@@ -11233,15 +11283,15 @@ module Google
11233
11283
  class HttpRedirectAction
11234
11284
  include Google::Apis::Core::Hashable
11235
11285
 
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.
11286
+ # The host that is used in the redirect response instead of the one that was
11287
+ # supplied in the request. The value must be from 1 to 255 characters.
11238
11288
  # Corresponds to the JSON property `hostRedirect`
11239
11289
  # @return [String]
11240
11290
  attr_accessor :host_redirect
11241
11291
 
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
11292
+ # If set to true, the URL scheme in the redirected request is set to HTTPS. If
11293
+ # set to false, the URL scheme of the redirected request remains the same as
11294
+ # that of the request. This must only be set for URL maps used in
11245
11295
  # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
11246
11296
  # default is set to false.
11247
11297
  # Corresponds to the JSON property `httpsRedirect`
@@ -11249,11 +11299,11 @@ module Google
11249
11299
  attr_accessor :https_redirect
11250
11300
  alias_method :https_redirect?, :https_redirect
11251
11301
 
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
11302
+ # The path that is used in the redirect response instead of the one that was
11303
+ # supplied in the request. pathRedirect cannot be supplied together with
11254
11304
  # 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.
11305
+ # of the original request is used for the redirect. The value must be from 1 to
11306
+ # 1024 characters.
11257
11307
  # Corresponds to the JSON property `pathRedirect`
11258
11308
  # @return [String]
11259
11309
  attr_accessor :path_redirect
@@ -11261,8 +11311,8 @@ module Google
11261
11311
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
11262
11312
  # retaining the remaining portion of the URL before redirecting the request.
11263
11313
  # 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.
11314
+ # or neither. If neither is supplied, the path of the original request is used
11315
+ # for the redirect. The value must be from 1 to 1024 characters.
11266
11316
  # Corresponds to the JSON property `prefixRedirect`
11267
11317
  # @return [String]
11268
11318
  attr_accessor :prefix_redirect
@@ -11271,14 +11321,14 @@ module Google
11271
11321
  # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
11272
11322
  # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
11273
11323
  # 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.
11324
+ # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
11325
+ # request method is retained.
11276
11326
  # Corresponds to the JSON property `redirectResponseCode`
11277
11327
  # @return [String]
11278
11328
  attr_accessor :redirect_response_code
11279
11329
 
11280
11330
  # 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
11331
+ # before redirecting the request. If set to false, the query portion of the
11282
11332
  # original URL is retained. The default is set to false.
11283
11333
  # Corresponds to the JSON property `stripQuery`
11284
11334
  # @return [Boolean]
@@ -11319,25 +11369,27 @@ module Google
11319
11369
  attr_accessor :per_try_timeout
11320
11370
 
11321
11371
  # 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
11372
+ # are: - 5xx: retry is attempted if the instance or endpoint responds with any
11373
+ # 5xx response code, or if the instance or endpoint does not respond at all. For
11374
+ # example, disconnects, reset, read timeout, connection failure, and refused
11325
11375
  # 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
- #
11376
+ # 502, 503 or 504. - connect-failure: a retry is attempted on failures
11377
+ # connecting to the instance or endpoint. For example, connection timeouts. -
11378
+ # retriable-4xx: a retry is attempted if the instance or endpoint responds with
11379
+ # a 4xx response code. The only error that you can retry is error code 409. -
11380
+ # refused-stream: a retry is attempted if the instance or endpoint resets the
11381
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
11382
+ # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
11383
+ # the response header is set to cancelled. - deadline-exceeded: a retry is
11384
+ # attempted if the gRPC status code in the response header is set to deadline-
11385
+ # exceeded. - internal: a retry is attempted if the gRPC status code in the
11386
+ # response header is set to internal. - resource-exhausted: a retry is attempted
11387
+ # if the gRPC status code in the response header is set to resource-exhausted. -
11388
+ # unavailable: a retry is attempted if the gRPC status code in the response
11389
+ # header is set to unavailable. Only the following codes are supported when the
11390
+ # URL map is bound to target gRPC proxy that has validateForProxyless field set
11391
+ # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
11392
+ # unavailable
11341
11393
  # Corresponds to the JSON property `retryConditions`
11342
11394
  # @return [Array<String>]
11343
11395
  attr_accessor :retry_conditions
@@ -11358,8 +11410,9 @@ module Google
11358
11410
  class HttpRouteAction
11359
11411
  include Google::Apis::Core::Hashable
11360
11412
 
11361
- # The specification for allowing client side cross-origin requests. Please see
11362
- # W3C Recommendation for Cross Origin Resource Sharing
11413
+ # The specification for allowing client-side cross-origin requests. For more
11414
+ # information about the W3C recommendation for cross-origin resource sharing (
11415
+ # CORS), see Fetch API Living Standard.
11363
11416
  # Corresponds to the JSON property `corsPolicy`
11364
11417
  # @return [Google::Apis::ComputeBeta::CorsPolicy]
11365
11418
  attr_accessor :cors_policy
@@ -11367,9 +11420,9 @@ module Google
11367
11420
  # The specification for fault injection introduced into traffic to test the
11368
11421
  # resiliency of clients to backend service failure. As part of fault injection,
11369
11422
  # 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.
11423
+ # the load balancer on a percentage of requests before sending those request to
11424
+ # the backend service. Similarly requests from clients can be aborted by the
11425
+ # load balancer for a percentage of requests.
11373
11426
  # Corresponds to the JSON property `faultInjectionPolicy`
11374
11427
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11375
11428
  attr_accessor :fault_injection_policy
@@ -11383,9 +11436,9 @@ module Google
11383
11436
  attr_accessor :max_stream_duration
11384
11437
 
11385
11438
  # 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.
11439
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
11440
+ # wait for responses from the shadow service. Before sending traffic to the
11441
+ # shadow service, the host or authority header is suffixed with -shadow.
11389
11442
  # Corresponds to the JSON property `requestMirrorPolicy`
11390
11443
  # @return [Google::Apis::ComputeBeta::RequestMirrorPolicy]
11391
11444
  attr_accessor :request_mirror_policy
@@ -11413,7 +11466,7 @@ module Google
11413
11466
  # occurs. The weights determine the fraction of traffic that flows to their
11414
11467
  # corresponding backend service. If all traffic needs to go to a single backend
11415
11468
  # service, there must be one weightedBackendService with weight set to a non-
11416
- # zero number. Once a backendService is identified and before forwarding the
11469
+ # zero number. After a backend service is identified and before forwarding the
11417
11470
  # request to the backend service, advanced routing actions such as URL rewrites
11418
11471
  # and header transformations are applied depending on additional settings
11419
11472
  # specified in this HttpRouteAction.
@@ -11438,8 +11491,8 @@ module Google
11438
11491
  end
11439
11492
  end
11440
11493
 
11441
- # An HttpRouteRule specifies how to match an HTTP request and the corresponding
11442
- # routing action that load balancing proxies will perform.
11494
+ # The HttpRouteRule setting specifies how to match an HTTP request and the
11495
+ # corresponding routing action that load balancing proxies perform.
11443
11496
  class HttpRouteRule
11444
11497
  include Google::Apis::Core::Hashable
11445
11498
 
@@ -11456,9 +11509,9 @@ module Google
11456
11509
  attr_accessor :header_action
11457
11510
 
11458
11511
  # Outbound route specific configuration for networkservices.HttpFilter resources
11459
- # enabled by Traffic Director. httpFilterConfigs only applies for Loadbalancers
11512
+ # enabled by Traffic Director. httpFilterConfigs only applies for load balancers
11460
11513
  # 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
11514
+ # more details. Not supported when the URL map is bound to a target gRPC proxy
11462
11515
  # that has validateForProxyless field set to true.
11463
11516
  # Corresponds to the JSON property `httpFilterConfigs`
11464
11517
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
@@ -11466,10 +11519,10 @@ module Google
11466
11519
 
11467
11520
  # Outbound route specific metadata supplied to networkservices.HttpFilter
11468
11521
  # resources enabled by Traffic Director. httpFilterMetadata only applies for
11469
- # Loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11522
+ # load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11470
11523
  # ForwardingRule for more details. The only configTypeUrl supported is type.
11471
11524
  # 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.
11525
+ # to a target gRPC proxy that has validateForProxyless field set to true.
11473
11526
  # Corresponds to the JSON property `httpFilterMetadata`
11474
11527
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
11475
11528
  attr_accessor :http_filter_metadata
@@ -11484,11 +11537,11 @@ module Google
11484
11537
  attr_accessor :match_rules
11485
11538
 
11486
11539
  # 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
11540
+ # which a load balancer interprets routeRules. RouteRules are evaluated in order
11541
+ # of priority, from the lowest to highest number. The priority of a rule
11489
11542
  # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
11490
11543
  # 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
11544
+ # same priority. Priority for each rule must be set to a number from 0 to
11492
11545
  # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
11493
11546
  # or remove rules in the future without affecting the rest of the rules. For
11494
11547
  # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
@@ -11499,24 +11552,24 @@ module Google
11499
11552
  attr_accessor :priority
11500
11553
 
11501
11554
  # In response to a matching matchRule, the load balancer performs advanced
11502
- # routing actions like URL rewrites, header transformations, etc. prior to
11555
+ # routing actions, such as URL rewrites and header transformations, before
11503
11556
  # forwarding the request to the selected backend. If routeAction specifies any
11504
11557
  # weightedBackendServices, service must not be set. Conversely if service is set,
11505
11558
  # routeAction cannot contain any weightedBackendServices. Only one of
11506
11559
  # urlRedirect, service or routeAction.weightedBackendService must be set.
11507
11560
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
11508
- # within a routeRule's routeAction.
11561
+ # within a route rule's routeAction.
11509
11562
  # Corresponds to the JSON property `routeAction`
11510
11563
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
11511
11564
  attr_accessor :route_action
11512
11565
 
11513
11566
  # 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.
11567
+ # directed if this rule is matched. If routeAction is also specified, advanced
11568
+ # routing actions, such as URL rewrites, take effect before sending the request
11569
+ # to the backend. However, if service is specified, routeAction cannot contain
11570
+ # any weightedBackendServices. Conversely, if routeAction specifies any
11571
+ # weightedBackendServices, service must not be specified. Only one of
11572
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
11520
11573
  # Corresponds to the JSON property `service`
11521
11574
  # @return [String]
11522
11575
  attr_accessor :service
@@ -11551,9 +11604,9 @@ module Google
11551
11604
 
11552
11605
  # For satisfying the matchRule condition, the path of the request must exactly
11553
11606
  # 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.
11607
+ # and anchor that may be part of the original URL. fullPathMatch must be from 1
11608
+ # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
11609
+ # be specified.
11557
11610
  # Corresponds to the JSON property `fullPathMatch`
11558
11611
  # @return [String]
11559
11612
  attr_accessor :full_path_match
@@ -11566,53 +11619,52 @@ module Google
11566
11619
 
11567
11620
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
11568
11621
  # default value is false. ignoreCase must not be used with regexMatch. Not
11569
- # supported when the URL map is bound to target gRPC proxy.
11622
+ # supported when the URL map is bound to a target gRPC proxy.
11570
11623
  # Corresponds to the JSON property `ignoreCase`
11571
11624
  # @return [Boolean]
11572
11625
  attr_accessor :ignore_case
11573
11626
  alias_method :ignore_case?, :ignore_case
11574
11627
 
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
11628
+ # Opaque filter criteria used by the load balancer to restrict routing
11629
+ # configuration to a limited set of xDS compliant clients. In their xDS requests
11630
+ # to the load balancer, xDS clients present node metadata. When there is a match,
11631
+ # the relevant routing configuration is made available to those proxies. For
11632
+ # each metadataFilter in this list, if its filterMatchCriteria is set to
11633
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
11634
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
11635
+ # all of its filterLabels must match with corresponding labels provided in the
11636
+ # metadata. If multiple metadata filters are specified, all of them need to be
11637
+ # satisfied in order to be considered a match. metadataFilters specified here is
11585
11638
  # 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.
11639
+ # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
11640
+ # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
11641
+ # the URL map is bound to a target gRPC proxy that has validateForProxyless
11642
+ # field set to true.
11590
11643
  # Corresponds to the JSON property `metadataFilters`
11591
11644
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
11592
11645
  attr_accessor :metadata_filters
11593
11646
 
11594
11647
  # 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.
11648
+ # specified prefixMatch. prefixMatch must begin with a /. The value must be from
11649
+ # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11650
+ # must be specified.
11598
11651
  # Corresponds to the JSON property `prefixMatch`
11599
11652
  # @return [String]
11600
11653
  attr_accessor :prefix_match
11601
11654
 
11602
11655
  # Specifies a list of query parameter match criteria, all of which must match
11603
11656
  # corresponding query parameters in the request. Not supported when the URL map
11604
- # is bound to target gRPC proxy.
11657
+ # is bound to a target gRPC proxy.
11605
11658
  # Corresponds to the JSON property `queryParameterMatches`
11606
11659
  # @return [Array<Google::Apis::ComputeBeta::HttpQueryParameterMatch>]
11607
11660
  attr_accessor :query_parameter_matches
11608
11661
 
11609
11662
  # For satisfying the matchRule condition, the path of the request must satisfy
11610
11663
  # 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.
11664
+ # parameters and anchor supplied with the original URL. For more information
11665
+ # about regular expression syntax, see Syntax. Only one of prefixMatch,
11666
+ # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
11667
+ # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
11616
11668
  # Corresponds to the JSON property `regexMatch`
11617
11669
  # @return [String]
11618
11670
  attr_accessor :regex_match
@@ -11900,8 +11952,8 @@ module Google
11900
11952
  attr_accessor :family
11901
11953
 
11902
11954
  # 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.
11955
+ # for bootable images. To see a list of available options, see the
11956
+ # guestOSfeatures[].type parameter.
11905
11957
  # Corresponds to the JSON property `guestOsFeatures`
11906
11958
  # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
11907
11959
  attr_accessor :guest_os_features
@@ -15318,7 +15370,7 @@ module Google
15318
15370
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
15319
15371
  attr_accessor :network_interfaces
15320
15372
 
15321
- #
15373
+ # Note that for MachineImage, this is not supported yet.
15322
15374
  # Corresponds to the JSON property `networkPerformanceConfig`
15323
15375
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
15324
15376
  attr_accessor :network_performance_config
@@ -15329,7 +15381,8 @@ module Google
15329
15381
  attr_accessor :post_key_revocation_action_type
15330
15382
 
15331
15383
  # The private IPv6 google access type for VMs. If not specified, use
15332
- # INHERIT_FROM_SUBNETWORK as default.
15384
+ # INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
15385
+ # supported yet.
15333
15386
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
15334
15387
  # @return [String]
15335
15388
  attr_accessor :private_ipv6_google_access
@@ -15340,7 +15393,7 @@ module Google
15340
15393
  attr_accessor :reservation_affinity
15341
15394
 
15342
15395
  # Resource policies (names, not ULRs) applied to instances created from these
15343
- # properties.
15396
+ # properties. Note that for MachineImage, this is not supported yet.
15344
15397
  # Corresponds to the JSON property `resourcePolicies`
15345
15398
  # @return [Array<String>]
15346
15399
  attr_accessor :resource_policies
@@ -16264,6 +16317,14 @@ module Google
16264
16317
  # @return [Fixnum]
16265
16318
  attr_accessor :requested_link_count
16266
16319
 
16320
+ # [Output Only] Set to true if the resource satisfies the zone separation
16321
+ # organization policy constraints and false otherwise. Defaults to false if the
16322
+ # field is not present.
16323
+ # Corresponds to the JSON property `satisfiesPzs`
16324
+ # @return [Boolean]
16325
+ attr_accessor :satisfies_pzs
16326
+ alias_method :satisfies_pzs?, :satisfies_pzs
16327
+
16267
16328
  # [Output Only] Server-defined URL for the resource.
16268
16329
  # Corresponds to the JSON property `selfLink`
16269
16330
  # @return [String]
@@ -16308,6 +16369,7 @@ module Google
16308
16369
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
16309
16370
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
16310
16371
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
16372
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16311
16373
  @self_link = args[:self_link] if args.key?(:self_link)
16312
16374
  @state = args[:state] if args.key?(:state)
16313
16375
  end
@@ -16368,7 +16430,10 @@ module Google
16368
16430
  # @return [String]
16369
16431
  attr_accessor :customer_router_ip_address
16370
16432
 
16371
- # [Output Only] Dataplane version for this InterconnectAttachment.
16433
+ # [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
16434
+ # ] Dataplane version for this InterconnectAttachment. This field is only
16435
+ # present for Dataplane version 2 and higher. Absence of this field in the API
16436
+ # output indicates that the Dataplane is version 1.
16372
16437
  # Corresponds to the JSON property `dataplaneVersion`
16373
16438
  # @return [Fixnum]
16374
16439
  attr_accessor :dataplane_version
@@ -16533,6 +16598,14 @@ module Google
16533
16598
  # @return [String]
16534
16599
  attr_accessor :router
16535
16600
 
16601
+ # [Output Only] Set to true if the resource satisfies the zone separation
16602
+ # organization policy constraints and false otherwise. Defaults to false if the
16603
+ # field is not present.
16604
+ # Corresponds to the JSON property `satisfiesPzs`
16605
+ # @return [Boolean]
16606
+ attr_accessor :satisfies_pzs
16607
+ alias_method :satisfies_pzs?, :satisfies_pzs
16608
+
16536
16609
  # [Output Only] Server-defined URL for the resource.
16537
16610
  # Corresponds to the JSON property `selfLink`
16538
16611
  # @return [String]
@@ -16604,6 +16677,7 @@ module Google
16604
16677
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
16605
16678
  @region = args[:region] if args.key?(:region)
16606
16679
  @router = args[:router] if args.key?(:router)
16680
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16607
16681
  @self_link = args[:self_link] if args.key?(:self_link)
16608
16682
  @state = args[:state] if args.key?(:state)
16609
16683
  @type = args[:type] if args.key?(:type)
@@ -17431,6 +17505,13 @@ module Google
17431
17505
  # @return [String]
17432
17506
  attr_accessor :status
17433
17507
 
17508
+ # [Output Only] Set to true for locations that support physical zone separation.
17509
+ # Defaults to false if the field is not present.
17510
+ # Corresponds to the JSON property `supportsPzs`
17511
+ # @return [Boolean]
17512
+ attr_accessor :supports_pzs
17513
+ alias_method :supports_pzs?, :supports_pzs
17514
+
17434
17515
  def initialize(**args)
17435
17516
  update!(**args)
17436
17517
  end
@@ -17452,6 +17533,7 @@ module Google
17452
17533
  @region_infos = args[:region_infos] if args.key?(:region_infos)
17453
17534
  @self_link = args[:self_link] if args.key?(:self_link)
17454
17535
  @status = args[:status] if args.key?(:status)
17536
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
17455
17537
  end
17456
17538
  end
17457
17539
 
@@ -18098,6 +18180,11 @@ module Google
18098
18180
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
18099
18181
  attr_accessor :locations
18100
18182
 
18183
+ # Strategy for distributing VMs across zones in a region.
18184
+ # Corresponds to the JSON property `targetShape`
18185
+ # @return [String]
18186
+ attr_accessor :target_shape
18187
+
18101
18188
  def initialize(**args)
18102
18189
  update!(**args)
18103
18190
  end
@@ -18105,6 +18192,7 @@ module Google
18105
18192
  # Update properties of this object
18106
18193
  def update!(**args)
18107
18194
  @locations = args[:locations] if args.key?(:locations)
18195
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
18108
18196
  end
18109
18197
  end
18110
18198
 
@@ -18291,6 +18379,11 @@ module Google
18291
18379
  # @return [Fixnum]
18292
18380
  attr_accessor :id
18293
18381
 
18382
+ # [Output Only] Properties of source instance
18383
+ # Corresponds to the JSON property `instanceProperties`
18384
+ # @return [Google::Apis::ComputeBeta::InstanceProperties]
18385
+ attr_accessor :instance_properties
18386
+
18294
18387
  # [Output Only] The resource type, which is always compute#machineImage for
18295
18388
  # machine image.
18296
18389
  # Corresponds to the JSON property `kind`
@@ -18326,6 +18419,12 @@ module Google
18326
18419
  attr_accessor :satisfies_pzs
18327
18420
  alias_method :satisfies_pzs?, :satisfies_pzs
18328
18421
 
18422
+ # An array of Machine Image specific properties for disks attached to the source
18423
+ # instance
18424
+ # Corresponds to the JSON property `savedDisks`
18425
+ # @return [Array<Google::Apis::ComputeBeta::SavedDisk>]
18426
+ attr_accessor :saved_disks
18427
+
18329
18428
  # [Output Only] The URL for this machine image. The server defines this URL.
18330
18429
  # Corresponds to the JSON property `selfLink`
18331
18430
  # @return [String]
@@ -18346,7 +18445,8 @@ module Google
18346
18445
  # @return [String]
18347
18446
  attr_accessor :source_instance
18348
18447
 
18349
- # [Output Only] Properties of source instance.
18448
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
18449
+ # not be added to this field.
18350
18450
  # Corresponds to the JSON property `sourceInstanceProperties`
18351
18451
  # @return [Google::Apis::ComputeBeta::SourceInstanceProperties]
18352
18452
  attr_accessor :source_instance_properties
@@ -18378,10 +18478,12 @@ module Google
18378
18478
  @description = args[:description] if args.key?(:description)
18379
18479
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
18380
18480
  @id = args[:id] if args.key?(:id)
18481
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
18381
18482
  @kind = args[:kind] if args.key?(:kind)
18382
18483
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
18383
18484
  @name = args[:name] if args.key?(:name)
18384
18485
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18486
+ @saved_disks = args[:saved_disks] if args.key?(:saved_disks)
18385
18487
  @self_link = args[:self_link] if args.key?(:self_link)
18386
18488
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
18387
18489
  @source_instance = args[:source_instance] if args.key?(:source_instance)
@@ -19256,18 +19358,18 @@ module Google
19256
19358
  end
19257
19359
  end
19258
19360
 
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.
19361
+ # Opaque filter criteria used by load balancers to restrict routing
19362
+ # configuration to a limited set of load balancing proxies. Proxies and sidecars
19363
+ # involved in load balancing would typically present metadata to the load
19364
+ # balancers that need to match criteria specified here. If a match takes place,
19365
+ # the relevant configuration is made available to those proxies. For each
19366
+ # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
19367
+ # at least one of the filterLabels must match the corresponding label provided
19368
+ # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
19369
+ # its filterLabels must match with corresponding labels provided in the metadata.
19370
+ # An example for using metadataFilters would be: if load balancing involves
19371
+ # Envoys, they receive routing configuration when values in metadataFilters
19372
+ # match values supplied in of their XDS requests to loadbalancers.
19271
19373
  class MetadataFilter
19272
19374
  include Google::Apis::Core::Hashable
19273
19375
 
@@ -19278,11 +19380,11 @@ module Google
19278
19380
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilterLabelMatch>]
19279
19381
  attr_accessor :filter_labels
19280
19382
 
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.
19383
+ # Specifies how individual filter label matches within the list of filterLabels
19384
+ # and contributes toward the overall metadataFilter match. Supported values are:
19385
+ # - MATCH_ANY: at least one of the filterLabels must have a matching label in
19386
+ # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
19387
+ # in the provided metadata.
19286
19388
  # Corresponds to the JSON property `filterMatchCriteria`
19287
19389
  # @return [String]
19288
19390
  attr_accessor :filter_match_criteria
@@ -19299,7 +19401,7 @@ module Google
19299
19401
  end
19300
19402
 
19301
19403
  # MetadataFilter label name value pairs that are expected to match corresponding
19302
- # labels presented as metadata to the loadbalancer.
19404
+ # labels presented as metadata to the load balancer.
19303
19405
  class MetadataFilterLabelMatch
19304
19406
  include Google::Apis::Core::Hashable
19305
19407
 
@@ -20510,14 +20612,15 @@ module Google
20510
20612
  # @return [String]
20511
20613
  attr_accessor :name
20512
20614
 
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
20615
+ # URL of the VPC network resource for this instance. When creating an instance,
20616
+ # if neither the network nor the subnetwork is specified, the default network
20617
+ # global/networks/default is used. If the selected project doesn't have the
20618
+ # default network, you must specify a network or subnet. If the network is not
20619
+ # specified but the subnetwork is specified, the network is inferred. If you
20620
+ # specify this property, you can specify the network as a full or partial URL.
20621
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
20622
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
20623
+ # networks/network - global/networks/default
20521
20624
  # Corresponds to the JSON property `network`
20522
20625
  # @return [String]
20523
20626
  attr_accessor :network
@@ -20726,7 +20829,8 @@ module Google
20726
20829
  attr_accessor :exchange_subnet_routes
20727
20830
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
20728
20831
 
20729
- # Whether to export the custom routes to peer network.
20832
+ # Whether to export the custom routes to peer network. The default value is
20833
+ # false.
20730
20834
  # Corresponds to the JSON property `exportCustomRoutes`
20731
20835
  # @return [Boolean]
20732
20836
  attr_accessor :export_custom_routes
@@ -20740,7 +20844,8 @@ module Google
20740
20844
  attr_accessor :export_subnet_routes_with_public_ip
20741
20845
  alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
20742
20846
 
20743
- # Whether to import the custom routes from peer network.
20847
+ # Whether to import the custom routes from peer network. The default value is
20848
+ # false.
20744
20849
  # Corresponds to the JSON property `importCustomRoutes`
20745
20850
  # @return [Boolean]
20746
20851
  attr_accessor :import_custom_routes
@@ -24426,37 +24531,37 @@ module Google
24426
24531
 
24427
24532
  # A matcher for the path portion of the URL. The BackendService from the longest-
24428
24533
  # matched rule will serve the URL. If no rule was matched, the default service
24429
- # will be used.
24534
+ # is used.
24430
24535
  class PathMatcher
24431
24536
  include Google::Apis::Core::Hashable
24432
24537
 
24433
24538
  # 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.
24539
+ # The load balancer performs advanced routing actions, such as URL rewrites and
24540
+ # header transformations, before forwarding the request to the selected backend.
24436
24541
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
24437
24542
  # must not be set. Conversely if defaultService is set, defaultRouteAction
24438
24543
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
24439
24544
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
24440
- # support only the urlRewrite action within a pathMatcher's defaultRouteAction.
24545
+ # support only the urlRewrite action within a path matcher's defaultRouteAction.
24441
24546
  # Corresponds to the JSON property `defaultRouteAction`
24442
24547
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24443
24548
  attr_accessor :default_route_action
24444
24549
 
24445
- # The full or partial URL to the BackendService resource. This will be used if
24550
+ # The full or partial URL to the BackendService resource. This URL is used if
24446
24551
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
24447
24552
  # For example, the following are all valid URLs to a BackendService resource: -
24448
24553
  # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
24449
24554
  # backendService - compute/v1/projects/project/global/backendServices/
24450
24555
  # 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
24556
+ # is also specified, advanced routing actions, such as URL rewrites, take effect
24557
+ # before sending the request to the backend. However, if defaultService is
24558
+ # specified, defaultRouteAction cannot contain any weightedBackendServices.
24559
+ # Conversely, if defaultRouteAction specifies any weightedBackendServices,
24560
+ # defaultService must not be specified. Only one of defaultService,
24561
+ # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
24562
+ # Authorization requires one or more of the following Google IAM permissions on
24563
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
24564
+ # backendServices.use
24460
24565
  # Corresponds to the JSON property `defaultService`
24461
24566
  # @return [String]
24462
24567
  attr_accessor :default_service
@@ -24532,23 +24637,23 @@ module Google
24532
24637
  attr_accessor :paths
24533
24638
 
24534
24639
  # In response to a matching path, the load balancer performs advanced routing
24535
- # actions like URL rewrites, header transformations, etc. prior to forwarding
24640
+ # actions, such as URL rewrites and header transformations, before forwarding
24536
24641
  # the request to the selected backend. If routeAction specifies any
24537
24642
  # weightedBackendServices, service must not be set. Conversely if service is set,
24538
24643
  # 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.
24644
+ # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
24645
+ # balancers support only the urlRewrite action within a path rule's routeAction.
24541
24646
  # Corresponds to the JSON property `routeAction`
24542
24647
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24543
24648
  attr_accessor :route_action
24544
24649
 
24545
24650
  # 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.
24651
+ # directed if this rule is matched. If routeAction is also specified, advanced
24652
+ # routing actions, such as URL rewrites, take effect before sending the request
24653
+ # to the backend. However, if service is specified, routeAction cannot contain
24654
+ # any weightedBackendServices. Conversely, if routeAction specifies any
24655
+ # weightedBackendServices, service must not be specified. Only one of
24656
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
24552
24657
  # Corresponds to the JSON property `service`
24553
24658
  # @return [String]
24554
24659
  attr_accessor :service
@@ -24620,31 +24725,31 @@ module Google
24620
24725
 
24621
24726
  # An Identity and Access Management (IAM) policy, which specifies access
24622
24727
  # 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/).
24728
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
24729
+ # Principals can be user accounts, service accounts, Google groups, and domains (
24730
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
24731
+ # an IAM predefined role or a user-created custom role. For some types of Google
24732
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
24733
+ # logical expression that allows access to a resource only if the expression
24734
+ # evaluates to `true`. A condition can add constraints based on attributes of
24735
+ # the request, the resource, or both. To learn which resources support
24736
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
24737
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
24738
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
24739
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
24740
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
24741
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
24742
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
24743
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
24744
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
24745
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
24746
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
24747
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
24748
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
24749
+ # access description: Does not grant access after Sep 2020 expression: request.
24750
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
24751
+ # a description of IAM and its features, see the [IAM documentation](https://
24752
+ # cloud.google.com/iam/docs/).
24648
24753
  class Policy
24649
24754
  include Google::Apis::Core::Hashable
24650
24755
 
@@ -24653,9 +24758,14 @@ module Google
24653
24758
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
24654
24759
  attr_accessor :audit_configs
24655
24760
 
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.
24761
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
24762
+ # specify a `condition` that determines how and when the `bindings` are applied.
24763
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
24764
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
24765
+ # can be Google groups. Each occurrence of a principal counts towards these
24766
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
24767
+ # example.com`, and not to any other principal, then you can add another 1,450
24768
+ # principals to the `bindings` in the `Policy`.
24659
24769
  # Corresponds to the JSON property `bindings`
24660
24770
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
24661
24771
  attr_accessor :bindings
@@ -24676,12 +24786,6 @@ module Google
24676
24786
  # @return [String]
24677
24787
  attr_accessor :etag
24678
24788
 
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
24789
  # This is deprecated and has no effect. Do not use.
24686
24790
  # Corresponds to the JSON property `rules`
24687
24791
  # @return [Array<Google::Apis::ComputeBeta::Rule>]
@@ -24715,7 +24819,6 @@ module Google
24715
24819
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
24716
24820
  @bindings = args[:bindings] if args.key?(:bindings)
24717
24821
  @etag = args[:etag] if args.key?(:etag)
24718
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
24719
24822
  @rules = args[:rules] if args.key?(:rules)
24720
24823
  @version = args[:version] if args.key?(:version)
24721
24824
  end
@@ -24750,6 +24853,18 @@ module Google
24750
24853
  # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedDisk>]
24751
24854
  attr_accessor :disks
24752
24855
 
24856
+ # Preserved external IPs defined for this instance. This map is keyed with the
24857
+ # name of the network interface.
24858
+ # Corresponds to the JSON property `externalIPs`
24859
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
24860
+ attr_accessor :external_i_ps
24861
+
24862
+ # Preserved internal IPs defined for this instance. This map is keyed with the
24863
+ # name of the network interface.
24864
+ # Corresponds to the JSON property `internalIPs`
24865
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
24866
+ attr_accessor :internal_i_ps
24867
+
24753
24868
  # Preserved metadata defined for this instance.
24754
24869
  # Corresponds to the JSON property `metadata`
24755
24870
  # @return [Hash<String,String>]
@@ -24762,6 +24877,8 @@ module Google
24762
24877
  # Update properties of this object
24763
24878
  def update!(**args)
24764
24879
  @disks = args[:disks] if args.key?(:disks)
24880
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
24881
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
24765
24882
  @metadata = args[:metadata] if args.key?(:metadata)
24766
24883
  end
24767
24884
  end
@@ -24803,6 +24920,60 @@ module Google
24803
24920
  end
24804
24921
  end
24805
24922
 
24923
+ #
24924
+ class PreservedStatePreservedNetworkIp
24925
+ include Google::Apis::Core::Hashable
24926
+
24927
+ # These stateful IPs will never be released during autohealing, update or VM
24928
+ # instance recreate operations. This flag is used to configure if the IP
24929
+ # reservation should be deleted after it is no longer used by the group, e.g.
24930
+ # when the given instance or the whole group is deleted.
24931
+ # Corresponds to the JSON property `autoDelete`
24932
+ # @return [String]
24933
+ attr_accessor :auto_delete
24934
+
24935
+ # Ip address representation
24936
+ # Corresponds to the JSON property `ipAddress`
24937
+ # @return [Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIpIpAddress]
24938
+ attr_accessor :ip_address
24939
+
24940
+ def initialize(**args)
24941
+ update!(**args)
24942
+ end
24943
+
24944
+ # Update properties of this object
24945
+ def update!(**args)
24946
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
24947
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
24948
+ end
24949
+ end
24950
+
24951
+ #
24952
+ class PreservedStatePreservedNetworkIpIpAddress
24953
+ include Google::Apis::Core::Hashable
24954
+
24955
+ # The URL of the reservation for this IP address.
24956
+ # Corresponds to the JSON property `address`
24957
+ # @return [String]
24958
+ attr_accessor :address
24959
+
24960
+ # An IPv4 internal network address to assign to the instance for this network
24961
+ # interface.
24962
+ # Corresponds to the JSON property `literal`
24963
+ # @return [String]
24964
+ attr_accessor :literal
24965
+
24966
+ def initialize(**args)
24967
+ update!(**args)
24968
+ end
24969
+
24970
+ # Update properties of this object
24971
+ def update!(**args)
24972
+ @address = args[:address] if args.key?(:address)
24973
+ @literal = args[:literal] if args.key?(:literal)
24974
+ end
24975
+ end
24976
+
24806
24977
  # Represents a Project resource. A project is used to organize resources in a
24807
24978
  # Google Cloud Platform environment. For more information, read about the
24808
24979
  # Resource Hierarchy.
@@ -25096,7 +25267,13 @@ module Google
25096
25267
  # @return [String]
25097
25268
  attr_accessor :shared_secret
25098
25269
 
25099
- # The status of the public advertised prefix.
25270
+ # The status of the public advertised prefix. Possible values include: - `
25271
+ # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
25272
+ # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
25273
+ # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
25274
+ # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
25275
+ # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
25276
+ # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
25100
25277
  # Corresponds to the JSON property `status`
25101
25278
  # @return [String]
25102
25279
  attr_accessor :status
@@ -25375,7 +25552,12 @@ module Google
25375
25552
  # @return [String]
25376
25553
  attr_accessor :self_link
25377
25554
 
25378
- # [Output Only] The status of the public delegated prefix.
25555
+ # [Output Only] The status of the public delegated prefix, which can be one of
25556
+ # following values: - `INITIALIZING` The public delegated prefix is being
25557
+ # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
25558
+ # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
25559
+ # The public delegated prefix is active. - `DELETING` The public delegated
25560
+ # prefix is being deprovsioned.
25379
25561
  # Corresponds to the JSON property `status`
25380
25562
  # @return [String]
25381
25563
  attr_accessor :status
@@ -26862,6 +27044,47 @@ module Google
26862
27044
  end
26863
27045
  end
26864
27046
 
27047
+ #
27048
+ class RegionInstanceGroupManagersResizeAdvancedRequest
27049
+ include Google::Apis::Core::Hashable
27050
+
27051
+ # If this flag is true, the managed instance group attempts to create all
27052
+ # instances initiated by this resize request only once. If there is an error
27053
+ # during creation, the managed instance group does not retry create this
27054
+ # instance, and we will decrease the targetSize of the request instead. If the
27055
+ # flag is false, the group attempts to recreate each instance continuously until
27056
+ # it succeeds. This flag matters only in the first attempt of creation of an
27057
+ # instance. After an instance is successfully created while this flag is enabled,
27058
+ # the instance behaves the same way as all the other instances created with a
27059
+ # regular resize request. In particular, if a running instance dies unexpectedly
27060
+ # at a later time and needs to be recreated, this mode does not affect the
27061
+ # recreation behavior in that scenario. This flag is applicable only to the
27062
+ # current resize request. It does not influence other resize requests in any way.
27063
+ # You can see which instances ar being created in which mode by calling the get
27064
+ # or listManagedInstances API.
27065
+ # Corresponds to the JSON property `noCreationRetries`
27066
+ # @return [Boolean]
27067
+ attr_accessor :no_creation_retries
27068
+ alias_method :no_creation_retries?, :no_creation_retries
27069
+
27070
+ # The number of running instances that the managed instance group should
27071
+ # maintain at any given time. The group automatically adds or removes instances
27072
+ # to maintain the number of instances specified by this parameter.
27073
+ # Corresponds to the JSON property `targetSize`
27074
+ # @return [Fixnum]
27075
+ attr_accessor :target_size
27076
+
27077
+ def initialize(**args)
27078
+ update!(**args)
27079
+ end
27080
+
27081
+ # Update properties of this object
27082
+ def update!(**args)
27083
+ @no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
27084
+ @target_size = args[:target_size] if args.key?(:target_size)
27085
+ end
27086
+ end
27087
+
26865
27088
  #
26866
27089
  class RegionInstanceGroupManagersSetAutoHealingRequest
26867
27090
  include Google::Apis::Core::Hashable
@@ -27273,31 +27496,31 @@ module Google
27273
27496
 
27274
27497
  # An Identity and Access Management (IAM) policy, which specifies access
27275
27498
  # 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/).
27499
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
27500
+ # Principals can be user accounts, service accounts, Google groups, and domains (
27501
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
27502
+ # an IAM predefined role or a user-created custom role. For some types of Google
27503
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
27504
+ # logical expression that allows access to a resource only if the expression
27505
+ # evaluates to `true`. A condition can add constraints based on attributes of
27506
+ # the request, the resource, or both. To learn which resources support
27507
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
27508
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
27509
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
27510
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
27511
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
27512
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
27513
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
27514
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
27515
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
27516
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
27517
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
27518
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
27519
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
27520
+ # access description: Does not grant access after Sep 2020 expression: request.
27521
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
27522
+ # a description of IAM and its features, see the [IAM documentation](https://
27523
+ # cloud.google.com/iam/docs/).
27301
27524
  # Corresponds to the JSON property `policy`
27302
27525
  # @return [Google::Apis::ComputeBeta::Policy]
27303
27526
  attr_accessor :policy
@@ -27338,21 +27561,21 @@ module Google
27338
27561
  class RegionUrlMapsValidateRequest
27339
27562
  include Google::Apis::Core::Hashable
27340
27563
 
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
27564
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
27565
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
27566
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
27567
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
27345
27568
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
27346
27569
  # 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.
27570
+ # features by the load balancer type, see the Load balancing features: Routing
27571
+ # and traffic management table. For a list of supported URL map features for
27572
+ # Traffic Director, see the Traffic Director features: Routing and traffic
27573
+ # management table. This resource defines mappings from hostnames and URL paths
27574
+ # to either a backend service or a backend bucket. To use the global urlMaps
27575
+ # resource, the backend service must have a loadBalancingScheme of either
27576
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
27577
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
27578
+ # information, read URL Map Concepts.
27356
27579
  # Corresponds to the JSON property `resource`
27357
27580
  # @return [Google::Apis::ComputeBeta::UrlMap]
27358
27581
  attr_accessor :resource
@@ -27368,9 +27591,9 @@ module Google
27368
27591
  end
27369
27592
 
27370
27593
  # 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.
27594
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
27595
+ # wait for responses from the shadow service. Before sending traffic to the
27596
+ # shadow service, the host or authority header is suffixed with -shadow.
27374
27597
  class RequestMirrorPolicy
27375
27598
  include Google::Apis::Core::Hashable
27376
27599
 
@@ -28829,6 +29052,11 @@ module Google
28829
29052
  class Route
28830
29053
  include Google::Apis::Core::Hashable
28831
29054
 
29055
+ # [Output Only] AS path.
29056
+ # Corresponds to the JSON property `asPaths`
29057
+ # @return [Array<Google::Apis::ComputeBeta::RouteAsPath>]
29058
+ attr_accessor :as_paths
29059
+
28832
29060
  # [Output Only] Creation timestamp in RFC3339 text format.
28833
29061
  # Corresponds to the JSON property `creationTimestamp`
28834
29062
  # @return [String]
@@ -28933,6 +29161,15 @@ module Google
28933
29161
  # @return [Fixnum]
28934
29162
  attr_accessor :priority
28935
29163
 
29164
+ # [Output Only] The type of this route, which can be one of the following values:
29165
+ # - 'TRANSIT' for a transit route that this router learned from another Cloud
29166
+ # Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
29167
+ # from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
29168
+ # router - 'STATIC' for a static route
29169
+ # Corresponds to the JSON property `routeType`
29170
+ # @return [String]
29171
+ attr_accessor :route_type
29172
+
28936
29173
  # [Output Only] Server-defined fully-qualified URL for this resource.
28937
29174
  # Corresponds to the JSON property `selfLink`
28938
29175
  # @return [String]
@@ -28955,6 +29192,7 @@ module Google
28955
29192
 
28956
29193
  # Update properties of this object
28957
29194
  def update!(**args)
29195
+ @as_paths = args[:as_paths] if args.key?(:as_paths)
28958
29196
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
28959
29197
  @description = args[:description] if args.key?(:description)
28960
29198
  @dest_range = args[:dest_range] if args.key?(:dest_range)
@@ -28971,6 +29209,7 @@ module Google
28971
29209
  @next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
28972
29210
  @next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
28973
29211
  @priority = args[:priority] if args.key?(:priority)
29212
+ @route_type = args[:route_type] if args.key?(:route_type)
28974
29213
  @self_link = args[:self_link] if args.key?(:self_link)
28975
29214
  @tags = args[:tags] if args.key?(:tags)
28976
29215
  @warnings = args[:warnings] if args.key?(:warnings)
@@ -29041,6 +29280,37 @@ module Google
29041
29280
  end
29042
29281
  end
29043
29282
 
29283
+ #
29284
+ class RouteAsPath
29285
+ include Google::Apis::Core::Hashable
29286
+
29287
+ # [Output Only] The AS numbers of the AS Path.
29288
+ # Corresponds to the JSON property `asLists`
29289
+ # @return [Array<Fixnum>]
29290
+ attr_accessor :as_lists
29291
+
29292
+ # [Output Only] The type of the AS Path, which can be one of the following
29293
+ # values: - 'AS_SET': unordered set of autonomous systems that the route in has
29294
+ # traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
29295
+ # has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
29296
+ # in the local confederation that the route has traversed - 'AS_CONFED_SET':
29297
+ # unordered set of Member Autonomous Systems in the local confederation that the
29298
+ # route has traversed
29299
+ # Corresponds to the JSON property `pathSegmentType`
29300
+ # @return [String]
29301
+ attr_accessor :path_segment_type
29302
+
29303
+ def initialize(**args)
29304
+ update!(**args)
29305
+ end
29306
+
29307
+ # Update properties of this object
29308
+ def update!(**args)
29309
+ @as_lists = args[:as_lists] if args.key?(:as_lists)
29310
+ @path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
29311
+ end
29312
+ end
29313
+
29044
29314
  # Contains a list of Route resources.
29045
29315
  class RouteList
29046
29316
  include Google::Apis::Core::Hashable
@@ -29520,6 +29790,12 @@ module Google
29520
29790
  # @return [String]
29521
29791
  attr_accessor :enable
29522
29792
 
29793
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
29794
+ # Corresponds to the JSON property `enableIpv6`
29795
+ # @return [Boolean]
29796
+ attr_accessor :enable_ipv6
29797
+ alias_method :enable_ipv6?, :enable_ipv6
29798
+
29523
29799
  # Name of the interface the BGP peer is associated with.
29524
29800
  # Corresponds to the JSON property `interfaceName`
29525
29801
  # @return [String]
@@ -29531,6 +29807,11 @@ module Google
29531
29807
  # @return [String]
29532
29808
  attr_accessor :ip_address
29533
29809
 
29810
+ # IPv6 address of the interface inside Google Cloud Platform.
29811
+ # Corresponds to the JSON property `ipv6NexthopAddress`
29812
+ # @return [String]
29813
+ attr_accessor :ipv6_nexthop_address
29814
+
29534
29815
  # [Output Only] The resource that configures and manages this BGP peer. -
29535
29816
  # MANAGED_BY_USER is the default value and can be managed by you or other users -
29536
29817
  # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
@@ -29563,6 +29844,11 @@ module Google
29563
29844
  # @return [String]
29564
29845
  attr_accessor :peer_ip_address
29565
29846
 
29847
+ # IPv6 address of the BGP interface outside Google Cloud Platform.
29848
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
29849
+ # @return [String]
29850
+ attr_accessor :peer_ipv6_nexthop_address
29851
+
29566
29852
  # URI of the VM instance that is used as third-party router appliances such as
29567
29853
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29568
29854
  # must be located in zones contained in the same region as this Cloud Router.
@@ -29583,12 +29869,15 @@ module Google
29583
29869
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
29584
29870
  @bfd = args[:bfd] if args.key?(:bfd)
29585
29871
  @enable = args[:enable] if args.key?(:enable)
29872
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
29586
29873
  @interface_name = args[:interface_name] if args.key?(:interface_name)
29587
29874
  @ip_address = args[:ip_address] if args.key?(:ip_address)
29875
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
29588
29876
  @management_type = args[:management_type] if args.key?(:management_type)
29589
29877
  @name = args[:name] if args.key?(:name)
29590
29878
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29591
29879
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
29880
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
29592
29881
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29593
29882
  end
29594
29883
  end
@@ -29868,6 +30157,17 @@ module Google
29868
30157
  # @return [Array<String>]
29869
30158
  attr_accessor :drain_nat_ips
29870
30159
 
30160
+ # Enable Dynamic Port Allocation. If not specified, it is disabled by default.
30161
+ # If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
30162
+ # enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
30163
+ # minPortsPerVm must be set to a power of two greater than or equal to 32. If
30164
+ # minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
30165
+ # this NAT config.
30166
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
30167
+ # @return [Boolean]
30168
+ attr_accessor :enable_dynamic_port_allocation
30169
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
30170
+
29871
30171
  #
29872
30172
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
29873
30173
  # @return [Boolean]
@@ -29884,6 +30184,17 @@ module Google
29884
30184
  # @return [Google::Apis::ComputeBeta::RouterNatLogConfig]
29885
30185
  attr_accessor :log_config
29886
30186
 
30187
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
30188
+ # Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
30189
+ # field has no effect. If Dynamic Port Allocation is enabled, and this field is
30190
+ # set, it must be set to a power of two greater than minPortsPerVm, or 64 if
30191
+ # minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
30192
+ # is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
30193
+ # config.
30194
+ # Corresponds to the JSON property `maxPortsPerVm`
30195
+ # @return [Fixnum]
30196
+ attr_accessor :max_ports_per_vm
30197
+
29887
30198
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
29888
30199
  # default number of ports is allocated to a VM. This is rounded up to the
29889
30200
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -29913,6 +30224,11 @@ module Google
29913
30224
  # @return [Array<String>]
29914
30225
  attr_accessor :nat_ips
29915
30226
 
30227
+ # A list of rules associated with this NAT.
30228
+ # Corresponds to the JSON property `rules`
30229
+ # @return [Array<Google::Apis::ComputeBeta::RouterNatRule>]
30230
+ attr_accessor :rules
30231
+
29916
30232
  # Specify the Nat option, which can take one of the following values: -
29917
30233
  # ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
29918
30234
  # allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP
@@ -29939,6 +30255,12 @@ module Google
29939
30255
  # @return [Fixnum]
29940
30256
  attr_accessor :tcp_established_idle_timeout_sec
29941
30257
 
30258
+ # Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults
30259
+ # to 120s if not set.
30260
+ # Corresponds to the JSON property `tcpTimeWaitTimeoutSec`
30261
+ # @return [Fixnum]
30262
+ attr_accessor :tcp_time_wait_timeout_sec
30263
+
29942
30264
  # Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
29943
30265
  # set.
29944
30266
  # Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
@@ -29957,16 +30279,20 @@ module Google
29957
30279
  # Update properties of this object
29958
30280
  def update!(**args)
29959
30281
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
30282
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
29960
30283
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
29961
30284
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
29962
30285
  @log_config = args[:log_config] if args.key?(:log_config)
30286
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
29963
30287
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
29964
30288
  @name = args[:name] if args.key?(:name)
29965
30289
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
29966
30290
  @nat_ips = args[:nat_ips] if args.key?(:nat_ips)
30291
+ @rules = args[:rules] if args.key?(:rules)
29967
30292
  @source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
29968
30293
  @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
29969
30294
  @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
30295
+ @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
29970
30296
  @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
29971
30297
  @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
29972
30298
  end
@@ -30002,6 +30328,81 @@ module Google
30002
30328
  end
30003
30329
  end
30004
30330
 
30331
+ #
30332
+ class RouterNatRule
30333
+ include Google::Apis::Core::Hashable
30334
+
30335
+ # The action to be enforced for traffic that matches this rule.
30336
+ # Corresponds to the JSON property `action`
30337
+ # @return [Google::Apis::ComputeBeta::RouterNatRuleAction]
30338
+ attr_accessor :action
30339
+
30340
+ # An optional description of this rule.
30341
+ # Corresponds to the JSON property `description`
30342
+ # @return [String]
30343
+ attr_accessor :description
30344
+
30345
+ # CEL expression that specifies the match condition that egress traffic from a
30346
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
30347
+ # is enforced. The following examples are valid match expressions for public NAT:
30348
+ # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
30349
+ # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
30350
+ # following example is a valid match expression for private NAT: "nexthop.hub ==
30351
+ # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
30352
+ # global/hub/hub-1'"
30353
+ # Corresponds to the JSON property `match`
30354
+ # @return [String]
30355
+ attr_accessor :match
30356
+
30357
+ # An integer uniquely identifying a rule in the list. The rule number must be a
30358
+ # positive value between 0 and 65000, and must be unique among rules within a
30359
+ # NAT.
30360
+ # Corresponds to the JSON property `ruleNumber`
30361
+ # @return [Fixnum]
30362
+ attr_accessor :rule_number
30363
+
30364
+ def initialize(**args)
30365
+ update!(**args)
30366
+ end
30367
+
30368
+ # Update properties of this object
30369
+ def update!(**args)
30370
+ @action = args[:action] if args.key?(:action)
30371
+ @description = args[:description] if args.key?(:description)
30372
+ @match = args[:match] if args.key?(:match)
30373
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
30374
+ end
30375
+ end
30376
+
30377
+ #
30378
+ class RouterNatRuleAction
30379
+ include Google::Apis::Core::Hashable
30380
+
30381
+ # A list of URLs of the IP resources used for this NAT rule. These IP addresses
30382
+ # must be valid static external IP addresses assigned to the project. This field
30383
+ # is used for public NAT.
30384
+ # Corresponds to the JSON property `sourceNatActiveIps`
30385
+ # @return [Array<String>]
30386
+ attr_accessor :source_nat_active_ips
30387
+
30388
+ # A list of URLs of the IP resources to be drained. These IPs must be valid
30389
+ # static external IPs that have been assigned to the NAT. These IPs should be
30390
+ # used for updating/patching a NAT rule only. This field is used for public NAT.
30391
+ # Corresponds to the JSON property `sourceNatDrainIps`
30392
+ # @return [Array<String>]
30393
+ attr_accessor :source_nat_drain_ips
30394
+
30395
+ def initialize(**args)
30396
+ update!(**args)
30397
+ end
30398
+
30399
+ # Update properties of this object
30400
+ def update!(**args)
30401
+ @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
30402
+ @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
30403
+ end
30404
+ end
30405
+
30005
30406
  # Defines the IP ranges that want to use NAT for a subnetwork.
30006
30407
  class RouterNatSubnetworkToNat
30007
30408
  include Google::Apis::Core::Hashable
@@ -30207,6 +30608,11 @@ module Google
30207
30608
  # @return [Fixnum]
30208
30609
  attr_accessor :num_vm_endpoints_with_nat_mappings
30209
30610
 
30611
+ # Status of rules in this NAT.
30612
+ # Corresponds to the JSON property `ruleStatus`
30613
+ # @return [Array<Google::Apis::ComputeBeta::RouterStatusNatStatusNatRuleStatus>]
30614
+ attr_accessor :rule_status
30615
+
30210
30616
  # A list of fully qualified URLs of reserved IP address resources.
30211
30617
  # Corresponds to the JSON property `userAllocatedNatIpResources`
30212
30618
  # @return [Array<String>]
@@ -30230,11 +30636,58 @@ module Google
30230
30636
  @min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
30231
30637
  @name = args[:name] if args.key?(:name)
30232
30638
  @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
30639
+ @rule_status = args[:rule_status] if args.key?(:rule_status)
30233
30640
  @user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
30234
30641
  @user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
30235
30642
  end
30236
30643
  end
30237
30644
 
30645
+ # Status of a NAT Rule contained in this NAT.
30646
+ class RouterStatusNatStatusNatRuleStatus
30647
+ include Google::Apis::Core::Hashable
30648
+
30649
+ # A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
30650
+ # Corresponds to the JSON property `activeNatIps`
30651
+ # @return [Array<String>]
30652
+ attr_accessor :active_nat_ips
30653
+
30654
+ # A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
30655
+ # 133"].
30656
+ # Corresponds to the JSON property `drainNatIps`
30657
+ # @return [Array<String>]
30658
+ attr_accessor :drain_nat_ips
30659
+
30660
+ # The number of extra IPs to allocate. This will be greater than 0 only if the
30661
+ # existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
30662
+ # use NAT.
30663
+ # Corresponds to the JSON property `minExtraIpsNeeded`
30664
+ # @return [Fixnum]
30665
+ attr_accessor :min_extra_ips_needed
30666
+
30667
+ # Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
30668
+ # Corresponds to the JSON property `numVmEndpointsWithNatMappings`
30669
+ # @return [Fixnum]
30670
+ attr_accessor :num_vm_endpoints_with_nat_mappings
30671
+
30672
+ # Rule number of the rule.
30673
+ # Corresponds to the JSON property `ruleNumber`
30674
+ # @return [Fixnum]
30675
+ attr_accessor :rule_number
30676
+
30677
+ def initialize(**args)
30678
+ update!(**args)
30679
+ end
30680
+
30681
+ # Update properties of this object
30682
+ def update!(**args)
30683
+ @active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
30684
+ @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
30685
+ @min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
30686
+ @num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
30687
+ @rule_number = args[:rule_number] if args.key?(:rule_number)
30688
+ end
30689
+ end
30690
+
30238
30691
  #
30239
30692
  class RouterStatusResponse
30240
30693
  include Google::Apis::Core::Hashable
@@ -30489,7 +30942,8 @@ module Google
30489
30942
  end
30490
30943
  end
30491
30944
 
30492
- # An instance-attached disk resource.
30945
+ # DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
30946
+ # resource.
30493
30947
  class SavedAttachedDisk
30494
30948
  include Google::Apis::Core::Hashable
30495
30949
 
@@ -30612,6 +31066,47 @@ module Google
30612
31066
  end
30613
31067
  end
30614
31068
 
31069
+ # An instance-attached disk resource.
31070
+ class SavedDisk
31071
+ include Google::Apis::Core::Hashable
31072
+
31073
+ # [Output Only] Type of the resource. Always compute#savedDisk for attached
31074
+ # disks.
31075
+ # Corresponds to the JSON property `kind`
31076
+ # @return [String]
31077
+ attr_accessor :kind
31078
+
31079
+ # Specifies a URL of the disk attached to the source instance.
31080
+ # Corresponds to the JSON property `sourceDisk`
31081
+ # @return [String]
31082
+ attr_accessor :source_disk
31083
+
31084
+ # [Output Only] Size of the individual disk snapshot used by this machine image.
31085
+ # Corresponds to the JSON property `storageBytes`
31086
+ # @return [Fixnum]
31087
+ attr_accessor :storage_bytes
31088
+
31089
+ # [Output Only] An indicator whether storageBytes is in a stable state or it is
31090
+ # being adjusted as a result of shared storage reallocation. This status can
31091
+ # either be UPDATING, meaning the size of the snapshot is being updated, or
31092
+ # UP_TO_DATE, meaning the size of the snapshot is up-to-date.
31093
+ # Corresponds to the JSON property `storageBytesStatus`
31094
+ # @return [String]
31095
+ attr_accessor :storage_bytes_status
31096
+
31097
+ def initialize(**args)
31098
+ update!(**args)
31099
+ end
31100
+
31101
+ # Update properties of this object
31102
+ def update!(**args)
31103
+ @kind = args[:kind] if args.key?(:kind)
31104
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
31105
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
31106
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
31107
+ end
31108
+ end
31109
+
30615
31110
  #
30616
31111
  class ScalingScheduleStatus
30617
31112
  include Google::Apis::Core::Hashable
@@ -30943,6 +31438,11 @@ module Google
30943
31438
  # @return [String]
30944
31439
  attr_accessor :parent
30945
31440
 
31441
+ #
31442
+ # Corresponds to the JSON property `recaptchaOptionsConfig`
31443
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig]
31444
+ attr_accessor :recaptcha_options_config
31445
+
30946
31446
  # [Output Only] Total count of all security policy rule tuples. A security
30947
31447
  # policy can not exceed a set number of tuples.
30948
31448
  # Corresponds to the JSON property `ruleTupleCount`
@@ -30997,6 +31497,7 @@ module Google
30997
31497
  @labels = args[:labels] if args.key?(:labels)
30998
31498
  @name = args[:name] if args.key?(:name)
30999
31499
  @parent = args[:parent] if args.key?(:parent)
31500
+ @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
31000
31501
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
31001
31502
  @rules = args[:rules] if args.key?(:rules)
31002
31503
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -31225,6 +31726,29 @@ module Google
31225
31726
  end
31226
31727
  end
31227
31728
 
31729
+ #
31730
+ class SecurityPolicyRecaptchaOptionsConfig
31731
+ include Google::Apis::Core::Hashable
31732
+
31733
+ # An optional field to supply a reCAPTCHA site key to be used for all the rules
31734
+ # using the redirect action with the type of GOOGLE_RECAPTCHA under the security
31735
+ # policy. The specified site key needs to be created from the reCAPTCHA API. The
31736
+ # user is responsible for the validity of the specified site key. If not
31737
+ # specified, a Google-managed site key is used.
31738
+ # Corresponds to the JSON property `redirectSiteKey`
31739
+ # @return [String]
31740
+ attr_accessor :redirect_site_key
31741
+
31742
+ def initialize(**args)
31743
+ update!(**args)
31744
+ end
31745
+
31746
+ # Update properties of this object
31747
+ def update!(**args)
31748
+ @redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
31749
+ end
31750
+ end
31751
+
31228
31752
  #
31229
31753
  class SecurityPolicyReference
31230
31754
  include Google::Apis::Core::Hashable
@@ -31249,9 +31773,17 @@ module Google
31249
31773
  class SecurityPolicyRule
31250
31774
  include Google::Apis::Core::Hashable
31251
31775
 
31252
- # The Action to perform when the client connection triggers the rule. Can
31253
- # currently be either "allow" or "deny()" where valid values for status are 403,
31254
- # 404, and 502.
31776
+ # The Action to perform when the rule is matched. The following are the valid
31777
+ # actions: - allow: allow access to target. - deny(): deny access to target,
31778
+ # returns the HTTP response code specified (valid values are 403, 404, and 502).
31779
+ # - rate_based_ban: limit client traffic to the configured threshold and ban the
31780
+ # client if the traffic exceeds the threshold. Configure parameters for this
31781
+ # action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
31782
+ # redirect to a different target. This can either be an internal reCAPTCHA
31783
+ # redirect, or an external URL-based redirect via a 302 response. Parameters for
31784
+ # this action can be configured via redirectOptions. - throttle: limit client
31785
+ # traffic to the configured threshold. Configure parameters for this action in
31786
+ # rateLimitOptions. Requires rate_limit_options to be set for this.
31255
31787
  # Corresponds to the JSON property `action`
31256
31788
  # @return [String]
31257
31789
  attr_accessor :action
@@ -31558,33 +32090,45 @@ module Google
31558
32090
  attr_accessor :conform_action
31559
32091
 
31560
32092
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
31561
- # "ALL" -- A single rate limit threshold is applied to all the requests
31562
- # matching this rule. This is the default value if this field 'enforce_on_key'
31563
- # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
31564
- # depprecated. "IP" -- The source IP address of the request is the key. Each IP
31565
- # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
31566
- # header whose name is configured under "enforce_on_key_name". The key value is
32093
+ # - ALL: A single rate limit threshold is applied to all the requests matching
32094
+ # this rule. This is the default value if this field 'enforce_on_key' is not
32095
+ # configured. - IP: The source IP address of the request is the key. Each IP has
32096
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
32097
+ # whose name is configured under "enforce_on_key_name". The key value is
31567
32098
  # truncated to the first 128 bytes of the header value. If no such header is
31568
- # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
31569
- # IP address (i.e. the originating client IP address) specified in the list of
31570
- # IPs under X-Forwarded-For HTTP header. If no such header is present or the
31571
- # value is not a valid IP, the key type defaults to "ALL".
32099
+ # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
32100
+ # address (i.e. the originating client IP address) specified in the list of IPs
32101
+ # under X-Forwarded-For HTTP header. If no such header is present or the value
32102
+ # is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
32103
+ # the HTTP cookie whose name is configured under "enforce_on_key_name". The key
32104
+ # value is truncated to the first 128 bytes of the cookie value. If no such
32105
+ # cookie is present in the request, the key type defaults to ALL.
31572
32106
  # Corresponds to the JSON property `enforceOnKey`
31573
32107
  # @return [String]
31574
32108
  attr_accessor :enforce_on_key
31575
32109
 
31576
32110
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
31577
- # Name of the HTTP header whose value is taken as the key value.
32111
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
32112
+ # Name of the HTTP cookie whose value is taken as the key value.
31578
32113
  # Corresponds to the JSON property `enforceOnKeyName`
31579
32114
  # @return [String]
31580
32115
  attr_accessor :enforce_on_key_name
31581
32116
 
31582
- # When a request is denied, returns the HTTP response code specified. Valid
31583
- # options are "deny()" where valid values for status are 403, 404, 429, and 502.
32117
+ # Action to take for requests that are above the configured rate limit threshold,
32118
+ # to either deny with a specified HTTP response code, or redirect to a
32119
+ # different endpoint. Valid options are "deny()" where valid values for status
32120
+ # are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
32121
+ # from exceed_redirect_options below.
31584
32122
  # Corresponds to the JSON property `exceedAction`
31585
32123
  # @return [String]
31586
32124
  attr_accessor :exceed_action
31587
32125
 
32126
+ # Parameters defining the redirect action that is used as the exceed action.
32127
+ # Cannot be specified if the exceed action is not redirect.
32128
+ # Corresponds to the JSON property `exceedRedirectOptions`
32129
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions]
32130
+ attr_accessor :exceed_redirect_options
32131
+
31588
32132
  # Threshold at which to begin ratelimiting.
31589
32133
  # Corresponds to the JSON property `rateLimitThreshold`
31590
32134
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]
@@ -31602,6 +32146,7 @@ module Google
31602
32146
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
31603
32147
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
31604
32148
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
32149
+ @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
31605
32150
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
31606
32151
  end
31607
32152
  end
@@ -32334,9 +32879,8 @@ module Google
32334
32879
  class ShareSettings
32335
32880
  include Google::Apis::Core::Hashable
32336
32881
 
32337
- # A map of project id and project config. Using map format to ease add-to/remove-
32338
- # from the Project list in PATCH command. In future we will deprecate (And later
32339
- # remove) the array one.
32882
+ # A map of project id and project config. This is only valid when share_type's
32883
+ # value is SPECIFIC_PROJECTS.
32340
32884
  # Corresponds to the JSON property `projectMap`
32341
32885
  # @return [Hash<String,Google::Apis::ComputeBeta::ShareSettingsProjectConfig>]
32342
32886
  attr_accessor :project_map
@@ -33030,7 +33574,8 @@ module Google
33030
33574
  end
33031
33575
  end
33032
33576
 
33033
- #
33577
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
33578
+ # not be added to this field.
33034
33579
  class SourceInstanceProperties
33035
33580
  include Google::Apis::Core::Hashable
33036
33581
 
@@ -33099,7 +33644,7 @@ module Google
33099
33644
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
33100
33645
  attr_accessor :network_interfaces
33101
33646
 
33102
- # PostKeyRevocationActionType of the instance. (will be deprecated soon)
33647
+ # PostKeyRevocationActionType of the instance.
33103
33648
  # Corresponds to the JSON property `postKeyRevocationActionType`
33104
33649
  # @return [String]
33105
33650
  attr_accessor :post_key_revocation_action_type
@@ -34020,6 +34565,20 @@ module Google
34020
34565
  # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice>]
34021
34566
  attr_accessor :disks
34022
34567
 
34568
+ # External network IPs assigned to the instances that will be preserved on
34569
+ # instance delete, update, etc. This map is keyed with the network interface
34570
+ # name.
34571
+ # Corresponds to the JSON property `externalIPs`
34572
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34573
+ attr_accessor :external_i_ps
34574
+
34575
+ # Internal network IPs assigned to the instances that will be preserved on
34576
+ # instance delete, update, etc. This map is keyed with the network interface
34577
+ # name.
34578
+ # Corresponds to the JSON property `internalIPs`
34579
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34580
+ attr_accessor :internal_i_ps
34581
+
34023
34582
  def initialize(**args)
34024
34583
  update!(**args)
34025
34584
  end
@@ -34027,6 +34586,8 @@ module Google
34027
34586
  # Update properties of this object
34028
34587
  def update!(**args)
34029
34588
  @disks = args[:disks] if args.key?(:disks)
34589
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
34590
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
34030
34591
  end
34031
34592
  end
34032
34593
 
@@ -34053,6 +34614,28 @@ module Google
34053
34614
  end
34054
34615
  end
34055
34616
 
34617
+ #
34618
+ class StatefulPolicyPreservedStateNetworkIp
34619
+ include Google::Apis::Core::Hashable
34620
+
34621
+ # These stateful IPs will never be released during autohealing, update or VM
34622
+ # instance recreate operations. This flag is used to configure if the IP
34623
+ # reservation should be deleted after it is no longer used by the group, e.g.
34624
+ # when the given instance or the whole group is deleted.
34625
+ # Corresponds to the JSON property `autoDelete`
34626
+ # @return [String]
34627
+ attr_accessor :auto_delete
34628
+
34629
+ def initialize(**args)
34630
+ update!(**args)
34631
+ end
34632
+
34633
+ # Update properties of this object
34634
+ def update!(**args)
34635
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
34636
+ end
34637
+ end
34638
+
34056
34639
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
34057
34640
  # logical partition of a Virtual Private Cloud network with one primary IP range
34058
34641
  # and zero or more secondary IP ranges. For more information, read Virtual
@@ -34091,8 +34674,9 @@ module Google
34091
34674
 
34092
34675
  # Whether to enable flow logging for this subnetwork. If this field is not
34093
34676
  # explicitly set, it will not appear in get listings. If not set the default
34094
- # behavior is to disable flow logging. This field isn't supported with the
34095
- # purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
34677
+ # behavior is determined by the org policy, if there is no org policy specified,
34678
+ # then it will default to disabled. This field isn't supported with the purpose
34679
+ # field set to INTERNAL_HTTPS_LOAD_BALANCER.
34096
34680
  # Corresponds to the JSON property `enableFlowLogs`
34097
34681
  # @return [Boolean]
34098
34682
  attr_accessor :enable_flow_logs
@@ -34540,7 +35124,8 @@ module Google
34540
35124
 
34541
35125
  # Whether to enable flow logging for this subnetwork. If this field is not
34542
35126
  # explicitly set, it will not appear in get listings. If not set the default
34543
- # behavior is to disable flow logging.
35127
+ # behavior is determined by the org policy, if there is no org policy specified,
35128
+ # then it will default to disabled.
34544
35129
  # Corresponds to the JSON property `enable`
34545
35130
  # @return [Boolean]
34546
35131
  attr_accessor :enable
@@ -34555,8 +35140,8 @@ module Google
34555
35140
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
34556
35141
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
34557
35142
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
34558
- # means no logs are reported. Default is 0.5, which means half of all collected
34559
- # logs are reported.
35143
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
35144
+ # org policy, which means half of all collected logs are reported.
34560
35145
  # Corresponds to the JSON property `flowSampling`
34561
35146
  # @return [Float]
34562
35147
  attr_accessor :flow_sampling
@@ -34762,6 +35347,20 @@ module Google
34762
35347
  # @return [String]
34763
35348
  attr_accessor :policy
34764
35349
 
35350
+ # The number of backends per backend group assigned to each proxy instance or
35351
+ # each service mesh client. An input parameter to the `
35352
+ # CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `
35353
+ # CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `
35354
+ # INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for
35355
+ # Internal HTTP(S) load balancing and required for Traffic Director. If you do
35356
+ # not provide this value, Cloud Load Balancing will calculate it dynamically to
35357
+ # optimize the number of proxies/clients visible to each backend and vice versa.
35358
+ # Must be greater than 0. If `subset_size` is larger than the number of backends/
35359
+ # endpoints, then subsetting is disabled.
35360
+ # Corresponds to the JSON property `subsetSize`
35361
+ # @return [Fixnum]
35362
+ attr_accessor :subset_size
35363
+
34765
35364
  def initialize(**args)
34766
35365
  update!(**args)
34767
35366
  end
@@ -34769,6 +35368,7 @@ module Google
34769
35368
  # Update properties of this object
34770
35369
  def update!(**args)
34771
35370
  @policy = args[:policy] if args.key?(:policy)
35371
+ @subset_size = args[:subset_size] if args.key?(:subset_size)
34772
35372
  end
34773
35373
  end
34774
35374
 
@@ -38127,7 +38727,7 @@ module Google
38127
38727
  class TestFailure
38128
38728
  include Google::Apis::Core::Hashable
38129
38729
 
38130
- # The actual output URL evaluated by load balancer containing the scheme, host,
38730
+ # The actual output URL evaluated by a load balancer containing the scheme, host,
38131
38731
  # path and query parameters.
38132
38732
  # Corresponds to the JSON property `actualOutputUrl`
38133
38733
  # @return [String]
@@ -38144,8 +38744,8 @@ module Google
38144
38744
  # @return [String]
38145
38745
  attr_accessor :actual_service
38146
38746
 
38147
- # The expected output URL evaluated by load balancer containing the scheme, host,
38148
- # path and query parameters.
38747
+ # The expected output URL evaluated by a load balancer containing the scheme,
38748
+ # host, path and query parameters.
38149
38749
  # Corresponds to the JSON property `expectedOutputUrl`
38150
38750
  # @return [String]
38151
38751
  attr_accessor :expected_output_url
@@ -38259,21 +38859,21 @@ module Google
38259
38859
  end
38260
38860
  end
38261
38861
 
38262
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
38263
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
38264
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38265
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
38862
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
38863
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
38864
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38865
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
38266
38866
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
38267
38867
  # used by internal HTTP(S) load balancers. For a list of supported URL map
38268
- # features by load balancer type, see the Load balancing features: Routing and
38269
- # traffic management table. For a list of supported URL map features for Traffic
38270
- # Director, see the Traffic Director features: Routing and traffic management
38271
- # table. This resource defines mappings from host names and URL paths to either
38272
- # a backend service or a backend bucket. To use the global urlMaps resource, the
38273
- # backend service must have a loadBalancingScheme of either EXTERNAL or
38274
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
38275
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
38276
- # read URL Map Concepts.
38868
+ # features by the load balancer type, see the Load balancing features: Routing
38869
+ # and traffic management table. For a list of supported URL map features for
38870
+ # Traffic Director, see the Traffic Director features: Routing and traffic
38871
+ # management table. This resource defines mappings from hostnames and URL paths
38872
+ # to either a backend service or a backend bucket. To use the global urlMaps
38873
+ # resource, the backend service must have a loadBalancingScheme of either
38874
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
38875
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
38876
+ # information, read URL Map Concepts.
38277
38877
  class UrlMap
38278
38878
  include Google::Apis::Core::Hashable
38279
38879
 
@@ -38283,28 +38883,28 @@ module Google
38283
38883
  attr_accessor :creation_timestamp
38284
38884
 
38285
38885
  # defaultRouteAction takes effect when none of the hostRules match. The load
38286
- # balancer performs advanced routing actions like URL rewrites, header
38287
- # transformations, etc. prior to forwarding the request to the selected backend.
38288
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
38289
- # must not be set. Conversely if defaultService is set, defaultRouteAction
38290
- # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
38886
+ # balancer performs advanced routing actions, such as URL rewrites and header
38887
+ # transformations, before forwarding the request to the selected backend. If
38888
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
38889
+ # not be set. Conversely if defaultService is set, defaultRouteAction cannot
38890
+ # contain any weightedBackendServices. Only one of defaultRouteAction or
38291
38891
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
38292
38892
  # support only the urlRewrite action within defaultRouteAction.
38293
- # defaultRouteAction has no effect when the URL map is bound to target gRPC
38294
- # proxy that has validateForProxyless field set to true.
38893
+ # defaultRouteAction has no effect when the URL map is bound to a target gRPC
38894
+ # proxy that has the validateForProxyless field set to true.
38295
38895
  # Corresponds to the JSON property `defaultRouteAction`
38296
38896
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
38297
38897
  attr_accessor :default_route_action
38298
38898
 
38299
38899
  # The full or partial URL of the defaultService resource to which traffic is
38300
- # directed if none of the hostRules match. If defaultRouteAction is additionally
38301
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
38302
- # to sending the request to the backend. However, if defaultService is specified,
38900
+ # directed if none of the hostRules match. If defaultRouteAction is also
38901
+ # specified, advanced routing actions, such as URL rewrites, take effect before
38902
+ # sending the request to the backend. However, if defaultService is specified,
38303
38903
  # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
38304
38904
  # routeAction specifies any weightedBackendServices, service must not be
38305
- # specified. Only one of defaultService, defaultUrlRedirect or
38905
+ # specified. Only one of defaultService, defaultUrlRedirect , or
38306
38906
  # defaultRouteAction.weightedBackendService must be set. defaultService has no
38307
- # effect when the URL map is bound to target gRPC proxy that has
38907
+ # effect when the URL map is bound to a target gRPC proxy that has the
38308
38908
  # validateForProxyless field set to true.
38309
38909
  # Corresponds to the JSON property `defaultService`
38310
38910
  # @return [String]
@@ -38322,11 +38922,10 @@ module Google
38322
38922
  attr_accessor :description
38323
38923
 
38324
38924
  # Fingerprint of this resource. A hash of the contents stored in this object.
38325
- # This field is used in optimistic locking. This field will be ignored when
38326
- # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
38327
- # update the UrlMap, otherwise the request will fail with error 412
38328
- # conditionNotMet. To see the latest fingerprint, make a get() request to
38329
- # retrieve a UrlMap.
38925
+ # This field is used in optimistic locking. This field is ignored when inserting
38926
+ # a UrlMap. An up-to-date fingerprint must be provided in order to update the
38927
+ # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
38928
+ # the latest fingerprint, make a get() request to retrieve a UrlMap.
38330
38929
  # Corresponds to the JSON property `fingerprint`
38331
38930
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
38332
38931
  # @return [String]
@@ -38338,7 +38937,7 @@ module Google
38338
38937
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
38339
38938
  attr_accessor :header_action
38340
38939
 
38341
- # The list of HostRules to use against the URL.
38940
+ # The list of host rules to use against the URL.
38342
38941
  # Corresponds to the JSON property `hostRules`
38343
38942
  # @return [Array<Google::Apis::ComputeBeta::HostRule>]
38344
38943
  attr_accessor :host_rules
@@ -38381,10 +38980,10 @@ module Google
38381
38980
  # @return [String]
38382
38981
  attr_accessor :self_link
38383
38982
 
38384
- # The list of expected URL mapping tests. Request to update this UrlMap will
38385
- # succeed only if all of the test cases pass. You can specify a maximum of 100
38386
- # tests per UrlMap. Not supported when the URL map is bound to target gRPC proxy
38387
- # that has validateForProxyless field set to true.
38983
+ # The list of expected URL mapping tests. Request to update the UrlMap succeeds
38984
+ # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
38985
+ # Not supported when the URL map is bound to a target gRPC proxy that has
38986
+ # validateForProxyless field set to true.
38388
38987
  # Corresponds to the JSON property `tests`
38389
38988
  # @return [Array<Google::Apis::ComputeBeta::UrlMapTest>]
38390
38989
  attr_accessor :tests
@@ -38558,18 +39157,18 @@ module Google
38558
39157
  # @return [String]
38559
39158
  attr_accessor :description
38560
39159
 
38561
- # The expected output URL evaluated by load balancer containing the scheme, host,
38562
- # path and query parameters. For rules that forward requests to backends, the
38563
- # test passes only when expectedOutputUrl matches the request forwarded by load
38564
- # balancer to backends. For rules with urlRewrite, the test verifies that the
38565
- # forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite
38566
- # action. When service is specified, expectedOutputUrl`s scheme is ignored. For
38567
- # rules with urlRedirect, the test passes only if expectedOutputUrl matches the
38568
- # URL in the load balancer's redirect response. If urlRedirect specifies
38569
- # https_redirect, the test passes only if the scheme in expectedOutputUrl is
38570
- # also set to https. If urlRedirect specifies strip_query, the test passes only
38571
- # if expectedOutputUrl does not contain any query parameters. expectedOutputUrl
38572
- # is optional when service is specified.
39160
+ # The expected output URL evaluated by the load balancer containing the scheme,
39161
+ # host, path and query parameters. For rules that forward requests to backends,
39162
+ # the test passes only when expectedOutputUrl matches the request forwarded by
39163
+ # the load balancer to backends. For rules with urlRewrite, the test verifies
39164
+ # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
39165
+ # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
39166
+ # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
39167
+ # matches the URL in the load balancer's redirect response. If urlRedirect
39168
+ # specifies https_redirect, the test passes only if the scheme in
39169
+ # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
39170
+ # the test passes only if expectedOutputUrl does not contain any query
39171
+ # parameters. expectedOutputUrl is optional when service is specified.
38573
39172
  # Corresponds to the JSON property `expectedOutputUrl`
38574
39173
  # @return [String]
38575
39174
  attr_accessor :expected_output_url
@@ -38600,7 +39199,8 @@ module Google
38600
39199
  attr_accessor :path
38601
39200
 
38602
39201
  # Expected BackendService or BackendBucket resource the given URL should be
38603
- # mapped to. service cannot be set if expectedRedirectResponseCode is set.
39202
+ # mapped to. The service field cannot be set if expectedRedirectResponseCode is
39203
+ # set.
38604
39204
  # Corresponds to the JSON property `service`
38605
39205
  # @return [String]
38606
39206
  attr_accessor :service
@@ -38905,21 +39505,36 @@ module Google
38905
39505
  class ValidateUrlMapsRequest
38906
39506
  include Google::Apis::Core::Hashable
38907
39507
 
38908
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
38909
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
38910
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38911
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
39508
+ # Specifies the load balancer type(s) this validation request is for. Use
39509
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
39510
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
39511
+ # Balancer. Other load balancer types are not supported. For more information,
39512
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
39513
+ # will be inferred from the backend service resources this URL map references.
39514
+ # If that can not be inferred (for example, this URL map only references backend
39515
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
39516
+ # reference any backends), EXTERNAL will be used as the default type. If
39517
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
39518
+ # the backend service resources this Url map references.
39519
+ # Corresponds to the JSON property `loadBalancingSchemes`
39520
+ # @return [Array<String>]
39521
+ attr_accessor :load_balancing_schemes
39522
+
39523
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
39524
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
39525
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
39526
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
38912
39527
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
38913
39528
  # used by internal HTTP(S) load balancers. For a list of supported URL map
38914
- # features by load balancer type, see the Load balancing features: Routing and
38915
- # traffic management table. For a list of supported URL map features for Traffic
38916
- # Director, see the Traffic Director features: Routing and traffic management
38917
- # table. This resource defines mappings from host names and URL paths to either
38918
- # a backend service or a backend bucket. To use the global urlMaps resource, the
38919
- # backend service must have a loadBalancingScheme of either EXTERNAL or
38920
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
38921
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
38922
- # read URL Map Concepts.
39529
+ # features by the load balancer type, see the Load balancing features: Routing
39530
+ # and traffic management table. For a list of supported URL map features for
39531
+ # Traffic Director, see the Traffic Director features: Routing and traffic
39532
+ # management table. This resource defines mappings from hostnames and URL paths
39533
+ # to either a backend service or a backend bucket. To use the global urlMaps
39534
+ # resource, the backend service must have a loadBalancingScheme of either
39535
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
39536
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
39537
+ # information, read URL Map Concepts.
38923
39538
  # Corresponds to the JSON property `resource`
38924
39539
  # @return [Google::Apis::ComputeBeta::UrlMap]
38925
39540
  attr_accessor :resource
@@ -38930,6 +39545,7 @@ module Google
38930
39545
 
38931
39546
  # Update properties of this object
38932
39547
  def update!(**args)
39548
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
38933
39549
  @resource = args[:resource] if args.key?(:resource)
38934
39550
  end
38935
39551
  end
@@ -38958,16 +39574,16 @@ module Google
38958
39574
  class UrlRewrite
38959
39575
  include Google::Apis::Core::Hashable
38960
39576
 
38961
- # Prior to forwarding the request to the selected service, the request's host
38962
- # header is replaced with contents of hostRewrite. The value must be between 1
38963
- # and 255 characters.
39577
+ # Before forwarding the request to the selected service, the request's host
39578
+ # header is replaced with contents of hostRewrite. The value must be from 1 to
39579
+ # 255 characters.
38964
39580
  # Corresponds to the JSON property `hostRewrite`
38965
39581
  # @return [String]
38966
39582
  attr_accessor :host_rewrite
38967
39583
 
38968
- # Prior to forwarding the request to the selected backend service, the matching
39584
+ # Before forwarding the request to the selected backend service, the matching
38969
39585
  # portion of the request's path is replaced by pathPrefixRewrite. The value must
38970
- # be between 1 and 1024 characters.
39586
+ # be from 1 to 1024 characters.
38971
39587
  # Corresponds to the JSON property `pathPrefixRewrite`
38972
39588
  # @return [String]
38973
39589
  attr_accessor :path_prefix_rewrite
@@ -39477,6 +40093,12 @@ module Google
39477
40093
  # @return [String]
39478
40094
  attr_accessor :self_link
39479
40095
 
40096
+ # The stack type for this VPN gateway to identify the IP protocols that are
40097
+ # enabled. If not specified, IPV4_ONLY will be used.
40098
+ # Corresponds to the JSON property `stackType`
40099
+ # @return [String]
40100
+ attr_accessor :stack_type
40101
+
39480
40102
  # The list of VPN interfaces associated with this VPN gateway.
39481
40103
  # Corresponds to the JSON property `vpnInterfaces`
39482
40104
  # @return [Array<Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface>]
@@ -39498,6 +40120,7 @@ module Google
39498
40120
  @network = args[:network] if args.key?(:network)
39499
40121
  @region = args[:region] if args.key?(:region)
39500
40122
  @self_link = args[:self_link] if args.key?(:self_link)
40123
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
39501
40124
  @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
39502
40125
  end
39503
40126
  end
@@ -40621,14 +41244,13 @@ module Google
40621
41244
 
40622
41245
  # In contrast to a single BackendService in HttpRouteAction to which all
40623
41246
  # matching traffic is directed to, WeightedBackendService allows traffic to be
40624
- # split across multiple BackendServices. The volume of traffic for each
40625
- # BackendService is proportional to the weight specified in each
40626
- # WeightedBackendService
41247
+ # split across multiple backend services. The volume of traffic for each backend
41248
+ # service is proportional to the weight specified in each WeightedBackendService
40627
41249
  class WeightedBackendService
40628
41250
  include Google::Apis::Core::Hashable
40629
41251
 
40630
41252
  # The full or partial URL to the default BackendService resource. Before
40631
- # forwarding the request to backendService, the loadbalancer applies any
41253
+ # forwarding the request to backendService, the load balancer applies any
40632
41254
  # relevant headerActions specified as part of this backendServiceWeight.
40633
41255
  # Corresponds to the JSON property `backendService`
40634
41256
  # @return [String]
@@ -40640,12 +41262,12 @@ module Google
40640
41262
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
40641
41263
  attr_accessor :header_action
40642
41264
 
40643
- # Specifies the fraction of traffic sent to backendService, computed as weight /
40644
- # (sum of all weightedBackendService weights in routeAction) . The selection of
40645
- # a backend service is determined only for new traffic. Once a user's request
40646
- # has been directed to a backendService, subsequent requests will be sent to the
40647
- # same backendService as determined by the BackendService's session affinity
40648
- # policy. The value must be between 0 and 1000
41265
+ # Specifies the fraction of traffic sent to a backend service, computed as
41266
+ # weight / (sum of all weightedBackendService weights in routeAction) . The
41267
+ # selection of a backend service is determined only for new traffic. Once a user'
41268
+ # s request has been directed to a backend service, subsequent requests are sent
41269
+ # to the same backend service as determined by the backend service's session
41270
+ # affinity policy. The value must be from 0 to 1000.
40649
41271
  # Corresponds to the JSON property `weight`
40650
41272
  # @return [Fixnum]
40651
41273
  attr_accessor :weight
@@ -41055,31 +41677,31 @@ module Google
41055
41677
 
41056
41678
  # An Identity and Access Management (IAM) policy, which specifies access
41057
41679
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
41058
- # A `binding` binds one or more `members` to a single `role`. Members can be
41059
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
41060
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
41061
- # role or a user-created custom role. For some types of Google Cloud resources,
41062
- # a `binding` can also specify a `condition`, which is a logical expression that
41063
- # allows access to a resource only if the expression evaluates to `true`. A
41064
- # condition can add constraints based on attributes of the request, the resource,
41065
- # or both. To learn which resources support conditions in their IAM policies,
41066
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
41067
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
41068
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
41069
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
41070
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
41071
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
41072
- # title": "expirable access", "description": "Does not grant access after Sep
41073
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
41074
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
41075
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
41076
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
41077
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
41078
- # roles/resourcemanager.organizationViewer condition: title: expirable access
41079
- # description: Does not grant access after Sep 2020 expression: request.time <
41080
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
41081
- # description of IAM and its features, see the [IAM documentation](https://cloud.
41082
- # google.com/iam/docs/).
41680
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
41681
+ # Principals can be user accounts, service accounts, Google groups, and domains (
41682
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
41683
+ # an IAM predefined role or a user-created custom role. For some types of Google
41684
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
41685
+ # logical expression that allows access to a resource only if the expression
41686
+ # evaluates to `true`. A condition can add constraints based on attributes of
41687
+ # the request, the resource, or both. To learn which resources support
41688
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
41689
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
41690
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
41691
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
41692
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
41693
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
41694
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
41695
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
41696
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
41697
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
41698
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
41699
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
41700
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
41701
+ # access description: Does not grant access after Sep 2020 expression: request.
41702
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
41703
+ # a description of IAM and its features, see the [IAM documentation](https://
41704
+ # cloud.google.com/iam/docs/).
41083
41705
  # Corresponds to the JSON property `policy`
41084
41706
  # @return [Google::Apis::ComputeBeta::Policy]
41085
41707
  attr_accessor :policy