google-apis-compute_v1 0.19.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -2565,6 +2565,12 @@ module Google
2565
2565
  # @return [String]
2566
2566
  attr_accessor :description
2567
2567
 
2568
+ # [Output Only] The resource URL for the edge security policy associated with
2569
+ # this backend bucket.
2570
+ # Corresponds to the JSON property `edgeSecurityPolicy`
2571
+ # @return [String]
2572
+ attr_accessor :edge_security_policy
2573
+
2568
2574
  # If true, enable Cloud CDN for this BackendBucket.
2569
2575
  # Corresponds to the JSON property `enableCdn`
2570
2576
  # @return [Boolean]
@@ -2607,6 +2613,7 @@ module Google
2607
2613
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2608
2614
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2609
2615
  @description = args[:description] if args.key?(:description)
2616
+ @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
2610
2617
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
2611
2618
  @id = args[:id] if args.key?(:id)
2612
2619
  @kind = args[:kind] if args.key?(:kind)
@@ -2977,6 +2984,11 @@ module Google
2977
2984
  # @return [Google::Apis::ComputeV1::ConnectionDraining]
2978
2985
  attr_accessor :connection_draining
2979
2986
 
2987
+ # Connection Tracking configuration for this BackendService.
2988
+ # Corresponds to the JSON property `connectionTrackingPolicy`
2989
+ # @return [Google::Apis::ComputeV1::BackendServiceConnectionTrackingPolicy]
2990
+ attr_accessor :connection_tracking_policy
2991
+
2980
2992
  # This message defines settings for a consistent hash style load balancer.
2981
2993
  # Corresponds to the JSON property `consistentHash`
2982
2994
  # @return [Google::Apis::ComputeV1::ConsistentHashLoadBalancerSettings]
@@ -3005,6 +3017,12 @@ module Google
3005
3017
  # @return [String]
3006
3018
  attr_accessor :description
3007
3019
 
3020
+ # [Output Only] The resource URL for the edge security policy associated with
3021
+ # this backend service.
3022
+ # Corresponds to the JSON property `edgeSecurityPolicy`
3023
+ # @return [String]
3024
+ attr_accessor :edge_security_policy
3025
+
3008
3026
  # If true, enables Cloud CDN for the backend service of an external HTTP(S) load
3009
3027
  # balancer.
3010
3028
  # Corresponds to the JSON property `enableCDN`
@@ -3092,8 +3110,8 @@ module Google
3092
3110
  # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
3093
3111
  # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
3094
3112
  # is not set to MAGLEV or RING_HASH, session affinity settings will not take
3095
- # effect. Only the default ROUND_ROBIN policy is supported when the backend
3096
- # service is referenced by a URL map that is bound to target gRPC proxy that has
3113
+ # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
3114
+ # is referenced by a URL map that is bound to target gRPC proxy that has
3097
3115
  # validateForProxyless field set to true.
3098
3116
  # Corresponds to the JSON property `localityLbPolicy`
3099
3117
  # @return [String]
@@ -3186,11 +3204,11 @@ module Google
3186
3204
  # @return [String]
3187
3205
  attr_accessor :self_link
3188
3206
 
3189
- # Type of session affinity to use. The default is NONE. For a detailed
3190
- # description of session affinity options, see: [Session affinity](https://cloud.
3191
- # google.com/load-balancing/docs/backend-service#session_affinity). Not
3192
- # supported when the backend service is referenced by a URL map that is bound to
3193
- # target gRPC proxy that has validateForProxyless field set to true.
3207
+ # Type of session affinity to use. The default is NONE. Only NONE and
3208
+ # HEADER_FIELD are supported when the backend service is referenced by a URL map
3209
+ # that is bound to target gRPC proxy that has validateForProxyless field set to
3210
+ # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
3211
+ # balancing/docs/backend-service#session_affinity).
3194
3212
  # Corresponds to the JSON property `sessionAffinity`
3195
3213
  # @return [String]
3196
3214
  attr_accessor :session_affinity
@@ -3220,11 +3238,13 @@ module Google
3220
3238
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
3221
3239
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
3222
3240
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
3241
+ @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3223
3242
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
3224
3243
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
3225
3244
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3226
3245
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3227
3246
  @description = args[:description] if args.key?(:description)
3247
+ @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3228
3248
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3229
3249
  @failover_policy = args[:failover_policy] if args.key?(:failover_policy)
3230
3250
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -3581,6 +3601,66 @@ module Google
3581
3601
  end
3582
3602
  end
3583
3603
 
3604
+ # Connection Tracking configuration for this BackendService.
3605
+ class BackendServiceConnectionTrackingPolicy
3606
+ include Google::Apis::Core::Hashable
3607
+
3608
+ # Specifies connection persistence when backends are unhealthy. The default
3609
+ # value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing
3610
+ # connections persist on unhealthy backends only for connection-oriented
3611
+ # protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (
3612
+ # default tracking mode) or the Session Affinity is configured for 5-tuple. They
3613
+ # do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes
3614
+ # unhealthy, the existing connections on the unhealthy backend are never
3615
+ # persisted on the unhealthy backend. They are always diverted to newly selected
3616
+ # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
3617
+ # existing connections always persist on unhealthy backends regardless of
3618
+ # protocol and session affinity. It is generally not recommended to use this
3619
+ # mode overriding the default. For more details, see [Connection Persistence for
3620
+ # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
3621
+ # networklb-backend-service#connection-persistence) and [Connection Persistence
3622
+ # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
3623
+ # docs/internal#connection-persistence).
3624
+ # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
3625
+ # @return [String]
3626
+ attr_accessor :connection_persistence_on_unhealthy_backends
3627
+
3628
+ # Specifies how long to keep a Connection Tracking entry while there is no
3629
+ # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
3630
+ # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
3631
+ # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
3632
+ # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
3633
+ # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
3634
+ # is not available publicly.
3635
+ # Corresponds to the JSON property `idleTimeoutSec`
3636
+ # @return [Fixnum]
3637
+ attr_accessor :idle_timeout_sec
3638
+
3639
+ # Specifies the key used for connection tracking. There are two options: -
3640
+ # PER_CONNECTION: This is the default mode. The Connection Tracking is performed
3641
+ # as per the Connection Key (default Hash Method) for the specific protocol. -
3642
+ # PER_SESSION: The Connection Tracking is performed as per the configured
3643
+ # Session Affinity. It matches the configured Session Affinity. For more details,
3644
+ # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
3645
+ # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
3646
+ # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
3647
+ # balancing/docs/internal#tracking-mode).
3648
+ # Corresponds to the JSON property `trackingMode`
3649
+ # @return [String]
3650
+ attr_accessor :tracking_mode
3651
+
3652
+ def initialize(**args)
3653
+ update!(**args)
3654
+ end
3655
+
3656
+ # Update properties of this object
3657
+ def update!(**args)
3658
+ @connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
3659
+ @idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
3660
+ @tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
3661
+ end
3662
+ end
3663
+
3584
3664
  # For load balancers that have configurable failover: [Internal TCP/UDP Load
3585
3665
  # Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
3586
3666
  # overview) and [external TCP/UDP Load Balancing](/network/networklb-failover-
@@ -4219,7 +4299,7 @@ module Google
4219
4299
  end
4220
4300
  end
4221
4301
 
4222
- # Associates `members` with a `role`.
4302
+ # Associates `members`, or principals, with a `role`.
4223
4303
  class Binding
4224
4304
  include Google::Apis::Core::Hashable
4225
4305
 
@@ -4247,7 +4327,7 @@ module Google
4247
4327
  # @return [Google::Apis::ComputeV1::Expr]
4248
4328
  attr_accessor :condition
4249
4329
 
4250
- # Specifies the identities requesting access for a Cloud Platform resource. `
4330
+ # Specifies the principals requesting access for a Cloud Platform resource. `
4251
4331
  # members` can have the following values: * `allUsers`: A special identifier
4252
4332
  # that represents anyone who is on the internet; with or without a Google
4253
4333
  # account. * `allAuthenticatedUsers`: A special identifier that represents
@@ -4277,8 +4357,8 @@ module Google
4277
4357
  # @return [Array<String>]
4278
4358
  attr_accessor :members
4279
4359
 
4280
- # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
4281
- # , or `roles/owner`.
4360
+ # Role that is assigned to the list of `members`, or principals. For example, `
4361
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
4282
4362
  # Corresponds to the JSON property `role`
4283
4363
  # @return [String]
4284
4364
  attr_accessor :role
@@ -5152,14 +5232,15 @@ module Google
5152
5232
  end
5153
5233
  end
5154
5234
 
5155
- # The specification for allowing client side cross-origin requests. Please see
5156
- # W3C Recommendation for Cross Origin Resource Sharing
5235
+ # The specification for allowing client-side cross-origin requests. For more
5236
+ # information about the W3C recommendation for cross-origin resource sharing (
5237
+ # CORS), see Fetch API Living Standard.
5157
5238
  class CorsPolicy
5158
5239
  include Google::Apis::Core::Hashable
5159
5240
 
5160
5241
  # In response to a preflight request, setting this to true indicates that the
5161
- # actual request can include user credentials. This translates to the Access-
5162
- # Control-Allow-Credentials header. Default is false.
5242
+ # actual request can include user credentials. This field translates to the
5243
+ # Access-Control-Allow-Credentials header. Default is false.
5163
5244
  # Corresponds to the JSON property `allowCredentials`
5164
5245
  # @return [Boolean]
5165
5246
  attr_accessor :allow_credentials
@@ -5175,23 +5256,23 @@ module Google
5175
5256
  # @return [Array<String>]
5176
5257
  attr_accessor :allow_methods
5177
5258
 
5178
- # Specifies the regualar expression patterns that match allowed origins. For
5179
- # regular expression grammar please see github.com/google/re2/wiki/Syntax An
5180
- # origin is allowed if it matches either an item in allowOrigins or an item in
5259
+ # Specifies a regular expression that matches allowed origins. For more
5260
+ # information about the regular expression syntax, see Syntax. An origin is
5261
+ # allowed if it matches either an item in allowOrigins or an item in
5181
5262
  # allowOriginRegexes.
5182
5263
  # Corresponds to the JSON property `allowOriginRegexes`
5183
5264
  # @return [Array<String>]
5184
5265
  attr_accessor :allow_origin_regexes
5185
5266
 
5186
- # Specifies the list of origins that will be allowed to do CORS requests. An
5187
- # origin is allowed if it matches either an item in allowOrigins or an item in
5267
+ # Specifies the list of origins that is allowed to do CORS requests. An origin
5268
+ # is allowed if it matches either an item in allowOrigins or an item in
5188
5269
  # allowOriginRegexes.
5189
5270
  # Corresponds to the JSON property `allowOrigins`
5190
5271
  # @return [Array<String>]
5191
5272
  attr_accessor :allow_origins
5192
5273
 
5193
- # If true, specifies the CORS policy is disabled. The default value of false,
5194
- # which indicates that the CORS policy is in effect.
5274
+ # If true, the setting specifies the CORS policy is disabled. The default value
5275
+ # of false, which indicates that the CORS policy is in effect.
5195
5276
  # Corresponds to the JSON property `disabled`
5196
5277
  # @return [Boolean]
5197
5278
  attr_accessor :disabled
@@ -5203,7 +5284,7 @@ module Google
5203
5284
  attr_accessor :expose_headers
5204
5285
 
5205
5286
  # Specifies how long results of a preflight request can be cached in seconds.
5206
- # This translates to the Access-Control-Max-Age header.
5287
+ # This field translates to the Access-Control-Max-Age header.
5207
5288
  # Corresponds to the JSON property `maxAge`
