google-apis-compute_beta 0.18.0 → 0.22.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -464,15 +464,15 @@ module Google
464
464
  class AccessConfig
465
465
  include Google::Apis::Core::Hashable
466
466
 
467
- # [Output Only] The first IPv6 address of the external IPv6 range associated
468
- # with this instance, prefix length is stored in externalIpv6PrefixLength in
467
+ # The first IPv6 address of the external IPv6 range associated with this
468
+ # instance, prefix length is stored in externalIpv6PrefixLength in
469
469
  # ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
470
470
  # associated with the instance will be allocated dynamically.
471
471
  # Corresponds to the JSON property `externalIpv6`
472
472
  # @return [String]
473
473
  attr_accessor :external_ipv6
474
474
 
475
- # [Output Only] The prefix length of the external IPv6 range.
475
+ # The prefix length of the external IPv6 range.
476
476
  # Corresponds to the JSON property `externalIpv6PrefixLength`
477
477
  # @return [Fixnum]
478
478
  attr_accessor :external_ipv6_prefix_length
@@ -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
@@ -1457,6 +1462,11 @@ module Google
1457
1462
  # @return [Hash<String,String>]
1458
1463
  attr_accessor :labels
1459
1464
 
1465
+ # A list of publicly visible licenses. Reserved for Google's use.
1466
+ # Corresponds to the JSON property `licenses`
1467
+ # @return [Array<String>]
1468
+ attr_accessor :licenses
1469
+
1460
1470
  # Indicates whether or not the disk can be read/write attached to more than one
1461
1471
  # instance.
1462
1472
  # Corresponds to the JSON property `multiWriter`
@@ -1537,6 +1547,7 @@ module Google
1537
1547
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1538
1548
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1539
1549
  @labels = args[:labels] if args.key?(:labels)
1550
+ @licenses = args[:licenses] if args.key?(:licenses)
1540
1551
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
1541
1552
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1542
1553
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
@@ -2774,7 +2785,7 @@ module Google
2774
2785
  # specified), or else sets the response max-age directive to the lesser of the
2775
2786
  # client_ttl and default_ttl, and also ensures a "public" cache-control
2776
2787
  # 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).
2788
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
2778
2789
  # Corresponds to the JSON property `clientTtl`
2779
2790
  # @return [Fixnum]
2780
2791
  attr_accessor :client_ttl
@@ -3184,14 +3195,14 @@ module Google
3184
3195
 
3185
3196
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3186
3197
  # 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).
3198
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3199
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3200
+ # this field indicates whether connection draining will be honored. Google Cloud
3201
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3202
+ # terminates existing TCP connections to the active pool during failover and
3203
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3204
+ # connections to persist, even on VMs no longer in the active pool, for up to
3205
+ # the duration of the connection draining timeout (10 minutes).
3195
3206
  # Corresponds to the JSON property `failoverPolicy`
3196
3207
  # @return [Google::Apis::ComputeBeta::BackendServiceFailoverPolicy]
3197
3208
  attr_accessor :failover_policy
@@ -3262,8 +3273,8 @@ module Google
3262
3273
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3263
3274
  # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3264
3275
  # 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
3276
+ # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3277
+ # is referenced by a URL map that is bound to target gRPC proxy that has
3267
3278
  # validateForProxyless field set to true.
3268
3279
  # Corresponds to the JSON property `localityLbPolicy`
3269
3280
  # @return [String]
@@ -3356,11 +3367,18 @@ module Google
3356
3367
  # @return [String]
3357
3368
  attr_accessor :self_link
3358
3369
 
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.
3370
+ # URLs of networkservices.ServiceBinding resources. Can only be set if load
3371
+ # balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and
3372
+ # health checks must be both empty.
3373
+ # Corresponds to the JSON property `serviceBindings`
3374
+ # @return [Array<String>]
3375
+ attr_accessor :service_bindings
3376
+
3377
+ # Type of session affinity to use. The default is NONE. Only NONE and
3378
+ # HEADER_FIELD are supported when the backend service is referenced by a URL map
3379
+ # that is bound to target gRPC proxy that has validateForProxyless field set to
3380
+ # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3381
+ # balancing/docs/backend-service#session_affinity).
3364
3382
  # Corresponds to the JSON property `sessionAffinity`
3365
3383
  # @return [String]
3366
3384
  attr_accessor :session_affinity
@@ -3419,6 +3437,7 @@ module Google
3419
3437
  @security_policy = args[:security_policy] if args.key?(:security_policy)
3420
3438
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3421
3439
  @self_link = args[:self_link] if args.key?(:self_link)
3440
+ @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3422
3441
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3423
3442
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3424
3443
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -3589,7 +3608,7 @@ module Google
3589
3608
  # specified), or else sets the response max-age directive to the lesser of the
3590
3609
  # client_ttl and default_ttl, and also ensures a "public" cache-control
3591
3610
  # 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).
3611
+ # hour) will be used. The maximum allowed value is 31,622,400s (1 year).
3593
3612
  # Corresponds to the JSON property `clientTtl`
3594
3613
  # @return [Fixnum]
3595
3614
  attr_accessor :client_ttl
@@ -3769,7 +3788,11 @@ module Google
3769
3788
  # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
3770
3789
  # existing connections always persist on unhealthy backends regardless of
3771
3790
  # protocol and session affinity. It is generally not recommended to use this
3772
- # mode overriding the default.
3791
+ # mode overriding the default. For more details, see [Connection Persistence for
3792
+ # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
3793
+ # networklb-backend-service#connection-persistence) and [Connection Persistence
3794
+ # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
3795
+ # docs/internal#connection-persistence).
3773
3796
  # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
3774
3797
  # @return [String]
3775
3798
  attr_accessor :connection_persistence_on_unhealthy_backends
@@ -3782,19 +3805,25 @@ module Google
3782
3805
  alias_method :enable_strong_affinity?, :enable_strong_affinity
3783
3806
 
3784
3807
  # 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 Network Load Balancer the default is 60 seconds.
3787
- # This option is not available publicly. This field will be supported only if
3788
- # the Connection Tracking key is less than 5-tuple.
3808
+ # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3809
+ # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
3810
+ # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
3811
+ # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
3812
+ # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
3813
+ # is not available publicly.
3789
3814
  # Corresponds to the JSON property `idleTimeoutSec`
3790
3815
  # @return [Fixnum]
3791
3816
  attr_accessor :idle_timeout_sec
3792
3817
 
3793
- # Specifies the key used for connection tracking. There are two options:
3818
+ # Specifies the key used for connection tracking. There are two options: -
3794
3819
  # 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.
3820
+ # as per the Connection Key (default Hash Method) for the specific protocol. -
3796
3821
  # PER_SESSION: The Connection Tracking is performed as per the configured
3797
- # Session Affinity. It matches the configured Session Affinity.
3822
+ # Session Affinity. It matches the configured Session Affinity. For more details,
3823
+ # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
3824
+ # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
3825
+ # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
3826
+ # balancing/docs/internal#tracking-mode).
3798
3827
  # Corresponds to the JSON property `trackingMode`
3799
3828
  # @return [String]
3800
3829
  attr_accessor :tracking_mode
@@ -3814,14 +3843,14 @@ module Google
3814
3843
 
3815
3844
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3816
3845
  # 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).
3846
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3847
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3848
+ # this field indicates whether connection draining will be honored. Google Cloud
3849
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3850
+ # terminates existing TCP connections to the active pool during failover and
3851
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3852
+ # connections to persist, even on VMs no longer in the active pool, for up to
3853
+ # the duration of the connection draining timeout (10 minutes).
3825
3854
  class BackendServiceFailoverPolicy
3826
3855
  include Google::Apis::Core::Hashable
3827
3856
 
@@ -3836,8 +3865,9 @@ module Google
3836
3865
  # distributed among all primary VMs when all primary and all backup backend VMs
3837
3866
  # are unhealthy. For load balancers that have configurable failover: [Internal
3838
3867
  # 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.
3868
+ # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
3869
+ # com/load-balancing/docs/network/networklb-failover-overview). The default is
3870
+ # false.
3841
3871
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
3842
3872
  # @return [Boolean]
3843
3873
  attr_accessor :drop_traffic_if_unhealthy
@@ -3849,7 +3879,8 @@ module Google
3849
3879
  # the total number of healthy primary VMs is less than this ratio. For load
3850
3880
  # balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
3851
3881
  # https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
3852
- # external TCP/UDP Load Balancing](/network/networklb-failover-overview).
3882
+ # external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
3883
+ # network/networklb-failover-overview).
3853
3884
  # Corresponds to the JSON property `failoverRatio`
3854
3885
  # @return [Float]
3855
3886
  attr_accessor :failover_ratio
@@ -4450,7 +4481,7 @@ module Google
4450
4481
  end
4451
4482
  end
4452
4483
 
4453
- # Associates `members` with a `role`.
4484
+ # Associates `members`, or principals, with a `role`.
4454
4485
  class Binding
4455
4486
  include Google::Apis::Core::Hashable
4456
4487
 
@@ -4478,7 +4509,7 @@ module Google
4478
4509
  # @return [Google::Apis::ComputeBeta::Expr]
4479
4510
  attr_accessor :condition
4480
4511
 
4481
- # Specifies the identities requesting access for a Cloud Platform resource. `
4512
+ # Specifies the principals requesting access for a Cloud Platform resource. `
4482
4513
  # members` can have the following values: * `allUsers`: A special identifier
4483
4514
  # that represents anyone who is on the internet; with or without a Google
4484
4515
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -4508,8 +4539,8 @@ module Google
4508
4539
  # @return [Array<String>]
4509
4540
  attr_accessor :members
4510
4541
 
4511
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
4512
- # , or `roles/owner`.
4542
+ # Role that is assigned to the list of `members`, or principals. For example, `
4543
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
4513
4544
  # Corresponds to the JSON property `role`
4514
4545
  # @return [String]
4515
4546
  attr_accessor :role
@@ -4787,6 +4818,16 @@ module Google
4787
4818
  class Commitment
4788
4819
  include Google::Apis::Core::Hashable
4789
4820
 
4821
+ # Specifies whether to enable automatic renewal for the commitment. The default
4822
+ # value is false if not specified. The field can be updated until the day of the
4823
+ # commitment expiration at 12:00am PST. If the field is set to true, the
4824
+ # commitment will be automatically renewed for either one or three years
4825
+ # according to the terms of the existing commitment.
4826
+ # Corresponds to the JSON property `autoRenew`
4827
+ # @return [Boolean]
4828
+ attr_accessor :auto_renew
4829
+ alias_method :auto_renew?, :auto_renew
4830
+
4790
4831
  # The category of the commitment. Category MACHINE specifies commitments
4791
4832
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
4792
4833
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -4897,6 +4938,7 @@ module Google
4897
4938
 
4898
4939
  # Update properties of this object
4899
4940
  def update!(**args)
4941
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
4900
4942
  @category = args[:category] if args.key?(:category)
4901
4943
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
4902
4944
  @description = args[:description] if args.key?(:description)
@@ -5405,14 +5447,15 @@ module Google
5405
5447
  end
5406
5448
  end
5407
5449
 
5408
- # The specification for allowing client side cross-origin requests. Please see
5409
- # W3C Recommendation for Cross Origin Resource Sharing
5450
+ # The specification for allowing client-side cross-origin requests. For more
5451
+ # information about the W3C recommendation for cross-origin resource sharing (
5452
+ # CORS), see Fetch API Living Standard.
5410
5453
  class CorsPolicy
5411
5454
  include Google::Apis::Core::Hashable
5412
5455
 
5413
5456
  # 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.
5457
+ # actual request can include user credentials. This field translates to the
5458
+ # Access-Control-Allow-Credentials header. Default is false.
5416
5459
  # Corresponds to the JSON property `allowCredentials`
5417
5460
  # @return [Boolean]
5418
5461
  attr_accessor :allow_credentials
@@ -5428,23 +5471,23 @@ module Google
5428
5471
  # @return [Array<String>]
5429
5472
  attr_accessor :allow_methods
5430
5473
 
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
5474
+ # Specifies a regular expression that matches allowed origins. For more
5475
+ # information about the regular expression syntax, see Syntax. An origin is
5476
+ # allowed if it matches either an item in allowOrigins or an item in
5434
5477
  # allowOriginRegexes.
5435
5478
  # Corresponds to the JSON property `allowOriginRegexes`
5436
5479
  # @return [Array<String>]
5437
5480
  attr_accessor :allow_origin_regexes
5438
5481
 
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
5482
+ # Specifies the list of origins that is allowed to do CORS requests. An origin
5483
+ # is allowed if it matches either an item in allowOrigins or an item in
5441
5484
  # allowOriginRegexes.
5442
5485
  # Corresponds to the JSON property `allowOrigins`
5443
5486
  # @return [Array<String>]
5444
5487
  attr_accessor :allow_origins
5445
5488
 
5446
- # If true, specifies the CORS policy is disabled. The default value of false,
5447
- # which indicates that the CORS policy is in effect.
5489
+ # If true, the setting specifies the CORS policy is disabled. The default value
5490
+ # of false, which indicates that the CORS policy is in effect.
5448
5491
  # Corresponds to the JSON property `disabled`
5449
5492
  # @return [Boolean]
5450
5493
  attr_accessor :disabled
@@ -5456,7 +5499,7 @@ module Google
5456
5499
  attr_accessor :expose_headers
5457
5500
 
5458
5501
  # Specifies how long results of a preflight request can be cached in seconds.
5459
- # This translates to the Access-Control-Max-Age header.
5502
+ # This field translates to the Access-Control-Max-Age header.
5460
5503
  # Corresponds to the JSON property `maxAge`
5461
5504
  # @return [Fixnum]
5462
5505
  attr_accessor :max_age
@@ -7582,8 +7625,8 @@ module Google
7582
7625
 
7583
7626
  # Name of the resource; provided by the client when the resource is created. The
7584
7627
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
7585
- # name must be 1-63 characters long and match the regular expression [a-z]([-a-
7586
- # z0-9]*[a-z0-9])?. The first character must be a lowercase letter, and all
7628
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
7629
+ # z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
7587
7630
  # following characters (except for the last character) must be a dash, lowercase
7588
7631
  # letter, or digit. The last character must be a lowercase letter or digit.
7589
7632
  # Corresponds to the JSON property `name`
@@ -8661,8 +8704,7 @@ module Google
8661
8704
  attr_accessor :self_link
8662
8705
 
8663
8706
  # Service Directory resources to register this forwarding rule with. Currently,
8664
- # only supports a single Service Directory resource. It is only supported for
8665
- # internal load balancing.
8707
+ # only supports a single Service Directory resource.
8666
8708
  # Corresponds to the JSON property `serviceDirectoryRegistrations`
8667
8709
  # @return [Array<Google::Apis::ComputeBeta::ForwardingRuleServiceDirectoryRegistration>]
8668
8710
  attr_accessor :service_directory_registrations
@@ -9244,31 +9286,31 @@ module Google
9244
9286
 
9245
9287
  # An Identity and Access Management (IAM) policy, which specifies access
