google-apis-compute_alpha 0.8.0 → 0.9.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
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 02ce68094e319671550d7d7dd9f95033c748b80382c5be137d5b8fa7b65a91ac
         | 
| 4 | 
            +
              data.tar.gz: d8a70eed281be32d30a25f5b71f9b16090b9b93cff6d05ea1667b1d4267b9516
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 146dad68ad0c6d53768528cba1bb2796c7387ac479a75c339d961455d836103d1920ace50e95d427f83785432239d7e981b51221b5cc3730184d2dd7cd77e6ae
         | 
| 7 | 
            +
              data.tar.gz: 35219a8db465b996f7e22c7eeccc23ad8c47b03b3d38f9a547c38d4d0107aba9ba26090c801965c81c7d9b8e0c2201fed2ad331a323cc8621f4ce6513c479fcb
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
| @@ -1248,9 +1248,8 @@ module Google | |
| 1248 1248 | 
             
                    # @return [Fixnum]
         | 
| 1249 1249 | 
             
                    attr_accessor :maintenance_freeze_duration_hours
         | 
| 1250 1250 |  | 
| 1251 | 
            -
                    #  | 
| 1252 | 
            -
                    #  | 
| 1253 | 
            -
                    # See go/stable-fleet-ug for more details.
         | 
| 1251 | 
            +
                    # For more information about maintenance intervals, see Setting maintenance
         | 
| 1252 | 
            +
                    # intervals.
         | 
| 1254 1253 | 
             
                    # Corresponds to the JSON property `maintenanceInterval`
         | 
| 1255 1254 | 
             
                    # @return [String]
         | 
| 1256 1255 | 
             
                    attr_accessor :maintenance_interval
         | 
| @@ -1307,80 +1306,6 @@ module Google | |
| 1307 1306 | 
             
                    end
         | 
| 1308 1307 | 
             
                  end
         | 
| 1309 1308 |  | 
| 1310 | 
            -
                  # `Any` contains an arbitrary serialized protocol buffer message along with a
         | 
| 1311 | 
            -
                  # URL that describes the type of the serialized message.
         | 
| 1312 | 
            -
                  # Protobuf library provides support to pack/unpack Any values in the form of
         | 
| 1313 | 
            -
                  # utility functions or additional generated methods of the Any type.
         | 
| 1314 | 
            -
                  # Example 1: Pack and unpack a message in C++.
         | 
| 1315 | 
            -
                  # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
         | 
| 1316 | 
            -
                  # Example 2: Pack and unpack a message in Java.
         | 
| 1317 | 
            -
                  # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
         | 
| 1318 | 
            -
                  # unpack(Foo.class); `
         | 
| 1319 | 
            -
                  # Example 3: Pack and unpack a message in Python.
         | 
| 1320 | 
            -
                  # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
         | 
| 1321 | 
            -
                  # Unpack(foo) ...
         | 
| 1322 | 
            -
                  # Example 4: Pack and unpack a message in Go
         | 
| 1323 | 
            -
                  # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
         | 
| 1324 | 
            -
                  # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
         | 
| 1325 | 
            -
                  # The pack methods provided by protobuf library will by default use 'type.
         | 
| 1326 | 
            -
                  # googleapis.com/full.type.name' as the type URL and the unpack methods only use
         | 
| 1327 | 
            -
                  # the fully qualified type name after the last '/' in the type URL, for example "
         | 
| 1328 | 
            -
                  # foo.bar.com/x/y.z" will yield type name "y.z".
         | 
| 1329 | 
            -
                  # JSON ==== The JSON representation of an `Any` value uses the regular
         | 
| 1330 | 
            -
                  # representation of the deserialized, embedded message, with an additional field
         | 
| 1331 | 
            -
                  # `@type` which contains the type URL. Example:
         | 
| 1332 | 
            -
                  # package google.profile; message Person ` string first_name = 1; string
         | 
| 1333 | 
            -
                  # last_name = 2; `
         | 
| 1334 | 
            -
                  # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
         | 
| 1335 | 
            -
                  # lastName":  `
         | 
| 1336 | 
            -
                  # If the embedded message type is well-known and has a custom JSON
         | 
| 1337 | 
            -
                  # representation, that representation will be embedded adding a field `value`
         | 
| 1338 | 
            -
                  # which holds the custom JSON in addition to the `@type` field. Example (for
         | 
| 1339 | 
            -
                  # message [google.protobuf.Duration][]):
         | 
| 1340 | 
            -
                  # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
         | 
| 1341 | 
            -
                  class Any
         | 
| 1342 | 
            -
                    include Google::Apis::Core::Hashable
         | 
| 1343 | 
            -
                  
         | 
| 1344 | 
            -
                    # A URL/resource name that uniquely identifies the type of the serialized
         | 
| 1345 | 
            -
                    # protocol buffer message. This string must contain at least one "/" character.
         | 
| 1346 | 
            -
                    # The last segment of the URL's path must represent the fully qualified name of
         | 
| 1347 | 
            -
                    # the type (as in `path/google.protobuf.Duration`). The name should be in a
         | 
| 1348 | 
            -
                    # canonical form (e.g., leading "." is not accepted).
         | 
| 1349 | 
            -
                    # In practice, teams usually precompile into the binary all types that they
         | 
| 1350 | 
            -
                    # expect it to use in the context of Any. However, for URLs which use the scheme
         | 
| 1351 | 
            -
                    # `http`, `https`, or no scheme, one can optionally set up a type server that
         | 
| 1352 | 
            -
                    # maps type URLs to message definitions as follows:
         | 
| 1353 | 
            -
                    # * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must
         | 
| 1354 | 
            -
                    # yield a [google.protobuf.Type][] value in binary format, or produce an error. *
         | 
| 1355 | 
            -
                    # Applications are allowed to cache lookup results based on the URL, or have
         | 
| 1356 | 
            -
                    # them precompiled into a binary to avoid any lookup. Therefore, binary
         | 
| 1357 | 
            -
                    # compatibility needs to be preserved on changes to types. (Use versioned type
         | 
| 1358 | 
            -
                    # names to manage breaking changes.)
         | 
| 1359 | 
            -
                    # Note: this functionality is not currently available in the official protobuf
         | 
| 1360 | 
            -
                    # release, and it is not used for type URLs beginning with type.googleapis.com.
         | 
| 1361 | 
            -
                    # Schemes other than `http`, `https` (or the empty scheme) might be used with
         | 
| 1362 | 
            -
                    # implementation specific semantics.
         | 
| 1363 | 
            -
                    # Corresponds to the JSON property `typeUrl`
         | 
| 1364 | 
            -
                    # @return [String]
         | 
| 1365 | 
            -
                    attr_accessor :type_url
         | 
| 1366 | 
            -
                  
         | 
| 1367 | 
            -
                    # Must be a valid serialized protocol buffer of the above specified type.
         | 
| 1368 | 
            -
                    # Corresponds to the JSON property `value`
         | 
| 1369 | 
            -
                    # NOTE: Values are automatically base64 encoded/decoded in the client library.
         | 
| 1370 | 
            -
                    # @return [String]
         | 
| 1371 | 
            -
                    attr_accessor :value
         | 
| 1372 | 
            -
                  
         | 
| 1373 | 
            -
                    def initialize(**args)
         | 
| 1374 | 
            -
                       update!(**args)
         | 
| 1375 | 
            -
                    end
         | 
| 1376 | 
            -
                  
         | 
| 1377 | 
            -
                    # Update properties of this object
         | 
| 1378 | 
            -
                    def update!(**args)
         | 
| 1379 | 
            -
                      @type_url = args[:type_url] if args.key?(:type_url)
         | 
| 1380 | 
            -
                      @value = args[:value] if args.key?(:value)
         | 
| 1381 | 
            -
                    end
         | 
| 1382 | 
            -
                  end
         | 
| 1383 | 
            -
                  
         | 
| 1384 1309 | 
             
                  # An instance-attached disk resource.
         | 
| 1385 1310 | 
             
                  class AttachedDisk
         | 
| 1386 1311 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -3017,6 +2942,12 @@ module Google | |
| 3017 2942 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
         | 
| 3018 2943 | 
             
                    attr_accessor :bypass_cache_on_request_headers
         | 
| 3019 2944 |  | 
| 2945 | 
            +
                    # Message containing what to include in the cache key for a request for Cloud
         | 
| 2946 | 
            +
                    # CDN.
         | 
| 2947 | 
            +
                    # Corresponds to the JSON property `cacheKeyPolicy`
         | 
| 2948 | 
            +
                    # @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicyCacheKeyPolicy]
         | 
| 2949 | 
            +
                    attr_accessor :cache_key_policy
         | 
| 2950 | 
            +
                  
         | 
| 3020 2951 | 
             
                    # Specifies the cache setting for all responses from this backend. The possible
         | 
| 3021 2952 | 
             
                    # values are:
         | 
| 3022 2953 | 
             
                    # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
         | 
| @@ -3141,6 +3072,7 @@ module Google | |
| 3141 3072 | 
             
                    # Update properties of this object
         | 
| 3142 3073 | 
             
                    def update!(**args)
         | 
| 3143 3074 | 
             
                      @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
         | 
| 3075 | 
            +
                      @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
         | 
| 3144 3076 | 
             
                      @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
         | 
| 3145 3077 | 
             
                      @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
         | 
| 3146 3078 | 
             
                      @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
         | 
| @@ -3176,6 +3108,34 @@ module Google | |
| 3176 3108 | 
             
                    end
         | 
| 3177 3109 | 
             
                  end
         | 
| 3178 3110 |  | 
| 3111 | 
            +
                  # Message containing what to include in the cache key for a request for Cloud
         | 
| 3112 | 
            +
                  # CDN.
         | 
| 3113 | 
            +
                  class BackendBucketCdnPolicyCacheKeyPolicy
         | 
