google-apis-compute_beta 0.19.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
@@ -652,14 +652,14 @@ module Google
652
652
  # regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
653
653
  # global internal IP addresses used for private services access allocated ranges.
654
654
  # - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
655
- # allocating addresses using . - IPSEC_INTERCONNECT for addresses created from a
656
- # private IP range that are reserved for a VLAN attachment in an *IPsec-
657
- # encrypted Cloud Interconnect* configuration. These addresses are regional
658
- # resources. Not currently available publicly. - `SHARED_LOADBALANCER_VIP` for
659
- # an internal IP address that is assigned to multiple internal forwarding rules.
660
- # - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to
661
- # configure Private Service Connect. Only global internal addresses can use this
662
- # 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.
663
663
  # Corresponds to the JSON property `purpose`
664
664
  # @return [String]
665
665
  attr_accessor :purpose
@@ -1072,6 +1072,12 @@ module Google
1072
1072
  attr_accessor :enable_nested_virtualization
1073
1073
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1074
1074
 
1075
+ # Whether to enable UEFI networking for instance creation.
1076
+ # Corresponds to the JSON property `enableUefiNetworking`
1077
+ # @return [Boolean]
1078
+ attr_accessor :enable_uefi_networking
1079
+ alias_method :enable_uefi_networking?, :enable_uefi_networking
1080
+
1075
1081
  # The number of threads per physical core. To disable simultaneous
1076
1082
  # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1077
1083
  # supported per core by the underlying processor is assumed.
@@ -1086,6 +1092,7 @@ module Google
1086
1092
  # Update properties of this object
1087
1093
  def update!(**args)
1088
1094
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1095
+ @enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
1089
1096
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1090
1097
  end
1091
1098
  end
@@ -1213,6 +1220,11 @@ module Google
1213
1220
  class AllocationSpecificSkuReservation
1214
1221
  include Google::Apis::Core::Hashable
1215
1222
 
1223
+ # [Output Only] Indicates how many instances are actually usable currently.
1224
+ # Corresponds to the JSON property `assuredCount`
1225
+ # @return [Fixnum]
1226
+ attr_accessor :assured_count
1227
+
1216
1228
  # Specifies the number of resources that are allocated.
1217
1229
  # Corresponds to the JSON property `count`
1218
1230
  # @return [Fixnum]
@@ -1234,6 +1246,7 @@ module Google
1234
1246
 
1235
1247
  # Update properties of this object
1236
1248
  def update!(**args)
1249
+ @assured_count = args[:assured_count] if args.key?(:assured_count)
1237
1250
  @count = args[:count] if args.key?(:count)
1238
1251
  @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
1239
1252
  @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
@@ -1361,7 +1374,8 @@ module Google
1361
1374
  # initializeParams.sourceSnapshot or disks.source is required except for local
1362
1375
  # SSD. If desired, you can also attach existing non-root persistent disks using
1363
1376
  # this property. This field is only applicable for persistent disks. Note that
1364
- # for InstanceTemplate, specify the disk name, not the URL for the disk.
1377
+ # for InstanceTemplate, specify the disk name for zonal disk, and the URL for
1378
+ # regional disk.
1365
1379
  # Corresponds to the JSON property `source`
1366
1380
  # @return [String]
1367
1381
  attr_accessor :source
@@ -1461,6 +1475,11 @@ module Google
1461
1475
  # @return [Hash<String,String>]
1462
1476
  attr_accessor :labels
1463
1477
 
1478
+ # A list of publicly visible licenses. Reserved for Google's use.
1479
+ # Corresponds to the JSON property `licenses`
1480
+ # @return [Array<String>]
1481
+ attr_accessor :licenses
1482
+
1464
1483
  # Indicates whether or not the disk can be read/write attached to more than one
1465
1484
  # instance.
1466
1485
  # Corresponds to the JSON property `multiWriter`
@@ -1541,6 +1560,7 @@ module Google
1541
1560
  @disk_type = args[:disk_type] if args.key?(:disk_type)
1542
1561
  @guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
1543
1562
  @labels = args[:labels] if args.key?(:labels)
1563
+ @licenses = args[:licenses] if args.key?(:licenses)
1544
1564
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
1545
1565
  @on_update_action = args[:on_update_action] if args.key?(:on_update_action)
1546
1566
  @provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
@@ -3188,14 +3208,14 @@ module Google
3188
3208
 
3189
3209
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3190
3210
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3191
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3192
- # overview). On failover or failback, this field indicates whether connection
3193
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3194
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3195
- # active pool during failover and failback, immediately draining traffic. A
3196
- # setting of false allows existing TCP connections to persist, even on VMs no
3197
- # longer in the active pool, for up to the duration of the connection draining
3198
- # timeout (10 minutes).
3211
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3212
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3213
+ # this field indicates whether connection draining will be honored. Google Cloud
3214
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3215
+ # terminates existing TCP connections to the active pool during failover and
3216
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3217
+ # connections to persist, even on VMs no longer in the active pool, for up to
3218
+ # the duration of the connection draining timeout (10 minutes).
3199
3219
  # Corresponds to the JSON property `failoverPolicy`
3200
3220
  # @return [Google::Apis::ComputeBeta::BackendServiceFailoverPolicy]
3201
3221
  attr_accessor :failover_policy
@@ -3266,8 +3286,8 @@ module Google
3266
3286
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3267
3287
  # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3268
3288
  # is not set to MAGLEV or RING_HASH, session affinity settings will not take
3269
- # effect. Only the default ROUND_ROBIN policy is supported when the backend
3270
- # service is referenced by a URL map that is bound to target gRPC proxy that has
3289
+ # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3290
+ # is referenced by a URL map that is bound to target gRPC proxy that has
3271
3291
  # validateForProxyless field set to true.
3272
3292
  # Corresponds to the JSON property `localityLbPolicy`
3273
3293
  # @return [String]
@@ -3360,11 +3380,18 @@ module Google
3360
3380
  # @return [String]
3361
3381
  attr_accessor :self_link
3362
3382
 
3363
- # Type of session affinity to use. The default is NONE. For a detailed
3364
- # description of session affinity options, see: [Session affinity](https://cloud.
3365
- # google.com/load-balancing/docs/backend-service#session_affinity). Not
3366
- # supported when the backend service is referenced by a URL map that is bound to
3367
- # target gRPC proxy that has validateForProxyless field set to true.
3383
+ # URLs of networkservices.ServiceBinding resources. Can only be set if load
3384
+ # balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and
3385
+ # health checks must be both empty.
3386
+ # Corresponds to the JSON property `serviceBindings`
3387
+ # @return [Array<String>]
3388
+ attr_accessor :service_bindings
3389
+
3390
+ # Type of session affinity to use. The default is NONE. Only NONE and
3391
+ # HEADER_FIELD are supported when the backend service is referenced by a URL map
3392
+ # that is bound to target gRPC proxy that has validateForProxyless field set to
3393
+ # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3394
+ # balancing/docs/backend-service#session_affinity).
3368
3395
  # Corresponds to the JSON property `sessionAffinity`
3369
3396
  # @return [String]
3370
3397
  attr_accessor :session_affinity
@@ -3423,6 +3450,7 @@ module Google
3423
3450
  @security_policy = args[:security_policy] if args.key?(:security_policy)
3424
3451
  @security_settings = args[:security_settings] if args.key?(:security_settings)
3425
3452
  @self_link = args[:self_link] if args.key?(:self_link)
3453
+ @service_bindings = args[:service_bindings] if args.key?(:service_bindings)
3426
3454
  @session_affinity = args[:session_affinity] if args.key?(:session_affinity)
3427
3455
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3428
3456
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
@@ -3773,7 +3801,11 @@ module Google
3773
3801
  # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
3774
3802
  # existing connections always persist on unhealthy backends regardless of
3775
3803
  # protocol and session affinity. It is generally not recommended to use this
3776
- # mode overriding the default.
3804
+ # mode overriding the default. For more details, see [Connection Persistence for
3805
+ # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
3806
+ # networklb-backend-service#connection-persistence) and [Connection Persistence
3807
+ # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
3808
+ # docs/internal#connection-persistence).
3777
3809
  # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
3778
3810
  # @return [String]
3779
3811
  attr_accessor :connection_persistence_on_unhealthy_backends
@@ -3786,19 +3818,25 @@ module Google
3786
3818
  alias_method :enable_strong_affinity?, :enable_strong_affinity
3787
3819
 
3788
3820
  # Specifies how long to keep a Connection Tracking entry while there is no
3789
- # matching traffic (in seconds). For L4 ILB the minimum(default) is 10 minutes
3790
- # and maximum is 16 hours. For Network Load Balancer the default is 60 seconds.
3791
- # This option is not available publicly. This field will be supported only if
3792
- # the Connection Tracking key is less than 5-tuple.
3821
+ # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3822
+ # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
3823
+ # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
3824
+ # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
3825
+ # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
3826
+ # is not available publicly.
3793
3827
  # Corresponds to the JSON property `idleTimeoutSec`
3794
3828
  # @return [Fixnum]
3795
3829
  attr_accessor :idle_timeout_sec
3796
3830
 
3797
- # Specifies the key used for connection tracking. There are two options:
3831
+ # Specifies the key used for connection tracking. There are two options: -
3798
3832
  # PER_CONNECTION: This is the default mode. The Connection Tracking is performed
3799
- # as per the Connection Key (default Hash Method) for the specific protocol.
3833
+ # as per the Connection Key (default Hash Method) for the specific protocol. -
3800
3834
  # PER_SESSION: The Connection Tracking is performed as per the configured
3801
- # Session Affinity. It matches the configured Session Affinity.
3835
+ # Session Affinity. It matches the configured Session Affinity. For more details,
3836
+ # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
3837
+ # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
3838
+ # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
3839
+ # balancing/docs/internal#tracking-mode).
3802
3840
  # Corresponds to the JSON property `trackingMode`
3803
3841
  # @return [String]
3804
3842
  attr_accessor :tracking_mode
@@ -3818,14 +3856,14 @@ module Google
3818
3856
 
3819
3857
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3820
3858
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3821
- # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
3822
- # overview). On failover or failback, this field indicates whether connection
3823
- # draining will be honored. Google Cloud has a fixed connection draining timeout
3824
- # of 10 minutes. A setting of true terminates existing TCP connections to the
3825
- # active pool during failover and failback, immediately draining traffic. A
3826
- # setting of false allows existing TCP connections to persist, even on VMs no
3827
- # longer in the active pool, for up to the duration of the connection draining
3828
- # timeout (10 minutes).
3859
+ # overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
3860
+ # balancing/docs/network/networklb-failover-overview). On failover or failback,
3861
+ # this field indicates whether connection draining will be honored. Google Cloud
3862
+ # has a fixed connection draining timeout of 10 minutes. A setting of true
3863
+ # terminates existing TCP connections to the active pool during failover and
3864
+ # failback, immediately draining traffic. A setting of false allows existing TCP
3865
+ # connections to persist, even on VMs no longer in the active pool, for up to
3866
+ # the duration of the connection draining timeout (10 minutes).
3829
3867
  class BackendServiceFailoverPolicy
3830
3868
  include Google::Apis::Core::Hashable
3831
3869
 
@@ -3840,8 +3878,9 @@ module Google
3840
3878
  # distributed among all primary VMs when all primary and all backup backend VMs
3841
3879
  # are unhealthy. For load balancers that have configurable failover: [Internal
3842
3880
  # TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
3843
- # failover-overview) and [external TCP/UDP Load Balancing](/network/networklb-
3844
- # failover-overview). The default is false.
3881
+ # failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
3882
+ # com/load-balancing/docs/network/networklb-failover-overview). The default is
3883
+ # false.
3845
3884
  # Corresponds to the JSON property `dropTrafficIfUnhealthy`
3846
3885
  # @return [Boolean]
3847
3886
  attr_accessor :drop_traffic_if_unhealthy
@@ -3853,7 +3892,8 @@ module Google
3853
3892
  # the total number of healthy primary VMs is less than this ratio. For load
3854
3893
  # balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
3855
3894
  # https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
3856
- # external TCP/UDP Load Balancing](/network/networklb-failover-overview).
3895
+ # external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
3896
+ # network/networklb-failover-overview).
3857
3897
  # Corresponds to the JSON property `failoverRatio`
3858
3898
  # @return [Float]
3859
3899
  attr_accessor :failover_ratio
@@ -4454,7 +4494,7 @@ module Google
4454
4494
  end
4455
4495
  end
4456
4496
 
4457
- # Associates `members` with a `role`.
4497
+ # Associates `members`, or principals, with a `role`.
4458
4498
  class Binding
4459
4499
  include Google::Apis::Core::Hashable
4460
4500
 
@@ -4482,7 +4522,7 @@ module Google
4482
4522
  # @return [Google::Apis::ComputeBeta::Expr]
4483
4523
  attr_accessor :condition
4484
4524
 
4485
- # Specifies the identities requesting access for a Cloud Platform resource. `
4525
+ # Specifies the principals requesting access for a Cloud Platform resource. `
4486
4526
  # members` can have the following values: * `allUsers`: A special identifier
4487
4527
  # that represents anyone who is on the internet; with or without a Google
4488
4528
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -4512,8 +4552,8 @@ module Google
4512
4552
  # @return [Array<String>]
4513
4553
  attr_accessor :members
4514
4554
 
4515
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
4516
- # , or `roles/owner`.
4555
+ # Role that is assigned to the list of `members`, or principals. For example, `
4556
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
4517
4557
  # Corresponds to the JSON property `role`
4518
4558
  # @return [String]
4519
4559
  attr_accessor :role
@@ -4791,6 +4831,16 @@ module Google
4791
4831
  class Commitment
4792
4832
  include Google::Apis::Core::Hashable
4793
4833
 
4834
+ # Specifies whether to enable automatic renewal for the commitment. The default
4835
+ # value is false if not specified. The field can be updated until the day of the
4836
+ # commitment expiration at 12:00am PST. If the field is set to true, the
4837
+ # commitment will be automatically renewed for either one or three years
4838
+ # according to the terms of the existing commitment.
4839
+ # Corresponds to the JSON property `autoRenew`
4840
+ # @return [Boolean]
4841
+ attr_accessor :auto_renew
4842
+ alias_method :auto_renew?, :auto_renew
4843
+
4794
4844
  # The category of the commitment. Category MACHINE specifies commitments
4795
4845
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
4796
4846
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -4901,6 +4951,7 @@ module Google
4901
4951
 
4902
4952
  # Update properties of this object
4903
4953
  def update!(**args)
4954
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
4904
4955
  @category = args[:category] if args.key?(:category)
4905
4956
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
4906
4957
  @description = args[:description] if args.key?(:description)
@@ -5409,14 +5460,15 @@ module Google
5409
5460
  end
5410
5461
  end
5411
5462
 
5412
- # The specification for allowing client side cross-origin requests. Please see
5413
- # W3C Recommendation for Cross Origin Resource Sharing
5463
+ # The specification for allowing client-side cross-origin requests. For more
5464
+ # information about the W3C recommendation for cross-origin resource sharing (
5465
+ # CORS), see Fetch API Living Standard.
5414
5466
  class CorsPolicy
5415
5467
  include Google::Apis::Core::Hashable
5416
5468
 
5417
5469
  # In response to a preflight request, setting this to true indicates that the
5418
- # actual request can include user credentials. This translates to the Access-
5419
- # Control-Allow-Credentials header. Default is false.
5470
+ # actual request can include user credentials. This field translates to the
5471
+ # Access-Control-Allow-Credentials header. Default is false.
5420
5472
  # Corresponds to the JSON property `allowCredentials`
5421
5473
  # @return [Boolean]
5422
5474
  attr_accessor :allow_credentials
@@ -5432,23 +5484,23 @@ module Google
5432
5484
  # @return [Array<String>]
5433
5485
  attr_accessor :allow_methods
5434
5486
 