9246
9288
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
9247
- # A `binding` binds one or more `members` to a single `role`. Members can be
9248
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
9249
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
9250
- # role or a user-created custom role. For some types of Google Cloud resources,
9251
- # a `binding` can also specify a `condition`, which is a logical expression that
9252
- # allows access to a resource only if the expression evaluates to `true`. A
9253
- # condition can add constraints based on attributes of the request, the resource,
9254
- # or both. To learn which resources support conditions in their IAM policies,
9255
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
9256
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
9257
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
9258
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
9259
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
9260
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
9261
- # title": "expirable access", "description": "Does not grant access after Sep
9262
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
9263
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
9264
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
9265
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
9266
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9267
- # roles/resourcemanager.organizationViewer condition: title: expirable access
9268
- # description: Does not grant access after Sep 2020 expression: request.time <
9269
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9270
- # description of IAM and its features, see the [IAM documentation](https://cloud.
9271
- # google.com/iam/docs/).
9289
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9290
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9291
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9292
+ # an IAM predefined role or a user-created custom role. For some types of Google
9293
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9294
+ # logical expression that allows access to a resource only if the expression
9295
+ # evaluates to `true`. A condition can add constraints based on attributes of
9296
+ # the request, the resource, or both. To learn which resources support
9297
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9298
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9299
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9300
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9301
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9302
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9303
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9304
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9305
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9306
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9307
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9308
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9309
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9310
+ # access description: Does not grant access after Sep 2020 expression: request.
9311
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9312
+ # a description of IAM and its features, see the [IAM documentation](https://
9313
+ # cloud.google.com/iam/docs/).
9272
9314
  # Corresponds to the JSON property `policy`
9273
9315
  # @return [Google::Apis::ComputeBeta::Policy]
9274
9316
  attr_accessor :policy
@@ -9341,31 +9383,31 @@ module Google
9341
9383
 
9342
9384
  # An Identity and Access Management (IAM) policy, which specifies access
9343
9385
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
9344
- # A `binding` binds one or more `members` to a single `role`. Members can be
9345
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
9346
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
9347
- # role or a user-created custom role. For some types of Google Cloud resources,
9348
- # a `binding` can also specify a `condition`, which is a logical expression that
9349
- # allows access to a resource only if the expression evaluates to `true`. A
9350
- # condition can add constraints based on attributes of the request, the resource,
9351
- # or both. To learn which resources support conditions in their IAM policies,
9352
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
9353
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
9354
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
9355
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
9356
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
9357
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
9358
- # title": "expirable access", "description": "Does not grant access after Sep
9359
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
9360
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
9361
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
9362
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
9363
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9364
- # roles/resourcemanager.organizationViewer condition: title: expirable access
9365
- # description: Does not grant access after Sep 2020 expression: request.time <
9366
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9367
- # description of IAM and its features, see the [IAM documentation](https://cloud.
9368
- # google.com/iam/docs/).
9386
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9387
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9388
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9389
+ # an IAM predefined role or a user-created custom role. For some types of Google
9390
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9391
+ # logical expression that allows access to a resource only if the expression
9392
+ # evaluates to `true`. A condition can add constraints based on attributes of
9393
+ # the request, the resource, or both. To learn which resources support
9394
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9395
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9396
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9397
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9398
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9399
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9400
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9401
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9402
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9403
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9404
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9405
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9406
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9407
+ # access description: Does not grant access after Sep 2020 expression: request.
9408
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9409
+ # a description of IAM and its features, see the [IAM documentation](https://
9410
+ # cloud.google.com/iam/docs/).
9369
9411
  # Corresponds to the JSON property `policy`
9370
9412
  # @return [Google::Apis::ComputeBeta::Policy]
9371
9413
  attr_accessor :policy
@@ -9487,8 +9529,11 @@ module Google
9487
9529
  class GuestOsFeature
9488
9530
  include Google::Apis::Core::Hashable
9489
9531
 
9490
- # The ID of a supported feature. Read Enabling guest operating system features
9491
- # to see a list of available options.
9532
+ # The ID of a supported feature. To add multiple values, use commas to separate
9533
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9534
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9535
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
9536
+ # guest operating system features.
9492
9537
  # Corresponds to the JSON property `type`
9493
9538
  # @return [String]
9494
9539
  attr_accessor :type
@@ -9822,8 +9867,8 @@ module Google
9822
9867
  attr_accessor :timeout_sec
9823
9868
 
9824
9869
  # Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
9825
- # If not specified, the default is TCP. Exactly one of the protocol-specific
9826
- # health check field must be specified, which must match type field.
9870
+ # Exactly one of the protocol-specific health check field must be specified,
9871
+ # which must match type field.
9827
9872
  # Corresponds to the JSON property `type`
9828
9873
  # @return [String]
9829
9874
  attr_accessor :type
@@ -10648,7 +10693,8 @@ module Google
10648
10693
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
10649
10694
  # In that case, * must be the first character and must be followed in the
10650
10695
  # pattern by either - or .. * based matching is not supported when the URL map
10651
- # is bound to target gRPC proxy that has validateForProxyless field set to true.
10696
+ # is bound to a target gRPC proxy that has the validateForProxyless field set to
10697
+ # true.
10652
10698
  # Corresponds to the JSON property `hosts`
10653
10699
  # @return [Array<String>]
10654
10700
  attr_accessor :hosts
@@ -10675,8 +10721,8 @@ module Google
10675
10721
  class HttpFaultAbort
10676
10722
  include Google::Apis::Core::Hashable
10677
10723
 
10678
- # The HTTP status code used to abort the request. The value must be between 200
10679
- # and 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10724
+ # The HTTP status code used to abort the request. The value must be from 200 to
10725
+ # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10680
10726
  # status code according to this mapping table. HTTP status 200 is mapped to gRPC
10681
10727
  # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
10682
10728
  # Director.
@@ -10684,8 +10730,8 @@ module Google
10684
10730
  # @return [Fixnum]
10685
10731
  attr_accessor :http_status
10686
10732
 
10687
- # The percentage of traffic (connections/operations/requests) which will be
10688
- # aborted as part of fault injection. The value must be between 0.0 and 100.0
10733
+ # The percentage of traffic for connections, operations, or requests that is
10734
+ # aborted as part of fault injection. The value must be from 0.0 to 100.0
10689
10735
  # inclusive.
10690
10736
  # Corresponds to the JSON property `percentage`
10691
10737
  # @return [Float]
@@ -10702,8 +10748,8 @@ module Google
10702
10748
  end
10703
10749
  end
10704
10750
 
10705
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10706
- # to the backend service as part of fault injection.
10751
+ # Specifies the delay introduced by the load balancer before forwarding the
10752
+ # request to the backend service as part of fault injection.
10707
10753
  class HttpFaultDelay
10708
10754
  include Google::Apis::Core::Hashable
10709
10755
 
@@ -10715,9 +10761,9 @@ module Google
10715
10761
  # @return [Google::Apis::ComputeBeta::Duration]
10716
10762
  attr_accessor :fixed_delay
10717
10763
 
10718
- # The percentage of traffic (connections/operations/requests) on which delay
10719
- # will be introduced as part of fault injection. The value must be between 0.0
10720
- # and 100.0 inclusive.
10764
+ # The percentage of traffic for connections, operations, or requests for which a
10765
+ # delay is introduced as part of fault injection. The value must be from 0.0 to
10766
+ # 100.0 inclusive.
10721
10767
  # Corresponds to the JSON property `percentage`
10722
10768
  # @return [Float]
10723
10769
  attr_accessor :percentage
@@ -10736,9 +10782,9 @@ module Google
10736
10782
  # The specification for fault injection introduced into traffic to test the
10737
10783
  # resiliency of clients to backend service failure. As part of fault injection,
10738
10784
  # when clients send requests to a backend service, delays can be introduced by
10739
- # Loadbalancer on a percentage of requests before sending those request to the
10740
- # backend service. Similarly requests from clients can be aborted by the
10741
- # Loadbalancer for a percentage of requests.
10785
+ # the load balancer on a percentage of requests before sending those request to
10786
+ # the backend service. Similarly requests from clients can be aborted by the
10787
+ # load balancer for a percentage of requests.
10742
10788
  class HttpFaultInjection
10743
10789
  include Google::Apis::Core::Hashable
10744
10790
 
@@ -10747,8 +10793,8 @@ module Google
10747
10793
  # @return [Google::Apis::ComputeBeta::HttpFaultAbort]
10748
10794
  attr_accessor :abort
10749
10795
 
10750
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10751
- # to the backend service as part of fault injection.
10796
+ # Specifies the delay introduced by the load balancer before forwarding the
10797
+ # request to the backend service as part of fault injection.
10752
10798
  # Corresponds to the JSON property `delay`
10753
10799
  # @return [Google::Apis::ComputeBeta::HttpFaultDelay]
10754
10800
  attr_accessor :delay
@@ -10806,25 +10852,25 @@ module Google
10806
10852
  class HttpHeaderAction
10807
10853
  include Google::Apis::Core::Hashable
10808
10854
 
10809
- # Headers to add to a matching request prior to forwarding the request to the
10855
+ # Headers to add to a matching request before forwarding the request to the
10810
10856
  # backendService.
10811
10857
  # Corresponds to the JSON property `requestHeadersToAdd`
10812
10858
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10813
10859
  attr_accessor :request_headers_to_add
10814
10860
 
10815
10861
  # A list of header names for headers that need to be removed from the request
10816
- # prior to forwarding the request to the backendService.
10862
+ # before forwarding the request to the backendService.
10817
10863
  # Corresponds to the JSON property `requestHeadersToRemove`
10818
10864
  # @return [Array<String>]
10819
10865
  attr_accessor :request_headers_to_remove
10820
10866
 
10821
- # Headers to add the response prior to sending the response back to the client.
10867
+ # Headers to add the response before sending the response back to the client.
10822
10868
  # Corresponds to the JSON property `responseHeadersToAdd`
10823
10869
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10824
10870
  attr_accessor :response_headers_to_add
10825
10871
 
10826
10872
  # A list of header names for headers that need to be removed from the response
10827
- # prior to sending the response back to the client.
10873
+ # before sending the response back to the client.
10828
10874
  # Corresponds to the JSON property `responseHeadersToRemove`
10829
10875
  # @return [Array<String>]
10830
10876
  attr_accessor :response_headers_to_remove
@@ -10854,21 +10900,21 @@ module Google
10854
10900
 
10855
10901
  # The name of the HTTP header to match. For matching against the HTTP request's
10856
10902
  # authority, use a headerMatch with the header name ":authority". For matching a
10857
- # request's method, use the headerName ":method". When the URL map is bound to
10858
- # target gRPC proxy that has validateForProxyless field set to true, only non-
10859
- # binary user-specified custom metadata and the `content-type` header are
10903
+ # request's method, use the headerName ":method". When the URL map is bound to a
10904
+ # target gRPC proxy that has the validateForProxyless field set to true, only
10905
+ # non-binary user-specified custom metadata and the `content-type` header are
10860
10906
  # supported. The following transport-level headers cannot be used in header
10861
10907
  # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
10862
10908
  # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
10863
10909
  # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
10864
- # bin.
10910
+ # bin`.
10865
10911
  # Corresponds to the JSON property `headerName`
10866
10912
  # @return [String]
10867
10913
  attr_accessor :header_name
10868
10914
 
10869
- # If set to false, the headerMatch is considered a match if the match criteria
10870
- # above are met. If set to true, the headerMatch is considered a match if the
10871
- # match criteria above are NOT met. The default setting is false.
10915
+ # If set to false, the headerMatch is considered a match if the preceding match
10916
+ # criteria are met. If set to true, the headerMatch is considered a match if the
10917
+ # preceding match criteria are NOT met. The default setting is false.
10872
10918
  # Corresponds to the JSON property `invertMatch`
10873
10919
  # @return [Boolean]
10874
10920
  attr_accessor :invert_match
@@ -10896,13 +10942,13 @@ module Google
10896
10942
  attr_accessor :range_match
10897
10943
 
10898
10944
  # The value of the header must match the regular expression specified in
10899
- # regexMatch. For regular expression grammar, please see: github.com/google/re2/
10900
- # wiki/Syntax For matching against a port specified in the HTTP request, use a
10901
- # headerMatch with headerName set to PORT and a regular expression that
10902
- # satisfies the RFC2616 Host header's port specifier. Only one of exactMatch,
10903
- # prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
10904
- # Note that regexMatch only applies to Loadbalancers that have their
10905
- # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
10945
+ # regexMatch. For more information about regular expression syntax, see Syntax.
10946
+ # For matching against a port specified in the HTTP request, use a headerMatch
10947
+ # with headerName set to PORT and a regular expression that satisfies the
10948
+ # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
10949
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
10950
+ # only applies to load balancers that have loadBalancingScheme set to
10951
+ # INTERNAL_SELF_MANAGED.
10906
10952
  # Corresponds to the JSON property `regexMatch`
10907
10953
  # @return [String]
10908
10954
  attr_accessor :regex_match
@@ -11197,8 +11243,8 @@ module Google
11197
11243
  include Google::Apis::Core::Hashable
11198
11244
 
11199
11245
  # The queryParameterMatch matches if the value of the parameter exactly matches
11200
- # the contents of exactMatch. Only one of presentMatch, exactMatch or regexMatch
11201
- # must be set.
11246
+ # the contents of exactMatch. Only one of presentMatch, exactMatch, or
11247
+ # regexMatch must be set.
11202
11248
  # Corresponds to the JSON property `exactMatch`
11203
11249
  # @return [String]
11204
11250
  attr_accessor :exact_match
@@ -11211,17 +11257,17 @@ module Google
11211
11257
 
11212
11258
  # Specifies that the queryParameterMatch matches if the request contains the
11213
11259
  # query parameter, irrespective of whether the parameter has a value or not.
11214
- # Only one of presentMatch, exactMatch or regexMatch must be set.
11260
+ # Only one of presentMatch, exactMatch, or regexMatch must be set.
11215
11261
  # Corresponds to the JSON property `presentMatch`
11216
11262
  # @return [Boolean]
11217
11263
  attr_accessor :present_match
11218
11264
  alias_method :present_match?, :present_match
11219
11265
 
11220
11266
  # The queryParameterMatch matches if the value of the parameter matches the
11221
- # regular expression specified by regexMatch. For the regular expression grammar,
11222
- # please see github.com/google/re2/wiki/Syntax Only one of presentMatch,
11223
- # exactMatch or regexMatch must be set. Note that regexMatch only applies when
11224
- # the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
11267
+ # regular expression specified by regexMatch. For more information about regular
11268
+ # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
11269
+ # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
11270
+ # is set to INTERNAL_SELF_MANAGED.
11225
11271
  # Corresponds to the JSON property `regexMatch`
11226
11272
  # @return [String]
11227
11273
  attr_accessor :regex_match
@@ -11243,15 +11289,15 @@ module Google
11243
11289
  class HttpRedirectAction
11244
11290
  include Google::Apis::Core::Hashable
11245
11291
 
11246
- # The host that will be used in the redirect response instead of the one that
11247
- # was supplied in the request. The value must be between 1 and 255 characters.
11292
+ # The host that is used in the redirect response instead of the one that was
11293
+ # supplied in the request. The value must be from 1 to 255 characters.
11248
11294
  # Corresponds to the JSON property `hostRedirect`
11249
11295
  # @return [String]
11250
11296
  attr_accessor :host_redirect
11251
11297
 
11252
- # If set to true, the URL scheme in the redirected request is set to https. If
11253
- # set to false, the URL scheme of the redirected request will remain the same as
11254
- # that of the request. This must only be set for UrlMaps used in
11298
+ # If set to true, the URL scheme in the redirected request is set to HTTPS. If
11299
+ # set to false, the URL scheme of the redirected request remains the same as
11300
+ # that of the request. This must only be set for URL maps used in
11255
11301
  # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
11256
11302
  # default is set to false.
11257
11303
  # Corresponds to the JSON property `httpsRedirect`
@@ -11259,11 +11305,11 @@ module Google
11259
11305
  attr_accessor :https_redirect
11260
11306
  alias_method :https_redirect?, :https_redirect
11261
11307
 