5208
5289
  # @return [Fixnum]
5209
5290
  attr_accessor :max_age
@@ -8909,31 +8990,31 @@ module Google
8909
8990
 
8910
8991
  # An Identity and Access Management (IAM) policy, which specifies access
8911
8992
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
8912
- # A `binding` binds one or more `members` to a single `role`. Members can be
8913
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
8914
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
8915
- # role or a user-created custom role. For some types of Google Cloud resources,
8916
- # a `binding` can also specify a `condition`, which is a logical expression that
8917
- # allows access to a resource only if the expression evaluates to `true`. A
8918
- # condition can add constraints based on attributes of the request, the resource,
8919
- # or both. To learn which resources support conditions in their IAM policies,
8920
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
8921
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
8922
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
8923
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
8924
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
8925
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
8926
- # title": "expirable access", "description": "Does not grant access after Sep
8927
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
8928
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
8929
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
8930
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
8931
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
8932
- # roles/resourcemanager.organizationViewer condition: title: expirable access
8933
- # description: Does not grant access after Sep 2020 expression: request.time <
8934
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
8935
- # description of IAM and its features, see the [IAM documentation](https://cloud.
8936
- # google.com/iam/docs/).
8993
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
8994
+ # Principals can be user accounts, service accounts, Google groups, and domains (
8995
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
8996
+ # an IAM predefined role or a user-created custom role. For some types of Google
8997
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
8998
+ # logical expression that allows access to a resource only if the expression
8999
+ # evaluates to `true`. A condition can add constraints based on attributes of
9000
+ # the request, the resource, or both. To learn which resources support
9001
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9002
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9003
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9004
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9005
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9006
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9007
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9008
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9009
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9010
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9011
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9012
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9013
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9014
+ # access description: Does not grant access after Sep 2020 expression: request.
9015
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9016
+ # a description of IAM and its features, see the [IAM documentation](https://
9017
+ # cloud.google.com/iam/docs/).
8937
9018
  # Corresponds to the JSON property `policy`
8938
9019
  # @return [Google::Apis::ComputeV1::Policy]
8939
9020
  attr_accessor :policy
@@ -9006,31 +9087,31 @@ module Google
9006
9087
 
9007
9088
  # An Identity and Access Management (IAM) policy, which specifies access
9008
9089
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
9009
- # A `binding` binds one or more `members` to a single `role`. Members can be
9010
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
9011
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
9012
- # role or a user-created custom role. For some types of Google Cloud resources,
9013
- # a `binding` can also specify a `condition`, which is a logical expression that
9014
- # allows access to a resource only if the expression evaluates to `true`. A
9015
- # condition can add constraints based on attributes of the request, the resource,
9016
- # or both. To learn which resources support conditions in their IAM policies,
9017
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
9018
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
9019
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
9020
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
9021
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
9022
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
9023
- # title": "expirable access", "description": "Does not grant access after Sep
9024
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
9025
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
9026
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
9027
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
9028
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
9029
- # roles/resourcemanager.organizationViewer condition: title: expirable access
9030
- # description: Does not grant access after Sep 2020 expression: request.time <
9031
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
9032
- # description of IAM and its features, see the [IAM documentation](https://cloud.
9033
- # google.com/iam/docs/).
9090
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
9091
+ # Principals can be user accounts, service accounts, Google groups, and domains (
9092
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
9093
+ # an IAM predefined role or a user-created custom role. For some types of Google
9094
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
9095
+ # logical expression that allows access to a resource only if the expression
9096
+ # evaluates to `true`. A condition can add constraints based on attributes of
9097
+ # the request, the resource, or both. To learn which resources support
9098
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
9099
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
9100
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
9101
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9102
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9103
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9104
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9105
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9106
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
9107
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9108
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9109
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9110
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9111
+ # access description: Does not grant access after Sep 2020 expression: request.
9112
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
9113
+ # a description of IAM and its features, see the [IAM documentation](https://
9114
+ # cloud.google.com/iam/docs/).
9034
9115
  # Corresponds to the JSON property `policy`
9035
9116
  # @return [Google::Apis::ComputeV1::Policy]
9036
9117
  attr_accessor :policy
@@ -9152,8 +9233,11 @@ module Google
9152
9233
  class GuestOsFeature
9153
9234
  include Google::Apis::Core::Hashable
9154
9235
 
9155
- # The ID of a supported feature. Read Enabling guest operating system features
9156
- # to see a list of available options.
9236
+ # The ID of a supported feature. To add multiple values, use commas to separate
9237
+ # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
9238
+ # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
9239
+ # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
9240
+ # guest operating system features.
9157
9241
  # Corresponds to the JSON property `type`
9158
9242
  # @return [String]
9159
9243
  attr_accessor :type
@@ -10301,7 +10385,8 @@ module Google
10301
10385
  # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
10302
10386
  # In that case, * must be the first character and must be followed in the
10303
10387
  # pattern by either - or .. * based matching is not supported when the URL map
10304
- # is bound to target gRPC proxy that has validateForProxyless field set to true.
10388
+ # is bound to a target gRPC proxy that has the validateForProxyless field set to
10389
+ # true.
10305
10390
  # Corresponds to the JSON property `hosts`
10306
10391
  # @return [Array<String>]
10307
10392
  attr_accessor :hosts
@@ -10328,8 +10413,8 @@ module Google
10328
10413
  class HttpFaultAbort
10329
10414
  include Google::Apis::Core::Hashable
10330
10415
 
10331
- # The HTTP status code used to abort the request. The value must be between 200
10332
- # and 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10416
+ # The HTTP status code used to abort the request. The value must be from 200 to
10417
+ # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
10333
10418
  # status code according to this mapping table. HTTP status 200 is mapped to gRPC
10334
10419
  # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
10335
10420
  # Director.
@@ -10337,8 +10422,8 @@ module Google
10337
10422
  # @return [Fixnum]
10338
10423
  attr_accessor :http_status
10339
10424
 
10340
- # The percentage of traffic (connections/operations/requests) which will be
10341
- # aborted as part of fault injection. The value must be between 0.0 and 100.0
10425
+ # The percentage of traffic for connections, operations, or requests that is
10426
+ # aborted as part of fault injection. The value must be from 0.0 to 100.0
10342
10427
  # inclusive.
10343
10428
  # Corresponds to the JSON property `percentage`
10344
10429
  # @return [Float]
@@ -10355,8 +10440,8 @@ module Google
10355
10440
  end
10356
10441
  end
10357
10442
 
10358
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10359
- # to the backend service as part of fault injection.
10443
+ # Specifies the delay introduced by the load balancer before forwarding the
10444
+ # request to the backend service as part of fault injection.
10360
10445
  class HttpFaultDelay
10361
10446
  include Google::Apis::Core::Hashable
10362
10447
 
@@ -10368,9 +10453,9 @@ module Google
10368
10453
  # @return [Google::Apis::ComputeV1::Duration]
10369
10454
  attr_accessor :fixed_delay
10370
10455
 
10371
- # The percentage of traffic (connections/operations/requests) on which delay
10372
- # will be introduced as part of fault injection. The value must be between 0.0
10373
- # and 100.0 inclusive.
10456
+ # The percentage of traffic for connections, operations, or requests for which a
10457
+ # delay is introduced as part of fault injection. The value must be from 0.0 to
10458
+ # 100.0 inclusive.
10374
10459
  # Corresponds to the JSON property `percentage`
10375
10460
  # @return [Float]
10376
10461
  attr_accessor :percentage
@@ -10389,9 +10474,9 @@ module Google
10389
10474
  # The specification for fault injection introduced into traffic to test the
10390
10475
  # resiliency of clients to backend service failure. As part of fault injection,
10391
10476
  # when clients send requests to a backend service, delays can be introduced by
10392
- # Loadbalancer on a percentage of requests before sending those request to the
10393
- # backend service. Similarly requests from clients can be aborted by the
10394
- # Loadbalancer for a percentage of requests.
10477
+ # the load balancer on a percentage of requests before sending those request to
10478
+ # the backend service. Similarly requests from clients can be aborted by the
10479
+ # load balancer for a percentage of requests.
10395
10480
  class HttpFaultInjection
10396
10481
  include Google::Apis::Core::Hashable
10397
10482
 
@@ -10400,8 +10485,8 @@ module Google
10400
10485
  # @return [Google::Apis::ComputeV1::HttpFaultAbort]
10401
10486
  attr_accessor :abort
10402
10487
 
10403
- # Specifies the delay introduced by Loadbalancer before forwarding the request
10404
- # to the backend service as part of fault injection.
10488
+ # Specifies the delay introduced by the load balancer before forwarding the
10489
+ # request to the backend service as part of fault injection.
10405
10490
  # Corresponds to the JSON property `delay`
10406
10491
  # @return [Google::Apis::ComputeV1::HttpFaultDelay]
10407
10492
  attr_accessor :delay
@@ -10422,25 +10507,25 @@ module Google
10422
10507
  class HttpHeaderAction
10423
10508
  include Google::Apis::Core::Hashable
10424
10509
 
10425
- # Headers to add to a matching request prior to forwarding the request to the
10510
+ # Headers to add to a matching request before forwarding the request to the
10426
10511
  # backendService.
10427
10512
  # Corresponds to the JSON property `requestHeadersToAdd`
10428
10513
  # @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
10429
10514
  attr_accessor :request_headers_to_add
10430
10515
 
10431
10516
  # A list of header names for headers that need to be removed from the request
10432
- # prior to forwarding the request to the backendService.
10517
+ # before forwarding the request to the backendService.
10433
10518
  # Corresponds to the JSON property `requestHeadersToRemove`
10434
10519
  # @return [Array<String>]
10435
10520
  attr_accessor :request_headers_to_remove
10436
10521
 
10437
- # Headers to add the response prior to sending the response back to the client.
10522
+ # Headers to add the response before sending the response back to the client.
10438
10523
  # Corresponds to the JSON property `responseHeadersToAdd`
10439
10524
  # @return [Array<Google::Apis::ComputeV1::HttpHeaderOption>]
10440
10525
  attr_accessor :response_headers_to_add
10441
10526
 
10442
10527
  # A list of header names for headers that need to be removed from the response
10443
- # prior to sending the response back to the client.
10528
+ # before sending the response back to the client.
10444
10529
  # Corresponds to the JSON property `responseHeadersToRemove`
10445
10530
  # @return [Array<String>]
10446
10531
  attr_accessor :response_headers_to_remove
@@ -10470,21 +10555,21 @@ module Google
10470
10555
 
10471
10556
  # The name of the HTTP header to match. For matching against the HTTP request's
10472
10557
  # authority, use a headerMatch with the header name ":authority". For matching a
10473
- # request's method, use the headerName ":method". When the URL map is bound to
10474
- # target gRPC proxy that has validateForProxyless field set to true, only non-
10475
- # binary user-specified custom metadata and the `content-type` header are
10558
+ # request's method, use the headerName ":method". When the URL map is bound to a
10559
+ # target gRPC proxy that has the validateForProxyless field set to true, only
10560
+ # non-binary user-specified custom metadata and the `content-type` header are
10476
10561
  # supported. The following transport-level headers cannot be used in header
10477
10562
  # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
10478
10563
  # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
10479
10564
  # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
10480
- # bin.
10565
+ # bin`.
10481
10566
  # Corresponds to the JSON property `headerName`
10482
10567
  # @return [String]
10483
10568
  attr_accessor :header_name
10484
10569
 