5435
- # Specifies the regualar expression patterns that match allowed origins. For
5436
- # regular expression grammar please see github.com/google/re2/wiki/Syntax An
5437
- # origin is allowed if it matches either an item in allowOrigins or an item in
5487
+ # Specifies a regular expression that matches allowed origins. For more
5488
+ # information about the regular expression syntax, see Syntax. An origin is
5489
+ # allowed if it matches either an item in allowOrigins or an item in
5438
5490
  # allowOriginRegexes.
5439
5491
  # Corresponds to the JSON property `allowOriginRegexes`
5440
5492
  # @return [Array<String>]
5441
5493
  attr_accessor :allow_origin_regexes
5442
5494
 
5443
- # Specifies the list of origins that will be allowed to do CORS requests. An
5444
- # origin is allowed if it matches either an item in allowOrigins or an item in
5495
+ # Specifies the list of origins that is allowed to do CORS requests. An origin
5496
+ # is allowed if it matches either an item in allowOrigins or an item in
5445
5497
  # allowOriginRegexes.
5446
5498
  # Corresponds to the JSON property `allowOrigins`
5447
5499
  # @return [Array<String>]
5448
5500
  attr_accessor :allow_origins
5449
5501
 
5450
- # If true, specifies the CORS policy is disabled. The default value of false,
5451
- # which indicates that the CORS policy is in effect.
5502
+ # If true, the setting specifies the CORS policy is disabled. The default value
5503
+ # of false, which indicates that the CORS policy is in effect.
5452
5504
  # Corresponds to the JSON property `disabled`
5453
5505
  # @return [Boolean]
5454
5506
  attr_accessor :disabled
@@ -5460,7 +5512,7 @@ module Google
5460
5512
  attr_accessor :expose_headers
5461
5513
 
5462
5514
  # Specifies how long results of a preflight request can be cached in seconds.
5463
- # This translates to the Access-Control-Max-Age header.
5515
+ # This field translates to the Access-Control-Max-Age header.
5464
5516
  # Corresponds to the JSON property `maxAge`
5465
5517
  # @return [Fixnum]
5466
5518
  attr_accessor :max_age
@@ -8665,8 +8717,7 @@ module Google
8665
8717
  attr_accessor :self_link
8666
8718
 
8667
8719
  # Service Directory resources to register this forwarding rule with. Currently,
8668
- # only supports a single Service Directory resource. It is only supported for
8669
- # internal load balancing.
8720
+ # only supports a single Service Directory resource.
8670
8721
  # Corresponds to the JSON property `serviceDirectoryRegistrations`
8671
8722
  # @return [Array<Google::Apis::ComputeBeta::ForwardingRuleServiceDirectoryRegistration>]
8672
8723
  attr_accessor :service_directory_registrations
@@ -9248,31 +9299,31 @@ module Google
9248
9299
 
9249
9300
  # An Identity and Access Management (IAM) policy, which specifies access
9250
9301
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
9251
- # A `binding` binds one or more `members` to a single `role`. Members can be
9252
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
9253
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
9254
- # role or a user-created custom role. For some types of Google Cloud resources,
9255
- # a `binding` can also specify a `condition`, which is a logical expression that
9256
- # allows access to a resource only if the expression evaluates to `true`. A
9257
- # condition can add constraints based on attributes of the request, the resource,
9258
- # or both. To learn which resources support conditions in their IAM policies,
9259
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
9260
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
9261
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
9262
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
9263
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
9264
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
9265
- # title": "expirable access", "description": "Does not grant access after Sep
9266
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
9267
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
9268
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
9269
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
9270
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9271
- # roles/resourcemanager.organizationViewer condition: title: expirable access
9272
- # description: Does not grant access after Sep 2020 expression: request.time <
9273
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9274
- # description of IAM and its features, see the [IAM documentation](https://cloud.
9275
- # google.com/iam/docs/).
9302
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9303
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9304
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9305
+ # an IAM predefined role or a user-created custom role. For some types of Google
9306
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9307
+ # logical expression that allows access to a resource only if the expression
9308
+ # evaluates to `true`. A condition can add constraints based on attributes of
9309
+ # the request, the resource, or both. To learn which resources support
9310
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9311
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9312
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9313
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9314
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9315
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9316
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9317
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9318
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9319
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9320
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9321
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9322
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9323
+ # access description: Does not grant access after Sep 2020 expression: request.
9324
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9325
+ # a description of IAM and its features, see the [IAM documentation](https://
9326
+ # cloud.google.com/iam/docs/).
9276
9327
  # Corresponds to the JSON property `policy`
9277
9328
  # @return [Google::Apis::ComputeBeta::Policy]
9278
9329
  attr_accessor :policy
@@ -9345,31 +9396,31 @@ module Google
9345
9396
 
9346
9397
  # An Identity and Access Management (IAM) policy, which specifies access
9347
9398
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
9348
- # A `binding` binds one or more `members` to a single `role`. Members can be
9349
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
9350
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
9351
- # role or a user-created custom role. For some types of Google Cloud resources,
9352
- # a `binding` can also specify a `condition`, which is a logical expression that
9353
- # allows access to a resource only if the expression evaluates to `true`. A
9354
- # condition can add constraints based on attributes of the request, the resource,
9355
- # or both. To learn which resources support conditions in their IAM policies,
9356
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
9357
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
9358
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
9359
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
9360
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
9361
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
9362
- # title": "expirable access", "description": "Does not grant access after Sep
9363
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
9364
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
9365
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
9366
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
9367
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9368
- # roles/resourcemanager.organizationViewer condition: title: expirable access
9369
- # description: Does not grant access after Sep 2020 expression: request.time <
9370
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9371
- # description of IAM and its features, see the [IAM documentation](https://cloud.
9372
- # google.com/iam/docs/).
9399
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9400
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9401
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9402
+ # an IAM predefined role or a user-created custom role. For some types of Google
9403
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9404
+ # logical expression that allows access to a resource only if the expression
9405
+ # evaluates to `true`. A condition can add constraints based on attributes of
9406
+ # the request, the resource, or both. To learn which resources support
9407
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9408
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9409
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9410
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9411
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9412
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9413
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9414
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9415
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9416
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9417
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9418
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9419
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9420
+ # access description: Does not grant access after Sep 2020 expression: request.
9421
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9422
+ # a description of IAM and its features, see the [IAM documentation](https://
9423
+ # cloud.google.com/iam/docs/).
9373
9424
  # Corresponds to the JSON property `policy`
9374
9425
  # @return [Google::Apis::ComputeBeta::Policy]
9375
9426
  attr_accessor :policy
@@ -9491,8 +9542,11 @@ module Google
9491
9542
  class GuestOsFeature
9492
9543
  include Google::Apis::Core::Hashable
9493
9544
 
9494
- # The ID of a supported feature. Read Enabling guest operating system features
9495
- # to see a list of available options.
9545
+ # The ID of a supported feature. To add multiple values, use commas to separate
9546
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9547
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9548
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
9549
+ # guest operating system features.
9496
9550
  # Corresponds to the JSON property `type`
9497
9551
  # @return [String]
9498
9552
  attr_accessor :type
@@ -9826,8 +9880,8 @@ module Google
9826
9880
  attr_accessor :timeout_sec
9827
9881
 
9828
9882
  # Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
9829
- # If not specified, the default is TCP. Exactly one of the protocol-specific
9830
- # health check field must be specified, which must match type field.
9883
+ # Exactly one of the protocol-specific health check field must be specified,
9884
+ # which must match type field.
9831
9885
  # Corresponds to the JSON property `type`
9832
9886
  # @return [String]
9833
9887
  attr_accessor :type
@@ -10652,7 +10706,8 @@ module Google
10652
10706
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
10653
10707
  # In that case, * must be the first character and must be followed in the
10654
10708
  # pattern by either - or .. * based matching is not supported when the URL map
10655
- # is bound to target gRPC proxy that has validateForProxyless field set to true.
10709
+ # is bound to a target gRPC proxy that has the validateForProxyless field set to
10710
+ # true.
10656
10711
  # Corresponds to the JSON property `hosts`
10657
10712
  # @return [Array<String>]
10658
10713
  attr_accessor :hosts
@@ -10679,8 +10734,8 @@ module Google
10679
10734
  class HttpFaultAbort
10680
10735
  include Google::Apis::Core::Hashable
10681
10736
 
10682
- # The HTTP status code used to abort the request. The value must be between 200
10683
- # and 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10737
+ # The HTTP status code used to abort the request. The value must be from 200 to
10738
+ # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10684
10739
  # status code according to this mapping table. HTTP status 200 is mapped to gRPC
10685
10740
  # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
10686
10741
  # Director.
@@ -10688,8 +10743,8 @@ module Google
10688
10743
  # @return [Fixnum]
10689
10744
  attr_accessor :http_status
10690
10745
 
10691
- # The percentage of traffic (connections/operations/requests) which will be
10692
- # aborted as part of fault injection. The value must be between 0.0 and 100.0
10746
+ # The percentage of traffic for connections, operations, or requests that is
10747
+ # aborted as part of fault injection. The value must be from 0.0 to 100.0
10693
10748
  # inclusive.
10694
10749
  # Corresponds to the JSON property `percentage`
10695
10750
  # @return [Float]
@@ -10706,8 +10761,8 @@ module Google
10706
10761
  end
10707
10762
  end
10708
10763
 
10709
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10710
- # to the backend service as part of fault injection.
10764
+ # Specifies the delay introduced by the load balancer before forwarding the
10765
+ # request to the backend service as part of fault injection.
10711
10766
  class HttpFaultDelay
10712
10767
  include Google::Apis::Core::Hashable
10713
10768
 
@@ -10719,9 +10774,9 @@ module Google
10719
10774
  # @return [Google::Apis::ComputeBeta::Duration]
10720
10775
  attr_accessor :fixed_delay
10721
10776
 
10722
- # The percentage of traffic (connections/operations/requests) on which delay
10723
- # will be introduced as part of fault injection. The value must be between 0.0
10724
- # and 100.0 inclusive.
10777
+ # The percentage of traffic for connections, operations, or requests for which a
10778
+ # delay is introduced as part of fault injection. The value must be from 0.0 to
10779
+ # 100.0 inclusive.
10725
10780
  # Corresponds to the JSON property `percentage`
10726
10781
  # @return [Float]
10727
10782
  attr_accessor :percentage
@@ -10740,9 +10795,9 @@ module Google
10740
10795
  # The specification for fault injection introduced into traffic to test the
10741
10796
  # resiliency of clients to backend service failure. As part of fault injection,
10742
10797
  # when clients send requests to a backend service, delays can be introduced by
10743
- # Loadbalancer on a percentage of requests before sending those request to the
10744
- # backend service. Similarly requests from clients can be aborted by the
10745
- # Loadbalancer for a percentage of requests.
10798
+ # the load balancer on a percentage of requests before sending those request to
10799
+ # the backend service. Similarly requests from clients can be aborted by the
10800
+ # load balancer for a percentage of requests.
10746
10801
  class HttpFaultInjection
10747
10802
  include Google::Apis::Core::Hashable
10748
10803
 
@@ -10751,8 +10806,8 @@ module Google
10751
10806
  # @return [Google::Apis::ComputeBeta::HttpFaultAbort]
10752
10807
  attr_accessor :abort
10753
10808
 
10754
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10755
- # to the backend service as part of fault injection.
10809
+ # Specifies the delay introduced by the load balancer before forwarding the
10810
+ # request to the backend service as part of fault injection.
10756
10811
  # Corresponds to the JSON property `delay`
10757
10812
  # @return [Google::Apis::ComputeBeta::HttpFaultDelay]
10758
10813
  attr_accessor :delay
@@ -10810,25 +10865,25 @@ module Google
10810
10865
  class HttpHeaderAction
10811
10866
  include Google::Apis::Core::Hashable
10812
10867
 
10813
- # Headers to add to a matching request prior to forwarding the request to the
10868
+ # Headers to add to a matching request before forwarding the request to the
10814
10869
  # backendService.
10815
10870
  # Corresponds to the JSON property `requestHeadersToAdd`
10816
10871
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10817
10872
  attr_accessor :request_headers_to_add
10818
10873
 
10819
10874
  # A list of header names for headers that need to be removed from the request
10820
- # prior to forwarding the request to the backendService.
10875
+ # before forwarding the request to the backendService.
10821
10876
  # Corresponds to the JSON property `requestHeadersToRemove`
10822
10877
  # @return [Array<String>]
10823
10878
  attr_accessor :request_headers_to_remove
10824
10879
 
10825
- # Headers to add the response prior to sending the response back to the client.
10880
+ # Headers to add the response before sending the response back to the client.
10826
10881
  # Corresponds to the JSON property `responseHeadersToAdd`
10827
10882
  # @return [Array<Google::Apis::ComputeBeta::HttpHeaderOption>]
10828
10883
  attr_accessor :response_headers_to_add
10829
10884
 
10830
10885
  # A list of header names for headers that need to be removed from the response
10831
- # prior to sending the response back to the client.
10886
+ # before sending the response back to the client.
10832
10887
  # Corresponds to the JSON property `responseHeadersToRemove`
10833
10888
  # @return [Array<String>]
10834
10889
  attr_accessor :response_headers_to_remove
@@ -10858,21 +10913,21 @@ module Google
10858
10913
 
10859
10914
  # The name of the HTTP header to match. For matching against the HTTP request's
10860
10915
  # authority, use a headerMatch with the header name ":authority". For matching a
10861
- # request's method, use the headerName ":method". When the URL map is bound to
10862
- # target gRPC proxy that has validateForProxyless field set to true, only non-
10863
- # binary user-specified custom metadata and the `content-type` header are
10916
+ # request's method, use the headerName ":method". When the URL map is bound to a
10917
+ # target gRPC proxy that has the validateForProxyless field set to true, only
10918
+ # non-binary user-specified custom metadata and the `content-type` header are
10864
10919
  # supported. The following transport-level headers cannot be used in header
10865
10920
  # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
10866
10921
  # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
10867
10922
  # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
10868
- # bin.
10923
+ # bin`.
10869
10924
  # Corresponds to the JSON property `headerName`
10870
10925
  # @return [String]
10871
10926
  attr_accessor :header_name
10872
10927
 
10873
- # If set to false, the headerMatch is considered a match if the match criteria
10874
- # above are met. If set to true, the headerMatch is considered a match if the
10875
- # match criteria above are NOT met. The default setting is false.
10928
+ # If set to false, the headerMatch is considered a match if the preceding match
10929
+ # criteria are met. If set to true, the headerMatch is considered a match if the
10930
+ # preceding match criteria are NOT met. The default setting is false.
10876
10931
  # Corresponds to the JSON property `invertMatch`
10877
10932
  # @return [Boolean]
10878
10933
  attr_accessor :invert_match
@@ -10900,13 +10955,13 @@ module Google
10900
10955
  attr_accessor :range_match
10901
10956
 
10902
10957
  # The value of the header must match the regular expression specified in
10903
- # regexMatch. For regular expression grammar, please see: github.com/google/re2/
10904
- # wiki/Syntax For matching against a port specified in the HTTP request, use a
10905
- # headerMatch with headerName set to PORT and a regular expression that
10906
- # satisfies the RFC2616 Host header's port specifier. Only one of exactMatch,
10907
- # prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
10908
- # Note that regexMatch only applies to Loadbalancers that have their
10909
- # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
10958
+ # regexMatch. For more information about regular expression syntax, see Syntax.
10959
+ # For matching against a port specified in the HTTP request, use a headerMatch
10960
+ # with headerName set to PORT and a regular expression that satisfies the
10961
+ # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
10962
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
10963
+ # only applies to load balancers that have loadBalancingScheme set to
10964
+ # INTERNAL_SELF_MANAGED.
10910
10965
  # Corresponds to the JSON property `regexMatch`
10911
10966
  # @return [String]
10912
10967
  attr_accessor :regex_match
