google-apis-compute_alpha 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/google/apis/compute_alpha/classes.rb +644 -454
- data/lib/google/apis/compute_alpha/gem_version.rb +2 -2
- data/lib/google/apis/compute_alpha/representations.rb +33 -1
- data/lib/google/apis/compute_alpha/service.rb +2369 -1777
- metadata +3 -3
| @@ -1261,6 +1261,11 @@ module Google | |
| 1261 1261 | 
             
                  class AllocationSpecificSkuReservation
         | 
| 1262 1262 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 1263 1263 |  | 
| 1264 | 
            +
                    # [Output Only] Indicates how many instances are actually usable currently.
         | 
| 1265 | 
            +
                    # Corresponds to the JSON property `assuredCount`
         | 
| 1266 | 
            +
                    # @return [Fixnum]
         | 
| 1267 | 
            +
                    attr_accessor :assured_count
         | 
| 1268 | 
            +
                  
         | 
| 1264 1269 | 
             
                    # Specifies the number of resources that are allocated.
         | 
| 1265 1270 | 
             
                    # Corresponds to the JSON property `count`
         | 
| 1266 1271 | 
             
                    # @return [Fixnum]
         | 
| @@ -1282,6 +1287,7 @@ module Google | |
| 1282 1287 |  | 
| 1283 1288 | 
             
                    # Update properties of this object
         | 
| 1284 1289 | 
             
                    def update!(**args)
         | 
| 1290 | 
            +
                      @assured_count = args[:assured_count] if args.key?(:assured_count)
         | 
| 1285 1291 | 
             
                      @count = args[:count] if args.key?(:count)
         | 
| 1286 1292 | 
             
                      @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
         | 
| 1287 1293 | 
             
                      @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
         | 
| @@ -1479,6 +1485,11 @@ module Google | |
| 1479 1485 | 
             
                  class AttachedDiskInitializeParams
         | 
| 1480 1486 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 1481 1487 |  | 
| 1488 | 
            +
                    # The architecture of the attached disk. Valid values are arm64 or x86_64.
         | 
| 1489 | 
            +
                    # Corresponds to the JSON property `architecture`
         | 
| 1490 | 
            +
                    # @return [String]
         | 
| 1491 | 
            +
                    attr_accessor :architecture
         | 
| 1492 | 
            +
                  
         | 
| 1482 1493 | 
             
                    # An optional description. Provide this property when creating the disk.
         | 
| 1483 1494 | 
             
                    # Corresponds to the JSON property `description`
         | 
| 1484 1495 | 
             
                    # @return [String]
         | 
| @@ -1623,6 +1634,7 @@ module Google | |
| 1623 1634 |  | 
| 1624 1635 | 
             
                    # Update properties of this object
         | 
| 1625 1636 | 
             
                    def update!(**args)
         | 
| 1637 | 
            +
                      @architecture = args[:architecture] if args.key?(:architecture)
         | 
| 1626 1638 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 1627 1639 | 
             
                      @disk_name = args[:disk_name] if args.key?(:disk_name)
         | 
| 1628 1640 | 
             
                      @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
         | 
| @@ -3443,8 +3455,8 @@ module Google | |
| 3443 3455 | 
             
                    # INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
         | 
| 3444 3456 | 
             
                    # set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
         | 
| 3445 3457 | 
             
                    # is not set to MAGLEV or RING_HASH, session affinity settings will not take
         | 
| 3446 | 
            -
                    # effect. Only  | 
| 3447 | 
            -
                    #  | 
| 3458 | 
            +
                    # effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
         | 
| 3459 | 
            +
                    # is referenced by a URL map that is bound to target gRPC proxy that has
         | 
| 3448 3460 | 
             
                    # validateForProxyless field set to true.
         | 
| 3449 3461 | 
             
                    # Corresponds to the JSON property `localityLbPolicy`
         | 
| 3450 3462 | 
             
                    # @return [String]
         | 
| @@ -3557,11 +3569,11 @@ module Google | |
| 3557 3569 | 
             
                    # @return [String]
         | 
| 3558 3570 | 
             
                    attr_accessor :service_lb_policy
         | 
| 3559 3571 |  | 
| 3560 | 
            -
                    # Type of session affinity to use. The default is NONE.  | 
| 3561 | 
            -
                    #  | 
| 3562 | 
            -
                    #  | 
| 3563 | 
            -
                    #  | 
| 3564 | 
            -
                    #  | 
| 3572 | 
            +
                    # Type of session affinity to use. The default is NONE. Only NONE and
         | 
| 3573 | 
            +
                    # HEADER_FIELD are supported when the backend service is referenced by a URL map
         | 
| 3574 | 
            +
                    # that is bound to target gRPC proxy that has validateForProxyless field set to
         | 
| 3575 | 
            +
                    # true. For more details, see: [Session Affinity](https://cloud.google.com/load-
         | 
| 3576 | 
            +
                    # balancing/docs/backend-service#session_affinity).
         | 
| 3565 3577 | 
             
                    # Corresponds to the JSON property `sessionAffinity`
         | 
| 3566 3578 | 
             
                    # @return [String]
         | 
| 3567 3579 | 
             
                    attr_accessor :session_affinity
         | 
| @@ -3973,7 +3985,11 @@ module Google | |
| 3973 3985 | 
             
                    # healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
         | 
| 3974 3986 | 
             
                    # existing connections always persist on unhealthy backends regardless of
         | 
| 3975 3987 | 
             
                    # protocol and session affinity. It is generally not recommended to use this
         | 
| 3976 | 
            -
                    # mode overriding the default.
         | 
| 3988 | 
            +
                    # mode overriding the default. For more details, see [Connection Persistence for
         | 
| 3989 | 
            +
                    # Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
         | 
| 3990 | 
            +
                    # networklb-backend-service#connection-persistence) and [Connection Persistence
         | 
| 3991 | 
            +
                    # for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
         | 
| 3992 | 
            +
                    # docs/internal#connection-persistence).
         | 
| 3977 3993 | 
             
                    # Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
         | 
| 3978 3994 | 
             
                    # @return [String]
         | 
| 3979 3995 | 
             
                    attr_accessor :connection_persistence_on_unhealthy_backends
         | 
| @@ -3986,19 +4002,25 @@ module Google | |
| 3986 4002 | 
             
                    alias_method :enable_strong_affinity?, :enable_strong_affinity
         | 
| 3987 4003 |  | 
| 3988 4004 | 
             
                    # Specifies how long to keep a Connection Tracking entry while there is no
         | 
| 3989 | 
            -
                    # matching traffic (in seconds). For  | 
| 3990 | 
            -
                    # and maximum is 16 hours.  | 
| 3991 | 
            -
                    #  | 
| 3992 | 
            -
                    #  | 
| 4005 | 
            +
                    # matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
         | 
| 4006 | 
            +
                    # minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
         | 
| 4007 | 
            +
                    # only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
         | 
| 4008 | 
            +
                    # CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
         | 
| 4009 | 
            +
                    # PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
         | 
| 4010 | 
            +
                    # is not available publicly.
         | 
| 3993 4011 | 
             
                    # Corresponds to the JSON property `idleTimeoutSec`
         | 
| 3994 4012 | 
             
                    # @return [Fixnum]
         | 
| 3995 4013 | 
             
                    attr_accessor :idle_timeout_sec
         | 
| 3996 4014 |  | 
| 3997 | 
            -
                    # Specifies the key used for connection tracking. There are two options:
         | 
| 4015 | 
            +
                    # Specifies the key used for connection tracking. There are two options: -
         | 
| 3998 4016 | 
             
                    # PER_CONNECTION: This is the default mode. The Connection Tracking is performed
         | 
| 3999 | 
            -
                    # as per the Connection Key (default Hash Method) for the specific protocol.
         | 
| 4017 | 
            +
                    # as per the Connection Key (default Hash Method) for the specific protocol. -
         | 
| 4000 4018 | 
             
                    # PER_SESSION: The Connection Tracking is performed as per the configured
         | 
| 4001 | 
            -
                    # Session Affinity. It matches the configured Session Affinity.
         | 
| 4019 | 
            +
                    # Session Affinity. It matches the configured Session Affinity. For more details,
         | 
| 4020 | 
            +
                    # see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
         | 
| 4021 | 
            +
                    # balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
         | 
| 4022 | 
            +
                    # Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
         | 
| 4023 | 
            +
                    # balancing/docs/internal#tracking-mode).
         | 
| 4002 4024 | 
             
                    # Corresponds to the JSON property `trackingMode`
         | 
| 4003 4025 | 
             
                    # @return [String]
         | 
| 4004 4026 | 
             
                    attr_accessor :tracking_mode
         | 
| @@ -4718,7 +4740,7 @@ module Google | |
| 4718 4740 | 
             
                    end
         | 
| 4719 4741 | 
             
                  end
         | 
| 4720 4742 |  | 
| 4721 | 
            -
                  # Associates `members | 
| 4743 | 
            +
                  # Associates `members`, or principals, with a `role`.
         | 
| 4722 4744 | 
             
                  class Binding
         | 
| 4723 4745 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 4724 4746 |  | 
| @@ -4746,7 +4768,7 @@ module Google | |
| 4746 4768 | 
             
                    # @return [Google::Apis::ComputeAlpha::Expr]
         | 
| 4747 4769 | 
             
                    attr_accessor :condition
         | 
| 4748 4770 |  | 
| 4749 | 
            -
                    # Specifies the  | 
| 4771 | 
            +
                    # Specifies the principals requesting access for a Cloud Platform resource. `
         | 
| 4750 4772 | 
             
                    # members` can have the following values: * `allUsers`: A special identifier
         | 
| 4751 4773 | 
             
                    # that represents anyone who is on the internet; with or without a Google
         | 
| 4752 4774 | 
             
                    # account. * `allAuthenticatedUsers`: A special identifier that represents
         | 
| @@ -4776,8 +4798,8 @@ module Google | |
| 4776 4798 | 
             
                    # @return [Array<String>]
         | 
| 4777 4799 | 
             
                    attr_accessor :members
         | 
| 4778 4800 |  | 
| 4779 | 
            -
                    # Role that is assigned to `members | 
| 4780 | 
            -
                    #  | 
| 4801 | 
            +
                    # Role that is assigned to the list of `members`, or principals. For example, `
         | 
| 4802 | 
            +
                    # roles/viewer`, `roles/editor`, or `roles/owner`.
         | 
| 4781 4803 | 
             
                    # Corresponds to the JSON property `role`
         | 
| 4782 4804 | 
             
                    # @return [String]
         | 
| 4783 4805 | 
             
                    attr_accessor :role
         | 
| @@ -5805,14 +5827,15 @@ module Google | |
| 5805 5827 | 
             
                    end
         | 
| 5806 5828 | 
             
                  end
         | 
| 5807 5829 |  | 
| 5808 | 
            -
                  # The specification for allowing client | 
| 5809 | 
            -
                  # W3C  | 
| 5830 | 
            +
                  # The specification for allowing client-side cross-origin requests. For more
         | 
| 5831 | 
            +
                  # information about the W3C recommendation for cross-origin resource sharing (
         | 
| 5832 | 
            +
                  # CORS), see Fetch API Living Standard.
         | 
| 5810 5833 | 
             
                  class CorsPolicy
         | 
| 5811 5834 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 5812 5835 |  | 
| 5813 5836 | 
             
                    # In response to a preflight request, setting this to true indicates that the
         | 
| 5814 | 
            -
                    # actual request can include user credentials. This translates to the | 
| 5815 | 
            -
                    # Control-Allow-Credentials header. Default is false.
         | 
| 5837 | 
            +
                    # actual request can include user credentials. This field translates to the
         | 
| 5838 | 
            +
                    # Access-Control-Allow-Credentials header. Default is false.
         | 
| 5816 5839 | 
             
                    # Corresponds to the JSON property `allowCredentials`
         | 
| 5817 5840 | 
             
                    # @return [Boolean]
         | 
| 5818 5841 | 
             
                    attr_accessor :allow_credentials
         | 
| @@ -5828,23 +5851,23 @@ module Google | |
| 5828 5851 | 
             
                    # @return [Array<String>]
         | 
| 5829 5852 | 
             
                    attr_accessor :allow_methods
         | 
| 5830 5853 |  | 
| 5831 | 
            -
                    # Specifies  | 
| 5832 | 
            -
                    # regular expression  | 
| 5833 | 
            -
                    #  | 
| 5854 | 
            +
                    # Specifies a regular expression that matches allowed origins. For more
         | 
| 5855 | 
            +
                    # information about the regular expression syntax, see Syntax. An origin is
         | 
| 5856 | 
            +
                    # allowed if it matches either an item in allowOrigins or an item in
         | 
| 5834 5857 | 
             
                    # allowOriginRegexes.
         | 
| 5835 5858 | 
             
                    # Corresponds to the JSON property `allowOriginRegexes`
         | 
| 5836 5859 | 
             
                    # @return [Array<String>]
         | 
| 5837 5860 | 
             
                    attr_accessor :allow_origin_regexes
         | 
| 5838 5861 |  | 
| 5839 | 
            -
                    # Specifies the list of origins that  | 
| 5840 | 
            -
                    #  | 
| 5862 | 
            +
                    # Specifies the list of origins that is allowed to do CORS requests. An origin
         | 
| 5863 | 
            +
                    # is allowed if it matches either an item in allowOrigins or an item in
         | 
| 5841 5864 | 
             
                    # allowOriginRegexes.
         | 
| 5842 5865 | 
             
                    # Corresponds to the JSON property `allowOrigins`
         | 
| 5843 5866 | 
             
                    # @return [Array<String>]
         | 
| 5844 5867 | 
             
                    attr_accessor :allow_origins
         | 
| 5845 5868 |  | 
| 5846 | 
            -
                    # If true, specifies the CORS policy is disabled. The default value | 
| 5847 | 
            -
                    # which indicates that the CORS policy is in effect.
         | 
| 5869 | 
            +
                    # If true, the setting specifies the CORS policy is disabled. The default value
         | 
| 5870 | 
            +
                    # of false, which indicates that the CORS policy is in effect.
         | 
| 5848 5871 | 
             
                    # Corresponds to the JSON property `disabled`
         | 
| 5849 5872 | 
             
                    # @return [Boolean]
         | 
| 5850 5873 | 
             
                    attr_accessor :disabled
         | 
| @@ -5856,7 +5879,7 @@ module Google | |
| 5856 5879 | 
             
                    attr_accessor :expose_headers
         | 
| 5857 5880 |  | 
| 5858 5881 | 
             
                    # Specifies how long results of a preflight request can be cached in seconds.
         | 
| 5859 | 
            -
                    # This translates to the Access-Control-Max-Age header.
         | 
| 5882 | 
            +
                    # This field translates to the Access-Control-Max-Age header.
         | 
| 5860 5883 | 
             
                    # Corresponds to the JSON property `maxAge`
         | 
| 5861 5884 | 
             
                    # @return [Fixnum]
         | 
| 5862 5885 | 
             
                    attr_accessor :max_age
         | 
| @@ -6040,6 +6063,11 @@ module Google | |
| 6040 6063 | 
             
                  class Disk
         | 
| 6041 6064 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 6042 6065 |  | 
| 6066 | 
            +
                    # The architecture of the disk. Valid values are ARM64 or X86_64.
         | 
| 6067 | 
            +
                    # Corresponds to the JSON property `architecture`
         | 
| 6068 | 
            +
                    # @return [String]
         | 
| 6069 | 
            +
                    attr_accessor :architecture
         | 
| 6070 | 
            +
                  
         | 
| 6043 6071 | 
             
                    # [Output Only] Creation timestamp in RFC3339 text format.
         | 
| 6044 6072 | 
             
                    # Corresponds to the JSON property `creationTimestamp`
         | 
| 6045 6073 | 
             
                    # @return [String]
         | 
| @@ -6389,6 +6417,7 @@ module Google | |
| 6389 6417 |  | 
| 6390 6418 | 
             
                    # Update properties of this object
         | 
| 6391 6419 | 
             
                    def update!(**args)
         | 
| 6420 | 
            +
                      @architecture = args[:architecture] if args.key?(:architecture)
         | 
| 6392 6421 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 6393 6422 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 6394 6423 | 
             
                      @disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
         | 
| @@ -10334,31 +10363,31 @@ module Google | |
| 10334 10363 |  | 
| 10335 10364 | 
             
                    # An Identity and Access Management (IAM) policy, which specifies access
         | 
| 10336 10365 | 
             
                    # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
         | 
| 10337 | 
            -
                    # A `binding` binds one or more `members | 
| 10338 | 
            -
                    # user accounts, service accounts, Google groups, and domains ( | 
| 10339 | 
            -
                    # A `role` is a named list of permissions; each `role` can be | 
| 10340 | 
            -
                    # role or a user-created custom role. For some types of Google | 
| 10341 | 
            -
                    # a `binding` can also specify a `condition`, which is a | 
| 10342 | 
            -
                    # allows access to a resource only if the expression | 
| 10343 | 
            -
                    # condition can add constraints based on attributes of | 
| 10344 | 
            -
                    # or both. To learn which resources support | 
| 10345 | 
            -
                    # see the [IAM documentation](https://cloud. | 
| 10346 | 
            -
                    # resource-policies). **JSON example:** ` " | 
| 10347 | 
            -
                    # resourcemanager.organizationAdmin", "members": [ | 
| 10348 | 
            -
                    # group:admins@example.com", "domain:google.com", " | 
| 10349 | 
            -
                    # appspot.gserviceaccount.com" ] `, ` "role": " | 
| 10350 | 
            -
                    # organizationViewer", "members": [ "user:eve@example.com" | 
| 10351 | 
            -
                    # title": "expirable access", "description": "Does not grant | 
| 10352 | 
            -
                    # 2020", "expression": "request.time < timestamp('2020-10-01T00: | 
| 10353 | 
            -
                    # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** | 
| 10354 | 
            -
                    # members: - user:mike@example.com - group:admins@example.com - | 
| 10355 | 
            -
                    # com - serviceAccount:my-project-id@appspot.gserviceaccount.com | 
| 10356 | 
            -
                    # resourcemanager.organizationAdmin - members: - user:eve@example. | 
| 10357 | 
            -
                    # roles/resourcemanager.organizationViewer condition: title: expirable | 
| 10358 | 
            -
                    # description: Does not grant access after Sep 2020 expression: request. | 
| 10359 | 
            -
                    # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For | 
| 10360 | 
            -
                    # description of IAM and its features, see the [IAM documentation](https:// | 
| 10361 | 
            -
                    # google.com/iam/docs/).
         | 
| 10366 | 
            +
                    # A `binding` binds one or more `members`, or principals, to a single `role`.
         | 
| 10367 | 
            +
                    # Principals can be user accounts, service accounts, Google groups, and domains (
         | 
| 10368 | 
            +
                    # such as G Suite). A `role` is a named list of permissions; each `role` can be
         | 
| 10369 | 
            +
                    # an IAM predefined role or a user-created custom role. For some types of Google
         | 
| 10370 | 
            +
                    # Cloud resources, a `binding` can also specify a `condition`, which is a
         | 