10485
- # If set to false, the headerMatch is considered a match if the match criteria
10486
- # above are met. If set to true, the headerMatch is considered a match if the
10487
- # match criteria above are NOT met. The default setting is false.
10570
+ # If set to false, the headerMatch is considered a match if the preceding match
10571
+ # criteria are met. If set to true, the headerMatch is considered a match if the
10572
+ # preceding match criteria are NOT met. The default setting is false.
10488
10573
  # Corresponds to the JSON property `invertMatch`
10489
10574
  # @return [Boolean]
10490
10575
  attr_accessor :invert_match
@@ -10512,13 +10597,13 @@ module Google
10512
10597
  attr_accessor :range_match
10513
10598
 
10514
10599
  # The value of the header must match the regular expression specified in
10515
- # regexMatch. For regular expression grammar, please see: github.com/google/re2/
10516
- # wiki/Syntax For matching against a port specified in the HTTP request, use a
10517
- # headerMatch with headerName set to PORT and a regular expression that
10518
- # satisfies the RFC2616 Host header's port specifier. Only one of exactMatch,
10519
- # prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
10520
- # Note that regexMatch only applies to Loadbalancers that have their
10521
- # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
10600
+ # regexMatch. For more information about regular expression syntax, see Syntax.
10601
+ # For matching against a port specified in the HTTP request, use a headerMatch
10602
+ # with headerName set to PORT and a regular expression that satisfies the
10603
+ # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
10604
+ # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
10605
+ # only applies to load balancers that have loadBalancingScheme set to
10606
+ # INTERNAL_SELF_MANAGED.
10522
10607
  # Corresponds to the JSON property `regexMatch`
10523
10608
  # @return [String]
10524
10609
  attr_accessor :regex_match
@@ -10813,8 +10898,8 @@ module Google
10813
10898
  include Google::Apis::Core::Hashable
10814
10899
 
10815
10900
  # The queryParameterMatch matches if the value of the parameter exactly matches
10816
- # the contents of exactMatch. Only one of presentMatch, exactMatch or regexMatch
10817
- # must be set.
10901
+ # the contents of exactMatch. Only one of presentMatch, exactMatch, or
10902
+ # regexMatch must be set.
10818
10903
  # Corresponds to the JSON property `exactMatch`
10819
10904
  # @return [String]
10820
10905
  attr_accessor :exact_match
@@ -10827,17 +10912,17 @@ module Google
10827
10912
 
10828
10913
  # Specifies that the queryParameterMatch matches if the request contains the
10829
10914
  # query parameter, irrespective of whether the parameter has a value or not.
10830
- # Only one of presentMatch, exactMatch or regexMatch must be set.
10915
+ # Only one of presentMatch, exactMatch, or regexMatch must be set.
10831
10916
  # Corresponds to the JSON property `presentMatch`
10832
10917
  # @return [Boolean]
10833
10918
  attr_accessor :present_match
10834
10919
  alias_method :present_match?, :present_match
10835
10920
 
10836
10921
  # The queryParameterMatch matches if the value of the parameter matches the
10837
- # regular expression specified by regexMatch. For the regular expression grammar,
10838
- # please see github.com/google/re2/wiki/Syntax Only one of presentMatch,
10839
- # exactMatch or regexMatch must be set. Note that regexMatch only applies when
10840
- # the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
10922
+ # regular expression specified by regexMatch. For more information about regular
10923
+ # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
10924
+ # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
10925
+ # is set to INTERNAL_SELF_MANAGED.
10841
10926
  # Corresponds to the JSON property `regexMatch`
10842
10927
  # @return [String]
10843
10928
  attr_accessor :regex_match
@@ -10859,15 +10944,15 @@ module Google
10859
10944
  class HttpRedirectAction
10860
10945
  include Google::Apis::Core::Hashable
10861
10946
 
10862
- # The host that will be used in the redirect response instead of the one that
10863
- # was supplied in the request. The value must be between 1 and 255 characters.
10947
+ # The host that is used in the redirect response instead of the one that was
10948
+ # supplied in the request. The value must be from 1 to 255 characters.
10864
10949
  # Corresponds to the JSON property `hostRedirect`
10865
10950
  # @return [String]
10866
10951
  attr_accessor :host_redirect
10867
10952
 
10868
- # If set to true, the URL scheme in the redirected request is set to https. If
10869
- # set to false, the URL scheme of the redirected request will remain the same as
10870
- # that of the request. This must only be set for UrlMaps used in
10953
+ # If set to true, the URL scheme in the redirected request is set to HTTPS. If
10954
+ # set to false, the URL scheme of the redirected request remains the same as
10955
+ # that of the request. This must only be set for URL maps used in
10871
10956
  # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
10872
10957
  # default is set to false.
10873
10958
  # Corresponds to the JSON property `httpsRedirect`
@@ -10875,11 +10960,11 @@ module Google
10875
10960
  attr_accessor :https_redirect
10876
10961
  alias_method :https_redirect?, :https_redirect
10877
10962
 
10878
- # The path that will be used in the redirect response instead of the one that
10879
- # was supplied in the request. pathRedirect cannot be supplied together with
10963
+ # The path that is used in the redirect response instead of the one that was
10964
+ # supplied in the request. pathRedirect cannot be supplied together with
10880
10965
  # prefixRedirect. Supply one alone or neither. If neither is supplied, the path
10881
- # of the original request will be used for the redirect. The value must be
10882
- # between 1 and 1024 characters.
10966
+ # of the original request is used for the redirect. The value must be from 1 to
10967
+ # 1024 characters.
10883
10968
  # Corresponds to the JSON property `pathRedirect`
10884
10969
  # @return [String]
10885
10970
  attr_accessor :path_redirect
@@ -10887,8 +10972,8 @@ module Google
10887
10972
  # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
10888
10973
  # retaining the remaining portion of the URL before redirecting the request.
10889
10974
  # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
10890
- # or neither. If neither is supplied, the path of the original request will be
10891
- # used for the redirect. The value must be between 1 and 1024 characters.
10975
+ # or neither. If neither is supplied, the path of the original request is used
10976
+ # for the redirect. The value must be from 1 to 1024 characters.
10892
10977
  # Corresponds to the JSON property `prefixRedirect`
10893
10978
  # @return [String]
10894
10979
  attr_accessor :prefix_redirect
@@ -10897,14 +10982,14 @@ module Google
10897
10982
  # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
10898
10983
  # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
10899
10984
  # TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
10900
- # will be retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case,
10901
- # the request method will be retained.
10985
+ # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
10986
+ # request method is retained.
10902
10987
  # Corresponds to the JSON property `redirectResponseCode`
10903
10988
  # @return [String]
10904
10989
  attr_accessor :redirect_response_code
10905
10990
 
10906
10991
  # If set to true, any accompanying query portion of the original URL is removed
10907
- # prior to redirecting the request. If set to false, the query portion of the
10992
+ # before redirecting the request. If set to false, the query portion of the
10908
10993
  # original URL is retained. The default is set to false.
10909
10994
  # Corresponds to the JSON property `stripQuery`
10910
10995
  # @return [Boolean]
@@ -10945,25 +11030,27 @@ module Google
10945
11030
  attr_accessor :per_try_timeout
10946
11031
 
10947
11032
  # Specifies one or more conditions when this retry policy applies. Valid values
10948
- # are: - 5xx: Retry will be attempted if the instance or endpoint responds with
10949
- # any 5xx response code, or if the instance or endpoint does not respond at all,
10950
- # example: disconnects, reset, read timeout, connection failure, and refused
11033
+ # are: - 5xx: retry is attempted if the instance or endpoint responds with any
11034
+ # 5xx response code, or if the instance or endpoint does not respond at all. For
11035
+ # example, disconnects, reset, read timeout, connection failure, and refused
10951
11036
  # streams. - gateway-error: Similar to 5xx, but only applies to response codes
10952
- # 502, 503 or 504. - - connect-failure: A retry will be attempted on failures
10953
- # connecting to the instance or endpoint, for example due to connection timeouts.
10954
- # - retriable-4xx: A retry will be attempted if the instance or endpoint
10955
- # responds with a retriable 4xx response code. Currently the only retriable
10956
- # error supported is 409. - refused-stream: A retry will be attempted if the
10957
- # instance or endpoint resets the stream with a REFUSED_STREAM error code. This
10958
- # reset type indicates that it is safe to retry. - cancelled: A retry will be
10959
- # attempted if the gRPC status code in the response header is set to cancelled. -
10960
- # deadline-exceeded: A retry will be attempted if the gRPC status code in the
10961
- # response header is set to deadline-exceeded. - internal: A retry will be
10962
- # attempted if the gRPC status code in the response header is set to internal. -
10963
- # resource-exhausted: A retry will be attempted if the gRPC status code in the
10964
- # response header is set to resource-exhausted. - unavailable: A retry will be
10965
- # attempted if the gRPC status code in the response header is set to unavailable.
10966
- #
11037
+ # 502, 503 or 504. - connect-failure: a retry is attempted on failures
11038
+ # connecting to the instance or endpoint. For example, connection timeouts. -
11039
+ # retriable-4xx: a retry is attempted if the instance or endpoint responds with
11040
+ # a 4xx response code. The only error that you can retry is error code 409. -
11041
+ # refused-stream: a retry is attempted if the instance or endpoint resets the
11042
+ # stream with a REFUSED_STREAM error code. This reset type indicates that it is
11043
+ # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
11044
+ # the response header is set to cancelled. - deadline-exceeded: a retry is
11045
+ # attempted if the gRPC status code in the response header is set to deadline-
11046
+ # exceeded. - internal: a retry is attempted if the gRPC status code in the
11047
+ # response header is set to internal. - resource-exhausted: a retry is attempted
11048
+ # if the gRPC status code in the response header is set to resource-exhausted. -
11049
+ # unavailable: a retry is attempted if the gRPC status code in the response
11050
+ # header is set to unavailable. Only the following codes are supported when the
11051
+ # URL map is bound to target gRPC proxy that has validateForProxyless field set
11052
+ # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
11053
+ # unavailable
10967
11054
  # Corresponds to the JSON property `retryConditions`
10968
11055
  # @return [Array<String>]
10969
11056
  attr_accessor :retry_conditions
@@ -10984,8 +11071,9 @@ module Google
10984
11071
  class HttpRouteAction
10985
11072
  include Google::Apis::Core::Hashable
10986
11073
 
10987
- # The specification for allowing client side cross-origin requests. Please see
10988
- # W3C Recommendation for Cross Origin Resource Sharing
11074
+ # The specification for allowing client-side cross-origin requests. For more
11075
+ # information about the W3C recommendation for cross-origin resource sharing (
11076
+ # CORS), see Fetch API Living Standard.
10989
11077
  # Corresponds to the JSON property `corsPolicy`
10990
11078
  # @return [Google::Apis::ComputeV1::CorsPolicy]
10991
11079
  attr_accessor :cors_policy
@@ -10993,9 +11081,9 @@ module Google
10993
11081
  # The specification for fault injection introduced into traffic to test the
10994
11082
  # resiliency of clients to backend service failure. As part of fault injection,
10995
11083
  # when clients send requests to a backend service, delays can be introduced by
10996
- # Loadbalancer on a percentage of requests before sending those request to the
10997
- # backend service. Similarly requests from clients can be aborted by the
10998
- # Loadbalancer for a percentage of requests.
11084
+ # the load balancer on a percentage of requests before sending those request to
11085
+ # the backend service. Similarly requests from clients can be aborted by the
11086
+ # load balancer for a percentage of requests.
10999
11087
  # Corresponds to the JSON property `faultInjectionPolicy`
11000
11088
  # @return [Google::Apis::ComputeV1::HttpFaultInjection]