11262
- # The path that will be used in the redirect response instead of the one that
11263
- # was supplied in the request. pathRedirect cannot be supplied together with
11308
+ # The path that is used in the redirect response instead of the one that was
11309
+ # supplied in the request. pathRedirect cannot be supplied together with
11264
11310
  # prefixRedirect. Supply one alone or neither. If neither is supplied, the path
11265
- # of the original request will be used for the redirect. The value must be
11266
- # between 1 and 1024 characters.
11311
+ # of the original request is used for the redirect. The value must be from 1 to
11312
+ # 1024 characters.
11267
11313
  # Corresponds to the JSON property `pathRedirect`
11268
11314
  # @return [String]
11269
11315
  attr_accessor :path_redirect
@@ -11271,8 +11317,8 @@ module Google
11271
11317
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
11272
11318
  # retaining the remaining portion of the URL before redirecting the request.
11273
11319
  # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
11274
- # or neither. If neither is supplied, the path of the original request will be
11275
- # used for the redirect. The value must be between 1 and 1024 characters.
11320
+ # or neither. If neither is supplied, the path of the original request is used
11321
+ # for the redirect. The value must be from 1 to 1024 characters.
11276
11322
  # Corresponds to the JSON property `prefixRedirect`
11277
11323
  # @return [String]
11278
11324
  attr_accessor :prefix_redirect
@@ -11281,14 +11327,14 @@ module Google
11281
11327
  # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
11282
11328
  # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
11283
11329
  # TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
11284
- # will be retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case,
11285
- # the request method will be retained.
11330
+ # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
11331
+ # request method is retained.
11286
11332
  # Corresponds to the JSON property `redirectResponseCode`
11287
11333
  # @return [String]
11288
11334
  attr_accessor :redirect_response_code
11289
11335
 
11290
11336
  # If set to true, any accompanying query portion of the original URL is removed
11291
- # prior to redirecting the request. If set to false, the query portion of the
11337
+ # before redirecting the request. If set to false, the query portion of the
11292
11338
  # original URL is retained. The default is set to false.
11293
11339
  # Corresponds to the JSON property `stripQuery`
11294
11340
  # @return [Boolean]
@@ -11329,25 +11375,27 @@ module Google
11329
11375
  attr_accessor :per_try_timeout
11330
11376
 
11331
11377
  # Specifies one or more conditions when this retry policy applies. Valid values
11332
- # are: - 5xx: Retry will be attempted if the instance or endpoint responds with
11333
- # any 5xx response code, or if the instance or endpoint does not respond at all,
11334
- # example: disconnects, reset, read timeout, connection failure, and refused
11378
+ # are: - 5xx: retry is attempted if the instance or endpoint responds with any
11379
+ # 5xx response code, or if the instance or endpoint does not respond at all. For
11380
+ # example, disconnects, reset, read timeout, connection failure, and refused
11335
11381
  # streams. - gateway-error: Similar to 5xx, but only applies to response codes
11336
- # 502, 503 or 504. - - connect-failure: A retry will be attempted on failures
11337
- # connecting to the instance or endpoint, for example due to connection timeouts.
11338
- # - retriable-4xx: A retry will be attempted if the instance or endpoint
11339
- # responds with a retriable 4xx response code. Currently the only retriable
11340
- # error supported is 409. - refused-stream: A retry will be attempted if the
11341
- # instance or endpoint resets the stream with a REFUSED_STREAM error code. This
11342
- # reset type indicates that it is safe to retry. - cancelled: A retry will be
11343
- # attempted if the gRPC status code in the response header is set to cancelled. -
11344
- # deadline-exceeded: A retry will be attempted if the gRPC status code in the
11345
- # response header is set to deadline-exceeded. - internal: A retry will be
11346
- # attempted if the gRPC status code in the response header is set to internal. -
11347
- # resource-exhausted: A retry will be attempted if the gRPC status code in the
11348
- # response header is set to resource-exhausted. - unavailable: A retry will be
11349
- # attempted if the gRPC status code in the response header is set to unavailable.
11350
- #
11382
+ # 502, 503 or 504. - connect-failure: a retry is attempted on failures
11383
+ # connecting to the instance or endpoint. For example, connection timeouts. -
11384
+ # retriable-4xx: a retry is attempted if the instance or endpoint responds with
11385
+ # a 4xx response code. The only error that you can retry is error code 409. -
11386
+ # refused-stream: a retry is attempted if the instance or endpoint resets the
11387
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
11388
+ # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
11389
+ # the response header is set to cancelled. - deadline-exceeded: a retry is
11390
+ # attempted if the gRPC status code in the response header is set to deadline-
11391
+ # exceeded. - internal: a retry is attempted if the gRPC status code in the
11392
+ # response header is set to internal. - resource-exhausted: a retry is attempted
11393
+ # if the gRPC status code in the response header is set to resource-exhausted. -
11394
+ # unavailable: a retry is attempted if the gRPC status code in the response
11395
+ # header is set to unavailable. Only the following codes are supported when the
11396
+ # URL map is bound to target gRPC proxy that has validateForProxyless field set
11397
+ # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
11398
+ # unavailable
11351
11399
  # Corresponds to the JSON property `retryConditions`
11352
11400
  # @return [Array<String>]
11353
11401
  attr_accessor :retry_conditions
@@ -11368,8 +11416,9 @@ module Google
11368
11416
  class HttpRouteAction
11369
11417
  include Google::Apis::Core::Hashable
11370
11418
 
11371
- # The specification for allowing client side cross-origin requests. Please see
11372
- # W3C Recommendation for Cross Origin Resource Sharing
11419
+ # The specification for allowing client-side cross-origin requests. For more
11420
+ # information about the W3C recommendation for cross-origin resource sharing (
11421
+ # CORS), see Fetch API Living Standard.
11373
11422
  # Corresponds to the JSON property `corsPolicy`
11374
11423
  # @return [Google::Apis::ComputeBeta::CorsPolicy]
11375
11424
  attr_accessor :cors_policy
@@ -11377,9 +11426,9 @@ module Google
11377
11426
  # The specification for fault injection introduced into traffic to test the
11378
11427
  # resiliency of clients to backend service failure. As part of fault injection,
11379
11428
  # when clients send requests to a backend service, delays can be introduced by
11380
- # Loadbalancer on a percentage of requests before sending those request to the
11381
- # backend service. Similarly requests from clients can be aborted by the
11382
- # Loadbalancer for a percentage of requests.
11429
+ # the load balancer on a percentage of requests before sending those request to
11430
+ # the backend service. Similarly requests from clients can be aborted by the
11431
+ # load balancer for a percentage of requests.
11383
11432
  # Corresponds to the JSON property `faultInjectionPolicy`
11384
11433
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11385
11434
  attr_accessor :fault_injection_policy
@@ -11393,9 +11442,9 @@ module Google
11393
11442
  attr_accessor :max_stream_duration
11394
11443
 
11395
11444
  # A policy that specifies how requests intended for the route's backends are
11396
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11397
- # for responses from the shadow service. Prior to sending traffic to the shadow
11398
- # service, the host / authority header is suffixed with -shadow.
11445
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
11446
+ # wait for responses from the shadow service. Before sending traffic to the
11447
+ # shadow service, the host or authority header is suffixed with -shadow.
11399
11448
  # Corresponds to the JSON property `requestMirrorPolicy`
11400
11449
  # @return [Google::Apis::ComputeBeta::RequestMirrorPolicy]
11401
11450
  attr_accessor :request_mirror_policy
@@ -11423,7 +11472,7 @@ module Google
11423
11472
  # occurs. The weights determine the fraction of traffic that flows to their
11424
11473
  # corresponding backend service. If all traffic needs to go to a single backend
11425
11474
  # service, there must be one weightedBackendService with weight set to a non-
11426
- # zero number. Once a backendService is identified and before forwarding the
11475
+ # zero number. After a backend service is identified and before forwarding the
11427
11476
  # request to the backend service, advanced routing actions such as URL rewrites
11428
11477
  # and header transformations are applied depending on additional settings
11429
11478
  # specified in this HttpRouteAction.
@@ -11448,8 +11497,8 @@ module Google
11448
11497
  end
11449
11498
  end
11450
11499
 
11451
- # An HttpRouteRule specifies how to match an HTTP request and the corresponding
11452
- # routing action that load balancing proxies will perform.
11500
+ # The HttpRouteRule setting specifies how to match an HTTP request and the
11501
+ # corresponding routing action that load balancing proxies perform.
11453
11502
  class HttpRouteRule
11454
11503
  include Google::Apis::Core::Hashable
11455
11504
 
@@ -11466,9 +11515,9 @@ module Google
11466
11515
  attr_accessor :header_action
11467
11516
 
11468
11517
  # Outbound route specific configuration for networkservices.HttpFilter resources
11469
- # enabled by Traffic Director. httpFilterConfigs only applies for Loadbalancers
11518
+ # enabled by Traffic Director. httpFilterConfigs only applies for load balancers
11470
11519
  # with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for
11471
- # more details. Not supported when the URL map is bound to target gRPC proxy
11520
+ # more details. Not supported when the URL map is bound to a target gRPC proxy
11472
11521
  # that has validateForProxyless field set to true.
11473
11522
  # Corresponds to the JSON property `httpFilterConfigs`
11474
11523
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
@@ -11476,10 +11525,10 @@ module Google
11476
11525
 
11477
11526
  # Outbound route specific metadata supplied to networkservices.HttpFilter
11478
11527
  # resources enabled by Traffic Director. httpFilterMetadata only applies for
11479
- # Loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11528
+ # load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11480
11529
  # ForwardingRule for more details. The only configTypeUrl supported is type.
11481
11530
  # googleapis.com/google.protobuf.Struct Not supported when the URL map is bound
11482
- # to target gRPC proxy that has validateForProxyless field set to true.
11531
+ # to a target gRPC proxy that has validateForProxyless field set to true.
11483
11532
  # Corresponds to the JSON property `httpFilterMetadata`
11484
11533
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
11485
11534
  attr_accessor :http_filter_metadata
@@ -11494,11 +11543,11 @@ module Google
11494
11543
  attr_accessor :match_rules
11495
11544
 
11496
11545
  # For routeRules within a given pathMatcher, priority determines the order in
11497
- # which load balancer will interpret routeRules. RouteRules are evaluated in
11498
- # order of priority, from the lowest to highest number. The priority of a rule
11546
+ # which a load balancer interprets routeRules. RouteRules are evaluated in order
11547
+ # of priority, from the lowest to highest number. The priority of a rule
11499
11548
  # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
11500
11549
  # the request is applied. You cannot configure two or more routeRules with the
11501
- # same priority. Priority for each rule must be set to a number between 0 and
11550
+ # same priority. Priority for each rule must be set to a number from 0 to
11502
11551
  # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
11503
11552
  # or remove rules in the future without affecting the rest of the rules. For
11504
11553
  # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
@@ -11509,24 +11558,24 @@ module Google
11509
11558
  attr_accessor :priority
11510
11559
 
11511
11560
  # In response to a matching matchRule, the load balancer performs advanced
11512
- # routing actions like URL rewrites, header transformations, etc. prior to
11561
+ # routing actions, such as URL rewrites and header transformations, before
11513
11562
  # forwarding the request to the selected backend. If routeAction specifies any
11514
11563
  # weightedBackendServices, service must not be set. Conversely if service is set,
11515
11564
  # routeAction cannot contain any weightedBackendServices. Only one of
11516
11565
  # urlRedirect, service or routeAction.weightedBackendService must be set.
11517
11566
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
11518
- # within a routeRule's routeAction.
11567
+ # within a route rule's routeAction.
11519
11568
  # Corresponds to the JSON property `routeAction`
11520
11569
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
11521
11570
  attr_accessor :route_action
11522
11571
 
11523
11572
  # The full or partial URL of the backend service resource to which traffic is
11524
- # directed if this rule is matched. If routeAction is additionally specified,
11525
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
11526
- # the request to the backend. However, if service is specified, routeAction
11527
- # cannot contain any weightedBackendService s. Conversely, if routeAction
11528
- # specifies any weightedBackendServices, service must not be specified. Only one
11529
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
11573
+ # directed if this rule is matched. If routeAction is also specified, advanced
11574
+ # routing actions, such as URL rewrites, take effect before sending the request
11575
+ # to the backend. However, if service is specified, routeAction cannot contain
11576
+ # any weightedBackendServices. Conversely, if routeAction specifies any
11577
+ # weightedBackendServices, service must not be specified. Only one of
11578
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
11530
11579
  # Corresponds to the JSON property `service`
11531
11580
  # @return [String]
11532
11581
  attr_accessor :service
@@ -11561,9 +11610,9 @@ module Google
11561
11610
 
11562
11611
  # For satisfying the matchRule condition, the path of the request must exactly
11563
11612
  # match the value specified in fullPathMatch after removing any query parameters
11564
- # and anchor that may be part of the original URL. fullPathMatch must be between
11565
- # 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11566
- # must be specified.
11613
+ # and anchor that may be part of the original URL. fullPathMatch must be from 1
11614
+ # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
11615
+ # be specified.
11567
11616
  # Corresponds to the JSON property `fullPathMatch`
11568
11617
  # @return [String]
11569
11618
  attr_accessor :full_path_match
@@ -11576,53 +11625,52 @@ module Google
11576
11625
 
11577
11626
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
11578
11627
  # default value is false. ignoreCase must not be used with regexMatch. Not
11579
- # supported when the URL map is bound to target gRPC proxy.
11628
+ # supported when the URL map is bound to a target gRPC proxy.
11580
11629
  # Corresponds to the JSON property `ignoreCase`
11581
11630
  # @return [Boolean]
11582
11631
  attr_accessor :ignore_case
11583
11632
  alias_method :ignore_case?, :ignore_case
11584
11633
 
11585
- # Opaque filter criteria used by Loadbalancer to restrict routing configuration
11586
- # to a limited set of xDS compliant clients. In their xDS requests to
11587
- # Loadbalancer, xDS clients present node metadata. When there is a match, the
11588
- # relevant routing configuration is made available to those proxies. For each
11589
- # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
11590
- # at least one of the filterLabels must match the corresponding label provided
11591
- # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
11592
- # its filterLabels must match with corresponding labels provided in the metadata.
11593
- # If multiple metadataFilters are specified, all of them need to be satisfied
11594
- # in order to be considered a match. metadataFilters specified here will be
11634
+ # Opaque filter criteria used by the load balancer to restrict routing
11635
+ # configuration to a limited set of xDS compliant clients. In their xDS requests
11636
+ # to the load balancer, xDS clients present node metadata. When there is a match,
11637
+ # the relevant routing configuration is made available to those proxies. For
11638
+ # each metadataFilter in this list, if its filterMatchCriteria is set to
11639
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
11640
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
11641
+ # all of its filterLabels must match with corresponding labels provided in the
11642
+ # metadata. If multiple metadata filters are specified, all of them need to be
11643
+ # satisfied in order to be considered a match. metadataFilters specified here is
11595
11644
  # applied after those specified in ForwardingRule that refers to the UrlMap this
11596
- # HttpRouteRuleMatch belongs to. metadataFilters only applies to Loadbalancers
11597
- # that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not
11598
- # supported when the URL map is bound to target gRPC proxy that has
11599
- # validateForProxyless field set to true.
11645
+ # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
11646
+ # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
11647
+ # the URL map is bound to a target gRPC proxy that has validateForProxyless
11648
+ # field set to true.
11600
11649
  # Corresponds to the JSON property `metadataFilters`
11601
11650
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
11602
11651
  attr_accessor :metadata_filters
11603
11652
 
11604
11653
  # For satisfying the matchRule condition, the request's path must begin with the