| 10371 | 
            +
                    # logical expression that allows access to a resource only if the expression
         | 
| 10372 | 
            +
                    # evaluates to `true`. A condition can add constraints based on attributes of
         | 
| 10373 | 
            +
                    # the request, the resource, or both. To learn which resources support
         | 
| 10374 | 
            +
                    # conditions in their IAM policies, see the [IAM documentation](https://cloud.
         | 
| 10375 | 
            +
                    # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
         | 
| 10376 | 
            +
                    # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
         | 
| 10377 | 
            +
                    # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
         | 
| 10378 | 
            +
                    # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
         | 
| 10379 | 
            +
                    # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
         | 
| 10380 | 
            +
                    # ], "condition": ` "title": "expirable access", "description": "Does not grant
         | 
| 10381 | 
            +
                    # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
         | 
| 10382 | 
            +
                    # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
         | 
| 10383 | 
            +
                    # bindings: - members: - user:mike@example.com - group:admins@example.com -
         | 
| 10384 | 
            +
                    # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
         | 
| 10385 | 
            +
                    # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
         | 
| 10386 | 
            +
                    # com role: roles/resourcemanager.organizationViewer condition: title: expirable
         | 
| 10387 | 
            +
                    # access description: Does not grant access after Sep 2020 expression: request.
         | 
| 10388 | 
            +
                    # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
         | 
| 10389 | 
            +
                    # a description of IAM and its features, see the [IAM documentation](https://
         | 
| 10390 | 
            +
                    # cloud.google.com/iam/docs/).
         | 
| 10362 10391 | 
             
                    # Corresponds to the JSON property `policy`
         | 
| 10363 10392 | 
             
                    # @return [Google::Apis::ComputeAlpha::Policy]
         | 
| 10364 10393 | 
             
                    attr_accessor :policy
         | 
| @@ -10431,31 +10460,31 @@ module Google | |
| 10431 10460 |  | 
| 10432 10461 | 
             
                    # An Identity and Access Management (IAM) policy, which specifies access
         | 
| 10433 10462 | 
             
                    # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
         | 
| 10434 | 
            -
                    # A `binding` binds one or more `members | 
| 10435 | 
            -
                    # user accounts, service accounts, Google groups, and domains ( | 
| 10436 | 
            -
                    # A `role` is a named list of permissions; each `role` can be | 
| 10437 | 
            -
                    # role or a user-created custom role. For some types of Google | 
| 10438 | 
            -
                    # a `binding` can also specify a `condition`, which is a | 
| 10439 | 
            -
                    # allows access to a resource only if the expression | 
| 10440 | 
            -
                    # condition can add constraints based on attributes of | 
| 10441 | 
            -
                    # or both. To learn which resources support | 
| 10442 | 
            -
                    # see the [IAM documentation](https://cloud. | 
| 10443 | 
            -
                    # resource-policies). **JSON example:** ` " | 
| 10444 | 
            -
                    # resourcemanager.organizationAdmin", "members": [ | 
| 10445 | 
            -
                    # group:admins@example.com", "domain:google.com", " | 
| 10446 | 
            -
                    # appspot.gserviceaccount.com" ] `, ` "role": " | 
| 10447 | 
            -
                    # organizationViewer", "members": [ "user:eve@example.com" | 
| 10448 | 
            -
                    # title": "expirable access", "description": "Does not grant | 
| 10449 | 
            -
                    # 2020", "expression": "request.time < timestamp('2020-10-01T00: | 
| 10450 | 
            -
                    # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** | 
| 10451 | 
            -
                    # members: - user:mike@example.com - group:admins@example.com - | 
| 10452 | 
            -
                    # com - serviceAccount:my-project-id@appspot.gserviceaccount.com | 
| 10453 | 
            -
                    # resourcemanager.organizationAdmin - members: - user:eve@example. | 
| 10454 | 
            -
                    # roles/resourcemanager.organizationViewer condition: title: expirable | 
| 10455 | 
            -
                    # description: Does not grant access after Sep 2020 expression: request. | 
| 10456 | 
            -
                    # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For | 
| 10457 | 
            -
                    # description of IAM and its features, see the [IAM documentation](https:// | 
| 10458 | 
            -
                    # google.com/iam/docs/).
         | 
| 10463 | 
            +
                    # A `binding` binds one or more `members`, or principals, to a single `role`.
         | 
| 10464 | 
            +
                    # Principals can be user accounts, service accounts, Google groups, and domains (
         | 
| 10465 | 
            +
                    # such as G Suite). A `role` is a named list of permissions; each `role` can be
         | 
| 10466 | 
            +
                    # an IAM predefined role or a user-created custom role. For some types of Google
         | 
| 10467 | 
            +
                    # Cloud resources, a `binding` can also specify a `condition`, which is a
         | 
| 10468 | 
            +
                    # logical expression that allows access to a resource only if the expression
         | 
| 10469 | 
            +
                    # evaluates to `true`. A condition can add constraints based on attributes of
         | 
| 10470 | 
            +
                    # the request, the resource, or both. To learn which resources support
         | 
| 10471 | 
            +
                    # conditions in their IAM policies, see the [IAM documentation](https://cloud.
         | 
| 10472 | 
            +
                    # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
         | 
| 10473 | 
            +
                    # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
         | 
| 10474 | 
            +
                    # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
         | 
| 10475 | 
            +
                    # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
         | 
| 10476 | 
            +
                    # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
         | 
| 10477 | 
            +
                    # ], "condition": ` "title": "expirable access", "description": "Does not grant
         | 
| 10478 | 
            +
                    # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
         | 
| 10479 | 
            +
                    # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
         | 
| 10480 | 
            +
                    # bindings: - members: - user:mike@example.com - group:admins@example.com -
         | 
| 10481 | 
            +
                    # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
         | 
| 10482 | 
            +
                    # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
         | 
| 10483 | 
            +
                    # com role: roles/resourcemanager.organizationViewer condition: title: expirable
         | 
| 10484 | 
            +
                    # access description: Does not grant access after Sep 2020 expression: request.
         | 
| 10485 | 
            +
                    # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
         | 
| 10486 | 
            +
                    # a description of IAM and its features, see the [IAM documentation](https://
         | 
| 10487 | 
            +
                    # cloud.google.com/iam/docs/).
         | 
| 10459 10488 | 
             
                    # Corresponds to the JSON property `policy`
         | 
| 10460 10489 | 
             
                    # @return [Google::Apis::ComputeAlpha::Policy]
         | 
| 10461 10490 | 
             
                    attr_accessor :policy
         | 
| @@ -10611,8 +10640,11 @@ module Google | |
| 10611 10640 | 
             
                  class GuestOsFeature
         | 
| 10612 10641 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 10613 10642 |  | 
| 10614 | 
            -
                    # The ID of a supported feature.  | 
| 10615 | 
            -
                    # to  | 
| 10643 | 
            +
                    # The ID of a supported feature. To add multiple values, use commas to separate
         | 
| 10644 | 
            +
                    # values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
         | 
| 10645 | 
            +
                    # WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - SECURE_BOOT - GVNIC -
         | 
| 10646 | 
            +
                    # SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE For more information, see Enabling
         | 
| 10647 | 
            +
                    # guest operating system features.
         | 
| 10616 10648 | 
             
                    # Corresponds to the JSON property `type`
         | 
| 10617 10649 | 
             
                    # @return [String]
         | 
| 10618 10650 | 
             
                    attr_accessor :type
         | 
| @@ -12022,7 +12054,8 @@ module Google | |
| 12022 12054 | 
             
                    # port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
         | 
| 12023 12055 | 
             
                    # In that case, * must be the first character and must be followed in the
         | 
| 12024 12056 | 
             
                    # pattern by either - or .. * based matching is not supported when the URL map
         | 
| 12025 | 
            -
                    # is bound to target gRPC proxy that has validateForProxyless field set to | 
| 12057 | 
            +
                    # is bound to a target gRPC proxy that has the validateForProxyless field set to
         | 
| 12058 | 
            +
                    # true.
         | 
| 12026 12059 | 
             
                    # Corresponds to the JSON property `hosts`
         | 
| 12027 12060 | 
             
                    # @return [Array<String>]
         | 
| 12028 12061 | 
             
                    attr_accessor :hosts
         | 
| @@ -12049,8 +12082,8 @@ module Google | |
| 12049 12082 | 
             
                  class HttpFaultAbort
         | 
| 12050 12083 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12051 12084 |  | 
| 12052 | 
            -
                    # The HTTP status code used to abort the request. The value must be  | 
| 12053 | 
            -
                    #  | 
| 12085 | 
            +
                    # The HTTP status code used to abort the request. The value must be from 200 to
         | 
| 12086 | 
            +
                    # 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
         | 
| 12054 12087 | 
             
                    # status code according to this mapping table. HTTP status 200 is mapped to gRPC
         | 
| 12055 12088 | 
             
                    # status UNKNOWN. Injecting an OK status is currently not supported by Traffic
         | 
| 12056 12089 | 
             
                    # Director.
         | 
| @@ -12058,8 +12091,8 @@ module Google | |
| 12058 12091 | 
             
                    # @return [Fixnum]
         | 
| 12059 12092 | 
             
                    attr_accessor :http_status
         | 
| 12060 12093 |  | 
| 12061 | 
            -
                    # The percentage of traffic  | 
| 12062 | 
            -
                    # aborted as part of fault injection. The value must be  | 
| 12094 | 
            +
                    # The percentage of traffic for connections, operations, or requests that is
         | 
| 12095 | 
            +
                    # aborted as part of fault injection. The value must be from 0.0 to 100.0
         | 
| 12063 12096 | 
             
                    # inclusive.
         | 
| 12064 12097 | 
             
                    # Corresponds to the JSON property `percentage`
         | 
| 12065 12098 | 
             
                    # @return [Float]
         | 
| @@ -12076,8 +12109,8 @@ module Google | |
| 12076 12109 | 
             
                    end
         | 
| 12077 12110 | 
             
                  end
         | 
| 12078 12111 |  | 
| 12079 | 
            -
                  # Specifies the delay introduced by  | 
| 12080 | 
            -
                  # to the backend service as part of fault injection.
         | 
| 12112 | 
            +
                  # Specifies the delay introduced by the load balancer before forwarding the
         | 
| 12113 | 
            +
                  # request to the backend service as part of fault injection.
         | 
| 12081 12114 | 
             
                  class HttpFaultDelay
         | 
| 12082 12115 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12083 12116 |  | 
| @@ -12089,9 +12122,9 @@ module Google | |
| 12089 12122 | 
             
                    # @return [Google::Apis::ComputeAlpha::Duration]
         | 
| 12090 12123 | 
             
                    attr_accessor :fixed_delay
         | 
| 12091 12124 |  | 
| 12092 | 
            -
                    # The percentage of traffic  | 
| 12093 | 
            -
                    #  | 
| 12094 | 
            -
                    #  | 
| 12125 | 
            +
                    # The percentage of traffic for connections, operations, or requests for which a
         | 
| 12126 | 
            +
                    # delay is introduced as part of fault injection. The value must be from 0.0 to
         | 
| 12127 | 
            +
                    # 100.0 inclusive.
         | 
| 12095 12128 | 
             
                    # Corresponds to the JSON property `percentage`
         | 
| 12096 12129 | 
             
                    # @return [Float]
         | 
| 12097 12130 | 
             
                    attr_accessor :percentage
         | 
| @@ -12110,9 +12143,9 @@ module Google | |
| 12110 12143 | 
             
                  # The specification for fault injection introduced into traffic to test the
         | 
| 12111 12144 | 
             
                  # resiliency of clients to backend service failure. As part of fault injection,
         | 
| 12112 12145 | 
             
                  # when clients send requests to a backend service, delays can be introduced by
         | 
| 12113 | 
            -
                  #  | 
| 12114 | 
            -
                  # backend service. Similarly requests from clients can be aborted by the
         | 
| 12115 | 
            -
                  #  | 
| 12146 | 
            +
                  # the load balancer on a percentage of requests before sending those request to
         | 
| 12147 | 
            +
                  # the backend service. Similarly requests from clients can be aborted by the
         | 
| 12148 | 
            +
                  # load balancer for a percentage of requests.
         | 
| 12116 12149 | 
             
                  class HttpFaultInjection
         | 
| 12117 12150 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12118 12151 |  | 
| @@ -12121,8 +12154,8 @@ module Google | |
| 12121 12154 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpFaultAbort]
         | 
| 12122 12155 | 
             
                    attr_accessor :abort
         | 
| 12123 12156 |  | 
| 12124 | 
            -
                    # Specifies the delay introduced by  | 
| 12125 | 
            -
                    # to the backend service as part of fault injection.
         | 
| 12157 | 
            +
                    # Specifies the delay introduced by the load balancer before forwarding the
         | 
| 12158 | 
            +
                    # request to the backend service as part of fault injection.
         | 
| 12126 12159 | 
             
                    # Corresponds to the JSON property `delay`
         | 
| 12127 12160 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpFaultDelay]
         | 
| 12128 12161 | 
             
                    attr_accessor :delay
         | 
| @@ -12180,25 +12213,25 @@ module Google | |
| 12180 12213 | 
             
                  class HttpHeaderAction
         | 
| 12181 12214 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12182 12215 |  | 
| 12183 | 
            -
                    # Headers to add to a matching request  | 
| 12216 | 
            +
                    # Headers to add to a matching request before forwarding the request to the
         | 
| 12184 12217 | 
             
                    # backendService.
         | 
| 12185 12218 | 
             
                    # Corresponds to the JSON property `requestHeadersToAdd`
         | 
| 12186 12219 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
         | 
| 12187 12220 | 
             
                    attr_accessor :request_headers_to_add
         | 
| 12188 12221 |  | 
| 12189 12222 | 
             
                    # A list of header names for headers that need to be removed from the request
         | 
| 12190 | 
            -
                    #  | 
| 12223 | 
            +
                    # before forwarding the request to the backendService.
         | 
| 12191 12224 | 
             
                    # Corresponds to the JSON property `requestHeadersToRemove`
         | 
| 12192 12225 | 
             
                    # @return [Array<String>]
         | 
| 12193 12226 | 
             
                    attr_accessor :request_headers_to_remove
         | 
| 12194 12227 |  | 
| 12195 | 
            -
                    # Headers to add the response  | 
| 12228 | 
            +
                    # Headers to add the response before sending the response back to the client.
         | 
| 12196 12229 | 
             
                    # Corresponds to the JSON property `responseHeadersToAdd`
         | 
| 12197 12230 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
         | 
| 12198 12231 | 
             
                    attr_accessor :response_headers_to_add
         | 
| 12199 12232 |  | 
| 12200 12233 | 
             
                    # A list of header names for headers that need to be removed from the response
         | 
| 12201 | 
            -
                    #  | 
| 12234 | 
            +
                    # before sending the response back to the client.
         | 
| 12202 12235 | 
             
                    # Corresponds to the JSON property `responseHeadersToRemove`
         | 
| 12203 12236 | 
             
                    # @return [Array<String>]
         | 
| 12204 12237 | 
             
                    attr_accessor :response_headers_to_remove
         | 
| @@ -12228,21 +12261,21 @@ module Google | |
| 12228 12261 |  | 
| 12229 12262 | 
             
                    # The name of the HTTP header to match. For matching against the HTTP request's
         | 
| 12230 12263 | 
             
                    # authority, use a headerMatch with the header name ":authority". For matching a
         | 
| 12231 | 
            -
                    # request's method, use the headerName ":method". When the URL map is bound to
         | 
| 12232 | 
            -
                    # target gRPC proxy that has validateForProxyless field set to true, only | 
| 12233 | 
            -
                    # binary user-specified custom metadata and the `content-type` header are
         | 
| 12264 | 
            +
                    # request's method, use the headerName ":method". When the URL map is bound to a
         | 
| 12265 | 
            +
                    # target gRPC proxy that has the validateForProxyless field set to true, only
         | 
| 12266 | 
            +
                    # non-binary user-specified custom metadata and the `content-type` header are
         | 
| 12234 12267 | 
             
                    # supported. The following transport-level headers cannot be used in header
         | 
| 12235 12268 | 
             
                    # matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
         | 
| 12236 12269 | 
             
                    # accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
         | 
| 12237 12270 | 
             
                    # `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
         | 
| 12238 | 
            -
                    # bin | 
| 12271 | 
            +
                    # bin`.
         | 
| 12239 12272 | 
             
                    # Corresponds to the JSON property `headerName`
         | 
| 12240 12273 | 
             
                    # @return [String]
         | 
| 12241 12274 | 
             
                    attr_accessor :header_name
         | 
| 12242 12275 |  | 
| 12243 | 
            -
                    # If set to false, the headerMatch is considered a match if the match | 
| 12244 | 
            -
                    #  | 
| 12245 | 
            -
                    # match criteria  | 
| 12276 | 
            +
                    # If set to false, the headerMatch is considered a match if the preceding match
         | 
| 12277 | 
            +
                    # criteria are met. If set to true, the headerMatch is considered a match if the
         | 
| 12278 | 
            +
                    # preceding match criteria are NOT met. The default setting is false.
         | 
| 12246 12279 | 
             
                    # Corresponds to the JSON property `invertMatch`
         | 
| 12247 12280 | 
             
                    # @return [Boolean]
         | 
| 12248 12281 | 
             
                    attr_accessor :invert_match
         | 
| @@ -12270,13 +12303,13 @@ module Google | |
| 12270 12303 | 
             
                    attr_accessor :range_match
         | 
| 12271 12304 |  | 
| 12272 12305 | 
             
                    # The value of the header must match the regular expression specified in
         | 
| 12273 | 
            -
                    # regexMatch. For regular expression  | 
| 12274 | 
            -
                    #  | 
| 12275 | 
            -
                    #  | 
| 12276 | 
            -
                    #  | 
| 12277 | 
            -
                    #  | 
| 12278 | 
            -
                    #  | 
| 12279 | 
            -
                    #  | 
| 12306 | 
            +
                    # regexMatch. For more information about regular expression syntax, see Syntax.
         | 
| 12307 | 
            +
                    # For matching against a port specified in the HTTP request, use a headerMatch
         | 
| 12308 | 
            +
                    # with headerName set to PORT and a regular expression that satisfies the
         | 
| 12309 | 
            +
                    # RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
         | 
| 12310 | 
            +
                    # suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
         | 
| 12311 | 
            +
                    # only applies to load balancers that have loadBalancingScheme set to
         | 
| 12312 | 
            +
                    # INTERNAL_SELF_MANAGED.
         | 
| 12280 12313 | 
             
                    # Corresponds to the JSON property `regexMatch`
         | 
| 12281 12314 | 
             
                    # @return [String]
         | 
| 12282 12315 | 
             
                    attr_accessor :regex_match
         | 
| @@ -12577,8 +12610,8 @@ module Google | |
| 12577 12610 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12578 12611 |  | 
| 12579 12612 | 
             
                    # The queryParameterMatch matches if the value of the parameter exactly matches
         | 
| 12580 | 
            -
                    # the contents of exactMatch. Only one of presentMatch, exactMatch or | 