11001
11089
  attr_accessor :fault_injection_policy
@@ -11009,9 +11097,9 @@ module Google
11009
11097
  attr_accessor :max_stream_duration
11010
11098
 
11011
11099
  # A policy that specifies how requests intended for the route's backends are
11012
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11013
- # for responses from the shadow service. Prior to sending traffic to the shadow
11014
- # service, the host / authority header is suffixed with -shadow.
11100
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
11101
+ # wait for responses from the shadow service. Before sending traffic to the
11102
+ # shadow service, the host or authority header is suffixed with -shadow.
11015
11103
  # Corresponds to the JSON property `requestMirrorPolicy`
11016
11104
  # @return [Google::Apis::ComputeV1::RequestMirrorPolicy]
11017
11105
  attr_accessor :request_mirror_policy
@@ -11039,7 +11127,7 @@ module Google
11039
11127
  # occurs. The weights determine the fraction of traffic that flows to their
11040
11128
  # corresponding backend service. If all traffic needs to go to a single backend
11041
11129
  # service, there must be one weightedBackendService with weight set to a non-
11042
- # zero number. Once a backendService is identified and before forwarding the
11130
+ # zero number. After a backend service is identified and before forwarding the
11043
11131
  # request to the backend service, advanced routing actions such as URL rewrites
11044
11132
  # and header transformations are applied depending on additional settings
11045
11133
  # specified in this HttpRouteAction.
@@ -11064,8 +11152,8 @@ module Google
11064
11152
  end
11065
11153
  end
11066
11154
 
11067
- # An HttpRouteRule specifies how to match an HTTP request and the corresponding
11068
- # routing action that load balancing proxies will perform.
11155
+ # The HttpRouteRule setting specifies how to match an HTTP request and the
11156
+ # corresponding routing action that load balancing proxies perform.
11069
11157
  class HttpRouteRule
11070
11158
  include Google::Apis::Core::Hashable
11071
11159
 
@@ -11091,11 +11179,11 @@ module Google
11091
11179
  attr_accessor :match_rules
11092
11180
 
11093
11181
  # For routeRules within a given pathMatcher, priority determines the order in
11094
- # which load balancer will interpret routeRules. RouteRules are evaluated in
11095
- # order of priority, from the lowest to highest number. The priority of a rule
11182
+ # which a load balancer interprets routeRules. RouteRules are evaluated in order
11183
+ # of priority, from the lowest to highest number. The priority of a rule
11096
11184
  # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
11097
11185
  # the request is applied. You cannot configure two or more routeRules with the
11098
- # same priority. Priority for each rule must be set to a number between 0 and
11186
+ # same priority. Priority for each rule must be set to a number from 0 to
11099
11187
  # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
11100
11188
  # or remove rules in the future without affecting the rest of the rules. For
11101
11189
  # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
@@ -11106,24 +11194,24 @@ module Google
11106
11194
  attr_accessor :priority
11107
11195
 
11108
11196
  # In response to a matching matchRule, the load balancer performs advanced
11109
- # routing actions like URL rewrites, header transformations, etc. prior to
11197
+ # routing actions, such as URL rewrites and header transformations, before
11110
11198
  # forwarding the request to the selected backend. If routeAction specifies any
11111
11199
  # weightedBackendServices, service must not be set. Conversely if service is set,
11112
11200
  # routeAction cannot contain any weightedBackendServices. Only one of
11113
11201
  # urlRedirect, service or routeAction.weightedBackendService must be set.
11114
11202
  # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
11115
- # within a routeRule's routeAction.
11203
+ # within a route rule's routeAction.
11116
11204
  # Corresponds to the JSON property `routeAction`
11117
11205
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
11118
11206
  attr_accessor :route_action
11119
11207
 
11120
11208
  # The full or partial URL of the backend service resource to which traffic is
11121
- # directed if this rule is matched. If routeAction is additionally specified,
11122
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
11123
- # the request to the backend. However, if service is specified, routeAction
11124
- # cannot contain any weightedBackendService s. Conversely, if routeAction
11125
- # specifies any weightedBackendServices, service must not be specified. Only one
11126
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
11209
+ # directed if this rule is matched. If routeAction is also specified, advanced
11210
+ # routing actions, such as URL rewrites, take effect before sending the request
11211
+ # to the backend. However, if service is specified, routeAction cannot contain
11212
+ # any weightedBackendServices. Conversely, if routeAction specifies any
11213
+ # weightedBackendServices, service must not be specified. Only one of
11214
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
11127
11215
  # Corresponds to the JSON property `service`
11128
11216
  # @return [String]
11129
11217
  attr_accessor :service
@@ -11156,9 +11244,9 @@ module Google
11156
11244
 
11157
11245
  # For satisfying the matchRule condition, the path of the request must exactly
11158
11246
  # match the value specified in fullPathMatch after removing any query parameters
11159
- # and anchor that may be part of the original URL. fullPathMatch must be between
11160
- # 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11161
- # must be specified.
11247
+ # and anchor that may be part of the original URL. fullPathMatch must be from 1
11248
+ # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
11249
+ # be specified.
11162
11250
  # Corresponds to the JSON property `fullPathMatch`
11163
11251
  # @return [String]
11164
11252
  attr_accessor :full_path_match
@@ -11171,53 +11259,52 @@ module Google
11171
11259
 
11172
11260
  # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
11173
11261
  # default value is false. ignoreCase must not be used with regexMatch. Not
11174
- # supported when the URL map is bound to target gRPC proxy.
11262
+ # supported when the URL map is bound to a target gRPC proxy.
11175
11263
  # Corresponds to the JSON property `ignoreCase`
11176
11264
  # @return [Boolean]
11177
11265
  attr_accessor :ignore_case
11178
11266
  alias_method :ignore_case?, :ignore_case
11179
11267
 
11180
- # Opaque filter criteria used by Loadbalancer to restrict routing configuration
11181
- # to a limited set of xDS compliant clients. In their xDS requests to
11182
- # Loadbalancer, xDS clients present node metadata. When there is a match, the
11183
- # relevant routing configuration is made available to those proxies. For each
11184
- # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
11185
- # at least one of the filterLabels must match the corresponding label provided
11186
- # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
11187
- # its filterLabels must match with corresponding labels provided in the metadata.
11188
- # If multiple metadataFilters are specified, all of them need to be satisfied
11189
- # in order to be considered a match. metadataFilters specified here will be
11268
+ # Opaque filter criteria used by the load balancer to restrict routing
11269
+ # configuration to a limited set of xDS compliant clients. In their xDS requests
11270
+ # to the load balancer, xDS clients present node metadata. When there is a match,
11271
+ # the relevant routing configuration is made available to those proxies. For
11272
+ # each metadataFilter in this list, if its filterMatchCriteria is set to
11273
+ # MATCH_ANY, at least one of the filterLabels must match the corresponding label
11274
+ # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
11275
+ # all of its filterLabels must match with corresponding labels provided in the
11276
+ # metadata. If multiple metadata filters are specified, all of them need to be
11277
+ # satisfied in order to be considered a match. metadataFilters specified here is
11190
11278
  # applied after those specified in ForwardingRule that refers to the UrlMap this
11191
- # HttpRouteRuleMatch belongs to. metadataFilters only applies to Loadbalancers
11192
- # that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not
11193
- # supported when the URL map is bound to target gRPC proxy that has
11194
- # validateForProxyless field set to true.
11279
+ # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
11280
+ # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
11281
+ # the URL map is bound to a target gRPC proxy that has validateForProxyless
11282
+ # field set to true.
11195
11283
  # Corresponds to the JSON property `metadataFilters`
11196
11284
  # @return [Array<Google::Apis::ComputeV1::MetadataFilter>]
11197
11285
  attr_accessor :metadata_filters
11198
11286
 
11199
11287
  # For satisfying the matchRule condition, the request's path must begin with the
11200
- # specified prefixMatch. prefixMatch must begin with a /. The value must be
11201
- # between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
11202
- # regexMatch must be specified.
11288
+ # specified prefixMatch. prefixMatch must begin with a /. The value must be from
11289
+ # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
11290
+ # must be specified.
11203
11291
  # Corresponds to the JSON property `prefixMatch`
11204
11292
  # @return [String]
11205
11293
  attr_accessor :prefix_match
11206
11294
 
11207
11295
  # Specifies a list of query parameter match criteria, all of which must match
11208
11296
  # corresponding query parameters in the request. Not supported when the URL map
11209
- # is bound to target gRPC proxy.
11297
+ # is bound to a target gRPC proxy.
11210
11298
  # Corresponds to the JSON property `queryParameterMatches`
11211
11299
  # @return [Array<Google::Apis::ComputeV1::HttpQueryParameterMatch>]
11212
11300
  attr_accessor :query_parameter_matches
11213
11301
 
11214
11302
  # For satisfying the matchRule condition, the path of the request must satisfy
11215
11303
  # the regular expression specified in regexMatch after removing any query
11216
- # parameters and anchor supplied with the original URL. For regular expression
11217
- # grammar please see github.com/google/re2/wiki/Syntax Only one of prefixMatch,
11218
- # fullPathMatch or regexMatch must be specified. Note that regexMatch only
11219
- # applies to Loadbalancers that have their loadBalancingScheme set to
11220
- # INTERNAL_SELF_MANAGED.
11304
+ # parameters and anchor supplied with the original URL. For more information
11305
+ # about regular expression syntax, see Syntax. Only one of prefixMatch,
11306
+ # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
11307
+ # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
11221
11308
  # Corresponds to the JSON property `regexMatch`
11222
11309
  # @return [String]
11223
11310
  attr_accessor :regex_match
@@ -11505,8 +11592,8 @@ module Google
11505
11592
  attr_accessor :family
11506
11593
 
11507
11594
  # A list of features to enable on the guest operating system. Applicable only
11508
- # for bootable images. Read Enabling guest operating system features to see a
11509
- # list of available options.
11595
+ # for bootable images. To see a list of available options, see the
11596
+ # guestOSfeatures[].type parameter.
11510
11597
  # Corresponds to the JSON property `guestOsFeatures`
11511
11598
  # @return [Array<Google::Apis::ComputeV1::GuestOsFeature>]
11512
11599
  attr_accessor :guest_os_features
@@ -12109,6 +12196,11 @@ module Google
12109
12196
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
12110
12197
  attr_accessor :network_interfaces
12111
12198
 
12199
+ #
12200
+ # Corresponds to the JSON property `networkPerformanceConfig`
12201
+ # @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
12202
+ attr_accessor :network_performance_config
12203
+
12112
12204
  # The private IPv6 google access type for the VM. If not specified, use
12113
12205
  # INHERIT_FROM_SUBNETWORK as default.
12114
12206
  # Corresponds to the JSON property `privateIpv6GoogleAccess`
@@ -12223,6 +12315,7 @@ module Google
12223
12315
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
12224
12316
  @name = args[:name] if args.key?(:name)
12225
12317
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
12318
+ @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
12226
12319
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
12227
12320
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
12228
12321
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -13416,6 +13509,17 @@ module Google
13416
13509
  # @return [String]
13417
13510
  attr_accessor :minimal_action
13418
13511
 
13512
+ # Most disruptive action that is allowed to be taken on an instance. You can
13513
+ # specify either NONE to forbid any actions, REFRESH to allow actions that do
13514
+ # not need instance restart, RESTART to allow actions that can be applied
13515
+ # without instance replacing or REPLACE to allow all possible actions. If the
13516
+ # Updater determines that the minimal update action needed is more disruptive
13517
+ # than most disruptive allowed action you specify it will not perform the update
13518
+ # at all.
13519
+ # Corresponds to the JSON property `mostDisruptiveAllowedAction`
13520
+ # @return [String]
13521
+ attr_accessor :most_disruptive_allowed_action
13522
+
13419
13523
  # What action should be used to replace instances. See minimal_action.REPLACE