11605
- # specified prefixMatch. prefixMatch must begin with a /. The value must be
11606
- # between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
11607
- # regexMatch must be specified.
11654
+ # specified prefixMatch. prefixMatch must begin with a /. The value must be from
11655
+ # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11656
+ # must be specified.
11608
11657
  # Corresponds to the JSON property `prefixMatch`
11609
11658
  # @return [String]
11610
11659
  attr_accessor :prefix_match
11611
11660
 
11612
11661
  # Specifies a list of query parameter match criteria, all of which must match
11613
11662
  # corresponding query parameters in the request. Not supported when the URL map
11614
- # is bound to target gRPC proxy.
11663
+ # is bound to a target gRPC proxy.
11615
11664
  # Corresponds to the JSON property `queryParameterMatches`
11616
11665
  # @return [Array<Google::Apis::ComputeBeta::HttpQueryParameterMatch>]
11617
11666
  attr_accessor :query_parameter_matches
11618
11667
 
11619
11668
  # For satisfying the matchRule condition, the path of the request must satisfy
11620
11669
  # the regular expression specified in regexMatch after removing any query
11621
- # parameters and anchor supplied with the original URL. For regular expression
11622
- # grammar please see github.com/google/re2/wiki/Syntax Only one of prefixMatch,
11623
- # fullPathMatch or regexMatch must be specified. Note that regexMatch only
11624
- # applies to Loadbalancers that have their loadBalancingScheme set to
11625
- # INTERNAL_SELF_MANAGED.
11670
+ # parameters and anchor supplied with the original URL. For more information
11671
+ # about regular expression syntax, see Syntax. Only one of prefixMatch,
11672
+ # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
11673
+ # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
11626
11674
  # Corresponds to the JSON property `regexMatch`
11627
11675
  # @return [String]
11628
11676
  attr_accessor :regex_match
@@ -11910,8 +11958,8 @@ module Google
11910
11958
  attr_accessor :family
11911
11959
 
11912
11960
  # A list of features to enable on the guest operating system. Applicable only
11913
- # for bootable images. Read Enabling guest operating system features to see a
11914
- # list of available options.
11961
+ # for bootable images. To see a list of available options, see the
11962
+ # guestOSfeatures[].type parameter.
11915
11963
  # Corresponds to the JSON property `guestOsFeatures`
11916
11964
  # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
11917
11965
  attr_accessor :guest_os_features
@@ -12561,6 +12609,11 @@ module Google
12561
12609
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
12562
12610
  attr_accessor :network_performance_config
12563
12611
 
12612
+ # Additional instance params.
12613
+ # Corresponds to the JSON property `params`
12614
+ # @return [Google::Apis::ComputeBeta::InstanceParams]
12615
+ attr_accessor :params
12616
+
12564
12617
  # PostKeyRevocationActionType of the instance.
12565
12618
  # Corresponds to the JSON property `postKeyRevocationActionType`
12566
12619
  # @return [String]
@@ -12704,6 +12757,7 @@ module Google
12704
12757
  @name = args[:name] if args.key?(:name)
12705
12758
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12706
12759
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12760
+ @params = args[:params] if args.key?(:params)
12707
12761
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
12708
12762
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12709
12763
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
@@ -15247,6 +15301,28 @@ module Google
15247
15301
  end
15248
15302
  end
15249
15303
 
15304
+ # Additional instance params.
15305
+ class InstanceParams
15306
+ include Google::Apis::Core::Hashable
15307
+
15308
+ # Resource manager tags to be bound to the instance. Tag keys and values have
15309
+ # the same definition as resource manager tags. Keys must be in the format `
15310
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
15311
+ # is ignored (both PUT & PATCH) when empty.
15312
+ # Corresponds to the JSON property `resourceManagerTags`
15313
+ # @return [Hash<String,String>]
15314
+ attr_accessor :resource_manager_tags
15315
+
15316
+ def initialize(**args)
15317
+ update!(**args)
15318
+ end
15319
+
15320
+ # Update properties of this object
15321
+ def update!(**args)
15322
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
15323
+ end
15324
+ end
15325
+
15250
15326
  #
15251
15327
  class InstanceProperties
15252
15328
  include Google::Apis::Core::Hashable
@@ -15328,18 +15404,19 @@ module Google
15328
15404
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
15329
15405
  attr_accessor :network_interfaces
15330
15406
 
15331
- #
15407
+ # Note that for MachineImage, this is not supported yet.
15332
15408
  # Corresponds to the JSON property `networkPerformanceConfig`
15333
15409
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
15334
15410
  attr_accessor :network_performance_config
15335
15411
 
15336
- # PostKeyRevocationActionType of the instance.(will be deprecated soon)
15412
+ # PostKeyRevocationActionType of the instance.
15337
15413
  # Corresponds to the JSON property `postKeyRevocationActionType`
15338
15414
  # @return [String]
15339
15415
  attr_accessor :post_key_revocation_action_type
15340
15416
 
15341
15417
  # The private IPv6 google access type for VMs. If not specified, use
15342
- # INHERIT_FROM_SUBNETWORK as default.
15418
+ # INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
15419
+ # supported yet.
15343
15420
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
15344
15421
  # @return [String]
15345
15422
  attr_accessor :private_ipv6_google_access
@@ -15349,8 +15426,16 @@ module Google
15349
15426
  # @return [Google::Apis::ComputeBeta::ReservationAffinity]
15350
15427
  attr_accessor :reservation_affinity
15351
15428
 
15352
- # Resource policies (names, not ULRs) applied to instances created from these
15353
- # properties.
15429
+ # Resource manager tags to be bound to the instance. Tag keys and values have
15430
+ # the same definition as resource manager tags. Keys must be in the format `
15431
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
15432
+ # is ignored (both PUT & PATCH) when empty.
15433
+ # Corresponds to the JSON property `resourceManagerTags`
15434
+ # @return [Hash<String,String>]
15435
+ attr_accessor :resource_manager_tags
15436
+
15437
+ # Resource policies (names, not URLs) applied to instances created from these
15438
+ # properties. Note that for MachineImage, this is not supported yet.
15354
15439
  # Corresponds to the JSON property `resourcePolicies`
15355
15440
  # @return [Array<String>]
15356
15441
  attr_accessor :resource_policies
@@ -15405,6 +15490,7 @@ module Google
15405
15490
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
15406
15491
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
15407
15492
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
15493
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
15408
15494
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
15409
15495
  @scheduling = args[:scheduling] if args.key?(:scheduling)
15410
15496
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
@@ -16359,6 +16445,17 @@ module Google
16359
16445
  # @return [String]
16360
16446
  attr_accessor :bandwidth
16361
16447
 
16448
+ # Up to 16 candidate prefixes that control the allocation of
16449
+ # cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
16450
+ # prefix must be in the Global Unique Address (GUA) space. It is highly
16451
+ # recommended that it be in a range owned by the requestor. A GUA in a range
16452
+ # owned by Google will cause the request to fail. Google will select an
16453
+ # available prefix from the supplied candidates or fail the request. If not
16454
+ # supplied, a /125 from a Google-owned GUA block will be selected.
16455
+ # Corresponds to the JSON property `candidateIpv6Subnets`
16456
+ # @return [Array<String>]
16457
+ attr_accessor :candidate_ipv6_subnets
16458
+
16362
16459
  # Up to 16 candidate prefixes that can be used to restrict the allocation of
16363
16460
  # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
16364
16461
  # prefixes must be within link-local address space (169.254.0.0/16) and must be /
@@ -16376,6 +16473,20 @@ module Google
16376
16473
  # @return [String]
16377
16474
  attr_accessor :cloud_router_ip_address
16378
16475
 
16476
+ # [Output Only] IPv6 address + prefix length to be configured on Cloud Router
16477
+ # Interface for this interconnect attachment.
16478
+ # Corresponds to the JSON property `cloudRouterIpv6Address`
16479
+ # @return [String]
16480
+ attr_accessor :cloud_router_ipv6_address
16481
+
16482
+ # If supplied, the interface id (index within the subnet) to be used for the
16483
+ # cloud router address. The id must be in the range of 1 to 6. If a subnet mask
16484
+ # is supplied, it must be /125, and the subnet should either be 0 or match the
16485
+ # selected subnet.
16486
+ # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
16487
+ # @return [String]
16488
+ attr_accessor :cloud_router_ipv6_interface_id
16489
+
16379
16490
  # [Output Only] Creation timestamp in RFC3339 text format.
16380
16491
  # Corresponds to the JSON property `creationTimestamp`
16381
16492
  # @return [String]
@@ -16387,7 +16498,24 @@ module Google
16387
16498
  # @return [String]
16388
16499
  attr_accessor :customer_router_ip_address
16389
16500
 
16390
- # [Output Only] Dataplane version for this InterconnectAttachment.
16501
+ # [Output Only] IPv6 address + prefix length to be configured on the customer
16502
+ # router subinterface for this interconnect attachment.
16503
+ # Corresponds to the JSON property `customerRouterIpv6Address`
16504
+ # @return [String]
16505
+ attr_accessor :customer_router_ipv6_address
16506
+
16507
+ # If supplied, the interface id (index within the subnet) to be used for the
16508
+ # customer router address. The id must be in the range of 1 to 6. If a subnet
16509
+ # mask is supplied, it must be /125, and the subnet should either be 0 or match
16510
+ # the selected subnet.
16511
+ # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
16512
+ # @return [String]
16513
+ attr_accessor :customer_router_ipv6_interface_id
16514
+
16515
+ # [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
16516
+ # ] Dataplane version for this InterconnectAttachment. This field is only
16517
+ # present for Dataplane version 2 and higher. Absence of this field in the API
16518
+ # output indicates that the Dataplane is version 1.
16391
16519
  # Corresponds to the JSON property `dataplaneVersion`
16392
16520
  # @return [Fixnum]
16393
16521
  attr_accessor :dataplane_version
@@ -16565,6 +16693,14 @@ module Google
16565
16693
  # @return [String]
16566
16694
  attr_accessor :self_link
16567
16695
 
16696
+ # The stack type for this interconnect attachment to identify whether the IPv6
16697
+ # feature is enabled or not. If not specified, IPV4_ONLY will be used. This
16698
+ # field can be both set at interconnect attachments creation and update
16699
+ # interconnect attachment operations.
16700
+ # Corresponds to the JSON property `stackType`
16701
+ # @return [String]
16702
+ attr_accessor :stack_type
16703
+
16568
16704
  # [Output Only] The current state of this attachment's functionality. Enum
16569
16705
  # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
16570
16706
  # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
@@ -16607,10 +16743,15 @@ module Google
16607
16743
  def update!(**args)
16608
16744
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
16609
16745
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
16746
+ @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
16610
16747
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
16611
16748
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
16749
+ @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
16750
+ @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
16612
16751
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
16613
16752
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
16753
+ @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
16754
+ @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
16614
16755
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
16615
16756
  @description = args[:description] if args.key?(:description)
16616
16757
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
@@ -16633,6 +16774,7 @@ module Google
16633
16774
  @router = args[:router] if args.key?(:router)
16634
16775
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16635
16776
  @self_link = args[:self_link] if args.key?(:self_link)
16777
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
16636
16778
  @state = args[:state] if args.key?(:state)
16637
16779
  @type = args[:type] if args.key?(:type)
16638
16780
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
@@ -18134,6 +18276,11 @@ module Google
18134
18276
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
18135
18277
  attr_accessor :locations
18136
18278
 
18279
+ # Strategy for distributing VMs across zones in a region.
18280
+ # Corresponds to the JSON property `targetShape`
18281
+ # @return [String]
18282
+ attr_accessor :target_shape
18283
+
18137
18284
  def initialize(**args)
18138
18285
  update!(**args)
18139
18286
  end
@@ -18141,6 +18288,7 @@ module Google
18141
18288
  # Update properties of this object
18142
18289
  def update!(**args)
18143
18290
  @locations = args[:locations] if args.key?(:locations)
18291
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
18144
18292
  end
18145
18293
  end
18146
18294
 
@@ -18327,6 +18475,11 @@ module Google
18327
18475
  # @return [Fixnum]
18328
18476
  attr_accessor :id
18329
18477
 
18478
+ # [Output Only] Properties of source instance
18479
+ # Corresponds to the JSON property `instanceProperties`
18480
+ # @return [Google::Apis::ComputeBeta::InstanceProperties]
18481
+ attr_accessor :instance_properties
18482
+
18330
18483
  # [Output Only] The resource type, which is always compute#machineImage for
18331
18484
  # machine image.
18332
18485
  # Corresponds to the JSON property `kind`
@@ -18362,6 +18515,12 @@ module Google
18362
18515
  attr_accessor :satisfies_pzs
18363
18516
  alias_method :satisfies_pzs?, :satisfies_pzs
18364
18517
 
18518
+ # An array of Machine Image specific properties for disks attached to the source
18519
+ # instance
18520
+ # Corresponds to the JSON property `savedDisks`
18521
+ # @return [Array<Google::Apis::ComputeBeta::SavedDisk>]
18522
+ attr_accessor :saved_disks
18523
+
18365
18524
  # [Output Only] The URL for this machine image. The server defines this URL.
18366
18525
  # Corresponds to the JSON property `selfLink`
18367
18526
  # @return [String]
@@ -18382,7 +18541,8 @@ module Google
18382
18541
  # @return [String]
18383
18542
  attr_accessor :source_instance
18384
18543
 
18385
- # [Output Only] Properties of source instance.
18544
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
18545
+ # not be added to this field.
18386
18546
  # Corresponds to the JSON property `sourceInstanceProperties`
18387
18547
  # @return [Google::Apis::ComputeBeta::SourceInstanceProperties]
18388
18548
  attr_accessor :source_instance_properties
@@ -18414,10 +18574,12 @@ module Google
18414
18574
  @description = args[:description] if args.key?(:description)
18415
18575
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
18416
18576
  @id = args[:id] if args.key?(:id)
18577
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
18417
18578
  @kind = args[:kind] if args.key?(:kind)
18418
18579
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
18419
18580
  @name = args[:name] if args.key?(:name)
18420
18581
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18582
+ @saved_disks = args[:saved_disks] if args.key?(:saved_disks)
18421
18583
  @self_link = args[:self_link] if args.key?(:self_link)
18422
18584
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
18423
18585
  @source_instance = args[:source_instance] if args.key?(:source_instance)
@@ -19292,18 +19454,18 @@ module Google
19292
19454
  end
19293
19455
  end
19294
19456
 
19295
- # Opaque filter criteria used by loadbalancers to restrict routing configuration
19296
- # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
19297
- # loadbalancing would typically present metadata to the loadbalancers which need
19298
- # to match criteria specified here. If a match takes place, the relevant
19299
- # configuration is made available to those proxies. For each metadataFilter in
19300
- # this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
19301
- # filterLabels must match the corresponding label provided in the metadata. If
19302
- # its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must
19303
- # match with corresponding labels provided in the metadata. An example for using
19304
- # metadataFilters would be: if loadbalancing involves Envoys, they will only
19305
- # receive routing configuration when values in metadataFilters match values
19306
- # supplied in of their XDS requests to loadbalancers.
19457
+ # Opaque filter criteria used by load balancers to restrict routing
19458
+ # configuration to a limited set of load balancing proxies. Proxies and sidecars
19459
+ # involved in load balancing would typically present metadata to the load
19460
+ # balancers that need to match criteria specified here. If a match takes place,
19461
+ # the relevant configuration is made available to those proxies. For each
19462
+ # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
19463
+ # at least one of the filterLabels must match the corresponding label provided
19464
+ # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
19465
+ # its filterLabels must match with corresponding labels provided in the metadata.
19466
+ # An example for using metadataFilters would be: if load balancing involves
19467
+ # Envoys, they receive routing configuration when values in metadataFilters
19468
+ # match values supplied in of their XDS requests to loadbalancers.
19307
19469
  class MetadataFilter