| 12581 | 
            -
                    # must be set.
         | 
| 12613 | 
            +
                    # the contents of exactMatch. Only one of presentMatch, exactMatch, or
         | 
| 12614 | 
            +
                    # regexMatch must be set.
         | 
| 12582 12615 | 
             
                    # Corresponds to the JSON property `exactMatch`
         | 
| 12583 12616 | 
             
                    # @return [String]
         | 
| 12584 12617 | 
             
                    attr_accessor :exact_match
         | 
| @@ -12591,17 +12624,17 @@ module Google | |
| 12591 12624 |  | 
| 12592 12625 | 
             
                    # Specifies that the queryParameterMatch matches if the request contains the
         | 
| 12593 12626 | 
             
                    # query parameter, irrespective of whether the parameter has a value or not.
         | 
| 12594 | 
            -
                    # Only one of presentMatch, exactMatch or regexMatch must be set.
         | 
| 12627 | 
            +
                    # Only one of presentMatch, exactMatch, or regexMatch must be set.
         | 
| 12595 12628 | 
             
                    # Corresponds to the JSON property `presentMatch`
         | 
| 12596 12629 | 
             
                    # @return [Boolean]
         | 
| 12597 12630 | 
             
                    attr_accessor :present_match
         | 
| 12598 12631 | 
             
                    alias_method :present_match?, :present_match
         | 
| 12599 12632 |  | 
| 12600 12633 | 
             
                    # The queryParameterMatch matches if the value of the parameter matches the
         | 
| 12601 | 
            -
                    # regular expression specified by regexMatch. For  | 
| 12602 | 
            -
                    #  | 
| 12603 | 
            -
                    #  | 
| 12604 | 
            -
                    #  | 
| 12634 | 
            +
                    # regular expression specified by regexMatch. For more information about regular
         | 
| 12635 | 
            +
                    # expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
         | 
| 12636 | 
            +
                    # regexMatch must be set. regexMatch only applies when the loadBalancingScheme
         | 
| 12637 | 
            +
                    # is set to INTERNAL_SELF_MANAGED.
         | 
| 12605 12638 | 
             
                    # Corresponds to the JSON property `regexMatch`
         | 
| 12606 12639 | 
             
                    # @return [String]
         | 
| 12607 12640 | 
             
                    attr_accessor :regex_match
         | 
| @@ -12623,15 +12656,15 @@ module Google | |
| 12623 12656 | 
             
                  class HttpRedirectAction
         | 
| 12624 12657 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12625 12658 |  | 
| 12626 | 
            -
                    # The host that  | 
| 12627 | 
            -
                    #  | 
| 12659 | 
            +
                    # The host that is used in the redirect response instead of the one that was
         | 
| 12660 | 
            +
                    # supplied in the request. The value must be from 1 to 255 characters.
         | 
| 12628 12661 | 
             
                    # Corresponds to the JSON property `hostRedirect`
         | 
| 12629 12662 | 
             
                    # @return [String]
         | 
| 12630 12663 | 
             
                    attr_accessor :host_redirect
         | 
| 12631 12664 |  | 
| 12632 | 
            -
                    # If set to true, the URL scheme in the redirected request is set to  | 
| 12633 | 
            -
                    # set to false, the URL scheme of the redirected request  | 
| 12634 | 
            -
                    # that of the request. This must only be set for  | 
| 12665 | 
            +
                    # If set to true, the URL scheme in the redirected request is set to HTTPS. If
         | 
| 12666 | 
            +
                    # set to false, the URL scheme of the redirected request remains the same as
         | 
| 12667 | 
            +
                    # that of the request. This must only be set for URL maps used in
         | 
| 12635 12668 | 
             
                    # TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
         | 
| 12636 12669 | 
             
                    # default is set to false.
         | 
| 12637 12670 | 
             
                    # Corresponds to the JSON property `httpsRedirect`
         | 
| @@ -12639,11 +12672,11 @@ module Google | |
| 12639 12672 | 
             
                    attr_accessor :https_redirect
         | 
| 12640 12673 | 
             
                    alias_method :https_redirect?, :https_redirect
         | 
| 12641 12674 |  | 
| 12642 | 
            -
                    # The path that  | 
| 12643 | 
            -
                    #  | 
| 12675 | 
            +
                    # The path that is used in the redirect response instead of the one that was
         | 
| 12676 | 
            +
                    # supplied in the request. pathRedirect cannot be supplied together with
         | 
| 12644 12677 | 
             
                    # prefixRedirect. Supply one alone or neither. If neither is supplied, the path
         | 
| 12645 | 
            -
                    # of the original request  | 
| 12646 | 
            -
                    #  | 
| 12678 | 
            +
                    # of the original request is used for the redirect. The value must be from 1 to
         | 
| 12679 | 
            +
                    # 1024 characters.
         | 
| 12647 12680 | 
             
                    # Corresponds to the JSON property `pathRedirect`
         | 
| 12648 12681 | 
             
                    # @return [String]
         | 
| 12649 12682 | 
             
                    attr_accessor :path_redirect
         | 
| @@ -12651,8 +12684,8 @@ module Google | |
| 12651 12684 | 
             
                    # The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
         | 
| 12652 12685 | 
             
                    # retaining the remaining portion of the URL before redirecting the request.
         | 
| 12653 12686 | 
             
                    # prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
         | 
| 12654 | 
            -
                    # or neither. If neither is supplied, the path of the original request  | 
| 12655 | 
            -
                    #  | 
| 12687 | 
            +
                    # or neither. If neither is supplied, the path of the original request is used
         | 
| 12688 | 
            +
                    # for the redirect. The value must be from 1 to 1024 characters.
         | 
| 12656 12689 | 
             
                    # Corresponds to the JSON property `prefixRedirect`
         | 
| 12657 12690 | 
             
                    # @return [String]
         | 
| 12658 12691 | 
             
                    attr_accessor :prefix_redirect
         | 
| @@ -12661,14 +12694,14 @@ module Google | |
| 12661 12694 | 
             
                    # MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
         | 
| 12662 12695 | 
             
                    # FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
         | 
| 12663 12696 | 
             
                    # TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
         | 
| 12664 | 
            -
                    #  | 
| 12665 | 
            -
                    #  | 
| 12697 | 
            +
                    # is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
         | 
| 12698 | 
            +
                    # request method is retained.
         | 
| 12666 12699 | 
             
                    # Corresponds to the JSON property `redirectResponseCode`
         | 
| 12667 12700 | 
             
                    # @return [String]
         | 
| 12668 12701 | 
             
                    attr_accessor :redirect_response_code
         | 
| 12669 12702 |  | 
| 12670 12703 | 
             
                    # If set to true, any accompanying query portion of the original URL is removed
         | 
| 12671 | 
            -
                    #  | 
| 12704 | 
            +
                    # before redirecting the request. If set to false, the query portion of the
         | 
| 12672 12705 | 
             
                    # original URL is retained. The default is set to false.
         | 
| 12673 12706 | 
             
                    # Corresponds to the JSON property `stripQuery`
         | 
| 12674 12707 | 
             
                    # @return [Boolean]
         | 
| @@ -12709,25 +12742,27 @@ module Google | |
| 12709 12742 | 
             
                    attr_accessor :per_try_timeout
         | 
| 12710 12743 |  | 
| 12711 12744 | 
             
                    # Specifies one or more conditions when this retry policy applies. Valid values
         | 
| 12712 | 
            -
                    # are: - 5xx:  | 
| 12713 | 
            -
                    #  | 
| 12714 | 
            -
                    # example | 
| 12745 | 
            +
                    # are: - 5xx: retry is attempted if the instance or endpoint responds with any
         | 
| 12746 | 
            +
                    # 5xx response code, or if the instance or endpoint does not respond at all. For
         | 
| 12747 | 
            +
                    # example, disconnects, reset, read timeout, connection failure, and refused
         | 
| 12715 12748 | 
             
                    # streams. - gateway-error: Similar to 5xx, but only applies to response codes
         | 
| 12716 | 
            -
                    # 502, 503 or 504. -  | 
| 12717 | 
            -
                    # connecting to the instance or endpoint | 
| 12718 | 
            -
                    #  | 
| 12719 | 
            -
                    #  | 
| 12720 | 
            -
                    #  | 
| 12721 | 
            -
                    #  | 
| 12722 | 
            -
                    #  | 
| 12723 | 
            -
                    #  | 
| 12724 | 
            -
                    #  | 
| 12725 | 
            -
                    #  | 
| 12726 | 
            -
                    #  | 
| 12727 | 
            -
                    #  | 
| 12728 | 
            -
                    #  | 
| 12729 | 
            -
                    #  | 
| 12730 | 
            -
                    # 
         | 
| 12749 | 
            +
                    # 502, 503 or 504. - connect-failure: a retry is attempted on failures
         | 
| 12750 | 
            +
                    # connecting to the instance or endpoint. For example, connection timeouts. -
         | 
| 12751 | 
            +
                    # retriable-4xx: a retry is attempted if the instance or endpoint responds with
         | 
| 12752 | 
            +
                    # a 4xx response code. The only error that you can retry is error code 409. -
         | 
| 12753 | 
            +
                    # refused-stream: a retry is attempted if the instance or endpoint resets the
         | 
| 12754 | 
            +
                    # stream with a REFUSED_STREAM error code. This reset type indicates that it is
         | 
| 12755 | 
            +
                    # safe to retry. - cancelled: a retry is attempted if the gRPC status code in
         | 
| 12756 | 
            +
                    # the response header is set to cancelled. - deadline-exceeded: a retry is
         | 
| 12757 | 
            +
                    # attempted if the gRPC status code in the response header is set to deadline-
         | 
| 12758 | 
            +
                    # exceeded. - internal: a retry is attempted if the gRPC status code in the
         | 
| 12759 | 
            +
                    # response header is set to internal. - resource-exhausted: a retry is attempted
         | 
| 12760 | 
            +
                    # if the gRPC status code in the response header is set to resource-exhausted. -
         | 
| 12761 | 
            +
                    # unavailable: a retry is attempted if the gRPC status code in the response
         | 
| 12762 | 
            +
                    # header is set to unavailable. Only the following codes are supported when the
         | 
| 12763 | 
            +
                    # URL map is bound to target gRPC proxy that has validateForProxyless field set
         | 
| 12764 | 
            +
                    # to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
         | 
| 12765 | 
            +
                    # unavailable
         | 
| 12731 12766 | 
             
                    # Corresponds to the JSON property `retryConditions`
         | 
| 12732 12767 | 
             
                    # @return [Array<String>]
         | 
| 12733 12768 | 
             
                    attr_accessor :retry_conditions
         | 
| @@ -12748,8 +12783,9 @@ module Google | |
| 12748 12783 | 
             
                  class HttpRouteAction
         | 
| 12749 12784 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12750 12785 |  | 
| 12751 | 
            -
                    # The specification for allowing client | 
| 12752 | 
            -
                    # W3C  | 
| 12786 | 
            +
                    # The specification for allowing client-side cross-origin requests. For more
         | 
| 12787 | 
            +
                    # information about the W3C recommendation for cross-origin resource sharing (
         | 
| 12788 | 
            +
                    # CORS), see Fetch API Living Standard.
         | 
| 12753 12789 | 
             
                    # Corresponds to the JSON property `corsPolicy`
         | 
| 12754 12790 | 
             
                    # @return [Google::Apis::ComputeAlpha::CorsPolicy]
         | 
| 12755 12791 | 
             
                    attr_accessor :cors_policy
         | 
| @@ -12757,9 +12793,9 @@ module Google | |
| 12757 12793 | 
             
                    # The specification for fault injection introduced into traffic to test the
         | 
| 12758 12794 | 
             
                    # resiliency of clients to backend service failure. As part of fault injection,
         | 
| 12759 12795 | 
             
                    # when clients send requests to a backend service, delays can be introduced by
         | 
| 12760 | 
            -
                    #  | 
| 12761 | 
            -
                    # backend service. Similarly requests from clients can be aborted by the
         | 
| 12762 | 
            -
                    #  | 
| 12796 | 
            +
                    # the load balancer on a percentage of requests before sending those request to
         | 
| 12797 | 
            +
                    # the backend service. Similarly requests from clients can be aborted by the
         | 
| 12798 | 
            +
                    # load balancer for a percentage of requests.
         | 
| 12763 12799 | 
             
                    # Corresponds to the JSON property `faultInjectionPolicy`
         | 
| 12764 12800 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpFaultInjection]
         | 
| 12765 12801 | 
             
                    attr_accessor :fault_injection_policy
         | 
| @@ -12773,9 +12809,9 @@ module Google | |
| 12773 12809 | 
             
                    attr_accessor :max_stream_duration
         | 
| 12774 12810 |  | 
| 12775 12811 | 
             
                    # A policy that specifies how requests intended for the route's backends are
         | 
| 12776 | 
            -
                    # shadowed to a separate mirrored backend service.  | 
| 12777 | 
            -
                    # for responses from the shadow service.  | 
| 12778 | 
            -
                    # service, the host  | 
| 12812 | 
            +
                    # shadowed to a separate mirrored backend service. The load balancer doesn't
         | 
| 12813 | 
            +
                    # wait for responses from the shadow service. Before sending traffic to the
         | 
| 12814 | 
            +
                    # shadow service, the host or authority header is suffixed with -shadow.
         | 
| 12779 12815 | 
             
                    # Corresponds to the JSON property `requestMirrorPolicy`
         | 
| 12780 12816 | 
             
                    # @return [Google::Apis::ComputeAlpha::RequestMirrorPolicy]
         | 
| 12781 12817 | 
             
                    attr_accessor :request_mirror_policy
         | 
| @@ -12803,7 +12839,7 @@ module Google | |
| 12803 12839 | 
             
                    # occurs. The weights determine the fraction of traffic that flows to their
         | 
| 12804 12840 | 
             
                    # corresponding backend service. If all traffic needs to go to a single backend
         | 
| 12805 12841 | 
             
                    # service, there must be one weightedBackendService with weight set to a non-
         | 
| 12806 | 
            -
                    # zero number.  | 
| 12842 | 
            +
                    # zero number. After a backend service is identified and before forwarding the
         | 
| 12807 12843 | 
             
                    # request to the backend service, advanced routing actions such as URL rewrites
         | 
| 12808 12844 | 
             
                    # and header transformations are applied depending on additional settings
         | 
| 12809 12845 | 
             
                    # specified in this HttpRouteAction.
         | 
| @@ -12828,8 +12864,8 @@ module Google | |
| 12828 12864 | 
             
                    end
         | 
| 12829 12865 | 
             
                  end
         | 
| 12830 12866 |  | 
| 12831 | 
            -
                  #  | 
| 12832 | 
            -
                  # routing action that load balancing proxies  | 
| 12867 | 
            +
                  # The HttpRouteRule setting specifies how to match an HTTP request and the
         | 
| 12868 | 
            +
                  # corresponding routing action that load balancing proxies perform.
         | 
| 12833 12869 | 
             
                  class HttpRouteRule
         | 
| 12834 12870 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 12835 12871 |  | 
| @@ -12846,9 +12882,9 @@ module Google | |
| 12846 12882 | 
             
                    attr_accessor :header_action
         | 
| 12847 12883 |  | 
| 12848 12884 | 
             
                    # Outbound route specific configuration for networkservices.HttpFilter resources
         | 
| 12849 | 
            -
                    # enabled by Traffic Director. httpFilterConfigs only applies for  | 
| 12885 | 
            +
                    # enabled by Traffic Director. httpFilterConfigs only applies for load balancers
         | 
| 12850 12886 | 
             
                    # with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for
         | 
| 12851 | 
            -
                    # more details. Not supported when the URL map is bound to target gRPC proxy
         | 
| 12887 | 
            +
                    # more details. Not supported when the URL map is bound to a target gRPC proxy
         | 
| 12852 12888 | 
             
                    # that has validateForProxyless field set to true.
         | 
| 12853 12889 | 
             
                    # Corresponds to the JSON property `httpFilterConfigs`
         | 
| 12854 12890 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
         | 
| @@ -12856,10 +12892,10 @@ module Google | |
| 12856 12892 |  | 
| 12857 12893 | 
             
                    # Outbound route specific metadata supplied to networkservices.HttpFilter
         | 
| 12858 12894 | 
             
                    # resources enabled by Traffic Director. httpFilterMetadata only applies for
         | 
| 12859 | 
            -
                    #  | 
| 12895 | 
            +
                    # load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
         | 
| 12860 12896 | 
             
                    # ForwardingRule for more details. The only configTypeUrl supported is type.
         | 
| 12861 12897 | 
             
                    # googleapis.com/google.protobuf.Struct Not supported when the URL map is bound
         | 
| 12862 | 
            -
                    # to target gRPC proxy that has validateForProxyless field set to true.
         | 
| 12898 | 
            +
                    # to a target gRPC proxy that has validateForProxyless field set to true.
         | 
| 12863 12899 | 
             
                    # Corresponds to the JSON property `httpFilterMetadata`
         | 
| 12864 12900 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
         | 
| 12865 12901 | 
             
                    attr_accessor :http_filter_metadata
         | 
| @@ -12874,11 +12910,11 @@ module Google | |
| 12874 12910 | 
             
                    attr_accessor :match_rules
         | 
| 12875 12911 |  | 
| 12876 12912 | 
             
                    # For routeRules within a given pathMatcher, priority determines the order in
         | 
| 12877 | 
            -
                    # which load balancer  | 
| 12878 | 
            -
                    #  | 
| 12913 | 
            +
                    # which a load balancer interprets routeRules. RouteRules are evaluated in order
         | 
| 12914 | 
            +
                    # of priority, from the lowest to highest number. The priority of a rule
         | 
| 12879 12915 | 
             
                    # decreases as its number increases (1, 2, 3, N+1). The first rule that matches
         | 
| 12880 12916 | 
             
                    # the request is applied. You cannot configure two or more routeRules with the
         | 
| 12881 | 
            -
                    # same priority. Priority for each rule must be set to a number  | 
| 12917 | 
            +
                    # same priority. Priority for each rule must be set to a number from 0 to
         | 
| 12882 12918 | 
             
                    # 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
         | 
| 12883 12919 | 
             
                    # or remove rules in the future without affecting the rest of the rules. For
         | 
| 12884 12920 | 
             
                    # example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
         | 
| @@ -12889,24 +12925,24 @@ module Google | |
| 12889 12925 | 
             
                    attr_accessor :priority
         | 
| 12890 12926 |  | 
| 12891 12927 | 
             
                    # In response to a matching matchRule, the load balancer performs advanced
         | 
| 12892 | 
            -
                    # routing actions  | 
| 12928 | 
            +
                    # routing actions, such as URL rewrites and header transformations, before
         | 
| 12893 12929 | 
             
                    # forwarding the request to the selected backend. If routeAction specifies any
         | 
| 12894 12930 | 
             
                    # weightedBackendServices, service must not be set. Conversely if service is set,
         | 
| 12895 12931 | 
             
                    # routeAction cannot contain any weightedBackendServices. Only one of
         | 
