google-apis-compute_v1 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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