| 3114 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 3115 | 
            +
                  
         | 
| 3116 | 
            +
                    # Allows HTTP request headers (by name) to be used in the cache key.
         | 
| 3117 | 
            +
                    # Corresponds to the JSON property `includeHttpHeaders`
         | 
| 3118 | 
            +
                    # @return [Array<String>]
         | 
| 3119 | 
            +
                    attr_accessor :include_http_headers
         | 
| 3120 | 
            +
                  
         | 
| 3121 | 
            +
                    # Names of query string parameters to include in cache keys. All other
         | 
| 3122 | 
            +
                    # parameters will be excluded. '&' and '=' will be percent encoded and not
         | 
| 3123 | 
            +
                    # treated as delimiters.
         | 
| 3124 | 
            +
                    # Corresponds to the JSON property `queryStringWhitelist`
         | 
| 3125 | 
            +
                    # @return [Array<String>]
         | 
| 3126 | 
            +
                    attr_accessor :query_string_whitelist
         | 
| 3127 | 
            +
                  
         | 
| 3128 | 
            +
                    def initialize(**args)
         | 
| 3129 | 
            +
                       update!(**args)
         | 
| 3130 | 
            +
                    end
         | 
| 3131 | 
            +
                  
         | 
| 3132 | 
            +
                    # Update properties of this object
         | 
| 3133 | 
            +
                    def update!(**args)
         | 
| 3134 | 
            +
                      @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
         | 
| 3135 | 
            +
                      @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
         | 
| 3136 | 
            +
                    end
         | 
| 3137 | 
            +
                  end
         | 
| 3138 | 
            +
                  
         | 
| 3179 3139 | 
             
                  # Specify CDN TTLs for response error codes.
         | 
| 3180 3140 | 
             
                  class BackendBucketCdnPolicyNegativeCachingPolicy
         | 
| 3181 3141 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -3621,7 +3581,8 @@ module Google | |
| 3621 3581 | 
             
                    # @return [String]
         | 
| 3622 3582 | 
             
                    attr_accessor :session_affinity
         | 
| 3623 3583 |  | 
| 3624 | 
            -
                    # Subsetting  | 
| 3584 | 
            +
                    # Subsetting configuration for this BackendService. Currently this is applicable
         | 
| 3585 | 
            +
                    # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
         | 
| 3625 3586 | 
             
                    # Corresponds to the JSON property `subsetting`
         | 
| 3626 3587 | 
             
                    # @return [Google::Apis::ComputeAlpha::Subsetting]
         | 
| 3627 3588 | 
             
                    attr_accessor :subsetting
         | 
| @@ -4875,16 +4836,17 @@ module Google | |
| 4875 4836 |  | 
| 4876 4837 | 
             
                    # The minimum number of instances to create. If no min_count is specified then
         | 
| 4877 4838 | 
             
                    # count is used as the default value. If min_count instances cannot be created,
         | 
| 4878 | 
            -
                    # then no instances will be created | 
| 4839 | 
            +
                    # then no instances will be created and instances already created will be
         | 
| 4840 | 
            +
                    # deleted.
         | 
| 4879 4841 | 
             
                    # Corresponds to the JSON property `minCount`
         | 
| 4880 4842 | 
             
                    # @return [Fixnum]
         | 
| 4881 4843 | 
             
                    attr_accessor :min_count
         | 
| 4882 4844 |  | 
| 4883 4845 | 
             
                    # The string pattern used for the names of the VMs. Either name_pattern or
         | 
| 4884 | 
            -
                    #  | 
| 4846 | 
            +
                    # per_instance_properties must be set. The pattern should contain one continuous
         | 
| 4885 4847 | 
             
                    # sequence of placeholder hash characters (#) with each character corresponding
         | 
| 4886 4848 | 
             
                    # to one digit of the generated instance name. Example: name_pattern of inst-####
         | 
| 4887 | 
            -
                    # will generate instance names  | 
| 4849 | 
            +
                    # will generate instance names such as inst-0001, inst-0002, ... . If there
         | 
| 4888 4850 | 
             
                    # already exist instance(s) whose names match the name pattern in the same
         | 
| 4889 4851 | 
             
                    # project and zone, then the generated instance numbers will start after the
         | 
| 4890 4852 | 
             
                    # biggest existing number. For example, if there exists an instance with name
         | 
| @@ -4901,11 +4863,17 @@ module Google | |
| 4901 4863 | 
             
                    # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
         | 
| 4902 4864 | 
             
                    attr_accessor :per_instance_properties
         | 
| 4903 4865 |  | 
| 4904 | 
            -
                    #  | 
| 4866 | 
            +
                    # DEPRECATED: Please use per_instance_properties instead.
         | 
| 4905 4867 | 
             
                    # Corresponds to the JSON property `predefinedNames`
         | 
| 4906 4868 | 
             
                    # @return [Array<String>]
         | 
| 4907 4869 | 
             
                    attr_accessor :predefined_names
         | 
| 4908 4870 |  | 
| 4871 | 
            +
                    # Secure tags to apply to this instance. These can be later modified by the
         | 
| 4872 | 
            +
                    # update method. Maximum number of secure tags allowed is 300.
         | 
| 4873 | 
            +
                    # Corresponds to the JSON property `secureTags`
         | 
| 4874 | 
            +
                    # @return [Array<String>]
         | 
| 4875 | 
            +
                    attr_accessor :secure_tags
         | 
| 4876 | 
            +
                  
         | 
| 4909 4877 | 
             
                    # Specifies the instance template from which to create instances. You may
         | 
| 4910 4878 | 
             
                    # combine sourceInstanceTemplate with instanceProperties to override specific
         | 
| 4911 4879 | 
             
                    # values from an existing instance template. Bulk API follows the semantics of
         | 
| @@ -4935,6 +4903,7 @@ module Google | |
| 4935 4903 | 
             
                      @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
         | 
| 4936 4904 | 
             
                      @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
         | 
| 4937 4905 | 
             
                      @predefined_names = args[:predefined_names] if args.key?(:predefined_names)
         | 
| 4906 | 
            +
                      @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
         | 
| 4938 4907 | 
             
                      @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
         | 
| 4939 4908 | 
             
                    end
         | 
| 4940 4909 | 
             
                  end
         | 
| @@ -4996,6 +4965,17 @@ module Google | |
| 4996 4965 | 
             
                    attr_accessor :include_host
         | 
| 4997 4966 | 
             
                    alias_method :include_host?, :include_host
         | 
| 4998 4967 |  | 
| 4968 | 
            +
                    # Allows HTTP request headers (by name) to be used in the cache key.
         | 
| 4969 | 
            +
                    # Corresponds to the JSON property `includeHttpHeaders`
         | 
| 4970 | 
            +
                    # @return [Array<String>]
         | 
| 4971 | 
            +
                    attr_accessor :include_http_headers
         | 
| 4972 | 
            +
                  
         | 
| 4973 | 
            +
                    # Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
         | 
| 4974 | 
            +
                    # will be used in the cache key Cloud CDN generates.
         | 
| 4975 | 
            +
                    # Corresponds to the JSON property `includeNamedCookies`
         | 
| 4976 | 
            +
                    # @return [Array<String>]
         | 
| 4977 | 
            +
                    attr_accessor :include_named_cookies
         | 
| 4978 | 
            +
                  
         | 
| 4999 4979 | 
             
                    # If true, http and https requests will be cached separately.
         | 
| 5000 4980 | 
             
                    # Corresponds to the JSON property `includeProtocol`
         | 
| 5001 4981 | 
             
                    # @return [Boolean]
         | 
| @@ -5034,6 +5014,8 @@ module Google | |
| 5034 5014 | 
             
                    # Update properties of this object
         | 
| 5035 5015 | 
             
                    def update!(**args)
         | 
| 5036 5016 | 
             
                      @include_host = args[:include_host] if args.key?(:include_host)
         | 
| 5017 | 
            +
                      @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
         | 
| 5018 | 
            +
                      @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
         | 
| 5037 5019 | 
             
                      @include_protocol = args[:include_protocol] if args.key?(:include_protocol)
         | 
| 5038 5020 | 
             
                      @include_query_string = args[:include_query_string] if args.key?(:include_query_string)
         | 
| 5039 5021 | 
             
                      @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
         | 
| @@ -8803,17 +8785,6 @@ module Google | |
| 8803 8785 | 
             
                    # @return [Array<String>]
         | 
| 8804 8786 | 
             
                    attr_accessor :target_resources
         | 
| 8805 8787 |  | 
| 8806 | 
            -
                    # A list of secure labels that controls which instances the firewall rule
         | 
| 8807 | 
            -
                    # applies to. If targetSecureLabel are specified, then the firewall rule applies
         | 
| 8808 | 
            -
                    # only to instances in the VPC network that have one of those secure labels.
         | 
| 8809 | 
            -
                    # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
         | 
| 8810 | 
            -
                    # neither targetServiceAccounts nor targetSecureLabel are specified, the
         | 
| 8811 | 
            -
                    # firewall rule applies to all instances on the specified network. Maximum
         | 
| 8812 | 
            -
                    # number of target label values allowed is 256.
         | 
| 8813 | 
            -
                    # Corresponds to the JSON property `targetSecureLabels`
         | 
| 8814 | 
            -
                    # @return [Array<String>]
         | 
| 8815 | 
            -
                    attr_accessor :target_secure_labels
         | 
| 8816 | 
            -
                  
         | 
| 8817 8788 | 
             
                    # A list of secure tags that controls which instances the firewall rule applies
         | 
| 8818 8789 | 
             
                    # to. If targetSecureTag are specified, then the firewall rule applies only to
         | 
| 8819 8790 | 
             
                    # instances in the VPC network that have one of those EFFECTIVE secure tags, if
         | 
| @@ -8848,7 +8819,6 @@ module Google | |
| 8848 8819 | 
             
                      @priority = args[:priority] if args.key?(:priority)
         | 