| 12896 12932 | 
             
                    # urlRedirect, service or routeAction.weightedBackendService must be set.
         | 
| 12897 12933 | 
             
                    # UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
         | 
| 12898 | 
            -
                    # within a  | 
| 12934 | 
            +
                    # within a route rule's routeAction.
         | 
| 12899 12935 | 
             
                    # Corresponds to the JSON property `routeAction`
         | 
| 12900 12936 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
         | 
| 12901 12937 | 
             
                    attr_accessor :route_action
         | 
| 12902 12938 |  | 
| 12903 12939 | 
             
                    # The full or partial URL of the backend service resource to which traffic is
         | 
| 12904 | 
            -
                    # directed if this rule is matched. If routeAction is  | 
| 12905 | 
            -
                    #  | 
| 12906 | 
            -
                    #  | 
| 12907 | 
            -
                    #  | 
| 12908 | 
            -
                    #  | 
| 12909 | 
            -
                    #  | 
| 12940 | 
            +
                    # directed if this rule is matched. If routeAction is also specified, advanced
         | 
| 12941 | 
            +
                    # routing actions, such as URL rewrites, take effect before sending the request
         | 
| 12942 | 
            +
                    # to the backend. However, if service is specified, routeAction cannot contain
         | 
| 12943 | 
            +
                    # any weightedBackendServices. Conversely, if routeAction specifies any
         | 
| 12944 | 
            +
                    # weightedBackendServices, service must not be specified. Only one of
         | 
| 12945 | 
            +
                    # urlRedirect, service or routeAction.weightedBackendService must be set.
         | 
| 12910 12946 | 
             
                    # Corresponds to the JSON property `service`
         | 
| 12911 12947 | 
             
                    # @return [String]
         | 
| 12912 12948 | 
             
                    attr_accessor :service
         | 
| @@ -12941,9 +12977,9 @@ module Google | |
| 12941 12977 |  | 
| 12942 12978 | 
             
                    # For satisfying the matchRule condition, the path of the request must exactly
         | 
| 12943 12979 | 
             
                    # match the value specified in fullPathMatch after removing any query parameters
         | 
| 12944 | 
            -
                    # and anchor that may be part of the original URL. fullPathMatch must be  | 
| 12945 | 
            -
                    #  | 
| 12946 | 
            -
                    #  | 
| 12980 | 
            +
                    # and anchor that may be part of the original URL. fullPathMatch must be from 1
         | 
| 12981 | 
            +
                    # to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
         | 
| 12982 | 
            +
                    # be specified.
         | 
| 12947 12983 | 
             
                    # Corresponds to the JSON property `fullPathMatch`
         | 
| 12948 12984 | 
             
                    # @return [String]
         | 
| 12949 12985 | 
             
                    attr_accessor :full_path_match
         | 
| @@ -12956,53 +12992,52 @@ module Google | |
| 12956 12992 |  | 
| 12957 12993 | 
             
                    # Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
         | 
| 12958 12994 | 
             
                    # default value is false. ignoreCase must not be used with regexMatch. Not
         | 
| 12959 | 
            -
                    # supported when the URL map is bound to target gRPC proxy.
         | 
| 12995 | 
            +
                    # supported when the URL map is bound to a target gRPC proxy.
         | 
| 12960 12996 | 
             
                    # Corresponds to the JSON property `ignoreCase`
         | 
| 12961 12997 | 
             
                    # @return [Boolean]
         | 
| 12962 12998 | 
             
                    attr_accessor :ignore_case
         | 
| 12963 12999 | 
             
                    alias_method :ignore_case?, :ignore_case
         | 
| 12964 13000 |  | 
| 12965 | 
            -
                    # Opaque filter criteria used by  | 
| 12966 | 
            -
                    # to a limited set of xDS compliant clients. In their xDS requests | 
| 12967 | 
            -
                    #  | 
| 12968 | 
            -
                    # relevant routing configuration is made available to those proxies. For | 
| 12969 | 
            -
                    # metadataFilter in this list, if its filterMatchCriteria is set to | 
| 12970 | 
            -
                    # at least one of the filterLabels must match the corresponding label | 
| 12971 | 
            -
                    # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then | 
| 12972 | 
            -
                    # its filterLabels must match with corresponding labels provided in the | 
| 12973 | 
            -
                    # If multiple  | 
| 12974 | 
            -
                    # in order to be considered a match. metadataFilters specified here  | 
| 13001 | 
            +
                    # Opaque filter criteria used by the load balancer to restrict routing
         | 
| 13002 | 
            +
                    # configuration to a limited set of xDS compliant clients. In their xDS requests
         | 
| 13003 | 
            +
                    # to the load balancer, xDS clients present node metadata. When there is a match,
         | 
| 13004 | 
            +
                    # the relevant routing configuration is made available to those proxies. For
         | 
| 13005 | 
            +
                    # each metadataFilter in this list, if its filterMatchCriteria is set to
         | 
| 13006 | 
            +
                    # MATCH_ANY, at least one of the filterLabels must match the corresponding label
         | 
| 13007 | 
            +
                    # provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
         | 
| 13008 | 
            +
                    # all of its filterLabels must match with corresponding labels provided in the
         | 
| 13009 | 
            +
                    # metadata. If multiple metadata filters are specified, all of them need to be
         | 
| 13010 | 
            +
                    # satisfied in order to be considered a match. metadataFilters specified here is
         | 
| 12975 13011 | 
             
                    # applied after those specified in ForwardingRule that refers to the UrlMap this
         | 
| 12976 | 
            -
                    # HttpRouteRuleMatch belongs to. metadataFilters only applies to  | 
| 12977 | 
            -
                    # that have  | 
| 12978 | 
            -
                    #  | 
| 12979 | 
            -
                    #  | 
| 13012 | 
            +
                    # HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
         | 
| 13013 | 
            +
                    # that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
         | 
| 13014 | 
            +
                    # the URL map is bound to a target gRPC proxy that has validateForProxyless
         | 
| 13015 | 
            +
                    # field set to true.
         | 
| 12980 13016 | 
             
                    # Corresponds to the JSON property `metadataFilters`
         | 
| 12981 13017 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
         | 
| 12982 13018 | 
             
                    attr_accessor :metadata_filters
         | 
| 12983 13019 |  | 
| 12984 13020 | 
             
                    # For satisfying the matchRule condition, the request's path must begin with the
         | 
| 12985 | 
            -
                    # specified prefixMatch. prefixMatch must begin with a /. The value must be
         | 
| 12986 | 
            -
                    #  | 
| 12987 | 
            -
                    #  | 
| 13021 | 
            +
                    # specified prefixMatch. prefixMatch must begin with a /. The value must be from
         | 
| 13022 | 
            +
                    # 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
         | 
| 13023 | 
            +
                    # must be specified.
         | 
| 12988 13024 | 
             
                    # Corresponds to the JSON property `prefixMatch`
         | 
| 12989 13025 | 
             
                    # @return [String]
         | 
| 12990 13026 | 
             
                    attr_accessor :prefix_match
         | 
| 12991 13027 |  | 
| 12992 13028 | 
             
                    # Specifies a list of query parameter match criteria, all of which must match
         | 
| 12993 13029 | 
             
                    # corresponding query parameters in the request. Not supported when the URL map
         | 
| 12994 | 
            -
                    # is bound to target gRPC proxy.
         | 
| 13030 | 
            +
                    # is bound to a target gRPC proxy.
         | 
| 12995 13031 | 
             
                    # Corresponds to the JSON property `queryParameterMatches`
         | 
| 12996 13032 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::HttpQueryParameterMatch>]
         | 
| 12997 13033 | 
             
                    attr_accessor :query_parameter_matches
         | 
| 12998 13034 |  | 
| 12999 13035 | 
             
                    # For satisfying the matchRule condition, the path of the request must satisfy
         | 
| 13000 13036 | 
             
                    # the regular expression specified in regexMatch after removing any query
         | 
| 13001 | 
            -
                    # parameters and anchor supplied with the original URL. For  | 
| 13002 | 
            -
                    #  | 
| 13003 | 
            -
                    # fullPathMatch or regexMatch must be specified.  | 
| 13004 | 
            -
                    #  | 
| 13005 | 
            -
                    # INTERNAL_SELF_MANAGED.
         | 
| 13037 | 
            +
                    # parameters and anchor supplied with the original URL. For more information
         | 
| 13038 | 
            +
                    # about regular expression syntax, see Syntax. Only one of prefixMatch,
         | 
| 13039 | 
            +
                    # fullPathMatch or regexMatch must be specified. regexMatch only applies to load
         | 
| 13040 | 
            +
                    # balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
         | 
| 13006 13041 | 
             
                    # Corresponds to the JSON property `regexMatch`
         | 
| 13007 13042 | 
             
                    # @return [String]
         | 
| 13008 13043 | 
             
                    attr_accessor :regex_match
         | 
| @@ -13261,6 +13296,11 @@ module Google | |
| 13261 13296 | 
             
                  class Image
         | 
| 13262 13297 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 13263 13298 |  | 
| 13299 | 
            +
                    # The architecture of the image. Valid values are ARM64 or X86_64.
         | 
| 13300 | 
            +
                    # Corresponds to the JSON property `architecture`
         | 
| 13301 | 
            +
                    # @return [String]
         | 
| 13302 | 
            +
                    attr_accessor :architecture
         | 
| 13303 | 
            +
                  
         | 
| 13264 13304 | 
             
                    # Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
         | 
| 13265 13305 | 
             
                    # Corresponds to the JSON property `archiveSizeBytes`
         | 
| 13266 13306 | 
             
                    # @return [Fixnum]
         | 
| @@ -13296,8 +13336,8 @@ module Google | |
| 13296 13336 | 
             
                    attr_accessor :family
         | 
| 13297 13337 |  | 
| 13298 13338 | 
             
                    # A list of features to enable on the guest operating system. Applicable only
         | 
| 13299 | 
            -
                    # for bootable images.  | 
| 13300 | 
            -
                    #  | 
| 13339 | 
            +
                    # for bootable images. To see a list of available options, see the
         | 
| 13340 | 
            +
                    # guestOSfeatures[].type parameter.
         | 
| 13301 13341 | 
             
                    # Corresponds to the JSON property `guestOsFeatures`
         | 
| 13302 13342 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
         | 
| 13303 13343 | 
             
                    attr_accessor :guest_os_features
         | 
| @@ -13516,6 +13556,7 @@ module Google | |
| 13516 13556 |  | 
| 13517 13557 | 
             
                    # Update properties of this object
         | 
| 13518 13558 | 
             
                    def update!(**args)
         | 
| 13559 | 
            +
                      @architecture = args[:architecture] if args.key?(:architecture)
         | 
| 13519 13560 | 
             
                      @archive_size_bytes = args[:archive_size_bytes] if args.key?(:archive_size_bytes)
         | 
| 13520 13561 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 13521 13562 | 
             
                      @deprecated = args[:deprecated] if args.key?(:deprecated)
         | 
| @@ -13881,6 +13922,11 @@ module Google | |
| 13881 13922 | 
             
                    # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
         | 
| 13882 13923 | 
             
                    attr_accessor :instance_encryption_key
         | 
| 13883 13924 |  | 
| 13925 | 
            +
                    # KeyRevocationActionType of the instance.
         | 
| 13926 | 
            +
                    # Corresponds to the JSON property `keyRevocationActionType`
         | 
| 13927 | 
            +
                    # @return [String]
         | 
| 13928 | 
            +
                    attr_accessor :key_revocation_action_type
         | 
| 13929 | 
            +
                  
         | 
| 13884 13930 | 
             
                    # [Output Only] Type of the resource. Always compute#instance for instances.
         | 
| 13885 13931 | 
             
                    # Corresponds to the JSON property `kind`
         | 
| 13886 13932 | 
             
                    # @return [String]
         | 
| @@ -14130,6 +14176,7 @@ module Google | |
| 14130 14176 | 
             
                      @hostname = args[:hostname] if args.key?(:hostname)
         | 
| 14131 14177 | 
             
                      @id = args[:id] if args.key?(:id)
         | 
| 14132 14178 | 
             
                      @instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
         | 
| 14179 | 
            +
                      @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
         | 
| 14133 14180 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 14134 14181 | 
             
                      @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
         | 
| 14135 14182 | 
             
                      @labels = args[:labels] if args.key?(:labels)
         | 
| @@ -15161,6 +15208,11 @@ module Google | |
| 15161 15208 | 
             
                  class InstanceGroupManagerAutoHealingPolicy
         | 
| 15162 15209 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 15163 15210 |  | 
| 15211 | 
            +
                    # Restricts what triggers autohealing.
         | 
| 15212 | 
            +
                    # Corresponds to the JSON property `autoHealingTriggers`
         | 
| 15213 | 
            +
                    # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers]
         | 
| 15214 | 
            +
                    attr_accessor :auto_healing_triggers
         | 
| 15215 | 
            +
                  
         | 
| 15164 15216 | 
             
                    # The URL for the health check that signals autohealing.
         | 
| 15165 15217 | 
             
                    # Corresponds to the JSON property `healthCheck`
         | 
| 15166 15218 | 
             
                    # @return [String]
         | 
| @@ -15192,6 +15244,7 @@ module Google | |
| 15192 15244 |  | 
| 15193 15245 | 
             
                    # Update properties of this object
         | 
| 15194 15246 | 
             
                    def update!(**args)
         | 
| 15247 | 
            +
                      @auto_healing_triggers = args[:auto_healing_triggers] if args.key?(:auto_healing_triggers)
         | 
| 15195 15248 | 
             
                      @health_check = args[:health_check] if args.key?(:health_check)
         | 
| 15196 15249 | 
             
                      @initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
         | 
| 15197 15250 | 
             
                      @max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
         | 
| @@ -15199,6 +15252,31 @@ module Google | |
| 15199 15252 | 
             
                    end
         | 
| 15200 15253 | 
             
                  end
         | 
| 15201 15254 |  | 
| 15255 | 
            +
                  # 
         | 
| 15256 | 
            +
                  class InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers
         | 
| 15257 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 15258 | 
            +
                  
         | 
| 15259 | 
            +
                    # If you have configured an application-based health check for the group, this
         | 
| 15260 | 
            +
                    # field controls whether to trigger VM autohealing based on a failed health
         | 
| 15261 | 
            +
                    # check. Valid values are: - ON (default): The group recreates running VMs that
         | 
| 15262 | 
            +
                    # fail the application-based health check. - OFF: When set to OFF, you can still
         | 
| 15263 | 
            +
                    # observe instance health state, but the group does not recreate VMs that fail
         | 
| 15264 | 
            +
                    # the application-based health check. This is useful for troubleshooting and
         | 
| 15265 | 
            +
                    # setting up your health check configuration.
         | 
| 15266 | 
            +
                    # Corresponds to the JSON property `onHealthCheck`
         | 
| 15267 | 
            +
                    # @return [String]
         | 
| 15268 | 
            +
                    attr_accessor :on_health_check
         | 
| 15269 | 
            +
                  
         | 
| 15270 | 
            +
                    def initialize(**args)
         | 
| 15271 | 
            +
                       update!(**args)
         | 
| 15272 | 
            +
                    end
         | 
| 15273 | 
            +
                  
         | 
| 15274 | 
            +
                    # Update properties of this object
         | 
| 15275 | 
            +
                    def update!(**args)
         | 
| 15276 | 
            +
                      @on_health_check = args[:on_health_check] if args.key?(:on_health_check)
         | 
| 15277 | 
            +
                    end
         | 
| 15278 | 
            +
                  end
         | 
| 15279 | 
            +
                  
         | 
| 15202 15280 | 
             
                  # 
         | 
| 15203 15281 | 
             
                  class InstanceGroupManagerInstanceLifecyclePolicy
         | 
| 15204 15282 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -17062,6 +17140,11 @@ module Google | |
| 17062 17140 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
         | 
| 17063 17141 | 
             
                    attr_accessor :guest_accelerators
         | 
| 17064 17142 |  | 
| 17143 | 
            +
                    # KeyRevocationActionType of the instance.
         | 
| 17144 | 
            +
                    # Corresponds to the JSON property `keyRevocationActionType`
         | 
| 17145 | 
            +
                    # @return [String]
         | 
| 17146 | 
            +
                    attr_accessor :key_revocation_action_type
         | 
| 17147 | 
            +
                  
         | 
| 17065 17148 | 
             
                    # Labels to apply to instances that are created from these properties.
         | 
| 17066 17149 | 
             
                    # Corresponds to the JSON property `labels`
         | 
| 17067 17150 | 
             
                    # @return [Hash<String,String>]
         | 
| @@ -17166,6 +17249,7 @@ module Google | |
| 17166 17249 | 
             
                      @disks = args[:disks] if args.key?(:disks)
         | 
| 17167 17250 | 
             
                      @display_device = args[:display_device] if args.key?(:display_device)
         | 
| 17168 17251 | 
             
                      @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
         | 
| 17252 | 
            +
                      @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
         | 
| 17169 17253 | 
             
                      @labels = args[:labels] if args.key?(:labels)
         | 
| 17170 17254 | 
             
                      @machine_type = args[:machine_type] if args.key?(:machine_type)
         | 
| 17171 17255 | 
             
                      @metadata = args[:metadata] if args.key?(:metadata)
         | 
| @@ -17903,6 +17987,12 @@ module Google | |
| 17903 17987 | 
             
                  class InstantSnapshot
         | 
| 17904 17988 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 17905 17989 |  | 
| 17990 | 
            +
                    # [Output Only] The architecture of the instant snapshot. Valid values are ARM64
         | 
| 17991 | 
            +
                    # or X86_64.
         | 
| 17992 | 
            +
                    # Corresponds to the JSON property `architecture`
         | 
| 17993 | 
            +
                    # @return [String]
         | 
| 17994 | 
            +
                    attr_accessor :architecture
         | 
| 17995 | 
            +
                  
         | 
| 17906 17996 | 
             
                    # [Output Only] Creation timestamp in RFC3339 text format.
         | 
| 17907 17997 | 
             
                    # Corresponds to the JSON property `creationTimestamp`
         | 
| 17908 17998 | 
             
                    # @return [String]
         | 
| @@ -18028,6 +18118,7 @@ module Google | |
| 18028 18118 |  | 
| 18029 18119 | 
             
                    # Update properties of this object
         | 
| 18030 18120 | 
             
                    def update!(**args)
         | 
| 18121 | 
            +
                      @architecture = args[:architecture] if args.key?(:architecture)
         | 
| 18031 18122 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 18032 18123 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 18033 18124 | 
             
                      @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
         | 
| @@ -22445,18 +22536,18 @@ module Google | |
| 22445 22536 | 
             
                    end
         | 
| 22446 22537 | 
             
                  end
         | 
| 22447 22538 |  | 
| 22448 | 
            -
                  # Opaque filter criteria used by  | 
| 22449 | 
            -
                  # to a limited set of  | 
| 22450 | 
            -
                  #  | 
| 22451 | 
            -
                  # to match criteria specified here. If a match takes place, | 
| 22452 | 
            -
                  # configuration is made available to those proxies. For each | 