@@ -11201,8 +11256,8 @@ module Google
11201
11256
  include Google::Apis::Core::Hashable
11202
11257
 
11203
11258
  # The queryParameterMatch matches if the value of the parameter exactly matches
11204
- # the contents of exactMatch. Only one of presentMatch, exactMatch or regexMatch
11205
- # must be set.
11259
+ # the contents of exactMatch. Only one of presentMatch, exactMatch, or
11260
+ # regexMatch must be set.
11206
11261
  # Corresponds to the JSON property `exactMatch`
11207
11262
  # @return [String]
11208
11263
  attr_accessor :exact_match
@@ -11215,17 +11270,17 @@ module Google
11215
11270
 
11216
11271
  # Specifies that the queryParameterMatch matches if the request contains the
11217
11272
  # query parameter, irrespective of whether the parameter has a value or not.
11218
- # Only one of presentMatch, exactMatch or regexMatch must be set.
11273
+ # Only one of presentMatch, exactMatch, or regexMatch must be set.
11219
11274
  # Corresponds to the JSON property `presentMatch`
11220
11275
  # @return [Boolean]
11221
11276
  attr_accessor :present_match
11222
11277
  alias_method :present_match?, :present_match
11223
11278
 
11224
11279
  # The queryParameterMatch matches if the value of the parameter matches the
11225
- # regular expression specified by regexMatch. For the regular expression grammar,
11226
- # please see github.com/google/re2/wiki/Syntax Only one of presentMatch,
11227
- # exactMatch or regexMatch must be set. Note that regexMatch only applies when
11228
- # the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
11280
+ # regular expression specified by regexMatch. For more information about regular
11281
+ # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
11282
+ # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
11283
+ # is set to INTERNAL_SELF_MANAGED.
11229
11284
  # Corresponds to the JSON property `regexMatch`
11230
11285
  # @return [String]
11231
11286
  attr_accessor :regex_match
@@ -11247,15 +11302,15 @@ module Google
11247
11302
  class HttpRedirectAction
11248
11303
  include Google::Apis::Core::Hashable
11249
11304
 
11250
- # The host that will be used in the redirect response instead of the one that
11251
- # was supplied in the request. The value must be between 1 and 255 characters.
11305
+ # The host that is used in the redirect response instead of the one that was
11306
+ # supplied in the request. The value must be from 1 to 255 characters.
11252
11307
  # Corresponds to the JSON property `hostRedirect`
11253
11308
  # @return [String]
11254
11309
  attr_accessor :host_redirect
11255
11310
 
11256
- # If set to true, the URL scheme in the redirected request is set to https. If
11257
- # set to false, the URL scheme of the redirected request will remain the same as
11258
- # that of the request. This must only be set for UrlMaps used in
11311
+ # If set to true, the URL scheme in the redirected request is set to HTTPS. If
11312
+ # set to false, the URL scheme of the redirected request remains the same as
11313
+ # that of the request. This must only be set for URL maps used in
11259
11314
  # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
11260
11315
  # default is set to false.
11261
11316
  # Corresponds to the JSON property `httpsRedirect`
@@ -11263,11 +11318,11 @@ module Google
11263
11318
  attr_accessor :https_redirect
11264
11319
  alias_method :https_redirect?, :https_redirect
11265
11320
 
11266
- # The path that will be used in the redirect response instead of the one that
11267
- # was supplied in the request. pathRedirect cannot be supplied together with
11321
+ # The path that is used in the redirect response instead of the one that was
11322
+ # supplied in the request. pathRedirect cannot be supplied together with
11268
11323
  # prefixRedirect. Supply one alone or neither. If neither is supplied, the path
11269
- # of the original request will be used for the redirect. The value must be
11270
- # between 1 and 1024 characters.
11324
+ # of the original request is used for the redirect. The value must be from 1 to
11325
+ # 1024 characters.
11271
11326
  # Corresponds to the JSON property `pathRedirect`
11272
11327
  # @return [String]
11273
11328
  attr_accessor :path_redirect
@@ -11275,8 +11330,8 @@ module Google
11275
11330
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
11276
11331
  # retaining the remaining portion of the URL before redirecting the request.
11277
11332
  # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
11278
- # or neither. If neither is supplied, the path of the original request will be
11279
- # used for the redirect. The value must be between 1 and 1024 characters.
11333
+ # or neither. If neither is supplied, the path of the original request is used
11334
+ # for the redirect. The value must be from 1 to 1024 characters.
11280
11335
  # Corresponds to the JSON property `prefixRedirect`
11281
11336
  # @return [String]
11282
11337
  attr_accessor :prefix_redirect
@@ -11285,14 +11340,14 @@ module Google
11285
11340
  # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
11286
11341
  # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
11287
11342
  # TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
11288
- # will be retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case,
11289
- # the request method will be retained.
11343
+ # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
11344
+ # request method is retained.
11290
11345
  # Corresponds to the JSON property `redirectResponseCode`
11291
11346
  # @return [String]
11292
11347
  attr_accessor :redirect_response_code
11293
11348
 
11294
11349
  # If set to true, any accompanying query portion of the original URL is removed
11295
- # prior to redirecting the request. If set to false, the query portion of the
11350
+ # before redirecting the request. If set to false, the query portion of the
11296
11351
  # original URL is retained. The default is set to false.
11297
11352
  # Corresponds to the JSON property `stripQuery`
11298
11353
  # @return [Boolean]
@@ -11333,25 +11388,27 @@ module Google
11333
11388
  attr_accessor :per_try_timeout
11334
11389
 
11335
11390
  # Specifies one or more conditions when this retry policy applies. Valid values
11336
- # are: - 5xx: Retry will be attempted if the instance or endpoint responds with
11337
- # any 5xx response code, or if the instance or endpoint does not respond at all,
11338
- # example: disconnects, reset, read timeout, connection failure, and refused
11391
+ # are: - 5xx: retry is attempted if the instance or endpoint responds with any
11392
+ # 5xx response code, or if the instance or endpoint does not respond at all. For
11393
+ # example, disconnects, reset, read timeout, connection failure, and refused
11339
11394
  # streams. - gateway-error: Similar to 5xx, but only applies to response codes
11340
- # 502, 503 or 504. - - connect-failure: A retry will be attempted on failures
11341
- # connecting to the instance or endpoint, for example due to connection timeouts.
11342
- # - retriable-4xx: A retry will be attempted if the instance or endpoint
11343
- # responds with a retriable 4xx response code. Currently the only retriable
11344
- # error supported is 409. - refused-stream: A retry will be attempted if the
11345
- # instance or endpoint resets the stream with a REFUSED_STREAM error code. This
11346
- # reset type indicates that it is safe to retry. - cancelled: A retry will be
11347
- # attempted if the gRPC status code in the response header is set to cancelled. -
11348
- # deadline-exceeded: A retry will be attempted if the gRPC status code in the
11349
- # response header is set to deadline-exceeded. - internal: A retry will be
11350
- # attempted if the gRPC status code in the response header is set to internal. -
11351
- # resource-exhausted: A retry will be attempted if the gRPC status code in the
11352
- # response header is set to resource-exhausted. - unavailable: A retry will be
11353
- # attempted if the gRPC status code in the response header is set to unavailable.
11354
- #
11395
+ # 502, 503 or 504. - connect-failure: a retry is attempted on failures
11396
+ # connecting to the instance or endpoint. For example, connection timeouts. -
11397
+ # retriable-4xx: a retry is attempted if the instance or endpoint responds with
11398
+ # a 4xx response code. The only error that you can retry is error code 409. -
11399
+ # refused-stream: a retry is attempted if the instance or endpoint resets the
11400
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
11401
+ # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
11402
+ # the response header is set to cancelled. - deadline-exceeded: a retry is
11403
+ # attempted if the gRPC status code in the response header is set to deadline-
11404
+ # exceeded. - internal: a retry is attempted if the gRPC status code in the
11405
+ # response header is set to internal. - resource-exhausted: a retry is attempted
11406
+ # if the gRPC status code in the response header is set to resource-exhausted. -
11407
+ # unavailable: a retry is attempted if the gRPC status code in the response
11408
+ # header is set to unavailable. Only the following codes are supported when the
11409
+ # URL map is bound to target gRPC proxy that has validateForProxyless field set
11410
+ # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
11411
+ # unavailable
11355
11412
  # Corresponds to the JSON property `retryConditions`
11356
11413
  # @return [Array<String>]
11357
11414
  attr_accessor :retry_conditions
@@ -11372,8 +11429,9 @@ module Google
11372
11429
  class HttpRouteAction
11373
11430
  include Google::Apis::Core::Hashable
11374
11431
 
11375
- # The specification for allowing client side cross-origin requests. Please see
11376
- # W3C Recommendation for Cross Origin Resource Sharing
11432
+ # The specification for allowing client-side cross-origin requests. For more
11433
+ # information about the W3C recommendation for cross-origin resource sharing (
11434
+ # CORS), see Fetch API Living Standard.
11377
11435
  # Corresponds to the JSON property `corsPolicy`
11378
11436
  # @return [Google::Apis::ComputeBeta::CorsPolicy]
11379
11437
  attr_accessor :cors_policy
@@ -11381,9 +11439,9 @@ module Google
11381
11439
  # The specification for fault injection introduced into traffic to test the
11382
11440
  # resiliency of clients to backend service failure. As part of fault injection,
11383
11441
  # when clients send requests to a backend service, delays can be introduced by
11384
- # Loadbalancer on a percentage of requests before sending those request to the
11385
- # backend service. Similarly requests from clients can be aborted by the
11386
- # Loadbalancer for a percentage of requests.
11442
+ # the load balancer on a percentage of requests before sending those request to
11443
+ # the backend service. Similarly requests from clients can be aborted by the
11444
+ # load balancer for a percentage of requests.
11387
11445
  # Corresponds to the JSON property `faultInjectionPolicy`
11388
11446
  # @return [Google::Apis::ComputeBeta::HttpFaultInjection]
11389
11447
  attr_accessor :fault_injection_policy
@@ -11397,9 +11455,9 @@ module Google
11397
11455
  attr_accessor :max_stream_duration
11398
11456
 
11399
11457
  # A policy that specifies how requests intended for the route's backends are
11400
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11401
- # for responses from the shadow service. Prior to sending traffic to the shadow
11402
- # service, the host / authority header is suffixed with -shadow.
11458
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
11459
+ # wait for responses from the shadow service. Before sending traffic to the
11460
+ # shadow service, the host or authority header is suffixed with -shadow.
11403
11461
  # Corresponds to the JSON property `requestMirrorPolicy`
11404
11462
  # @return [Google::Apis::ComputeBeta::RequestMirrorPolicy]
11405
11463
  attr_accessor :request_mirror_policy
@@ -11427,7 +11485,7 @@ module Google
11427
11485
  # occurs. The weights determine the fraction of traffic that flows to their
11428
11486
  # corresponding backend service. If all traffic needs to go to a single backend
11429
11487
  # service, there must be one weightedBackendService with weight set to a non-
11430
- # zero number. Once a backendService is identified and before forwarding the
11488
+ # zero number. After a backend service is identified and before forwarding the
11431
11489
  # request to the backend service, advanced routing actions such as URL rewrites
11432
11490
  # and header transformations are applied depending on additional settings
11433
11491
  # specified in this HttpRouteAction.
@@ -11452,8 +11510,8 @@ module Google
11452
11510
  end
11453
11511
  end
11454
11512
 
11455
- # An HttpRouteRule specifies how to match an HTTP request and the corresponding
11456
- # routing action that load balancing proxies will perform.
11513
+ # The HttpRouteRule setting specifies how to match an HTTP request and the
11514
+ # corresponding routing action that load balancing proxies perform.
11457
11515
  class HttpRouteRule
11458
11516
  include Google::Apis::Core::Hashable
11459
11517
 
@@ -11470,9 +11528,9 @@ module Google
11470
11528
  attr_accessor :header_action
11471
11529
 
11472
11530
  # Outbound route specific configuration for networkservices.HttpFilter resources
11473
- # enabled by Traffic Director. httpFilterConfigs only applies for Loadbalancers
11531
+ # enabled by Traffic Director. httpFilterConfigs only applies for load balancers
11474
11532
  # with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for
11475
- # more details. Not supported when the URL map is bound to target gRPC proxy
11533
+ # more details. Not supported when the URL map is bound to a target gRPC proxy
11476
11534
  # that has validateForProxyless field set to true.
11477
11535
  # Corresponds to the JSON property `httpFilterConfigs`
11478
11536
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
@@ -11480,10 +11538,10 @@ module Google
11480
11538
 
11481
11539
  # Outbound route specific metadata supplied to networkservices.HttpFilter
11482
11540
  # resources enabled by Traffic Director. httpFilterMetadata only applies for
11483
- # Loadbalancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11541
+ # load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
11484
11542
  # ForwardingRule for more details. The only configTypeUrl supported is type.
11485
11543
  # googleapis.com/google.protobuf.Struct Not supported when the URL map is bound
11486
- # to target gRPC proxy that has validateForProxyless field set to true.
11544
+ # to a target gRPC proxy that has validateForProxyless field set to true.
11487
11545
  # Corresponds to the JSON property `httpFilterMetadata`
11488
11546
  # @return [Array<Google::Apis::ComputeBeta::HttpFilterConfig>]
11489
11547
  attr_accessor :http_filter_metadata
@@ -11498,11 +11556,11 @@ module Google
11498
11556
  attr_accessor :match_rules
11499
11557
 
11500
11558
  # For routeRules within a given pathMatcher, priority determines the order in
11501
- # which load balancer will interpret routeRules. RouteRules are evaluated in
11502
- # order of priority, from the lowest to highest number. The priority of a rule
11559
+ # which a load balancer interprets routeRules. RouteRules are evaluated in order
11560
+ # of priority, from the lowest to highest number. The priority of a rule
11503
11561
  # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
11504
11562
  # the request is applied. You cannot configure two or more routeRules with the
11505
- # same priority. Priority for each rule must be set to a number between 0 and
11563
+ # same priority. Priority for each rule must be set to a number from 0 to
11506
11564
  # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
11507
11565
  # or remove rules in the future without affecting the rest of the rules. For
11508
11566
  # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
@@ -11513,24 +11571,24 @@ module Google
11513
11571
  attr_accessor :priority
11514
11572
 
11515
11573
  # In response to a matching matchRule, the load balancer performs advanced
11516
- # routing actions like URL rewrites, header transformations, etc. prior to
11574
+ # routing actions, such as URL rewrites and header transformations, before
11517
11575
  # forwarding the request to the selected backend. If routeAction specifies any
11518
11576
  # weightedBackendServices, service must not be set. Conversely if service is set,
11519
11577
  # routeAction cannot contain any weightedBackendServices. Only one of
11520
11578
  # urlRedirect, service or routeAction.weightedBackendService must be set.
11521
11579
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
11522
- # within a routeRule's routeAction.
11580
+ # within a route rule's routeAction.
11523
11581
  # Corresponds to the JSON property `routeAction`
11524
11582
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
11525
11583
  attr_accessor :route_action
11526
11584
 
11527
11585
  # The full or partial URL of the backend service resource to which traffic is
11528
- # directed if this rule is matched. If routeAction is additionally specified,
11529
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
11530
- # the request to the backend. However, if service is specified, routeAction
11531
- # cannot contain any weightedBackendService s. Conversely, if routeAction
11532
- # specifies any weightedBackendServices, service must not be specified. Only one
11533
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
11586
+ # directed if this rule is matched. If routeAction is also specified, advanced
11587
+ # routing actions, such as URL rewrites, take effect before sending the request
11588
+ # to the backend. However, if service is specified, routeAction cannot contain
11589
+ # any weightedBackendServices. Conversely, if routeAction specifies any
11590
+ # weightedBackendServices, service must not be specified. Only one of
11591
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
11534
11592
  # Corresponds to the JSON property `service`
11535
11593
  # @return [String]
11536
11594
  attr_accessor :service