| 8849 8820 | 
             
                      @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
         | 
| 8850 8821 | 
             
                      @target_resources = args[:target_resources] if args.key?(:target_resources)
         | 
| 8851 | 
            -
                      @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
         | 
| 8852 8822 | 
             
                      @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
         | 
| 8853 8823 | 
             
                      @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
         | 
| 8854 8824 | 
             
                    end
         | 
| @@ -8875,12 +8845,6 @@ module Google | |
| 8875 8845 | 
             
                    # @return [Array<String>]
         | 
| 8876 8846 | 
             
                    attr_accessor :src_ip_ranges
         | 
| 8877 8847 |  | 
| 8878 | 
            -
                    # List of firewall label values, which should be matched at the source of the
         | 
| 8879 | 
            -
                    # traffic. Maximum number of source label values allowed is 256.
         | 
| 8880 | 
            -
                    # Corresponds to the JSON property `srcSecureLabels`
         | 
| 8881 | 
            -
                    # @return [Array<String>]
         | 
| 8882 | 
            -
                    attr_accessor :src_secure_labels
         | 
| 8883 | 
            -
                  
         | 
| 8884 8848 | 
             
                    # List of secure tag values, which should be matched at the source of the
         | 
| 8885 8849 | 
             
                    # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
         | 
| 8886 8850 | 
             
                    # is no srcIpRange, this rule will be ignored. Maximum number of source tag
         | 
| @@ -8898,7 +8862,6 @@ module Google | |
| 8898 8862 | 
             
                      @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
         | 
| 8899 8863 | 
             
                      @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
         | 
| 8900 8864 | 
             
                      @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
         | 
| 8901 | 
            -
                      @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
         | 
| 8902 8865 | 
             
                      @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
         | 
| 8903 8866 | 
             
                    end
         | 
| 8904 8867 | 
             
                  end
         | 
| @@ -9264,6 +9227,11 @@ module Google | |
| 9264 9227 | 
             
                    # @return [Fixnum]
         | 
| 9265 9228 | 
             
                    attr_accessor :psc_connection_id
         | 
| 9266 9229 |  | 
| 9230 | 
            +
                    # 
         | 
| 9231 | 
            +
                    # Corresponds to the JSON property `pscConnectionStatus`
         | 
| 9232 | 
            +
                    # @return [String]
         | 
| 9233 | 
            +
                    attr_accessor :psc_connection_status
         | 
| 9234 | 
            +
                  
         | 
| 9267 9235 | 
             
                    # [Output Only] URL of the region where the regional forwarding rule resides.
         | 
| 9268 9236 | 
             
                    # This field is not applicable to global forwarding rules. You must specify this
         | 
| 9269 9237 | 
             
                    # field as part of the HTTP request URL. It is not settable as a field in the
         | 
| @@ -9352,6 +9320,7 @@ module Google | |
| 9352 9320 | 
             
                      @port_range = args[:port_range] if args.key?(:port_range)
         | 
| 9353 9321 | 
             
                      @ports = args[:ports] if args.key?(:ports)
         | 
| 9354 9322 | 
             
                      @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
         | 
| 9323 | 
            +
                      @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
         | 
| 9355 9324 | 
             
                      @region = args[:region] if args.key?(:region)
         | 
| 9356 9325 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 9357 9326 | 
             
                      @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
         | 
| @@ -13843,12 +13812,6 @@ module Google | |
| 13843 13812 | 
             
                    # @return [Google::Apis::ComputeAlpha::Scheduling]
         | 
| 13844 13813 | 
             
                    attr_accessor :scheduling
         | 
| 13845 13814 |  | 
| 13846 | 
            -
                    # Secure labels to apply to this instance. These can be later modified by the
         | 
| 13847 | 
            -
                    # update method. Maximum number of secure labels allowed is 300.
         | 
| 13848 | 
            -
                    # Corresponds to the JSON property `secureLabels`
         | 
| 13849 | 
            -
                    # @return [Array<String>]
         | 
| 13850 | 
            -
                    attr_accessor :secure_labels
         | 
| 13851 | 
            -
                  
         | 
| 13852 13815 | 
             
                    # Secure tags to apply to this instance. These can be later modified by the
         | 
| 13853 13816 | 
             
                    # update method. Maximum number of secure tags allowed is 300.
         | 
| 13854 13817 | 
             
                    # Corresponds to the JSON property `secureTags`
         | 
| @@ -13985,7 +13948,6 @@ module Google | |
| 13985 13948 | 
             
                      @resource_status = args[:resource_status] if args.key?(:resource_status)
         | 
| 13986 13949 | 
             
                      @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
         | 
| 13987 13950 | 
             
                      @scheduling = args[:scheduling] if args.key?(:scheduling)
         | 
| 13988 | 
            -
                      @secure_labels = args[:secure_labels] if args.key?(:secure_labels)
         | 
| 13989 13951 | 
             
                      @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
         | 
| 13990 13952 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 13991 13953 | 
             
                      @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
         | 
| @@ -18232,6 +18194,17 @@ module Google | |
| 18232 18194 | 
             
                    # @return [String]
         | 
| 18233 18195 | 
             
                    attr_accessor :bandwidth
         | 
| 18234 18196 |  | 
| 18197 | 
            +
                    # Up to 16 candidate prefixes that control the allocation of
         | 
| 18198 | 
            +
                    # cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
         | 
| 18199 | 
            +
                    # prefix must be in the Global Unique Address (GUA) space. It is highly
         | 
| 18200 | 
            +
                    # recommended that it be in a range owned by the requestor. A GUA in a range
         | 
| 18201 | 
            +
                    # owned by Google will cause the request to fail. Google will select an
         | 
| 18202 | 
            +
                    # available prefix from the supplied candidates or fail the request. If not
         | 
| 18203 | 
            +
                    # supplied, a /125 from a Google-owned GUA block will be selected.
         | 
| 18204 | 
            +
                    # Corresponds to the JSON property `candidateIpv6Subnets`
         | 
| 18205 | 
            +
                    # @return [Array<String>]
         | 
| 18206 | 
            +
                    attr_accessor :candidate_ipv6_subnets
         | 
| 18207 | 
            +
                  
         | 
| 18235 18208 | 
             
                    # Up to 16 candidate prefixes that can be used to restrict the allocation of
         | 
| 18236 18209 | 
             
                    # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
         | 
| 18237 18210 | 
             
                    # prefixes must be within link-local address space (169.254.0.0/16) and must be /
         | 
| @@ -18249,6 +18222,20 @@ module Google | |
| 18249 18222 | 
             
                    # @return [String]
         | 
| 18250 18223 | 
             
                    attr_accessor :cloud_router_ip_address
         | 
| 18251 18224 |  | 
| 18225 | 
            +
                    # [Output Only] IPv6 address + prefix length to be configured on Cloud Router
         | 
| 18226 | 
            +
                    # Interface for this interconnect attachment.
         | 
| 18227 | 
            +
                    # Corresponds to the JSON property `cloudRouterIpv6Address`
         | 
| 18228 | 
            +
                    # @return [String]
         | 
| 18229 | 
            +
                    attr_accessor :cloud_router_ipv6_address
         | 
| 18230 | 
            +
                  
         | 
| 18231 | 
            +
                    # If supplied, the interface id (index within the subnet) to be used for the
         | 
| 18232 | 
            +
                    # cloud router address. The id must be in the range of 1 to 6. If a subnet mask
         | 
| 18233 | 
            +
                    # is supplied, it must be /125, and the subnet should either be 0 or match the
         | 
| 18234 | 
            +
                    # selected subnet.
         | 
| 18235 | 
            +
                    # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
         | 
| 18236 | 
            +
                    # @return [String]
         | 
| 18237 | 
            +
                    attr_accessor :cloud_router_ipv6_interface_id
         | 
| 18238 | 
            +
                  
         | 
| 18252 18239 | 
             
                    # [Output Only] Creation timestamp in RFC3339 text format.
         | 
| 18253 18240 | 
             
                    # Corresponds to the JSON property `creationTimestamp`
         | 
| 18254 18241 | 
             
                    # @return [String]
         | 
| @@ -18260,6 +18247,20 @@ module Google | |
| 18260 18247 | 
             
                    # @return [String]
         | 
| 18261 18248 | 
             
                    attr_accessor :customer_router_ip_address
         | 
| 18262 18249 |  | 
| 18250 | 
            +
                    # [Output Only] IPv6 address + prefix length to be configured on the customer
         | 
| 18251 | 
            +
                    # router subinterface for this interconnect attachment.
         | 
| 18252 | 
            +
                    # Corresponds to the JSON property `customerRouterIpv6Address`
         | 
| 18253 | 
            +
                    # @return [String]
         | 
| 18254 | 
            +
                    attr_accessor :customer_router_ipv6_address
         | 
| 18255 | 
            +
                  
         | 
| 18256 | 
            +
                    # If supplied, the interface id (index within the subnet) to be used for the
         | 
| 18257 | 
            +
                    # customer router address. The id must be in the range of 1 to 6. If a subnet
         | 
| 18258 | 
            +
                    # mask is supplied, it must be /125, and the subnet should either be 0 or match
         | 
| 18259 | 
            +
                    # the selected subnet.
         | 
| 18260 | 
            +
                    # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
         | 
| 18261 | 
            +
                    # @return [String]
         | 
| 18262 | 
            +
                    attr_accessor :customer_router_ipv6_interface_id
         | 
| 18263 | 
            +
                  
         | 
| 18263 18264 | 
             
                    # [Output Only] Dataplane version for this InterconnectAttachment.
         | 
| 18264 18265 | 
             
                    # Corresponds to the JSON property `dataplaneVersion`
         | 
| 18265 18266 | 
             
                    # @return [Fixnum]
         | 