19308
19470
  include Google::Apis::Core::Hashable
19309
19471
 
@@ -19314,11 +19476,11 @@ module Google
19314
19476
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilterLabelMatch>]
19315
19477
  attr_accessor :filter_labels
19316
19478
 
19317
- # Specifies how individual filterLabel matches within the list of filterLabels
19318
- # contribute towards the overall metadataFilter match. Supported values are: -
19319
- # MATCH_ANY: At least one of the filterLabels must have a matching label in the
19320
- # provided metadata. - MATCH_ALL: All filterLabels must have matching labels in
19321
- # the provided metadata.
19479
+ # Specifies how individual filter label matches within the list of filterLabels
19480
+ # and contributes toward the overall metadataFilter match. Supported values are:
19481
+ # - MATCH_ANY: at least one of the filterLabels must have a matching label in
19482
+ # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
19483
+ # in the provided metadata.
19322
19484
  # Corresponds to the JSON property `filterMatchCriteria`
19323
19485
  # @return [String]
19324
19486
  attr_accessor :filter_match_criteria
@@ -19335,7 +19497,7 @@ module Google
19335
19497
  end
19336
19498
 
19337
19499
  # MetadataFilter label name value pairs that are expected to match corresponding
19338
- # labels presented as metadata to the loadbalancer.
19500
+ # labels presented as metadata to the load balancer.
19339
19501
  class MetadataFilterLabelMatch
19340
19502
  include Google::Apis::Core::Hashable
19341
19503
 
@@ -20529,7 +20691,7 @@ module Google
20529
20691
  # @return [String]
20530
20692
  attr_accessor :ipv6_access_type
20531
20693
 
20532
- # [Output Only] An IPv6 internal network address for this network interface.
20694
+ # An IPv6 internal network address for this network interface.
20533
20695
  # Corresponds to the JSON property `ipv6Address`
20534
20696
  # @return [String]
20535
20697
  attr_accessor :ipv6_address
@@ -20546,14 +20708,15 @@ module Google
20546
20708
  # @return [String]
20547
20709
  attr_accessor :name
20548
20710
 
20549
- # URL of the network resource for this instance. When creating an instance, if
20550
- # neither the network nor the subnetwork is specified, the default network
20551
- # global/networks/default is used; if the network is not specified but the
20552
- # subnetwork is specified, the network is inferred. If you specify this property,
20553
- # you can specify the network as a full or partial URL. For example, the
20554
- # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
20555
- # project/global/networks/ network - projects/project/global/networks/network -
20556
- # global/networks/default
20711
+ # URL of the VPC network resource for this instance. When creating an instance,
20712
+ # if neither the network nor the subnetwork is specified, the default network
20713
+ # global/networks/default is used. If the selected project doesn't have the
20714
+ # default network, you must specify a network or subnet. If the network is not
20715
+ # specified but the subnetwork is specified, the network is inferred. If you
20716
+ # specify this property, you can specify the network as a full or partial URL.
20717
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
20718
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
20719
+ # networks/network - global/networks/default
20557
20720
  # Corresponds to the JSON property `network`
20558
20721
  # @return [String]
20559
20722
  attr_accessor :network
@@ -20762,7 +20925,8 @@ module Google
20762
20925
  attr_accessor :exchange_subnet_routes
20763
20926
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
20764
20927
 
20765
- # Whether to export the custom routes to peer network.
20928
+ # Whether to export the custom routes to peer network. The default value is
20929
+ # false.
20766
20930
  # Corresponds to the JSON property `exportCustomRoutes`
20767
20931
  # @return [Boolean]
20768
20932
  attr_accessor :export_custom_routes
@@ -20776,7 +20940,8 @@ module Google
20776
20940
  attr_accessor :export_subnet_routes_with_public_ip
20777
20941
  alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
20778
20942
 
20779
- # Whether to import the custom routes from peer network.
20943
+ # Whether to import the custom routes from peer network. The default value is
20944
+ # false.
20780
20945
  # Corresponds to the JSON property `importCustomRoutes`
20781
20946
  # @return [Boolean]
20782
20947
  attr_accessor :import_custom_routes
@@ -24462,37 +24627,37 @@ module Google
24462
24627
 
24463
24628
  # A matcher for the path portion of the URL. The BackendService from the longest-
24464
24629
  # matched rule will serve the URL. If no rule was matched, the default service
24465
- # will be used.
24630
+ # is used.
24466
24631
  class PathMatcher
24467
24632
  include Google::Apis::Core::Hashable
24468
24633
 
24469
24634
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
24470
- # The load balancer performs advanced routing actions like URL rewrites, header
24471
- # transformations, etc. prior to forwarding the request to the selected backend.
24635
+ # The load balancer performs advanced routing actions, such as URL rewrites and
24636
+ # header transformations, before forwarding the request to the selected backend.
24472
24637
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
24473
24638
  # must not be set. Conversely if defaultService is set, defaultRouteAction
24474
24639
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
24475
24640
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
24476
- # support only the urlRewrite action within a pathMatcher's defaultRouteAction.
24641
+ # support only the urlRewrite action within a path matcher's defaultRouteAction.
24477
24642
  # Corresponds to the JSON property `defaultRouteAction`
24478
24643
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24479
24644
  attr_accessor :default_route_action
24480
24645
 
24481
- # The full or partial URL to the BackendService resource. This will be used if
24646
+ # The full or partial URL to the BackendService resource. This URL is used if
24482
24647
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
24483
24648
  # For example, the following are all valid URLs to a BackendService resource: -
24484
24649
  # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
24485
24650
  # backendService - compute/v1/projects/project/global/backendServices/
24486
24651
  # backendService - global/backendServices/backendService If defaultRouteAction
24487
- # is additionally specified, advanced routing actions like URL Rewrites, etc.
24488
- # take effect prior to sending the request to the backend. However, if
24489
- # defaultService is specified, defaultRouteAction cannot contain any
24490
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
24491
- # weightedBackendServices, defaultService must not be specified. Only one of
24492
- # defaultService, defaultUrlRedirect or defaultRouteAction.
24493
- # weightedBackendService must be set. Authorization requires one or more of the
24494
- # following Google IAM permissions on the specified resource default_service: -
24495
- # compute.backendBuckets.use - compute.backendServices.use
24652
+ # is also specified, advanced routing actions, such as URL rewrites, take effect
24653
+ # before sending the request to the backend. However, if defaultService is
24654
+ # specified, defaultRouteAction cannot contain any weightedBackendServices.
24655
+ # Conversely, if defaultRouteAction specifies any weightedBackendServices,
24656
+ # defaultService must not be specified. Only one of defaultService,
24657
+ # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
24658
+ # Authorization requires one or more of the following Google IAM permissions on
24659
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
24660
+ # backendServices.use
24496
24661
  # Corresponds to the JSON property `defaultService`
24497
24662
  # @return [String]
24498
24663
  attr_accessor :default_service
@@ -24568,23 +24733,23 @@ module Google
24568
24733
  attr_accessor :paths
24569
24734
 
24570
24735
  # In response to a matching path, the load balancer performs advanced routing
24571
- # actions like URL rewrites, header transformations, etc. prior to forwarding
24736
+ # actions, such as URL rewrites and header transformations, before forwarding
24572
24737
  # the request to the selected backend. If routeAction specifies any
24573
24738
  # weightedBackendServices, service must not be set. Conversely if service is set,
24574
24739
  # routeAction cannot contain any weightedBackendServices. Only one of
24575
- # routeAction or urlRedirect must be set. UrlMaps for external HTTP(S) load
24576
- # balancers support only the urlRewrite action within a pathRule's routeAction.
24740
+ # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
24741
+ # balancers support only the urlRewrite action within a path rule's routeAction.
24577
24742
  # Corresponds to the JSON property `routeAction`
24578
24743
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24579
24744
  attr_accessor :route_action
24580
24745
 
24581
24746
  # The full or partial URL of the backend service resource to which traffic is
24582
- # directed if this rule is matched. If routeAction is additionally specified,
24583
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
24584
- # the request to the backend. However, if service is specified, routeAction
24585
- # cannot contain any weightedBackendService s. Conversely, if routeAction
24586
- # specifies any weightedBackendServices, service must not be specified. Only one
24587
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
24747
+ # directed if this rule is matched. If routeAction is also specified, advanced
24748
+ # routing actions, such as URL rewrites, take effect before sending the request
24749
+ # to the backend. However, if service is specified, routeAction cannot contain
24750
+ # any weightedBackendServices. Conversely, if routeAction specifies any
24751
+ # weightedBackendServices, service must not be specified. Only one of
24752
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
24588
24753
  # Corresponds to the JSON property `service`
24589
24754
  # @return [String]
24590
24755
  attr_accessor :service
@@ -24656,31 +24821,31 @@ module Google
24656
24821
 
24657
24822
  # An Identity and Access Management (IAM) policy, which specifies access
24658
24823
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
24659
- # A `binding` binds one or more `members` to a single `role`. Members can be
24660
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
24661
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
24662
- # role or a user-created custom role. For some types of Google Cloud resources,
24663
- # a `binding` can also specify a `condition`, which is a logical expression that
24664
- # allows access to a resource only if the expression evaluates to `true`. A
24665
- # condition can add constraints based on attributes of the request, the resource,
24666
- # or both. To learn which resources support conditions in their IAM policies,
24667
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
24668
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
24669
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
24670
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
24671
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
24672
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
24673
- # title": "expirable access", "description": "Does not grant access after Sep
24674
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
24675
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
24676
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
24677
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
24678
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
24679
- # roles/resourcemanager.organizationViewer condition: title: expirable access
24680
- # description: Does not grant access after Sep 2020 expression: request.time <
24681
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
24682
- # description of IAM and its features, see the [IAM documentation](https://cloud.
24683
- # google.com/iam/docs/).
24824
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
24825
+ # Principals can be user accounts, service accounts, Google groups, and domains (
24826
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
24827
+ # an IAM predefined role or a user-created custom role. For some types of Google
24828
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
24829
+ # logical expression that allows access to a resource only if the expression
24830
+ # evaluates to `true`. A condition can add constraints based on attributes of
24831
+ # the request, the resource, or both. To learn which resources support
24832
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
24833
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
24834
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
24835
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
24836
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
24837
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
24838
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
24839
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
24840
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
24841
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
24842
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
24843
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
24844
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
24845
+ # access description: Does not grant access after Sep 2020 expression: request.
24846
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
24847
+ # a description of IAM and its features, see the [IAM documentation](https://
24848
+ # cloud.google.com/iam/docs/).
24684
24849
  class Policy
24685
24850
  include Google::Apis::Core::Hashable
24686
24851
 
@@ -24689,9 +24854,14 @@ module Google
24689
24854
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
24690
24855
  attr_accessor :audit_configs
24691
24856
 
24692
- # Associates a list of `members` to a `role`. Optionally, may specify a `
24693
- # condition` that determines how and when the `bindings` are applied. Each of
24694
- # the `bindings` must contain at least one member.
24857
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
24858
+ # specify a `condition` that determines how and when the `bindings` are applied.
24859
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
24860
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
24861
+ # can be Google groups. Each occurrence of a principal counts towards these
24862
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
24863
+ # example.com`, and not to any other principal, then you can add another 1,450
24864
+ # principals to the `bindings` in the `Policy`.
24695
24865
  # Corresponds to the JSON property `bindings`
24696
24866
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
24697
24867
  attr_accessor :bindings
@@ -24712,12 +24882,6 @@ module Google
24712
24882
  # @return [String]
24713
24883
  attr_accessor :etag
24714
24884
 
24715
- # This is deprecated and has no effect. Do not use.
24716
- # Corresponds to the JSON property `iamOwned`
24717
- # @return [Boolean]
24718
- attr_accessor :iam_owned
24719
- alias_method :iam_owned?, :iam_owned
24720
-
24721
24885
  # This is deprecated and has no effect. Do not use.
24722
24886
  # Corresponds to the JSON property `rules`
24723
24887
  # @return [Array<Google::Apis::ComputeBeta::Rule>]
@@ -24751,7 +24915,6 @@ module Google
24751
24915
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
24752
24916
  @bindings = args[:bindings] if args.key?(:bindings)
24753
24917
  @etag = args[:etag] if args.key?(:etag)
24754
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
24755
24918
  @rules = args[:rules] if args.key?(:rules)
24756
24919
  @version = args[:version] if args.key?(:version)
24757
24920
  end
@@ -24786,6 +24949,18 @@ module Google
24786
24949
  # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedDisk>]
24787
24950
  attr_accessor :disks
24788
24951
 
24952
+ # Preserved external IPs defined for this instance. This map is keyed with the
24953
+ # name of the network interface.
24954
+ # Corresponds to the JSON property `externalIPs`
24955
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
24956
+ attr_accessor :external_i_ps
24957
+
24958
+ # Preserved internal IPs defined for this instance. This map is keyed with the
24959
+ # name of the network interface.
24960
+ # Corresponds to the JSON property `internalIPs`
24961
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
24962
+ attr_accessor :internal_i_ps
24963
+
24789
24964
  # Preserved metadata defined for this instance.
24790
24965
  # Corresponds to the JSON property `metadata`
24791
24966
  # @return [Hash<String,String>]
@@ -24798,6 +24973,8 @@ module Google
24798
24973
  # Update properties of this object
24799
24974
  def update!(**args)
24800
24975
  @disks = args[:disks] if args.key?(:disks)
24976
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
24977
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
24801
24978
  @metadata = args[:metadata] if args.key?(:metadata)
24802
24979
  end
24803
24980
  end
@@ -24839,6 +25016,60 @@ module Google
24839
25016
  end
24840
25017
  end
24841
25018
 
25019
+ #
25020
+ class PreservedStatePreservedNetworkIp
25021
+ include Google::Apis::Core::Hashable
25022
+
25023
+ # These stateful IPs will never be released during autohealing, update or VM
25024
+ # instance recreate operations. This flag is used to configure if the IP
25025
+ # reservation should be deleted after it is no longer used by the group, e.g.
25026
+ # when the given instance or the whole group is deleted.
25027
+ # Corresponds to the JSON property `autoDelete`
25028
+ # @return [String]
25029
+ attr_accessor :auto_delete
25030
+
25031
+ # Ip address representation
25032
+ # Corresponds to the JSON property `ipAddress`
25033
+ # @return [Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIpIpAddress]
25034
+ attr_accessor :ip_address
25035
+
25036
+ def initialize(**args)
25037
+ update!(**args)
25038
+ end
25039
+
25040
+ # Update properties of this object
25041
+ def update!(**args)
25042
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
25043
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
25044
+ end
25045
+ end
25046
+
25047
+ #
25048
+ class PreservedStatePreservedNetworkIpIpAddress
25049
+ include Google::Apis::Core::Hashable
25050
+
25051
+ # The URL of the reservation for this IP address.
25052
+ # Corresponds to the JSON property `address`
25053
+ # @return [String]
25054
+ attr_accessor :address
25055
+
25056
+ # An IPv4 internal network address to assign to the instance for this network
25057
+ # interface.
25058
+ # Corresponds to the JSON property `literal`
25059
+ # @return [String]
25060
+ attr_accessor :literal
25061
+
25062
+ def initialize(**args)
25063
+ update!(**args)
25064
+ end
25065
+
25066
+ # Update properties of this object
25067
+ def update!(**args)
25068
+ @address = args[:address] if args.key?(:address)
25069
+ @literal = args[:literal] if args.key?(:literal)
25070
+ end
25071
+ end
25072
+
24842
25073
  # Represents a Project resource. A project is used to organize resources in a