@@ -11565,9 +11623,9 @@ module Google
11565
11623
 
11566
11624
  # For satisfying the matchRule condition, the path of the request must exactly
11567
11625
  # match the value specified in fullPathMatch after removing any query parameters
11568
- # and anchor that may be part of the original URL. fullPathMatch must be between
11569
- # 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11570
- # must be specified.
11626
+ # and anchor that may be part of the original URL. fullPathMatch must be from 1
11627
+ # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
11628
+ # be specified.
11571
11629
  # Corresponds to the JSON property `fullPathMatch`
11572
11630
  # @return [String]
11573
11631
  attr_accessor :full_path_match
@@ -11580,53 +11638,52 @@ module Google
11580
11638
 
11581
11639
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
11582
11640
  # default value is false. ignoreCase must not be used with regexMatch. Not
11583
- # supported when the URL map is bound to target gRPC proxy.
11641
+ # supported when the URL map is bound to a target gRPC proxy.
11584
11642
  # Corresponds to the JSON property `ignoreCase`
11585
11643
  # @return [Boolean]
11586
11644
  attr_accessor :ignore_case
11587
11645
  alias_method :ignore_case?, :ignore_case
11588
11646
 
11589
- # Opaque filter criteria used by Loadbalancer to restrict routing configuration
11590
- # to a limited set of xDS compliant clients. In their xDS requests to
11591
- # Loadbalancer, xDS clients present node metadata. When there is a match, the
11592
- # relevant routing configuration is made available to those proxies. For each
11593
- # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
11594
- # at least one of the filterLabels must match the corresponding label provided
11595
- # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
11596
- # its filterLabels must match with corresponding labels provided in the metadata.
11597
- # If multiple metadataFilters are specified, all of them need to be satisfied
11598
- # in order to be considered a match. metadataFilters specified here will be
11647
+ # Opaque filter criteria used by the load balancer to restrict routing
11648
+ # configuration to a limited set of xDS compliant clients. In their xDS requests
11649
+ # to the load balancer, xDS clients present node metadata. When there is a match,
11650
+ # the relevant routing configuration is made available to those proxies. For
11651
+ # each metadataFilter in this list, if its filterMatchCriteria is set to
11652
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
11653
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
11654
+ # all of its filterLabels must match with corresponding labels provided in the
11655
+ # metadata. If multiple metadata filters are specified, all of them need to be
11656
+ # satisfied in order to be considered a match. metadataFilters specified here is
11599
11657
  # applied after those specified in ForwardingRule that refers to the UrlMap this
11600
- # HttpRouteRuleMatch belongs to. metadataFilters only applies to Loadbalancers
11601
- # that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not
11602
- # supported when the URL map is bound to target gRPC proxy that has
11603
- # validateForProxyless field set to true.
11658
+ # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
11659
+ # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
11660
+ # the URL map is bound to a target gRPC proxy that has validateForProxyless
11661
+ # field set to true.
11604
11662
  # Corresponds to the JSON property `metadataFilters`
11605
11663
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilter>]
11606
11664
  attr_accessor :metadata_filters
11607
11665
 
11608
11666
  # For satisfying the matchRule condition, the request's path must begin with the
11609
- # specified prefixMatch. prefixMatch must begin with a /. The value must be
11610
- # between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
11611
- # regexMatch must be specified.
11667
+ # specified prefixMatch. prefixMatch must begin with a /. The value must be from
11668
+ # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11669
+ # must be specified.
11612
11670
  # Corresponds to the JSON property `prefixMatch`
11613
11671
  # @return [String]
11614
11672
  attr_accessor :prefix_match
11615
11673
 
11616
11674
  # Specifies a list of query parameter match criteria, all of which must match
11617
11675
  # corresponding query parameters in the request. Not supported when the URL map
11618
- # is bound to target gRPC proxy.
11676
+ # is bound to a target gRPC proxy.
11619
11677
  # Corresponds to the JSON property `queryParameterMatches`
11620
11678
  # @return [Array<Google::Apis::ComputeBeta::HttpQueryParameterMatch>]
11621
11679
  attr_accessor :query_parameter_matches
11622
11680
 
11623
11681
  # For satisfying the matchRule condition, the path of the request must satisfy
11624
11682
  # the regular expression specified in regexMatch after removing any query
11625
- # parameters and anchor supplied with the original URL. For regular expression
11626
- # grammar please see github.com/google/re2/wiki/Syntax Only one of prefixMatch,
11627
- # fullPathMatch or regexMatch must be specified. Note that regexMatch only
11628
- # applies to Loadbalancers that have their loadBalancingScheme set to
11629
- # INTERNAL_SELF_MANAGED.
11683
+ # parameters and anchor supplied with the original URL. For more information
11684
+ # about regular expression syntax, see Syntax. Only one of prefixMatch,
11685
+ # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
11686
+ # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
11630
11687
  # Corresponds to the JSON property `regexMatch`
11631
11688
  # @return [String]
11632
11689
  attr_accessor :regex_match
@@ -11914,8 +11971,8 @@ module Google
11914
11971
  attr_accessor :family
11915
11972
 
11916
11973
  # A list of features to enable on the guest operating system. Applicable only
11917
- # for bootable images. Read Enabling guest operating system features to see a
11918
- # list of available options.
11974
+ # for bootable images. To see a list of available options, see the
11975
+ # guestOSfeatures[].type parameter.
11919
11976
  # Corresponds to the JSON property `guestOsFeatures`
11920
11977
  # @return [Array<Google::Apis::ComputeBeta::GuestOsFeature>]
11921
11978
  attr_accessor :guest_os_features
@@ -12565,6 +12622,11 @@ module Google
12565
12622
  # @return [Google::Apis::ComputeBeta::NetworkPerformanceConfig]
12566
12623
  attr_accessor :network_performance_config
12567
12624
 
12625
+ # Additional instance params.
12626
+ # Corresponds to the JSON property `params`
12627
+ # @return [Google::Apis::ComputeBeta::InstanceParams]
12628
+ attr_accessor :params
12629
+
12568
12630
  # PostKeyRevocationActionType of the instance.
12569
12631
  # Corresponds to the JSON property `postKeyRevocationActionType`
12570
12632
  # @return [String]
@@ -12708,6 +12770,7 @@ module Google
12708
12770
  @name = args[:name] if args.key?(:name)
12709
12771
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12710
12772
  @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12773
+ @params = args[:params] if args.key?(:params)
12711
12774
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
12712
12775
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12713
12776
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
@@ -13472,6 +13535,30 @@ module Google
13472
13535
  # @return [Fixnum]
13473
13536
  attr_accessor :restarting
13474
13537
 
13538
+ # [Output Only] The number of instances in the managed instance group that are
13539
+ # scheduled to be resumed or are currently being resumed.
13540
+ # Corresponds to the JSON property `resuming`
13541
+ # @return [Fixnum]
13542
+ attr_accessor :resuming
13543
+
13544
+ # [Output Only] The number of instances in the managed instance group that are
13545
+ # scheduled to be started or are currently being started.
13546
+ # Corresponds to the JSON property `starting`
13547
+ # @return [Fixnum]
13548
+ attr_accessor :starting
13549
+
13550
+ # [Output Only] The number of instances in the managed instance group that are
13551
+ # scheduled to be stopped or are currently being stopped.
13552
+ # Corresponds to the JSON property `stopping`
13553
+ # @return [Fixnum]
13554
+ attr_accessor :stopping
13555
+
13556
+ # [Output Only] The number of instances in the managed instance group that are
13557
+ # scheduled to be suspended or are currently being suspended.
13558
+ # Corresponds to the JSON property `suspending`
13559
+ # @return [Fixnum]
13560
+ attr_accessor :suspending
13561
+
13475
13562
  # [Output Only] The number of instances in the managed instance group that are
13476
13563
  # being verified. See the managedInstances[].currentAction property in the
13477
13564
  # listManagedInstances method documentation.
@@ -13493,6 +13580,10 @@ module Google
13493
13580
  @recreating = args[:recreating] if args.key?(:recreating)
13494
13581
  @refreshing = args[:refreshing] if args.key?(:refreshing)
13495
13582
  @restarting = args[:restarting] if args.key?(:restarting)
13583
+ @resuming = args[:resuming] if args.key?(:resuming)
13584
+ @starting = args[:starting] if args.key?(:starting)
13585
+ @stopping = args[:stopping] if args.key?(:stopping)
13586
+ @suspending = args[:suspending] if args.key?(:suspending)
13496
13587
  @verifying = args[:verifying] if args.key?(:verifying)
13497
13588
  end
13498
13589
  end
@@ -15251,6 +15342,28 @@ module Google
15251
15342
  end
15252
15343
  end
15253
15344
 
15345
+ # Additional instance params.
15346
+ class InstanceParams
15347
+ include Google::Apis::Core::Hashable
15348
+
15349
+ # Resource manager tags to be bound to the instance. Tag keys and values have
15350
+ # the same definition as resource manager tags. Keys must be in the format `
15351
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
15352
+ # is ignored (both PUT & PATCH) when empty.
15353
+ # Corresponds to the JSON property `resourceManagerTags`
15354
+ # @return [Hash<String,String>]
15355
+ attr_accessor :resource_manager_tags
15356
+
15357
+ def initialize(**args)
15358
+ update!(**args)
15359
+ end
15360
+
15361
+ # Update properties of this object
15362
+ def update!(**args)
15363
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
15364
+ end
15365
+ end
15366
+
15254
15367
  #
15255
15368
  class InstanceProperties
15256
15369
  include Google::Apis::Core::Hashable
@@ -15354,7 +15467,15 @@ module Google
15354
15467
  # @return [Google::Apis::ComputeBeta::ReservationAffinity]
15355
15468
  attr_accessor :reservation_affinity
15356
15469
 
15357
- # Resource policies (names, not ULRs) applied to instances created from these
15470
+ # Resource manager tags to be bound to the instance. Tag keys and values have
15471
+ # the same definition as resource manager tags. Keys must be in the format `
15472
+ # tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
15473
+ # is ignored (both PUT & PATCH) when empty.
15474
+ # Corresponds to the JSON property `resourceManagerTags`
15475
+ # @return [Hash<String,String>]
15476
+ attr_accessor :resource_manager_tags
15477
+
15478
+ # Resource policies (names, not URLs) applied to instances created from these
15358
15479
  # properties. Note that for MachineImage, this is not supported yet.
15359
15480
  # Corresponds to the JSON property `resourcePolicies`
15360
15481
  # @return [Array<String>]
@@ -15410,6 +15531,7 @@ module Google
15410
15531
  @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
15411
15532
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
15412
15533
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
15534
+ @resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
15413
15535
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
15414
15536
  @scheduling = args[:scheduling] if args.key?(:scheduling)
15415
15537
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
@@ -16364,6 +16486,17 @@ module Google
16364
16486
  # @return [String]
16365
16487
  attr_accessor :bandwidth
16366
16488
 
16489
+ # Up to 16 candidate prefixes that control the allocation of
16490
+ # cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
16491
+ # prefix must be in the Global Unique Address (GUA) space. It is highly
16492
+ # recommended that it be in a range owned by the requestor. A GUA in a range
16493
+ # owned by Google will cause the request to fail. Google will select an
16494
+ # available prefix from the supplied candidates or fail the request. If not
16495
+ # supplied, a /125 from a Google-owned GUA block will be selected.
16496
+ # Corresponds to the JSON property `candidateIpv6Subnets`
16497
+ # @return [Array<String>]
16498
+ attr_accessor :candidate_ipv6_subnets
16499
+
16367
16500
  # Up to 16 candidate prefixes that can be used to restrict the allocation of
16368
16501
  # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
16369
16502
  # prefixes must be within link-local address space (169.254.0.0/16) and must be /
@@ -16381,6 +16514,20 @@ module Google
16381
16514
  # @return [String]
16382
16515
  attr_accessor :cloud_router_ip_address
16383
16516
 
16517
+ # [Output Only] IPv6 address + prefix length to be configured on Cloud Router
16518
+ # Interface for this interconnect attachment.
16519
+ # Corresponds to the JSON property `cloudRouterIpv6Address`
16520
+ # @return [String]
16521
+ attr_accessor :cloud_router_ipv6_address
16522
+
16523
+ # If supplied, the interface id (index within the subnet) to be used for the
16524
+ # cloud router address. The id must be in the range of 1 to 6. If a subnet mask
16525
+ # is supplied, it must be /125, and the subnet should either be 0 or match the
16526
+ # selected subnet.
16527
+ # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
16528
+ # @return [String]
16529
+ attr_accessor :cloud_router_ipv6_interface_id
16530
+
16384
16531
  # [Output Only] Creation timestamp in RFC3339 text format.
16385
16532
  # Corresponds to the JSON property `creationTimestamp`
16386
16533
  # @return [String]
@@ -16392,7 +16539,24 @@ module Google
16392
16539
  # @return [String]
16393
16540
  attr_accessor :customer_router_ip_address
16394
16541
 
16395
- # [Output Only] Dataplane version for this InterconnectAttachment.
16542
+ # [Output Only] IPv6 address + prefix length to be configured on the customer
16543
+ # router subinterface for this interconnect attachment.
16544
+ # Corresponds to the JSON property `customerRouterIpv6Address`
16545
+ # @return [String]
16546
+ attr_accessor :customer_router_ipv6_address
16547
+
16548
+ # If supplied, the interface id (index within the subnet) to be used for the
16549
+ # customer router address. The id must be in the range of 1 to 6. If a subnet
16550
+ # mask is supplied, it must be /125, and the subnet should either be 0 or match
16551
+ # the selected subnet.
16552
+ # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
16553
+ # @return [String]
16554
+ attr_accessor :customer_router_ipv6_interface_id
16555
+
16556
+ # [Output only for types PARTNER and DEDICATED. Not present for PARTNER_PROVIDER.
16557
+ # ] Dataplane version for this InterconnectAttachment. This field is only
16558
+ # present for Dataplane version 2 and higher. Absence of this field in the API
16559
+ # output indicates that the Dataplane is version 1.
16396
16560
  # Corresponds to the JSON property `dataplaneVersion`
16397
16561
  # @return [Fixnum]
16398
16562
  attr_accessor :dataplane_version
@@ -16570,6 +16734,14 @@ module Google
16570
16734
  # @return [String]
16571
16735
  attr_accessor :self_link
16572
16736
 
16737
+ # The stack type for this interconnect attachment to identify whether the IPv6
16738
+ # feature is enabled or not. If not specified, IPV4_ONLY will be used. This
16739
+ # field can be both set at interconnect attachments creation and update
16740
+ # interconnect attachment operations.
16741
+ # Corresponds to the JSON property `stackType`
16742
+ # @return [String]
16743
+ attr_accessor :stack_type
16744
+
16573
16745
  # [Output Only] The current state of this attachment's functionality. Enum
16574
16746
  # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
16575
16747
  # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
@@ -16612,10 +16784,15 @@ module Google
16612
16784
  def update!(**args)
16613
16785
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
16614
16786
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
16787
+ @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
16615
16788
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
16616
16789
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
16790
+ @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
16791
+ @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
16617
16792
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
16618
16793
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
16794
+ @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
16795
+ @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
16619
16796
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
16620
16797
  @description = args[:description] if args.key?(:description)
16621
16798
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
@@ -16638,6 +16815,7 @@ module Google
16638
16815
  @router = args[:router] if args.key?(:router)
16639
16816
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16640
16817
  @self_link = args[:self_link] if args.key?(:self_link)
16818
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
16641
16819
  @state = args[:state] if args.key?(:state)
16642
16820
  @type = args[:type] if args.key?(:type)
16643
16821
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
@@ -18139,6 +18317,11 @@ module Google
18139
18317
  # @return [Hash<String,Google::Apis::ComputeBeta::LocationPolicyLocation>]
18140
18318
  attr_accessor :locations
18141
18319
 