| @@ -18319,8 +18320,8 @@ module Google | |
| 18319 18320 | 
             
                    # only for interconnect attachment that has the encryption option as IPSEC. The
         | 
| 18320 18321 | 
             
                    # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
         | 
| 18321 18322 | 
             
                    # over the interconnect attachment, if the attachment is configured to use an
         | 
| 18322 | 
            -
                    # RFC 1918 IP address, then the VPN gateway | 
| 18323 | 
            -
                    # the IP address range specified here. For example, if the HA VPN gateway | 
| 18323 | 
            +
                    # RFC 1918 IP address, then the VPN gateway's IP address will be allocated from
         | 
| 18324 | 
            +
                    # the IP address range specified here. For example, if the HA VPN gateway's
         | 
| 18324 18325 | 
             
                    # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
         | 
| 18325 18326 | 
             
                    # address for the VPN gateway interface 0 will be allocated from the IP address
         | 
| 18326 18327 | 
             
                    # specified for this interconnect attachment. If this field is not specified for
         | 
| @@ -18437,6 +18438,14 @@ module Google | |
| 18437 18438 | 
             
                    # @return [String]
         | 
| 18438 18439 | 
             
                    attr_accessor :self_link_with_id
         | 
| 18439 18440 |  | 
| 18441 | 
            +
                    # The stack type for this interconnect attachment to identify whether the IPv6
         | 
| 18442 | 
            +
                    # feature is enabled or not. If not specified, IPV4_ONLY will be used.
         | 
| 18443 | 
            +
                    # This field can be both set at interconnect attachments creation and update
         | 
| 18444 | 
            +
                    # interconnect attachment operations.
         | 
| 18445 | 
            +
                    # Corresponds to the JSON property `stackType`
         | 
| 18446 | 
            +
                    # @return [String]
         | 
| 18447 | 
            +
                    attr_accessor :stack_type
         | 
| 18448 | 
            +
                  
         | 
| 18440 18449 | 
             
                    # [Output Only] The current state of this attachment's functionality. Enum
         | 
| 18441 18450 | 
             
                    # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
         | 
| 18442 18451 | 
             
                    # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
         | 
| @@ -18484,10 +18493,15 @@ module Google | |
| 18484 18493 | 
             
                    def update!(**args)
         | 
| 18485 18494 | 
             
                      @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
         | 
| 18486 18495 | 
             
                      @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
         | 
| 18496 | 
            +
                      @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
         | 
| 18487 18497 | 
             
                      @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
         | 
| 18488 18498 | 
             
                      @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
         | 
| 18499 | 
            +
                      @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
         | 
| 18500 | 
            +
                      @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
         | 
| 18489 18501 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 18490 18502 | 
             
                      @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
         | 
| 18503 | 
            +
                      @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
         | 
| 18504 | 
            +
                      @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
         | 
| 18491 18505 | 
             
                      @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
         | 
| 18492 18506 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 18493 18507 | 
             
                      @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
         | 
| @@ -18510,6 +18524,7 @@ module Google | |
| 18510 18524 | 
             
                      @router = args[:router] if args.key?(:router)
         | 
| 18511 18525 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 18512 18526 | 
             
                      @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
         | 
| 18527 | 
            +
                      @stack_type = args[:stack_type] if args.key?(:stack_type)
         | 
| 18513 18528 | 
             
                      @state = args[:state] if args.key?(:state)
         | 
| 18514 18529 | 
             
                      @type = args[:type] if args.key?(:type)
         | 
| 18515 18530 | 
             
                      @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
         | 
| @@ -20418,7 +20433,7 @@ module Google | |
| 20418 20433 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 20419 20434 |  | 
| 20420 20435 | 
             
                    # Location configurations mapped by location name. Currently only zone names are
         | 
| 20421 | 
            -
                    # supported and must be represented as valid internal URLs,  | 
| 20436 | 
            +
                    # supported and must be represented as valid internal URLs, such as zones/us-
         | 
| 20422 20437 | 
             
                    # central1-a.
         | 
| 20423 20438 | 
             
                    # Corresponds to the JSON property `locations`
         | 
| 20424 20439 | 
             
                    # @return [Hash<String,Google::Apis::ComputeAlpha::LocationPolicyLocation>]
         | 
| @@ -20438,7 +20453,7 @@ module Google | |
| 20438 20453 | 
             
                  class LocationPolicyLocation
         | 
| 20439 20454 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 20440 20455 |  | 
| 20441 | 
            -
                    # 
         | 
| 20456 | 
            +
                    # Preference for a given locaction: ALLOW or DENY.
         | 
| 20442 20457 | 
             
                    # Corresponds to the JSON property `preference`
         | 
| 20443 20458 | 
             
                    # @return [String]
         | 
| 20444 20459 | 
             
                    attr_accessor :preference
         | 
| @@ -21424,6 +21439,13 @@ module Google | |
| 21424 21439 | 
             
                    # @return [String]
         | 
| 21425 21440 | 
             
                    attr_accessor :tag
         | 
| 21426 21441 |  | 
| 21442 | 
            +
                    # [Output Only] The eventual status of the instance. The instance group manager
         | 
| 21443 | 
            +
                    # will not be identified as stable till each managed instance reaches its
         | 
| 21444 | 
            +
                    # targetStatus.
         | 
| 21445 | 
            +
                    # Corresponds to the JSON property `targetStatus`
         | 
| 21446 | 
            +
                    # @return [String]
         | 
| 21447 | 
            +
                    attr_accessor :target_status
         | 
| 21448 | 
            +
                  
         | 
| 21427 21449 | 
             
                    # [Output Only] Intended version of this instance.
         | 
| 21428 21450 | 
             
                    # Corresponds to the JSON property `version`
         | 
| 21429 21451 | 
             
                    # @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
         | 
| @@ -21445,6 +21467,7 @@ module Google | |
| 21445 21467 | 
             
                      @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
         | 
| 21446 21468 | 
             
                      @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
         | 
| 21447 21469 | 
             
                      @tag = args[:tag] if args.key?(:tag)
         | 
| 21470 | 
            +
                      @target_status = args[:target_status] if args.key?(:target_status)
         | 
| 21448 21471 | 
             
                      @version = args[:version] if args.key?(:version)
         | 
| 21449 21472 | 
             
                    end
         | 
| 21450 21473 | 
             
                  end
         | 
| @@ -22105,8 +22128,8 @@ module Google | |
| 22105 22128 | 
             
                    # @return [String]
         | 
| 22106 22129 | 
             
                    attr_accessor :self_link_with_id
         | 
| 22107 22130 |  | 
| 22108 | 
            -
                    # Configuration for a  | 
| 22109 | 
            -
                    #  | 
| 22131 | 
            +
                    # Configuration for a serverless network endpoint group (NEG). The platform must
         | 
| 22132 | 
            +
                    # be provided.
         | 
| 22110 22133 | 
             
                    # Note: The target backend service must be in the same project and located in
         | 
| 22111 22134 | 
             
                    # the same region as the Serverless NEG.
         | 
| 22112 22135 | 
             
                    # Corresponds to the JSON property `serverlessDeployment`
         | 
| @@ -22578,8 +22601,8 @@ module Google | |
| 22578 22601 | 
             
                    end
         | 
| 22579 22602 | 
             
                  end
         | 
| 22580 22603 |  | 
| 22581 | 
            -
                  # Configuration for a  | 
| 22582 | 
            -
                  #  | 
| 22604 | 
            +
                  # Configuration for a serverless network endpoint group (NEG). The platform must
         | 
| 22605 | 
            +
                  # be provided.
         | 
| 22583 22606 | 
             
                  # Note: The target backend service must be in the same project and located in
         | 
| 22584 22607 | 
             
                  # the same region as the Serverless NEG.
         | 
| 22585 22608 | 
             
                  class NetworkEndpointGroupServerlessDeployment
         | 
| @@ -22587,10 +22610,10 @@ module Google | |
| 22587 22610 |  | 
| 22588 22611 | 
             
                    # The platform of the backend target(s) of this NEG. Possible values include:
         | 
| 22589 22612 | 
             
                    # 
         | 
| 22590 | 
            -
                    # - apigateway.googleapis.com
         | 
| 22591 | 
            -
                    # - appengine. | 
| 22592 | 
            -
                    # - cloudfunctions.googleapis.com
         | 
| 22593 | 
            -
                    # - run.googleapis.com
         | 
| 22613 | 
            +
                    # - API Gateway: apigateway.googleapis.com
         | 
| 22614 | 
            +
                    # - App Engine: appengine.googleapis.com
         | 
| 22615 | 
            +
                    # - Cloud Functions: cloudfunctions.googleapis.com
         | 
| 22616 | 
            +
                    # - Cloud Run: run.googleapis.com
         | 
| 22594 22617 | 
             
                    # Corresponds to the JSON property `platform`
         | 
| 22595 22618 | 
             
                    # @return [String]
         | 
| 22596 22619 | 
             
                    attr_accessor :platform
         | 
| @@ -22599,8 +22622,8 @@ module Google | |
| 22599 22622 | 
             
                    # explicitly or in the urlMask. The resource identified by this value is
         | 
| 22600 22623 | 
             
                    # platform-specific and is as follows:
         | 
| 22601 22624 | 
             
                    # 
         | 
| 22602 | 
            -
                    # - API Gateway: The gateway  | 
| 22603 | 
            -
                    # -  | 
| 22625 | 
            +
                    # - API Gateway: The gateway ID
         | 
| 22626 | 
            +
                    # - App Engine: The service name
         | 
| 22604 22627 | 
             
                    # - Cloud Functions: The function name
         | 
| 22605 22628 | 
             
                    # - Cloud Run: The service name
         | 
| 22606 22629 | 
             
                    # Corresponds to the JSON property `resource`
         | 
| @@ -22608,23 +22631,24 @@ module Google | |
| 22608 22631 | 
             
                    attr_accessor :resource
         | 