24843
25074
  # Google Cloud Platform environment. For more information, read about the
24844
25075
  # Resource Hierarchy.
@@ -25132,7 +25363,13 @@ module Google
25132
25363
  # @return [String]
25133
25364
  attr_accessor :shared_secret
25134
25365
 
25135
- # The status of the public advertised prefix.
25366
+ # The status of the public advertised prefix. Possible values include: - `
25367
+ # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
25368
+ # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
25369
+ # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
25370
+ # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
25371
+ # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
25372
+ # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
25136
25373
  # Corresponds to the JSON property `status`
25137
25374
  # @return [String]
25138
25375
  attr_accessor :status
@@ -25411,7 +25648,12 @@ module Google
25411
25648
  # @return [String]
25412
25649
  attr_accessor :self_link
25413
25650
 
25414
- # [Output Only] The status of the public delegated prefix.
25651
+ # [Output Only] The status of the public delegated prefix, which can be one of
25652
+ # following values: - `INITIALIZING` The public delegated prefix is being
25653
+ # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
25654
+ # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
25655
+ # The public delegated prefix is active. - `DELETING` The public delegated
25656
+ # prefix is being deprovsioned.
25415
25657
  # Corresponds to the JSON property `status`
25416
25658
  # @return [String]
25417
25659
  attr_accessor :status
@@ -26898,6 +27140,47 @@ module Google
26898
27140
  end
26899
27141
  end
26900
27142
 
27143
+ #
27144
+ class RegionInstanceGroupManagersResizeAdvancedRequest
27145
+ include Google::Apis::Core::Hashable
27146
+
27147
+ # If this flag is true, the managed instance group attempts to create all
27148
+ # instances initiated by this resize request only once. If there is an error
27149
+ # during creation, the managed instance group does not retry create this
27150
+ # instance, and we will decrease the targetSize of the request instead. If the
27151
+ # flag is false, the group attempts to recreate each instance continuously until
27152
+ # it succeeds. This flag matters only in the first attempt of creation of an
27153
+ # instance. After an instance is successfully created while this flag is enabled,
27154
+ # the instance behaves the same way as all the other instances created with a
27155
+ # regular resize request. In particular, if a running instance dies unexpectedly
27156
+ # at a later time and needs to be recreated, this mode does not affect the
27157
+ # recreation behavior in that scenario. This flag is applicable only to the
27158
+ # current resize request. It does not influence other resize requests in any way.
27159
+ # You can see which instances ar being created in which mode by calling the get
27160
+ # or listManagedInstances API.
27161
+ # Corresponds to the JSON property `noCreationRetries`
27162
+ # @return [Boolean]
27163
+ attr_accessor :no_creation_retries
27164
+ alias_method :no_creation_retries?, :no_creation_retries
27165
+
27166
+ # The number of running instances that the managed instance group should
27167
+ # maintain at any given time. The group automatically adds or removes instances
27168
+ # to maintain the number of instances specified by this parameter.
27169
+ # Corresponds to the JSON property `targetSize`
27170
+ # @return [Fixnum]
27171
+ attr_accessor :target_size
27172
+
27173
+ def initialize(**args)
27174
+ update!(**args)
27175
+ end
27176
+
27177
+ # Update properties of this object
27178
+ def update!(**args)
27179
+ @no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
27180
+ @target_size = args[:target_size] if args.key?(:target_size)
27181
+ end
27182
+ end
27183
+
26901
27184
  #
26902
27185
  class RegionInstanceGroupManagersSetAutoHealingRequest
26903
27186
  include Google::Apis::Core::Hashable
@@ -27309,31 +27592,31 @@ module Google
27309
27592
 
27310
27593
  # An Identity and Access Management (IAM) policy, which specifies access
27311
27594
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
27312
- # A `binding` binds one or more `members` to a single `role`. Members can be
27313
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
27314
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
27315
- # role or a user-created custom role. For some types of Google Cloud resources,
27316
- # a `binding` can also specify a `condition`, which is a logical expression that
27317
- # allows access to a resource only if the expression evaluates to `true`. A
27318
- # condition can add constraints based on attributes of the request, the resource,
27319
- # or both. To learn which resources support conditions in their IAM policies,
27320
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
27321
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
27322
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
27323
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
27324
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
27325
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
27326
- # title": "expirable access", "description": "Does not grant access after Sep
27327
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
27328
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
27329
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
27330
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
27331
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
27332
- # roles/resourcemanager.organizationViewer condition: title: expirable access
27333
- # description: Does not grant access after Sep 2020 expression: request.time <
27334
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
27335
- # description of IAM and its features, see the [IAM documentation](https://cloud.
27336
- # google.com/iam/docs/).
27595
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
27596
+ # Principals can be user accounts, service accounts, Google groups, and domains (
27597
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
27598
+ # an IAM predefined role or a user-created custom role. For some types of Google
27599
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
27600
+ # logical expression that allows access to a resource only if the expression
27601
+ # evaluates to `true`. A condition can add constraints based on attributes of
27602
+ # the request, the resource, or both. To learn which resources support
27603
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
27604
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
27605
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
27606
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
27607
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
27608
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
27609
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
27610
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
27611
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
27612
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
27613
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
27614
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
27615
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
27616
+ # access description: Does not grant access after Sep 2020 expression: request.
27617
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
27618
+ # a description of IAM and its features, see the [IAM documentation](https://
27619
+ # cloud.google.com/iam/docs/).
27337
27620
  # Corresponds to the JSON property `policy`
27338
27621
  # @return [Google::Apis::ComputeBeta::Policy]
27339
27622
  attr_accessor :policy
@@ -27374,21 +27657,21 @@ module Google
27374
27657
  class RegionUrlMapsValidateRequest
27375
27658
  include Google::Apis::Core::Hashable
27376
27659
 
27377
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
27378
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
27379
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
27380
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
27660
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
27661
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
27662
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
27663
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
27381
27664
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
27382
27665
  # used by internal HTTP(S) load balancers. For a list of supported URL map
27383
- # features by load balancer type, see the Load balancing features: Routing and
27384
- # traffic management table. For a list of supported URL map features for Traffic
27385
- # Director, see the Traffic Director features: Routing and traffic management
27386
- # table. This resource defines mappings from host names and URL paths to either
27387
- # a backend service or a backend bucket. To use the global urlMaps resource, the
27388
- # backend service must have a loadBalancingScheme of either EXTERNAL or
27389
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
27390
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
27391
- # read URL Map Concepts.
27666
+ # features by the load balancer type, see the Load balancing features: Routing
27667
+ # and traffic management table. For a list of supported URL map features for
27668
+ # Traffic Director, see the Traffic Director features: Routing and traffic
27669
+ # management table. This resource defines mappings from hostnames and URL paths
27670
+ # to either a backend service or a backend bucket. To use the global urlMaps
27671
+ # resource, the backend service must have a loadBalancingScheme of either
27672
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
27673
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
27674
+ # information, read URL Map Concepts.
27392
27675
  # Corresponds to the JSON property `resource`
27393
27676
  # @return [Google::Apis::ComputeBeta::UrlMap]
27394
27677
  attr_accessor :resource
@@ -27404,9 +27687,9 @@ module Google
27404
27687
  end
27405
27688
 
27406
27689
  # A policy that specifies how requests intended for the route's backends are
27407
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
27408
- # for responses from the shadow service. Prior to sending traffic to the shadow
27409
- # service, the host / authority header is suffixed with -shadow.
27690
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
27691
+ # wait for responses from the shadow service. Before sending traffic to the
27692
+ # shadow service, the host or authority header is suffixed with -shadow.
27410
27693
  class RequestMirrorPolicy
27411
27694
  include Google::Apis::Core::Hashable
27412
27695
 
@@ -29603,6 +29886,12 @@ module Google
29603
29886
  # @return [String]
29604
29887
  attr_accessor :enable
29605
29888
 
29889
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
29890
+ # Corresponds to the JSON property `enableIpv6`
29891
+ # @return [Boolean]
29892
+ attr_accessor :enable_ipv6
29893
+ alias_method :enable_ipv6?, :enable_ipv6
29894
+
29606
29895
  # Name of the interface the BGP peer is associated with.
29607
29896
  # Corresponds to the JSON property `interfaceName`
29608
29897
  # @return [String]
@@ -29614,6 +29903,11 @@ module Google
29614
29903
  # @return [String]
29615
29904
  attr_accessor :ip_address
29616
29905
 
29906
+ # IPv6 address of the interface inside Google Cloud Platform.
29907
+ # Corresponds to the JSON property `ipv6NexthopAddress`
29908
+ # @return [String]
29909
+ attr_accessor :ipv6_nexthop_address
29910
+
29617
29911
  # [Output Only] The resource that configures and manages this BGP peer. -
29618
29912
  # MANAGED_BY_USER is the default value and can be managed by you or other users -
29619
29913
  # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
@@ -29646,6 +29940,11 @@ module Google
29646
29940
  # @return [String]
29647
29941
  attr_accessor :peer_ip_address
29648
29942
 
29943
+ # IPv6 address of the BGP interface outside Google Cloud Platform.
29944
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
29945
+ # @return [String]
29946
+ attr_accessor :peer_ipv6_nexthop_address
29947
+
29649
29948
  # URI of the VM instance that is used as third-party router appliances such as
29650
29949
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29651
29950
  # must be located in zones contained in the same region as this Cloud Router.
@@ -29666,12 +29965,15 @@ module Google
29666
29965
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
29667
29966
  @bfd = args[:bfd] if args.key?(:bfd)
29668
29967
  @enable = args[:enable] if args.key?(:enable)
29968
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
29669
29969
  @interface_name = args[:interface_name] if args.key?(:interface_name)
29670
29970
  @ip_address = args[:ip_address] if args.key?(:ip_address)
29971
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
29671
29972
  @management_type = args[:management_type] if args.key?(:management_type)
29672
29973
  @name = args[:name] if args.key?(:name)
29673
29974
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29674
29975
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
29976
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
29675
29977
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29676
29978
  end
29677
29979
  end
@@ -29951,6 +30253,17 @@ module Google
29951
30253
  # @return [Array<String>]
29952
30254
  attr_accessor :drain_nat_ips
29953
30255
 
30256
+ # Enable Dynamic Port Allocation. If not specified, it is disabled by default.
30257
+ # If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
30258
+ # enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
30259
+ # minPortsPerVm must be set to a power of two greater than or equal to 32. If
30260
+ # minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
30261
+ # this NAT config.
30262
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
30263
+ # @return [Boolean]
30264
+ attr_accessor :enable_dynamic_port_allocation
30265
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
30266
+
29954
30267
  #
29955
30268
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
29956
30269
  # @return [Boolean]
@@ -29967,6 +30280,17 @@ module Google
29967
30280
  # @return [Google::Apis::ComputeBeta::RouterNatLogConfig]
29968
30281
  attr_accessor :log_config
29969
30282
 
30283
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
30284
+ # Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
30285
+ # field has no effect. If Dynamic Port Allocation is enabled, and this field is
30286
+ # set, it must be set to a power of two greater than minPortsPerVm, or 64 if
30287
+ # minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
30288
+ # is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
30289
+ # config.
30290
+ # Corresponds to the JSON property `maxPortsPerVm`
30291
+ # @return [Fixnum]
30292
+ attr_accessor :max_ports_per_vm
30293
+
29970
30294
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
29971
30295
  # default number of ports is allocated to a VM. This is rounded up to the
29972
30296
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -30051,9 +30375,11 @@ module Google
30051
30375
  # Update properties of this object
30052
30376
  def update!(**args)
30053
30377
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
30378
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
30054
30379
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
30055
30380
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
30056
30381
  @log_config = args[:log_config] if args.key?(:log_config)
30382
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
30057
30383
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
30058
30384
  @name = args[:name] if args.key?(:name)
30059
30385
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
@@ -30118,7 +30444,8 @@ module Google
30118
30444
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
30119
30445
  # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
30120
30446
  # following example is a valid match expression for private NAT: "nexthop.hub ==
30121
- # '/projects/my-project/global/hub/hub-1'"
30447
+ # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
30448
+ # global/hub/hub-1'"
30122
30449
  # Corresponds to the JSON property `match`
30123
30450
  # @return [String]
30124
30451
  attr_accessor :match
@@ -30711,7 +31038,8 @@ module Google
30711
31038
  end
30712
31039
  end
30713
31040
 
30714
- # An instance-attached disk resource.
31041
+ # DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
31042
+ # resource.
30715
31043
  class SavedAttachedDisk
30716
31044
  include Google::Apis::Core::Hashable
30717
31045
 
@@ -30834,6 +31162,47 @@ module Google
30834
31162
  end
30835
31163
  end
30836
31164
 
31165
+ # An instance-attached disk resource.
31166
+ class SavedDisk
31167
+ include Google::Apis::Core::Hashable
31168
+
31169
+ # [Output Only] Type of the resource. Always compute#savedDisk for attached
31170
+ # disks.
31171
+ # Corresponds to the JSON property `kind`
31172
+ # @return [String]
31173
+ attr_accessor :kind
31174
+
31175
+ # Specifies a URL of the disk attached to the source instance.
31176
+ # Corresponds to the JSON property `sourceDisk`
31177
+ # @return [String]
31178
+ attr_accessor :source_disk
31179
+
31180
+ # [Output Only] Size of the individual disk snapshot used by this machine image.
31181
+ # Corresponds to the JSON property `storageBytes`
31182
+ # @return [Fixnum]
31183
+ attr_accessor :storage_bytes
31184
+
31185
+ # [Output Only] An indicator whether storageBytes is in a stable state or it is
31186
+ # being adjusted as a result of shared storage reallocation. This status can
31187
+ # either be UPDATING, meaning the size of the snapshot is being updated, or
31188
+ # UP_TO_DATE, meaning the size of the snapshot is up-to-date.
31189
+ # Corresponds to the JSON property `storageBytesStatus`
31190
+ # @return [String]
31191
+ attr_accessor :storage_bytes_status
31192
+
31193
+ def initialize(**args)
31194
+ update!(**args)
31195
+ end
31196
+
31197
+ # Update properties of this object
31198
+ def update!(**args)
31199
+ @kind = args[:kind] if args.key?(:kind)
31200
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
31201
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
31202
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
31203
+ end
31204
+ end
31205
+
30837
31206
  #
30838
31207
  class ScalingScheduleStatus
30839
31208
  include Google::Apis::Core::Hashable
@@ -31165,6 +31534,11 @@ module Google
31165
31534
  # @return [String]
31166
31535
  attr_accessor :parent
31167
31536
 
31537
+ #
31538
+ # Corresponds to the JSON property `recaptchaOptionsConfig`
31539
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig]
31540
+ attr_accessor :recaptcha_options_config
31541
+
31168
31542
  # [Output Only] Total count of all security policy rule tuples. A security
31169
31543
  # policy can not exceed a set number of tuples.
31170
31544
  # Corresponds to the JSON property `ruleTupleCount`
@@ -31219,6 +31593,7 @@ module Google
31219
31593
  @labels = args[:labels] if args.key?(:labels)
31220
31594
  @name = args[:name] if args.key?(:name)
31221
31595
  @parent = args[:parent] if args.key?(:parent)
31596
+ @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
31222
31597
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
31223
31598
  @rules = args[:rules] if args.key?(:rules)
31224
31599
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -31447,6 +31822,29 @@ module Google
31447
31822
  end
31448
31823
  end
31449
31824
 
