google-apis-compute_alpha 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3e4c440d19a5e8c28c00463c1e7958d3a381489f9db4382a813714546c6cc87
4
- data.tar.gz: 974beb40c9b18c21e817027f56e339d97b1f34b786757114af8818dbc0fabba7
3
+ metadata.gz: 02ce68094e319671550d7d7dd9f95033c748b80382c5be137d5b8fa7b65a91ac
4
+ data.tar.gz: d8a70eed281be32d30a25f5b71f9b16090b9b93cff6d05ea1667b1d4267b9516
5
5
  SHA512:
6
- metadata.gz: ca0d24ef7e6e0294ea7bd53a48b37fdd9d85b6d22aaed88c4f7006cdeba944fed73c2844801ff1237183cc9620e0db3ec129306bd5ea17c2833e035a763438f0
7
- data.tar.gz: b2d189b3612b3cece655801a1583714aef34089e32ce916b7a9b2d14cd05a3ee1dbd2435f6e1b5361ef8d351c909f055e8c89093a0cf98c063c3f155cb6bf9b4
6
+ metadata.gz: 146dad68ad0c6d53768528cba1bb2796c7387ac479a75c339d961455d836103d1920ace50e95d427f83785432239d7e981b51221b5cc3730184d2dd7cd77e6ae
7
+ data.tar.gz: 35219a8db465b996f7e22c7eeccc23ad8c47b03b3d38f9a547c38d4d0107aba9ba26090c801965c81c7d9b8e0c2201fed2ad331a323cc8621f4ce6513c479fcb
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.9.0 (2021-05-05)
4
+
5
+ * Regenerated from discovery document revision 20210415
6
+
3
7
  ### v0.8.0 (2021-03-30)
4
8
 
5
9
  * Regenerated from discovery document revision 20210316
@@ -1248,9 +1248,8 @@ module Google
1248
1248
  # @return [Fixnum]
1249
1249
  attr_accessor :maintenance_freeze_duration_hours
1250
1250
 
1251
- # Specifies whether this VM may be a stable fleet VM. Setting this to "Periodic"
1252
- # designates this VM as a Stable Fleet VM.
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 options to make L4 ILB support any number of backend instances
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
- # predefined_names must be set. The pattern should contain one consecutive
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 like inst-0001, inst-0002, ... . If there
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
- # List of predefined names. The number of names provided must be equal to count.
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?s IP address will be allocated from
18323
- # the IP address range specified here. For example, if the HA VPN gateway?s
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, like: zones/us-
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 Serverless Deployment network endpoint group (NEG). The
22109
- # platform must be provided.
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 Serverless Deployment network endpoint group (NEG). The
22582
- # platform must be provided.
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.googleapies.com
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 id
22603
- # - AppEngine: The service name
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 services on the same serverless platform
22612
- # without having to create multiple Network Endpoint Groups and backend services.
22613
- # The fields parsed by this template is platform-specific and are as follows:
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 id
22616
- # - AppEngine: The service and version
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 as
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
- # - AppEngine: The service version
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 ?action?
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 instance won't
34515
- # be scheduled for maintenance.
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
- # Specifies whether this VM may be a stable fleet VM. Setting this to "Periodic"
34521
- # designates this VM as a Stable Fleet VM.
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?re already present.
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 = 17
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 CREATING: Subnetwork is
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 options to make L4 ILB support any number of backend instances
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