| 22609 22632 |  | 
| 22610 22633 | 
             
                    # A template to parse platform-specific fields from a request URL. URL mask
         | 
| 22611 | 
            -
                    # allows for routing to multiple  | 
| 22612 | 
            -
                    # without having to create multiple Network Endpoint Groups and backend | 
| 22613 | 
            -
                    # The fields parsed by this template  | 
| 22634 | 
            +
                    # allows for routing to multiple resources on the same serverless platform
         | 
| 22635 | 
            +
                    # without having to create multiple Network Endpoint Groups and backend
         | 
| 22636 | 
            +
                    # resources. The fields parsed by this template are platform-specific and are as
         | 
| 22637 | 
            +
                    # follows:
         | 
| 22614 22638 | 
             
                    # 
         | 
| 22615 | 
            -
                    # - API Gateway: The gateway  | 
| 22616 | 
            -
                    # -  | 
| 22617 | 
            -
                    # - Cloud Functions: The function
         | 
| 22639 | 
            +
                    # - API Gateway: The gateway ID
         | 
| 22640 | 
            +
                    # - App Engine: The service and version
         | 
| 22641 | 
            +
                    # - Cloud Functions: The function name
         | 
| 22618 22642 | 
             
                    # - Cloud Run: The service and tag
         | 
| 22619 22643 | 
             
                    # Corresponds to the JSON property `urlMask`
         | 
| 22620 22644 | 
             
                    # @return [String]
         | 
| 22621 22645 | 
             
                    attr_accessor :url_mask
         | 
| 22622 22646 |  | 
| 22623 | 
            -
                    # The optional resource version. The version identified by this value is | 
| 22647 | 
            +
                    # The optional resource version. The version identified by this value is
         | 
| 22624 22648 | 
             
                    # platform-specific and is follows:
         | 
| 22625 22649 | 
             
                    # 
         | 
| 22626 22650 | 
             
                    # - API Gateway: Unused
         | 
| 22627 | 
            -
                    # -  | 
| 22651 | 
            +
                    # - App Engine: The service version
         | 
| 22628 22652 | 
             
                    # - Cloud Functions: Unused
         | 
| 22629 22653 | 
             
                    # - Cloud Run: The service tag
         | 
| 22630 22654 | 
             
                    # Corresponds to the JSON property `version`
         | 
| @@ -25895,41 +25919,6 @@ module Google | |
| 25895 25919 | 
             
                    # @return [String]
         | 
| 25896 25920 | 
             
                    attr_accessor :kind
         | 
| 25897 25921 |  | 
| 25898 | 
            -
                    # `Any` contains an arbitrary serialized protocol buffer message along with a
         | 
| 25899 | 
            -
                    # URL that describes the type of the serialized message.
         | 
| 25900 | 
            -
                    # Protobuf library provides support to pack/unpack Any values in the form of
         | 
| 25901 | 
            -
                    # utility functions or additional generated methods of the Any type.
         | 
| 25902 | 
            -
                    # Example 1: Pack and unpack a message in C++.
         | 
| 25903 | 
            -
                    # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
         | 
| 25904 | 
            -
                    # Example 2: Pack and unpack a message in Java.
         | 
| 25905 | 
            -
                    # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
         | 
| 25906 | 
            -
                    # unpack(Foo.class); `
         | 
| 25907 | 
            -
                    # Example 3: Pack and unpack a message in Python.
         | 
| 25908 | 
            -
                    # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
         | 
| 25909 | 
            -
                    # Unpack(foo) ...
         | 
| 25910 | 
            -
                    # Example 4: Pack and unpack a message in Go
         | 
| 25911 | 
            -
                    # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
         | 
| 25912 | 
            -
                    # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
         | 
| 25913 | 
            -
                    # The pack methods provided by protobuf library will by default use 'type.
         | 
| 25914 | 
            -
                    # googleapis.com/full.type.name' as the type URL and the unpack methods only use
         | 
| 25915 | 
            -
                    # the fully qualified type name after the last '/' in the type URL, for example "
         | 
| 25916 | 
            -
                    # foo.bar.com/x/y.z" will yield type name "y.z".
         | 
| 25917 | 
            -
                    # JSON ==== The JSON representation of an `Any` value uses the regular
         | 
| 25918 | 
            -
                    # representation of the deserialized, embedded message, with an additional field
         | 
| 25919 | 
            -
                    # `@type` which contains the type URL. Example:
         | 
| 25920 | 
            -
                    # package google.profile; message Person ` string first_name = 1; string
         | 
| 25921 | 
            -
                    # last_name = 2; `
         | 
| 25922 | 
            -
                    # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
         | 
| 25923 | 
            -
                    # lastName":  `
         | 
| 25924 | 
            -
                    # If the embedded message type is well-known and has a custom JSON
         | 
| 25925 | 
            -
                    # representation, that representation will be embedded adding a field `value`
         | 
| 25926 | 
            -
                    # which holds the custom JSON in addition to the `@type` field. Example (for
         | 
| 25927 | 
            -
                    # message [google.protobuf.Duration][]):
         | 
| 25928 | 
            -
                    # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
         | 
| 25929 | 
            -
                    # Corresponds to the JSON property `metadata`
         | 
| 25930 | 
            -
                    # @return [Google::Apis::ComputeAlpha::Any]
         | 
| 25931 | 
            -
                    attr_accessor :metadata
         | 
| 25932 | 
            -
                  
         | 
| 25933 25922 | 
             
                    # [Output Only] Name of the operation.
         | 
| 25934 25923 | 
             
                    # Corresponds to the JSON property `name`
         | 
| 25935 25924 | 
             
                    # @return [String]
         | 
| @@ -26036,7 +26025,6 @@ module Google | |
| 26036 26025 | 
             
                      @id = args[:id] if args.key?(:id)
         | 
| 26037 26026 | 
             
                      @insert_time = args[:insert_time] if args.key?(:insert_time)
         | 
| 26038 26027 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 26039 | 
            -
                      @metadata = args[:metadata] if args.key?(:metadata)
         | 
| 26040 26028 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 26041 26029 | 
             
                      @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
         | 
| 26042 26030 | 
             
                      @operation_type = args[:operation_type] if args.key?(:operation_type)
         | 
| @@ -32466,6 +32454,12 @@ module Google | |
| 32466 32454 | 
             
                    # @return [Fixnum]
         | 
| 32467 32455 | 
             
                    attr_accessor :id
         | 
| 32468 32456 |  | 
| 32457 | 
            +
                    # ILB route behavior when ILB is deemed unhealthy based on user specified
         | 
| 32458 | 
            +
                    # threshold on the Backend Service of the internal load balancing.
         | 
| 32459 | 
            +
                    # Corresponds to the JSON property `ilbRouteBehaviorOnUnhealthy`
         | 
| 32460 | 
            +
                    # @return [String]
         | 
| 32461 | 
            +
                    attr_accessor :ilb_route_behavior_on_unhealthy
         | 
| 32462 | 
            +
                  
         | 
| 32469 32463 | 
             
                    # [Output Only] Type of this resource. Always compute#routes for Route resources.
         | 
| 32470 32464 | 
             
                    # Corresponds to the JSON property `kind`
         | 
| 32471 32465 | 
             
                    # @return [String]
         | 
| @@ -32581,6 +32575,7 @@ module Google | |
| 32581 32575 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 32582 32576 | 
             
                      @dest_range = args[:dest_range] if args.key?(:dest_range)
         | 
| 32583 32577 | 
             
                      @id = args[:id] if args.key?(:id)
         | 
| 32578 | 
            +
                      @ilb_route_behavior_on_unhealthy = args[:ilb_route_behavior_on_unhealthy] if args.key?(:ilb_route_behavior_on_unhealthy)
         | 
| 32584 32579 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 32585 32580 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 32586 32581 | 
             
                      @network = args[:network] if args.key?(:network)
         | 
| @@ -33155,6 +33150,12 @@ module Google | |
| 33155 33150 | 
             
                    # @return [String]
         | 
| 33156 33151 | 
             
                    attr_accessor :enable
         | 
| 33157 33152 |  | 
| 33153 | 
            +
                    # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
         | 
| 33154 | 
            +
                    # Corresponds to the JSON property `enableIpv6`
         | 
| 33155 | 
            +
                    # @return [Boolean]
         | 
| 33156 | 
            +
                    attr_accessor :enable_ipv6
         | 
| 33157 | 
            +
                    alias_method :enable_ipv6?, :enable_ipv6
         | 
| 33158 | 
            +
                  
         | 
| 33158 33159 | 
             
                    # Name of the interface the BGP peer is associated with.
         | 
| 33159 33160 | 
             
                    # Corresponds to the JSON property `interfaceName`
         | 
| 33160 33161 | 
             
                    # @return [String]
         | 
| @@ -33166,6 +33167,11 @@ module Google | |
| 33166 33167 | 
             
                    # @return [String]
         | 
| 33167 33168 | 
             
                    attr_accessor :ip_address
         | 
| 33168 33169 |  | 
| 33170 | 
            +
                    # IPv6 address of the interface inside Google Cloud Platform.
         | 
| 33171 | 
            +
                    # Corresponds to the JSON property `ipv6NexthopAddress`
         | 
| 33172 | 
            +
                    # @return [String]
         | 
| 33173 | 
            +
                    attr_accessor :ipv6_nexthop_address
         | 
| 33174 | 
            +
                  
         | 
| 33169 33175 | 
             
                    # [Output Only] The resource that configures and manages this BGP peer.
         | 
| 33170 33176 | 
             
                    # - MANAGED_BY_USER is the default value and can be managed by you or other
         | 
| 33171 33177 | 
             
                    # users
         | 
| @@ -33199,6 +33205,11 @@ module Google | |
| 33199 33205 | 
             
                    # @return [String]
         | 