| 22453 | 
            -
                  # this list, if its filterMatchCriteria is set to MATCH_ANY, | 
| 22454 | 
            -
                  # filterLabels must match the corresponding label provided | 
| 22455 | 
            -
                  # its filterMatchCriteria is set to MATCH_ALL, then all of | 
| 22456 | 
            -
                  # match with corresponding labels provided in the metadata. | 
| 22457 | 
            -
                  # metadataFilters would be: if  | 
| 22458 | 
            -
                  # receive routing configuration when values in metadataFilters | 
| 22459 | 
            -
                  # supplied in of their XDS requests to loadbalancers.
         | 
| 22539 | 
            +
                  # Opaque filter criteria used by load balancers to restrict routing
         | 
| 22540 | 
            +
                  # configuration to a limited set of load balancing proxies. Proxies and sidecars
         | 
| 22541 | 
            +
                  # involved in load balancing would typically present metadata to the load
         | 
| 22542 | 
            +
                  # balancers that need to match criteria specified here. If a match takes place,
         | 
| 22543 | 
            +
                  # the relevant configuration is made available to those proxies. For each
         | 
| 22544 | 
            +
                  # metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
         | 
| 22545 | 
            +
                  # at least one of the filterLabels must match the corresponding label provided
         | 
| 22546 | 
            +
                  # in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
         | 
| 22547 | 
            +
                  # its filterLabels must match with corresponding labels provided in the metadata.
         | 
| 22548 | 
            +
                  # An example for using metadataFilters would be: if load balancing involves
         | 
| 22549 | 
            +
                  # Envoys, they receive routing configuration when values in metadataFilters
         | 
| 22550 | 
            +
                  # match values supplied in of their XDS requests to loadbalancers.
         | 
| 22460 22551 | 
             
                  class MetadataFilter
         | 
| 22461 22552 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 22462 22553 |  | 
| @@ -22467,11 +22558,11 @@ module Google | |
| 22467 22558 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::MetadataFilterLabelMatch>]
         | 
| 22468 22559 | 
             
                    attr_accessor :filter_labels
         | 
| 22469 22560 |  | 
| 22470 | 
            -
                    # Specifies how individual  | 
| 22471 | 
            -
                    #  | 
| 22472 | 
            -
                    # MATCH_ANY:  | 
| 22473 | 
            -
                    # provided metadata. - MATCH_ALL:  | 
| 22474 | 
            -
                    # the provided metadata.
         | 
| 22561 | 
            +
                    # Specifies how individual filter label matches within the list of filterLabels
         | 
| 22562 | 
            +
                    # and contributes toward the overall metadataFilter match. Supported values are:
         | 
| 22563 | 
            +
                    # - MATCH_ANY: at least one of the filterLabels must have a matching label in
         | 
| 22564 | 
            +
                    # the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
         | 
| 22565 | 
            +
                    # in the provided metadata.
         | 
| 22475 22566 | 
             
                    # Corresponds to the JSON property `filterMatchCriteria`
         | 
| 22476 22567 | 
             
                    # @return [String]
         | 
| 22477 22568 | 
             
                    attr_accessor :filter_match_criteria
         | 
| @@ -22488,7 +22579,7 @@ module Google | |
| 22488 22579 | 
             
                  end
         | 
| 22489 22580 |  | 
| 22490 22581 | 
             
                  # MetadataFilter label name value pairs that are expected to match corresponding
         | 
| 22491 | 
            -
                  # labels presented as metadata to the  | 
| 22582 | 
            +
                  # labels presented as metadata to the load balancer.
         | 
| 22492 22583 | 
             
                  class MetadataFilterLabelMatch
         | 
| 22493 22584 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 22494 22585 |  | 
| @@ -24086,14 +24177,15 @@ module Google | |
| 24086 24177 | 
             
                    # @return [String]
         | 
| 24087 24178 | 
             
                    attr_accessor :name
         | 
| 24088 24179 |  | 
| 24089 | 
            -
                    # URL of the network resource for this instance. When creating an instance, | 
| 24090 | 
            -
                    # neither the network nor the subnetwork is specified, the default network
         | 
| 24091 | 
            -
                    # global/networks/default is used | 
| 24092 | 
            -
                    #  | 
| 24093 | 
            -
                    #  | 
| 24094 | 
            -
                    #  | 
| 24095 | 
            -
                    #  | 
| 24096 | 
            -
                    # global/networks/ | 
| 24180 | 
            +
                    # URL of the VPC network resource for this instance. When creating an instance,
         | 
| 24181 | 
            +
                    # if neither the network nor the subnetwork is specified, the default network
         | 
| 24182 | 
            +
                    # global/networks/default is used. If the selected project doesn't have the
         | 
| 24183 | 
            +
                    # default network, you must specify a network or subnet. If the network is not
         | 
| 24184 | 
            +
                    # specified but the subnetwork is specified, the network is inferred. If you
         | 
| 24185 | 
            +
                    # specify this property, you can specify the network as a full or partial URL.
         | 
| 24186 | 
            +
                    # For example, the following are all valid URLs: - https://www.googleapis.com/
         | 
| 24187 | 
            +
                    # compute/v1/projects/project/global/networks/ network - projects/project/global/
         | 
| 24188 | 
            +
                    # networks/network - global/networks/default
         | 
| 24097 24189 | 
             
                    # Corresponds to the JSON property `network`
         | 
| 24098 24190 | 
             
                    # @return [String]
         | 
| 24099 24191 | 
             
                    attr_accessor :network
         | 
| @@ -24363,7 +24455,8 @@ module Google | |
| 24363 24455 | 
             
                    attr_accessor :exchange_subnet_routes
         | 
| 24364 24456 | 
             
                    alias_method :exchange_subnet_routes?, :exchange_subnet_routes
         | 
| 24365 24457 |  | 
| 24366 | 
            -
                    # Whether to export the custom routes to peer network.
         | 
| 24458 | 
            +
                    # Whether to export the custom routes to peer network. The default value is
         | 
| 24459 | 
            +
                    # false.
         | 
| 24367 24460 | 
             
                    # Corresponds to the JSON property `exportCustomRoutes`
         | 
| 24368 24461 | 
             
                    # @return [Boolean]
         | 
| 24369 24462 | 
             
                    attr_accessor :export_custom_routes
         | 
| @@ -24377,7 +24470,8 @@ module Google | |
| 24377 24470 | 
             
                    attr_accessor :export_subnet_routes_with_public_ip
         | 
| 24378 24471 | 
             
                    alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
         | 
| 24379 24472 |  | 
| 24380 | 
            -
                    # Whether to import the custom routes from peer network.
         | 
| 24473 | 
            +
                    # Whether to import the custom routes from peer network. The default value is
         | 
| 24474 | 
            +
                    # false.
         | 
| 24381 24475 | 
             
                    # Corresponds to the JSON property `importCustomRoutes`
         | 
| 24382 24476 | 
             
                    # @return [Boolean]
         | 
| 24383 24477 | 
             
                    attr_accessor :import_custom_routes
         | 
| @@ -28370,37 +28464,37 @@ module Google | |
| 28370 28464 |  | 
| 28371 28465 | 
             
                  # A matcher for the path portion of the URL. The BackendService from the longest-
         | 
| 28372 28466 | 
             
                  # matched rule will serve the URL. If no rule was matched, the default service
         | 
| 28373 | 
            -
                  #  | 
| 28467 | 
            +
                  # is used.
         | 
| 28374 28468 | 
             
                  class PathMatcher
         | 
| 28375 28469 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 28376 28470 |  | 
| 28377 28471 | 
             
                    # defaultRouteAction takes effect when none of the pathRules or routeRules match.
         | 
| 28378 | 
            -
                    # The load balancer performs advanced routing actions  | 
| 28379 | 
            -
                    # transformations,  | 
| 28472 | 
            +
                    # The load balancer performs advanced routing actions, such as URL rewrites and
         | 
| 28473 | 
            +
                    # header transformations, before forwarding the request to the selected backend.
         | 
| 28380 28474 | 
             
                    # If defaultRouteAction specifies any weightedBackendServices, defaultService
         | 
| 28381 28475 | 
             
                    # must not be set. Conversely if defaultService is set, defaultRouteAction
         | 
| 28382 28476 | 
             
                    # cannot contain any weightedBackendServices. Only one of defaultRouteAction or
         | 
| 28383 28477 | 
             
                    # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
         | 
| 28384 | 
            -
                    # support only the urlRewrite action within a  | 
| 28478 | 
            +
                    # support only the urlRewrite action within a path matcher's defaultRouteAction.
         | 
| 28385 28479 | 
             
                    # Corresponds to the JSON property `defaultRouteAction`
         | 
| 28386 28480 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
         | 
| 28387 28481 | 
             
                    attr_accessor :default_route_action
         | 
| 28388 28482 |  | 
| 28389 | 
            -
                    # The full or partial URL to the BackendService resource. This  | 
| 28483 | 
            +
                    # The full or partial URL to the BackendService resource. This URL is used if
         | 
| 28390 28484 | 
             
                    # none of the pathRules or routeRules defined by this PathMatcher are matched.
         | 
| 28391 28485 | 
             
                    # For example, the following are all valid URLs to a BackendService resource: -
         | 
| 28392 28486 | 
             
                    # https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
         | 
| 28393 28487 | 
             
                    # backendService - compute/v1/projects/project/global/backendServices/
         | 
| 28394 28488 | 
             
                    # backendService - global/backendServices/backendService If defaultRouteAction
         | 
| 28395 | 
            -
                    # is  | 
| 28396 | 
            -
                    #  | 
| 28397 | 
            -
                    #  | 
| 28398 | 
            -
                    #  | 
| 28399 | 
            -
                    #  | 
| 28400 | 
            -
                    #  | 
| 28401 | 
            -
                    #  | 
| 28402 | 
            -
                    #  | 
| 28403 | 
            -
                    #  | 
| 28489 | 
            +
                    # is also specified, advanced routing actions, such as URL rewrites, take effect
         | 
| 28490 | 
            +
                    # before sending the request to the backend. However, if defaultService is
         | 
| 28491 | 
            +
                    # specified, defaultRouteAction cannot contain any weightedBackendServices.
         | 
| 28492 | 
            +
                    # Conversely, if defaultRouteAction specifies any weightedBackendServices,
         | 
| 28493 | 
            +
                    # defaultService must not be specified. Only one of defaultService,
         | 
| 28494 | 
            +
                    # defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
         | 
| 28495 | 
            +
                    # Authorization requires one or more of the following Google IAM permissions on
         | 
| 28496 | 
            +
                    # the specified resource default_service: - compute.backendBuckets.use - compute.
         | 
| 28497 | 
            +
                    # backendServices.use
         | 
| 28404 28498 | 
             
                    # Corresponds to the JSON property `defaultService`
         | 
| 28405 28499 | 
             
                    # @return [String]
         | 
| 28406 28500 | 
             
                    attr_accessor :default_service
         | 
| @@ -28476,23 +28570,23 @@ module Google | |
| 28476 28570 | 
             
                    attr_accessor :paths
         | 
| 28477 28571 |  | 
| 28478 28572 | 
             
                    # In response to a matching path, the load balancer performs advanced routing
         | 
| 28479 | 
            -
                    # actions  | 
| 28573 | 
            +
                    # actions, such as URL rewrites and header transformations, before forwarding
         | 
| 28480 28574 | 
             
                    # the request to the selected backend. If routeAction specifies any
         | 
| 28481 28575 | 
             
                    # weightedBackendServices, service must not be set. Conversely if service is set,
         | 
| 28482 28576 | 
             
                    # routeAction cannot contain any weightedBackendServices. Only one of
         | 
| 28483 | 
            -
                    # routeAction or urlRedirect must be set.  | 
| 28484 | 
            -
                    # balancers support only the urlRewrite action within a  | 
| 28577 | 
            +
                    # routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
         | 
| 28578 | 
            +
                    # balancers support only the urlRewrite action within a path rule's routeAction.
         | 
| 28485 28579 | 
             
                    # Corresponds to the JSON property `routeAction`
         | 
| 28486 28580 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
         | 
| 28487 28581 | 
             
                    attr_accessor :route_action
         | 
| 28488 28582 |  | 
| 28489 28583 | 
             
                    # The full or partial URL of the backend service resource to which traffic is
         | 
| 28490 | 
            -
                    # directed if this rule is matched. If routeAction is  | 
| 28491 | 
            -
                    #  | 
| 28492 | 
            -
                    #  | 
| 28493 | 
            -
                    #  | 
| 28494 | 
            -
                    #  | 
| 28495 | 
            -
                    #  | 
| 28584 | 
            +
                    # directed if this rule is matched. If routeAction is also specified, advanced
         | 
| 28585 | 
            +
                    # routing actions, such as URL rewrites, take effect before sending the request
         | 
| 28586 | 
            +
                    # to the backend. However, if service is specified, routeAction cannot contain
         | 
| 28587 | 
            +
                    # any weightedBackendServices. Conversely, if routeAction specifies any
         | 
| 28588 | 
            +
                    # weightedBackendServices, service must not be specified. Only one of
         | 
| 28589 | 
            +
                    # urlRedirect, service or routeAction.weightedBackendService must be set.
         | 
| 28496 28590 | 
             
                    # Corresponds to the JSON property `service`
         | 
| 28497 28591 | 
             
                    # @return [String]
         | 
| 28498 28592 | 
             
                    attr_accessor :service
         | 
| @@ -28680,31 +28774,31 @@ module Google | |
| 28680 28774 |  | 
| 28681 28775 | 
             
                  # An Identity and Access Management (IAM) policy, which specifies access
         | 
| 28682 28776 | 
             
                  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
         | 
| 28683 | 
            -
                  # A `binding` binds one or more `members | 
| 28684 | 
            -
                  # user accounts, service accounts, Google groups, and domains ( | 
| 28685 | 
            -
                  # A `role` is a named list of permissions; each `role` can be | 
| 28686 | 
            -
                  # role or a user-created custom role. For some types of Google | 
| 28687 | 
            -
                  # a `binding` can also specify a `condition`, which is a | 
| 28688 | 
            -
                  # allows access to a resource only if the expression | 
| 28689 | 
            -
                  # condition can add constraints based on attributes of | 
| 28690 | 
            -
                  # or both. To learn which resources support | 
| 28691 | 
            -
                  # see the [IAM documentation](https://cloud. | 
| 28692 | 
            -
                  # resource-policies). **JSON example:** ` " | 
| 28693 | 
            -
                  # resourcemanager.organizationAdmin", "members": [ | 
| 28694 | 
            -
                  # group:admins@example.com", "domain:google.com", " | 
| 28695 | 
            -
                  # appspot.gserviceaccount.com" ] `, ` "role": " | 
| 28696 | 
            -
                  # organizationViewer", "members": [ "user:eve@example.com" | 
| 28697 | 
            -
                  # title": "expirable access", "description": "Does not grant | 
| 28698 | 
            -
                  # 2020", "expression": "request.time < timestamp('2020-10-01T00: | 
| 28699 | 
            -
                  # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** | 
| 28700 | 
            -
                  # members: - user:mike@example.com - group:admins@example.com - | 
| 28701 | 
            -
                  # com - serviceAccount:my-project-id@appspot.gserviceaccount.com | 
| 28702 | 
            -
                  # resourcemanager.organizationAdmin - members: - user:eve@example. | 
| 28703 | 
            -
                  # roles/resourcemanager.organizationViewer condition: title: expirable | 
| 28704 | 
            -
                  # description: Does not grant access after Sep 2020 expression: request. | 
| 28705 | 
            -
                  # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For | 
| 28706 | 
            -
                  # description of IAM and its features, see the [IAM documentation](https:// | 
| 28707 | 
            -
                  # google.com/iam/docs/).
         | 
| 28777 | 
            +
                  # A `binding` binds one or more `members`, or principals, to a single `role`.
         | 
| 28778 | 
            +
                  # Principals can be user accounts, service accounts, Google groups, and domains (
         | 
| 28779 | 
            +
                  # such as G Suite). A `role` is a named list of permissions; each `role` can be
         | 
| 28780 | 
            +
                  # an IAM predefined role or a user-created custom role. For some types of Google
         | 
| 28781 | 
            +
                  # Cloud resources, a `binding` can also specify a `condition`, which is a
         | 
| 28782 | 
            +
                  # logical expression that allows access to a resource only if the expression
         | 
| 28783 | 
            +
                  # evaluates to `true`. A condition can add constraints based on attributes of
         | 
| 28784 | 
            +
                  # the request, the resource, or both. To learn which resources support
         | 
| 28785 | 
            +
                  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
         | 
| 28786 | 
            +
                  # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
         | 
| 28787 | 
            +
                  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
         | 
| 28788 | 
            +
                  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
         | 
| 28789 | 
            +
                  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
         | 
| 28790 | 
            +
                  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
         | 
| 28791 | 
            +
                  # ], "condition": ` "title": "expirable access", "description": "Does not grant
         | 
| 28792 | 
            +
                  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
         | 
| 28793 | 
            +
                  # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
         | 
| 28794 | 
            +
                  # bindings: - members: - user:mike@example.com - group:admins@example.com -
         | 
| 28795 | 
            +
                  # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
         | 
| 28796 | 
            +
                  # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
         | 
| 28797 | 
            +
                  # com role: roles/resourcemanager.organizationViewer condition: title: expirable
         | 
| 28798 | 
            +
                  # access description: Does not grant access after Sep 2020 expression: request.
         | 
| 28799 | 
            +
                  # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
         | 
| 28800 | 
            +
                  # a description of IAM and its features, see the [IAM documentation](https://
         | 
| 28801 | 
            +
                  # cloud.google.com/iam/docs/).
         | 
| 28708 28802 | 
             
                  class Policy
         | 
| 28709 28803 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 28710 28804 |  | 
| @@ -28713,9 +28807,14 @@ module Google | |
| 28713 28807 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::AuditConfig>]
         | 
| 28714 28808 | 
             
                    attr_accessor :audit_configs
         | 
| 28715 28809 |  | 
| 28716 | 
            -
                    # Associates a list of `members | 
| 28717 | 
            -
                    # condition` that determines how and when the `bindings` are applied. | 
| 28718 | 
            -
                    # the `bindings` must contain at least one  | 
| 28810 | 
            +
                    # Associates a list of `members`, or principals, with a `role`. Optionally, may
         | 
| 28811 | 
            +
                    # specify a `condition` that determines how and when the `bindings` are applied.
         | 
| 28812 | 
            +
                    # Each of the `bindings` must contain at least one principal. The `bindings` in
         | 
| 28813 | 
            +
                    # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
         | 
| 28814 | 
            +
                    # can be Google groups. Each occurrence of a principal counts towards these
         | 
| 28815 | 
            +
                    # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
         | 
| 28816 | 
            +
                    # example.com`, and not to any other principal, then you can add another 1,450
         | 
| 28817 | 
            +
                    # principals to the `bindings` in the `Policy`.
         | 
| 28719 28818 | 
             
                    # Corresponds to the JSON property `bindings`
         | 
| 28720 28819 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::Binding>]
         | 