31825
+ #
31826
+ class SecurityPolicyRecaptchaOptionsConfig
31827
+ include Google::Apis::Core::Hashable
31828
+
31829
+ # An optional field to supply a reCAPTCHA site key to be used for all the rules
31830
+ # using the redirect action with the type of GOOGLE_RECAPTCHA under the security
31831
+ # policy. The specified site key needs to be created from the reCAPTCHA API. The
31832
+ # user is responsible for the validity of the specified site key. If not
31833
+ # specified, a Google-managed site key is used.
31834
+ # Corresponds to the JSON property `redirectSiteKey`
31835
+ # @return [String]
31836
+ attr_accessor :redirect_site_key
31837
+
31838
+ def initialize(**args)
31839
+ update!(**args)
31840
+ end
31841
+
31842
+ # Update properties of this object
31843
+ def update!(**args)
31844
+ @redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
31845
+ end
31846
+ end
31847
+
31450
31848
  #
31451
31849
  class SecurityPolicyReference
31452
31850
  include Google::Apis::Core::Hashable
@@ -31471,9 +31869,17 @@ module Google
31471
31869
  class SecurityPolicyRule
31472
31870
  include Google::Apis::Core::Hashable
31473
31871
 
31474
- # The Action to perform when the client connection triggers the rule. Can
31475
- # currently be either "allow" or "deny()" where valid values for status are 403,
31476
- # 404, and 502.
31872
+ # The Action to perform when the rule is matched. The following are the valid
31873
+ # actions: - allow: allow access to target. - deny(): deny access to target,
31874
+ # returns the HTTP response code specified (valid values are 403, 404, and 502).
31875
+ # - rate_based_ban: limit client traffic to the configured threshold and ban the
31876
+ # client if the traffic exceeds the threshold. Configure parameters for this
31877
+ # action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
31878
+ # redirect to a different target. This can either be an internal reCAPTCHA
31879
+ # redirect, or an external URL-based redirect via a 302 response. Parameters for
31880
+ # this action can be configured via redirectOptions. - throttle: limit client
31881
+ # traffic to the configured threshold. Configure parameters for this action in
31882
+ # rateLimitOptions. Requires rate_limit_options to be set for this.
31477
31883
  # Corresponds to the JSON property `action`
31478
31884
  # @return [String]
31479
31885
  attr_accessor :action
@@ -31780,33 +32186,45 @@ module Google
31780
32186
  attr_accessor :conform_action
31781
32187
 
31782
32188
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
31783
- # "ALL" -- A single rate limit threshold is applied to all the requests
31784
- # matching this rule. This is the default value if this field 'enforce_on_key'
31785
- # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
31786
- # depprecated. "IP" -- The source IP address of the request is the key. Each IP
31787
- # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
31788
- # header whose name is configured under "enforce_on_key_name". The key value is
32189
+ # - ALL: A single rate limit threshold is applied to all the requests matching
32190
+ # this rule. This is the default value if this field 'enforce_on_key' is not
32191
+ # configured. - IP: The source IP address of the request is the key. Each IP has
32192
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
32193
+ # whose name is configured under "enforce_on_key_name". The key value is
31789
32194
  # truncated to the first 128 bytes of the header value. If no such header is
31790
- # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
31791
- # IP address (i.e. the originating client IP address) specified in the list of
31792
- # IPs under X-Forwarded-For HTTP header. If no such header is present or the
31793
- # value is not a valid IP, the key type defaults to "ALL".
32195
+ # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
32196
+ # address (i.e. the originating client IP address) specified in the list of IPs
32197
+ # under X-Forwarded-For HTTP header. If no such header is present or the value
32198
+ # is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
32199
+ # the HTTP cookie whose name is configured under "enforce_on_key_name". The key
32200
+ # value is truncated to the first 128 bytes of the cookie value. If no such
32201
+ # cookie is present in the request, the key type defaults to ALL.
31794
32202
  # Corresponds to the JSON property `enforceOnKey`
31795
32203
  # @return [String]
31796
32204
  attr_accessor :enforce_on_key
31797
32205
 
31798
32206
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
31799
- # Name of the HTTP header whose value is taken as the key value.
32207
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
32208
+ # Name of the HTTP cookie whose value is taken as the key value.
31800
32209
  # Corresponds to the JSON property `enforceOnKeyName`
31801
32210
  # @return [String]
31802
32211
  attr_accessor :enforce_on_key_name
31803
32212
 
31804
- # When a request is denied, returns the HTTP response code specified. Valid
31805
- # options are "deny()" where valid values for status are 403, 404, 429, and 502.
32213
+ # Action to take for requests that are above the configured rate limit threshold,
32214
+ # to either deny with a specified HTTP response code, or redirect to a
32215
+ # different endpoint. Valid options are "deny()" where valid values for status
32216
+ # are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
32217
+ # from exceed_redirect_options below.
31806
32218
  # Corresponds to the JSON property `exceedAction`
31807
32219
  # @return [String]
31808
32220
  attr_accessor :exceed_action
31809
32221
 
32222
+ # Parameters defining the redirect action that is used as the exceed action.
32223
+ # Cannot be specified if the exceed action is not redirect.
32224
+ # Corresponds to the JSON property `exceedRedirectOptions`
32225
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions]
32226
+ attr_accessor :exceed_redirect_options
32227
+
31810
32228
  # Threshold at which to begin ratelimiting.
31811
32229
  # Corresponds to the JSON property `rateLimitThreshold`
31812
32230
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]
@@ -31824,6 +32242,7 @@ module Google
31824
32242
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
31825
32243
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
31826
32244
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
32245
+ @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
31827
32246
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
31828
32247
  end
31829
32248
  end
@@ -32062,6 +32481,13 @@ module Google
32062
32481
  # @return [String]
32063
32482
  attr_accessor :description
32064
32483
 
32484
+ # If specified, the domain name will be used during the integration between the
32485
+ # PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
32486
+ # name: "p.mycompany.com.". Current max number of domain names supported is 1.
32487
+ # Corresponds to the JSON property `domainNames`
32488
+ # @return [Array<String>]
32489
+ attr_accessor :domain_names
32490
+
32065
32491
  # If true, enable the proxy protocol which is for supplying client TCP/IP
32066
32492
  # address data in TCP connections that traverse proxies on their way to
32067
32493
  # destination servers.
@@ -32150,6 +32576,7 @@ module Google
32150
32576
  @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
32151
32577
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32152
32578
  @description = args[:description] if args.key?(:description)
32579
+ @domain_names = args[:domain_names] if args.key?(:domain_names)
32153
32580
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
32154
32581
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
32155
32582
  @id = args[:id] if args.key?(:id)
@@ -32556,9 +32983,8 @@ module Google
32556
32983
  class ShareSettings
32557
32984
  include Google::Apis::Core::Hashable
32558
32985
 
32559
- # A map of project id and project config. Using map format to ease add-to/remove-
32560
- # from the Project list in PATCH command. In future we will deprecate (And later
32561
- # remove) the array one.
32986
+ # A map of project id and project config. This is only valid when share_type's
32987
+ # value is SPECIFIC_PROJECTS.
32562
32988
  # Corresponds to the JSON property `projectMap`
32563
32989
  # @return [Hash<String,Google::Apis::ComputeBeta::ShareSettingsProjectConfig>]
32564
32990
  attr_accessor :project_map
@@ -33252,7 +33678,8 @@ module Google
33252
33678
  end
33253
33679
  end
33254
33680
 
33255
- #
33681
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
33682
+ # not be added to this field.
33256
33683
  class SourceInstanceProperties
33257
33684
  include Google::Apis::Core::Hashable
33258
33685
 
@@ -33321,7 +33748,7 @@ module Google
33321
33748
  # @return [Array<Google::Apis::ComputeBeta::NetworkInterface>]
33322
33749
  attr_accessor :network_interfaces
33323
33750
 
33324
- # PostKeyRevocationActionType of the instance. (will be deprecated soon)
33751
+ # PostKeyRevocationActionType of the instance.
33325
33752
  # Corresponds to the JSON property `postKeyRevocationActionType`
33326
33753
  # @return [String]
33327
33754
  attr_accessor :post_key_revocation_action_type
@@ -34242,6 +34669,20 @@ module Google
34242
34669
  # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice>]
34243
34670
  attr_accessor :disks
34244
34671
 
34672
+ # External network IPs assigned to the instances that will be preserved on
34673
+ # instance delete, update, etc. This map is keyed with the network interface
34674
+ # name.
34675
+ # Corresponds to the JSON property `externalIPs`
34676
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34677
+ attr_accessor :external_i_ps
34678
+
34679
+ # Internal network IPs assigned to the instances that will be preserved on
34680
+ # instance delete, update, etc. This map is keyed with the network interface
34681
+ # name.
34682
+ # Corresponds to the JSON property `internalIPs`
34683
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34684
+ attr_accessor :internal_i_ps
34685
+
34245
34686
  def initialize(**args)
34246
34687
  update!(**args)
34247
34688
  end
@@ -34249,6 +34690,8 @@ module Google
34249
34690
  # Update properties of this object
34250
34691
  def update!(**args)
34251
34692
  @disks = args[:disks] if args.key?(:disks)
34693
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
34694
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
34252
34695
  end
34253
34696
  end
34254
34697
 
@@ -34275,6 +34718,28 @@ module Google
34275
34718
  end
34276
34719
  end
34277
34720
 
34721
+ #
34722
+ class StatefulPolicyPreservedStateNetworkIp
34723
+ include Google::Apis::Core::Hashable
34724
+
34725
+ # These stateful IPs will never be released during autohealing, update or VM
34726
+ # instance recreate operations. This flag is used to configure if the IP
34727
+ # reservation should be deleted after it is no longer used by the group, e.g.
34728
+ # when the given instance or the whole group is deleted.
34729
+ # Corresponds to the JSON property `autoDelete`
34730
+ # @return [String]
34731
+ attr_accessor :auto_delete
34732
+
34733
+ def initialize(**args)
34734
+ update!(**args)
34735
+ end
34736
+
34737
+ # Update properties of this object
34738
+ def update!(**args)
34739
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
34740
+ end
34741
+ end
34742
+
34278
34743
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
34279
34744
  # logical partition of a Virtual Private Cloud network with one primary IP range
34280
34745
  # and zero or more secondary IP ranges. For more information, read Virtual
@@ -34313,8 +34778,9 @@ module Google
34313
34778
 
34314
34779
  # Whether to enable flow logging for this subnetwork. If this field is not
34315
34780
  # explicitly set, it will not appear in get listings. If not set the default
34316
- # behavior is to disable flow logging. This field isn't supported with the
34317
- # purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
34781
+ # behavior is determined by the org policy, if there is no org policy specified,
34782
+ # then it will default to disabled. This field isn't supported with the purpose
34783
+ # field set to INTERNAL_HTTPS_LOAD_BALANCER.
34318
34784
  # Corresponds to the JSON property `enableFlowLogs`
34319
34785
  # @return [Boolean]
34320
34786
  attr_accessor :enable_flow_logs
@@ -34368,7 +34834,7 @@ module Google
34368
34834
  attr_accessor :ipv6_access_type
34369
34835
 
34370
34836
  # [Output Only] The range of internal IPv6 addresses that are owned by this
34371
- # subnetwork.
34837
+ # subnetwork. Note this will be for private google access only eventually.
34372
34838
  # Corresponds to the JSON property `ipv6CidrRange`
34373
34839
  # @return [String]
34374
34840
  attr_accessor :ipv6_cidr_range
@@ -34762,7 +35228,8 @@ module Google
34762
35228
 
34763
35229
  # Whether to enable flow logging for this subnetwork. If this field is not
34764
35230
  # explicitly set, it will not appear in get listings. If not set the default
34765
- # behavior is to disable flow logging.
35231
+ # behavior is determined by the org policy, if there is no org policy specified,
35232
+ # then it will default to disabled.
34766
35233
  # Corresponds to the JSON property `enable`
34767
35234
  # @return [Boolean]
34768
35235
  attr_accessor :enable
@@ -34777,8 +35244,8 @@ module Google
34777
35244
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
34778
35245
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
34779
35246
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
34780
- # means no logs are reported. Default is 0.5, which means half of all collected
34781
- # logs are reported.
35247
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
35248
+ # org policy, which means half of all collected logs are reported.
34782
35249
  # Corresponds to the JSON property `flowSampling`
34783
35250
  # @return [Float]
34784
35251
  attr_accessor :flow_sampling
@@ -34984,6 +35451,20 @@ module Google
34984
35451
  # @return [String]
34985
35452
  attr_accessor :policy
34986
35453
 
35454
+ # The number of backends per backend group assigned to each proxy instance or
35455
+ # each service mesh client. An input parameter to the `
35456
+ # CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `
35457
+ # CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `
35458
+ # INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for
35459
+ # Internal HTTP(S) load balancing and required for Traffic Director. If you do
35460
+ # not provide this value, Cloud Load Balancing will calculate it dynamically to
35461
+ # optimize the number of proxies/clients visible to each backend and vice versa.
35462
+ # Must be greater than 0. If `subset_size` is larger than the number of backends/
35463
+ # endpoints, then subsetting is disabled.
35464
+ # Corresponds to the JSON property `subsetSize`
35465
+ # @return [Fixnum]
35466
+ attr_accessor :subset_size
35467
+
34987
35468
  def initialize(**args)
34988
35469
  update!(**args)
34989
35470
  end
@@ -34991,6 +35472,7 @@ module Google
34991
35472
  # Update properties of this object
34992
35473
  def update!(**args)
34993
35474
  @policy = args[:policy] if args.key?(:policy)
35475
+ @subset_size = args[:subset_size] if args.key?(:subset_size)
34994
35476
  end
34995
35477
  end
34996
35478
 
@@ -38349,7 +38831,7 @@ module Google
38349
38831
  class TestFailure
38350
38832
  include Google::Apis::Core::Hashable
38351
38833
 
38352
- # The actual output URL evaluated by load balancer containing the scheme, host,
38834
+ # The actual output URL evaluated by a load balancer containing the scheme, host,
38353
38835
  # path and query parameters.
38354
38836
  # Corresponds to the JSON property `actualOutputUrl`
38355
38837
  # @return [String]
@@ -38366,8 +38848,8 @@ module Google
38366
38848
  # @return [String]
38367
38849
  attr_accessor :actual_service
38368
38850
 
38369
- # The expected output URL evaluated by load balancer containing the scheme, host,
38370
- # path and query parameters.
38851
+ # The expected output URL evaluated by a load balancer containing the scheme,
38852
+ # host, path and query parameters.
38371
38853
  # Corresponds to the JSON property `expectedOutputUrl`
38372
38854
  # @return [String]
38373
38855
  attr_accessor :expected_output_url
@@ -38481,21 +38963,21 @@ module Google
38481
38963
  end
38482
38964
  end
38483
38965
 
38484
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
38485
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
38486
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38487
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
38966
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
38967
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
38968
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38969
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
38488
38970
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
38489
38971
  # used by internal HTTP(S) load balancers. For a list of supported URL map
38490
- # features by load balancer type, see the Load balancing features: Routing and
38491
- # traffic management table. For a list of supported URL map features for Traffic
38492
- # Director, see the Traffic Director features: Routing and traffic management
38493
- # table. This resource defines mappings from host names and URL paths to either
38494
- # a backend service or a backend bucket. To use the global urlMaps resource, the
38495
- # backend service must have a loadBalancingScheme of either EXTERNAL or
38496
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
38497
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
38498
- # read URL Map Concepts.
38972
+ # features by the load balancer type, see the Load balancing features: Routing
38973
+ # and traffic management table. For a list of supported URL map features for
38974
+ # Traffic Director, see the Traffic Director features: Routing and traffic
38975
+ # management table. This resource defines mappings from hostnames and URL paths
38976
+ # to either a backend service or a backend bucket. To use the global urlMaps
38977
+ # resource, the backend service must have a loadBalancingScheme of either
38978
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
38979
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
38980
+ # information, read URL Map Concepts.
38499
38981
  class UrlMap