18320
+ # Strategy for distributing VMs across zones in a region.
18321
+ # Corresponds to the JSON property `targetShape`
18322
+ # @return [String]
18323
+ attr_accessor :target_shape
18324
+
18142
18325
  def initialize(**args)
18143
18326
  update!(**args)
18144
18327
  end
@@ -18146,6 +18329,7 @@ module Google
18146
18329
  # Update properties of this object
18147
18330
  def update!(**args)
18148
18331
  @locations = args[:locations] if args.key?(:locations)
18332
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
18149
18333
  end
18150
18334
  end
18151
18335
 
@@ -18153,7 +18337,7 @@ module Google
18153
18337
  class LocationPolicyLocation
18154
18338
  include Google::Apis::Core::Hashable
18155
18339
 
18156
- # Preference for a given location: ALLOW or DENY.
18340
+ # Preference for a given location.
18157
18341
  # Corresponds to the JSON property `preference`
18158
18342
  # @return [String]
18159
18343
  attr_accessor :preference
@@ -18332,6 +18516,11 @@ module Google
18332
18516
  # @return [Fixnum]
18333
18517
  attr_accessor :id
18334
18518
 
18519
+ # [Output Only] Properties of source instance
18520
+ # Corresponds to the JSON property `instanceProperties`
18521
+ # @return [Google::Apis::ComputeBeta::InstanceProperties]
18522
+ attr_accessor :instance_properties
18523
+
18335
18524
  # [Output Only] The resource type, which is always compute#machineImage for
18336
18525
  # machine image.
18337
18526
  # Corresponds to the JSON property `kind`
@@ -18367,6 +18556,12 @@ module Google
18367
18556
  attr_accessor :satisfies_pzs
18368
18557
  alias_method :satisfies_pzs?, :satisfies_pzs
18369
18558
 
18559
+ # An array of Machine Image specific properties for disks attached to the source
18560
+ # instance
18561
+ # Corresponds to the JSON property `savedDisks`
18562
+ # @return [Array<Google::Apis::ComputeBeta::SavedDisk>]
18563
+ attr_accessor :saved_disks
18564
+
18370
18565
  # [Output Only] The URL for this machine image. The server defines this URL.
18371
18566
  # Corresponds to the JSON property `selfLink`
18372
18567
  # @return [String]
@@ -18387,7 +18582,8 @@ module Google
18387
18582
  # @return [String]
18388
18583
  attr_accessor :source_instance
18389
18584
 
18390
- # [Output Only] Properties of source instance.
18585
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
18586
+ # not be added to this field.
18391
18587
  # Corresponds to the JSON property `sourceInstanceProperties`
18392
18588
  # @return [Google::Apis::ComputeBeta::SourceInstanceProperties]
18393
18589
  attr_accessor :source_instance_properties
@@ -18419,10 +18615,12 @@ module Google
18419
18615
  @description = args[:description] if args.key?(:description)
18420
18616
  @guest_flush = args[:guest_flush] if args.key?(:guest_flush)
18421
18617
  @id = args[:id] if args.key?(:id)
18618
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
18422
18619
  @kind = args[:kind] if args.key?(:kind)
18423
18620
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
18424
18621
  @name = args[:name] if args.key?(:name)
18425
18622
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18623
+ @saved_disks = args[:saved_disks] if args.key?(:saved_disks)
18426
18624
  @self_link = args[:self_link] if args.key?(:self_link)
18427
18625
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
18428
18626
  @source_instance = args[:source_instance] if args.key?(:source_instance)
@@ -19297,18 +19495,18 @@ module Google
19297
19495
  end
19298
19496
  end
19299
19497
 
19300
- # Opaque filter criteria used by loadbalancers to restrict routing configuration
19301
- # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
19302
- # loadbalancing would typically present metadata to the loadbalancers which need
19303
- # to match criteria specified here. If a match takes place, the relevant
19304
- # configuration is made available to those proxies. For each metadataFilter in
19305
- # this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
19306
- # filterLabels must match the corresponding label provided in the metadata. If
19307
- # its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must
19308
- # match with corresponding labels provided in the metadata. An example for using
19309
- # metadataFilters would be: if loadbalancing involves Envoys, they will only
19310
- # receive routing configuration when values in metadataFilters match values
19311
- # supplied in of their XDS requests to loadbalancers.
19498
+ # Opaque filter criteria used by load balancers to restrict routing
19499
+ # configuration to a limited set of load balancing proxies. Proxies and sidecars
19500
+ # involved in load balancing would typically present metadata to the load
19501
+ # balancers that need to match criteria specified here. If a match takes place,
19502
+ # the relevant configuration is made available to those proxies. For each
19503
+ # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
19504
+ # at least one of the filterLabels must match the corresponding label provided
19505
+ # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
19506
+ # its filterLabels must match with corresponding labels provided in the metadata.
19507
+ # An example for using metadataFilters would be: if load balancing involves
19508
+ # Envoys, they receive routing configuration when values in metadataFilters
19509
+ # match values supplied in of their XDS requests to loadbalancers.
19312
19510
  class MetadataFilter
19313
19511
  include Google::Apis::Core::Hashable
19314
19512
 
@@ -19319,11 +19517,11 @@ module Google
19319
19517
  # @return [Array<Google::Apis::ComputeBeta::MetadataFilterLabelMatch>]
19320
19518
  attr_accessor :filter_labels
19321
19519
 
19322
- # Specifies how individual filterLabel matches within the list of filterLabels
19323
- # contribute towards the overall metadataFilter match. Supported values are: -
19324
- # MATCH_ANY: At least one of the filterLabels must have a matching label in the
19325
- # provided metadata. - MATCH_ALL: All filterLabels must have matching labels in
19326
- # the provided metadata.
19520
+ # Specifies how individual filter label matches within the list of filterLabels
19521
+ # and contributes toward the overall metadataFilter match. Supported values are:
19522
+ # - MATCH_ANY: at least one of the filterLabels must have a matching label in
19523
+ # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
19524
+ # in the provided metadata.
19327
19525
  # Corresponds to the JSON property `filterMatchCriteria`
19328
19526
  # @return [String]
19329
19527
  attr_accessor :filter_match_criteria
@@ -19340,7 +19538,7 @@ module Google
19340
19538
  end
19341
19539
 
19342
19540
  # MetadataFilter label name value pairs that are expected to match corresponding
19343
- # labels presented as metadata to the loadbalancer.
19541
+ # labels presented as metadata to the load balancer.
19344
19542
  class MetadataFilterLabelMatch
19345
19543
  include Google::Apis::Core::Hashable
19346
19544
 
@@ -20534,7 +20732,7 @@ module Google
20534
20732
  # @return [String]
20535
20733
  attr_accessor :ipv6_access_type
20536
20734
 
20537
- # [Output Only] An IPv6 internal network address for this network interface.
20735
+ # An IPv6 internal network address for this network interface.
20538
20736
  # Corresponds to the JSON property `ipv6Address`
20539
20737
  # @return [String]
20540
20738
  attr_accessor :ipv6_address
@@ -20551,14 +20749,15 @@ module Google
20551
20749
  # @return [String]
20552
20750
  attr_accessor :name
20553
20751
 
20554
- # URL of the network resource for this instance. When creating an instance, if
20555
- # neither the network nor the subnetwork is specified, the default network
20556
- # global/networks/default is used; if the network is not specified but the
20557
- # subnetwork is specified, the network is inferred. If you specify this property,
20558
- # you can specify the network as a full or partial URL. For example, the
20559
- # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
20560
- # project/global/networks/ network - projects/project/global/networks/network -
20561
- # global/networks/default
20752
+ # URL of the VPC network resource for this instance. When creating an instance,
20753
+ # if neither the network nor the subnetwork is specified, the default network
20754
+ # global/networks/default is used. If the selected project doesn't have the
20755
+ # default network, you must specify a network or subnet. If the network is not
20756
+ # specified but the subnetwork is specified, the network is inferred. If you
20757
+ # specify this property, you can specify the network as a full or partial URL.
20758
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
20759
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
20760
+ # networks/network - global/networks/default
20562
20761
  # Corresponds to the JSON property `network`
20563
20762
  # @return [String]
20564
20763
  attr_accessor :network
@@ -20767,7 +20966,8 @@ module Google
20767
20966
  attr_accessor :exchange_subnet_routes
20768
20967
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
20769
20968
 
20770
- # Whether to export the custom routes to peer network.
20969
+ # Whether to export the custom routes to peer network. The default value is
20970
+ # false.
20771
20971
  # Corresponds to the JSON property `exportCustomRoutes`
20772
20972
  # @return [Boolean]
20773
20973
  attr_accessor :export_custom_routes
@@ -20781,7 +20981,8 @@ module Google
20781
20981
  attr_accessor :export_subnet_routes_with_public_ip
20782
20982
  alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
20783
20983
 
20784
- # Whether to import the custom routes from peer network.
20984
+ # Whether to import the custom routes from peer network. The default value is
20985
+ # false.
20785
20986
  # Corresponds to the JSON property `importCustomRoutes`
20786
20987
  # @return [Boolean]
20787
20988
  attr_accessor :import_custom_routes
@@ -24467,37 +24668,37 @@ module Google
24467
24668
 
24468
24669
  # A matcher for the path portion of the URL. The BackendService from the longest-
24469
24670
  # matched rule will serve the URL. If no rule was matched, the default service
24470
- # will be used.
24671
+ # is used.
24471
24672
  class PathMatcher
24472
24673
  include Google::Apis::Core::Hashable
24473
24674
 
24474
24675
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
24475
- # The load balancer performs advanced routing actions like URL rewrites, header
24476
- # transformations, etc. prior to forwarding the request to the selected backend.
24676
+ # The load balancer performs advanced routing actions, such as URL rewrites and
24677
+ # header transformations, before forwarding the request to the selected backend.
24477
24678
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
24478
24679
  # must not be set. Conversely if defaultService is set, defaultRouteAction
24479
24680
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
24480
24681
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
24481
- # support only the urlRewrite action within a pathMatcher's defaultRouteAction.
24682
+ # support only the urlRewrite action within a path matcher's defaultRouteAction.
24482
24683
  # Corresponds to the JSON property `defaultRouteAction`
24483
24684
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24484
24685
  attr_accessor :default_route_action
24485
24686
 
24486
- # The full or partial URL to the BackendService resource. This will be used if
24687
+ # The full or partial URL to the BackendService resource. This URL is used if
24487
24688
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
24488
24689
  # For example, the following are all valid URLs to a BackendService resource: -
24489
24690
  # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
24490
24691
  # backendService - compute/v1/projects/project/global/backendServices/
24491
24692
  # backendService - global/backendServices/backendService If defaultRouteAction
24492
- # is additionally specified, advanced routing actions like URL Rewrites, etc.
24493
- # take effect prior to sending the request to the backend. However, if
24494
- # defaultService is specified, defaultRouteAction cannot contain any
24495
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
24496
- # weightedBackendServices, defaultService must not be specified. Only one of
24497
- # defaultService, defaultUrlRedirect or defaultRouteAction.
24498
- # weightedBackendService must be set. Authorization requires one or more of the
24499
- # following Google IAM permissions on the specified resource default_service: -
24500
- # compute.backendBuckets.use - compute.backendServices.use
24693
+ # is also specified, advanced routing actions, such as URL rewrites, take effect
24694
+ # before sending the request to the backend. However, if defaultService is
24695
+ # specified, defaultRouteAction cannot contain any weightedBackendServices.
24696
+ # Conversely, if defaultRouteAction specifies any weightedBackendServices,
24697
+ # defaultService must not be specified. Only one of defaultService,
24698
+ # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
24699
+ # Authorization requires one or more of the following Google IAM permissions on
24700
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
24701
+ # backendServices.use
24501
24702
  # Corresponds to the JSON property `defaultService`
24502
24703
  # @return [String]
24503
24704
  attr_accessor :default_service
@@ -24573,23 +24774,23 @@ module Google
24573
24774
  attr_accessor :paths
24574
24775
 
24575
24776
  # In response to a matching path, the load balancer performs advanced routing
24576
- # actions like URL rewrites, header transformations, etc. prior to forwarding
24777
+ # actions, such as URL rewrites and header transformations, before forwarding
24577
24778
  # the request to the selected backend. If routeAction specifies any
24578
24779
  # weightedBackendServices, service must not be set. Conversely if service is set,
24579
24780
  # routeAction cannot contain any weightedBackendServices. Only one of
24580
- # routeAction or urlRedirect must be set. UrlMaps for external HTTP(S) load
24581
- # balancers support only the urlRewrite action within a pathRule's routeAction.
24781
+ # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
24782
+ # balancers support only the urlRewrite action within a path rule's routeAction.
24582
24783
  # Corresponds to the JSON property `routeAction`
24583
24784
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
24584
24785
  attr_accessor :route_action
24585
24786
 
24586
24787
  # The full or partial URL of the backend service resource to which traffic is
24587
- # directed if this rule is matched. If routeAction is additionally specified,
24588
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
24589
- # the request to the backend. However, if service is specified, routeAction
24590
- # cannot contain any weightedBackendService s. Conversely, if routeAction
24591
- # specifies any weightedBackendServices, service must not be specified. Only one
24592
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
24788
+ # directed if this rule is matched. If routeAction is also specified, advanced
24789
+ # routing actions, such as URL rewrites, take effect before sending the request
24790
+ # to the backend. However, if service is specified, routeAction cannot contain
24791
+ # any weightedBackendServices. Conversely, if routeAction specifies any
24792
+ # weightedBackendServices, service must not be specified. Only one of
24793
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
24593
24794
  # Corresponds to the JSON property `service`
24594
24795
  # @return [String]
24595
24796
  attr_accessor :service
@@ -24661,31 +24862,31 @@ module Google
24661
24862
 
24662
24863
  # An Identity and Access Management (IAM) policy, which specifies access
24663
24864
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
24664
- # A `binding` binds one or more `members` to a single `role`. Members can be
24665
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
24666
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
24667
- # role or a user-created custom role. For some types of Google Cloud resources,
24668
- # a `binding` can also specify a `condition`, which is a logical expression that
24669
- # allows access to a resource only if the expression evaluates to `true`. A
24670
- # condition can add constraints based on attributes of the request, the resource,
24671
- # or both. To learn which resources support conditions in their IAM policies,
24672
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
24673
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
24674
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
24675
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
24676
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
24677
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
24678
- # title": "expirable access", "description": "Does not grant access after Sep
24679
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
24680
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
24681
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
24682
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
24683
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
24684
- # roles/resourcemanager.organizationViewer condition: title: expirable access
24685
- # description: Does not grant access after Sep 2020 expression: request.time <
24686
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
24687
- # description of IAM and its features, see the [IAM documentation](https://cloud.
24688
- # google.com/iam/docs/).
24865
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
24866
+ # Principals can be user accounts, service accounts, Google groups, and domains (
24867
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
24868
+ # an IAM predefined role or a user-created custom role. For some types of Google
24869
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
24870
+ # logical expression that allows access to a resource only if the expression
24871
+ # evaluates to `true`. A condition can add constraints based on attributes of
24872
+ # the request, the resource, or both. To learn which resources support
24873
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
24874
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
24875
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
24876
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
24877
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
24878
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
24879
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
24880
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
24881
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
24882
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
24883
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
24884
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
24885
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
24886
+ # access description: Does not grant access after Sep 2020 expression: request.
24887
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
24888
+ # a description of IAM and its features, see the [IAM documentation](https://
24889
+ # cloud.google.com/iam/docs/).
24689
24890
  class Policy
24690
24891
  include Google::Apis::Core::Hashable
24691
24892
 
@@ -24694,9 +24895,14 @@ module Google
24694
24895
  # @return [Array<Google::Apis::ComputeBeta::AuditConfig>]
24695
24896
  attr_accessor :audit_configs
24696
24897
 
