google-apis-compute_beta 0.17.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -510,13 +510,17 @@ module Google
510
510
  attr_accessor :network_tier
511
511
 
512
512
  # The DNS domain name for the public PTR record. You can set this field only if
513
- # the `setPublicPtr` field is enabled.
513
+ # the `setPublicPtr` field is enabled in accessConfig. If this field is
514
+ # unspecified in ipv6AccessConfig, a default PTR record will be createc for
515
+ # first IP in associated external IPv6 range.
514
516
  # Corresponds to the JSON property `publicPtrDomainName`
515
517
  # @return [String]
516
518
  attr_accessor :public_ptr_domain_name
517
519
 
518
520
  # Specifies whether a public DNS 'PTR' record should be created to map the
519
- # external IP address of the instance to a DNS domain name.
521
+ # external IP address of the instance to a DNS domain name. This field is not
522
+ # used in ipv6AccessConfig. A default PTR record will be created if the VM has
523
+ # external IPv6 range associated.
520
524
  # Corresponds to the JSON property `setPublicPtr`
521
525
  # @return [Boolean]
522
526
  attr_accessor :set_public_ptr
@@ -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