| 33200 33206 | 
             
                    attr_accessor :peer_ip_address
         | 
| 33201 33207 |  | 
| 33208 | 
            +
                    # IPv6 address of the BGP interface outside Google Cloud Platform.
         | 
| 33209 | 
            +
                    # Corresponds to the JSON property `peerIpv6NexthopAddress`
         | 
| 33210 | 
            +
                    # @return [String]
         | 
| 33211 | 
            +
                    attr_accessor :peer_ipv6_nexthop_address
         | 
| 33212 | 
            +
                  
         | 
| 33202 33213 | 
             
                    # URI of the VM instance that is used as third-party router appliances such as
         | 
| 33203 33214 | 
             
                    # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
         | 
| 33204 33215 | 
             
                    # must be located in zones contained in the same region as this Cloud Router.
         | 
| @@ -33219,12 +33230,15 @@ module Google | |
| 33219 33230 | 
             
                      @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
         | 
| 33220 33231 | 
             
                      @bfd = args[:bfd] if args.key?(:bfd)
         | 
| 33221 33232 | 
             
                      @enable = args[:enable] if args.key?(:enable)
         | 
| 33233 | 
            +
                      @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
         | 
| 33222 33234 | 
             
                      @interface_name = args[:interface_name] if args.key?(:interface_name)
         | 
| 33223 33235 | 
             
                      @ip_address = args[:ip_address] if args.key?(:ip_address)
         | 
| 33236 | 
            +
                      @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
         | 
| 33224 33237 | 
             
                      @management_type = args[:management_type] if args.key?(:management_type)
         | 
| 33225 33238 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 33226 33239 | 
             
                      @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
         | 
| 33227 33240 | 
             
                      @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
         | 
| 33241 | 
            +
                      @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
         | 
| 33228 33242 | 
             
                      @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
         | 
| 33229 33243 | 
             
                    end
         | 
| 33230 33244 | 
             
                  end
         | 
| @@ -33545,6 +33559,19 @@ module Google | |
| 33545 33559 | 
             
                    # @return [Array<String>]
         | 
| 33546 33560 | 
             
                    attr_accessor :drain_nat_ips
         | 
| 33547 33561 |  | 
| 33562 | 
            +
                    # Enable Dynamic Port Allocation.
         | 
| 33563 | 
            +
                    # If not specified, it is disabled by default.
         | 
| 33564 | 
            +
                    # If set to true,
         | 
| 33565 | 
            +
                    # - Dynamic Port Allocation will be enabled on this NAT config.
         | 
| 33566 | 
            +
                    # - enableEndpointIndependentMapping cannot be set to true.
         | 
| 33567 | 
            +
                    # - If minPorts is set, minPortsPerVm must be set to a power of two greater than
         | 
| 33568 | 
            +
                    # or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be
         | 
| 33569 | 
            +
                    # allocated to a VM from this NAT config.
         | 
| 33570 | 
            +
                    # Corresponds to the JSON property `enableDynamicPortAllocation`
         | 
| 33571 | 
            +
                    # @return [Boolean]
         | 
| 33572 | 
            +
                    attr_accessor :enable_dynamic_port_allocation
         | 
| 33573 | 
            +
                    alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
         | 
| 33574 | 
            +
                  
         | 
| 33548 33575 | 
             
                    # 
         | 
| 33549 33576 | 
             
                    # Corresponds to the JSON property `enableEndpointIndependentMapping`
         | 
| 33550 33577 | 
             
                    # @return [Boolean]
         | 
| @@ -33561,6 +33588,18 @@ module Google | |
| 33561 33588 | 
             
                    # @return [Google::Apis::ComputeAlpha::RouterNatLogConfig]
         | 
| 33562 33589 | 
             
                    attr_accessor :log_config
         | 
| 33563 33590 |  | 
| 33591 | 
            +
                    # Maximum number of ports allocated to a VM from this NAT config when Dynamic
         | 
| 33592 | 
            +
                    # Port Allocation is enabled.
         | 
| 33593 | 
            +
                    # If Dynamic Port Allocation is not enabled, this field has no effect.
         | 
| 33594 | 
            +
                    # If Dynamic Port Allocation is enabled, and this field is set, it must be set
         | 
| 33595 | 
            +
                    # to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not
         | 
| 33596 | 
            +
                    # set.
         | 
| 33597 | 
            +
                    # If Dynamic Port Allocation is enabled and this field is not set, a maximum of
         | 
| 33598 | 
            +
                    # 65536 ports will be allocated to a VM from this NAT config.
         | 
| 33599 | 
            +
                    # Corresponds to the JSON property `maxPortsPerVm`
         | 
| 33600 | 
            +
                    # @return [Fixnum]
         | 
| 33601 | 
            +
                    attr_accessor :max_ports_per_vm
         | 
| 33602 | 
            +
                  
         | 
| 33564 33603 | 
             
                    # Minimum number of ports allocated to a VM from this NAT config. If not set, a
         | 
| 33565 33604 | 
             
                    # default number of ports is allocated to a VM. This is rounded up to the
         | 
| 33566 33605 | 
             
                    # nearest power of 2. For example, if the value of this field is 50, at least 64
         | 
| @@ -33647,9 +33686,11 @@ module Google | |
| 33647 33686 | 
             
                    # Update properties of this object
         | 
| 33648 33687 | 
             
                    def update!(**args)
         | 
| 33649 33688 | 
             
                      @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
         | 
| 33689 | 
            +
                      @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
         | 
| 33650 33690 | 
             
                      @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
         | 
| 33651 33691 | 
             
                      @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
         | 
| 33652 33692 | 
             
                      @log_config = args[:log_config] if args.key?(:log_config)
         | 
| 33693 | 
            +
                      @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
         | 
| 33653 33694 | 
             
                      @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
         | 
| 33654 33695 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 33655 33696 | 
             
                      @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
         | 
| @@ -33710,7 +33751,7 @@ module Google | |
| 33710 33751 | 
             
                    attr_accessor :description
         | 
| 33711 33752 |  | 
| 33712 33753 | 
             
                    # CEL expression that specifies the match condition that egress traffic from a
         | 
| 33713 | 
            -
                    # VM is evaluated against. If it evaluates to true, the corresponding  | 
| 33754 | 
            +
                    # VM is evaluated against. If it evaluates to true, the corresponding `action`
         | 
| 33714 33755 | 
             
                    # is enforced.
         | 
| 33715 33756 | 
             
                    # The following examples are valid match expressions:
         | 
| 33716 33757 | 
             
                    # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/
         | 
| @@ -33861,11 +33902,22 @@ module Google | |
| 33861 33902 | 
             
                    # @return [Google::Apis::ComputeAlpha::BfdStatus]
         | 
| 33862 33903 | 
             
                    attr_accessor :bfd_status
         | 
| 33863 33904 |  | 
| 33905 | 
            +
                    # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
         | 
| 33906 | 
            +
                    # Corresponds to the JSON property `enableIpv6`
         | 
| 33907 | 
            +
                    # @return [Boolean]
         | 
| 33908 | 
            +
                    attr_accessor :enable_ipv6
         | 
| 33909 | 
            +
                    alias_method :enable_ipv6?, :enable_ipv6
         | 
| 33910 | 
            +
                  
         | 
| 33864 33911 | 
             
                    # IP address of the local BGP interface.
         | 
| 33865 33912 | 
             
                    # Corresponds to the JSON property `ipAddress`
         | 
| 33866 33913 | 
             
                    # @return [String]
         | 
| 33867 33914 | 
             
                    attr_accessor :ip_address
         | 
| 33868 33915 |  | 
| 33916 | 
            +
                    # IPv6 address of the local BGP interface.
         | 
| 33917 | 
            +
                    # Corresponds to the JSON property `ipv6NexthopAddress`
         | 
| 33918 | 
            +
                    # @return [String]
         | 
| 33919 | 
            +
                    attr_accessor :ipv6_nexthop_address
         | 
| 33920 | 
            +
                  
         | 
| 33869 33921 | 
             
                    # URL of the VPN tunnel that this BGP peer controls.
         | 
| 33870 33922 | 
             
                    # Corresponds to the JSON property `linkedVpnTunnel`
         | 
| 33871 33923 | 
             
                    # @return [String]
         | 
| @@ -33886,6 +33938,11 @@ module Google | |
| 33886 33938 | 
             
                    # @return [String]
         | 
| 33887 33939 | 
             
                    attr_accessor :peer_ip_address
         | 
| 33888 33940 |  | 
| 33941 | 
            +
                    # IPv6 address of the remote BGP interface.
         | 
| 33942 | 
            +
                    # Corresponds to the JSON property `peerIpv6NexthopAddress`
         | 
| 33943 | 
            +
                    # @return [String]
         | 
| 33944 | 
            +
                    attr_accessor :peer_ipv6_nexthop_address
         | 
| 33945 | 
            +
                  
         | 
| 33889 33946 | 
             
                    # [Output only] URI of the VM instance that is used as third-party router
         | 
| 33890 33947 | 
             
                    # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
         | 
| 33891 33948 | 
             
                    # The VM instance is the peer side of the BGP session.
         | 
| @@ -33922,11 +33979,14 @@ module Google | |
| 33922 33979 | 
             
                    def update!(**args)
         | 
| 33923 33980 | 
             
                      @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
         | 
| 33924 33981 | 
             
                      @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
         | 
| 33982 | 
            +
                      @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
         | 
| 33925 33983 | 
             
                      @ip_address = args[:ip_address] if args.key?(:ip_address)
         | 
| 33984 | 
            +
                      @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
         | 
| 33926 33985 | 
             
                      @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
         | 
| 33927 33986 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 33928 33987 | 
             
                      @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
         | 
| 33929 33988 | 
             
                      @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
         | 
| 33989 | 
            +
                      @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
         | 
| 33930 33990 | 
             
                      @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
         | 