13420
13524
  # Corresponds to the JSON property `replacementMethod`
13421
13525
  # @return [String]
@@ -13440,6 +13544,7 @@ module Google
13440
13544
  @max_surge = args[:max_surge] if args.key?(:max_surge)
13441
13545
  @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
13442
13546
  @minimal_action = args[:minimal_action] if args.key?(:minimal_action)
13547
+ @most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
13443
13548
  @replacement_method = args[:replacement_method] if args.key?(:replacement_method)
13444
13549
  @type = args[:type] if args.key?(:type)
13445
13550
  end
@@ -14730,6 +14835,11 @@ module Google
14730
14835
  # @return [Array<Google::Apis::ComputeV1::NetworkInterface>]
14731
14836
  attr_accessor :network_interfaces
14732
14837
 
14838
+ # Note that for MachineImage, this is not supported yet.
14839
+ # Corresponds to the JSON property `networkPerformanceConfig`
14840
+ # @return [Google::Apis::ComputeV1::NetworkPerformanceConfig]
14841
+ attr_accessor :network_performance_config
14842
+
14733
14843
  # The private IPv6 google access type for VMs. If not specified, use
14734
14844
  # INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
14735
14845
  # supported yet.
@@ -14788,6 +14898,7 @@ module Google
14788
14898
  @metadata = args[:metadata] if args.key?(:metadata)
14789
14899
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
14790
14900
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
14901
+ @network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
14791
14902
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
14792
14903
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
14793
14904
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
@@ -18325,18 +18436,18 @@ module Google
18325
18436
  end
18326
18437
  end
18327
18438
 
18328
- # Opaque filter criteria used by loadbalancers to restrict routing configuration
18329
- # to a limited set of loadbalancing proxies. Proxies and sidecars involved in
18330
- # loadbalancing would typically present metadata to the loadbalancers which need
18331
- # to match criteria specified here. If a match takes place, the relevant
18332
- # configuration is made available to those proxies. For each metadataFilter in
18333
- # this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the
18334
- # filterLabels must match the corresponding label provided in the metadata. If
18335
- # its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must
18336
- # match with corresponding labels provided in the metadata. An example for using
18337
- # metadataFilters would be: if loadbalancing involves Envoys, they will only
18338
- # receive routing configuration when values in metadataFilters match values
18339
- # supplied in of their XDS requests to loadbalancers.
18439
+ # Opaque filter criteria used by load balancers to restrict routing
18440
+ # configuration to a limited set of load balancing proxies. Proxies and sidecars
18441
+ # involved in load balancing would typically present metadata to the load
18442
+ # balancers that need to match criteria specified here. If a match takes place,
18443
+ # the relevant configuration is made available to those proxies. For each
18444
+ # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
18445
+ # at least one of the filterLabels must match the corresponding label provided
18446
+ # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
18447
+ # its filterLabels must match with corresponding labels provided in the metadata.
18448
+ # An example for using metadataFilters would be: if load balancing involves
18449
+ # Envoys, they receive routing configuration when values in metadataFilters
18450
+ # match values supplied in of their XDS requests to loadbalancers.
18340
18451
  class MetadataFilter
18341
18452
  include Google::Apis::Core::Hashable
18342
18453
 
@@ -18347,11 +18458,11 @@ module Google
18347
18458
  # @return [Array<Google::Apis::ComputeV1::MetadataFilterLabelMatch>]
18348
18459
  attr_accessor :filter_labels
18349
18460
 
18350
- # Specifies how individual filterLabel matches within the list of filterLabels
18351
- # contribute towards the overall metadataFilter match. Supported values are: -
18352
- # MATCH_ANY: At least one of the filterLabels must have a matching label in the
18353
- # provided metadata. - MATCH_ALL: All filterLabels must have matching labels in
18354
- # the provided metadata.
18461
+ # Specifies how individual filter label matches within the list of filterLabels
18462
+ # and contributes toward the overall metadataFilter match. Supported values are:
18463
+ # - MATCH_ANY: at least one of the filterLabels must have a matching label in
18464
+ # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
18465
+ # in the provided metadata.
18355
18466
  # Corresponds to the JSON property `filterMatchCriteria`
18356
18467
  # @return [String]
18357
18468
  attr_accessor :filter_match_criteria
@@ -18368,7 +18479,7 @@ module Google
18368
18479
  end
18369
18480
 
18370
18481
  # MetadataFilter label name value pairs that are expected to match corresponding
18371
- # labels presented as metadata to the loadbalancer.
18482
+ # labels presented as metadata to the load balancer.
18372
18483
  class MetadataFilterLabelMatch
18373
18484
  include Google::Apis::Core::Hashable
18374
18485
 
@@ -19437,14 +19548,15 @@ module Google
19437
19548
  # @return [String]
19438
19549
  attr_accessor :name
19439
19550
 
19440
- # URL of the network resource for this instance. When creating an instance, if
19441
- # neither the network nor the subnetwork is specified, the default network
19442
- # global/networks/default is used; if the network is not specified but the
19443
- # subnetwork is specified, the network is inferred. If you specify this property,
19444
- # you can specify the network as a full or partial URL. For example, the
19445
- # following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
19446
- # project/global/networks/ network - projects/project/global/networks/network -
19447
- # global/networks/default
19551
+ # URL of the VPC network resource for this instance. When creating an instance,
19552
+ # if neither the network nor the subnetwork is specified, the default network
19553
+ # global/networks/default is used. If the selected project doesn't have the
19554
+ # default network, you must specify a network or subnet. If the network is not
19555
+ # specified but the subnetwork is specified, the network is inferred. If you
19556
+ # specify this property, you can specify the network as a full or partial URL.
19557
+ # For example, the following are all valid URLs: - https://www.googleapis.com/
19558
+ # compute/v1/projects/project/global/networks/ network - projects/project/global/
19559
+ # networks/network - global/networks/default
19448
19560
  # Corresponds to the JSON property `network`
19449
19561
  # @return [String]
19450
19562
  attr_accessor :network
@@ -19653,7 +19765,8 @@ module Google
19653
19765
  attr_accessor :exchange_subnet_routes
19654
19766
  alias_method :exchange_subnet_routes?, :exchange_subnet_routes
19655
19767
 
19656
- # Whether to export the custom routes to peer network.
19768
+ # Whether to export the custom routes to peer network. The default value is
19769
+ # false.
19657
19770
  # Corresponds to the JSON property `exportCustomRoutes`
19658
19771
  # @return [Boolean]
19659
19772
  attr_accessor :export_custom_routes
@@ -19667,7 +19780,8 @@ module Google
19667
19780
  attr_accessor :export_subnet_routes_with_public_ip
19668
19781
  alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
19669
19782
 
19670
- # Whether to import the custom routes from peer network.
19783
+ # Whether to import the custom routes from peer network. The default value is
19784
+ # false.
19671
19785
  # Corresponds to the JSON property `importCustomRoutes`
19672
19786
  # @return [Boolean]
19673
19787
  attr_accessor :import_custom_routes
@@ -19735,6 +19849,25 @@ module Google
19735
19849
  end
19736
19850
  end
19737
19851
 
19852
+ #
19853
+ class NetworkPerformanceConfig
19854
+ include Google::Apis::Core::Hashable
19855
+
19856
+ #
19857
+ # Corresponds to the JSON property `totalEgressBandwidthTier`
19858
+ # @return [String]
19859
+ attr_accessor :total_egress_bandwidth_tier
19860
+
19861
+ def initialize(**args)
19862
+ update!(**args)
19863
+ end
19864
+
19865
+ # Update properties of this object
19866
+ def update!(**args)
19867
+ @total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
19868
+ end
19869
+ end
19870
+
19738
19871
  # A routing configuration attached to a network resource. The message includes
19739
19872
  # the list of routers associated with the network, and a flag indicating the
19740
19873
  # type of routing behavior to enforce network-wide.
@@ -23275,37 +23408,37 @@ module Google
23275
23408
 
23276
23409
  # A matcher for the path portion of the URL. The BackendService from the longest-
23277
23410
  # matched rule will serve the URL. If no rule was matched, the default service
23278
- # will be used.
23411
+ # is used.
23279
23412
  class PathMatcher
23280
23413
  include Google::Apis::Core::Hashable
23281
23414
 
23282
23415
  # defaultRouteAction takes effect when none of the pathRules or routeRules match.
23283
- # The load balancer performs advanced routing actions like URL rewrites, header
23284
- # transformations, etc. prior to forwarding the request to the selected backend.
23416
+ # The load balancer performs advanced routing actions, such as URL rewrites and
23417
+ # header transformations, before forwarding the request to the selected backend.
23285
23418
  # If defaultRouteAction specifies any weightedBackendServices, defaultService
23286
23419
  # must not be set. Conversely if defaultService is set, defaultRouteAction
23287
23420
  # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
23288
23421
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
23289
- # support only the urlRewrite action within a pathMatcher's defaultRouteAction.
23422
+ # support only the urlRewrite action within a path matcher's defaultRouteAction.
23290
23423
  # Corresponds to the JSON property `defaultRouteAction`
23291
23424
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
23292
23425
  attr_accessor :default_route_action
23293
23426
 
23294
- # The full or partial URL to the BackendService resource. This will be used if
23427
+ # The full or partial URL to the BackendService resource. This URL is used if
23295
23428
  # none of the pathRules or routeRules defined by this PathMatcher are matched.
23296
23429
  # For example, the following are all valid URLs to a BackendService resource: -
23297
23430
  # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
23298
23431
  # backendService - compute/v1/projects/project/global/backendServices/
23299
23432
  # backendService - global/backendServices/backendService If defaultRouteAction
23300
- # is additionally specified, advanced routing actions like URL Rewrites, etc.
23301
- # take effect prior to sending the request to the backend. However, if
23302
- # defaultService is specified, defaultRouteAction cannot contain any
23303
- # weightedBackendServices. Conversely, if defaultRouteAction specifies any
23304
- # weightedBackendServices, defaultService must not be specified. Only one of
23305
- # defaultService, defaultUrlRedirect or defaultRouteAction.
23306
- # weightedBackendService must be set. Authorization requires one or more of the
23307
- # following Google IAM permissions on the specified resource default_service: -
23308
- # compute.backendBuckets.use - compute.backendServices.use
23433
+ # is also specified, advanced routing actions, such as URL rewrites, take effect
23434
+ # before sending the request to the backend. However, if defaultService is
23435
+ # specified, defaultRouteAction cannot contain any weightedBackendServices.
23436
+ # Conversely, if defaultRouteAction specifies any weightedBackendServices,
23437
+ # defaultService must not be specified. Only one of defaultService,
23438
+ # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
23439
+ # Authorization requires one or more of the following Google IAM permissions on
23440
+ # the specified resource default_service: - compute.backendBuckets.use - compute.
23441
+ # backendServices.use
23309
23442
  # Corresponds to the JSON property `defaultService`
23310
23443
  # @return [String]
23311
23444
  attr_accessor :default_service
@@ -23381,23 +23514,23 @@ module Google
23381
23514
  attr_accessor :paths
23382
23515
 
23383
23516
  # In response to a matching path, the load balancer performs advanced routing
23384
- # actions like URL rewrites, header transformations, etc. prior to forwarding
23517
+ # actions, such as URL rewrites and header transformations, before forwarding
23385
23518
  # the request to the selected backend. If routeAction specifies any
