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: 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