| 33931 33991 | 
             
                      @state = args[:state] if args.key?(:state)
         | 
| 33932 33992 | 
             
                      @status = args[:status] if args.key?(:status)
         | 
| @@ -34511,15 +34571,14 @@ module Google | |
| 34511 34571 | 
             
                    # @return [String]
         | 
| 34512 34572 | 
             
                    attr_accessor :location_hint
         | 
| 34513 34573 |  | 
| 34514 | 
            -
                    # Specifies the number of hours after instance creation where the  | 
| 34515 | 
            -
                    #  | 
| 34574 | 
            +
                    # Specifies the number of hours after VM instance creation where the VM won't be
         | 
| 34575 | 
            +
                    # scheduled for maintenance.
         | 
| 34516 34576 | 
             
                    # Corresponds to the JSON property `maintenanceFreezeDurationHours`
         | 
| 34517 34577 | 
             
                    # @return [Fixnum]
         | 
| 34518 34578 | 
             
                    attr_accessor :maintenance_freeze_duration_hours
         | 
| 34519 34579 |  | 
| 34520 | 
            -
                    #  | 
| 34521 | 
            -
                    #  | 
| 34522 | 
            -
                    # See go/stable-fleet-ug for more details.
         | 
| 34580 | 
            +
                    # For more information about maintenance intervals, see Setting maintenance
         | 
| 34581 | 
            +
                    # intervals.
         | 
| 34523 34582 | 
             
                    # Corresponds to the JSON property `maintenanceInterval`
         | 
| 34524 34583 | 
             
                    # @return [String]
         | 
| 34525 34584 | 
             
                    attr_accessor :maintenance_interval
         | 
| @@ -35215,7 +35274,7 @@ module Google | |
| 35215 35274 | 
             
                  class SecurityPolicyRuleHttpHeaderAction
         | 
| 35216 35275 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 35217 35276 |  | 
| 35218 | 
            -
                    # The list of request headers to add or overwrite if they | 
| 35277 | 
            +
                    # The list of request headers to add or overwrite if they're already present.
         | 
| 35219 35278 | 
             
                    # Corresponds to the JSON property `requestHeadersToAdds`
         | 
| 35220 35279 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
         | 
| 35221 35280 | 
             
                    attr_accessor :request_headers_to_adds
         | 
| @@ -35705,10 +35764,16 @@ module Google | |
| 35705 35764 | 
             
                  # A service attachment represents a service that a producer has exposed. It
         | 
| 35706 35765 | 
             
                  # encapsulates the load balancer which fronts the service runs and a list of NAT
         | 
| 35707 35766 | 
             
                  # IP ranges that the producers uses to represent the consumers connecting to the
         | 
| 35708 | 
            -
                  # service. next tag =  | 
| 35767 | 
            +
                  # service. next tag = 19
         | 
| 35709 35768 | 
             
                  class ServiceAttachment
         | 
| 35710 35769 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 35711 35770 |  | 
| 35771 | 
            +
                    # [Output Only] An array of connections for all the consumers connected to this
         | 
| 35772 | 
            +
                    # service attachment.
         | 
| 35773 | 
            +
                    # Corresponds to the JSON property `connectedEndpoints`
         | 
| 35774 | 
            +
                    # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConnectedEndpoint>]
         | 
| 35775 | 
            +
                    attr_accessor :connected_endpoints
         | 
| 35776 | 
            +
                  
         | 
| 35712 35777 | 
             
                    # The connection preference of service attachment. The value can be set to
         | 
| 35713 35778 | 
             
                    # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
         | 
| 35714 35779 | 
             
                    # accepts the connection from consumer forwarding rules.
         | 
| @@ -35716,12 +35781,23 @@ module Google | |
| 35716 35781 | 
             
                    # @return [String]
         | 
| 35717 35782 | 
             
                    attr_accessor :connection_preference
         | 
| 35718 35783 |  | 
| 35784 | 
            +
                    # Projects that are allowed to connect to this service attachment.
         | 
| 35785 | 
            +
                    # Corresponds to the JSON property `consumerAcceptLists`
         | 
| 35786 | 
            +
                    # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerProjectLimit>]
         | 
| 35787 | 
            +
                    attr_accessor :consumer_accept_lists
         | 
| 35788 | 
            +
                  
         | 
| 35719 35789 | 
             
                    # [Output Only] An array of forwarding rules for all the consumers connected to
         | 
| 35720 35790 | 
             
                    # this service attachment.
         | 
| 35721 35791 | 
             
                    # Corresponds to the JSON property `consumerForwardingRules`
         | 
| 35722 35792 | 
             
                    # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerForwardingRule>]
         | 
| 35723 35793 | 
             
                    attr_accessor :consumer_forwarding_rules
         | 
| 35724 35794 |  | 
| 35795 | 
            +
                    # Projects that are not allowed to connect to this service attachment. The
         | 
| 35796 | 
            +
                    # project can be specified using its id or number.
         | 
| 35797 | 
            +
                    # Corresponds to the JSON property `consumerRejectLists`
         | 
| 35798 | 
            +
                    # @return [Array<String>]
         | 
| 35799 | 
            +
                    attr_accessor :consumer_reject_lists
         | 
| 35800 | 
            +
                  
         | 
| 35725 35801 | 
             
                    # [Output Only] Creation timestamp in RFC3339 text format.
         | 
| 35726 35802 | 
             
                    # Corresponds to the JSON property `creationTimestamp`
         | 
| 35727 35803 | 
             
                    # @return [String]
         | 
| @@ -35741,6 +35817,17 @@ module Google | |
| 35741 35817 | 
             
                    attr_accessor :enable_proxy_protocol
         | 
| 35742 35818 | 
             
                    alias_method :enable_proxy_protocol?, :enable_proxy_protocol
         | 
| 35743 35819 |  | 
| 35820 | 
            +
                    # Fingerprint of this resource. A hash of the contents stored in this object.
         | 
| 35821 | 
            +
                    # This field is used in optimistic locking. This field will be ignored when
         | 
| 35822 | 
            +
                    # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
         | 
| 35823 | 
            +
                    # order to patch/update the ServiceAttachment; otherwise, the request will fail
         | 
| 35824 | 
            +
                    # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
         | 
| 35825 | 
            +
                    # request to retrieve the ServiceAttachment.
         | 
| 35826 | 
            +
                    # Corresponds to the JSON property `fingerprint`
         | 
| 35827 | 
            +
                    # NOTE: Values are automatically base64 encoded/decoded in the client library.
         | 
| 35828 | 
            +
                    # @return [String]
         | 
| 35829 | 
            +
                    attr_accessor :fingerprint
         | 
| 35830 | 
            +
                  
         | 
| 35744 35831 | 
             
                    # [Output Only] The unique identifier for the resource type. The server
         | 
| 35745 35832 | 
             
                    # generates this identifier.
         | 
| 35746 35833 | 
             
                    # Corresponds to the JSON property `id`
         | 
| @@ -35775,6 +35862,11 @@ module Google | |
| 35775 35862 | 
             
                    # @return [String]
         | 
| 35776 35863 | 
             
                    attr_accessor :producer_forwarding_rule
         | 
| 35777 35864 |  | 
| 35865 | 
            +
                    # [Output Only] An 128-bit global unique ID of the PSC service attachment.
         | 
| 35866 | 
            +
                    # Corresponds to the JSON property `pscServiceAttachmentId`
         | 
| 35867 | 
            +
                    # @return [Google::Apis::ComputeAlpha::Uint128]
         | 
| 35868 | 
            +
                    attr_accessor :psc_service_attachment_id
         | 
| 35869 | 
            +
                  
         | 
| 35778 35870 | 
             
                    # [Output Only] URL of the region where the service attachment resides. This
         | 
| 35779 35871 | 
             
                    # field applies only to the region resource. You must specify this field as part
         | 
| 35780 35872 | 
             
                    # of the HTTP request URL. It is not settable as a field in the request body.
         | 
| @@ -35787,24 +35879,36 @@ module Google | |
| 35787 35879 | 
             
                    # @return [String]
         | 
| 35788 35880 | 
             
                    attr_accessor :self_link
         | 
| 35789 35881 |  | 
| 35882 | 
            +
                    # The URL of a service serving the endpoint identified by this service
         | 
| 35883 | 
            +
                    # attachment.
         | 
| 35884 | 
            +
                    # Corresponds to the JSON property `targetService`
         | 
| 35885 | 
            +
                    # @return [String]
         | 
| 35886 | 
            +
                    attr_accessor :target_service
         | 
| 35887 | 
            +
                  
         | 
| 35790 35888 | 
             
                    def initialize(**args)
         | 
| 35791 35889 | 
             
                       update!(**args)
         | 
| 35792 35890 | 
             
                    end
         | 
| 35793 35891 |  | 
| 35794 35892 | 
             
                    # Update properties of this object
         | 
| 35795 35893 | 
             
                    def update!(**args)
         | 
| 35894 | 
            +
                      @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
         | 
| 35796 35895 | 
             
                      @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
         | 
| 35896 | 
            +
                      @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
         | 
| 35797 35897 | 
             
                      @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
         | 
| 35898 | 
            +
                      @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
         | 
| 35798 35899 | 
             
                      @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
         | 
| 35799 35900 | 
             
                      @description = args[:description] if args.key?(:description)
         | 
| 35800 35901 | 
             
                      @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
         | 
| 35902 | 
            +
                      @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
         | 
| 35801 35903 | 
             
                      @id = args[:id] if args.key?(:id)
         | 
| 35802 35904 | 
             
                      @kind = args[:kind] if args.key?(:kind)
         | 
| 35803 35905 | 
             
                      @name = args[:name] if args.key?(:name)
         | 
| 35804 35906 | 
             
                      @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
         | 
| 35805 35907 | 
             
                      @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
         | 
| 35908 | 
            +
                      @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
         | 