| 28721 28820 | 
             
                    attr_accessor :bindings
         | 
| @@ -28736,12 +28835,6 @@ module Google | |
| 28736 28835 | 
             
                    # @return [String]
         | 
| 28737 28836 | 
             
                    attr_accessor :etag
         | 
| 28738 28837 |  | 
| 28739 | 
            -
                    # This is deprecated and has no effect. Do not use.
         | 
| 28740 | 
            -
                    # Corresponds to the JSON property `iamOwned`
         | 
| 28741 | 
            -
                    # @return [Boolean]
         | 
| 28742 | 
            -
                    attr_accessor :iam_owned
         | 
| 28743 | 
            -
                    alias_method :iam_owned?, :iam_owned
         | 
| 28744 | 
            -
                  
         | 
| 28745 28838 | 
             
                    # This is deprecated and has no effect. Do not use.
         | 
| 28746 28839 | 
             
                    # Corresponds to the JSON property `rules`
         | 
| 28747 28840 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::Rule>]
         | 
| @@ -28775,7 +28868,6 @@ module Google | |
| 28775 28868 | 
             
                      @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
         | 
| 28776 28869 | 
             
                      @bindings = args[:bindings] if args.key?(:bindings)
         | 
| 28777 28870 | 
             
                      @etag = args[:etag] if args.key?(:etag)
         | 
| 28778 | 
            -
                      @iam_owned = args[:iam_owned] if args.key?(:iam_owned)
         | 
| 28779 28871 | 
             
                      @rules = args[:rules] if args.key?(:rules)
         | 
| 28780 28872 | 
             
                      @version = args[:version] if args.key?(:version)
         | 
| 28781 28873 | 
             
                    end
         | 
| @@ -29336,7 +29428,13 @@ module Google | |
| 29336 29428 | 
             
                    # @return [String]
         | 
| 29337 29429 | 
             
                    attr_accessor :shared_secret
         | 
| 29338 29430 |  | 
| 29339 | 
            -
                    # The status of the public advertised prefix.
         | 
| 29431 | 
            +
                    # The status of the public advertised prefix. Possible values include: - `
         | 
| 29432 | 
            +
                    # INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
         | 
| 29433 | 
            +
                    # the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
         | 
| 29434 | 
            +
                    # REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
         | 
| 29435 | 
            +
                    # PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
         | 
| 29436 | 
            +
                    # PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
         | 
| 29437 | 
            +
                    # PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
         | 
| 29340 29438 | 
             
                    # Corresponds to the JSON property `status`
         | 
| 29341 29439 | 
             
                    # @return [String]
         | 
| 29342 29440 | 
             
                    attr_accessor :status
         | 
| @@ -29621,7 +29719,12 @@ module Google | |
| 29621 29719 | 
             
                    # @return [String]
         | 
| 29622 29720 | 
             
                    attr_accessor :self_link_with_id
         | 
| 29623 29721 |  | 
| 29624 | 
            -
                    # [Output Only] The status of the public delegated prefix | 
| 29722 | 
            +
                    # [Output Only] The status of the public delegated prefix, which can be one of
         | 
| 29723 | 
            +
                    # following values: - `INITIALIZING` The public delegated prefix is being
         | 
| 29724 | 
            +
                    # initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
         | 
| 29725 | 
            +
                    # public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
         | 
| 29726 | 
            +
                    # The public delegated prefix is active. - `DELETING` The public delegated
         | 
| 29727 | 
            +
                    # prefix is being deprovsioned.
         | 
| 29625 29728 | 
             
                    # Corresponds to the JSON property `status`
         | 
| 29626 29729 | 
             
                    # @return [String]
         | 
| 29627 29730 | 
             
                    attr_accessor :status
         | 
| @@ -31792,31 +31895,31 @@ module Google | |
| 31792 31895 |  | 
| 31793 31896 | 
             
                    # An Identity and Access Management (IAM) policy, which specifies access
         | 
| 31794 31897 | 
             
                    # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
         | 
| 31795 | 
            -
                    # A `binding` binds one or more `members | 
| 31796 | 
            -
                    # user accounts, service accounts, Google groups, and domains ( | 
| 31797 | 
            -
                    # A `role` is a named list of permissions; each `role` can be | 
| 31798 | 
            -
                    # role or a user-created custom role. For some types of Google | 
| 31799 | 
            -
                    # a `binding` can also specify a `condition`, which is a | 
| 31800 | 
            -
                    # allows access to a resource only if the expression | 
| 31801 | 
            -
                    # condition can add constraints based on attributes of | 
| 31802 | 
            -
                    # or both. To learn which resources support | 
| 31803 | 
            -
                    # see the [IAM documentation](https://cloud. | 
| 31804 | 
            -
                    # resource-policies). **JSON example:** ` " | 
| 31805 | 
            -
                    # resourcemanager.organizationAdmin", "members": [ | 
| 31806 | 
            -
                    # group:admins@example.com", "domain:google.com", " | 
| 31807 | 
            -
                    # appspot.gserviceaccount.com" ] `, ` "role": " | 
| 31808 | 
            -
                    # organizationViewer", "members": [ "user:eve@example.com" | 
| 31809 | 
            -
                    # title": "expirable access", "description": "Does not grant | 
| 31810 | 
            -
                    # 2020", "expression": "request.time < timestamp('2020-10-01T00: | 
| 31811 | 
            -
                    # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** | 
| 31812 | 
            -
                    # members: - user:mike@example.com - group:admins@example.com - | 
| 31813 | 
            -
                    # com - serviceAccount:my-project-id@appspot.gserviceaccount.com | 
| 31814 | 
            -
                    # resourcemanager.organizationAdmin - members: - user:eve@example. | 
| 31815 | 
            -
                    # roles/resourcemanager.organizationViewer condition: title: expirable | 
| 31816 | 
            -
                    # description: Does not grant access after Sep 2020 expression: request. | 
| 31817 | 
            -
                    # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For | 
| 31818 | 
            -
                    # description of IAM and its features, see the [IAM documentation](https:// | 
| 31819 | 
            -
                    # google.com/iam/docs/).
         | 
| 31898 | 
            +
                    # A `binding` binds one or more `members`, or principals, to a single `role`.
         | 
| 31899 | 
            +
                    # Principals can be user accounts, service accounts, Google groups, and domains (
         | 
| 31900 | 
            +
                    # such as G Suite). A `role` is a named list of permissions; each `role` can be
         | 
| 31901 | 
            +
                    # an IAM predefined role or a user-created custom role. For some types of Google
         | 
| 31902 | 
            +
                    # Cloud resources, a `binding` can also specify a `condition`, which is a
         | 
| 31903 | 
            +
                    # logical expression that allows access to a resource only if the expression
         | 
| 31904 | 
            +
                    # evaluates to `true`. A condition can add constraints based on attributes of
         | 
| 31905 | 
            +
                    # the request, the resource, or both. To learn which resources support
         | 
| 31906 | 
            +
                    # conditions in their IAM policies, see the [IAM documentation](https://cloud.
         | 
| 31907 | 
            +
                    # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
         | 
| 31908 | 
            +
                    # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
         | 
| 31909 | 
            +
                    # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
         | 
| 31910 | 
            +
                    # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
         | 
| 31911 | 
            +
                    # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
         | 
| 31912 | 
            +
                    # ], "condition": ` "title": "expirable access", "description": "Does not grant
         | 
| 31913 | 
            +
                    # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
         | 
| 31914 | 
            +
                    # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
         | 
| 31915 | 
            +
                    # bindings: - members: - user:mike@example.com - group:admins@example.com -
         | 
| 31916 | 
            +
                    # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
         | 
| 31917 | 
            +
                    # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
         | 
| 31918 | 
            +
                    # com role: roles/resourcemanager.organizationViewer condition: title: expirable
         | 
| 31919 | 
            +
                    # access description: Does not grant access after Sep 2020 expression: request.
         | 
| 31920 | 
            +
                    # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
         | 
| 31921 | 
            +
                    # a description of IAM and its features, see the [IAM documentation](https://
         | 
| 31922 | 
            +
                    # cloud.google.com/iam/docs/).
         | 
| 31820 31923 | 
             
                    # Corresponds to the JSON property `policy`
         | 
| 31821 31924 | 
             
                    # @return [Google::Apis::ComputeAlpha::Policy]
         | 
| 31822 31925 | 
             
                    attr_accessor :policy
         | 
| @@ -31857,21 +31960,21 @@ module Google | |
| 31857 31960 | 
             
                  class RegionUrlMapsValidateRequest
         | 
| 31858 31961 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 31859 31962 |  | 
| 31860 | 
            -
                    # Represents a URL Map resource.  | 
| 31861 | 
            -
                    #  | 
| 31862 | 
            -
                    #  | 
| 31863 | 
            -
                    # certain types of  | 
| 31963 | 
            +
                    # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
         | 
| 31964 | 
            +
                    # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
         | 
| 31965 | 
            +
                    # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
         | 
| 31966 | 
            +
                    # certain types of cloud load balancers and Traffic Director: * urlMaps are used
         | 
| 31864 31967 | 
             
                    # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
         | 
| 31865 31968 | 
             
                    # used by internal HTTP(S) load balancers. For a list of supported URL map
         | 
| 31866 | 
            -
                    # features by load balancer type, see the Load balancing features: Routing | 
| 31867 | 
            -
                    # traffic management table. For a list of supported URL map features for | 
| 31868 | 
            -
                    # Director, see the Traffic Director features: Routing and traffic | 
| 31869 | 
            -
                    # table. This resource defines mappings from  | 
| 31870 | 
            -
                    # a backend service or a backend bucket. To use the global urlMaps | 
| 31871 | 
            -
                    # backend service must have a loadBalancingScheme of either | 
| 31872 | 
            -
                    # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the | 
| 31873 | 
            -
                    # must have a loadBalancingScheme of INTERNAL_MANAGED. For more | 
| 31874 | 
            -
                    # read URL Map Concepts.
         | 
| 31969 | 
            +
                    # features by the load balancer type, see the Load balancing features: Routing
         | 
| 31970 | 
            +
                    # and traffic management table. For a list of supported URL map features for
         | 
| 31971 | 
            +
                    # Traffic Director, see the Traffic Director features: Routing and traffic
         | 
| 31972 | 
            +
                    # management table. This resource defines mappings from hostnames and URL paths
         | 
| 31973 | 
            +
                    # to either a backend service or a backend bucket. To use the global urlMaps
         | 
| 31974 | 
            +
                    # resource, the backend service must have a loadBalancingScheme of either
         | 
| 31975 | 
            +
                    # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
         | 
| 31976 | 
            +
                    # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
         | 
| 31977 | 
            +
                    # information, read URL Map Concepts.
         | 
| 31875 31978 | 
             
                    # Corresponds to the JSON property `resource`
         | 
| 31876 31979 | 
             
                    # @return [Google::Apis::ComputeAlpha::UrlMap]
         | 
| 31877 31980 | 
             
                    attr_accessor :resource
         | 
| @@ -31887,9 +31990,9 @@ module Google | |
| 31887 31990 | 
             
                  end
         | 
| 31888 31991 |  | 
| 31889 31992 | 
             
                  # A policy that specifies how requests intended for the route's backends are
         | 
| 31890 | 
            -
                  # shadowed to a separate mirrored backend service.  | 
| 31891 | 
            -
                  # for responses from the shadow service.  | 
| 31892 | 
            -
                  # service, the host  | 
| 31993 | 
            +
                  # shadowed to a separate mirrored backend service. The load balancer doesn't
         | 
| 31994 | 
            +
                  # wait for responses from the shadow service. Before sending traffic to the
         | 
| 31995 | 
            +
                  # shadow service, the host or authority header is suffixed with -shadow.
         | 
| 31893 31996 | 
             
                  class RequestMirrorPolicy
         | 
| 31894 31997 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 31895 31998 |  | 
| @@ -34811,6 +34914,12 @@ module Google | |
| 34811 34914 | 
             
                    # @return [Fixnum]
         | 
| 34812 34915 | 
             
                    attr_accessor :tcp_transitory_idle_timeout_sec
         | 
| 34813 34916 |  | 
| 34917 | 
            +
                    # Indicates whether this NAT is used for public or private IP translation. If
         | 
| 34918 | 
            +
                    # unspecified, it defaults to PUBLIC.
         | 
| 34919 | 
            +
                    # Corresponds to the JSON property `type`
         | 
| 34920 | 
            +
                    # @return [String]
         | 
| 34921 | 
            +
                    attr_accessor :type
         | 
| 34922 | 
            +
                  
         | 
| 34814 34923 | 
             
                    # Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
         | 
| 34815 34924 | 
             
                    # Corresponds to the JSON property `udpIdleTimeoutSec`
         | 
| 34816 34925 | 
             
                    # @return [Fixnum]
         | 
| @@ -34838,6 +34947,7 @@ module Google | |
| 34838 34947 | 
             
                      @tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
         | 
| 34839 34948 | 
             
                      @tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
         | 
| 34840 34949 | 
             
                      @tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
         | 
| 34950 | 
            +
                      @type = args[:type] if args.key?(:type)
         | 
| 34841 34951 | 
             
                      @udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
         | 
| 34842 34952 | 
             
                    end
         | 
| 34843 34953 | 
             
                  end
         | 
| @@ -34892,7 +35002,8 @@ module Google | |
| 34892 35002 | 
             
                    # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
         | 
| 34893 35003 | 
             
                    # 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
         | 
| 34894 35004 | 
             
                    # following example is a valid match expression for private NAT: "nexthop.hub ==
         | 
| 34895 | 
            -
                    # '/projects/my-project/ | 
| 35005 | 
            +
                    # 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
         | 
| 35006 | 
            +
                    # global/hub/hub-1'"
         | 
| 34896 35007 | 
             
                    # Corresponds to the JSON property `match`
         | 
| 34897 35008 | 
             
                    # @return [String]
         | 
| 34898 35009 | 
             
                    attr_accessor :match
         | 
| @@ -34928,6 +35039,13 @@ module Google | |
| 34928 35039 | 
             
                    # @return [Array<String>]
         | 
| 34929 35040 | 
             
                    attr_accessor :source_nat_active_ips
         | 
| 34930 35041 |  | 
| 35042 | 
            +
                    # A list of URLs of the subnetworks used as source ranges for this NAT Rule.
         | 
| 35043 | 
            +
                    # These subnetworks must have purpose set to PRIVATE_NAT. This field is used for
         | 
| 35044 | 
            +
                    # private NAT.
         | 
| 35045 | 
            +
                    # Corresponds to the JSON property `sourceNatActiveRanges`
         | 
| 35046 | 
            +
                    # @return [Array<String>]
         | 
| 35047 | 
            +
                    attr_accessor :source_nat_active_ranges
         | 
| 35048 | 
            +
                  
         | 
| 34931 35049 | 
             
                    # A list of URLs of the IP resources to be drained. These IPs must be valid
         | 
| 34932 35050 | 
             
                    # static external IPs that have been assigned to the NAT. These IPs should be
         | 
| 34933 35051 | 
             
                    # used for updating/patching a NAT rule only. This field is used for public NAT.
         | 
| @@ -34935,6 +35053,14 @@ module Google | |
| 34935 35053 | 
             
                    # @return [Array<String>]
         | 
| 34936 35054 | 
             
                    attr_accessor :source_nat_drain_ips
         | 
| 34937 35055 |  | 
| 35056 | 
            +
                    # A list of URLs of subnetworks representing source ranges to be drained. This
         | 
| 35057 | 
            +
                    # is only supported on patch/update, and these subnetworks must have previously
         | 
| 35058 | 
            +
                    # been used as active ranges in this NAT Rule. This field is used for private
         | 
| 35059 | 
            +
                    # NAT.
         | 
| 35060 | 
            +
                    # Corresponds to the JSON property `sourceNatDrainRanges`
         | 
| 35061 | 
            +
                    # @return [Array<String>]
         | 
| 35062 | 
            +
                    attr_accessor :source_nat_drain_ranges
         | 
| 35063 | 
            +
                  
         | 
| 34938 35064 | 
             
                    def initialize(**args)
         | 
| 34939 35065 | 
             
                       update!(**args)
         | 
| 34940 35066 | 
             
                    end
         | 
| @@ -34942,7 +35068,9 @@ module Google | |
| 34942 35068 | 
             
                    # Update properties of this object
         | 
| 34943 35069 | 
             
                    def update!(**args)
         | 
| 34944 35070 | 
             
                      @source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
         | 
| 35071 | 
            +
                      @source_nat_active_ranges = args[:source_nat_active_ranges] if args.key?(:source_nat_active_ranges)
         | 
| 34945 35072 | 
             
                      @source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
         | 
| 35073 | 
            +
                      @source_nat_drain_ranges = args[:source_nat_drain_ranges] if args.key?(:source_nat_drain_ranges)
         | 
| 34946 35074 | 
             
                    end
         | 
| 34947 35075 | 
             
                  end
         | 
| 34948 35076 |  | 
| @@ -35776,6 +35904,14 @@ module Google | |
| 35776 35904 | 
             
                    # @return [String]
         | 
| 35777 35905 | 
             
                    attr_accessor :maintenance_interval
         | 
| 35778 35906 |  | 
| 35907 | 
            +
                    # A Duration represents a fixed-length span of time represented as a count of
         | 
| 35908 | 
            +
                    # seconds and fractions of seconds at nanosecond resolution. It is independent
         | 
| 35909 | 
            +
                    # of any calendar and concepts like "day" or "month". Range is approximately 10,
         | 
| 35910 | 
            +
                    # 000 years.
         | 
| 35911 | 
            +
                    # Corresponds to the JSON property `maxRunDuration`
         | 
| 35912 | 
            +
                    # @return [Google::Apis::ComputeAlpha::Duration]
         | 
| 35913 | 
            +
                    attr_accessor :max_run_duration
         | 
| 35914 | 
            +
                  
         | 
| 35779 35915 | 
             
                    # The minimum number of virtual CPUs this instance will consume when running on
         | 
| 35780 35916 | 
             
                    # a sole-tenant node.
         | 
| 35781 35917 | 
             
                    # Corresponds to the JSON property `minNodeCpus`
         | 
| @@ -35810,6 +35946,13 @@ module Google | |
| 35810 35946 | 
             
                    # @return [String]
         | 
| 35811 35947 | 
             
                    attr_accessor :provisioning_model
         | 
| 35812 35948 |  | 
| 35949 | 
            +
                    # Specifies the timestamp, when the instance will be terminated, in RFC3339 text
         | 
| 35950 | 
            +
                    # format. If specified, the instance termination action will be performed at the
         | 
| 35951 | 
            +
                    # termination time.
         | 
| 35952 | 
            +
                    # Corresponds to the JSON property `terminationTime`
         | 
| 35953 | 
            +
                    # @return [String]
         | 
| 35954 | 
            +
                    attr_accessor :termination_time
         | 
| 35955 | 
            +
                  
         | 
| 35813 35956 | 
             
                    def initialize(**args)
         | 
| 35814 35957 | 
             
                       update!(**args)
         | 
| 35815 35958 | 
             
                    end
         | 