24697
- # Associates a list of `members` to a `role`. Optionally, may specify a `
24698
- # condition` that determines how and when the `bindings` are applied. Each of
24699
- # the `bindings` must contain at least one member.
24898
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
24899
+ # specify a `condition` that determines how and when the `bindings` are applied.
24900
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
24901
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
24902
+ # can be Google groups. Each occurrence of a principal counts towards these
24903
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
24904
+ # example.com`, and not to any other principal, then you can add another 1,450
24905
+ # principals to the `bindings` in the `Policy`.
24700
24906
  # Corresponds to the JSON property `bindings`
24701
24907
  # @return [Array<Google::Apis::ComputeBeta::Binding>]
24702
24908
  attr_accessor :bindings
@@ -24717,12 +24923,6 @@ module Google
24717
24923
  # @return [String]
24718
24924
  attr_accessor :etag
24719
24925
 
24720
- # This is deprecated and has no effect. Do not use.
24721
- # Corresponds to the JSON property `iamOwned`
24722
- # @return [Boolean]
24723
- attr_accessor :iam_owned
24724
- alias_method :iam_owned?, :iam_owned
24725
-
24726
24926
  # This is deprecated and has no effect. Do not use.
24727
24927
  # Corresponds to the JSON property `rules`
24728
24928
  # @return [Array<Google::Apis::ComputeBeta::Rule>]
@@ -24756,7 +24956,6 @@ module Google
24756
24956
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
24757
24957
  @bindings = args[:bindings] if args.key?(:bindings)
24758
24958
  @etag = args[:etag] if args.key?(:etag)
24759
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
24760
24959
  @rules = args[:rules] if args.key?(:rules)
24761
24960
  @version = args[:version] if args.key?(:version)
24762
24961
  end
@@ -24791,6 +24990,18 @@ module Google
24791
24990
  # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedDisk>]
24792
24991
  attr_accessor :disks
24793
24992
 
24993
+ # Preserved external IPs defined for this instance. This map is keyed with the
24994
+ # name of the network interface.
24995
+ # Corresponds to the JSON property `externalIPs`
24996
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
24997
+ attr_accessor :external_i_ps
24998
+
24999
+ # Preserved internal IPs defined for this instance. This map is keyed with the
25000
+ # name of the network interface.
25001
+ # Corresponds to the JSON property `internalIPs`
25002
+ # @return [Hash<String,Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIp>]
25003
+ attr_accessor :internal_i_ps
25004
+
24794
25005
  # Preserved metadata defined for this instance.
24795
25006
  # Corresponds to the JSON property `metadata`
24796
25007
  # @return [Hash<String,String>]
@@ -24803,6 +25014,8 @@ module Google
24803
25014
  # Update properties of this object
24804
25015
  def update!(**args)
24805
25016
  @disks = args[:disks] if args.key?(:disks)
25017
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
25018
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
24806
25019
  @metadata = args[:metadata] if args.key?(:metadata)
24807
25020
  end
24808
25021
  end
@@ -24844,6 +25057,60 @@ module Google
24844
25057
  end
24845
25058
  end
24846
25059
 
25060
+ #
25061
+ class PreservedStatePreservedNetworkIp
25062
+ include Google::Apis::Core::Hashable
25063
+
25064
+ # These stateful IPs will never be released during autohealing, update or VM
25065
+ # instance recreate operations. This flag is used to configure if the IP
25066
+ # reservation should be deleted after it is no longer used by the group, e.g.
25067
+ # when the given instance or the whole group is deleted.
25068
+ # Corresponds to the JSON property `autoDelete`
25069
+ # @return [String]
25070
+ attr_accessor :auto_delete
25071
+
25072
+ # Ip address representation
25073
+ # Corresponds to the JSON property `ipAddress`
25074
+ # @return [Google::Apis::ComputeBeta::PreservedStatePreservedNetworkIpIpAddress]
25075
+ attr_accessor :ip_address
25076
+
25077
+ def initialize(**args)
25078
+ update!(**args)
25079
+ end
25080
+
25081
+ # Update properties of this object
25082
+ def update!(**args)
25083
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
25084
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
25085
+ end
25086
+ end
25087
+
25088
+ #
25089
+ class PreservedStatePreservedNetworkIpIpAddress
25090
+ include Google::Apis::Core::Hashable
25091
+
25092
+ # The URL of the reservation for this IP address.
25093
+ # Corresponds to the JSON property `address`
25094
+ # @return [String]
25095
+ attr_accessor :address
25096
+
25097
+ # An IPv4 internal network address to assign to the instance for this network
25098
+ # interface.
25099
+ # Corresponds to the JSON property `literal`
25100
+ # @return [String]
25101
+ attr_accessor :literal
25102
+
25103
+ def initialize(**args)
25104
+ update!(**args)
25105
+ end
25106
+
25107
+ # Update properties of this object
25108
+ def update!(**args)
25109
+ @address = args[:address] if args.key?(:address)
25110
+ @literal = args[:literal] if args.key?(:literal)
25111
+ end
25112
+ end
25113
+
24847
25114
  # Represents a Project resource. A project is used to organize resources in a
24848
25115
  # Google Cloud Platform environment. For more information, read about the
24849
25116
  # Resource Hierarchy.
@@ -25137,7 +25404,13 @@ module Google
25137
25404
  # @return [String]
25138
25405
  attr_accessor :shared_secret
25139
25406
 
25140
- # The status of the public advertised prefix.
25407
+ # The status of the public advertised prefix. Possible values include: - `
25408
+ # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
25409
+ # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
25410
+ # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
25411
+ # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
25412
+ # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
25413
+ # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
25141
25414
  # Corresponds to the JSON property `status`
25142
25415
  # @return [String]
25143
25416
  attr_accessor :status
@@ -25416,7 +25689,12 @@ module Google
25416
25689
  # @return [String]
25417
25690
  attr_accessor :self_link
25418
25691
 
25419
- # [Output Only] The status of the public delegated prefix.
25692
+ # [Output Only] The status of the public delegated prefix, which can be one of
25693
+ # following values: - `INITIALIZING` The public delegated prefix is being
25694
+ # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
25695
+ # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
25696
+ # The public delegated prefix is active. - `DELETING` The public delegated
25697
+ # prefix is being deprovsioned.
25420
25698
  # Corresponds to the JSON property `status`
25421
25699
  # @return [String]
25422
25700
  attr_accessor :status
@@ -27355,31 +27633,31 @@ module Google
27355
27633
 
27356
27634
  # An Identity and Access Management (IAM) policy, which specifies access
27357
27635
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
27358
- # A `binding` binds one or more `members` to a single `role`. Members can be
27359
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
27360
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
27361
- # role or a user-created custom role. For some types of Google Cloud resources,
27362
- # a `binding` can also specify a `condition`, which is a logical expression that
27363
- # allows access to a resource only if the expression evaluates to `true`. A
27364
- # condition can add constraints based on attributes of the request, the resource,
27365
- # or both. To learn which resources support conditions in their IAM policies,
27366
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
27367
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
27368
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
27369
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
27370
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
27371
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
27372
- # title": "expirable access", "description": "Does not grant access after Sep
27373
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
27374
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
27375
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
27376
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
27377
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
27378
- # roles/resourcemanager.organizationViewer condition: title: expirable access
27379
- # description: Does not grant access after Sep 2020 expression: request.time <
27380
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
27381
- # description of IAM and its features, see the [IAM documentation](https://cloud.
27382
- # google.com/iam/docs/).
27636
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
27637
+ # Principals can be user accounts, service accounts, Google groups, and domains (
27638
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
27639
+ # an IAM predefined role or a user-created custom role. For some types of Google
27640
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
27641
+ # logical expression that allows access to a resource only if the expression
27642
+ # evaluates to `true`. A condition can add constraints based on attributes of
27643
+ # the request, the resource, or both. To learn which resources support
27644
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
27645
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
27646
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
27647
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
27648
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
27649
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
27650
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
27651
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
27652
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
27653
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
27654
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
27655
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
27656
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
27657
+ # access description: Does not grant access after Sep 2020 expression: request.
27658
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
27659
+ # a description of IAM and its features, see the [IAM documentation](https://
27660
+ # cloud.google.com/iam/docs/).
27383
27661
  # Corresponds to the JSON property `policy`
27384
27662
  # @return [Google::Apis::ComputeBeta::Policy]
27385
27663
  attr_accessor :policy
@@ -27420,21 +27698,21 @@ module Google
27420
27698
  class RegionUrlMapsValidateRequest
27421
27699
  include Google::Apis::Core::Hashable
27422
27700
 
27423
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
27424
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
27425
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
27426
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
27701
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
27702
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
27703
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
27704
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
27427
27705
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
27428
27706
  # used by internal HTTP(S) load balancers. For a list of supported URL map
27429
- # features by load balancer type, see the Load balancing features: Routing and
27430
- # traffic management table. For a list of supported URL map features for Traffic
27431
- # Director, see the Traffic Director features: Routing and traffic management
27432
- # table. This resource defines mappings from host names and URL paths to either
27433
- # a backend service or a backend bucket. To use the global urlMaps resource, the
27434
- # backend service must have a loadBalancingScheme of either EXTERNAL or
27435
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
27436
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
27437
- # read URL Map Concepts.
27707
+ # features by the load balancer type, see the Load balancing features: Routing
27708
+ # and traffic management table. For a list of supported URL map features for
27709
+ # Traffic Director, see the Traffic Director features: Routing and traffic
27710
+ # management table. This resource defines mappings from hostnames and URL paths
27711
+ # to either a backend service or a backend bucket. To use the global urlMaps
27712
+ # resource, the backend service must have a loadBalancingScheme of either
27713
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
27714
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
27715
+ # information, read URL Map Concepts.
27438
27716
  # Corresponds to the JSON property `resource`
27439
27717
  # @return [Google::Apis::ComputeBeta::UrlMap]
27440
27718
  attr_accessor :resource
@@ -27450,9 +27728,9 @@ module Google
27450
27728
  end
27451
27729
 
27452
27730
  # A policy that specifies how requests intended for the route's backends are
27453
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
27454
- # for responses from the shadow service. Prior to sending traffic to the shadow
27455
- # service, the host / authority header is suffixed with -shadow.
27731
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
27732
+ # wait for responses from the shadow service. Before sending traffic to the
27733
+ # shadow service, the host or authority header is suffixed with -shadow.
27456
27734
  class RequestMirrorPolicy
27457
27735
  include Google::Apis::Core::Hashable
27458
27736
 
@@ -29649,6 +29927,12 @@ module Google
29649
29927
  # @return [String]
29650
29928
  attr_accessor :enable
29651
29929
 
29930
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
29931
+ # Corresponds to the JSON property `enableIpv6`
29932
+ # @return [Boolean]
29933
+ attr_accessor :enable_ipv6
29934
+ alias_method :enable_ipv6?, :enable_ipv6
29935
+
29652
29936
  # Name of the interface the BGP peer is associated with.
29653
29937
  # Corresponds to the JSON property `interfaceName`
29654
29938
  # @return [String]
@@ -29660,6 +29944,11 @@ module Google
29660
29944
  # @return [String]
29661
29945
  attr_accessor :ip_address
29662
29946
 
29947
+ # IPv6 address of the interface inside Google Cloud Platform.
29948
+ # Corresponds to the JSON property `ipv6NexthopAddress`
29949
+ # @return [String]
29950
+ attr_accessor :ipv6_nexthop_address
29951
+
29663
29952
  # [Output Only] The resource that configures and manages this BGP peer. -
29664
29953
  # MANAGED_BY_USER is the default value and can be managed by you or other users -
29665
29954
  # MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
@@ -29692,6 +29981,11 @@ module Google
29692
29981
  # @return [String]
29693
29982
  attr_accessor :peer_ip_address
29694
29983
 
29984
+ # IPv6 address of the BGP interface outside Google Cloud Platform.
29985
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
29986
+ # @return [String]
29987
+ attr_accessor :peer_ipv6_nexthop_address
29988
+
29695
29989
  # URI of the VM instance that is used as third-party router appliances such as
29696
29990
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
29697
29991
  # must be located in zones contained in the same region as this Cloud Router.
@@ -29712,12 +30006,15 @@ module Google
29712
30006
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
29713
30007
  @bfd = args[:bfd] if args.key?(:bfd)
29714
30008
  @enable = args[:enable] if args.key?(:enable)
30009
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
29715
30010
  @interface_name = args[:interface_name] if args.key?(:interface_name)
29716
30011
  @ip_address = args[:ip_address] if args.key?(:ip_address)
30012
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
29717
30013
  @management_type = args[:management_type] if args.key?(:management_type)
29718
30014
  @name = args[:name] if args.key?(:name)
29719
30015
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
29720
30016
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
30017
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
29721
30018
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
29722
30019
  end
29723
30020
  end
@@ -30188,7 +30485,8 @@ module Google
30188
30485
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
30189
30486
  # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
30190
30487
  # following example is a valid match expression for private NAT: "nexthop.hub ==
30191
- # '/projects/my-project/global/hub/hub-1'"
30488
+ # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
30489
+ # global/hub/hub-1'"
30192
30490
  # Corresponds to the JSON property `match`
30193
30491
  # @return [String]
30194
30492
  attr_accessor :match
@@ -30781,7 +31079,8 @@ module Google
30781
31079
  end
30782
31080
  end
30783
31081
 
30784
- # An instance-attached disk resource.
31082
+ # DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
31083
+ # resource.
30785
31084
  class SavedAttachedDisk
30786
31085
  include Google::Apis::Core::Hashable
30787
31086
 
@@ -30904,6 +31203,47 @@ module Google
30904
31203
  end
30905
31204
  end
30906
31205
 
31206
+ # An instance-attached disk resource.
31207
+ class SavedDisk
31208
+ include Google::Apis::Core::Hashable
31209
+
31210
+ # [Output Only] Type of the resource. Always compute#savedDisk for attached
31211
+ # disks.
31212
+ # Corresponds to the JSON property `kind`
31213
+ # @return [String]
31214
+ attr_accessor :kind
31215
+
31216
+ # Specifies a URL of the disk attached to the source instance.
31217
+ # Corresponds to the JSON property `sourceDisk`
31218
+ # @return [String]
31219
+ attr_accessor :source_disk
31220
+
31221
+ # [Output Only] Size of the individual disk snapshot used by this machine image.
31222
+ # Corresponds to the JSON property `storageBytes`
31223
+ # @return [Fixnum]
31224
+ attr_accessor :storage_bytes
31225
+
31226
+ # [Output Only] An indicator whether storageBytes is in a stable state or it is
31227
+ # being adjusted as a result of shared storage reallocation. This status can
31228
+ # either be UPDATING, meaning the size of the snapshot is being updated, or
31229
+ # UP_TO_DATE, meaning the size of the snapshot is up-to-date.
31230
+ # Corresponds to the JSON property `storageBytesStatus`
31231
+ # @return [String]
31232
+ attr_accessor :storage_bytes_status
31233
+
31234
+ def initialize(**args)
31235
+ update!(**args)
31236
+ end
31237
+
31238
+ # Update properties of this object
31239
+ def update!(**args)
31240
+ @kind = args[:kind] if args.key?(:kind)
31241
+ @source_disk = args[:source_disk] if args.key?(:source_disk)
31242
+ @storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
31243
+ @storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
31244
+ end
31245
+ end
31246
+
30907
31247
  #
30908
31248
  class ScalingScheduleStatus
30909
31249
  include Google::Apis::Core::Hashable
@@ -31235,6 +31575,11 @@ module Google
31235
31575
  # @return [String]
31236
31576
  attr_accessor :parent
31237
31577
 
31578
+ #
31579
+ # Corresponds to the JSON property `recaptchaOptionsConfig`
31580
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRecaptchaOptionsConfig]
31581
+ attr_accessor :recaptcha_options_config
31582
+
31238
31583
  # [Output Only] Total count of all security policy rule tuples. A security
31239
31584
  # policy can not exceed a set number of tuples.
31240
31585
  # Corresponds to the JSON property `ruleTupleCount`