23386
23519
  # weightedBackendServices, service must not be set. Conversely if service is set,
23387
23520
  # routeAction cannot contain any weightedBackendServices. Only one of
23388
- # routeAction or urlRedirect must be set. UrlMaps for external HTTP(S) load
23389
- # balancers support only the urlRewrite action within a pathRule's routeAction.
23521
+ # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
23522
+ # balancers support only the urlRewrite action within a path rule's routeAction.
23390
23523
  # Corresponds to the JSON property `routeAction`
23391
23524
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
23392
23525
  attr_accessor :route_action
23393
23526
 
23394
23527
  # The full or partial URL of the backend service resource to which traffic is
23395
- # directed if this rule is matched. If routeAction is additionally specified,
23396
- # advanced routing actions like URL Rewrites, etc. take effect prior to sending
23397
- # the request to the backend. However, if service is specified, routeAction
23398
- # cannot contain any weightedBackendService s. Conversely, if routeAction
23399
- # specifies any weightedBackendServices, service must not be specified. Only one
23400
- # of urlRedirect, service or routeAction.weightedBackendService must be set.
23528
+ # directed if this rule is matched. If routeAction is also specified, advanced
23529
+ # routing actions, such as URL rewrites, take effect before sending the request
23530
+ # to the backend. However, if service is specified, routeAction cannot contain
23531
+ # any weightedBackendServices. Conversely, if routeAction specifies any
23532
+ # weightedBackendServices, service must not be specified. Only one of
23533
+ # urlRedirect, service or routeAction.weightedBackendService must be set.
23401
23534
  # Corresponds to the JSON property `service`
23402
23535
  # @return [String]
23403
23536
  attr_accessor :service
@@ -23469,31 +23602,31 @@ module Google
23469
23602
 
23470
23603
  # An Identity and Access Management (IAM) policy, which specifies access
23471
23604
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
23472
- # A `binding` binds one or more `members` to a single `role`. Members can be
23473
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
23474
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
23475
- # role or a user-created custom role. For some types of Google Cloud resources,
23476
- # a `binding` can also specify a `condition`, which is a logical expression that
23477
- # allows access to a resource only if the expression evaluates to `true`. A
23478
- # condition can add constraints based on attributes of the request, the resource,
23479
- # or both. To learn which resources support conditions in their IAM policies,
23480
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
23481
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
23482
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
23483
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
23484
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
23485
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
23486
- # title": "expirable access", "description": "Does not grant access after Sep
23487
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
23488
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
23489
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
23490
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
23491
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
23492
- # roles/resourcemanager.organizationViewer condition: title: expirable access
23493
- # description: Does not grant access after Sep 2020 expression: request.time <
23494
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
23495
- # description of IAM and its features, see the [IAM documentation](https://cloud.
23496
- # google.com/iam/docs/).
23605
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
23606
+ # Principals can be user accounts, service accounts, Google groups, and domains (
23607
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
23608
+ # an IAM predefined role or a user-created custom role. For some types of Google
23609
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
23610
+ # logical expression that allows access to a resource only if the expression
23611
+ # evaluates to `true`. A condition can add constraints based on attributes of
23612
+ # the request, the resource, or both. To learn which resources support
23613
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
23614
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
23615
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
23616
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
23617
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
23618
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
23619
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
23620
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
23621
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
23622
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
23623
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
23624
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
23625
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
23626
+ # access description: Does not grant access after Sep 2020 expression: request.
23627
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
23628
+ # a description of IAM and its features, see the [IAM documentation](https://
23629
+ # cloud.google.com/iam/docs/).
23497
23630
  class Policy
23498
23631
  include Google::Apis::Core::Hashable
23499
23632
 
@@ -23502,9 +23635,14 @@ module Google
23502
23635
  # @return [Array<Google::Apis::ComputeV1::AuditConfig>]
23503
23636
  attr_accessor :audit_configs
23504
23637
 
23505
- # Associates a list of `members` to a `role`. Optionally, may specify a `
23506
- # condition` that determines how and when the `bindings` are applied. Each of
23507
- # the `bindings` must contain at least one member.
23638
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
23639
+ # specify a `condition` that determines how and when the `bindings` are applied.
23640
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
23641
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
23642
+ # can be Google groups. Each occurrence of a principal counts towards these
23643
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
23644
+ # example.com`, and not to any other principal, then you can add another 1,450
23645
+ # principals to the `bindings` in the `Policy`.
23508
23646
  # Corresponds to the JSON property `bindings`
23509
23647
  # @return [Array<Google::Apis::ComputeV1::Binding>]
23510
23648
  attr_accessor :bindings
@@ -23525,12 +23663,6 @@ module Google
23525
23663
  # @return [String]
23526
23664
  attr_accessor :etag
23527
23665
 
23528
- # This is deprecated and has no effect. Do not use.
23529
- # Corresponds to the JSON property `iamOwned`
23530
- # @return [Boolean]
23531
- attr_accessor :iam_owned
23532
- alias_method :iam_owned?, :iam_owned
23533
-
23534
23666
  # This is deprecated and has no effect. Do not use.
23535
23667
  # Corresponds to the JSON property `rules`
23536
23668
  # @return [Array<Google::Apis::ComputeV1::Rule>]
@@ -23564,7 +23696,6 @@ module Google
23564
23696
  @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
23565
23697
  @bindings = args[:bindings] if args.key?(:bindings)
23566
23698
  @etag = args[:etag] if args.key?(:etag)
23567
- @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
23568
23699
  @rules = args[:rules] if args.key?(:rules)
23569
23700
  @version = args[:version] if args.key?(:version)
23570
23701
  end
@@ -23945,7 +24076,13 @@ module Google
23945
24076
  # @return [String]
23946
24077
  attr_accessor :shared_secret
23947
24078
 
23948
- # The status of the public advertised prefix.
24079
+ # The status of the public advertised prefix. Possible values include: - `
24080
+ # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
24081
+ # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
24082
+ # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
24083
+ # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
24084
+ # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
24085
+ # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
23949
24086
  # Corresponds to the JSON property `status`
23950
24087
  # @return [String]
23951
24088
  attr_accessor :status
@@ -24224,7 +24361,12 @@ module Google
24224
24361
  # @return [String]
24225
24362
  attr_accessor :self_link
24226
24363
 
24227
- # [Output Only] The status of the public delegated prefix.
24364
+ # [Output Only] The status of the public delegated prefix, which can be one of
24365
+ # following values: - `INITIALIZING` The public delegated prefix is being
24366
+ # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
24367
+ # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
24368
+ # The public delegated prefix is active. - `DELETING` The public delegated
24369
+ # prefix is being deprovsioned.
24228
24370
  # Corresponds to the JSON property `status`
24229
24371
  # @return [String]
24230
24372
  attr_accessor :status
@@ -26084,31 +26226,31 @@ module Google
26084
26226
 
26085
26227
  # An Identity and Access Management (IAM) policy, which specifies access
26086
26228
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
26087
- # A `binding` binds one or more `members` to a single `role`. Members can be
26088
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
26089
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
26090
- # role or a user-created custom role. For some types of Google Cloud resources,
26091
- # a `binding` can also specify a `condition`, which is a logical expression that
26092
- # allows access to a resource only if the expression evaluates to `true`. A
26093
- # condition can add constraints based on attributes of the request, the resource,
26094
- # or both. To learn which resources support conditions in their IAM policies,
26095
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
26096
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
26097
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
26098
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
26099
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
26100
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
26101
- # title": "expirable access", "description": "Does not grant access after Sep
26102
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
26103
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
26104
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
26105
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
26106
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
26107
- # roles/resourcemanager.organizationViewer condition: title: expirable access
26108
- # description: Does not grant access after Sep 2020 expression: request.time <
26109
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
26110
- # description of IAM and its features, see the [IAM documentation](https://cloud.
26111
- # google.com/iam/docs/).
26229
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
26230
+ # Principals can be user accounts, service accounts, Google groups, and domains (
26231
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
26232
+ # an IAM predefined role or a user-created custom role. For some types of Google
26233
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
26234
+ # logical expression that allows access to a resource only if the expression
26235
+ # evaluates to `true`. A condition can add constraints based on attributes of
26236
+ # the request, the resource, or both. To learn which resources support
26237
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
26238
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
26239
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
26240
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
26241
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
26242
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
26243
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
26244
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
26245
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
26246
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
26247
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
26248
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
26249
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
26250
+ # access description: Does not grant access after Sep 2020 expression: request.
26251
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
26252
+ # a description of IAM and its features, see the [IAM documentation](https://
26253
+ # cloud.google.com/iam/docs/).
26112
26254
  # Corresponds to the JSON property `policy`
26113
26255
  # @return [Google::Apis::ComputeV1::Policy]
26114
26256
  attr_accessor :policy
@@ -26149,17 +26291,17 @@ module Google
26149
26291
  class RegionUrlMapsValidateRequest
26150
26292
  include Google::Apis::Core::Hashable
26151
26293
 
26152
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
26153
- # * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/
26154
- # docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of
26155
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
26156
- # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
26157
- # used by internal HTTP(S) load balancers. For a list of supported URL map
26158
- # features by load balancer type, see the Load balancing features: Routing and
26294
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
26295
+ # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
26296
+ # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
26297
+ # types of cloud load balancers and Traffic Director: * urlMaps are used by
26298
+ # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
26299
+ # by internal HTTP(S) load balancers. For a list of supported URL map features
26300
+ # by the load balancer type, see the Load balancing features: Routing and
26159
26301
  # traffic management table. For a list of supported URL map features for Traffic
26160
26302
  # Director, see the Traffic Director features: Routing and traffic management
26161
- # table. This resource defines mappings from host names and URL paths to either
26162
- # a backend service or a backend bucket. To use the global urlMaps resource, the
26303
+ # table. This resource defines mappings from hostnames and URL paths to either a
26304
+ # backend service or a backend bucket. To use the global urlMaps resource, the
26163
26305
  # backend service must have a loadBalancingScheme of either EXTERNAL or
26164
26306
  # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
26165
26307
  # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
@@ -26179,9 +26321,9 @@ module Google
26179
26321
  end
26180
26322
 
26181
26323
  # A policy that specifies how requests intended for the route's backends are
26182
- # shadowed to a separate mirrored backend service. Loadbalancer does not wait
26183
- # for responses from the shadow service. Prior to sending traffic to the shadow
26184
- # service, the host / authority header is suffixed with -shadow.
26324
+ # shadowed to a separate mirrored backend service. The load balancer doesn't
26325
+ # wait for responses from the shadow service. Before sending traffic to the
26326
+ # shadow service, the host or authority header is suffixed with -shadow.
26185
26327
  class RequestMirrorPolicy
26186
26328
  include Google::Apis::Core::Hashable
26187
26329
 
@@ -28689,6 +28831,17 @@ module Google
28689
28831
  # @return [Array<String>]
28690
28832
  attr_accessor :drain_nat_ips
28691
28833
 
28834
+ # Enable Dynamic Port Allocation. If not specified, it is disabled by default.
28835
+ # If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
28836
+ # enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
28837
+ # minPortsPerVm must be set to a power of two greater than or equal to 32. If
28838
+ # minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
28839
+ # this NAT config.
28840
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
28841
+ # @return [Boolean]
28842
+ attr_accessor :enable_dynamic_port_allocation
28843
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
28844
+
28692
28845
  #
28693
28846
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
28694
28847
  # @return [Boolean]
@@ -28705,6 +28858,17 @@ module Google
28705
28858
  # @return [Google::Apis::ComputeV1::RouterNatLogConfig]