38500
38982
  include Google::Apis::Core::Hashable
38501
38983
 
@@ -38505,28 +38987,28 @@ module Google
38505
38987
  attr_accessor :creation_timestamp
38506
38988
 
38507
38989
  # defaultRouteAction takes effect when none of the hostRules match. The load
38508
- # balancer performs advanced routing actions like URL rewrites, header
38509
- # transformations, etc. prior to forwarding the request to the selected backend.
38510
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
38511
- # must not be set. Conversely if defaultService is set, defaultRouteAction
38512
- # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
38990
+ # balancer performs advanced routing actions, such as URL rewrites and header
38991
+ # transformations, before forwarding the request to the selected backend. If
38992
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
38993
+ # not be set. Conversely if defaultService is set, defaultRouteAction cannot
38994
+ # contain any weightedBackendServices. Only one of defaultRouteAction or
38513
38995
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
38514
38996
  # support only the urlRewrite action within defaultRouteAction.
38515
- # defaultRouteAction has no effect when the URL map is bound to target gRPC
38516
- # proxy that has validateForProxyless field set to true.
38997
+ # defaultRouteAction has no effect when the URL map is bound to a target gRPC
38998
+ # proxy that has the validateForProxyless field set to true.
38517
38999
  # Corresponds to the JSON property `defaultRouteAction`
38518
39000
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
38519
39001
  attr_accessor :default_route_action
38520
39002
 
38521
39003
  # The full or partial URL of the defaultService resource to which traffic is
38522
- # directed if none of the hostRules match. If defaultRouteAction is additionally
38523
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
38524
- # to sending the request to the backend. However, if defaultService is specified,
39004
+ # directed if none of the hostRules match. If defaultRouteAction is also
39005
+ # specified, advanced routing actions, such as URL rewrites, take effect before
39006
+ # sending the request to the backend. However, if defaultService is specified,
38525
39007
  # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
38526
39008
  # routeAction specifies any weightedBackendServices, service must not be
38527
- # specified. Only one of defaultService, defaultUrlRedirect or
39009
+ # specified. Only one of defaultService, defaultUrlRedirect , or
38528
39010
  # defaultRouteAction.weightedBackendService must be set. defaultService has no
38529
- # effect when the URL map is bound to target gRPC proxy that has
39011
+ # effect when the URL map is bound to a target gRPC proxy that has the
38530
39012
  # validateForProxyless field set to true.
38531
39013
  # Corresponds to the JSON property `defaultService`
38532
39014
  # @return [String]
@@ -38544,11 +39026,10 @@ module Google
38544
39026
  attr_accessor :description
38545
39027
 
38546
39028
  # Fingerprint of this resource. A hash of the contents stored in this object.
38547
- # This field is used in optimistic locking. This field will be ignored when
38548
- # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
38549
- # update the UrlMap, otherwise the request will fail with error 412
38550
- # conditionNotMet. To see the latest fingerprint, make a get() request to
38551
- # retrieve a UrlMap.
39029
+ # This field is used in optimistic locking. This field is ignored when inserting
39030
+ # a UrlMap. An up-to-date fingerprint must be provided in order to update the
39031
+ # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
39032
+ # the latest fingerprint, make a get() request to retrieve a UrlMap.
38552
39033
  # Corresponds to the JSON property `fingerprint`
38553
39034
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
38554
39035
  # @return [String]
@@ -38560,7 +39041,7 @@ module Google
38560
39041
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
38561
39042
  attr_accessor :header_action
38562
39043
 
38563
- # The list of HostRules to use against the URL.
39044
+ # The list of host rules to use against the URL.
38564
39045
  # Corresponds to the JSON property `hostRules`
38565
39046
  # @return [Array<Google::Apis::ComputeBeta::HostRule>]
38566
39047
  attr_accessor :host_rules
@@ -38603,10 +39084,10 @@ module Google
38603
39084
  # @return [String]
38604
39085
  attr_accessor :self_link
38605
39086
 
38606
- # The list of expected URL mapping tests. Request to update this UrlMap will
38607
- # succeed only if all of the test cases pass. You can specify a maximum of 100
38608
- # tests per UrlMap. Not supported when the URL map is bound to target gRPC proxy
38609
- # that has validateForProxyless field set to true.
39087
+ # The list of expected URL mapping tests. Request to update the UrlMap succeeds
39088
+ # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
39089
+ # Not supported when the URL map is bound to a target gRPC proxy that has
39090
+ # validateForProxyless field set to true.
38610
39091
  # Corresponds to the JSON property `tests`
38611
39092
  # @return [Array<Google::Apis::ComputeBeta::UrlMapTest>]
38612
39093
  attr_accessor :tests
@@ -38780,18 +39261,18 @@ module Google
38780
39261
  # @return [String]
38781
39262
  attr_accessor :description
38782
39263
 
38783
- # The expected output URL evaluated by load balancer containing the scheme, host,
38784
- # path and query parameters. For rules that forward requests to backends, the
38785
- # test passes only when expectedOutputUrl matches the request forwarded by load
38786
- # balancer to backends. For rules with urlRewrite, the test verifies that the
38787
- # forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite
38788
- # action. When service is specified, expectedOutputUrl`s scheme is ignored. For
38789
- # rules with urlRedirect, the test passes only if expectedOutputUrl matches the
38790
- # URL in the load balancer's redirect response. If urlRedirect specifies
38791
- # https_redirect, the test passes only if the scheme in expectedOutputUrl is
38792
- # also set to https. If urlRedirect specifies strip_query, the test passes only
38793
- # if expectedOutputUrl does not contain any query parameters. expectedOutputUrl
38794
- # is optional when service is specified.
39264
+ # The expected output URL evaluated by the load balancer containing the scheme,
39265
+ # host, path and query parameters. For rules that forward requests to backends,
39266
+ # the test passes only when expectedOutputUrl matches the request forwarded by
39267
+ # the load balancer to backends. For rules with urlRewrite, the test verifies
39268
+ # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
39269
+ # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
39270
+ # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
39271
+ # matches the URL in the load balancer's redirect response. If urlRedirect
39272
+ # specifies https_redirect, the test passes only if the scheme in
39273
+ # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
39274
+ # the test passes only if expectedOutputUrl does not contain any query
39275
+ # parameters. expectedOutputUrl is optional when service is specified.
38795
39276
  # Corresponds to the JSON property `expectedOutputUrl`
38796
39277
  # @return [String]
38797
39278
  attr_accessor :expected_output_url
@@ -38822,7 +39303,8 @@ module Google
38822
39303
  attr_accessor :path
38823
39304
 
38824
39305
  # Expected BackendService or BackendBucket resource the given URL should be
38825
- # mapped to. service cannot be set if expectedRedirectResponseCode is set.
39306
+ # mapped to. The service field cannot be set if expectedRedirectResponseCode is
39307
+ # set.
38826
39308
  # Corresponds to the JSON property `service`
38827
39309
  # @return [String]
38828
39310
  attr_accessor :service
@@ -39127,21 +39609,36 @@ module Google
39127
39609
  class ValidateUrlMapsRequest
39128
39610
  include Google::Apis::Core::Hashable
39129
39611
 
39130
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
39131
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
39132
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
39133
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
39612
+ # Specifies the load balancer type(s) this validation request is for. Use
39613
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
39614
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
39615
+ # Balancer. Other load balancer types are not supported. For more information,
39616
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
39617
+ # will be inferred from the backend service resources this URL map references.
39618
+ # If that can not be inferred (for example, this URL map only references backend
39619
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
39620
+ # reference any backends), EXTERNAL will be used as the default type. If
39621
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
39622
+ # the backend service resources this Url map references.
39623
+ # Corresponds to the JSON property `loadBalancingSchemes`
39624
+ # @return [Array<String>]
39625
+ attr_accessor :load_balancing_schemes
39626
+
39627
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
39628
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
39629
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
39630
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
39134
39631
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
39135
39632
  # used by internal HTTP(S) load balancers. For a list of supported URL map
39136
- # features by load balancer type, see the Load balancing features: Routing and
39137
- # traffic management table. For a list of supported URL map features for Traffic
39138
- # Director, see the Traffic Director features: Routing and traffic management
39139
- # table. This resource defines mappings from host names and URL paths to either
39140
- # a backend service or a backend bucket. To use the global urlMaps resource, the
39141
- # backend service must have a loadBalancingScheme of either EXTERNAL or
39142
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
39143
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
39144
- # read URL Map Concepts.
39633
+ # features by the load balancer type, see the Load balancing features: Routing
39634
+ # and traffic management table. For a list of supported URL map features for
39635
+ # Traffic Director, see the Traffic Director features: Routing and traffic
39636
+ # management table. This resource defines mappings from hostnames and URL paths
39637
+ # to either a backend service or a backend bucket. To use the global urlMaps
39638
+ # resource, the backend service must have a loadBalancingScheme of either
39639
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
39640
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
39641
+ # information, read URL Map Concepts.
39145
39642
  # Corresponds to the JSON property `resource`
39146
39643
  # @return [Google::Apis::ComputeBeta::UrlMap]
39147
39644
  attr_accessor :resource
@@ -39152,6 +39649,7 @@ module Google
39152
39649
 
39153
39650
  # Update properties of this object
39154
39651
  def update!(**args)
39652
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
39155
39653
  @resource = args[:resource] if args.key?(:resource)
39156
39654
  end
39157
39655
  end
@@ -39180,16 +39678,16 @@ module Google
39180
39678
  class UrlRewrite
39181
39679
  include Google::Apis::Core::Hashable
39182
39680
 
39183
- # Prior to forwarding the request to the selected service, the request's host
39184
- # header is replaced with contents of hostRewrite. The value must be between 1
39185
- # and 255 characters.
39681
+ # Before forwarding the request to the selected service, the request's host
39682
+ # header is replaced with contents of hostRewrite. The value must be from 1 to
39683
+ # 255 characters.
39186
39684
  # Corresponds to the JSON property `hostRewrite`
39187
39685
  # @return [String]
39188
39686
  attr_accessor :host_rewrite
39189
39687
 
39190
- # Prior to forwarding the request to the selected backend service, the matching
39688
+ # Before forwarding the request to the selected backend service, the matching
39191
39689
  # portion of the request's path is replaced by pathPrefixRewrite. The value must
39192
- # be between 1 and 1024 characters.
39690
+ # be from 1 to 1024 characters.
39193
39691
  # Corresponds to the JSON property `pathPrefixRewrite`
39194
39692
  # @return [String]
39195
39693
  attr_accessor :path_prefix_rewrite
@@ -39699,6 +40197,12 @@ module Google
39699
40197
  # @return [String]
39700
40198
  attr_accessor :self_link
39701
40199
 
40200
+ # The stack type for this VPN gateway to identify the IP protocols that are
40201
+ # enabled. If not specified, IPV4_ONLY will be used.
40202
+ # Corresponds to the JSON property `stackType`
40203
+ # @return [String]
40204
+ attr_accessor :stack_type
40205
+
39702
40206
  # The list of VPN interfaces associated with this VPN gateway.
39703
40207
  # Corresponds to the JSON property `vpnInterfaces`
39704
40208
  # @return [Array<Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface>]
@@ -39720,6 +40224,7 @@ module Google
39720
40224
  @network = args[:network] if args.key?(:network)
39721
40225
  @region = args[:region] if args.key?(:region)
39722
40226
  @self_link = args[:self_link] if args.key?(:self_link)
40227
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
39723
40228
  @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
39724
40229
  end
39725
40230
  end
@@ -40843,14 +41348,13 @@ module Google
40843
41348
 
40844
41349
  # In contrast to a single BackendService in HttpRouteAction to which all
40845
41350
  # matching traffic is directed to, WeightedBackendService allows traffic to be
40846
- # split across multiple BackendServices. The volume of traffic for each
40847
- # BackendService is proportional to the weight specified in each
40848
- # WeightedBackendService
41351
+ # split across multiple backend services. The volume of traffic for each backend
41352
+ # service is proportional to the weight specified in each WeightedBackendService
40849
41353
  class WeightedBackendService
40850
41354
  include Google::Apis::Core::Hashable
40851
41355
 
40852
41356
  # The full or partial URL to the default BackendService resource. Before
40853
- # forwarding the request to backendService, the loadbalancer applies any
41357
+ # forwarding the request to backendService, the load balancer applies any
40854
41358
  # relevant headerActions specified as part of this backendServiceWeight.
40855
41359
  # Corresponds to the JSON property `backendService`
40856
41360
  # @return [String]
@@ -40862,12 +41366,12 @@ module Google
40862
41366
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
40863
41367
  attr_accessor :header_action
40864
41368
 
40865
- # Specifies the fraction of traffic sent to backendService, computed as weight /
40866
- # (sum of all weightedBackendService weights in routeAction) . The selection of
40867
- # a backend service is determined only for new traffic. Once a user's request
40868
- # has been directed to a backendService, subsequent requests will be sent to the
40869
- # same backendService as determined by the BackendService's session affinity
40870
- # policy. The value must be between 0 and 1000
41369
+ # Specifies the fraction of traffic sent to a backend service, computed as
41370
+ # weight / (sum of all weightedBackendService weights in routeAction) . The
41371
+ # selection of a backend service is determined only for new traffic. Once a user'
41372
+ # s request has been directed to a backend service, subsequent requests are sent
41373
+ # to the same backend service as determined by the backend service's session
41374
+ # affinity policy. The value must be from 0 to 1000.
40871
41375
  # Corresponds to the JSON property `weight`
40872
41376
  # @return [Fixnum]
40873
41377
  attr_accessor :weight
@@ -41277,31 +41781,31 @@ module Google
41277
41781
 
41278
41782
  # An Identity and Access Management (IAM) policy, which specifies access
41279
41783
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
41280
- # A `binding` binds one or more `members` to a single `role`. Members can be
41281
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
41282
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
41283
- # role or a user-created custom role. For some types of Google Cloud resources,
41284
- # a `binding` can also specify a `condition`, which is a logical expression that
41285
- # allows access to a resource only if the expression evaluates to `true`. A
41286
- # condition can add constraints based on attributes of the request, the resource,
41287
- # or both. To learn which resources support conditions in their IAM policies,
41288
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
41289
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
41290
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
41291
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
41292
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
41293
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
41294
- # title": "expirable access", "description": "Does not grant access after Sep
41295
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
41296
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
41297
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
41298
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
41299
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
41300
- # roles/resourcemanager.organizationViewer condition: title: expirable access
41301
- # description: Does not grant access after Sep 2020 expression: request.time <
41302
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
41303
- # description of IAM and its features, see the [IAM documentation](https://cloud.
41304
- # google.com/iam/docs/).
41784
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
41785
+ # Principals can be user accounts, service accounts, Google groups, and domains (
41786
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
41787
+ # an IAM predefined role or a user-created custom role. For some types of Google
41788
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
41789
+ # logical expression that allows access to a resource only if the expression
41790
+ # evaluates to `true`. A condition can add constraints based on attributes of
41791
+ # the request, the resource, or both. To learn which resources support
41792
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
41793
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
41794
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
41795
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
41796
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
41797
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
41798
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
41799
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
41800
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
41801
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
41802
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
41803
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
41804
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
41805
+ # access description: Does not grant access after Sep 2020 expression: request.
41806
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
41807
+ # a description of IAM and its features, see the [IAM documentation](https://
41808
+ # cloud.google.com/iam/docs/).
41305
41809
  # Corresponds to the JSON property `policy`
41306
41810
  # @return [Google::Apis::ComputeBeta::Policy]
41307
41811
  attr_accessor :policy