| 35806 35909 | 
             
                      @region = args[:region] if args.key?(:region)
         | 
| 35807 35910 | 
             
                      @self_link = args[:self_link] if args.key?(:self_link)
         | 
| 35911 | 
            +
                      @target_service = args[:target_service] if args.key?(:target_service)
         | 
| 35808 35912 | 
             
                    end
         | 
| 35809 35913 | 
             
                  end
         | 
| 35810 35914 |  | 
| @@ -35931,7 +36035,45 @@ module Google | |
| 35931 36035 | 
             
                    end
         | 
| 35932 36036 | 
             
                  end
         | 
| 35933 36037 |  | 
| 36038 | 
            +
                  # [Output Only] A connection connected to this service attachment.
         | 
| 36039 | 
            +
                  class ServiceAttachmentConnectedEndpoint
         | 
| 36040 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 36041 | 
            +
                  
         | 
| 36042 | 
            +
                    # The url of a connected endpoint.
         | 
| 36043 | 
            +
                    # Corresponds to the JSON property `endpoint`
         | 
| 36044 | 
            +
                    # @return [String]
         | 
| 36045 | 
            +
                    attr_accessor :endpoint
         | 
| 36046 | 
            +
                  
         | 
| 36047 | 
            +
                    # The url of a consumer forwarding rule. [Deprecated] Do not use.
         | 
| 36048 | 
            +
                    # Corresponds to the JSON property `forwardingRule`
         | 
| 36049 | 
            +
                    # @return [String]
         | 
| 36050 | 
            +
                    attr_accessor :forwarding_rule
         | 
| 36051 | 
            +
                  
         | 
| 36052 | 
            +
                    # The PSC connection id of the connected endpoint.
         | 
| 36053 | 
            +
                    # Corresponds to the JSON property `pscConnectionId`
         | 
| 36054 | 
            +
                    # @return [Fixnum]
         | 
| 36055 | 
            +
                    attr_accessor :psc_connection_id
         | 
| 36056 | 
            +
                  
         | 
| 36057 | 
            +
                    # The status of a connected endpoint to this service attachment.
         | 
| 36058 | 
            +
                    # Corresponds to the JSON property `status`
         | 
| 36059 | 
            +
                    # @return [String]
         | 
| 36060 | 
            +
                    attr_accessor :status
         | 
| 36061 | 
            +
                  
         | 
| 36062 | 
            +
                    def initialize(**args)
         | 
| 36063 | 
            +
                       update!(**args)
         | 
| 36064 | 
            +
                    end
         | 
| 36065 | 
            +
                  
         | 
| 36066 | 
            +
                    # Update properties of this object
         | 
| 36067 | 
            +
                    def update!(**args)
         | 
| 36068 | 
            +
                      @endpoint = args[:endpoint] if args.key?(:endpoint)
         | 
| 36069 | 
            +
                      @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
         | 
| 36070 | 
            +
                      @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
         | 
| 36071 | 
            +
                      @status = args[:status] if args.key?(:status)
         | 
| 36072 | 
            +
                    end
         | 
| 36073 | 
            +
                  end
         | 
| 36074 | 
            +
                  
         | 
| 35934 36075 | 
             
                  # [Output Only] A consumer forwarding rule connected to this service attachment.
         | 
| 36076 | 
            +
                  # [Deprecated] Do not use.
         | 
| 35935 36077 | 
             
                  class ServiceAttachmentConsumerForwardingRule
         | 
| 35936 36078 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 35937 36079 |  | 
| @@ -35940,6 +36082,11 @@ module Google | |
| 35940 36082 | 
             
                    # @return [String]
         | 
| 35941 36083 | 
             
                    attr_accessor :forwarding_rule
         | 
| 35942 36084 |  | 
| 36085 | 
            +
                    # The PSC connection id of the PSC Forwarding Rule.
         | 
| 36086 | 
            +
                    # Corresponds to the JSON property `pscConnectionId`
         | 
| 36087 | 
            +
                    # @return [Fixnum]
         | 
| 36088 | 
            +
                    attr_accessor :psc_connection_id
         | 
| 36089 | 
            +
                  
         | 
| 35943 36090 | 
             
                    # The status of the forwarding rule.
         | 
| 35944 36091 | 
             
                    # Corresponds to the JSON property `status`
         | 
| 35945 36092 | 
             
                    # @return [String]
         | 
| @@ -35952,10 +36099,36 @@ module Google | |
| 35952 36099 | 
             
                    # Update properties of this object
         | 
| 35953 36100 | 
             
                    def update!(**args)
         | 
| 35954 36101 | 
             
                      @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
         | 
| 36102 | 
            +
                      @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
         | 
| 35955 36103 | 
             
                      @status = args[:status] if args.key?(:status)
         | 
| 35956 36104 | 
             
                    end
         | 
| 35957 36105 | 
             
                  end
         | 
| 35958 36106 |  | 
| 36107 | 
            +
                  # 
         | 
| 36108 | 
            +
                  class ServiceAttachmentConsumerProjectLimit
         | 
| 36109 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 36110 | 
            +
                  
         | 
| 36111 | 
            +
                    # The value of the limit to set.
         | 
| 36112 | 
            +
                    # Corresponds to the JSON property `connectionLimit`
         | 
| 36113 | 
            +
                    # @return [Fixnum]
         | 
| 36114 | 
            +
                    attr_accessor :connection_limit
         | 
| 36115 | 
            +
                  
         | 
| 36116 | 
            +
                    # The project id or number for the project to set the limit for.
         | 
| 36117 | 
            +
                    # Corresponds to the JSON property `projectIdOrNum`
         | 
| 36118 | 
            +
                    # @return [String]
         | 
| 36119 | 
            +
                    attr_accessor :project_id_or_num
         | 
| 36120 | 
            +
                  
         | 
| 36121 | 
            +
                    def initialize(**args)
         | 
| 36122 | 
            +
                       update!(**args)
         | 
| 36123 | 
            +
                    end
         | 
| 36124 | 
            +
                  
         | 
| 36125 | 
            +
                    # Update properties of this object
         | 
| 36126 | 
            +
                    def update!(**args)
         | 
| 36127 | 
            +
                      @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
         | 
| 36128 | 
            +
                      @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
         | 
| 36129 | 
            +
                    end
         | 
| 36130 | 
            +
                  end
         | 
| 36131 | 
            +
                  
         | 
| 35959 36132 | 
             
                  # 
         | 
| 35960 36133 | 
             
                  class ServiceAttachmentList
         | 
| 35961 36134 | 
             
                    include Google::Apis::Core::Hashable
         | 
| @@ -38155,9 +38328,7 @@ module Google | |
| 38155 38328 | 
             
                    # applicable to subnetworks that have the purpose set to
         | 
| 38156 38329 | 
             
                    # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
         | 
| 38157 38330 | 
             
                    # balancer are being drained. A subnetwork that is draining cannot be used or
         | 
| 38158 | 
            -
                    # modified until it reaches a status of READY | 
| 38159 | 
            -
                    # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
         | 
| 38160 | 
            -
                    # being updated
         | 
| 38331 | 
            +
                    # modified until it reaches a status of READY
         | 
| 38161 38332 | 
             
                    # Corresponds to the JSON property `state`
         | 
| 38162 38333 | 
             
                    # @return [String]
         | 
| 38163 38334 | 
             
                    attr_accessor :state
         | 
| @@ -38678,7 +38849,8 @@ module Google | |
| 38678 38849 | 
             
                    end
         | 
| 38679 38850 | 
             
                  end
         | 
| 38680 38851 |  | 
| 38681 | 
            -
                  # Subsetting  | 
| 38852 | 
            +
                  # Subsetting configuration for this BackendService. Currently this is applicable
         | 
| 38853 | 
            +
                  # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
         | 
| 38682 38854 | 
             
                  class Subsetting
         | 
| 38683 38855 | 
             
                    include Google::Apis::Core::Hashable
         | 
| 38684 38856 |  | 
| @@ -42367,6 +42539,31 @@ module Google | |
| 42367 42539 | 
             
                    end
         | 
| 42368 42540 | 
             
                  end
         | 
| 42369 42541 |  | 
| 42542 | 
            +
                  # 
         | 
| 42543 | 
            +
                  class Uint128
         | 
| 42544 | 
            +
                    include Google::Apis::Core::Hashable
         | 
| 42545 | 
            +
                  
         | 
| 42546 | 
            +
                    # 
         | 
| 42547 | 
            +
                    # Corresponds to the JSON property `high`
         | 
| 42548 | 
            +
                    # @return [Fixnum]
         | 
| 42549 | 
            +
                    attr_accessor :high
         | 
| 42550 | 
            +
                  
         | 
| 42551 | 
            +
                    # 
         | 
| 42552 | 
            +
                    # Corresponds to the JSON property `low`
         | 
| 42553 | 
            +
                    # @return [Fixnum]
         | 
| 42554 | 
            +
                    attr_accessor :low
         | 
| 42555 | 
            +
                  
         | 
| 42556 | 
            +
                    def initialize(**args)
         | 
| 42557 | 
            +
                       update!(**args)
         | 
| 42558 | 
            +
                    end
         | 
| 42559 | 
            +
                  
         | 
| 42560 | 
            +
                    # Update properties of this object
         | 
| 42561 | 
            +
                    def update!(**args)
         | 
| 42562 | 
            +
                      @high = args[:high] if args.key?(:high)
         | 
| 42563 | 
            +
                      @low = args[:low] if args.key?(:low)
         | 
| 42564 | 
            +
                    end
         | 
| 42565 | 
            +
                  end
         | 
| 42566 | 
            +
                  
         | 
| 42370 42567 | 
             
                  # Upcoming Maintenance notification information.
         | 
| 42371 42568 | 
             
                  class UpcomingMaintenance
         | 
| 42372 42569 | 
             
                    include Google::Apis::Core::Hashable
         |