28706
28859
  attr_accessor :log_config
28707
28860
 
28861
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
28862
+ # Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
28863
+ # field has no effect. If Dynamic Port Allocation is enabled, and this field is
28864
+ # set, it must be set to a power of two greater than minPortsPerVm, or 64 if
28865
+ # minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
28866
+ # is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
28867
+ # config.
28868
+ # Corresponds to the JSON property `maxPortsPerVm`
28869
+ # @return [Fixnum]
28870
+ attr_accessor :max_ports_per_vm
28871
+
28708
28872
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
28709
28873
  # default number of ports is allocated to a VM. This is rounded up to the
28710
28874
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -28789,9 +28953,11 @@ module Google
28789
28953
  # Update properties of this object
28790
28954
  def update!(**args)
28791
28955
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
28956
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
28792
28957
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
28793
28958
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
28794
28959
  @log_config = args[:log_config] if args.key?(:log_config)
28960
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
28795
28961
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
28796
28962
  @name = args[:name] if args.key?(:name)
28797
28963
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
@@ -28856,7 +29022,8 @@ module Google
28856
29022
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
28857
29023
  # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
28858
29024
  # following example is a valid match expression for private NAT: "nexthop.hub ==
28859
- # '/projects/my-project/global/hub/hub-1'"
29025
+ # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
29026
+ # global/hub/hub-1'"
28860
29027
  # Corresponds to the JSON property `match`
28861
29028
  # @return [String]
28862
29029
  attr_accessor :match
@@ -29719,6 +29886,17 @@ module Google
29719
29886
  # @return [String]
29720
29887
  attr_accessor :self_link
29721
29888
 
29889
+ # The type indicates the intended use of the security policy. CLOUD_ARMOR -
29890
+ # Cloud Armor backend security policies can be configured to filter incoming
29891
+ # HTTP requests targeting backend services. They filter requests before they hit
29892
+ # the origin servers. CLOUD_ARMOR_EDGE - Cloud Armor edge security policies can
29893
+ # be configured to filter incoming HTTP requests targeting backend services (
29894
+ # including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
29895
+ # filter requests before the request is served from Google's cache.
29896
+ # Corresponds to the JSON property `type`
29897
+ # @return [String]
29898
+ attr_accessor :type
29899
+
29722
29900
  def initialize(**args)
29723
29901
  update!(**args)
29724
29902
  end
@@ -29735,6 +29913,7 @@ module Google
29735
29913
  @name = args[:name] if args.key?(:name)
29736
29914
  @rules = args[:rules] if args.key?(:rules)
29737
29915
  @self_link = args[:self_link] if args.key?(:self_link)
29916
+ @type = args[:type] if args.key?(:type)
29738
29917
  end
29739
29918
  end
29740
29919
 
@@ -30740,6 +30919,12 @@ module Google
30740
30919
  class ShareSettings
30741
30920
  include Google::Apis::Core::Hashable
30742
30921
 
30922
+ # A map of project id and project config. This is only valid when share_type's
30923
+ # value is SPECIFIC_PROJECTS.
30924
+ # Corresponds to the JSON property `projectMap`
30925
+ # @return [Hash<String,Google::Apis::ComputeV1::ShareSettingsProjectConfig>]
30926
+ attr_accessor :project_map
30927
+
30743
30928
  # Type of sharing for this shared-reservation
30744
30929
  # Corresponds to the JSON property `shareType`
30745
30930
  # @return [String]
@@ -30751,10 +30936,31 @@ module Google
30751
30936
 
30752
30937
  # Update properties of this object
30753
30938
  def update!(**args)
30939
+ @project_map = args[:project_map] if args.key?(:project_map)
30754
30940
  @share_type = args[:share_type] if args.key?(:share_type)
30755
30941
  end
30756
30942
  end
30757
30943
 
30944
+ # Config for each project in the share settings.
30945
+ class ShareSettingsProjectConfig
30946
+ include Google::Apis::Core::Hashable
30947
+
30948
+ # The project ID, should be same as the key of this project config in the parent
30949
+ # map.
30950
+ # Corresponds to the JSON property `projectId`
30951
+ # @return [String]
30952
+ attr_accessor :project_id
30953
+
30954
+ def initialize(**args)
30955
+ update!(**args)
30956
+ end
30957
+
30958
+ # Update properties of this object
30959
+ def update!(**args)
30960
+ @project_id = args[:project_id] if args.key?(:project_id)
30961
+ end
30962
+ end
30963
+
30758
30964
  # A set of Shielded Instance options.
30759
30965
  class ShieldedInstanceConfig
30760
30966
  include Google::Apis::Core::Hashable
@@ -32171,8 +32377,9 @@ module Google
32171
32377
 
32172
32378
  # Whether to enable flow logging for this subnetwork. If this field is not
32173
32379
  # explicitly set, it will not appear in get listings. If not set the default
32174
- # behavior is to disable flow logging. This field isn't supported with the
32175
- # purpose field set to INTERNAL_HTTPS_LOAD_BALANCER.
32380
+ # behavior is determined by the org policy, if there is no org policy specified,
32381
+ # then it will default to disabled. This field isn't supported with the purpose
32382
+ # field set to INTERNAL_HTTPS_LOAD_BALANCER.
32176
32383
  # Corresponds to the JSON property `enableFlowLogs`
32177
32384
  # @return [Boolean]
32178
32385
  attr_accessor :enable_flow_logs
@@ -32619,7 +32826,8 @@ module Google
32619
32826
 
32620
32827
  # Whether to enable flow logging for this subnetwork. If this field is not
32621
32828
  # explicitly set, it will not appear in get listings. If not set the default
32622
- # behavior is to disable flow logging.
32829
+ # behavior is determined by the org policy, if there is no org policy specified,
32830
+ # then it will default to disabled.
32623
32831
  # Corresponds to the JSON property `enable`
32624
32832
  # @return [Boolean]
32625
32833
  attr_accessor :enable
@@ -32634,8 +32842,8 @@ module Google
32634
32842
  # Can only be specified if VPC flow logging for this subnetwork is enabled. The
32635
32843
  # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
32636
32844
  # within the subnetwork where 1.0 means all collected logs are reported and 0.0
32637
- # means no logs are reported. Default is 0.5, which means half of all collected
32638
- # logs are reported.
32845
+ # means no logs are reported. Default is 0.5 unless otherwise specified by the
32846
+ # org policy, which means half of all collected logs are reported.
32639
32847
  # Corresponds to the JSON property `flowSampling`
32640
32848
  # @return [Float]
32641
32849
  attr_accessor :flow_sampling
@@ -36017,7 +36225,7 @@ module Google
36017
36225
  class TestFailure
36018
36226
  include Google::Apis::Core::Hashable
36019
36227
 
36020
- # The actual output URL evaluated by load balancer containing the scheme, host,
36228
+ # The actual output URL evaluated by a load balancer containing the scheme, host,
36021
36229
  # path and query parameters.
36022
36230
  # Corresponds to the JSON property `actualOutputUrl`
36023
36231
  # @return [String]
@@ -36034,8 +36242,8 @@ module Google
36034
36242
  # @return [String]
36035
36243
  attr_accessor :actual_service
36036
36244
 
36037
- # The expected output URL evaluated by load balancer containing the scheme, host,
36038
- # path and query parameters.
36245
+ # The expected output URL evaluated by a load balancer containing the scheme,
36246
+ # host, path and query parameters.
36039
36247
  # Corresponds to the JSON property `expectedOutputUrl`
36040
36248
  # @return [String]
36041
36249
  attr_accessor :expected_output_url
@@ -36149,17 +36357,17 @@ module Google
36149
36357
  end
36150
36358
  end
36151
36359
 
36152
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
36153
- # * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/
36154
- # docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of
36155
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
36156
- # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
36157
- # used by internal HTTP(S) load balancers. For a list of supported URL map
36158
- # features by load balancer type, see the Load balancing features: Routing and
36360
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
36361
+ # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
36362
+ # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
36363
+ # types of cloud load balancers and Traffic Director: * urlMaps are used by
36364
+ # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
36365
+ # by internal HTTP(S) load balancers. For a list of supported URL map features
36366
+ # by the load balancer type, see the Load balancing features: Routing and
36159
36367
  # traffic management table. For a list of supported URL map features for Traffic
36160
36368
  # Director, see the Traffic Director features: Routing and traffic management
36161
- # table. This resource defines mappings from host names and URL paths to either
36162
- # a backend service or a backend bucket. To use the global urlMaps resource, the
36369
+ # table. This resource defines mappings from hostnames and URL paths to either a
36370
+ # backend service or a backend bucket. To use the global urlMaps resource, the
36163
36371
  # backend service must have a loadBalancingScheme of either EXTERNAL or
36164
36372
  # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
36165
36373
  # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
@@ -36173,28 +36381,28 @@ module Google
36173
36381
  attr_accessor :creation_timestamp
36174
36382
 
36175
36383
  # defaultRouteAction takes effect when none of the hostRules match. The load
36176
- # balancer performs advanced routing actions like URL rewrites, header
36177
- # transformations, etc. prior to forwarding the request to the selected backend.
36178
- # If defaultRouteAction specifies any weightedBackendServices, defaultService
36179
- # must not be set. Conversely if defaultService is set, defaultRouteAction
36180
- # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
36384
+ # balancer performs advanced routing actions, such as URL rewrites and header
36385
+ # transformations, before forwarding the request to the selected backend. If
36386
+ # defaultRouteAction specifies any weightedBackendServices, defaultService must
36387
+ # not be set. Conversely if defaultService is set, defaultRouteAction cannot
36388
+ # contain any weightedBackendServices. Only one of defaultRouteAction or
36181
36389
  # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
36182
36390
  # support only the urlRewrite action within defaultRouteAction.
36183
- # defaultRouteAction has no effect when the URL map is bound to target gRPC
36184
- # proxy that has validateForProxyless field set to true.
36391
+ # defaultRouteAction has no effect when the URL map is bound to a target gRPC
36392
+ # proxy that has the validateForProxyless field set to true.
36185
36393
  # Corresponds to the JSON property `defaultRouteAction`
36186
36394
  # @return [Google::Apis::ComputeV1::HttpRouteAction]
36187
36395
  attr_accessor :default_route_action
36188
36396
 
36189
36397
  # The full or partial URL of the defaultService resource to which traffic is
36190
- # directed if none of the hostRules match. If defaultRouteAction is additionally
36191
- # specified, advanced routing actions like URL Rewrites, etc. take effect prior
36192
- # to sending the request to the backend. However, if defaultService is specified,
36398
+ # directed if none of the hostRules match. If defaultRouteAction is also
36399
+ # specified, advanced routing actions, such as URL rewrites, take effect before
36400
+ # sending the request to the backend. However, if defaultService is specified,
36193
36401
  # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
36194
36402
  # routeAction specifies any weightedBackendServices, service must not be
36195
- # specified. Only one of defaultService, defaultUrlRedirect or
36403
+ # specified. Only one of defaultService, defaultUrlRedirect , or
36196
36404
  # defaultRouteAction.weightedBackendService must be set. defaultService has no
36197
- # effect when the URL map is bound to target gRPC proxy that has
36405
+ # effect when the URL map is bound to a target gRPC proxy that has the
36198
36406
  # validateForProxyless field set to true.
36199
36407
  # Corresponds to the JSON property `defaultService`
36200
36408
  # @return [String]
@@ -36212,11 +36420,10 @@ module Google
36212
36420
  attr_accessor :description
36213
36421
 
36214
36422
  # Fingerprint of this resource. A hash of the contents stored in this object.