@@ -31289,6 +31634,7 @@ module Google
31289
31634
  @labels = args[:labels] if args.key?(:labels)
31290
31635
  @name = args[:name] if args.key?(:name)
31291
31636
  @parent = args[:parent] if args.key?(:parent)
31637
+ @recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
31292
31638
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
31293
31639
  @rules = args[:rules] if args.key?(:rules)
31294
31640
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -31517,6 +31863,29 @@ module Google
31517
31863
  end
31518
31864
  end
31519
31865
 
31866
+ #
31867
+ class SecurityPolicyRecaptchaOptionsConfig
31868
+ include Google::Apis::Core::Hashable
31869
+
31870
+ # An optional field to supply a reCAPTCHA site key to be used for all the rules
31871
+ # using the redirect action with the type of GOOGLE_RECAPTCHA under the security
31872
+ # policy. The specified site key needs to be created from the reCAPTCHA API. The
31873
+ # user is responsible for the validity of the specified site key. If not
31874
+ # specified, a Google-managed site key is used.
31875
+ # Corresponds to the JSON property `redirectSiteKey`
31876
+ # @return [String]
31877
+ attr_accessor :redirect_site_key
31878
+
31879
+ def initialize(**args)
31880
+ update!(**args)
31881
+ end
31882
+
31883
+ # Update properties of this object
31884
+ def update!(**args)
31885
+ @redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
31886
+ end
31887
+ end
31888
+
31520
31889
  #
31521
31890
  class SecurityPolicyReference
31522
31891
  include Google::Apis::Core::Hashable
@@ -31541,9 +31910,17 @@ module Google
31541
31910
  class SecurityPolicyRule
31542
31911
  include Google::Apis::Core::Hashable
31543
31912
 
31544
- # The Action to perform when the client connection triggers the rule. Can
31545
- # currently be either "allow" or "deny()" where valid values for status are 403,
31546
- # 404, and 502.
31913
+ # The Action to perform when the rule is matched. The following are the valid
31914
+ # actions: - allow: allow access to target. - deny(): deny access to target,
31915
+ # returns the HTTP response code specified (valid values are 403, 404, and 502).
31916
+ # - rate_based_ban: limit client traffic to the configured threshold and ban the
31917
+ # client if the traffic exceeds the threshold. Configure parameters for this
31918
+ # action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
31919
+ # redirect to a different target. This can either be an internal reCAPTCHA
31920
+ # redirect, or an external URL-based redirect via a 302 response. Parameters for
31921
+ # this action can be configured via redirectOptions. - throttle: limit client
31922
+ # traffic to the configured threshold. Configure parameters for this action in
31923
+ # rateLimitOptions. Requires rate_limit_options to be set for this.
31547
31924
  # Corresponds to the JSON property `action`
31548
31925
  # @return [String]
31549
31926
  attr_accessor :action
@@ -31850,33 +32227,45 @@ module Google
31850
32227
  attr_accessor :conform_action
31851
32228
 
31852
32229
  # Determines the key to enforce the rate_limit_threshold on. Possible values are:
31853
- # "ALL" -- A single rate limit threshold is applied to all the requests
31854
- # matching this rule. This is the default value if this field 'enforce_on_key'
31855
- # is not configured. "ALL_IPS" -- This definition, equivalent to "ALL", has been
31856
- # depprecated. "IP" -- The source IP address of the request is the key. Each IP
31857
- # has this limit enforced separately. "HTTP_HEADER" -- The value of the HTTP
31858
- # header whose name is configured under "enforce_on_key_name". The key value is
32230
+ # - ALL: A single rate limit threshold is applied to all the requests matching
32231
+ # this rule. This is the default value if this field 'enforce_on_key' is not
32232
+ # configured. - IP: The source IP address of the request is the key. Each IP has
32233
+ # this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
32234
+ # whose name is configured under "enforce_on_key_name". The key value is
31859
32235
  # truncated to the first 128 bytes of the header value. If no such header is
31860
- # present in the request, the key type defaults to "ALL". "XFF_IP" -- The first
31861
- # IP address (i.e. the originating client IP address) specified in the list of
31862
- # IPs under X-Forwarded-For HTTP header. If no such header is present or the
31863
- # value is not a valid IP, the key type defaults to "ALL".
32236
+ # present in the request, the key type defaults to ALL. - XFF_IP: The first IP
32237
+ # address (i.e. the originating client IP address) specified in the list of IPs
32238
+ # under X-Forwarded-For HTTP header. If no such header is present or the value
32239
+ # is not a valid IP, the key type defaults to ALL. - HTTP_COOKIE: The value of
32240
+ # the HTTP cookie whose name is configured under "enforce_on_key_name". The key
32241
+ # value is truncated to the first 128 bytes of the cookie value. If no such
32242
+ # cookie is present in the request, the key type defaults to ALL.
31864
32243
  # Corresponds to the JSON property `enforceOnKey`
31865
32244
  # @return [String]
31866
32245
  attr_accessor :enforce_on_key
31867
32246
 
31868
32247
  # Rate limit key name applicable only for the following key types: HTTP_HEADER --
31869
- # Name of the HTTP header whose value is taken as the key value.
32248
+ # Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
32249
+ # Name of the HTTP cookie whose value is taken as the key value.
31870
32250
  # Corresponds to the JSON property `enforceOnKeyName`
31871
32251
  # @return [String]
31872
32252
  attr_accessor :enforce_on_key_name
31873
32253
 
31874
- # When a request is denied, returns the HTTP response code specified. Valid
31875
- # options are "deny()" where valid values for status are 403, 404, 429, and 502.
32254
+ # Action to take for requests that are above the configured rate limit threshold,
32255
+ # to either deny with a specified HTTP response code, or redirect to a
32256
+ # different endpoint. Valid options are "deny()" where valid values for status
32257
+ # are 403, 404, 429, and 502, and "redirect" where the redirect parameters come
32258
+ # from exceed_redirect_options below.
31876
32259
  # Corresponds to the JSON property `exceedAction`
31877
32260
  # @return [String]
31878
32261
  attr_accessor :exceed_action
31879
32262
 
32263
+ # Parameters defining the redirect action that is used as the exceed action.
32264
+ # Cannot be specified if the exceed action is not redirect.
32265
+ # Corresponds to the JSON property `exceedRedirectOptions`
32266
+ # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRedirectOptions]
32267
+ attr_accessor :exceed_redirect_options
32268
+
31880
32269
  # Threshold at which to begin ratelimiting.
31881
32270
  # Corresponds to the JSON property `rateLimitThreshold`
31882
32271
  # @return [Google::Apis::ComputeBeta::SecurityPolicyRuleRateLimitOptionsThreshold]
@@ -31894,6 +32283,7 @@ module Google
31894
32283
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
31895
32284
  @enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
31896
32285
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
32286
+ @exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
31897
32287
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
31898
32288
  end
31899
32289
  end
@@ -32132,6 +32522,13 @@ module Google
32132
32522
  # @return [String]
32133
32523
  attr_accessor :description
32134
32524
 
32525
+ # If specified, the domain name will be used during the integration between the
32526
+ # PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
32527
+ # name: "p.mycompany.com.". Current max number of domain names supported is 1.
32528
+ # Corresponds to the JSON property `domainNames`
32529
+ # @return [Array<String>]
32530
+ attr_accessor :domain_names
32531
+
32135
32532
  # If true, enable the proxy protocol which is for supplying client TCP/IP
32136
32533
  # address data in TCP connections that traverse proxies on their way to
32137
32534
  # destination servers.
@@ -32220,6 +32617,7 @@ module Google
32220
32617
  @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
32221
32618
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32222
32619
  @description = args[:description] if args.key?(:description)
32620
+ @domain_names = args[:domain_names] if args.key?(:domain_names)
32223
32621
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
32224
32622
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
32225
32623
  @id = args[:id] if args.key?(:id)
@@ -32626,9 +33024,8 @@ module Google
32626
33024
  class ShareSettings
32627
33025
  include Google::Apis::Core::Hashable
32628
33026
 
32629
- # A map of project id and project config. Using map format to ease add-to/remove-
32630
- # from the Project list in PATCH command. In future we will deprecate (And later
32631
- # remove) the array one.
33027
+ # A map of project id and project config. This is only valid when share_type's
33028
+ # value is SPECIFIC_PROJECTS.
32632
33029
  # Corresponds to the JSON property `projectMap`
32633
33030
  # @return [Hash<String,Google::Apis::ComputeBeta::ShareSettingsProjectConfig>]
32634
33031
  attr_accessor :project_map
@@ -33322,7 +33719,8 @@ module Google
33322
33719
  end
33323
33720
  end
33324
33721
 
33325
- #
33722
+ # DEPRECATED: Please use compute#instanceProperties instead. New properties will
33723
+ # not be added to this field.
33326
33724
  class SourceInstanceProperties
33327
33725
  include Google::Apis::Core::Hashable
33328
33726
 
@@ -34312,6 +34710,20 @@ module Google
34312
34710
  # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateDiskDevice>]
34313
34711
  attr_accessor :disks
34314
34712
 
34713
+ # External network IPs assigned to the instances that will be preserved on
34714
+ # instance delete, update, etc. This map is keyed with the network interface
34715
+ # name.
34716
+ # Corresponds to the JSON property `externalIPs`
34717
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34718
+ attr_accessor :external_i_ps
34719
+
34720
+ # Internal network IPs assigned to the instances that will be preserved on
34721
+ # instance delete, update, etc. This map is keyed with the network interface
34722
+ # name.
34723
+ # Corresponds to the JSON property `internalIPs`
34724
+ # @return [Hash<String,Google::Apis::ComputeBeta::StatefulPolicyPreservedStateNetworkIp>]
34725
+ attr_accessor :internal_i_ps
34726
+
34315
34727
  def initialize(**args)
34316
34728
  update!(**args)
34317
34729
  end
@@ -34319,6 +34731,8 @@ module Google
34319
34731
  # Update properties of this object
34320
34732
  def update!(**args)
34321
34733
  @disks = args[:disks] if args.key?(:disks)
34734
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
34735
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
34322
34736
  end
34323
34737
  end
34324
34738
 
@@ -34345,6 +34759,28 @@ module Google
34345
34759
  end
34346
34760
  end
34347
34761
 
34762
+ #
34763
+ class StatefulPolicyPreservedStateNetworkIp
34764
+ include Google::Apis::Core::Hashable
34765
+
34766
+ # These stateful IPs will never be released during autohealing, update or VM
34767
+ # instance recreate operations. This flag is used to configure if the IP
34768
+ # reservation should be deleted after it is no longer used by the group, e.g.
34769
+ # when the given instance or the whole group is deleted.
34770
+ # Corresponds to the JSON property `autoDelete`
34771
+ # @return [String]
34772
+ attr_accessor :auto_delete
34773
+
34774
+ def initialize(**args)
34775
+ update!(**args)
34776
+ end
34777
+
34778
+ # Update properties of this object
34779
+ def update!(**args)
34780
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
34781
+ end
34782
+ end
34783
+
34348
34784
  # Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
34349
34785
  # logical partition of a Virtual Private Cloud network with one primary IP range
34350
34786
  # and zero or more secondary IP ranges. For more information, read Virtual
@@ -34383,8 +34819,9 @@ module Google
34383
34819
 
34384
34820
  # Whether to enable flow logging for this subnetwork. If this field is not
34385
34821
  # explicitly set, it will not appear in get listings. If not set the default
34386
- # behavior is to disable flow logging. This field isn't supported with the
34387
- # purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
34822
+ # behavior is determined by the org policy, if there is no org policy specified,
34823
+ # then it will default to disabled. This field isn't supported with the purpose
34824
+ # field set to INTERNAL_HTTPS_LOAD_BALANCER.
34388
34825
  # Corresponds to the JSON property `enableFlowLogs`
34389
34826
  # @return [Boolean]
34390
34827
  attr_accessor :enable_flow_logs
@@ -34438,7 +34875,7 @@ module Google
34438
34875
  attr_accessor :ipv6_access_type
34439
34876
 
34440
34877
  # [Output Only] The range of internal IPv6 addresses that are owned by this
34441
- # subnetwork.
34878
+ # subnetwork. Note this will be for private google access only eventually.
34442
34879
  # Corresponds to the JSON property `ipv6CidrRange`
34443
34880
  # @return [String]
34444
34881
  attr_accessor :ipv6_cidr_range
@@ -34832,7 +35269,8 @@ module Google
34832
35269
 
34833
35270
  # Whether to enable flow logging for this subnetwork. If this field is not
34834
35271
  # explicitly set, it will not appear in get listings. If not set the default
34835
- # behavior is to disable flow logging.
35272
+ # behavior is determined by the org policy, if there is no org policy specified,
35273
+ # then it will default to disabled.
34836
35274
  # Corresponds to the JSON property `enable`
34837
35275
  # @return [Boolean]
34838
35276
  attr_accessor :enable
@@ -34847,8 +35285,8 @@ module Google
34847
35285
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
34848
35286
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
34849
35287
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
34850
- # means no logs are reported. Default is 0.5, which means half of all collected
34851
- # logs are reported.
35288
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
35289
+ # org policy, which means half of all collected logs are reported.
34852
35290
  # Corresponds to the JSON property `flowSampling`
34853
35291
  # @return [Float]
34854
35292
  attr_accessor :flow_sampling
@@ -38434,7 +38872,7 @@ module Google
38434
38872
  class TestFailure
38435
38873
  include Google::Apis::Core::Hashable
38436
38874
 
38437
- # The actual output URL evaluated by load balancer containing the scheme, host,
38875
+ # The actual output URL evaluated by a load balancer containing the scheme, host,
38438
38876
  # path and query parameters.
38439
38877
  # Corresponds to the JSON property `actualOutputUrl`
38440
38878
  # @return [String]
@@ -38451,8 +38889,8 @@ module Google
38451
38889
  # @return [String]
38452
38890
  attr_accessor :actual_service
38453
38891
 
38454
- # The expected output URL evaluated by load balancer containing the scheme, host,
38455
- # path and query parameters.
38892
+ # The expected output URL evaluated by a load balancer containing the scheme,
38893
+ # host, path and query parameters.
38456
38894
  # Corresponds to the JSON property `expectedOutputUrl`
38457
38895
  # @return [String]
38458
38896
  attr_accessor :expected_output_url
@@ -38566,21 +39004,21 @@ module Google
38566
39004
  end
38567
39005
  end
38568
39006
 
38569
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
38570
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
38571
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
38572
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
39007
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
39008
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
39009
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
39010
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
38573
39011
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
38574
39012
  # used by internal HTTP(S) load balancers. For a list of supported URL map
38575
- # features by load balancer type, see the Load balancing features: Routing and
38576
- # traffic management table. For a list of supported URL map features for Traffic
38577
- # Director, see the Traffic Director features: Routing and traffic management
38578
- # table. This resource defines mappings from host names and URL paths to either
38579
- # a backend service or a backend bucket. To use the global urlMaps resource, the
38580
- # backend service must have a loadBalancingScheme of either EXTERNAL or
38581
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
38582
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
38583
- # read URL Map Concepts.
39013
+ # features by the load balancer type, see the Load balancing features: Routing
39014
+ # and traffic management table. For a list of supported URL map features for
39015
+ # Traffic Director, see the Traffic Director features: Routing and traffic
39016
+ # management table. This resource defines mappings from hostnames and URL paths
39017
+ # to either a backend service or a backend bucket. To use the global urlMaps
39018
+ # resource, the backend service must have a loadBalancingScheme of either
39019
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
39020
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
39021
+ # information, read URL Map Concepts.
38584
39022
  class UrlMap
38585
39023
  include Google::Apis::Core::Hashable
38586
39024
 
@@ -38590,28 +39028,28 @@ module Google
38590
39028
  attr_accessor :creation_timestamp
38591
39029
 
38592
39030
  # defaultRouteAction takes effect when none of the hostRules match. The load