| @@ -35826,11 +35969,13 @@ module Google | |
| 35826 35969 | 
             
                      @location_hint = args[:location_hint] if args.key?(:location_hint)
         | 
| 35827 35970 | 
             
                      @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
         | 
| 35828 35971 | 
             
                      @maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
         | 
| 35972 | 
            +
                      @max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
         | 
| 35829 35973 | 
             
                      @min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
         | 
| 35830 35974 | 
             
                      @node_affinities = args[:node_affinities] if args.key?(:node_affinities)
         | 
| 35831 35975 | 
             
                      @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
         | 
| 35832 35976 | 
             
                      @preemptible = args[:preemptible] if args.key?(:preemptible)
         | 
| 35833 35977 | 
             
                      @provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
         | 
| 35978 | 
            +
                      @termination_time = args[:termination_time] if args.key?(:termination_time)
         | 
| 35834 35979 | 
             
                    end
         | 
| 35835 35980 | 
             
                  end
         | 
| 35836 35981 |  | 
| @@ -37345,6 +37490,13 @@ module Google | |
| 37345 37490 | 
             
                    # @return [String]
         | 
| 37346 37491 | 
             
                    attr_accessor :description
         | 
| 37347 37492 |  | 
| 37493 | 
            +
                    # If specified, the domain name will be used during the integration between the
         | 
| 37494 | 
            +
                    # PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
         | 
| 37495 | 
            +
                    # name: "p.mycompany.com".
         | 
| 37496 | 
            +
                    # Corresponds to the JSON property `domainNames`
         | 
| 37497 | 
            +
                    # @return [Array<String>]
         | 
| 37498 | 
            +
                    attr_accessor :domain_names
         | 
| 37499 | 
            +
                  
         | 
| 37348 37500 | 
             
                    # If true, enable the proxy protocol which is for supplying client TCP/IP
         | 
| 37349 37501 | 
             
                    # address data in TCP connections that traverse proxies on their way to
         | 
| 37350 37502 | 
             
                    # destination servers.
         | 
| @@ -37433,6 +37585,7 @@ module Google | |
| 37433 37585 | 
             
                      @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
         | 
| 37434 37586 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 37435 37587 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 37588 | 
            +
                      @domain_names = args[:domain_names] if args.key?(:domain_names)
         | 
| 37436 37589 | 
             
                      @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
         | 
| 37437 37590 | 
             
                      @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
         | 
| 37438 37591 | 
             
                      @id = args[:id] if args.key?(:id)
         | 
| @@ -37846,9 +37999,8 @@ module Google | |
| 37846 37999 | 
             
                    # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsFolderConfig>]
         | 
| 37847 38000 | 
             
                    attr_accessor :folder_map
         | 
| 37848 38001 |  | 
| 37849 | 
            -
                    # A map of project id and project config.  | 
| 37850 | 
            -
                    #  | 
| 37851 | 
            -
                    # remove) the array one.
         | 
| 38002 | 
            +
                    # A map of project id and project config. This is only valid when share_type's
         | 
| 38003 | 
            +
                    # value is SPECIFIC_PROJECTS.
         | 
| 37852 38004 | 
             
                    # Corresponds to the JSON property `projectMap`
         | 
| 37853 38005 | 
             
                    # @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsProjectConfig>]
         | 
| 37854 38006 | 
             
                    attr_accessor :project_map
         | 
| @@ -38193,6 +38345,12 @@ module Google | |
| 38193 38345 | 
             
                  class Snapshot
         | 
| 38194 38346 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 38195 38347 |  | 
| 38348 | 
            +
                    # [Output Only] The architecture of the snapshot. Valid values are ARM64 or
         | 
| 38349 | 
            +
                    # X86_64.
         | 
| 38350 | 
            +
                    # Corresponds to the JSON property `architecture`
         | 
| 38351 | 
            +
                    # @return [String]
         | 
| 38352 | 
            +
                    attr_accessor :architecture
         | 
| 38353 | 
            +
                  
         | 
| 38196 38354 | 
             
                    # [Output Only] Set to true if snapshots are automatically created by applying
         | 
| 38197 38355 | 
             
                    # resource policy on the target disk.
         | 
| 38198 38356 | 
             
                    # Corresponds to the JSON property `autoCreated`
         | 
| @@ -38408,6 +38566,7 @@ module Google | |
| 38408 38566 |  | 
| 38409 38567 | 
             
                    # Update properties of this object
         | 
| 38410 38568 | 
             
                    def update!(**args)
         | 
| 38569 | 
            +
                      @architecture = args[:architecture] if args.key?(:architecture)
         | 
| 38411 38570 | 
             
                      @auto_created = args[:auto_created] if args.key?(:auto_created)
         | 
| 38412 38571 | 
             
                      @chain_name = args[:chain_name] if args.key?(:chain_name)
         | 
| 38413 38572 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| @@ -38650,6 +38809,11 @@ module Google | |
| 38650 38809 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
         | 
| 38651 38810 | 
             
                    attr_accessor :guest_accelerators
         | 
| 38652 38811 |  | 
| 38812 | 
            +
                    # KeyRevocationActionType of the instance.
         | 
| 38813 | 
            +
                    # Corresponds to the JSON property `keyRevocationActionType`
         | 
| 38814 | 
            +
                    # @return [String]
         | 
| 38815 | 
            +
                    attr_accessor :key_revocation_action_type
         | 
| 38816 | 
            +
                  
         | 
| 38653 38817 | 
             
                    # Labels to apply to instances that are created from this machine image.
         | 
| 38654 38818 | 
             
                    # Corresponds to the JSON property `labels`
         | 
| 38655 38819 | 
             
                    # @return [Hash<String,String>]
         | 
| @@ -38713,6 +38877,7 @@ module Google | |
| 38713 38877 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 38714 38878 | 
             
                      @disks = args[:disks] if args.key?(:disks)
         | 
| 38715 38879 | 
             
                      @guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
         | 
| 38880 | 
            +
                      @key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
         | 
| 38716 38881 | 
             
                      @labels = args[:labels] if args.key?(:labels)
         | 
| 38717 38882 | 
             
                      @machine_type = args[:machine_type] if args.key?(:machine_type)
         | 
| 38718 38883 | 
             
                      @metadata = args[:metadata] if args.key?(:metadata)
         | 
| @@ -39737,8 +39902,9 @@ module Google | |
| 39737 39902 |  | 
| 39738 39903 | 
             
                    # Whether to enable flow logging for this subnetwork. If this field is not
         | 
| 39739 39904 | 
             
                    # explicitly set, it will not appear in get listings. If not set the default
         | 
| 39740 | 
            -
                    # behavior is  | 
| 39741 | 
            -
                    #  | 
| 39905 | 
            +
                    # behavior is determined by the org policy, if there is no org policy specified,
         | 
| 39906 | 
            +
                    # then it will default to disabled. This field isn't supported with the purpose
         | 
| 39907 | 
            +
                    # field set to INTERNAL_HTTPS_LOAD_BALANCER.
         | 
| 39742 39908 | 
             
                    # Corresponds to the JSON property `enableFlowLogs`
         | 
| 39743 39909 | 
             
                    # @return [Boolean]
         | 
| 39744 39910 | 
             
                    attr_accessor :enable_flow_logs
         | 
| @@ -39778,8 +39944,8 @@ module Google | |
| 39778 39944 | 
             
                    # Can only be specified if VPC flow logging for this subnetwork is enabled. The
         | 
| 39779 39945 | 
             
                    # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
         | 
| 39780 39946 | 
             
                    # within the subnetwork where 1.0 means all collected logs are reported and 0.0
         | 
| 39781 | 
            -
                    # means no logs are reported. Default is 0.5 | 
| 39782 | 
            -
                    # logs are reported.
         | 
| 39947 | 
            +
                    # means no logs are reported. Default is 0.5 unless otherwise specified by the
         | 
| 39948 | 
            +
                    # org policy, which means half of all collected logs are reported.
         | 
| 39783 39949 | 
             
                    # Corresponds to the JSON property `flowSampling`
         | 
| 39784 39950 | 
             
                    # @return [Float]
         | 
| 39785 39951 | 
             
                    attr_accessor :flow_sampling
         | 
| @@ -40254,7 +40420,8 @@ module Google | |
| 40254 40420 |  | 
| 40255 40421 | 
             
                    # Whether to enable flow logging for this subnetwork. If this field is not
         | 
| 40256 40422 | 
             
                    # explicitly set, it will not appear in get listings. If not set the default
         | 
| 40257 | 
            -
                    # behavior is  | 
| 40423 | 
            +
                    # behavior is determined by the org policy, if there is no org policy specified,
         | 
| 40424 | 
            +
                    # then it will default to disabled.
         | 
| 40258 40425 | 
             
                    # Corresponds to the JSON property `enable`
         | 
| 40259 40426 | 
             
                    # @return [Boolean]
         | 
| 40260 40427 | 
             
                    attr_accessor :enable
         | 
| @@ -40269,8 +40436,8 @@ module Google | |
| 40269 40436 | 
             
                    # Can only be specified if VPC flow logging for this subnetwork is enabled. The
         | 
| 40270 40437 | 
             
                    # value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
         | 
| 40271 40438 | 
             
                    # within the subnetwork where 1.0 means all collected logs are reported and 0.0
         | 
| 40272 | 
            -
                    # means no logs are reported. Default is 0.5 | 
| 40273 | 
            -
                    # logs are reported.
         | 
| 40439 | 
            +
                    # means no logs are reported. Default is 0.5 unless otherwise specified by the
         | 
| 40440 | 
            +
                    # org policy, which means half of all collected logs are reported.
         | 
| 40274 40441 | 
             
                    # Corresponds to the JSON property `flowSampling`
         | 
| 40275 40442 | 
             
                    # @return [Float]
         | 
| 40276 40443 | 
             
                    attr_accessor :flow_sampling
         | 
| @@ -43886,7 +44053,7 @@ module Google | |
| 43886 44053 | 
             
                  class TestFailure
         | 
| 43887 44054 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 43888 44055 |  | 
| 43889 | 
            -
                    # The actual output URL evaluated by load balancer containing the scheme, host,
         | 
| 44056 | 
            +
                    # The actual output URL evaluated by a load balancer containing the scheme, host,
         | 
| 43890 44057 | 
             
                    # path and query parameters.
         | 
| 43891 44058 | 
             
                    # Corresponds to the JSON property `actualOutputUrl`
         | 
| 43892 44059 | 
             
                    # @return [String]
         | 
| @@ -43903,8 +44070,8 @@ module Google | |
| 43903 44070 | 
             
                    # @return [String]
         | 
| 43904 44071 | 
             
                    attr_accessor :actual_service
         | 
| 43905 44072 |  | 
| 43906 | 
            -
                    # The expected output URL evaluated by load balancer containing the scheme, | 
| 43907 | 
            -
                    # path and query parameters.
         | 
| 44073 | 
            +
                    # The expected output URL evaluated by a load balancer containing the scheme,
         | 
| 44074 | 
            +
                    # host, path and query parameters.
         | 
| 43908 44075 | 
             
                    # Corresponds to the JSON property `expectedOutputUrl`
         | 
| 43909 44076 | 
             
                    # @return [String]
         | 
| 43910 44077 | 
             
                    attr_accessor :expected_output_url
         | 
| @@ -44189,6 +44356,13 @@ module Google | |
| 44189 44356 | 
             
                  class UpcomingMaintenance
         | 
| 44190 44357 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 44191 44358 |  | 
| 44359 | 
            +
                    # Indicates if the maintenance can be customer triggered. From more detail, see
         | 
| 44360 | 
            +
                    # go/sf-ctm-design.
         | 
| 44361 | 
            +
                    # Corresponds to the JSON property `canReschedule`
         | 
| 44362 | 
            +
                    # @return [Boolean]
         | 
| 44363 | 
            +
                    attr_accessor :can_reschedule
         | 
| 44364 | 
            +
                    alias_method :can_reschedule?, :can_reschedule
         | 
| 44365 | 
            +
                  
         | 
| 44192 44366 | 
             
                    # [Output Only] The date when the maintenance will take place. This value is in
         | 
| 44193 44367 | 
             
                    # RFC3339 text format. DEPRECATED: Use start_time_window instead.
         | 
| 44194 44368 | 
             
                    # Corresponds to the JSON property `date`
         | 
| @@ -44218,6 +44392,7 @@ module Google | |
| 44218 44392 |  | 
| 44219 44393 | 
             
                    # Update properties of this object
         | 
| 44220 44394 | 
             
                    def update!(**args)
         | 
| 44395 | 
            +
                      @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
         | 
| 44221 44396 | 
             
                      @date = args[:date] if args.key?(:date)
         | 
| 44222 44397 | 
             
                      @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
         | 
| 44223 44398 | 
             
                      @time = args[:time] if args.key?(:time)
         | 
| @@ -44251,21 +44426,21 @@ module Google | |
| 44251 44426 | 
             
                    end
         | 
| 44252 44427 | 
             
                  end
         | 
| 44253 44428 |  | 
| 44254 | 
            -
                  # Represents a URL Map resource.  | 
| 44255 | 
            -
                  #  | 
| 44256 | 
            -
                  #  | 
| 44257 | 
            -
                  # certain types of  | 
| 44429 | 
            +
                  # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
         | 
| 44430 | 
            +
                  # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
         | 
| 44431 | 
            +
                  # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
         | 
| 44432 | 
            +
                  # certain types of cloud load balancers and Traffic Director: * urlMaps are used
         | 
| 44258 44433 | 
             
                  # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
         | 
| 44259 44434 | 
             
                  # used by internal HTTP(S) load balancers. For a list of supported URL map
         | 
| 44260 | 
            -
                  # features by load balancer type, see the Load balancing features: Routing | 
| 44261 | 
            -
                  # traffic management table. For a list of supported URL map features for | 
| 44262 | 
            -
                  # Director, see the Traffic Director features: Routing and traffic | 
| 44263 | 
            -
                  # table. This resource defines mappings from  | 
| 44264 | 
            -
                  # a backend service or a backend bucket. To use the global urlMaps | 
| 44265 | 
            -
                  # backend service must have a loadBalancingScheme of either | 
| 44266 | 
            -
                  # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the | 
| 44267 | 
            -
                  # must have a loadBalancingScheme of INTERNAL_MANAGED. For more | 
| 44268 | 
            -
                  # read URL Map Concepts.
         | 
| 44435 | 
            +
                  # features by the load balancer type, see the Load balancing features: Routing
         | 
| 44436 | 
            +
                  # and traffic management table. For a list of supported URL map features for
         | 
| 44437 | 
            +
                  # Traffic Director, see the Traffic Director features: Routing and traffic
         | 
| 44438 | 
            +
                  # management table. This resource defines mappings from hostnames and URL paths
         | 
| 44439 | 
            +
                  # to either a backend service or a backend bucket. To use the global urlMaps
         | 
| 44440 | 
            +
                  # resource, the backend service must have a loadBalancingScheme of either
         | 
| 44441 | 
            +
                  # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
         | 
| 44442 | 
            +
                  # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
         | 
| 44443 | 
            +
                  # information, read URL Map Concepts.
         | 
| 44269 44444 | 
             
                  class UrlMap
         | 
| 44270 44445 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 44271 44446 |  | 
| @@ -44275,28 +44450,28 @@ module Google | |
| 44275 44450 | 
             
                    attr_accessor :creation_timestamp
         | 
| 44276 44451 |  | 
| 44277 44452 | 
             
                    # defaultRouteAction takes effect when none of the hostRules match. The load
         | 
| 44278 | 
            -
                    # balancer performs advanced routing actions  | 
| 44279 | 
            -
                    # transformations,  | 
| 44280 | 
            -
                    #  | 
| 44281 | 
            -
                    #  | 
| 44282 | 
            -
                    #  | 
| 44453 | 
            +
                    # balancer performs advanced routing actions, such as URL rewrites and header
         | 
| 44454 | 
            +
                    # transformations, before forwarding the request to the selected backend. If
         | 
| 44455 | 
            +
                    # defaultRouteAction specifies any weightedBackendServices, defaultService must
         | 
| 44456 | 
            +
                    # not be set. Conversely if defaultService is set, defaultRouteAction cannot
         | 
| 44457 | 
            +
                    # contain any weightedBackendServices. Only one of defaultRouteAction or
         | 
| 44283 44458 | 
             
                    # defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
         | 
| 44284 44459 | 
             
                    # support only the urlRewrite action within defaultRouteAction.
         | 
| 44285 | 
            -
                    # defaultRouteAction has no effect when the URL map is bound to target gRPC
         | 
| 44286 | 
            -
                    # proxy that has validateForProxyless field set to true.
         | 
| 44460 | 
            +
                    # defaultRouteAction has no effect when the URL map is bound to a target gRPC
         | 
| 44461 | 
            +
                    # proxy that has the validateForProxyless field set to true.
         | 
| 44287 44462 | 
             
                    # Corresponds to the JSON property `defaultRouteAction`
         | 
| 44288 44463 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpRouteAction]
         | 
| 44289 44464 | 
             
                    attr_accessor :default_route_action
         | 
| 44290 44465 |  | 
| 44291 44466 | 
             
                    # The full or partial URL of the defaultService resource to which traffic is
         | 
| 44292 | 
            -
                    # directed if none of the hostRules match. If defaultRouteAction is  | 
| 44293 | 
            -
                    # specified, advanced routing actions  | 
| 44294 | 
            -
                    #  | 
| 44467 | 
            +
                    # directed if none of the hostRules match. If defaultRouteAction is also
         | 
| 44468 | 
            +
                    # specified, advanced routing actions, such as URL rewrites, take effect before
         | 
| 44469 | 
            +
                    # sending the request to the backend. However, if defaultService is specified,
         | 
| 44295 44470 | 
             
                    # defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
         | 
| 44296 44471 | 
             
                    # routeAction specifies any weightedBackendServices, service must not be
         | 
| 44297 | 
            -
                    # specified. Only one of defaultService, defaultUrlRedirect or
         | 
| 44472 | 
            +
                    # specified. Only one of defaultService, defaultUrlRedirect , or
         | 
| 44298 44473 | 
             
                    # defaultRouteAction.weightedBackendService must be set. defaultService has no
         | 
| 44299 | 
            -
                    # effect when the URL map is bound to target gRPC proxy that has
         | 
| 44474 | 
            +
                    # effect when the URL map is bound to a target gRPC proxy that has the
         | 
| 44300 44475 | 
             
                    # validateForProxyless field set to true.
         | 
| 44301 44476 | 
             
                    # Corresponds to the JSON property `defaultService`
         | 
| 44302 44477 | 
             
                    # @return [String]
         | 
| @@ -44314,11 +44489,10 @@ module Google | |
| 44314 44489 | 
             
                    attr_accessor :description
         | 
| 44315 44490 |  | 
| 44316 44491 | 
             
                    # Fingerprint of this resource. A hash of the contents stored in this object.
         | 
| 44317 | 
            -
                    # This field is used in optimistic locking. This field  | 
| 44318 | 
            -
                    #  | 
| 44319 | 
            -
                    #  | 