36215
- # This field is used in optimistic locking. This field will be ignored when
36216
- # inserting a UrlMap. An up-to-date fingerprint must be provided in order to
36217
- # update the UrlMap, otherwise the request will fail with error 412
36218
- # conditionNotMet. To see the latest fingerprint, make a get() request to
36219
- # retrieve a UrlMap.
36423
+ # This field is used in optimistic locking. This field is ignored when inserting
36424
+ # a UrlMap. An up-to-date fingerprint must be provided in order to update the
36425
+ # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
36426
+ # the latest fingerprint, make a get() request to retrieve a UrlMap.
36220
36427
  # Corresponds to the JSON property `fingerprint`
36221
36428
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
36222
36429
  # @return [String]
@@ -36228,7 +36435,7 @@ module Google
36228
36435
  # @return [Google::Apis::ComputeV1::HttpHeaderAction]
36229
36436
  attr_accessor :header_action
36230
36437
 
36231
- # The list of HostRules to use against the URL.
36438
+ # The list of host rules to use against the URL.
36232
36439
  # Corresponds to the JSON property `hostRules`
36233
36440
  # @return [Array<Google::Apis::ComputeV1::HostRule>]
36234
36441
  attr_accessor :host_rules
@@ -36271,10 +36478,10 @@ module Google
36271
36478
  # @return [String]
36272
36479
  attr_accessor :self_link
36273
36480
 
36274
- # The list of expected URL mapping tests. Request to update this UrlMap will
36275
- # succeed only if all of the test cases pass. You can specify a maximum of 100
36276
- # tests per UrlMap. Not supported when the URL map is bound to target gRPC proxy
36277
- # that has validateForProxyless field set to true.
36481
+ # The list of expected URL mapping tests. Request to update the UrlMap succeeds
36482
+ # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
36483
+ # Not supported when the URL map is bound to a target gRPC proxy that has
36484
+ # validateForProxyless field set to true.
36278
36485
  # Corresponds to the JSON property `tests`
36279
36486
  # @return [Array<Google::Apis::ComputeV1::UrlMapTest>]
36280
36487
  attr_accessor :tests
@@ -36448,18 +36655,18 @@ module Google
36448
36655
  # @return [String]
36449
36656
  attr_accessor :description
36450
36657
 
36451
- # The expected output URL evaluated by load balancer containing the scheme, host,
36452
- # path and query parameters. For rules that forward requests to backends, the
36453
- # test passes only when expectedOutputUrl matches the request forwarded by load
36454
- # balancer to backends. For rules with urlRewrite, the test verifies that the
36455
- # forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite
36456
- # action. When service is specified, expectedOutputUrl`s scheme is ignored. For
36457
- # rules with urlRedirect, the test passes only if expectedOutputUrl matches the
36458
- # URL in the load balancer's redirect response. If urlRedirect specifies
36459
- # https_redirect, the test passes only if the scheme in expectedOutputUrl is
36460
- # also set to https. If urlRedirect specifies strip_query, the test passes only
36461
- # if expectedOutputUrl does not contain any query parameters. expectedOutputUrl
36462
- # is optional when service is specified.
36658
+ # The expected output URL evaluated by the load balancer containing the scheme,
36659
+ # host, path and query parameters. For rules that forward requests to backends,
36660
+ # the test passes only when expectedOutputUrl matches the request forwarded by
36661
+ # the load balancer to backends. For rules with urlRewrite, the test verifies
36662
+ # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
36663
+ # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
36664
+ # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
36665
+ # matches the URL in the load balancer's redirect response. If urlRedirect
36666
+ # specifies https_redirect, the test passes only if the scheme in
36667
+ # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
36668
+ # the test passes only if expectedOutputUrl does not contain any query
36669
+ # parameters. expectedOutputUrl is optional when service is specified.
36463
36670
  # Corresponds to the JSON property `expectedOutputUrl`
36464
36671
  # @return [String]
36465
36672
  attr_accessor :expected_output_url
@@ -36490,7 +36697,8 @@ module Google
36490
36697
  attr_accessor :path
36491
36698
 
36492
36699
  # Expected BackendService or BackendBucket resource the given URL should be
36493
- # mapped to. service cannot be set if expectedRedirectResponseCode is set.
36700
+ # mapped to. The service field cannot be set if expectedRedirectResponseCode is
36701
+ # set.
36494
36702
  # Corresponds to the JSON property `service`
36495
36703
  # @return [String]
36496
36704
  attr_accessor :service
@@ -36795,17 +37003,17 @@ module Google
36795
37003
  class ValidateUrlMapsRequest
36796
37004
  include Google::Apis::Core::Hashable
36797
37005
 
36798
- # Represents a URL Map resource. Google Compute Engine has two URL Map resources:
36799
- # * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/
36800
- # docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of
36801
- # certain types of GCP load balancers and Traffic Director. * urlMaps are used
36802
- # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
36803
- # used by internal HTTP(S) load balancers. For a list of supported URL map
36804
- # features by load balancer type, see the Load balancing features: Routing and
37006
+ # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
37007
+ # Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/
37008
+ # reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain
37009
+ # types of cloud load balancers and Traffic Director: * urlMaps are used by
37010
+ # external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used
37011
+ # by internal HTTP(S) load balancers. For a list of supported URL map features
37012
+ # by the load balancer type, see the Load balancing features: Routing and
36805
37013
  # traffic management table. For a list of supported URL map features for Traffic
36806
37014
  # Director, see the Traffic Director features: Routing and traffic management
36807
- # table. This resource defines mappings from host names and URL paths to either
36808
- # a backend service or a backend bucket. To use the global urlMaps resource, the
37015
+ # table. This resource defines mappings from hostnames and URL paths to either a
37016
+ # backend service or a backend bucket. To use the global urlMaps resource, the
36809
37017
  # backend service must have a loadBalancingScheme of either EXTERNAL or
36810
37018
  # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service
36811
37019
  # must have a loadBalancingScheme of INTERNAL_MANAGED. For more information,
@@ -36848,16 +37056,16 @@ module Google
36848
37056
  class UrlRewrite
36849
37057
  include Google::Apis::Core::Hashable
36850
37058
 
36851
- # Prior to forwarding the request to the selected service, the request's host
36852
- # header is replaced with contents of hostRewrite. The value must be between 1
36853
- # and 255 characters.
37059
+ # Before forwarding the request to the selected service, the request's host
37060
+ # header is replaced with contents of hostRewrite. The value must be from 1 to
37061
+ # 255 characters.
36854
37062
  # Corresponds to the JSON property `hostRewrite`
36855
37063
  # @return [String]
36856
37064
  attr_accessor :host_rewrite
36857
37065
 
36858
- # Prior to forwarding the request to the selected backend service, the matching
37066
+ # Before forwarding the request to the selected backend service, the matching
36859
37067
  # portion of the request's path is replaced by pathPrefixRewrite. The value must
36860
- # be between 1 and 1024 characters.
37068
+ # be from 1 to 1024 characters.
36861
37069
  # Corresponds to the JSON property `pathPrefixRewrite`
36862
37070
  # @return [String]
36863
37071
  attr_accessor :path_prefix_rewrite
@@ -38490,14 +38698,13 @@ module Google
38490
38698
 
38491
38699
  # In contrast to a single BackendService in HttpRouteAction to which all
38492
38700
  # matching traffic is directed to, WeightedBackendService allows traffic to be
38493
- # split across multiple BackendServices. The volume of traffic for each
38494
- # BackendService is proportional to the weight specified in each
38495
- # WeightedBackendService
38701
+ # split across multiple backend services. The volume of traffic for each backend
38702
+ # service is proportional to the weight specified in each WeightedBackendService
38496
38703
  class WeightedBackendService
38497
38704
  include Google::Apis::Core::Hashable
38498
38705
 
38499
38706
  # The full or partial URL to the default BackendService resource. Before
38500
- # forwarding the request to backendService, the loadbalancer applies any
38707
+ # forwarding the request to backendService, the load balancer applies any
38501
38708
  # relevant headerActions specified as part of this backendServiceWeight.
38502
38709
  # Corresponds to the JSON property `backendService`
38503
38710
  # @return [String]
@@ -38509,12 +38716,12 @@ module Google
38509
38716
  # @return [Google::Apis::ComputeV1::HttpHeaderAction]
38510
38717
  attr_accessor :header_action
38511
38718
 
38512
- # Specifies the fraction of traffic sent to backendService, computed as weight /
38513
- # (sum of all weightedBackendService weights in routeAction) . The selection of
38514
- # a backend service is determined only for new traffic. Once a user's request
38515
- # has been directed to a backendService, subsequent requests will be sent to the
38516
- # same backendService as determined by the BackendService's session affinity
38517
- # policy. The value must be between 0 and 1000
38719
+ # Specifies the fraction of traffic sent to a backend service, computed as
38720
+ # weight / (sum of all weightedBackendService weights in routeAction) . The
38721
+ # selection of a backend service is determined only for new traffic. Once a user'
38722
+ # s request has been directed to a backend service, subsequent requests are sent
38723
+ # to the same backend service as determined by the backend service's session
38724
+ # affinity policy. The value must be from 0 to 1000.
38518
38725
  # Corresponds to the JSON property `weight`
38519
38726
  # @return [Fixnum]
38520
38727
  attr_accessor :weight
@@ -38924,31 +39131,31 @@ module Google
38924
39131
 
38925
39132
  # An Identity and Access Management (IAM) policy, which specifies access
38926
39133
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
38927
- # A `binding` binds one or more `members` to a single `role`. Members can be
38928
- # user accounts, service accounts, Google groups, and domains (such as G Suite).
38929
- # A `role` is a named list of permissions; each `role` can be an IAM predefined
38930
- # role or a user-created custom role. For some types of Google Cloud resources,
38931
- # a `binding` can also specify a `condition`, which is a logical expression that
38932
- # allows access to a resource only if the expression evaluates to `true`. A
38933
- # condition can add constraints based on attributes of the request, the resource,
38934
- # or both. To learn which resources support conditions in their IAM policies,
38935
- # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
38936
- # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
38937
- # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
38938
- # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
38939
- # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
38940
- # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
38941
- # title": "expirable access", "description": "Does not grant access after Sep
38942
- # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
38943
- # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
38944
- # members: - user:mike@example.com - group:admins@example.com - domain:google.
38945
- # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
38946
- # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
38947
- # roles/resourcemanager.organizationViewer condition: title: expirable access
38948
- # description: Does not grant access after Sep 2020 expression: request.time <
38949
- # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a
38950
- # description of IAM and its features, see the [IAM documentation](https://cloud.
38951
- # google.com/iam/docs/).
39134
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
39135
+ # Principals can be user accounts, service accounts, Google groups, and domains (
39136
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
39137
+ # an IAM predefined role or a user-created custom role. For some types of Google
39138
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
39139
+ # logical expression that allows access to a resource only if the expression
39140
+ # evaluates to `true`. A condition can add constraints based on attributes of
39141
+ # the request, the resource, or both. To learn which resources support
39142
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
39143
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
39144
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
39145
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
39146
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
39147
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
39148
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
39149
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
39150
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
39151
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
39152
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
39153
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
39154
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
39155
+ # access description: Does not grant access after Sep 2020 expression: request.
39156
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
39157
+ # a description of IAM and its features, see the [IAM documentation](https://
39158
+ # cloud.google.com/iam/docs/).
38952
39159
  # Corresponds to the JSON property `policy`
38953
39160
  # @return [Google::Apis::ComputeV1::Policy]
38954
39161
  attr_accessor :policy