38593
- # balancer performs advanced routing actions like URL rewrites, header
38594
- # transformations, etc. prior to forwarding the request to the selected backend.
38595
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
38596
- # must not be set. Conversely if defaultService is set, defaultRouteAction
38597
- # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
39031
+ # balancer performs advanced routing actions, such as URL rewrites and header
39032
+ # transformations, before forwarding the request to the selected backend. If
39033
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
39034
+ # not be set. Conversely if defaultService is set, defaultRouteAction cannot
39035
+ # contain any weightedBackendServices. Only one of defaultRouteAction or
38598
39036
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
38599
39037
  # support only the urlRewrite action within defaultRouteAction.
38600
- # defaultRouteAction has no effect when the URL map is bound to target gRPC
38601
- # proxy that has validateForProxyless field set to true.
39038
+ # defaultRouteAction has no effect when the URL map is bound to a target gRPC
39039
+ # proxy that has the validateForProxyless field set to true.
38602
39040
  # Corresponds to the JSON property `defaultRouteAction`
38603
39041
  # @return [Google::Apis::ComputeBeta::HttpRouteAction]
38604
39042
  attr_accessor :default_route_action
38605
39043
 
38606
39044
  # The full or partial URL of the defaultService resource to which traffic is
38607
- # directed if none of the hostRules match. If defaultRouteAction is additionally
38608
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
38609
- # to sending the request to the backend. However, if defaultService is specified,
39045
+ # directed if none of the hostRules match. If defaultRouteAction is also
39046
+ # specified, advanced routing actions, such as URL rewrites, take effect before
39047
+ # sending the request to the backend. However, if defaultService is specified,
38610
39048
  # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
38611
39049
  # routeAction specifies any weightedBackendServices, service must not be
38612
- # specified. Only one of defaultService, defaultUrlRedirect or
39050
+ # specified. Only one of defaultService, defaultUrlRedirect , or
38613
39051
  # defaultRouteAction.weightedBackendService must be set. defaultService has no
38614
- # effect when the URL map is bound to target gRPC proxy that has
39052
+ # effect when the URL map is bound to a target gRPC proxy that has the
38615
39053
  # validateForProxyless field set to true.
38616
39054
  # Corresponds to the JSON property `defaultService`
38617
39055
  # @return [String]
@@ -38629,11 +39067,10 @@ module Google
38629
39067
  attr_accessor :description
38630
39068
 
38631
39069
  # Fingerprint of this resource. A hash of the contents stored in this object.
38632
- # This field is used in optimistic locking. This field will be ignored when
38633
- # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
38634
- # update the UrlMap, otherwise the request will fail with error 412
38635
- # conditionNotMet. To see the latest fingerprint, make a get() request to
38636
- # retrieve a UrlMap.
39070
+ # This field is used in optimistic locking. This field is ignored when inserting
39071
+ # a UrlMap. An up-to-date fingerprint must be provided in order to update the
39072
+ # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
39073
+ # the latest fingerprint, make a get() request to retrieve a UrlMap.
38637
39074
  # Corresponds to the JSON property `fingerprint`
38638
39075
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
38639
39076
  # @return [String]
@@ -38645,7 +39082,7 @@ module Google
38645
39082
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
38646
39083
  attr_accessor :header_action
38647
39084
 
38648
- # The list of HostRules to use against the URL.
39085
+ # The list of host rules to use against the URL.
38649
39086
  # Corresponds to the JSON property `hostRules`
38650
39087
  # @return [Array<Google::Apis::ComputeBeta::HostRule>]
38651
39088
  attr_accessor :host_rules
@@ -38688,10 +39125,10 @@ module Google
38688
39125
  # @return [String]
38689
39126
  attr_accessor :self_link
38690
39127
 
38691
- # The list of expected URL mapping tests. Request to update this UrlMap will
38692
- # succeed only if all of the test cases pass. You can specify a maximum of 100
38693
- # tests per UrlMap. Not supported when the URL map is bound to target gRPC proxy
38694
- # that has validateForProxyless field set to true.
39128
+ # The list of expected URL mapping tests. Request to update the UrlMap succeeds
39129
+ # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
39130
+ # Not supported when the URL map is bound to a target gRPC proxy that has
39131
+ # validateForProxyless field set to true.
38695
39132
  # Corresponds to the JSON property `tests`
38696
39133
  # @return [Array<Google::Apis::ComputeBeta::UrlMapTest>]
38697
39134
  attr_accessor :tests
@@ -38865,18 +39302,18 @@ module Google
38865
39302
  # @return [String]
38866
39303
  attr_accessor :description
38867
39304
 
38868
- # The expected output URL evaluated by load balancer containing the scheme, host,
38869
- # path and query parameters. For rules that forward requests to backends, the
38870
- # test passes only when expectedOutputUrl matches the request forwarded by load
38871
- # balancer to backends. For rules with urlRewrite, the test verifies that the
38872
- # forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite
38873
- # action. When service is specified, expectedOutputUrl`s scheme is ignored. For
38874
- # rules with urlRedirect, the test passes only if expectedOutputUrl matches the
38875
- # URL in the load balancer's redirect response. If urlRedirect specifies
38876
- # https_redirect, the test passes only if the scheme in expectedOutputUrl is
38877
- # also set to https. If urlRedirect specifies strip_query, the test passes only
38878
- # if expectedOutputUrl does not contain any query parameters. expectedOutputUrl
38879
- # is optional when service is specified.
39305
+ # The expected output URL evaluated by the load balancer containing the scheme,
39306
+ # host, path and query parameters. For rules that forward requests to backends,
39307
+ # the test passes only when expectedOutputUrl matches the request forwarded by
39308
+ # the load balancer to backends. For rules with urlRewrite, the test verifies
39309
+ # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
39310
+ # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
39311
+ # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
39312
+ # matches the URL in the load balancer's redirect response. If urlRedirect
39313
+ # specifies https_redirect, the test passes only if the scheme in
39314
+ # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
39315
+ # the test passes only if expectedOutputUrl does not contain any query
39316
+ # parameters. expectedOutputUrl is optional when service is specified.
38880
39317
  # Corresponds to the JSON property `expectedOutputUrl`
38881
39318
  # @return [String]
38882
39319
  attr_accessor :expected_output_url
@@ -38907,7 +39344,8 @@ module Google
38907
39344
  attr_accessor :path
38908
39345
 
38909
39346
  # Expected BackendService or BackendBucket resource the given URL should be
38910
- # mapped to. service cannot be set if expectedRedirectResponseCode is set.
39347
+ # mapped to. The service field cannot be set if expectedRedirectResponseCode is
39348
+ # set.
38911
39349
  # Corresponds to the JSON property `service`
38912
39350
  # @return [String]
38913
39351
  attr_accessor :service
@@ -39212,21 +39650,36 @@ module Google
39212
39650
  class ValidateUrlMapsRequest
39213
39651
  include Google::Apis::Core::Hashable
39214
39652
 
39215
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
39216
- # * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/
39217
- # docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of
39218
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
39653
+ # Specifies the load balancer type(s) this validation request is for. Use
39654
+ # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
39655
+ # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
39656
+ # Balancer. Other load balancer types are not supported. For more information,
39657
+ # refer to Choosing a load balancer. If unspecified, the load balancing scheme
39658
+ # will be inferred from the backend service resources this URL map references.
39659
+ # If that can not be inferred (for example, this URL map only references backend
39660
+ # buckets, or this Url map is for rewrites and redirects only and doesn't
39661
+ # reference any backends), EXTERNAL will be used as the default type. If
39662
+ # specified, the scheme(s) must not conflict with the load balancing scheme of
39663
+ # the backend service resources this Url map references.
39664
+ # Corresponds to the JSON property `loadBalancingSchemes`
39665
+ # @return [Array<String>]
39666
+ attr_accessor :load_balancing_schemes
39667
+
39668
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
39669
+ # Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/
39670
+ # reference/rest/beta/regionUrlMaps) A URL map resource is a component of
39671
+ # certain types of cloud load balancers and Traffic Director: * urlMaps are used
39219
39672
  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
39220
39673
  # used by internal HTTP(S) load balancers. For a list of supported URL map
39221
- # features by load balancer type, see the Load balancing features: Routing and
39222
- # traffic management table. For a list of supported URL map features for Traffic
39223
- # Director, see the Traffic Director features: Routing and traffic management
39224
- # table. This resource defines mappings from host names and URL paths to either
39225
- # a backend service or a backend bucket. To use the global urlMaps resource, the
39226
- # backend service must have a loadBalancingScheme of either EXTERNAL or
39227
- # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
39228
- # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
39229
- # read URL Map Concepts.
39674
+ # features by the load balancer type, see the Load balancing features: Routing
39675
+ # and traffic management table. For a list of supported URL map features for
39676
+ # Traffic Director, see the Traffic Director features: Routing and traffic
39677
+ # management table. This resource defines mappings from hostnames and URL paths
39678
+ # to either a backend service or a backend bucket. To use the global urlMaps
39679
+ # resource, the backend service must have a loadBalancingScheme of either
39680
+ # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
39681
+ # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
39682
+ # information, read URL Map Concepts.
39230
39683
  # Corresponds to the JSON property `resource`
39231
39684
  # @return [Google::Apis::ComputeBeta::UrlMap]
39232
39685
  attr_accessor :resource
@@ -39237,6 +39690,7 @@ module Google
39237
39690
 
39238
39691
  # Update properties of this object
39239
39692
  def update!(**args)
39693
+ @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
39240
39694
  @resource = args[:resource] if args.key?(:resource)
39241
39695
  end
39242
39696
  end
@@ -39265,16 +39719,16 @@ module Google
39265
39719
  class UrlRewrite
39266
39720
  include Google::Apis::Core::Hashable
39267
39721
 
39268
- # Prior to forwarding the request to the selected service, the request's host
39269
- # header is replaced with contents of hostRewrite. The value must be between 1
39270
- # and 255 characters.
39722
+ # Before forwarding the request to the selected service, the request's host
39723
+ # header is replaced with contents of hostRewrite. The value must be from 1 to
39724
+ # 255 characters.
39271
39725
  # Corresponds to the JSON property `hostRewrite`
39272
39726
  # @return [String]
39273
39727
  attr_accessor :host_rewrite
39274
39728
 
39275
- # Prior to forwarding the request to the selected backend service, the matching
39729
+ # Before forwarding the request to the selected backend service, the matching
39276
39730
  # portion of the request's path is replaced by pathPrefixRewrite. The value must
39277
- # be between 1 and 1024 characters.
39731
+ # be from 1 to 1024 characters.
39278
39732
  # Corresponds to the JSON property `pathPrefixRewrite`
39279
39733
  # @return [String]
39280
39734
  attr_accessor :path_prefix_rewrite
@@ -39784,6 +40238,12 @@ module Google
39784
40238
  # @return [String]
39785
40239
  attr_accessor :self_link
39786
40240
 
40241
+ # The stack type for this VPN gateway to identify the IP protocols that are
40242
+ # enabled. If not specified, IPV4_ONLY will be used.
40243
+ # Corresponds to the JSON property `stackType`
40244
+ # @return [String]
40245
+ attr_accessor :stack_type
40246
+
39787
40247
  # The list of VPN interfaces associated with this VPN gateway.
39788
40248
  # Corresponds to the JSON property `vpnInterfaces`
39789
40249
  # @return [Array<Google::Apis::ComputeBeta::VpnGatewayVpnGatewayInterface>]
@@ -39805,6 +40265,7 @@ module Google
39805
40265
  @network = args[:network] if args.key?(:network)
39806
40266
  @region = args[:region] if args.key?(:region)
39807
40267
  @self_link = args[:self_link] if args.key?(:self_link)
40268
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
39808
40269
  @vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
39809
40270
  end
39810
40271
  end
@@ -40928,14 +41389,13 @@ module Google
40928
41389
 
40929
41390
  # In contrast to a single BackendService in HttpRouteAction to which all
40930
41391
  # matching traffic is directed to, WeightedBackendService allows traffic to be
40931
- # split across multiple BackendServices. The volume of traffic for each
40932
- # BackendService is proportional to the weight specified in each
40933
- # WeightedBackendService
41392
+ # split across multiple backend services. The volume of traffic for each backend
41393
+ # service is proportional to the weight specified in each WeightedBackendService
40934
41394
  class WeightedBackendService
40935
41395
  include Google::Apis::Core::Hashable
40936
41396
 
40937
41397
  # The full or partial URL to the default BackendService resource. Before
40938
- # forwarding the request to backendService, the loadbalancer applies any
41398
+ # forwarding the request to backendService, the load balancer applies any
40939
41399
  # relevant headerActions specified as part of this backendServiceWeight.
40940
41400
  # Corresponds to the JSON property `backendService`
40941
41401
  # @return [String]
@@ -40947,12 +41407,12 @@ module Google
40947
41407
  # @return [Google::Apis::ComputeBeta::HttpHeaderAction]
40948
41408
  attr_accessor :header_action
40949
41409
 
40950
- # Specifies the fraction of traffic sent to backendService, computed as weight /
40951
- # (sum of all weightedBackendService weights in routeAction) . The selection of
40952
- # a backend service is determined only for new traffic. Once a user's request
40953
- # has been directed to a backendService, subsequent requests will be sent to the
40954
- # same backendService as determined by the BackendService's session affinity
40955
- # policy. The value must be between 0 and 1000
41410
+ # Specifies the fraction of traffic sent to a backend service, computed as
41411
+ # weight / (sum of all weightedBackendService weights in routeAction) . The
41412
+ # selection of a backend service is determined only for new traffic. Once a user'
41413
+ # s request has been directed to a backend service, subsequent requests are sent
41414
+ # to the same backend service as determined by the backend service's session
41415
+ # affinity policy. The value must be from 0 to 1000.
40956
41416
  # Corresponds to the JSON property `weight`
40957
41417
  # @return [Fixnum]
40958
41418
  attr_accessor :weight
@@ -41362,31 +41822,31 @@ module Google
41362
41822
 
41363
41823
  # An Identity and Access Management (IAM) policy, which specifies access
41364
41824
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
41365
- # A `binding` binds one or more `members` to a single `role`. Members can be
41366
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
41367
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
41368
- # role or a user-created custom role. For some types of Google Cloud resources,
41369
- # a `binding` can also specify a `condition`, which is a logical expression that
41370
- # allows access to a resource only if the expression evaluates to `true`. A
41371
- # condition can add constraints based on attributes of the request, the resource,
41372
- # or both. To learn which resources support conditions in their IAM policies,
41373
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
41374
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
41375
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
41376
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
41377
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
41378
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
41379
- # title": "expirable access", "description": "Does not grant access after Sep
41380
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
41381
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
41382
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
41383
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
41384
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
41385
- # roles/resourcemanager.organizationViewer condition: title: expirable access
41386
- # description: Does not grant access after Sep 2020 expression: request.time <
41387
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
41388
- # description of IAM and its features, see the [IAM documentation](https://cloud.
41389
- # google.com/iam/docs/).
41825
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
41826
+ # Principals can be user accounts, service accounts, Google groups, and domains (
41827
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
41828
+ # an IAM predefined role or a user-created custom role. For some types of Google
41829
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
41830
+ # logical expression that allows access to a resource only if the expression
41831
+ # evaluates to `true`. A condition can add constraints based on attributes of
41832
+ # the request, the resource, or both. To learn which resources support
41833
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
41834
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
41835
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
41836
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
41837
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
41838
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
41839
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
41840
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
41841
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
41842
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
41843
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
41844
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
41845
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
41846
+ # access description: Does not grant access after Sep 2020 expression: request.
41847
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
41848
+ # a description of IAM and its features, see the [IAM documentation](https://
41849
+ # cloud.google.com/iam/docs/).
41390
41850
  # Corresponds to the JSON property `policy`
41391
41851
  # @return [Google::Apis::ComputeBeta::Policy]
41392
41852
  attr_accessor :policy