| 44320 | 
            -
                    #  | 
| 44321 | 
            -
                    # retrieve a UrlMap.
         | 
| 44492 | 
            +
                    # This field is used in optimistic locking. This field is ignored when inserting
         | 
| 44493 | 
            +
                    # a UrlMap. An up-to-date fingerprint must be provided in order to update the
         | 
| 44494 | 
            +
                    # UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
         | 
| 44495 | 
            +
                    # the latest fingerprint, make a get() request to retrieve a UrlMap.
         | 
| 44322 44496 | 
             
                    # Corresponds to the JSON property `fingerprint`
         | 
| 44323 44497 | 
             
                    # NOTE: Values are automatically base64 encoded/decoded in the client library.
         | 
| 44324 44498 | 
             
                    # @return [String]
         | 
| @@ -44330,7 +44504,7 @@ module Google | |
| 44330 44504 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
         | 
| 44331 44505 | 
             
                    attr_accessor :header_action
         | 
| 44332 44506 |  | 
| 44333 | 
            -
                    # The list of  | 
| 44507 | 
            +
                    # The list of host rules to use against the URL.
         | 
| 44334 44508 | 
             
                    # Corresponds to the JSON property `hostRules`
         | 
| 44335 44509 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::HostRule>]
         | 
| 44336 44510 | 
             
                    attr_accessor :host_rules
         | 
| @@ -44373,10 +44547,10 @@ module Google | |
| 44373 44547 | 
             
                    # @return [String]
         | 
| 44374 44548 | 
             
                    attr_accessor :self_link
         | 
| 44375 44549 |  | 
| 44376 | 
            -
                    # The list of expected URL mapping tests. Request to update  | 
| 44377 | 
            -
                    #  | 
| 44378 | 
            -
                    #  | 
| 44379 | 
            -
                    #  | 
| 44550 | 
            +
                    # The list of expected URL mapping tests. Request to update the UrlMap succeeds
         | 
| 44551 | 
            +
                    # only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
         | 
| 44552 | 
            +
                    # Not supported when the URL map is bound to a target gRPC proxy that has
         | 
| 44553 | 
            +
                    # validateForProxyless field set to true.
         | 
| 44380 44554 | 
             
                    # Corresponds to the JSON property `tests`
         | 
| 44381 44555 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::UrlMapTest>]
         | 
| 44382 44556 | 
             
                    attr_accessor :tests
         | 
| @@ -44556,18 +44730,18 @@ module Google | |
| 44556 44730 | 
             
                    # @return [String]
         | 
| 44557 44731 | 
             
                    attr_accessor :description
         | 
| 44558 44732 |  | 
| 44559 | 
            -
                    # The expected output URL evaluated by load balancer containing the scheme, | 
| 44560 | 
            -
                    # path and query parameters. For rules that forward requests to backends, | 
| 44561 | 
            -
                    # test passes only when expectedOutputUrl matches the request forwarded by | 
| 44562 | 
            -
                    # balancer to backends. For rules with urlRewrite, the test verifies | 
| 44563 | 
            -
                    # forwarded request matches hostRewrite and pathPrefixRewrite in the | 
| 44564 | 
            -
                    # action. When service is specified, expectedOutputUrl`s scheme is | 
| 44565 | 
            -
                    # rules with urlRedirect, the test passes only if expectedOutputUrl | 
| 44566 | 
            -
                    # URL in the load balancer's redirect response. If urlRedirect | 
| 44567 | 
            -
                    # https_redirect, the test passes only if the scheme in | 
| 44568 | 
            -
                    # also set to  | 
| 44569 | 
            -
                    # if expectedOutputUrl does not contain any query | 
| 44570 | 
            -
                    # is optional when service is specified.
         | 
| 44733 | 
            +
                    # The expected output URL evaluated by the load balancer containing the scheme,
         | 
| 44734 | 
            +
                    # host, path and query parameters. For rules that forward requests to backends,
         | 
| 44735 | 
            +
                    # the test passes only when expectedOutputUrl matches the request forwarded by
         | 
| 44736 | 
            +
                    # the load balancer to backends. For rules with urlRewrite, the test verifies
         | 
| 44737 | 
            +
                    # that the forwarded request matches hostRewrite and pathPrefixRewrite in the
         | 
| 44738 | 
            +
                    # urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
         | 
| 44739 | 
            +
                    # ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
         | 
| 44740 | 
            +
                    # matches the URL in the load balancer's redirect response. If urlRedirect
         | 
| 44741 | 
            +
                    # specifies https_redirect, the test passes only if the scheme in
         | 
| 44742 | 
            +
                    # expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
         | 
| 44743 | 
            +
                    # the test passes only if expectedOutputUrl does not contain any query
         | 
| 44744 | 
            +
                    # parameters. expectedOutputUrl is optional when service is specified.
         | 
| 44571 44745 | 
             
                    # Corresponds to the JSON property `expectedOutputUrl`
         | 
| 44572 44746 | 
             
                    # @return [String]
         | 
| 44573 44747 | 
             
                    attr_accessor :expected_output_url
         | 
| @@ -44604,7 +44778,8 @@ module Google | |
| 44604 44778 | 
             
                    attr_accessor :path
         | 
| 44605 44779 |  | 
| 44606 44780 | 
             
                    # Expected BackendService or BackendBucket resource the given URL should be
         | 
| 44607 | 
            -
                    # mapped to. service cannot be set if expectedRedirectResponseCode is | 
| 44781 | 
            +
                    # mapped to. The service field cannot be set if expectedRedirectResponseCode is
         | 
| 44782 | 
            +
                    # set.
         | 
| 44608 44783 | 
             
                    # Corresponds to the JSON property `service`
         | 
| 44609 44784 | 
             
                    # @return [String]
         | 
| 44610 44785 | 
             
                    attr_accessor :service
         | 
| @@ -44911,21 +45086,36 @@ module Google | |
| 44911 45086 | 
             
                  class UrlMapsValidateRequest
         | 
| 44912 45087 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 44913 45088 |  | 
| 44914 | 
            -
                    #  | 
| 44915 | 
            -
                    #  | 
| 44916 | 
            -
                    #  | 
| 44917 | 
            -
                    #  | 
| 45089 | 
            +
                    # Specifies the load balancer type(s) this validation request is for. Use
         | 
| 45090 | 
            +
                    # EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
         | 
| 45091 | 
            +
                    # Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
         | 
| 45092 | 
            +
                    # Balancer. Other load balancer types are not supported. For more information,
         | 
| 45093 | 
            +
                    # refer to Choosing a load balancer. If unspecified, the load balancing scheme
         | 
| 45094 | 
            +
                    # will be inferred from the backend service resources this URL map references.
         | 
| 45095 | 
            +
                    # If that can not be inferred (for example, this URL map only references backend
         | 
| 45096 | 
            +
                    # buckets, or this Url map is for rewrites and redirects only and doesn't
         | 
| 45097 | 
            +
                    # reference any backends), EXTERNAL will be used as the default type. If
         | 
| 45098 | 
            +
                    # specified, the scheme(s) must not conflict with the load balancing scheme of
         | 
| 45099 | 
            +
                    # the backend service resources this Url map references.
         | 
| 45100 | 
            +
                    # Corresponds to the JSON property `loadBalancingSchemes`
         | 
| 45101 | 
            +
                    # @return [Array<String>]
         | 
| 45102 | 
            +
                    attr_accessor :load_balancing_schemes
         | 
| 45103 | 
            +
                  
         | 
| 45104 | 
            +
                    # Represents a URL Map resource. Compute Engine has two URL Map resources: * [
         | 
| 45105 | 
            +
                    # Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
         | 
| 45106 | 
            +
                    # reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
         | 
| 45107 | 
            +
                    # certain types of cloud load balancers and Traffic Director: * urlMaps are used
         | 
| 44918 45108 | 
             
                    # by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
         | 
| 44919 45109 | 
             
                    # used by internal HTTP(S) load balancers. For a list of supported URL map
         | 
| 44920 | 
            -
                    # features by load balancer type, see the Load balancing features: Routing | 
| 44921 | 
            -
                    # traffic management table. For a list of supported URL map features for | 
| 44922 | 
            -
                    # Director, see the Traffic Director features: Routing and traffic | 
| 44923 | 
            -
                    # table. This resource defines mappings from  | 
| 44924 | 
            -
                    # a backend service or a backend bucket. To use the global urlMaps | 
| 44925 | 
            -
                    # backend service must have a loadBalancingScheme of either | 
| 44926 | 
            -
                    # INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the | 
| 44927 | 
            -
                    # must have a loadBalancingScheme of INTERNAL_MANAGED. For more | 
| 44928 | 
            -
                    # read URL Map Concepts.
         | 
| 45110 | 
            +
                    # features by the load balancer type, see the Load balancing features: Routing
         | 
| 45111 | 
            +
                    # and traffic management table. For a list of supported URL map features for
         | 
| 45112 | 
            +
                    # Traffic Director, see the Traffic Director features: Routing and traffic
         | 
| 45113 | 
            +
                    # management table. This resource defines mappings from hostnames and URL paths
         | 
| 45114 | 
            +
                    # to either a backend service or a backend bucket. To use the global urlMaps
         | 
| 45115 | 
            +
                    # resource, the backend service must have a loadBalancingScheme of either
         | 
| 45116 | 
            +
                    # EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
         | 
| 45117 | 
            +
                    # backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
         | 
| 45118 | 
            +
                    # information, read URL Map Concepts.
         | 
| 44929 45119 | 
             
                    # Corresponds to the JSON property `resource`
         | 
| 44930 45120 | 
             
                    # @return [Google::Apis::ComputeAlpha::UrlMap]
         | 
| 44931 45121 | 
             
                    attr_accessor :resource
         | 
| @@ -44936,6 +45126,7 @@ module Google | |
| 44936 45126 |  | 
| 44937 45127 | 
             
                    # Update properties of this object
         | 
| 44938 45128 | 
             
                    def update!(**args)
         | 
| 45129 | 
            +
                      @load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
         | 
| 44939 45130 | 
             
                      @resource = args[:resource] if args.key?(:resource)
         | 
| 44940 45131 | 
             
                    end
         | 
| 44941 45132 | 
             
                  end
         | 
| @@ -44964,16 +45155,16 @@ module Google | |
| 44964 45155 | 
             
                  class UrlRewrite
         | 
| 44965 45156 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 44966 45157 |  | 
| 44967 | 
            -
                    #  | 
| 44968 | 
            -
                    # header is replaced with contents of hostRewrite. The value must be  | 
| 44969 | 
            -
                    #  | 
| 45158 | 
            +
                    # Before forwarding the request to the selected service, the request's host
         | 
| 45159 | 
            +
                    # header is replaced with contents of hostRewrite. The value must be from 1 to
         | 
| 45160 | 
            +
                    # 255 characters.
         | 
| 44970 45161 | 
             
                    # Corresponds to the JSON property `hostRewrite`
         | 
| 44971 45162 | 
             
                    # @return [String]
         | 
| 44972 45163 | 
             
                    attr_accessor :host_rewrite
         | 
| 44973 45164 |  | 
| 44974 | 
            -
                    #  | 
| 45165 | 
            +
                    # Before forwarding the request to the selected backend service, the matching
         | 
| 44975 45166 | 
             
                    # portion of the request's path is replaced by pathPrefixRewrite. The value must
         | 
| 44976 | 
            -
                    # be  | 
| 45167 | 
            +
                    # be from 1 to 1024 characters.
         | 
| 44977 45168 | 
             
                    # Corresponds to the JSON property `pathPrefixRewrite`
         | 
| 44978 45169 | 
             
                    # @return [String]
         | 
| 44979 45170 | 
             
                    attr_accessor :path_prefix_rewrite
         | 
| @@ -46690,14 +46881,13 @@ module Google | |
| 46690 46881 |  | 
| 46691 46882 | 
             
                  # In contrast to a single BackendService in HttpRouteAction to which all
         | 
| 46692 46883 | 
             
                  # matching traffic is directed to, WeightedBackendService allows traffic to be
         | 
| 46693 | 
            -
                  # split across multiple  | 
| 46694 | 
            -
                  #  | 
| 46695 | 
            -
                  # WeightedBackendService
         | 
| 46884 | 
            +
                  # split across multiple backend services. The volume of traffic for each backend
         | 
| 46885 | 
            +
                  # service is proportional to the weight specified in each WeightedBackendService
         | 
| 46696 46886 | 
             
                  class WeightedBackendService
         | 
| 46697 46887 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 46698 46888 |  | 
| 46699 46889 | 
             
                    # The full or partial URL to the default BackendService resource. Before
         | 
| 46700 | 
            -
                    # forwarding the request to backendService, the  | 
| 46890 | 
            +
                    # forwarding the request to backendService, the load balancer applies any
         | 
| 46701 46891 | 
             
                    # relevant headerActions specified as part of this backendServiceWeight.
         | 
| 46702 46892 | 
             
                    # Corresponds to the JSON property `backendService`
         | 
| 46703 46893 | 
             
                    # @return [String]
         | 
| @@ -46709,12 +46899,12 @@ module Google | |
| 46709 46899 | 
             
                    # @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
         | 
| 46710 46900 | 
             
                    attr_accessor :header_action
         | 
| 46711 46901 |  | 
| 46712 | 
            -
                    # Specifies the fraction of traffic sent to  | 
| 46713 | 
            -
                    # (sum of all weightedBackendService weights in routeAction) . The | 
| 46714 | 
            -
                    # a backend service is determined only for new traffic. Once a user' | 
| 46715 | 
            -
                    # has been directed to a  | 
| 46716 | 
            -
                    # same  | 
| 46717 | 
            -
                    # policy. The value must be  | 
| 46902 | 
            +
                    # Specifies the fraction of traffic sent to a backend service, computed as
         | 
| 46903 | 
            +
                    # weight / (sum of all weightedBackendService weights in routeAction) . The
         | 
| 46904 | 
            +
                    # selection of a backend service is determined only for new traffic. Once a user'
         | 
| 46905 | 
            +
                    # s request has been directed to a backend service, subsequent requests are sent
         | 
| 46906 | 
            +
                    # to the same backend service as determined by the backend service's session
         | 
| 46907 | 
            +
                    # affinity policy. The value must be from 0 to 1000.
         | 
| 46718 46908 | 
             
                    # Corresponds to the JSON property `weight`
         | 
| 46719 46909 | 
             
                    # @return [Fixnum]
         | 
| 46720 46910 | 
             
                    attr_accessor :weight
         | 
| @@ -47124,31 +47314,31 @@ module Google | |
| 47124 47314 |  | 
| 47125 47315 | 
             
                    # An Identity and Access Management (IAM) policy, which specifies access
         | 
| 47126 47316 | 
             
                    # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
         | 
| 47127 | 
            -
                    # A `binding` binds one or more `members | 
| 47128 | 
            -
                    # user accounts, service accounts, Google groups, and domains ( | 
| 47129 | 
            -
                    # A `role` is a named list of permissions; each `role` can be | 
| 47130 | 
            -
                    # role or a user-created custom role. For some types of Google | 
| 47131 | 
            -
                    # a `binding` can also specify a `condition`, which is a | 
| 47132 | 
            -
                    # allows access to a resource only if the expression | 
| 47133 | 
            -
                    # condition can add constraints based on attributes of | 
| 47134 | 
            -
                    # or both. To learn which resources support | 
| 47135 | 
            -
                    # see the [IAM documentation](https://cloud. | 
| 47136 | 
            -
                    # resource-policies). **JSON example:** ` " | 
| 47137 | 
            -
                    # resourcemanager.organizationAdmin", "members": [ | 
| 47138 | 
            -
                    # group:admins@example.com", "domain:google.com", " | 
| 47139 | 
            -
                    # appspot.gserviceaccount.com" ] `, ` "role": " | 
| 47140 | 
            -
                    # organizationViewer", "members": [ "user:eve@example.com" | 
| 47141 | 
            -
                    # title": "expirable access", "description": "Does not grant | 
| 47142 | 
            -
                    # 2020", "expression": "request.time < timestamp('2020-10-01T00: | 
| 47143 | 
            -
                    # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** | 
| 47144 | 
            -
                    # members: - user:mike@example.com - group:admins@example.com - | 
| 47145 | 
            -
                    # com - serviceAccount:my-project-id@appspot.gserviceaccount.com | 
| 47146 | 
            -
                    # resourcemanager.organizationAdmin - members: - user:eve@example. | 
| 47147 | 
            -
                    # roles/resourcemanager.organizationViewer condition: title: expirable | 
| 47148 | 
            -
                    # description: Does not grant access after Sep 2020 expression: request. | 
| 47149 | 
            -
                    # timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For | 
| 47150 | 
            -
                    # description of IAM and its features, see the [IAM documentation](https:// | 
| 47151 | 
            -
                    # google.com/iam/docs/).
         | 
| 47317 | 
            +
                    # A `binding` binds one or more `members`, or principals, to a single `role`.
         | 
| 47318 | 
            +
                    # Principals can be user accounts, service accounts, Google groups, and domains (
         | 
| 47319 | 
            +
                    # such as G Suite). A `role` is a named list of permissions; each `role` can be
         | 
| 47320 | 
            +
                    # an IAM predefined role or a user-created custom role. For some types of Google
         | 
| 47321 | 
            +
                    # Cloud resources, a `binding` can also specify a `condition`, which is a
         | 
| 47322 | 
            +
                    # logical expression that allows access to a resource only if the expression
         | 
| 47323 | 
            +
                    # evaluates to `true`. A condition can add constraints based on attributes of
         | 
| 47324 | 
            +
                    # the request, the resource, or both. To learn which resources support
         | 
| 47325 | 
            +
                    # conditions in their IAM policies, see the [IAM documentation](https://cloud.
         | 
| 47326 | 
            +
                    # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
         | 
| 47327 | 
            +
                    # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
         | 
| 47328 | 
            +
                    # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
         | 
| 47329 | 
            +
                    # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
         | 
| 47330 | 
            +
                    # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
         | 
| 47331 | 
            +
                    # ], "condition": ` "title": "expirable access", "description": "Does not grant
         | 
| 47332 | 
            +
                    # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
         | 
| 47333 | 
            +
                    # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
         | 
| 47334 | 
            +
                    # bindings: - members: - user:mike@example.com - group:admins@example.com -
         | 
| 47335 | 
            +
                    # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
         | 
| 47336 | 
            +
                    # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
         | 
| 47337 | 
            +
                    # com role: roles/resourcemanager.organizationViewer condition: title: expirable
         | 
| 47338 | 
            +
                    # access description: Does not grant access after Sep 2020 expression: request.
         | 
| 47339 | 
            +
                    # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
         | 
| 47340 | 
            +
                    # a description of IAM and its features, see the [IAM documentation](https://
         | 
| 47341 | 
            +
                    # cloud.google.com/iam/docs/).
         | 
| 47152 47342 | 
             
                    # Corresponds to the JSON property `policy`
         | 
| 47153 47343 | 
             
                    # @return [Google::Apis::ComputeAlpha::Policy]
         | 
| 47154 47344 | 
             
                    attr_accessor :policy
         |