google-apis-compute_alpha 0.7.0 → 0.12.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: b8d78f1ca1997175b136092bf55f7e35a7914f39810860273667826f9c719f85
4
- data.tar.gz: e39d4db6364442f5b94d3c92f5529773a8eb43bd04a1bb1e335e03e3a8a2a40f
3
+ metadata.gz: 20cb629eb4eb5fb148b929707861260bbe6bfc08cccd334461f1b287a0c1c641
4
+ data.tar.gz: 2f16a7469ee708070679b9e33c2b540dcb89faf77605365eef6fb64b6702d64e
5
5
  SHA512:
6
- metadata.gz: 05ade2ee9f603b41d95ac66e99c72b40a983a0e7974b1da5e686bb3cfb4b91d4a9502010f2e4746e9258ff53032bf751b9f119e863fedf1fc7821b7b6dfd0386
7
- data.tar.gz: 81defa7c1a112064878c92aa5d5bae3ea552333f4a12bcd75f91da5c701f5d235a86a368db35c8dbf72b69309dec7bd26b171c70488a6def24ee3fcfaf817961
6
+ metadata.gz: 8a5b3074492134d0c5987f73efb9284cc2d50e5a41c00266784c5bec34f37eba9a1fad051e37c2d813d2f17be854c388563bfad7255fb9dc38b6be4f4f1a03b2
7
+ data.tar.gz: bd4651f26e15dc4e4856379e7e90ab61f6a17fa9db5998125c53349d8de3d3be4e5cf42e864c0e047df8d640b638528fdd5a1fd18f14a059411053ed9b350e0a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.12.0 (2021-06-10)
4
+
5
+ * Regenerated from discovery document revision 20210525
6
+ * Regenerated using generator version 0.3.0
7
+
8
+ ### v0.11.0 (2021-05-28)
9
+
10
+ * Regenerated from discovery document revision 20210518
11
+
12
+ ### v0.10.0 (2021-05-20)
13
+
14
+ * Regenerated from discovery document revision 20210505
15
+ * Unspecified changes
16
+
17
+ ### v0.9.0 (2021-05-05)
18
+
19
+ * Regenerated from discovery document revision 20210415
20
+
21
+ ### v0.8.0 (2021-03-30)
22
+
23
+ * Regenerated from discovery document revision 20210316
24
+
3
25
  ### v0.7.0 (2021-03-19)
4
26
 
5
27
  * Regenerated from discovery document revision 20210310
@@ -685,7 +685,8 @@ module Google
685
685
  # reserved for Cloud NAT.
686
686
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
687
687
  # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
688
- # configuration. These addresses are regional resources.
688
+ # configuration. These addresses are regional resources. Not currently available
689
+ # publicly.
689
690
  # Corresponds to the JSON property `purpose`
690
691
  # @return [String]
691
692
  attr_accessor :purpose
@@ -1104,6 +1105,11 @@ module Google
1104
1105
  attr_accessor :enable_nested_virtualization
1105
1106
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1106
1107
 
1108
+ # The number of vNUMA nodes.
1109
+ # Corresponds to the JSON property `numaNodeCount`
1110
+ # @return [Fixnum]
1111
+ attr_accessor :numa_node_count
1112
+
1107
1113
  # The number of threads per physical core. To disable simultaneous
1108
1114
  # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1109
1115
  # supported per core by the underlying processor is assumed.
@@ -1126,6 +1132,7 @@ module Google
1126
1132
  # Update properties of this object
1127
1133
  def update!(**args)
1128
1134
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1135
+ @numa_node_count = args[:numa_node_count] if args.key?(:numa_node_count)
1129
1136
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1130
1137
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1131
1138
  end
@@ -1161,32 +1168,6 @@ module Google
1161
1168
  end
1162
1169
  end
1163
1170
 
1164
- #
1165
- class AllocationShareSettings
1166
- include Google::Apis::Core::Hashable
1167
-
1168
- # A List of Project names to specify consumer projects for this shared-
1169
- # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
1170
- # Corresponds to the JSON property `projects`
1171
- # @return [Array<String>]
1172
- attr_accessor :projects
1173
-
1174
- # Type of sharing for this shared-reservation
1175
- # Corresponds to the JSON property `shareType`
1176
- # @return [String]
1177
- attr_accessor :share_type
1178
-
1179
- def initialize(**args)
1180
- update!(**args)
1181
- end
1182
-
1183
- # Update properties of this object
1184
- def update!(**args)
1185
- @projects = args[:projects] if args.key?(:projects)
1186
- @share_type = args[:share_type] if args.key?(:share_type)
1187
- end
1188
- end
1189
-
1190
1171
  #
1191
1172
  class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk
1192
1173
  include Google::Apis::Core::Hashable
@@ -1248,9 +1229,8 @@ module Google
1248
1229
  # @return [Fixnum]
1249
1230
  attr_accessor :maintenance_freeze_duration_hours
1250
1231
 
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.
1232
+ # For more information about maintenance intervals, see Setting maintenance
1233
+ # intervals.
1254
1234
  # Corresponds to the JSON property `maintenanceInterval`
1255
1235
  # @return [String]
1256
1236
  attr_accessor :maintenance_interval
@@ -1307,80 +1287,6 @@ module Google
1307
1287
  end
1308
1288
  end
1309
1289
 
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
1290
  # An instance-attached disk resource.
1385
1291
  class AttachedDisk
1386
1292
  include Google::Apis::Core::Hashable
@@ -2927,6 +2833,12 @@ module Google
2927
2833
  # @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicy]
2928
2834
  attr_accessor :cdn_policy
2929
2835
 
2836
+ # Compress text responses using Brotli or gzip compression, based on the client?
2837
+ # s Accept-Encoding header.
2838
+ # Corresponds to the JSON property `compressionMode`
2839
+ # @return [String]
2840
+ attr_accessor :compression_mode
2841
+
2930
2842
  # [Output Only] Creation timestamp in RFC3339 text format.
2931
2843
  # Corresponds to the JSON property `creationTimestamp`
2932
2844
  # @return [String]
@@ -2993,6 +2905,7 @@ module Google
2993
2905
  def update!(**args)
2994
2906
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
2995
2907
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2908
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
2996
2909
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2997
2910
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2998
2911
  @description = args[:description] if args.key?(:description)
@@ -3017,6 +2930,12 @@ module Google
3017
2930
  # @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
3018
2931
  attr_accessor :bypass_cache_on_request_headers
3019
2932
 
2933
+ # Message containing what to include in the cache key for a request for Cloud
2934
+ # CDN.
2935
+ # Corresponds to the JSON property `cacheKeyPolicy`
2936
+ # @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicyCacheKeyPolicy]
2937
+ attr_accessor :cache_key_policy
2938
+
3020
2939
  # Specifies the cache setting for all responses from this backend. The possible
3021
2940
  # values are:
3022
2941
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -3141,6 +3060,7 @@ module Google
3141
3060
  # Update properties of this object
3142
3061
  def update!(**args)
3143
3062
  @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3063
+ @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3144
3064
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3145
3065
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3146
3066
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
@@ -3176,6 +3096,34 @@ module Google
3176
3096
  end
3177
3097
  end
3178
3098
 
3099
+ # Message containing what to include in the cache key for a request for Cloud
3100
+ # CDN.
3101
+ class BackendBucketCdnPolicyCacheKeyPolicy
3102
+ include Google::Apis::Core::Hashable
3103
+
3104
+ # Allows HTTP request headers (by name) to be used in the cache key.
3105
+ # Corresponds to the JSON property `includeHttpHeaders`
3106
+ # @return [Array<String>]
3107
+ attr_accessor :include_http_headers
3108
+
3109
+ # Names of query string parameters to include in cache keys. All other
3110
+ # parameters will be excluded. '&' and '=' will be percent encoded and not
3111
+ # treated as delimiters.
3112
+ # Corresponds to the JSON property `queryStringWhitelist`
3113
+ # @return [Array<String>]
3114
+ attr_accessor :query_string_whitelist
3115
+
3116
+ def initialize(**args)
3117
+ update!(**args)
3118
+ end
3119
+
3120
+ # Update properties of this object
3121
+ def update!(**args)
3122
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
3123
+ @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
3124
+ end
3125
+ end
3126
+
3179
3127
  # Specify CDN TTLs for response error codes.
3180
3128
  class BackendBucketCdnPolicyNegativeCachingPolicy
3181
3129
  include Google::Apis::Core::Hashable
@@ -3365,6 +3313,12 @@ module Google
3365
3313
  # @return [Google::Apis::ComputeAlpha::CircuitBreakers]
3366
3314
  attr_accessor :circuit_breakers
3367
3315
 
3316
+ # Compress text responses using Brotli or gzip compression, based on the client?
3317
+ # s Accept-Encoding header.
3318
+ # Corresponds to the JSON property `compressionMode`
3319
+ # @return [String]
3320
+ attr_accessor :compression_mode
3321
+
3368
3322
  # Message containing connection draining configuration.
3369
3323
  # Corresponds to the JSON property `connectionDraining`
3370
3324
  # @return [Google::Apis::ComputeAlpha::ConnectionDraining]
@@ -3605,11 +3559,12 @@ module Google
3605
3559
  attr_accessor :self_link_with_id
3606
3560
 
3607
3561
  # Type of session affinity to use. The default is NONE.
3608
- # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3609
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3610
- # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3611
- # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3612
- # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
3562
+ # When the loadBalancingScheme is EXTERNAL:
3563
+ # * For Network Load Balancing, the possible values are NONE, CLIENT_IP,
3564
+ # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that
3565
+ # use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or
3566
+ # GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP,
3567
+ # HTTP2, or HTTPS.
3613
3568
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
3614
3569
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3615
3570
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
@@ -3621,15 +3576,16 @@ module Google
3621
3576
  # @return [String]
3622
3577
  attr_accessor :session_affinity
3623
3578
 
3624
- # Subsetting options to make L4 ILB support any number of backend instances
3579
+ # Subsetting configuration for this BackendService. Currently this is applicable
3580
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
3581
+ # Traffic Director.
3625
3582
  # Corresponds to the JSON property `subsetting`
3626
3583
  # @return [Google::Apis::ComputeAlpha::Subsetting]
3627
3584
  attr_accessor :subsetting
3628
3585
 
3629
- # The backend service timeout has a different meaning depending on the type of
3630
- # load balancer. For more information see, Backend service settings The default
3631
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3632
- # seconds.
3586
+ # Not supported when the backend service is referenced by a URL map that is
3587
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3588
+ # Instead, use maxStreamDuration.
3633
3589
  # Corresponds to the JSON property `timeoutSec`
3634
3590
  # @return [Fixnum]
3635
3591
  attr_accessor :timeout_sec
@@ -3644,6 +3600,7 @@ module Google
3644
3600
  @backends = args[:backends] if args.key?(:backends)
3645
3601
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
3646
3602
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
3603
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
3647
3604
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
3648
3605
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3649
3606
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
@@ -4845,7 +4802,10 @@ module Google
4845
4802
  end
4846
4803
  end
4847
4804
 
4848
- #
4805
+ # A transient resource used in compute.instances.bulkInsert and compute.
4806
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4807
+ # This resource is not persisted anywhere, it is used only for processing the
4808
+ # requests.
4849
4809
  class BulkInsertInstanceResource
4850
4810
  include Google::Apis::Core::Hashable
4851
4811
 
@@ -4875,16 +4835,17 @@ module Google
4875
4835
 
4876
4836
  # The minimum number of instances to create. If no min_count is specified then
4877
4837
  # count is used as the default value. If min_count instances cannot be created,
4878
- # then no instances will be created.
4838
+ # then no instances will be created and instances already created will be
4839
+ # deleted.
4879
4840
  # Corresponds to the JSON property `minCount`
4880
4841
  # @return [Fixnum]
4881
4842
  attr_accessor :min_count
4882
4843
 
4883
4844
  # 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
4845
+ # per_instance_properties must be set. The pattern should contain one continuous
4885
4846
  # sequence of placeholder hash characters (#) with each character corresponding
4886
4847
  # 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
4848
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4888
4849
  # already exist instance(s) whose names match the name pattern in the same
4889
4850
  # project and zone, then the generated instance numbers will start after the
4890
4851
  # biggest existing number. For example, if there exists an instance with name
@@ -4901,11 +4862,18 @@ module Google
4901
4862
  # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
4902
4863
  attr_accessor :per_instance_properties
4903
4864
 
4904
- # List of predefined names. The number of names provided must be equal to count.
4865
+ # DEPRECATED: Please use per_instance_properties instead.
4905
4866
  # Corresponds to the JSON property `predefinedNames`
4906
4867
  # @return [Array<String>]
4907
4868
  attr_accessor :predefined_names
4908
4869
 
4870
+ # DEPRECATED: Please use instance_properties.secure_tag instead. Secure tags to
4871
+ # apply to this instance. These can be later modified by the update method.
4872
+ # Maximum number of secure tags allowed is 50.
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)
@@ -5114,14 +5096,14 @@ module Google
5114
5096
  # @return [Google::Apis::ComputeAlpha::Duration]
5115
5097
  attr_accessor :connect_timeout
5116
5098
 
5117
- # The maximum number of connections to the backend service. If not specified,
5118
- # there is no limit.
5099
+ # Not supported when the backend service is referenced by a URL map that is
5100
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5119
5101
  # Corresponds to the JSON property `maxConnections`
5120
5102
  # @return [Fixnum]
5121
5103
  attr_accessor :max_connections
5122
5104
 
5123
- # The maximum number of pending requests allowed to the backend service. If not
5124
- # specified, there is no limit.
5105
+ # Not supported when the backend service is referenced by a URL map that is
5106
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5125
5107
  # Corresponds to the JSON property `maxPendingRequests`
5126
5108
  # @return [Fixnum]
5127
5109
  attr_accessor :max_pending_requests
@@ -5132,16 +5114,14 @@ module Google
5132
5114
  # @return [Fixnum]
5133
5115
  attr_accessor :max_requests
5134
5116
 
5135
- # Maximum requests for a single connection to the backend service. This
5136
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
5137
- # specified, there is no limit. Setting this parameter to 1 will effectively
5138
- # disable keep alive.
5117
+ # Not supported when the backend service is referenced by a URL map that is
5118
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5139
5119
  # Corresponds to the JSON property `maxRequestsPerConnection`
5140
5120
  # @return [Fixnum]
5141
5121
  attr_accessor :max_requests_per_connection
5142
5122
 
5143
- # The maximum number of parallel retries allowed to the backend cluster. If not
5144
- # specified, the default is 1.
5123
+ # Not supported when the backend service is referenced by a URL map that is
5124
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5145
5125
  # Corresponds to the JSON property `maxRetries`
5146
5126
  # @return [Fixnum]
5147
5127
  attr_accessor :max_retries
@@ -5218,6 +5198,16 @@ module Google
5218
5198
  class Commitment
5219
5199
  include Google::Apis::Core::Hashable
5220
5200
 
5201
+ # Specifies whether to enable automatic renewal for the commitment. The default
5202
+ # value is false if not specified. The field can be updated until the day of the
5203
+ # commitment expiration at 12:00am PST. If the field is set to true, the
5204
+ # commitment will be automatically renewed for either one or three years
5205
+ # according to the terms of the existing commitment.
5206
+ # Corresponds to the JSON property `autoRenew`
5207
+ # @return [Boolean]
5208
+ attr_accessor :auto_renew
5209
+ alias_method :auto_renew?, :auto_renew
5210
+
5221
5211
  # The category of the commitment. Category MACHINE specifies commitments
5222
5212
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
5223
5213
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -5333,6 +5323,7 @@ module Google
5333
5323
 
5334
5324
  # Update properties of this object
5335
5325
  def update!(**args)
5326
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5336
5327
  @category = args[:category] if args.key?(:category)
5337
5328
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
5338
5329
  @description = args[:description] if args.key?(:description)
@@ -7747,6 +7738,10 @@ module Google
7747
7738
  attr_accessor :id
7748
7739
 
7749
7740
  # List of interfaces for this external VPN gateway.
7741
+ # If your peer-side gateway is an on-premises gateway and non-AWS cloud
7742
+ # providers? gateway, at most two interfaces can be provided for an external VPN
7743
+ # gateway. If your peer side is an AWS virtual private gateway, four interfaces
7744
+ # should be provided for an external VPN gateway.
7750
7745
  # Corresponds to the JSON property `interfaces`
7751
7746
  # @return [Array<Google::Apis::ComputeAlpha::ExternalVpnGatewayInterface>]
7752
7747
  attr_accessor :interfaces
@@ -7822,8 +7817,9 @@ module Google
7822
7817
 
7823
7818
  # The numeric ID of this interface. The allowed input values for this id for
7824
7819
  # different redundancy types of external VPN gateway:
7825
- # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
7826
- # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7820
+ # - SINGLE_IP_INTERNALLY_REDUNDANT - 0
7821
+ # - TWO_IPS_REDUNDANCY - 0, 1
7822
+ # - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7827
7823
  # Corresponds to the JSON property `id`
7828
7824
  # @return [Fixnum]
7829
7825
  attr_accessor :id
@@ -8803,17 +8799,6 @@ module Google
8803
8799
  # @return [Array<String>]
8804
8800
  attr_accessor :target_resources
8805
8801
 
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
8802
  # A list of secure tags that controls which instances the firewall rule applies
8818
8803
  # to. If targetSecureTag are specified, then the firewall rule applies only to
8819
8804
  # instances in the VPC network that have one of those EFFECTIVE secure tags, if
@@ -8848,7 +8833,6 @@ module Google
8848
8833
  @priority = args[:priority] if args.key?(:priority)
8849
8834
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8850
8835
  @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
8836
  @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
8853
8837
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8854
8838
  end
@@ -8875,12 +8859,6 @@ module Google
8875
8859
  # @return [Array<String>]
8876
8860
  attr_accessor :src_ip_ranges
8877
8861
 
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
8862
  # List of secure tag values, which should be matched at the source of the
8885
8863
  # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8886
8864
  # is no srcIpRange, this rule will be ignored. Maximum number of source tag
@@ -8898,7 +8876,6 @@ module Google
8898
8876
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8899
8877
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8900
8878
  @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
8879
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8903
8880
  end
8904
8881
  end
@@ -8972,7 +8949,7 @@ module Google
8972
8949
  # - If the value is a percent, then the calculated value is percent/100 *
8973
8950
  # targetSize. For example, the calculated value of a 80% of a managed instance
8974
8951
  # group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
8975
- # is a remainder, the number is rounded up.
8952
+ # is a remainder, the number is rounded.
8976
8953
  # Corresponds to the JSON property `calculated`
8977
8954
  # @return [Fixnum]
8978
8955
  attr_accessor :calculated
@@ -9041,10 +9018,11 @@ module Google
9041
9018
  attr_accessor :ip_address
9042
9019
 
9043
9020
  # The IP protocol to which this rule applies.
9044
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
9021
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
9022
+ # L3_DEFAULT.
9045
9023
  # The valid IP protocols are different for different load balancing products:
9046
9024
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
9047
- # one of TCP, UDP or ALL is valid.
9025
+ # one of TCP, UDP or L3_DEFAULT is valid.
9048
9026
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
9049
9027
  # only TCP is valid.
9050
9028
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -9052,17 +9030,18 @@ module Google
9052
9030
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
9053
9031
  # is EXTERNAL and only TCP is valid.
9054
9032
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
9055
- # TCP or UDP is valid.
9033
+ # TCP, UDP or L3_DEFAULT is valid.
9056
9034
  # Corresponds to the JSON property `IPProtocol`
9057
9035
  # @return [String]
9058
9036
  attr_accessor :ip_protocol
9059
9037
 
9060
- # This field is used along with the backend_service field for internal load
9061
- # balancing or with the target field for internal TargetInstance. This field
9062
- # cannot be used with port or portRange fields.
9063
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
9064
- # this field to allow packets addressed to any ports will be forwarded to the
9065
- # backends configured with this forwarding rule.
9038
+ # This field is used along with the backend_service field for Internal TCP/UDP
9039
+ # Load Balancing or Network Load Balancing, or with the target field for
9040
+ # internal and external TargetInstance.
9041
+ # You can only use one of ports and port_range, or allPorts. The three are
9042
+ # mutually exclusive.
9043
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
9044
+ # forwarded to the target or backendService.
9066
9045
  # Corresponds to the JSON property `allPorts`
9067
9046
  # @return [Boolean]
9068
9047
  attr_accessor :all_ports
@@ -9224,13 +9203,16 @@ module Google
9224
9203
  # @return [String]
9225
9204
  attr_accessor :network_tier
9226
9205
 
9227
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
9228
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
9229
- # or SCTP.
9206
+ # This field can be used only if:
9207
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
9208
+ # INTERNAL_MANAGED
9209
+ # - IPProtocol is one of TCP, UDP, or SCTP.
9230
9210
  # Packets addressed to ports in the specified range will be forwarded to target
9231
- # or backend_service. You can only use one of ports, port_range, or allPorts.
9232
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
9233
- # IPProtocol] pair must have disjoint port ranges.
9211
+ # or backend_service.
9212
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
9213
+ # exclusive.
9214
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9215
+ # ports.
9234
9216
  # Some types of forwarding target have constraints on the acceptable ports:
9235
9217
  # - TargetHttpProxy: 80, 8080
9236
9218
  # - TargetHttpsProxy: 443
@@ -9251,8 +9233,8 @@ module Google
9251
9233
  # You can only use one of ports and port_range, or allPorts. The three are
9252
9234
  # mutually exclusive.
9253
9235
  # You can specify a list of up to five ports, which can be non-contiguous.
9254
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
9255
- # specify ports.
9236
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9237
+ # ports.
9256
9238
  # For more information, see [Port specifications](/load-balancing/docs/
9257
9239
  # forwarding-rule-concepts#port_specifications).
9258
9240
  # Corresponds to the JSON property `ports`
@@ -9264,6 +9246,11 @@ module Google
9264
9246
  # @return [Fixnum]
9265
9247
  attr_accessor :psc_connection_id
9266
9248
 
9249
+ #
9250
+ # Corresponds to the JSON property `pscConnectionStatus`
9251
+ # @return [String]
9252
+ attr_accessor :psc_connection_status
9253
+
9267
9254
  # [Output Only] URL of the region where the regional forwarding rule resides.
9268
9255
  # This field is not applicable to global forwarding rules. You must specify this
9269
9256
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -9309,6 +9296,16 @@ module Google
9309
9296
  # @return [String]
9310
9297
  attr_accessor :service_name
9311
9298
 
9299
+ # If not empty, this Forwarding Rule will only forward the traffic when the
9300
+ # source IP address matches one of the IP addresses or CIDR ranges set here.
9301
+ # Note that a Forwarding Rule can only have up to 64 source IP ranges, and this
9302
+ # field can only be used with a regional Forwarding Rule whose scheme is
9303
+ # EXTERNAL. Each source_ip_range entry should be either an IP address (for
9304
+ # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
9305
+ # Corresponds to the JSON property `sourceIpRanges`
9306
+ # @return [Array<String>]
9307
+ attr_accessor :source_ip_ranges
9308
+
9312
9309
  # This field is only used for internal load balancing.
9313
9310
  # For internal load balancing, this field identifies the subnetwork that the
9314
9311
  # load balanced IP should belong to for this Forwarding Rule.
@@ -9352,12 +9349,14 @@ module Google
9352
9349
  @port_range = args[:port_range] if args.key?(:port_range)
9353
9350
  @ports = args[:ports] if args.key?(:ports)
9354
9351
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
9352
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
9355
9353
  @region = args[:region] if args.key?(:region)
9356
9354
  @self_link = args[:self_link] if args.key?(:self_link)
9357
9355
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9358
9356
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
9359
9357
  @service_label = args[:service_label] if args.key?(:service_label)
9360
9358
  @service_name = args[:service_name] if args.key?(:service_name)
9359
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
9361
9360
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
9362
9361
  @target = args[:target] if args.key?(:target)
9363
9362
  end
@@ -9750,6 +9749,565 @@ module Google
9750
9749
  end
9751
9750
  end
9752
9751
 
9752
+ #
9753
+ class FutureReservation
9754
+ include Google::Apis::Core::Hashable
9755
+
9756
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
9757
+ # text format.
9758
+ # Corresponds to the JSON property `creationTimestamp`
9759
+ # @return [String]
9760
+ attr_accessor :creation_timestamp
9761
+
9762
+ # An optional description of this resource. Provide this property when you
9763
+ # create the future reservation.
9764
+ # Corresponds to the JSON property `description`
9765
+ # @return [String]
9766
+ attr_accessor :description
9767
+
9768
+ # [Output Only] A unique identifier for this future reservation. The server
9769
+ # defines this identifier.
9770
+ # Corresponds to the JSON property `id`
9771
+ # @return [Fixnum]
9772
+ attr_accessor :id
9773
+
9774
+ # [Output Only] Type of the resource. Always compute#futureReservation for
9775
+ # future reservations.
9776
+ # Corresponds to the JSON property `kind`
9777
+ # @return [String]
9778
+ attr_accessor :kind
9779
+
9780
+ # The name of the resource, provided by the client when initially creating the
9781
+ # resource. The resource name must be 1-63 characters long, and comply with
9782
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
9783
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
9784
+ # character must be a lowercase letter, and all following characters must be a
9785
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
9786
+ # dash.
9787
+ # Corresponds to the JSON property `name`
9788
+ # @return [String]
9789
+ attr_accessor :name
9790
+
9791
+ # Name prefix for the reservations to be created at the time of delivery. The
9792
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
9793
+ # is 20. Automatically created reservations name format will be -date-####.
9794
+ # Corresponds to the JSON property `namePrefix`
9795
+ # @return [String]
9796
+ attr_accessor :name_prefix
9797
+
9798
+ # [Output Only] Server-defined fully-qualified URL for this resource.
9799
+ # Corresponds to the JSON property `selfLink`
9800
+ # @return [String]
9801
+ attr_accessor :self_link
9802
+
9803
+ # [Output Only] Server-defined URL for this resource with the resource id.
9804
+ # Corresponds to the JSON property `selfLinkWithId`
9805
+ # @return [String]
9806
+ attr_accessor :self_link_with_id
9807
+
9808
+ # The share setting for reservations and sole tenancy node groups.
9809
+ # Corresponds to the JSON property `shareSettings`
9810
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
9811
+ attr_accessor :share_settings
9812
+
9813
+ # Future Reservation configuration to indicate instance properties and total
9814
+ # count.
9815
+ # Corresponds to the JSON property `specificSkuProperties`
9816
+ # @return [Google::Apis::ComputeAlpha::FutureReservationSpecificSkuProperties]
9817
+ attr_accessor :specific_sku_properties
9818
+
9819
+ # [Output only] Represents status related to the future reservation.
9820
+ # Corresponds to the JSON property `status`
9821
+ # @return [Google::Apis::ComputeAlpha::FutureReservationStatus]
9822
+ attr_accessor :status
9823
+
9824
+ # Time window for this Future Reservation.
9825
+ # Corresponds to the JSON property `timeWindow`
9826
+ # @return [Google::Apis::ComputeAlpha::FutureReservationTimeWindow]
9827
+ attr_accessor :time_window
9828
+
9829
+ # [Output Only] URL of the Zone where this future reservation resides.
9830
+ # Corresponds to the JSON property `zone`
9831
+ # @return [String]
9832
+ attr_accessor :zone
9833
+
9834
+ def initialize(**args)
9835
+ update!(**args)
9836
+ end
9837
+
9838
+ # Update properties of this object
9839
+ def update!(**args)
9840
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9841
+ @description = args[:description] if args.key?(:description)
9842
+ @id = args[:id] if args.key?(:id)
9843
+ @kind = args[:kind] if args.key?(:kind)
9844
+ @name = args[:name] if args.key?(:name)
9845
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
9846
+ @self_link = args[:self_link] if args.key?(:self_link)
9847
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9848
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
9849
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
9850
+ @status = args[:status] if args.key?(:status)
9851
+ @time_window = args[:time_window] if args.key?(:time_window)
9852
+ @zone = args[:zone] if args.key?(:zone)
9853
+ end
9854
+ end
9855
+
9856
+ #
9857
+ class FutureReservationSpecificSkuProperties
9858
+ include Google::Apis::Core::Hashable
9859
+
9860
+ # Properties of the SKU instances being reserved. Next ID: 9
9861
+ # Corresponds to the JSON property `instanceProperties`
9862
+ # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
9863
+ attr_accessor :instance_properties
9864
+
9865
+ # Total number of instances for which capacity assurance is requested at a
9866
+ # future time period.
9867
+ # Corresponds to the JSON property `totalCount`
9868
+ # @return [Fixnum]
9869
+ attr_accessor :total_count
9870
+
9871
+ def initialize(**args)
9872
+ update!(**args)
9873
+ end
9874
+
9875
+ # Update properties of this object
9876
+ def update!(**args)
9877
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
9878
+ @total_count = args[:total_count] if args.key?(:total_count)
9879
+ end
9880
+ end
9881
+
9882
+ # [Output only] Represents status related to the future reservation.
9883
+ class FutureReservationStatus
9884
+ include Google::Apis::Core::Hashable
9885
+
9886
+ # Fully qualified urls of the automatically created reservations at start_time.
9887
+ # Corresponds to the JSON property `autoCreatedReservations`
9888
+ # @return [Array<String>]
9889
+ attr_accessor :auto_created_reservations
9890
+
9891
+ # This count indicates the fulfilled capacity so far. This is set during "
9892
+ # PROVISIONING" state. This count also includes capacity delivered as part of
9893
+ # existing matching reservations.
9894
+ # Corresponds to the JSON property `fulfilledCount`
9895
+ # @return [Fixnum]
9896
+ attr_accessor :fulfilled_count
9897
+
9898
+ # Time when Future Reservation would become LOCKED, after which no modifications
9899
+ # to Future Reservation will be allowed. Applicable only after the Future
9900
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
9901
+ # procurement_status will transition to PROCURING state at this time. TODO(b/
9902
+ # 183994731): Replace with Timestamp.
9903
+ # Corresponds to the JSON property `lockTime`
9904
+ # @return [String]
9905
+ attr_accessor :lock_time
9906
+
9907
+ # Current state of this Future Reservation
9908
+ # Corresponds to the JSON property `procurementStatus`
9909
+ # @return [String]
9910
+ attr_accessor :procurement_status
9911
+
9912
+ def initialize(**args)
9913
+ update!(**args)
9914
+ end
9915
+
9916
+ # Update properties of this object
9917
+ def update!(**args)
9918
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
9919
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
9920
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
9921
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
9922
+ end
9923
+ end
9924
+
9925
+ #
9926
+ class FutureReservationTimeWindow
9927
+ include Google::Apis::Core::Hashable
9928
+
9929
+ # A Duration represents a fixed-length span of time represented as a count of
9930
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
9931
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
9932
+ # 000 years.
9933
+ # Corresponds to the JSON property `duration`
9934
+ # @return [Google::Apis::ComputeAlpha::Duration]
9935
+ attr_accessor :duration
9936
+
9937
+ # TODO(b/183994731): Replace with Timestamp.
9938
+ # Corresponds to the JSON property `endTime`
9939
+ # @return [String]
9940
+ attr_accessor :end_time
9941
+
9942
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
9943
+ # TODO(b/183994731): Replace with Timestamp.
9944
+ # Corresponds to the JSON property `startTime`
9945
+ # @return [String]
9946
+ attr_accessor :start_time
9947
+
9948
+ def initialize(**args)
9949
+ update!(**args)
9950
+ end
9951
+
9952
+ # Update properties of this object
9953
+ def update!(**args)
9954
+ @duration = args[:duration] if args.key?(:duration)
9955
+ @end_time = args[:end_time] if args.key?(:end_time)
9956
+ @start_time = args[:start_time] if args.key?(:start_time)
9957
+ end
9958
+ end
9959
+
9960
+ # Contains a list of future reservations.
9961
+ class FutureReservationsAggregatedListResponse
9962
+ include Google::Apis::Core::Hashable
9963
+
9964
+ #
9965
+ # Corresponds to the JSON property `etag`
9966
+ # @return [String]
9967
+ attr_accessor :etag
9968
+
9969
+ # [Output Only] Unique identifier for the resource; defined by the server.
9970
+ # Corresponds to the JSON property `id`
9971
+ # @return [String]
9972
+ attr_accessor :id
9973
+
9974
+ # A list of Future reservation resources.
9975
+ # Corresponds to the JSON property `items`
9976
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureReservationsScopedList>]
9977
+ attr_accessor :items
9978
+
9979
+ # Type of resource.
9980
+ # Corresponds to the JSON property `kind`
9981
+ # @return [String]
9982
+ attr_accessor :kind
9983
+
9984
+ # [Output Only] This token allows you to get the next page of results for list
9985
+ # requests. If the number of results is larger than maxResults, use the
9986
+ # nextPageToken as a value for the query parameter pageToken in the next list
9987
+ # request. Subsequent list requests will have their own nextPageToken to
9988
+ # continue paging through the results.
9989
+ # Corresponds to the JSON property `nextPageToken`
9990
+ # @return [String]
9991
+ attr_accessor :next_page_token
9992
+
9993
+ # [Output Only] Server-defined URL for this resource.
9994
+ # Corresponds to the JSON property `selfLink`
9995
+ # @return [String]
9996
+ attr_accessor :self_link
9997
+
9998
+ # [Output Only] Unreachable resources.
9999
+ # Corresponds to the JSON property `unreachables`
10000
+ # @return [Array<String>]
10001
+ attr_accessor :unreachables
10002
+
10003
+ # [Output Only] Informational warning message.
10004
+ # Corresponds to the JSON property `warning`
10005
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning]
10006
+ attr_accessor :warning
10007
+
10008
+ def initialize(**args)
10009
+ update!(**args)
10010
+ end
10011
+
10012
+ # Update properties of this object
10013
+ def update!(**args)
10014
+ @etag = args[:etag] if args.key?(:etag)
10015
+ @id = args[:id] if args.key?(:id)
10016
+ @items = args[:items] if args.key?(:items)
10017
+ @kind = args[:kind] if args.key?(:kind)
10018
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10019
+ @self_link = args[:self_link] if args.key?(:self_link)
10020
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10021
+ @warning = args[:warning] if args.key?(:warning)
10022
+ end
10023
+
10024
+ # [Output Only] Informational warning message.
10025
+ class Warning
10026
+ include Google::Apis::Core::Hashable
10027
+
10028
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10029
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10030
+ # Corresponds to the JSON property `code`
10031
+ # @return [String]
10032
+ attr_accessor :code
10033
+
10034
+ # [Output Only] Metadata about this warning in key: value format. For example:
10035
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10036
+ # Corresponds to the JSON property `data`
10037
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning::Datum>]
10038
+ attr_accessor :data
10039
+
10040
+ # [Output Only] A human-readable description of the warning code.
10041
+ # Corresponds to the JSON property `message`
10042
+ # @return [String]
10043
+ attr_accessor :message
10044
+
10045
+ def initialize(**args)
10046
+ update!(**args)
10047
+ end
10048
+
10049
+ # Update properties of this object
10050
+ def update!(**args)
10051
+ @code = args[:code] if args.key?(:code)
10052
+ @data = args[:data] if args.key?(:data)
10053
+ @message = args[:message] if args.key?(:message)
10054
+ end
10055
+
10056
+ #
10057
+ class Datum
10058
+ include Google::Apis::Core::Hashable
10059
+
10060
+ # [Output Only] A key that provides more detail on the warning being returned.
10061
+ # For example, for warnings where there are no results in a list request for a
10062
+ # particular zone, this key might be scope and the key value might be the zone
10063
+ # name. Other examples might be a key indicating a deprecated resource and a
10064
+ # suggested replacement, or a warning about invalid network settings (for
10065
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10066
+ # for IP forwarding).
10067
+ # Corresponds to the JSON property `key`
10068
+ # @return [String]
10069
+ attr_accessor :key
10070
+
10071
+ # [Output Only] A warning data value corresponding to the key.
10072
+ # Corresponds to the JSON property `value`
10073
+ # @return [String]
10074
+ attr_accessor :value
10075
+
10076
+ def initialize(**args)
10077
+ update!(**args)
10078
+ end
10079
+
10080
+ # Update properties of this object
10081
+ def update!(**args)
10082
+ @key = args[:key] if args.key?(:key)
10083
+ @value = args[:value] if args.key?(:value)
10084
+ end
10085
+ end
10086
+ end
10087
+ end
10088
+
10089
+ #
10090
+ class FutureReservationsListResponse
10091
+ include Google::Apis::Core::Hashable
10092
+
10093
+ #
10094
+ # Corresponds to the JSON property `etag`
10095
+ # @return [String]
10096
+ attr_accessor :etag
10097
+
10098
+ # [Output Only] The unique identifier for the resource. This identifier is
10099
+ # defined by the server.
10100
+ # Corresponds to the JSON property `id`
10101
+ # @return [String]
10102
+ attr_accessor :id
10103
+
10104
+ # [Output Only] A list of future reservation resources.
10105
+ # Corresponds to the JSON property `items`
10106
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10107
+ attr_accessor :items
10108
+
10109
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
10110
+ # reservations
10111
+ # Corresponds to the JSON property `kind`
10112
+ # @return [String]
10113
+ attr_accessor :kind
10114
+
10115
+ # [Output Only] This token allows you to get the next page of results for list
10116
+ # requests. If the number of results is larger than maxResults, use the
10117
+ # nextPageToken as a value for the query parameter pageToken in the next list
10118
+ # request. Subsequent list requests will have their own nextPageToken to
10119
+ # continue paging through the results.
10120
+ # Corresponds to the JSON property `nextPageToken`
10121
+ # @return [String]
10122
+ attr_accessor :next_page_token
10123
+
10124
+ # [Output Only] Server-defined URL for this resource.
10125
+ # Corresponds to the JSON property `selfLink`
10126
+ # @return [String]
10127
+ attr_accessor :self_link
10128
+
10129
+ # [Output Only] Unreachable resources.
10130
+ # Corresponds to the JSON property `unreachables`
10131
+ # @return [Array<String>]
10132
+ attr_accessor :unreachables
10133
+
10134
+ # [Output Only] Informational warning message.
10135
+ # Corresponds to the JSON property `warning`
10136
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning]
10137
+ attr_accessor :warning
10138
+
10139
+ def initialize(**args)
10140
+ update!(**args)
10141
+ end
10142
+
10143
+ # Update properties of this object
10144
+ def update!(**args)
10145
+ @etag = args[:etag] if args.key?(:etag)
10146
+ @id = args[:id] if args.key?(:id)
10147
+ @items = args[:items] if args.key?(:items)
10148
+ @kind = args[:kind] if args.key?(:kind)
10149
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10150
+ @self_link = args[:self_link] if args.key?(:self_link)
10151
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10152
+ @warning = args[:warning] if args.key?(:warning)
10153
+ end
10154
+
10155
+ # [Output Only] Informational warning message.
10156
+ class Warning
10157
+ include Google::Apis::Core::Hashable
10158
+
10159
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10160
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10161
+ # Corresponds to the JSON property `code`
10162
+ # @return [String]
10163
+ attr_accessor :code
10164
+
10165
+ # [Output Only] Metadata about this warning in key: value format. For example:
10166
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10167
+ # Corresponds to the JSON property `data`
10168
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning::Datum>]
10169
+ attr_accessor :data
10170
+
10171
+ # [Output Only] A human-readable description of the warning code.
10172
+ # Corresponds to the JSON property `message`
10173
+ # @return [String]
10174
+ attr_accessor :message
10175
+
10176
+ def initialize(**args)
10177
+ update!(**args)
10178
+ end
10179
+
10180
+ # Update properties of this object
10181
+ def update!(**args)
10182
+ @code = args[:code] if args.key?(:code)
10183
+ @data = args[:data] if args.key?(:data)
10184
+ @message = args[:message] if args.key?(:message)
10185
+ end
10186
+
10187
+ #
10188
+ class Datum
10189
+ include Google::Apis::Core::Hashable
10190
+
10191
+ # [Output Only] A key that provides more detail on the warning being returned.
10192
+ # For example, for warnings where there are no results in a list request for a
10193
+ # particular zone, this key might be scope and the key value might be the zone
10194
+ # name. Other examples might be a key indicating a deprecated resource and a
10195
+ # suggested replacement, or a warning about invalid network settings (for
10196
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10197
+ # for IP forwarding).
10198
+ # Corresponds to the JSON property `key`
10199
+ # @return [String]
10200
+ attr_accessor :key
10201
+
10202
+ # [Output Only] A warning data value corresponding to the key.
10203
+ # Corresponds to the JSON property `value`
10204
+ # @return [String]
10205
+ attr_accessor :value
10206
+
10207
+ def initialize(**args)
10208
+ update!(**args)
10209
+ end
10210
+
10211
+ # Update properties of this object
10212
+ def update!(**args)
10213
+ @key = args[:key] if args.key?(:key)
10214
+ @value = args[:value] if args.key?(:value)
10215
+ end
10216
+ end
10217
+ end
10218
+ end
10219
+
10220
+ #
10221
+ class FutureReservationsScopedList
10222
+ include Google::Apis::Core::Hashable
10223
+
10224
+ # A list of future reservations contained in this scope.
10225
+ # Corresponds to the JSON property `resources`
10226
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10227
+ attr_accessor :resources
10228
+
10229
+ # Informational warning which replaces the list of future reservations when the
10230
+ # list is empty.
10231
+ # Corresponds to the JSON property `warning`
10232
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning]
10233
+ attr_accessor :warning
10234
+
10235
+ def initialize(**args)
10236
+ update!(**args)
10237
+ end
10238
+
10239
+ # Update properties of this object
10240
+ def update!(**args)
10241
+ @resources = args[:resources] if args.key?(:resources)
10242
+ @warning = args[:warning] if args.key?(:warning)
10243
+ end
10244
+
10245
+ # Informational warning which replaces the list of future reservations when the
10246
+ # list is empty.
10247
+ class Warning
10248
+ include Google::Apis::Core::Hashable
10249
+
10250
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10251
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10252
+ # Corresponds to the JSON property `code`
10253
+ # @return [String]
10254
+ attr_accessor :code
10255
+
10256
+ # [Output Only] Metadata about this warning in key: value format. For example:
10257
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10258
+ # Corresponds to the JSON property `data`
10259
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning::Datum>]
10260
+ attr_accessor :data
10261
+
10262
+ # [Output Only] A human-readable description of the warning code.
10263
+ # Corresponds to the JSON property `message`
10264
+ # @return [String]
10265
+ attr_accessor :message
10266
+
10267
+ def initialize(**args)
10268
+ update!(**args)
10269
+ end
10270
+
10271
+ # Update properties of this object
10272
+ def update!(**args)
10273
+ @code = args[:code] if args.key?(:code)
10274
+ @data = args[:data] if args.key?(:data)
10275
+ @message = args[:message] if args.key?(:message)
10276
+ end
10277
+
10278
+ #
10279
+ class Datum
10280
+ include Google::Apis::Core::Hashable
10281
+
10282
+ # [Output Only] A key that provides more detail on the warning being returned.
10283
+ # For example, for warnings where there are no results in a list request for a
10284
+ # particular zone, this key might be scope and the key value might be the zone
10285
+ # name. Other examples might be a key indicating a deprecated resource and a
10286
+ # suggested replacement, or a warning about invalid network settings (for
10287
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10288
+ # for IP forwarding).
10289
+ # Corresponds to the JSON property `key`
10290
+ # @return [String]
10291
+ attr_accessor :key
10292
+
10293
+ # [Output Only] A warning data value corresponding to the key.
10294
+ # Corresponds to the JSON property `value`
10295
+ # @return [String]
10296
+ attr_accessor :value
10297
+
10298
+ def initialize(**args)
10299
+ update!(**args)
10300
+ end
10301
+
10302
+ # Update properties of this object
10303
+ def update!(**args)
10304
+ @key = args[:key] if args.key?(:key)
10305
+ @value = args[:value] if args.key?(:value)
10306
+ end
10307
+ end
10308
+ end
10309
+ end
10310
+
9753
10311
  #
9754
10312
  class GrpcHealthCheck
9755
10313
  include Google::Apis::Core::Hashable
@@ -10767,11 +11325,12 @@ module Google
10767
11325
 
10768
11326
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
10769
11327
  # and not more than 10. HealthCheck resources must have portSpecification=
10770
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
10771
- # regional and in the same region. For global HealthCheckService, HealthCheck
10772
- # must be global. Mix of regional and global HealthChecks is not supported.
10773
- # Multiple regional HealthChecks must belong to the same region. Regional
10774
- # HealthChecks</code? must belong to the same region as zones of NEGs.
11328
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
11329
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
11330
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
11331
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
11332
+ # belong to the same region. Regional HealthChecks must belong to the same
11333
+ # region as zones of NEGs.
10775
11334
  # Corresponds to the JSON property `healthChecks`
10776
11335
  # @return [Array<String>]
10777
11336
  attr_accessor :health_checks
@@ -11621,6 +12180,9 @@ module Google
11621
12180
 
11622
12181
  # The HTTP status code used to abort the request.
11623
12182
  # The value must be between 200 and 599 inclusive.
12183
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
12184
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
12185
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
11624
12186
  # Corresponds to the JSON property `httpStatus`
11625
12187
  # @return [Fixnum]
11626
12188
  attr_accessor :http_status
@@ -12290,8 +12852,8 @@ module Google
12290
12852
  # @return [Google::Apis::ComputeAlpha::Duration]
12291
12853
  attr_accessor :per_try_timeout
12292
12854
 
12293
- # Specfies one or more conditions when this retry rule applies. Valid values are:
12294
- #
12855
+ # Specifies one or more conditions when this retry rule applies. Valid values
12856
+ # are:
12295
12857
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
12296
12858
  # any 5xx response code, or if the backend service does not respond at all,
12297
12859
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -12987,13 +13549,17 @@ module Google
12987
13549
  # @return [Google::Apis::ComputeAlpha::InitialStateConfig]
12988
13550
  attr_accessor :shielded_instance_initial_state
12989
13551
 
12990
- # URL of the source disk used to create this image. This can be a full or valid
12991
- # partial URL. You must provide either this property or the rawDisk.source
12992
- # property but not both to create an image. For example, the following are valid
12993
- # values:
13552
+ # URL of the source disk used to create this image. For example, the following
13553
+ # are valid values:
12994
13554
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
12995
13555
  # - projects/project/zones/zone/disks/disk
12996
13556
  # - zones/zone/disks/disk
13557
+ # In order to create an image, you must provide the full or partial URL of one
13558
+ # of the following:
13559
+ # - The rawDisk.source URL
13560
+ # - The sourceDisk URL
13561
+ # - The sourceImage URL
13562
+ # - The sourceSnapshot URL
12997
13563
  # Corresponds to the JSON property `sourceDisk`
12998
13564
  # @return [String]
12999
13565
  attr_accessor :source_disk
@@ -13014,10 +13580,10 @@ module Google
13014
13580
  # URL of the source image used to create this image.
13015
13581
  # In order to create an image, you must provide the full or partial URL of one
13016
13582
  # of the following:
13017
- # - The selfLink URL
13018
- # - This property
13019
13583
  # - The rawDisk.source URL
13020
13584
  # - The sourceDisk URL
13585
+ # - The sourceImage URL
13586
+ # - The sourceSnapshot URL
13021
13587
  # Corresponds to the JSON property `sourceImage`
13022
13588
  # @return [String]
13023
13589
  attr_accessor :source_image
@@ -13038,11 +13604,10 @@ module Google
13038
13604
  # URL of the source snapshot used to create this image.
13039
13605
  # In order to create an image, you must provide the full or partial URL of one
13040
13606
  # of the following:
13041
- # - The selfLink URL
13042
- # - This property
13043
- # - The sourceImage URL
13044
13607
  # - The rawDisk.source URL
13045
13608
  # - The sourceDisk URL
13609
+ # - The sourceImage URL
13610
+ # - The sourceSnapshot URL
13046
13611
  # Corresponds to the JSON property `sourceSnapshot`
13047
13612
  # @return [String]
13048
13613
  attr_accessor :source_snapshot
@@ -13138,8 +13703,13 @@ module Google
13138
13703
  # @return [String]
13139
13704
  attr_accessor :sha1_checksum
13140
13705
 
13141
- # The full Google Cloud Storage URL where the disk image is stored. You must
13142
- # provide either this property or the sourceDisk property but not both.
13706
+ # The full Google Cloud Storage URL where the disk image is stored.
13707
+ # In order to create an image, you must provide the full or partial URL of one
13708
+ # of the following:
13709
+ # - The rawDisk.source URL
13710
+ # - The sourceDisk URL
13711
+ # - The sourceImage URL
13712
+ # - The sourceSnapshot URL
13143
13713
  # Corresponds to the JSON property `source`
13144
13714
  # @return [String]
13145
13715
  attr_accessor :source
@@ -13838,19 +14408,13 @@ module Google
13838
14408
  attr_accessor :satisfies_pzs
13839
14409
  alias_method :satisfies_pzs?, :satisfies_pzs
13840
14410
 
13841
- # Sets the scheduling options for an Instance. NextID: 20
14411
+ # Sets the scheduling options for an Instance. NextID: 21
13842
14412
  # Corresponds to the JSON property `scheduling`
13843
14413
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13844
14414
  attr_accessor :scheduling
13845
14415
 
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
- # Secure tags to apply to this instance. These can be later modified by the
13853
- # update method. Maximum number of secure tags allowed is 300.
14416
+ # [Input Only] Secure tags to apply to this instance. These can be later
14417
+ # modified by the update method. Maximum number of secure tags allowed is 50.
13854
14418
  # Corresponds to the JSON property `secureTags`
13855
14419
  # @return [Array<String>]
13856
14420
  attr_accessor :secure_tags
@@ -13985,7 +14549,6 @@ module Google
13985
14549
  @resource_status = args[:resource_status] if args.key?(:resource_status)
13986
14550
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
13987
14551
  @scheduling = args[:scheduling] if args.key?(:scheduling)
13988
- @secure_labels = args[:secure_labels] if args.key?(:secure_labels)
13989
14552
  @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
13990
14553
  @self_link = args[:self_link] if args.key?(:self_link)
13991
14554
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -14498,6 +15061,13 @@ module Google
14498
15061
  end
14499
15062
  end
14500
15063
 
15064
+ # Whether the instance is a standby. Properties of a standby instance comparing
15065
+ # to the regular instance: ======================================================
15066
+ # =================== | regular | standby =======================================
15067
+ # ================================== managed by IGM? | yes | yes added to the IG?
15068
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
15069
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
15070
+ # =========================================================
14501
15071
  # Represents a Managed Instance Group resource.
14502
15072
  # An instance group is a collection of VM instances that you can manage as a
14503
15073
  # single entity. For more information, read Instance groups.
@@ -15545,6 +16115,18 @@ module Google
15545
16115
  # @return [Array<String>]
15546
16116
  attr_accessor :instances
15547
16117
 
16118
+ # Specifies whether the request should proceed despite the inclusion of
16119
+ # instances that are not members of the group or that are already in the process
16120
+ # of being deleted or abandoned. If this field is set to `false` and such an
16121
+ # instance is specified in the request, the operation fails. The operation
16122
+ # always fails if the request contains a malformed instance URL or a reference
16123
+ # to an instance that exists in a zone or region other than the group's zone or
16124
+ # region.
16125
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
16126
+ # @return [Boolean]
16127
+ attr_accessor :skip_instances_on_validation_error
16128
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
16129
+
15548
16130
  def initialize(**args)
15549
16131
  update!(**args)
15550
16132
  end
@@ -15552,6 +16134,7 @@ module Google
15552
16134
  # Update properties of this object
15553
16135
  def update!(**args)
15554
16136
  @instances = args[:instances] if args.key?(:instances)
16137
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
15555
16138
  end
15556
16139
  end
15557
16140
 
@@ -16872,11 +17455,17 @@ module Google
16872
17455
  # @return [Array<String>]
16873
17456
  attr_accessor :resource_policies
16874
17457
 
16875
- # Sets the scheduling options for an Instance. NextID: 20
17458
+ # Sets the scheduling options for an Instance. NextID: 21
16876
17459
  # Corresponds to the JSON property `scheduling`
16877
17460
  # @return [Google::Apis::ComputeAlpha::Scheduling]
16878
17461
  attr_accessor :scheduling
16879
17462
 
17463
+ # [Input Only] Secure tags to apply to this instance. Maximum number of secure
17464
+ # tags allowed is 50.
17465
+ # Corresponds to the JSON property `secureTags`
17466
+ # @return [Array<String>]
17467
+ attr_accessor :secure_tags
17468
+
16880
17469
  # A list of service accounts with specified scopes. Access tokens for these
16881
17470
  # service accounts are available to the instances that are created from these
16882
17471
  # properties. Use metadata queries to obtain the access tokens for these
@@ -16924,6 +17513,7 @@ module Google
16924
17513
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
16925
17514
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
16926
17515
  @scheduling = args[:scheduling] if args.key?(:scheduling)
17516
+ @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
16927
17517
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
16928
17518
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
16929
17519
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
@@ -18140,6 +18730,14 @@ module Google
18140
18730
  # @return [Fixnum]
18141
18731
  attr_accessor :requested_link_count
18142
18732
 
18733
+ # [Output Only] Set to true if the resource satisfies the zone separation
18734
+ # organization policy constraints and false otherwise. Defaults to false if the
18735
+ # field is not present.
18736
+ # Corresponds to the JSON property `satisfiesPzs`
18737
+ # @return [Boolean]
18738
+ attr_accessor :satisfies_pzs
18739
+ alias_method :satisfies_pzs?, :satisfies_pzs
18740
+
18143
18741
  # [Output Only] Server-defined URL for the resource.
18144
18742
  # Corresponds to the JSON property `selfLink`
18145
18743
  # @return [String]
@@ -18190,6 +18788,7 @@ module Google
18190
18788
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
18191
18789
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
18192
18790
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
18791
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18193
18792
  @self_link = args[:self_link] if args.key?(:self_link)
18194
18793
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
18195
18794
  @state = args[:state] if args.key?(:state)
@@ -18232,6 +18831,17 @@ module Google
18232
18831
  # @return [String]
18233
18832
  attr_accessor :bandwidth
18234
18833
 
18834
+ # Up to 16 candidate prefixes that control the allocation of
18835
+ # cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
18836
+ # prefix must be in the Global Unique Address (GUA) space. It is highly
18837
+ # recommended that it be in a range owned by the requestor. A GUA in a range
18838
+ # owned by Google will cause the request to fail. Google will select an
18839
+ # available prefix from the supplied candidates or fail the request. If not
18840
+ # supplied, a /125 from a Google-owned GUA block will be selected.
18841
+ # Corresponds to the JSON property `candidateIpv6Subnets`
18842
+ # @return [Array<String>]
18843
+ attr_accessor :candidate_ipv6_subnets
18844
+
18235
18845
  # Up to 16 candidate prefixes that can be used to restrict the allocation of
18236
18846
  # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
18237
18847
  # prefixes must be within link-local address space (169.254.0.0/16) and must be /
@@ -18249,6 +18859,20 @@ module Google
18249
18859
  # @return [String]
18250
18860
  attr_accessor :cloud_router_ip_address
18251
18861
 
18862
+ # [Output Only] IPv6 address + prefix length to be configured on Cloud Router
18863
+ # Interface for this interconnect attachment.
18864
+ # Corresponds to the JSON property `cloudRouterIpv6Address`
18865
+ # @return [String]
18866
+ attr_accessor :cloud_router_ipv6_address
18867
+
18868
+ # If supplied, the interface id (index within the subnet) to be used for the
18869
+ # cloud router address. The id must be in the range of 1 to 6. If a subnet mask
18870
+ # is supplied, it must be /125, and the subnet should either be 0 or match the
18871
+ # selected subnet.
18872
+ # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
18873
+ # @return [String]
18874
+ attr_accessor :cloud_router_ipv6_interface_id
18875
+
18252
18876
  # [Output Only] Creation timestamp in RFC3339 text format.
18253
18877
  # Corresponds to the JSON property `creationTimestamp`
18254
18878
  # @return [String]
@@ -18260,6 +18884,20 @@ module Google
18260
18884
  # @return [String]
18261
18885
  attr_accessor :customer_router_ip_address
18262
18886
 
18887
+ # [Output Only] IPv6 address + prefix length to be configured on the customer
18888
+ # router subinterface for this interconnect attachment.
18889
+ # Corresponds to the JSON property `customerRouterIpv6Address`
18890
+ # @return [String]
18891
+ attr_accessor :customer_router_ipv6_address
18892
+
18893
+ # If supplied, the interface id (index within the subnet) to be used for the
18894
+ # customer router address. The id must be in the range of 1 to 6. If a subnet
18895
+ # mask is supplied, it must be /125, and the subnet should either be 0 or match
18896
+ # the selected subnet.
18897
+ # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
18898
+ # @return [String]
18899
+ attr_accessor :customer_router_ipv6_interface_id
18900
+
18263
18901
  # [Output Only] Dataplane version for this InterconnectAttachment.
18264
18902
  # Corresponds to the JSON property `dataplaneVersion`
18265
18903
  # @return [Fixnum]
@@ -18283,14 +18921,18 @@ module Google
18283
18921
  # @return [String]
18284
18922
  attr_accessor :edge_availability_domain
18285
18923
 
18286
- # Indicates the user-supplied encryption option of this interconnect attachment:
18287
- # - NONE is the default value, which means that the attachment carries
18288
- # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
18289
- # type of attachment.
18290
- # - IPSEC indicates that the attachment carries only traffic encrypted by an
18291
- # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
18292
- # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
18293
- # Interconnect, create the attachment using this option.
18924
+ # Indicates the user-supplied encryption option of this VLAN attachment (
18925
+ # interconnectAttachment). Can only be specified at attachment creation for
18926
+ # PARTNER or DEDICATED attachments. Possible values are:
18927
+ # - NONE - This is the default value, which means that the VLAN attachment
18928
+ # carries unencrypted traffic. VMs are able to send traffic to, or receive
18929
+ # traffic from, such a VLAN attachment.
18930
+ # - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted
18931
+ # by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs
18932
+ # cannot directly send traffic to, or receive traffic from, such a VLAN
18933
+ # attachment. To use IPsec-encrypted Cloud Interconnect, the VLAN attachment
18934
+ # must be created with this option.
18935
+ # Not currently available publicly.
18294
18936
  # Corresponds to the JSON property `encryption`
18295
18937
  # @return [String]
18296
18938
  attr_accessor :encryption
@@ -18314,18 +18956,19 @@ module Google
18314
18956
  # @return [String]
18315
18957
  attr_accessor :interconnect
18316
18958
 
18317
- # URL of addresses that have been reserved for the interconnect attachment, Used
18318
- # only for interconnect attachment that has the encryption option as IPSEC. The
18319
- # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
18320
- # over the interconnect attachment, if the attachment is configured to use an
18321
- # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
18322
- # the IP address range specified here. For example, if the HA VPN gateway?s
18323
- # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
18959
+ # List of URL of addresses that have been reserved for the VLAN attachment. Used
18960
+ # only for the VLAN attachment that has the encryption option as IPSEC. The
18961
+ # addresses must be regional internal IP address ranges. When creating an HA VPN
18962
+ # gateway over the VLAN attachment, if the attachment is configured to use a
18963
+ # regional internal IP address, then the VPN gateway's IP address is allocated
18964
+ # from the IP address range specified here. For example, if the HA VPN gateway's
18965
+ # interface 0 is paired to this VLAN attachment, then a regional internal IP
18324
18966
  # address for the VPN gateway interface 0 will be allocated from the IP address
18325
- # specified for this interconnect attachment. If this field is not specified for
18326
- # interconnect attachment that has encryption option as IPSEC, later on when
18327
- # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
18328
- # IP address will be allocated from regional external IP address pool.
18967
+ # specified for this VLAN attachment. If this field is not specified when
18968
+ # creating the VLAN attachment, then later on when creating an HA VPN gateway on
18969
+ # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
18970
+ # regional external IP address pool.
18971
+ # Not currently available publicly.
18329
18972
  # Corresponds to the JSON property `ipsecInternalAddresses`
18330
18973
  # @return [Array<String>]
18331
18974
  attr_accessor :ipsec_internal_addresses
@@ -18425,6 +19068,14 @@ module Google
18425
19068
  # @return [String]
18426
19069
  attr_accessor :router
18427
19070
 
19071
+ # [Output Only] Set to true if the resource satisfies the zone separation
19072
+ # organization policy constraints and false otherwise. Defaults to false if the
19073
+ # field is not present.
19074
+ # Corresponds to the JSON property `satisfiesPzs`
19075
+ # @return [Boolean]
19076
+ attr_accessor :satisfies_pzs
19077
+ alias_method :satisfies_pzs?, :satisfies_pzs
19078
+
18428
19079
  # [Output Only] Server-defined URL for the resource.
18429
19080
  # Corresponds to the JSON property `selfLink`
18430
19081
  # @return [String]
@@ -18435,6 +19086,14 @@ module Google
18435
19086
  # @return [String]
18436
19087
  attr_accessor :self_link_with_id
18437
19088
 
19089
+ # The stack type for this interconnect attachment to identify whether the IPv6
19090
+ # feature is enabled or not. If not specified, IPV4_ONLY will be used.
19091
+ # This field can be both set at interconnect attachments creation and update
19092
+ # interconnect attachment operations.
19093
+ # Corresponds to the JSON property `stackType`
19094
+ # @return [String]
19095
+ attr_accessor :stack_type
19096
+
18438
19097
  # [Output Only] The current state of this attachment's functionality. Enum
18439
19098
  # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
18440
19099
  # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
@@ -18482,10 +19141,15 @@ module Google
18482
19141
  def update!(**args)
18483
19142
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
18484
19143
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
19144
+ @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
18485
19145
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
18486
19146
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
19147
+ @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
19148
+ @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
18487
19149
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18488
19150
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
19151
+ @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
19152
+ @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
18489
19153
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
18490
19154
  @description = args[:description] if args.key?(:description)
18491
19155
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
@@ -18506,8 +19170,10 @@ module Google
18506
19170
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
18507
19171
  @region = args[:region] if args.key?(:region)
18508
19172
  @router = args[:router] if args.key?(:router)
19173
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18509
19174
  @self_link = args[:self_link] if args.key?(:self_link)
18510
19175
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19176
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
18511
19177
  @state = args[:state] if args.key?(:state)
18512
19178
  @type = args[:type] if args.key?(:type)
18513
19179
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
@@ -19346,6 +20012,13 @@ module Google
19346
20012
  # @return [String]
19347
20013
  attr_accessor :status
19348
20014
 
20015
+ # [Output Only] Set to true for locations that support physical zone separation.
20016
+ # Defaults to false if the field is not present.
20017
+ # Corresponds to the JSON property `supportsPzs`
20018
+ # @return [Boolean]
20019
+ attr_accessor :supports_pzs
20020
+ alias_method :supports_pzs?, :supports_pzs
20021
+
19349
20022
  def initialize(**args)
19350
20023
  update!(**args)
19351
20024
  end
@@ -19368,6 +20041,7 @@ module Google
19368
20041
  @self_link = args[:self_link] if args.key?(:self_link)
19369
20042
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19370
20043
  @status = args[:status] if args.key?(:status)
20044
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
19371
20045
  end
19372
20046
  end
19373
20047
 
@@ -19575,8 +20249,10 @@ module Google
19575
20249
  # - ACTIVE: This outage notification is active. The event could be in the past,
19576
20250
  # present, or future. See start_time and end_time for scheduling.
19577
20251
  # - CANCELLED: The outage associated with this notification was cancelled before
19578
- # the outage was due to start. Note that the versions of this enum prefixed with
19579
- # "NS_" have been deprecated in favor of the unprefixed values.
20252
+ # the outage was due to start.
20253
+ # - COMPLETED: The outage associated with this notification is complete. Note
20254
+ # that the versions of this enum prefixed with "NS_" have been deprecated in
20255
+ # favor of the unprefixed values.
19580
20256
  # Corresponds to the JSON property `state`
19581
20257
  # @return [String]
19582
20258
  attr_accessor :state
@@ -20416,12 +21092,17 @@ module Google
20416
21092
  include Google::Apis::Core::Hashable
20417
21093
 
20418
21094
  # Location configurations mapped by location name. Currently only zone names are
20419
- # supported and must be represented as valid internal URLs, like: zones/us-
21095
+ # supported and must be represented as valid internal URLs, such as zones/us-
20420
21096
  # central1-a.
20421
21097
  # Corresponds to the JSON property `locations`
20422
21098
  # @return [Hash<String,Google::Apis::ComputeAlpha::LocationPolicyLocation>]
20423
21099
  attr_accessor :locations
20424
21100
 
21101
+ # Strategy for distributing VMs across zones in a region.
21102
+ # Corresponds to the JSON property `targetShape`
21103
+ # @return [String]
21104
+ attr_accessor :target_shape
21105
+
20425
21106
  def initialize(**args)
20426
21107
  update!(**args)
20427
21108
  end
@@ -20429,6 +21110,7 @@ module Google
20429
21110
  # Update properties of this object
20430
21111
  def update!(**args)
20431
21112
  @locations = args[:locations] if args.key?(:locations)
21113
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
20432
21114
  end
20433
21115
  end
20434
21116
 
@@ -20436,7 +21118,7 @@ module Google
20436
21118
  class LocationPolicyLocation
20437
21119
  include Google::Apis::Core::Hashable
20438
21120
 
20439
- #
21121
+ # Preference for a given location: ALLOW or DENY.
20440
21122
  # Corresponds to the JSON property `preference`
20441
21123
  # @return [String]
20442
21124
  attr_accessor :preference
@@ -21422,6 +22104,13 @@ module Google
21422
22104
  # @return [String]
21423
22105
  attr_accessor :tag
21424
22106
 
22107
+ # [Output Only] The eventual status of the instance. The instance group manager
22108
+ # will not be identified as stable till each managed instance reaches its
22109
+ # targetStatus.
22110
+ # Corresponds to the JSON property `targetStatus`
22111
+ # @return [String]
22112
+ attr_accessor :target_status
22113
+
21425
22114
  # [Output Only] Intended version of this instance.
21426
22115
  # Corresponds to the JSON property `version`
21427
22116
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
@@ -21443,6 +22132,7 @@ module Google
21443
22132
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
21444
22133
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
21445
22134
  @tag = args[:tag] if args.key?(:tag)
22135
+ @target_status = args[:target_status] if args.key?(:target_status)
21446
22136
  @version = args[:version] if args.key?(:version)
21447
22137
  end
21448
22138
  end
@@ -21928,6 +22618,320 @@ module Google
21928
22618
  end
21929
22619
  end
21930
22620
 
22621
+ # Represents a Google Cloud Armor network edge security service resource. (==
22622
+ # resource_for `$api_version`.networkEdgeSecurityServices ==)
22623
+ class NetworkEdgeSecurityService
22624
+ include Google::Apis::Core::Hashable
22625
+
22626
+ # [Output Only] Creation timestamp in RFC3339 text format.
22627
+ # Corresponds to the JSON property `creationTimestamp`
22628
+ # @return [String]
22629
+ attr_accessor :creation_timestamp
22630
+
22631
+ # An optional description of this resource. Provide this property when you
22632
+ # create the resource.
22633
+ # Corresponds to the JSON property `description`
22634
+ # @return [String]
22635
+ attr_accessor :description
22636
+
22637
+ # Fingerprint of this resource. A hash of the contents stored in this object.
22638
+ # This field is used in optimistic locking. This field will be ignored when
22639
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
22640
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
22641
+ # request will fail with error 412 conditionNotMet.
22642
+ # To see the latest fingerprint, make a get() request to retrieve a
22643
+ # NetworkEdgeSecurityService.
22644
+ # Corresponds to the JSON property `fingerprint`
22645
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
22646
+ # @return [String]
22647
+ attr_accessor :fingerprint
22648
+
22649
+ # [Output Only] The unique identifier for the resource. This identifier is
22650
+ # defined by the server.
22651
+ # Corresponds to the JSON property `id`
22652
+ # @return [Fixnum]
22653
+ attr_accessor :id
22654
+
22655
+ # [Output only] Type of the resource. Always compute#
22656
+ # networkEdgeSecurityServicefor NetworkEdgeSecurityServices
22657
+ # Corresponds to the JSON property `kind`
22658
+ # @return [String]
22659
+ attr_accessor :kind
22660
+
22661
+ # Name of the resource. Provided by the client when the resource is created. The
22662
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
22663
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
22664
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
22665
+ # and all following characters must be a dash, lowercase letter, or digit,
22666
+ # except the last character, which cannot be a dash.
22667
+ # Corresponds to the JSON property `name`
22668
+ # @return [String]
22669
+ attr_accessor :name
22670
+
22671
+ # [Output Only] URL of the region where the resource resides. You must specify
22672
+ # this field as part of the HTTP request URL. It is not settable as a field in
22673
+ # the request body.
22674
+ # Corresponds to the JSON property `region`
22675
+ # @return [String]
22676
+ attr_accessor :region
22677
+
22678
+ # The resource URL for the network edge security service associated with this
22679
+ # network edge security service.
22680
+ # Corresponds to the JSON property `securityPolicy`
22681
+ # @return [String]
22682
+ attr_accessor :security_policy
22683
+
22684
+ # [Output Only] Server-defined URL for the resource.
22685
+ # Corresponds to the JSON property `selfLink`
22686
+ # @return [String]
22687
+ attr_accessor :self_link
22688
+
22689
+ # [Output Only] Server-defined URL for this resource with the resource id.
22690
+ # Corresponds to the JSON property `selfLinkWithId`
22691
+ # @return [String]
22692
+ attr_accessor :self_link_with_id
22693
+
22694
+ def initialize(**args)
22695
+ update!(**args)
22696
+ end
22697
+
22698
+ # Update properties of this object
22699
+ def update!(**args)
22700
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22701
+ @description = args[:description] if args.key?(:description)
22702
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
22703
+ @id = args[:id] if args.key?(:id)
22704
+ @kind = args[:kind] if args.key?(:kind)
22705
+ @name = args[:name] if args.key?(:name)
22706
+ @region = args[:region] if args.key?(:region)
22707
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
22708
+ @self_link = args[:self_link] if args.key?(:self_link)
22709
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
22710
+ end
22711
+ end
22712
+
22713
+ #
22714
+ class NetworkEdgeSecurityServiceAggregatedList
22715
+ include Google::Apis::Core::Hashable
22716
+
22717
+ #
22718
+ # Corresponds to the JSON property `etag`
22719
+ # @return [String]
22720
+ attr_accessor :etag
22721
+
22722
+ # [Output Only] Unique identifier for the resource; defined by the server.
22723
+ # Corresponds to the JSON property `id`
22724
+ # @return [String]
22725
+ attr_accessor :id
22726
+
22727
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
22728
+ # Corresponds to the JSON property `items`
22729
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList>]
22730
+ attr_accessor :items
22731
+
22732
+ # [Output Only] Type of resource. Always compute#
22733
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
22734
+ # Services.
22735
+ # Corresponds to the JSON property `kind`
22736
+ # @return [String]
22737
+ attr_accessor :kind
22738
+
22739
+ # [Output Only] This token allows you to get the next page of results for list
22740
+ # requests. If the number of results is larger than maxResults, use the
22741
+ # nextPageToken as a value for the query parameter pageToken in the next list
22742
+ # request. Subsequent list requests will have their own nextPageToken to
22743
+ # continue paging through the results.
22744
+ # Corresponds to the JSON property `nextPageToken`
22745
+ # @return [String]
22746
+ attr_accessor :next_page_token
22747
+
22748
+ # [Output Only] Server-defined URL for this resource.
22749
+ # Corresponds to the JSON property `selfLink`
22750
+ # @return [String]
22751
+ attr_accessor :self_link
22752
+
22753
+ # [Output Only] Unreachable resources.
22754
+ # Corresponds to the JSON property `unreachables`
22755
+ # @return [Array<String>]
22756
+ attr_accessor :unreachables
22757
+
22758
+ # [Output Only] Informational warning message.
22759
+ # Corresponds to the JSON property `warning`
22760
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning]
22761
+ attr_accessor :warning
22762
+
22763
+ def initialize(**args)
22764
+ update!(**args)
22765
+ end
22766
+
22767
+ # Update properties of this object
22768
+ def update!(**args)
22769
+ @etag = args[:etag] if args.key?(:etag)
22770
+ @id = args[:id] if args.key?(:id)
22771
+ @items = args[:items] if args.key?(:items)
22772
+ @kind = args[:kind] if args.key?(:kind)
22773
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22774
+ @self_link = args[:self_link] if args.key?(:self_link)
22775
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
22776
+ @warning = args[:warning] if args.key?(:warning)
22777
+ end
22778
+
22779
+ # [Output Only] Informational warning message.
22780
+ class Warning
22781
+ include Google::Apis::Core::Hashable
22782
+
22783
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22784
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22785
+ # Corresponds to the JSON property `code`
22786
+ # @return [String]
22787
+ attr_accessor :code
22788
+
22789
+ # [Output Only] Metadata about this warning in key: value format. For example:
22790
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22791
+ # Corresponds to the JSON property `data`
22792
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
22793
+ attr_accessor :data
22794
+
22795
+ # [Output Only] A human-readable description of the warning code.
22796
+ # Corresponds to the JSON property `message`
22797
+ # @return [String]
22798
+ attr_accessor :message
22799
+
22800
+ def initialize(**args)
22801
+ update!(**args)
22802
+ end
22803
+
22804
+ # Update properties of this object
22805
+ def update!(**args)
22806
+ @code = args[:code] if args.key?(:code)
22807
+ @data = args[:data] if args.key?(:data)
22808
+ @message = args[:message] if args.key?(:message)
22809
+ end
22810
+
22811
+ #
22812
+ class Datum
22813
+ include Google::Apis::Core::Hashable
22814
+
22815
+ # [Output Only] A key that provides more detail on the warning being returned.
22816
+ # For example, for warnings where there are no results in a list request for a
22817
+ # particular zone, this key might be scope and the key value might be the zone
22818
+ # name. Other examples might be a key indicating a deprecated resource and a
22819
+ # suggested replacement, or a warning about invalid network settings (for
22820
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22821
+ # for IP forwarding).
22822
+ # Corresponds to the JSON property `key`
22823
+ # @return [String]
22824
+ attr_accessor :key
22825
+
22826
+ # [Output Only] A warning data value corresponding to the key.
22827
+ # Corresponds to the JSON property `value`
22828
+ # @return [String]
22829
+ attr_accessor :value
22830
+
22831
+ def initialize(**args)
22832
+ update!(**args)
22833
+ end
22834
+
22835
+ # Update properties of this object
22836
+ def update!(**args)
22837
+ @key = args[:key] if args.key?(:key)
22838
+ @value = args[:value] if args.key?(:value)
22839
+ end
22840
+ end
22841
+ end
22842
+ end
22843
+
22844
+ #
22845
+ class NetworkEdgeSecurityServicesScopedList
22846
+ include Google::Apis::Core::Hashable
22847
+
22848
+ # A list of NetworkEdgeSecurityServices contained in this scope.
22849
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
22850
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityService>]
22851
+ attr_accessor :network_edge_security_services
22852
+
22853
+ # Informational warning which replaces the list of security policies when the
22854
+ # list is empty.
22855
+ # Corresponds to the JSON property `warning`
22856
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning]
22857
+ attr_accessor :warning
22858
+
22859
+ def initialize(**args)
22860
+ update!(**args)
22861
+ end
22862
+
22863
+ # Update properties of this object
22864
+ def update!(**args)
22865
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
22866
+ @warning = args[:warning] if args.key?(:warning)
22867
+ end
22868
+
22869
+ # Informational warning which replaces the list of security policies when the
22870
+ # list is empty.
22871
+ class Warning
22872
+ include Google::Apis::Core::Hashable
22873
+
22874
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22875
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22876
+ # Corresponds to the JSON property `code`
22877
+ # @return [String]
22878
+ attr_accessor :code
22879
+
22880
+ # [Output Only] Metadata about this warning in key: value format. For example:
22881
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22882
+ # Corresponds to the JSON property `data`
22883
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
22884
+ attr_accessor :data
22885
+
22886
+ # [Output Only] A human-readable description of the warning code.
22887
+ # Corresponds to the JSON property `message`
22888
+ # @return [String]
22889
+ attr_accessor :message
22890
+
22891
+ def initialize(**args)
22892
+ update!(**args)
22893
+ end
22894
+
22895
+ # Update properties of this object
22896
+ def update!(**args)
22897
+ @code = args[:code] if args.key?(:code)
22898
+ @data = args[:data] if args.key?(:data)
22899
+ @message = args[:message] if args.key?(:message)
22900
+ end
22901
+
22902
+ #
22903
+ class Datum
22904
+ include Google::Apis::Core::Hashable
22905
+
22906
+ # [Output Only] A key that provides more detail on the warning being returned.
22907
+ # For example, for warnings where there are no results in a list request for a
22908
+ # particular zone, this key might be scope and the key value might be the zone
22909
+ # name. Other examples might be a key indicating a deprecated resource and a
22910
+ # suggested replacement, or a warning about invalid network settings (for
22911
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22912
+ # for IP forwarding).
22913
+ # Corresponds to the JSON property `key`
22914
+ # @return [String]
22915
+ attr_accessor :key
22916
+
22917
+ # [Output Only] A warning data value corresponding to the key.
22918
+ # Corresponds to the JSON property `value`
22919
+ # @return [String]
22920
+ attr_accessor :value
22921
+
22922
+ def initialize(**args)
22923
+ update!(**args)
22924
+ end
22925
+
22926
+ # Update properties of this object
22927
+ def update!(**args)
22928
+ @key = args[:key] if args.key?(:key)
22929
+ @value = args[:value] if args.key?(:value)
22930
+ end
22931
+ end
22932
+ end
22933
+ end
22934
+
21931
22935
  # The network endpoint.
21932
22936
  class NetworkEndpoint
21933
22937
  include Google::Apis::Core::Hashable
@@ -22103,8 +23107,8 @@ module Google
22103
23107
  # @return [String]
22104
23108
  attr_accessor :self_link_with_id
22105
23109
 
22106
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
22107
- # platform must be provided.
23110
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23111
+ # be provided.
22108
23112
  # Note: The target backend service must be in the same project and located in
22109
23113
  # the same region as the Serverless NEG.
22110
23114
  # Corresponds to the JSON property `serverlessDeployment`
@@ -22576,8 +23580,8 @@ module Google
22576
23580
  end
22577
23581
  end
22578
23582
 
22579
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
22580
- # platform must be provided.
23583
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23584
+ # be provided.
22581
23585
  # Note: The target backend service must be in the same project and located in
22582
23586
  # the same region as the Serverless NEG.
22583
23587
  class NetworkEndpointGroupServerlessDeployment
@@ -22585,10 +23589,10 @@ module Google
22585
23589
 
22586
23590
  # The platform of the backend target(s) of this NEG. Possible values include:
22587
23591
  #
22588
- # - apigateway.googleapis.com
22589
- # - appengine.googleapies.com
22590
- # - cloudfunctions.googleapis.com
22591
- # - run.googleapis.com
23592
+ # - API Gateway: apigateway.googleapis.com
23593
+ # - App Engine: appengine.googleapis.com
23594
+ # - Cloud Functions: cloudfunctions.googleapis.com
23595
+ # - Cloud Run: run.googleapis.com
22592
23596
  # Corresponds to the JSON property `platform`
22593
23597
  # @return [String]
22594
23598
  attr_accessor :platform
@@ -22597,8 +23601,8 @@ module Google
22597
23601
  # explicitly or in the urlMask. The resource identified by this value is
22598
23602
  # platform-specific and is as follows:
22599
23603
  #
22600
- # - API Gateway: The gateway id
22601
- # - AppEngine: The service name
23604
+ # - API Gateway: The gateway ID
23605
+ # - App Engine: The service name
22602
23606
  # - Cloud Functions: The function name
22603
23607
  # - Cloud Run: The service name
22604
23608
  # Corresponds to the JSON property `resource`
@@ -22606,23 +23610,24 @@ module Google
22606
23610
  attr_accessor :resource
22607
23611
 
22608
23612
  # A template to parse platform-specific fields from a request URL. URL mask
22609
- # allows for routing to multiple services on the same serverless platform
22610
- # without having to create multiple Network Endpoint Groups and backend services.
22611
- # The fields parsed by this template is platform-specific and are as follows:
23613
+ # allows for routing to multiple resources on the same serverless platform
23614
+ # without having to create multiple Network Endpoint Groups and backend
23615
+ # resources. The fields parsed by this template are platform-specific and are as
23616
+ # follows:
22612
23617
  #
22613
- # - API Gateway: The gateway id
22614
- # - AppEngine: The service and version
22615
- # - Cloud Functions: The function
23618
+ # - API Gateway: The gateway ID
23619
+ # - App Engine: The service and version
23620
+ # - Cloud Functions: The function name
22616
23621
  # - Cloud Run: The service and tag
22617
23622
  # Corresponds to the JSON property `urlMask`
22618
23623
  # @return [String]
22619
23624
  attr_accessor :url_mask
22620
23625
 
22621
- # The optional resource version. The version identified by this value is as
23626
+ # The optional resource version. The version identified by this value is
22622
23627
  # platform-specific and is follows:
22623
23628
  #
22624
23629
  # - API Gateway: Unused
22625
- # - AppEngine: The service version
23630
+ # - App Engine: The service version
22626
23631
  # - Cloud Functions: Unused
22627
23632
  # - Cloud Run: The service tag
22628
23633
  # Corresponds to the JSON property `version`
@@ -23113,10 +24118,16 @@ module Google
23113
24118
  include Google::Apis::Core::Hashable
23114
24119
 
23115
24120
  # An IPv4 internal IP address to assign to the instance for this subinterface.
24121
+ # If specified, ip_allocation_mode should be set to ALLOCATE_IP.
23116
24122
  # Corresponds to the JSON property `ipAddress`
23117
24123
  # @return [String]
23118
24124
  attr_accessor :ip_address
23119
24125
 
24126
+ #
24127
+ # Corresponds to the JSON property `ipAllocationMode`
24128
+ # @return [String]
24129
+ attr_accessor :ip_allocation_mode
24130
+
23120
24131
  # If specified, this subnetwork must belong to the same network as that of the
23121
24132
  # network interface. If not specified the subnet of network interface will be
23122
24133
  # used. If you specify this property, you can specify the subnetwork as a full
@@ -23141,6 +24152,7 @@ module Google
23141
24152
  # Update properties of this object
23142
24153
  def update!(**args)
23143
24154
  @ip_address = args[:ip_address] if args.key?(:ip_address)
24155
+ @ip_allocation_mode = args[:ip_allocation_mode] if args.key?(:ip_allocation_mode)
23144
24156
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
23145
24157
  @vlan = args[:vlan] if args.key?(:vlan)
23146
24158
  end
@@ -23724,6 +24736,11 @@ module Google
23724
24736
  # @return [String]
23725
24737
  attr_accessor :self_link_with_id
23726
24738
 
24739
+ # The share setting for reservations and sole tenancy node groups.
24740
+ # Corresponds to the JSON property `shareSettings`
24741
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
24742
+ attr_accessor :share_settings
24743
+
23727
24744
  # [Output Only] The total number of nodes in the node group.
23728
24745
  # Corresponds to the JSON property `size`
23729
24746
  # @return [Fixnum]
@@ -23759,6 +24776,7 @@ module Google
23759
24776
  @node_template = args[:node_template] if args.key?(:node_template)
23760
24777
  @self_link = args[:self_link] if args.key?(:self_link)
23761
24778
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
24779
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
23762
24780
  @size = args[:size] if args.key?(:size)
23763
24781
  @status = args[:status] if args.key?(:status)
23764
24782
  @zone = args[:zone] if args.key?(:zone)
@@ -25893,41 +26911,6 @@ module Google
25893
26911
  # @return [String]
25894
26912
  attr_accessor :kind
25895
26913
 
25896
- # `Any` contains an arbitrary serialized protocol buffer message along with a
25897
- # URL that describes the type of the serialized message.
25898
- # Protobuf library provides support to pack/unpack Any values in the form of
25899
- # utility functions or additional generated methods of the Any type.
25900
- # Example 1: Pack and unpack a message in C++.
25901
- # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
25902
- # Example 2: Pack and unpack a message in Java.
25903
- # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
25904
- # unpack(Foo.class); `
25905
- # Example 3: Pack and unpack a message in Python.
25906
- # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
25907
- # Unpack(foo) ...
25908
- # Example 4: Pack and unpack a message in Go
25909
- # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
25910
- # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
25911
- # The pack methods provided by protobuf library will by default use 'type.
25912
- # googleapis.com/full.type.name' as the type URL and the unpack methods only use
25913
- # the fully qualified type name after the last '/' in the type URL, for example "
25914
- # foo.bar.com/x/y.z" will yield type name "y.z".
25915
- # JSON ==== The JSON representation of an `Any` value uses the regular
25916
- # representation of the deserialized, embedded message, with an additional field
25917
- # `@type` which contains the type URL. Example:
25918
- # package google.profile; message Person ` string first_name = 1; string
25919
- # last_name = 2; `
25920
- # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
25921
- # lastName": `
25922
- # If the embedded message type is well-known and has a custom JSON
25923
- # representation, that representation will be embedded adding a field `value`
25924
- # which holds the custom JSON in addition to the `@type` field. Example (for
25925
- # message [google.protobuf.Duration][]):
25926
- # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
25927
- # Corresponds to the JSON property `metadata`
25928
- # @return [Google::Apis::ComputeAlpha::Any]
25929
- attr_accessor :metadata
25930
-
25931
26914
  # [Output Only] Name of the operation.
25932
26915
  # Corresponds to the JSON property `name`
25933
26916
  # @return [String]
@@ -26034,7 +27017,6 @@ module Google
26034
27017
  @id = args[:id] if args.key?(:id)
26035
27018
  @insert_time = args[:insert_time] if args.key?(:insert_time)
26036
27019
  @kind = args[:kind] if args.key?(:kind)
26037
- @metadata = args[:metadata] if args.key?(:metadata)
26038
27020
  @name = args[:name] if args.key?(:name)
26039
27021
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
26040
27022
  @operation_type = args[:operation_type] if args.key?(:operation_type)
@@ -29946,12 +30928,25 @@ module Google
29946
30928
 
29947
30929
  # Skip instances which cannot be deleted (instances not belonging to this
29948
30930
  # managed group, already being deleted or being abandoned). If `false`, fail
29949
- # whole flow, if such instance is passed.
30931
+ # whole flow, if such instance is passed. DEPRECATED: Use
30932
+ # skip_instances_on_validation_error instead.
29950
30933
  # Corresponds to the JSON property `skipInapplicableInstances`
29951
30934
  # @return [Boolean]
29952
30935
  attr_accessor :skip_inapplicable_instances
29953
30936
  alias_method :skip_inapplicable_instances?, :skip_inapplicable_instances
29954
30937
 
30938
+ # Specifies whether the request should proceed despite the inclusion of
30939
+ # instances that are not members of the group or that are already in the process
30940
+ # of being deleted or abandoned. If this field is set to `false` and such an
30941
+ # instance is specified in the request, the operation fails. The operation
30942
+ # always fails if the request contains a malformed instance URL or a reference
30943
+ # to an instance that exists in a zone or region other than the group's zone or
30944
+ # region.
30945
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
30946
+ # @return [Boolean]
30947
+ attr_accessor :skip_instances_on_validation_error
30948
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
30949
+
29955
30950
  def initialize(**args)
29956
30951
  update!(**args)
29957
30952
  end
@@ -29960,6 +30955,7 @@ module Google
29960
30955
  def update!(**args)
29961
30956
  @instances = args[:instances] if args.key?(:instances)
29962
30957
  @skip_inapplicable_instances = args[:skip_inapplicable_instances] if args.key?(:skip_inapplicable_instances)
30958
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
29963
30959
  end
29964
30960
  end
29965
30961
 
@@ -30524,6 +31520,105 @@ module Google
30524
31520
  end
30525
31521
  end
30526
31522
 
31523
+ # A transient resource used in compute.regionInstances.recommendLocations. This
31524
+ # resource is not saved anywhere and used only to process the request.
31525
+ class RegionInstancesRecommendLocationsResource
31526
+ include Google::Apis::Core::Hashable
31527
+
31528
+ # Specification of named homogeneous instance sets to find location for.
31529
+ # Keys of this map are arbitrary (but must be different), defined by the caller
31530
+ # used only in the response. They must follow RFC 1035 name standard.
31531
+ # Specifically, they must be 1-63 characters long and match the regular
31532
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
31533
+ # be a lowercase letter, and all following characters must be a dash, lowercase
31534
+ # letter, or digit, except the last character, which cannot be a dash.
31535
+ # Values are trimmed BulkInsertInstanceResource messages, without the following
31536
+ # fields:
31537
+ # - min_count
31538
+ # - predefined_name
31539
+ # - name_pattern
31540
+ # - per_instance_properties
31541
+ # - instance
31542
+ # - secure_tag
31543
+ # - location_policy
31544
+ # Corresponds to the JSON property `instanceSpecs`
31545
+ # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResource>]
31546
+ attr_accessor :instance_specs
31547
+
31548
+ # Configuration for location policy among multiple possible locations (e.g.
31549
+ # preferences for zone selection among zones in a single region).
31550
+ # Corresponds to the JSON property `locationPolicy`
31551
+ # @return [Google::Apis::ComputeAlpha::LocationPolicy]
31552
+ attr_accessor :location_policy
31553
+
31554
+ def initialize(**args)
31555
+ update!(**args)
31556
+ end
31557
+
31558
+ # Update properties of this object
31559
+ def update!(**args)
31560
+ @instance_specs = args[:instance_specs] if args.key?(:instance_specs)
31561
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
31562
+ end
31563
+ end
31564
+
31565
+ # Response for for compute.regionInstances.recommendLocations.
31566
+ class RegionInstancesRecommendLocationsResponse
31567
+ include Google::Apis::Core::Hashable
31568
+
31569
+ # Instance count recommendations, keys are instance spec names.
31570
+ # Corresponds to the JSON property `recommendedLocations`
31571
+ # @return [Hash<String,Google::Apis::ComputeAlpha::RegionInstancesRecommendLocationsResponseRecommendationsForInstanceSpecs>]
31572
+ attr_accessor :recommended_locations
31573
+
31574
+ def initialize(**args)
31575
+ update!(**args)
31576
+ end
31577
+
31578
+ # Update properties of this object
31579
+ def update!(**args)
31580
+ @recommended_locations = args[:recommended_locations] if args.key?(:recommended_locations)
31581
+ end
31582
+ end
31583
+
31584
+ # Instance count recommendation for a single zone.
31585
+ class RegionInstancesRecommendLocationsResponseRecommendation
31586
+ include Google::Apis::Core::Hashable
31587
+
31588
+ # Count of instances recommended.
31589
+ # Corresponds to the JSON property `instanceCount`
31590
+ # @return [Fixnum]
31591
+ attr_accessor :instance_count
31592
+
31593
+ def initialize(**args)
31594
+ update!(**args)
31595
+ end
31596
+
31597
+ # Update properties of this object
31598
+ def update!(**args)
31599
+ @instance_count = args[:instance_count] if args.key?(:instance_count)
31600
+ end
31601
+ end
31602
+
31603
+ # Instance count recommendations for a single instance specification.
31604
+ class RegionInstancesRecommendLocationsResponseRecommendationsForInstanceSpecs
31605
+ include Google::Apis::Core::Hashable
31606
+
31607
+ # Instance count recommendations, keys are zone names.
31608
+ # Corresponds to the JSON property `locations`
31609
+ # @return [Hash<String,Google::Apis::ComputeAlpha::RegionInstancesRecommendLocationsResponseRecommendation>]
31610
+ attr_accessor :locations
31611
+
31612
+ def initialize(**args)
31613
+ update!(**args)
31614
+ end
31615
+
31616
+ # Update properties of this object
31617
+ def update!(**args)
31618
+ @locations = args[:locations] if args.key?(:locations)
31619
+ end
31620
+ end
31621
+
30527
31622
  #
30528
31623
  class RegionInstantSnapshotsExportRequest
30529
31624
  include Google::Apis::Core::Hashable
@@ -30894,9 +31989,9 @@ module Google
30894
31989
  # @return [String]
30895
31990
  attr_accessor :self_link_with_id
30896
31991
 
30897
- # Share-settings for shared-reservation
31992
+ # The share setting for reservations and sole tenancy node groups.
30898
31993
  # Corresponds to the JSON property `shareSettings`
30899
- # @return [Google::Apis::ComputeAlpha::AllocationShareSettings]
31994
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
30900
31995
  attr_accessor :share_settings
30901
31996
 
30902
31997
  # This reservation type allows to pre allocate specific instance configuration.
@@ -30964,7 +32059,10 @@ module Google
30964
32059
  # @return [String]
30965
32060
  attr_accessor :key
30966
32061
 
30967
- # Corresponds to the label values of a reservation resource.
32062
+ # Corresponds to the label values of a reservation resource. This can be either
32063
+ # a name to a reservation in the same project or "projects/different-project/
32064
+ # reservations/some-reservation-name" to target a shared reservation in the same
32065
+ # zone but in a different project.
30968
32066
  # Corresponds to the JSON property `values`
30969
32067
  # @return [Array<String>]
30970
32068
  attr_accessor :values
@@ -32361,6 +33459,11 @@ module Google
32361
33459
  # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
32362
33460
  attr_accessor :scheduling
32363
33461
 
33462
+ #
33463
+ # Corresponds to the JSON property `upcomingMaintenance`
33464
+ # @return [Google::Apis::ComputeAlpha::ResourceStatusUpcomingMaintenance]
33465
+ attr_accessor :upcoming_maintenance
33466
+
32364
33467
  def initialize(**args)
32365
33468
  update!(**args)
32366
33469
  end
@@ -32368,6 +33471,7 @@ module Google
32368
33471
  # Update properties of this object
32369
33472
  def update!(**args)
32370
33473
  @scheduling = args[:scheduling] if args.key?(:scheduling)
33474
+ @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
32371
33475
  end
32372
33476
  end
32373
33477
 
@@ -32394,6 +33498,27 @@ module Google
32394
33498
  end
32395
33499
  end
32396
33500
 
33501
+ #
33502
+ class ResourceStatusUpcomingMaintenance
33503
+ include Google::Apis::Core::Hashable
33504
+
33505
+ # Indicates if the maintenance can be customer triggered. See go/sf-ctm-design
33506
+ # for more details
33507
+ # Corresponds to the JSON property `canReschedule`
33508
+ # @return [Boolean]
33509
+ attr_accessor :can_reschedule
33510
+ alias_method :can_reschedule?, :can_reschedule
33511
+
33512
+ def initialize(**args)
33513
+ update!(**args)
33514
+ end
33515
+
33516
+ # Update properties of this object
33517
+ def update!(**args)
33518
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
33519
+ end
33520
+ end
33521
+
32397
33522
  # A rollout policy configuration.
32398
33523
  class RolloutPolicy
32399
33524
  include Google::Apis::Core::Hashable
@@ -32463,6 +33588,12 @@ module Google
32463
33588
  # @return [Fixnum]
32464
33589
  attr_accessor :id
32465
33590
 
33591
+ # ILB route behavior when ILB is deemed unhealthy based on user specified
33592
+ # threshold on the Backend Service of the internal load balancing.
33593
+ # Corresponds to the JSON property `ilbRouteBehaviorOnUnhealthy`
33594
+ # @return [String]
33595
+ attr_accessor :ilb_route_behavior_on_unhealthy
33596
+
32466
33597
  # [Output Only] Type of this resource. Always compute#routes for Route resources.
32467
33598
  # Corresponds to the JSON property `kind`
32468
33599
  # @return [String]
@@ -32578,6 +33709,7 @@ module Google
32578
33709
  @description = args[:description] if args.key?(:description)
32579
33710
  @dest_range = args[:dest_range] if args.key?(:dest_range)
32580
33711
  @id = args[:id] if args.key?(:id)
33712
+ @ilb_route_behavior_on_unhealthy = args[:ilb_route_behavior_on_unhealthy] if args.key?(:ilb_route_behavior_on_unhealthy)
32581
33713
  @kind = args[:kind] if args.key?(:kind)
32582
33714
  @name = args[:name] if args.key?(:name)
32583
33715
  @network = args[:network] if args.key?(:network)
@@ -32806,8 +33938,9 @@ module Google
32806
33938
  # @return [String]
32807
33939
  attr_accessor :description
32808
33940
 
32809
- # Field to indicate if a router is dedicated to use with encrypted Interconnect
32810
- # Attachment (IPsec-encrypted Cloud Interconnect feature).
33941
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
33942
+ # interconnectAttachments).
33943
+ # Not currently available publicly.
32811
33944
  # Corresponds to the JSON property `encryptedInterconnectRouter`
32812
33945
  # @return [Boolean]
32813
33946
  attr_accessor :encrypted_interconnect_router
@@ -33074,7 +34207,6 @@ module Google
33074
34207
 
33075
34208
  # The interval in seconds between BGP keepalive messages that are sent to the
33076
34209
  # peer.
33077
- # Not currently available publicly.
33078
34210
  # Hold time is three times the interval at which keepalive messages are sent,
33079
34211
  # and the hold time is the maximum number of seconds allowed to elapse between
33080
34212
  # successive keepalive messages that BGP receives from a peer.
@@ -33143,7 +34275,6 @@ module Google
33143
34275
  attr_accessor :bfd
33144
34276
 
33145
34277
  # The status of the BGP peer connection.
33146
- # Not currently available publicly.
33147
34278
  # If set to FALSE, any active session with the peer is terminated and all
33148
34279
  # associated routing information is removed. If set to TRUE, the peer connection
33149
34280
  # can be established with routing information. The default is TRUE.
@@ -33151,6 +34282,12 @@ module Google
33151
34282
  # @return [String]
33152
34283
  attr_accessor :enable
33153
34284
 
34285
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
34286
+ # Corresponds to the JSON property `enableIpv6`
34287
+ # @return [Boolean]
34288
+ attr_accessor :enable_ipv6
34289
+ alias_method :enable_ipv6?, :enable_ipv6
34290
+
33154
34291
  # Name of the interface the BGP peer is associated with.
33155
34292
  # Corresponds to the JSON property `interfaceName`
33156
34293
  # @return [String]
@@ -33162,6 +34299,11 @@ module Google
33162
34299
  # @return [String]
33163
34300
  attr_accessor :ip_address
33164
34301
 
34302
+ # IPv6 address of the interface inside Google Cloud Platform.
34303
+ # Corresponds to the JSON property `ipv6NexthopAddress`
34304
+ # @return [String]
34305
+ attr_accessor :ipv6_nexthop_address
34306
+
33165
34307
  # [Output Only] The resource that configures and manages this BGP peer.
33166
34308
  # - MANAGED_BY_USER is the default value and can be managed by you or other
33167
34309
  # users
@@ -33195,6 +34337,11 @@ module Google
33195
34337
  # @return [String]
33196
34338
  attr_accessor :peer_ip_address
33197
34339
 
34340
+ # IPv6 address of the BGP interface outside Google Cloud Platform.
34341
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
34342
+ # @return [String]
34343
+ attr_accessor :peer_ipv6_nexthop_address
34344
+
33198
34345
  # URI of the VM instance that is used as third-party router appliances such as
33199
34346
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
33200
34347
  # must be located in zones contained in the same region as this Cloud Router.
@@ -33215,12 +34362,15 @@ module Google
33215
34362
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
33216
34363
  @bfd = args[:bfd] if args.key?(:bfd)
33217
34364
  @enable = args[:enable] if args.key?(:enable)
34365
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
33218
34366
  @interface_name = args[:interface_name] if args.key?(:interface_name)
33219
34367
  @ip_address = args[:ip_address] if args.key?(:ip_address)
34368
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
33220
34369
  @management_type = args[:management_type] if args.key?(:management_type)
33221
34370
  @name = args[:name] if args.key?(:name)
33222
34371
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
33223
34372
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
34373
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
33224
34374
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33225
34375
  end
33226
34376
  end
@@ -33384,7 +34534,7 @@ module Google
33384
34534
  # @return [String]
33385
34535
  attr_accessor :redundant_interface
33386
34536
 
33387
- # The URL of the subnetwork resource that this interface belongs to, which must
34537
+ # The URI of the subnetwork resource that this interface belongs to, which must
33388
34538
  # be in the same region as the Cloud Router. When you establish a BGP session to
33389
34539
  # a VM instance using this interface, the VM instance must belong to the same
33390
34540
  # subnetwork as the subnetwork specified here.
@@ -33541,6 +34691,19 @@ module Google
33541
34691
  # @return [Array<String>]
33542
34692
  attr_accessor :drain_nat_ips
33543
34693
 
34694
+ # Enable Dynamic Port Allocation.
34695
+ # If not specified, it is disabled by default.
34696
+ # If set to true,
34697
+ # - Dynamic Port Allocation will be enabled on this NAT config.
34698
+ # - enableEndpointIndependentMapping cannot be set to true.
34699
+ # - If minPorts is set, minPortsPerVm must be set to a power of two greater than
34700
+ # or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be
34701
+ # allocated to a VM from this NAT config.
34702
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
34703
+ # @return [Boolean]
34704
+ attr_accessor :enable_dynamic_port_allocation
34705
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
34706
+
33544
34707
  #
33545
34708
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
33546
34709
  # @return [Boolean]
@@ -33557,6 +34720,18 @@ module Google
33557
34720
  # @return [Google::Apis::ComputeAlpha::RouterNatLogConfig]
33558
34721
  attr_accessor :log_config
33559
34722
 
34723
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
34724
+ # Port Allocation is enabled.
34725
+ # If Dynamic Port Allocation is not enabled, this field has no effect.
34726
+ # If Dynamic Port Allocation is enabled, and this field is set, it must be set
34727
+ # to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not
34728
+ # set.
34729
+ # If Dynamic Port Allocation is enabled and this field is not set, a maximum of
34730
+ # 65536 ports will be allocated to a VM from this NAT config.
34731
+ # Corresponds to the JSON property `maxPortsPerVm`
34732
+ # @return [Fixnum]
34733
+ attr_accessor :max_ports_per_vm
34734
+
33560
34735
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
33561
34736
  # default number of ports is allocated to a VM. This is rounded up to the
33562
34737
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -33643,9 +34818,11 @@ module Google
33643
34818
  # Update properties of this object
33644
34819
  def update!(**args)
33645
34820
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
34821
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
33646
34822
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
33647
34823
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
33648
34824
  @log_config = args[:log_config] if args.key?(:log_config)
34825
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
33649
34826
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
33650
34827
  @name = args[:name] if args.key?(:name)
33651
34828
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
@@ -33706,7 +34883,7 @@ module Google
33706
34883
  attr_accessor :description
33707
34884
 
33708
34885
  # CEL expression that specifies the match condition that egress traffic from a
33709
- # VM is evaluated against. If it evaluates to true, the corresponding ?action?
34886
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
33710
34887
  # is enforced.
33711
34888
  # The following examples are valid match expressions:
33712
34889
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/
@@ -33857,11 +35034,22 @@ module Google
33857
35034
  # @return [Google::Apis::ComputeAlpha::BfdStatus]
33858
35035
  attr_accessor :bfd_status
33859
35036
 
35037
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
35038
+ # Corresponds to the JSON property `enableIpv6`
35039
+ # @return [Boolean]
35040
+ attr_accessor :enable_ipv6
35041
+ alias_method :enable_ipv6?, :enable_ipv6
35042
+
33860
35043
  # IP address of the local BGP interface.
33861
35044
  # Corresponds to the JSON property `ipAddress`
33862
35045
  # @return [String]
33863
35046
  attr_accessor :ip_address
33864
35047
 
35048
+ # IPv6 address of the local BGP interface.
35049
+ # Corresponds to the JSON property `ipv6NexthopAddress`
35050
+ # @return [String]
35051
+ attr_accessor :ipv6_nexthop_address
35052
+
33865
35053
  # URL of the VPN tunnel that this BGP peer controls.
33866
35054
  # Corresponds to the JSON property `linkedVpnTunnel`
33867
35055
  # @return [String]
@@ -33882,6 +35070,11 @@ module Google
33882
35070
  # @return [String]
33883
35071
  attr_accessor :peer_ip_address
33884
35072
 
35073
+ # IPv6 address of the remote BGP interface.
35074
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
35075
+ # @return [String]
35076
+ attr_accessor :peer_ipv6_nexthop_address
35077
+
33885
35078
  # [Output only] URI of the VM instance that is used as third-party router
33886
35079
  # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
33887
35080
  # The VM instance is the peer side of the BGP session.
@@ -33918,11 +35111,14 @@ module Google
33918
35111
  def update!(**args)
33919
35112
  @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
33920
35113
  @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
35114
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
33921
35115
  @ip_address = args[:ip_address] if args.key?(:ip_address)
35116
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
33922
35117
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
33923
35118
  @name = args[:name] if args.key?(:name)
33924
35119
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
33925
35120
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
35121
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
33926
35122
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33927
35123
  @state = args[:state] if args.key?(:state)
33928
35124
  @status = args[:status] if args.key?(:status)
@@ -34469,7 +35665,7 @@ module Google
34469
35665
  end
34470
35666
  end
34471
35667
 
34472
- # Sets the scheduling options for an Instance. NextID: 20
35668
+ # Sets the scheduling options for an Instance. NextID: 21
34473
35669
  class Scheduling
34474
35670
  include Google::Apis::Core::Hashable
34475
35671
 
@@ -34493,6 +35689,13 @@ module Google
34493
35689
  # @return [Fixnum]
34494
35690
  attr_accessor :availability_domain
34495
35691
 
35692
+ # Specify the time in seconds for host error detection, the value must be within
35693
+ # the range of [90, 330] with the increment of 30, if unset, the default
35694
+ # behavior of host error recovery will be used.
35695
+ # Corresponds to the JSON property `hostErrorTimeoutSeconds`
35696
+ # @return [Fixnum]
35697
+ attr_accessor :host_error_timeout_seconds
35698
+
34496
35699
  # Defines whether the instance is tolerant of higher cpu latency. This can only
34497
35700
  # be set during instance creation, or when the instance is not currently running.
34498
35701
  # It must not be set if the preemptible option is also set.
@@ -34507,15 +35710,14 @@ module Google
34507
35710
  # @return [String]
34508
35711
  attr_accessor :location_hint
34509
35712
 
34510
- # Specifies the number of hours after instance creation where the instance won't
34511
- # be scheduled for maintenance.
35713
+ # Specifies the number of hours after VM instance creation where the VM won't be
35714
+ # scheduled for maintenance.
34512
35715
  # Corresponds to the JSON property `maintenanceFreezeDurationHours`
34513
35716
  # @return [Fixnum]
34514
35717
  attr_accessor :maintenance_freeze_duration_hours
34515
35718
 
34516
- # Specifies whether this VM may be a stable fleet VM. Setting this to "Periodic"
34517
- # designates this VM as a Stable Fleet VM.
34518
- # See go/stable-fleet-ug for more details.
35719
+ # For more information about maintenance intervals, see Setting maintenance
35720
+ # intervals.
34519
35721
  # Corresponds to the JSON property `maintenanceInterval`
34520
35722
  # @return [String]
34521
35723
  attr_accessor :maintenance_interval
@@ -34557,6 +35759,7 @@ module Google
34557
35759
  def update!(**args)
34558
35760
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
34559
35761
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
35762
+ @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
34560
35763
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
34561
35764
  @location_hint = args[:location_hint] if args.key?(:location_hint)
34562
35765
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
@@ -34648,6 +35851,136 @@ module Google
34648
35851
  end
34649
35852
  end
34650
35853
 
35854
+ #
35855
+ class SecurityPoliciesAggregatedList
35856
+ include Google::Apis::Core::Hashable
35857
+
35858
+ #
35859
+ # Corresponds to the JSON property `etag`
35860
+ # @return [String]
35861
+ attr_accessor :etag
35862
+
35863
+ # [Output Only] Unique identifier for the resource; defined by the server.
35864
+ # Corresponds to the JSON property `id`
35865
+ # @return [String]
35866
+ attr_accessor :id
35867
+
35868
+ # A list of SecurityPoliciesScopedList resources.
35869
+ # Corresponds to the JSON property `items`
35870
+ # @return [Hash<String,Google::Apis::ComputeAlpha::SecurityPoliciesScopedList>]
35871
+ attr_accessor :items
35872
+
35873
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
35874
+ # for lists of Security Policies.
35875
+ # Corresponds to the JSON property `kind`
35876
+ # @return [String]
35877
+ attr_accessor :kind
35878
+
35879
+ # [Output Only] This token allows you to get the next page of results for list
35880
+ # requests. If the number of results is larger than maxResults, use the
35881
+ # nextPageToken as a value for the query parameter pageToken in the next list
35882
+ # request. Subsequent list requests will have their own nextPageToken to
35883
+ # continue paging through the results.
35884
+ # Corresponds to the JSON property `nextPageToken`
35885
+ # @return [String]
35886
+ attr_accessor :next_page_token
35887
+
35888
+ # [Output Only] Server-defined URL for this resource.
35889
+ # Corresponds to the JSON property `selfLink`
35890
+ # @return [String]
35891
+ attr_accessor :self_link
35892
+
35893
+ # [Output Only] Unreachable resources.
35894
+ # Corresponds to the JSON property `unreachables`
35895
+ # @return [Array<String>]
35896
+ attr_accessor :unreachables
35897
+
35898
+ # [Output Only] Informational warning message.
35899
+ # Corresponds to the JSON property `warning`
35900
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning]
35901
+ attr_accessor :warning
35902
+
35903
+ def initialize(**args)
35904
+ update!(**args)
35905
+ end
35906
+
35907
+ # Update properties of this object
35908
+ def update!(**args)
35909
+ @etag = args[:etag] if args.key?(:etag)
35910
+ @id = args[:id] if args.key?(:id)
35911
+ @items = args[:items] if args.key?(:items)
35912
+ @kind = args[:kind] if args.key?(:kind)
35913
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35914
+ @self_link = args[:self_link] if args.key?(:self_link)
35915
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35916
+ @warning = args[:warning] if args.key?(:warning)
35917
+ end
35918
+
35919
+ # [Output Only] Informational warning message.
35920
+ class Warning
35921
+ include Google::Apis::Core::Hashable
35922
+
35923
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35924
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35925
+ # Corresponds to the JSON property `code`
35926
+ # @return [String]
35927
+ attr_accessor :code
35928
+
35929
+ # [Output Only] Metadata about this warning in key: value format. For example:
35930
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35931
+ # Corresponds to the JSON property `data`
35932
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning::Datum>]
35933
+ attr_accessor :data
35934
+
35935
+ # [Output Only] A human-readable description of the warning code.
35936
+ # Corresponds to the JSON property `message`
35937
+ # @return [String]
35938
+ attr_accessor :message
35939
+
35940
+ def initialize(**args)
35941
+ update!(**args)
35942
+ end
35943
+
35944
+ # Update properties of this object
35945
+ def update!(**args)
35946
+ @code = args[:code] if args.key?(:code)
35947
+ @data = args[:data] if args.key?(:data)
35948
+ @message = args[:message] if args.key?(:message)
35949
+ end
35950
+
35951
+ #
35952
+ class Datum
35953
+ include Google::Apis::Core::Hashable
35954
+
35955
+ # [Output Only] A key that provides more detail on the warning being returned.
35956
+ # For example, for warnings where there are no results in a list request for a
35957
+ # particular zone, this key might be scope and the key value might be the zone
35958
+ # name. Other examples might be a key indicating a deprecated resource and a
35959
+ # suggested replacement, or a warning about invalid network settings (for
35960
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35961
+ # for IP forwarding).
35962
+ # Corresponds to the JSON property `key`
35963
+ # @return [String]
35964
+ attr_accessor :key
35965
+
35966
+ # [Output Only] A warning data value corresponding to the key.
35967
+ # Corresponds to the JSON property `value`
35968
+ # @return [String]
35969
+ attr_accessor :value
35970
+
35971
+ def initialize(**args)
35972
+ update!(**args)
35973
+ end
35974
+
35975
+ # Update properties of this object
35976
+ def update!(**args)
35977
+ @key = args[:key] if args.key?(:key)
35978
+ @value = args[:value] if args.key?(:value)
35979
+ end
35980
+ end
35981
+ end
35982
+ end
35983
+
34651
35984
  #
34652
35985
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
34653
35986
  include Google::Apis::Core::Hashable
@@ -34667,6 +36000,97 @@ module Google
34667
36000
  end
34668
36001
  end
34669
36002
 
36003
+ #
36004
+ class SecurityPoliciesScopedList
36005
+ include Google::Apis::Core::Hashable
36006
+
36007
+ # A list of SecurityPolicies contained in this scope.
36008
+ # Corresponds to the JSON property `securityPolicies`
36009
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
36010
+ attr_accessor :security_policies
36011
+
36012
+ # Informational warning which replaces the list of security policies when the
36013
+ # list is empty.
36014
+ # Corresponds to the JSON property `warning`
36015
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning]
36016
+ attr_accessor :warning
36017
+
36018
+ def initialize(**args)
36019
+ update!(**args)
36020
+ end
36021
+
36022
+ # Update properties of this object
36023
+ def update!(**args)
36024
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
36025
+ @warning = args[:warning] if args.key?(:warning)
36026
+ end
36027
+
36028
+ # Informational warning which replaces the list of security policies when the
36029
+ # list is empty.
36030
+ class Warning
36031
+ include Google::Apis::Core::Hashable
36032
+
36033
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
36034
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36035
+ # Corresponds to the JSON property `code`
36036
+ # @return [String]
36037
+ attr_accessor :code
36038
+
36039
+ # [Output Only] Metadata about this warning in key: value format. For example:
36040
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36041
+ # Corresponds to the JSON property `data`
36042
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning::Datum>]
36043
+ attr_accessor :data
36044
+
36045
+ # [Output Only] A human-readable description of the warning code.
36046
+ # Corresponds to the JSON property `message`
36047
+ # @return [String]
36048
+ attr_accessor :message
36049
+
36050
+ def initialize(**args)
36051
+ update!(**args)
36052
+ end
36053
+
36054
+ # Update properties of this object
36055
+ def update!(**args)
36056
+ @code = args[:code] if args.key?(:code)
36057
+ @data = args[:data] if args.key?(:data)
36058
+ @message = args[:message] if args.key?(:message)
36059
+ end
36060
+
36061
+ #
36062
+ class Datum
36063
+ include Google::Apis::Core::Hashable
36064
+
36065
+ # [Output Only] A key that provides more detail on the warning being returned.
36066
+ # For example, for warnings where there are no results in a list request for a
36067
+ # particular zone, this key might be scope and the key value might be the zone
36068
+ # name. Other examples might be a key indicating a deprecated resource and a
36069
+ # suggested replacement, or a warning about invalid network settings (for
36070
+ # example, if an instance attempts to perform IP forwarding but is not enabled
36071
+ # for IP forwarding).
36072
+ # Corresponds to the JSON property `key`
36073
+ # @return [String]
36074
+ attr_accessor :key
36075
+
36076
+ # [Output Only] A warning data value corresponding to the key.
36077
+ # Corresponds to the JSON property `value`
36078
+ # @return [String]
36079
+ attr_accessor :value
36080
+
36081
+ def initialize(**args)
36082
+ update!(**args)
36083
+ end
36084
+
36085
+ # Update properties of this object
36086
+ def update!(**args)
36087
+ @key = args[:key] if args.key?(:key)
36088
+ @value = args[:value] if args.key?(:value)
36089
+ end
36090
+ end
36091
+ end
36092
+ end
36093
+
34670
36094
  #
34671
36095
  class SecurityPoliciesWafConfig
34672
36096
  include Google::Apis::Core::Hashable
@@ -34698,6 +36122,11 @@ module Google
34698
36122
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdaptiveProtectionConfig]
34699
36123
  attr_accessor :adaptive_protection_config
34700
36124
 
36125
+ #
36126
+ # Corresponds to the JSON property `advancedOptionsConfig`
36127
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdvancedOptionsConfig]
36128
+ attr_accessor :advanced_options_config
36129
+
34701
36130
  # A list of associations that belong to this policy.
34702
36131
  # Corresponds to the JSON property `associations`
34703
36132
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
@@ -34713,6 +36142,11 @@ module Google
34713
36142
  # @return [String]
34714
36143
  attr_accessor :creation_timestamp
34715
36144
 
36145
+ #
36146
+ # Corresponds to the JSON property `ddosProtectionConfig`
36147
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyDdosProtectionConfig]
36148
+ attr_accessor :ddos_protection_config
36149
+
34716
36150
  # An optional description of this resource. Provide this property when you
34717
36151
  # create the resource.
34718
36152
  # Corresponds to the JSON property `description`
@@ -34788,6 +36222,12 @@ module Google
34788
36222
  # @return [String]
34789
36223
  attr_accessor :parent
34790
36224
 
36225
+ # [Output Only] URL of the region where the regional security policy resides.
36226
+ # This field is not applicable to global security policies.
36227
+ # Corresponds to the JSON property `region`
36228
+ # @return [String]
36229
+ attr_accessor :region
36230
+
34791
36231
  # [Output Only] Total count of all security policy rule tuples. A security
34792
36232
  # policy can not exceed a set number of tuples.
34793
36233
  # Corresponds to the JSON property `ruleTupleCount`
@@ -34825,9 +36265,11 @@ module Google
34825
36265
  # Update properties of this object
34826
36266
  def update!(**args)
34827
36267
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
36268
+ @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
34828
36269
  @associations = args[:associations] if args.key?(:associations)
34829
36270
  @cloud_armor_config = args[:cloud_armor_config] if args.key?(:cloud_armor_config)
34830
36271
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36272
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
34831
36273
  @description = args[:description] if args.key?(:description)
34832
36274
  @display_name = args[:display_name] if args.key?(:display_name)
34833
36275
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -34837,6 +36279,7 @@ module Google
34837
36279
  @labels = args[:labels] if args.key?(:labels)
34838
36280
  @name = args[:name] if args.key?(:name)
34839
36281
  @parent = args[:parent] if args.key?(:parent)
36282
+ @region = args[:region] if args.key?(:region)
34840
36283
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
34841
36284
  @rules = args[:rules] if args.key?(:rules)
34842
36285
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -34891,6 +36334,31 @@ module Google
34891
36334
  end
34892
36335
  end
34893
36336
 
36337
+ #
36338
+ class SecurityPolicyAdvancedOptionsConfig
36339
+ include Google::Apis::Core::Hashable
36340
+
36341
+ #
36342
+ # Corresponds to the JSON property `jsonParsing`
36343
+ # @return [String]
36344
+ attr_accessor :json_parsing
36345
+
36346
+ #
36347
+ # Corresponds to the JSON property `logLevel`
36348
+ # @return [String]
36349
+ attr_accessor :log_level
36350
+
36351
+ def initialize(**args)
36352
+ update!(**args)
36353
+ end
36354
+
36355
+ # Update properties of this object
36356
+ def update!(**args)
36357
+ @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
36358
+ @log_level = args[:log_level] if args.key?(:log_level)
36359
+ end
36360
+ end
36361
+
34894
36362
  #
34895
36363
  class SecurityPolicyAssociation
34896
36364
  include Google::Apis::Core::Hashable
@@ -34948,10 +36416,34 @@ module Google
34948
36416
  end
34949
36417
  end
34950
36418
 
36419
+ #
36420
+ class SecurityPolicyDdosProtectionConfig
36421
+ include Google::Apis::Core::Hashable
36422
+
36423
+ #
36424
+ # Corresponds to the JSON property `ddosProtection`
36425
+ # @return [String]
36426
+ attr_accessor :ddos_protection
36427
+
36428
+ def initialize(**args)
36429
+ update!(**args)
36430
+ end
36431
+
36432
+ # Update properties of this object
36433
+ def update!(**args)
36434
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
36435
+ end
36436
+ end
36437
+
34951
36438
  #
34952
36439
  class SecurityPolicyList
34953
36440
  include Google::Apis::Core::Hashable
34954
36441
 
36442
+ #
36443
+ # Corresponds to the JSON property `etag`
36444
+ # @return [String]
36445
+ attr_accessor :etag
36446
+
34955
36447
  # [Output Only] Unique identifier for the resource; defined by the server.
34956
36448
  # Corresponds to the JSON property `id`
34957
36449
  # @return [String]
@@ -34977,6 +36469,11 @@ module Google
34977
36469
  # @return [String]
34978
36470
  attr_accessor :next_page_token
34979
36471
 
36472
+ # [Output Only] Unreachable resources.
36473
+ # Corresponds to the JSON property `unreachables`
36474
+ # @return [Array<String>]
36475
+ attr_accessor :unreachables
36476
+
34980
36477
  # [Output Only] Informational warning message.
34981
36478
  # Corresponds to the JSON property `warning`
34982
36479
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyList::Warning]
@@ -34988,10 +36485,12 @@ module Google
34988
36485
 
34989
36486
  # Update properties of this object
34990
36487
  def update!(**args)
36488
+ @etag = args[:etag] if args.key?(:etag)
34991
36489
  @id = args[:id] if args.key?(:id)
34992
36490
  @items = args[:items] if args.key?(:items)
34993
36491
  @kind = args[:kind] if args.key?(:kind)
34994
36492
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36493
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
34995
36494
  @warning = args[:warning] if args.key?(:warning)
34996
36495
  end
34997
36496
 
@@ -35084,7 +36583,7 @@ module Google
35084
36583
  class SecurityPolicyRule
35085
36584
  include Google::Apis::Core::Hashable
35086
36585
 
35087
- # The Action to preform when the client connection triggers the rule. Can
36586
+ # The Action to perform when the client connection triggers the rule. Can
35088
36587
  # currently be either "allow" or "deny()" where valid values for status are 403,
35089
36588
  # 404, and 502.
35090
36589
  # Corresponds to the JSON property `action`
@@ -35211,7 +36710,7 @@ module Google
35211
36710
  class SecurityPolicyRuleHttpHeaderAction
35212
36711
  include Google::Apis::Core::Hashable
35213
36712
 
35214
- # The list of request headers to add or overwrite if they?re already present.
36713
+ # The list of request headers to add or overwrite if they're already present.
35215
36714
  # Corresponds to the JSON property `requestHeadersToAdds`
35216
36715
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
35217
36716
  attr_accessor :request_headers_to_adds
@@ -35701,10 +37200,16 @@ module Google
35701
37200
  # A service attachment represents a service that a producer has exposed. It
35702
37201
  # encapsulates the load balancer which fronts the service runs and a list of NAT
35703
37202
  # IP ranges that the producers uses to represent the consumers connecting to the
35704
- # service. next tag = 17
37203
+ # service. next tag = 19
35705
37204
  class ServiceAttachment
35706
37205
  include Google::Apis::Core::Hashable
35707
37206
 
37207
+ # [Output Only] An array of connections for all the consumers connected to this
37208
+ # service attachment.
37209
+ # Corresponds to the JSON property `connectedEndpoints`
37210
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConnectedEndpoint>]
37211
+ attr_accessor :connected_endpoints
37212
+
35708
37213
  # The connection preference of service attachment. The value can be set to
35709
37214
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
35710
37215
  # accepts the connection from consumer forwarding rules.
@@ -35712,12 +37217,23 @@ module Google
35712
37217
  # @return [String]
35713
37218
  attr_accessor :connection_preference
35714
37219
 
37220
+ # Projects that are allowed to connect to this service attachment.
37221
+ # Corresponds to the JSON property `consumerAcceptLists`
37222
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerProjectLimit>]
37223
+ attr_accessor :consumer_accept_lists
37224
+
35715
37225
  # [Output Only] An array of forwarding rules for all the consumers connected to
35716
37226
  # this service attachment.
35717
37227
  # Corresponds to the JSON property `consumerForwardingRules`
35718
37228
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerForwardingRule>]
35719
37229
  attr_accessor :consumer_forwarding_rules
35720
37230
 
37231
+ # Projects that are not allowed to connect to this service attachment. The
37232
+ # project can be specified using its id or number.
37233
+ # Corresponds to the JSON property `consumerRejectLists`
37234
+ # @return [Array<String>]
37235
+ attr_accessor :consumer_reject_lists
37236
+
35721
37237
  # [Output Only] Creation timestamp in RFC3339 text format.
35722
37238
  # Corresponds to the JSON property `creationTimestamp`
35723
37239
  # @return [String]
@@ -35737,6 +37253,17 @@ module Google
35737
37253
  attr_accessor :enable_proxy_protocol
35738
37254
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
35739
37255
 
37256
+ # Fingerprint of this resource. A hash of the contents stored in this object.
37257
+ # This field is used in optimistic locking. This field will be ignored when
37258
+ # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
37259
+ # order to patch/update the ServiceAttachment; otherwise, the request will fail
37260
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
37261
+ # request to retrieve the ServiceAttachment.
37262
+ # Corresponds to the JSON property `fingerprint`
37263
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
37264
+ # @return [String]
37265
+ attr_accessor :fingerprint
37266
+
35740
37267
  # [Output Only] The unique identifier for the resource type. The server
35741
37268
  # generates this identifier.
35742
37269
  # Corresponds to the JSON property `id`
@@ -35771,6 +37298,11 @@ module Google
35771
37298
  # @return [String]
35772
37299
  attr_accessor :producer_forwarding_rule
35773
37300
 
37301
+ # [Output Only] An 128-bit global unique ID of the PSC service attachment.
37302
+ # Corresponds to the JSON property `pscServiceAttachmentId`
37303
+ # @return [Google::Apis::ComputeAlpha::Uint128]
37304
+ attr_accessor :psc_service_attachment_id
37305
+
35774
37306
  # [Output Only] URL of the region where the service attachment resides. This
35775
37307
  # field applies only to the region resource. You must specify this field as part
35776
37308
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -35783,24 +37315,36 @@ module Google
35783
37315
  # @return [String]
35784
37316
  attr_accessor :self_link
35785
37317
 
37318
+ # The URL of a service serving the endpoint identified by this service
37319
+ # attachment.
37320
+ # Corresponds to the JSON property `targetService`
37321
+ # @return [String]
37322
+ attr_accessor :target_service
37323
+
35786
37324
  def initialize(**args)
35787
37325
  update!(**args)
35788
37326
  end
35789
37327
 
35790
37328
  # Update properties of this object
35791
37329
  def update!(**args)
37330
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
35792
37331
  @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
37332
+ @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
35793
37333
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
37334
+ @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
35794
37335
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
35795
37336
  @description = args[:description] if args.key?(:description)
35796
37337
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
37338
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35797
37339
  @id = args[:id] if args.key?(:id)
35798
37340
  @kind = args[:kind] if args.key?(:kind)
35799
37341
  @name = args[:name] if args.key?(:name)
35800
37342
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
35801
37343
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
37344
+ @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
35802
37345
  @region = args[:region] if args.key?(:region)
35803
37346
  @self_link = args[:self_link] if args.key?(:self_link)
37347
+ @target_service = args[:target_service] if args.key?(:target_service)
35804
37348
  end
35805
37349
  end
35806
37350
 
@@ -35927,163 +37471,323 @@ module Google
35927
37471
  end
35928
37472
  end
35929
37473
 
35930
- # [Output Only] A consumer forwarding rule connected to this service attachment.
35931
- class ServiceAttachmentConsumerForwardingRule
37474
+ # [Output Only] A connection connected to this service attachment.
37475
+ class ServiceAttachmentConnectedEndpoint
37476
+ include Google::Apis::Core::Hashable
37477
+
37478
+ # The url of a connected endpoint.
37479
+ # Corresponds to the JSON property `endpoint`
37480
+ # @return [String]
37481
+ attr_accessor :endpoint
37482
+
37483
+ # The url of a consumer forwarding rule. [Deprecated] Do not use.
37484
+ # Corresponds to the JSON property `forwardingRule`
37485
+ # @return [String]
37486
+ attr_accessor :forwarding_rule
37487
+
37488
+ # The PSC connection id of the connected endpoint.
37489
+ # Corresponds to the JSON property `pscConnectionId`
37490
+ # @return [Fixnum]
37491
+ attr_accessor :psc_connection_id
37492
+
37493
+ # The status of a connected endpoint to this service attachment.
37494
+ # Corresponds to the JSON property `status`
37495
+ # @return [String]
37496
+ attr_accessor :status
37497
+
37498
+ def initialize(**args)
37499
+ update!(**args)
37500
+ end
37501
+
37502
+ # Update properties of this object
37503
+ def update!(**args)
37504
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
37505
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
37506
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
37507
+ @status = args[:status] if args.key?(:status)
37508
+ end
37509
+ end
37510
+
37511
+ # [Output Only] A consumer forwarding rule connected to this service attachment.
37512
+ # [Deprecated] Do not use.
37513
+ class ServiceAttachmentConsumerForwardingRule
37514
+ include Google::Apis::Core::Hashable
37515
+
37516
+ # The url of a consumer forwarding rule.
37517
+ # Corresponds to the JSON property `forwardingRule`
37518
+ # @return [String]
37519
+ attr_accessor :forwarding_rule
37520
+
37521
+ # The PSC connection id of the PSC Forwarding Rule.
37522
+ # Corresponds to the JSON property `pscConnectionId`
37523
+ # @return [Fixnum]
37524
+ attr_accessor :psc_connection_id
37525
+
37526
+ # The status of the forwarding rule.
37527
+ # Corresponds to the JSON property `status`
37528
+ # @return [String]
37529
+ attr_accessor :status
37530
+
37531
+ def initialize(**args)
37532
+ update!(**args)
37533
+ end
37534
+
37535
+ # Update properties of this object
37536
+ def update!(**args)
37537
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
37538
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
37539
+ @status = args[:status] if args.key?(:status)
37540
+ end
37541
+ end
37542
+
37543
+ #
37544
+ class ServiceAttachmentConsumerProjectLimit
37545
+ include Google::Apis::Core::Hashable
37546
+
37547
+ # The value of the limit to set.
37548
+ # Corresponds to the JSON property `connectionLimit`
37549
+ # @return [Fixnum]
37550
+ attr_accessor :connection_limit
37551
+
37552
+ # The project id or number for the project to set the limit for.
37553
+ # Corresponds to the JSON property `projectIdOrNum`
37554
+ # @return [String]
37555
+ attr_accessor :project_id_or_num
37556
+
37557
+ def initialize(**args)
37558
+ update!(**args)
37559
+ end
37560
+
37561
+ # Update properties of this object
37562
+ def update!(**args)
37563
+ @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
37564
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
37565
+ end
37566
+ end
37567
+
37568
+ #
37569
+ class ServiceAttachmentList
37570
+ include Google::Apis::Core::Hashable
37571
+
37572
+ # [Output Only] Unique identifier for the resource; defined by the server.
37573
+ # Corresponds to the JSON property `id`
37574
+ # @return [String]
37575
+ attr_accessor :id
37576
+
37577
+ # A list of ServiceAttachment resources.
37578
+ # Corresponds to the JSON property `items`
37579
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
37580
+ attr_accessor :items
37581
+
37582
+ # [Output Only] Type of the resource. Always compute#serviceAttachment for
37583
+ # service attachments.
37584
+ # Corresponds to the JSON property `kind`
37585
+ # @return [String]
37586
+ attr_accessor :kind
37587
+
37588
+ # [Output Only] This token allows you to get the next page of results for list
37589
+ # requests. If the number of results is larger than maxResults, use the
37590
+ # nextPageToken as a value for the query parameter pageToken in the next list
37591
+ # request. Subsequent list requests will have their own nextPageToken to
37592
+ # continue paging through the results.
37593
+ # Corresponds to the JSON property `nextPageToken`
37594
+ # @return [String]
37595
+ attr_accessor :next_page_token
37596
+
37597
+ # [Output Only] Server-defined URL for this resource.
37598
+ # Corresponds to the JSON property `selfLink`
37599
+ # @return [String]
37600
+ attr_accessor :self_link
37601
+
37602
+ # [Output Only] Informational warning message.
37603
+ # Corresponds to the JSON property `warning`
37604
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning]
37605
+ attr_accessor :warning
37606
+
37607
+ def initialize(**args)
37608
+ update!(**args)
37609
+ end
37610
+
37611
+ # Update properties of this object
37612
+ def update!(**args)
37613
+ @id = args[:id] if args.key?(:id)
37614
+ @items = args[:items] if args.key?(:items)
37615
+ @kind = args[:kind] if args.key?(:kind)
37616
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37617
+ @self_link = args[:self_link] if args.key?(:self_link)
37618
+ @warning = args[:warning] if args.key?(:warning)
37619
+ end
37620
+
37621
+ # [Output Only] Informational warning message.
37622
+ class Warning
37623
+ include Google::Apis::Core::Hashable
37624
+
37625
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37626
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37627
+ # Corresponds to the JSON property `code`
37628
+ # @return [String]
37629
+ attr_accessor :code
37630
+
37631
+ # [Output Only] Metadata about this warning in key: value format. For example:
37632
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37633
+ # Corresponds to the JSON property `data`
37634
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning::Datum>]
37635
+ attr_accessor :data
37636
+
37637
+ # [Output Only] A human-readable description of the warning code.
37638
+ # Corresponds to the JSON property `message`
37639
+ # @return [String]
37640
+ attr_accessor :message
37641
+
37642
+ def initialize(**args)
37643
+ update!(**args)
37644
+ end
37645
+
37646
+ # Update properties of this object
37647
+ def update!(**args)
37648
+ @code = args[:code] if args.key?(:code)
37649
+ @data = args[:data] if args.key?(:data)
37650
+ @message = args[:message] if args.key?(:message)
37651
+ end
37652
+
37653
+ #
37654
+ class Datum
37655
+ include Google::Apis::Core::Hashable
37656
+
37657
+ # [Output Only] A key that provides more detail on the warning being returned.
37658
+ # For example, for warnings where there are no results in a list request for a
37659
+ # particular zone, this key might be scope and the key value might be the zone
37660
+ # name. Other examples might be a key indicating a deprecated resource and a
37661
+ # suggested replacement, or a warning about invalid network settings (for
37662
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37663
+ # for IP forwarding).
37664
+ # Corresponds to the JSON property `key`
37665
+ # @return [String]
37666
+ attr_accessor :key
37667
+
37668
+ # [Output Only] A warning data value corresponding to the key.
37669
+ # Corresponds to the JSON property `value`
37670
+ # @return [String]
37671
+ attr_accessor :value
37672
+
37673
+ def initialize(**args)
37674
+ update!(**args)
37675
+ end
37676
+
37677
+ # Update properties of this object
37678
+ def update!(**args)
37679
+ @key = args[:key] if args.key?(:key)
37680
+ @value = args[:value] if args.key?(:value)
37681
+ end
37682
+ end
37683
+ end
37684
+ end
37685
+
37686
+ #
37687
+ class ServiceAttachmentsScopedList
37688
+ include Google::Apis::Core::Hashable
37689
+
37690
+ # A list of ServiceAttachments contained in this scope.
37691
+ # Corresponds to the JSON property `serviceAttachments`
37692
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
37693
+ attr_accessor :service_attachments
37694
+
37695
+ # Informational warning which replaces the list of service attachments when the
37696
+ # list is empty.
37697
+ # Corresponds to the JSON property `warning`
37698
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
37699
+ attr_accessor :warning
37700
+
37701
+ def initialize(**args)
37702
+ update!(**args)
37703
+ end
37704
+
37705
+ # Update properties of this object
37706
+ def update!(**args)
37707
+ @service_attachments = args[:service_attachments] if args.key?(:service_attachments)
37708
+ @warning = args[:warning] if args.key?(:warning)
37709
+ end
37710
+
37711
+ # Informational warning which replaces the list of service attachments when the
37712
+ # list is empty.
37713
+ class Warning
37714
+ include Google::Apis::Core::Hashable
37715
+
37716
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37717
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37718
+ # Corresponds to the JSON property `code`
37719
+ # @return [String]
37720
+ attr_accessor :code
37721
+
37722
+ # [Output Only] Metadata about this warning in key: value format. For example:
37723
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37724
+ # Corresponds to the JSON property `data`
37725
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
37726
+ attr_accessor :data
37727
+
37728
+ # [Output Only] A human-readable description of the warning code.
37729
+ # Corresponds to the JSON property `message`
37730
+ # @return [String]
37731
+ attr_accessor :message
37732
+
37733
+ def initialize(**args)
37734
+ update!(**args)
37735
+ end
37736
+
37737
+ # Update properties of this object
37738
+ def update!(**args)
37739
+ @code = args[:code] if args.key?(:code)
37740
+ @data = args[:data] if args.key?(:data)
37741
+ @message = args[:message] if args.key?(:message)
37742
+ end
37743
+
37744
+ #
37745
+ class Datum
37746
+ include Google::Apis::Core::Hashable
37747
+
37748
+ # [Output Only] A key that provides more detail on the warning being returned.
37749
+ # For example, for warnings where there are no results in a list request for a
37750
+ # particular zone, this key might be scope and the key value might be the zone
37751
+ # name. Other examples might be a key indicating a deprecated resource and a
37752
+ # suggested replacement, or a warning about invalid network settings (for
37753
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37754
+ # for IP forwarding).
37755
+ # Corresponds to the JSON property `key`
37756
+ # @return [String]
37757
+ attr_accessor :key
37758
+
37759
+ # [Output Only] A warning data value corresponding to the key.
37760
+ # Corresponds to the JSON property `value`
37761
+ # @return [String]
37762
+ attr_accessor :value
37763
+
37764
+ def initialize(**args)
37765
+ update!(**args)
37766
+ end
37767
+
37768
+ # Update properties of this object
37769
+ def update!(**args)
37770
+ @key = args[:key] if args.key?(:key)
37771
+ @value = args[:value] if args.key?(:value)
37772
+ end
37773
+ end
37774
+ end
37775
+ end
37776
+
37777
+ # The share setting for reservations and sole tenancy node groups.
37778
+ class ShareSettings
35932
37779
  include Google::Apis::Core::Hashable
35933
37780
 
35934
- # The url of a consumer forwarding rule.
35935
- # Corresponds to the JSON property `forwardingRule`
35936
- # @return [String]
35937
- attr_accessor :forwarding_rule
35938
-
35939
- # The status of the forwarding rule.
35940
- # Corresponds to the JSON property `status`
35941
- # @return [String]
35942
- attr_accessor :status
35943
-
35944
- def initialize(**args)
35945
- update!(**args)
35946
- end
35947
-
35948
- # Update properties of this object
35949
- def update!(**args)
35950
- @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
35951
- @status = args[:status] if args.key?(:status)
35952
- end
35953
- end
35954
-
35955
- #
35956
- class ServiceAttachmentList
35957
- include Google::Apis::Core::Hashable
35958
-
35959
- # [Output Only] Unique identifier for the resource; defined by the server.
35960
- # Corresponds to the JSON property `id`
35961
- # @return [String]
35962
- attr_accessor :id
35963
-
35964
- # A list of ServiceAttachment resources.
35965
- # Corresponds to the JSON property `items`
35966
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
35967
- attr_accessor :items
35968
-
35969
- # [Output Only] Type of the resource. Always compute#serviceAttachment for
35970
- # service attachments.
35971
- # Corresponds to the JSON property `kind`
35972
- # @return [String]
35973
- attr_accessor :kind
35974
-
35975
- # [Output Only] This token allows you to get the next page of results for list
35976
- # requests. If the number of results is larger than maxResults, use the
35977
- # nextPageToken as a value for the query parameter pageToken in the next list
35978
- # request. Subsequent list requests will have their own nextPageToken to
35979
- # continue paging through the results.
35980
- # Corresponds to the JSON property `nextPageToken`
35981
- # @return [String]
35982
- attr_accessor :next_page_token
37781
+ # A List of Project names to specify consumer projects for this shared-
37782
+ # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
37783
+ # Corresponds to the JSON property `projects`
37784
+ # @return [Array<String>]
37785
+ attr_accessor :projects
35983
37786
 
35984
- # [Output Only] Server-defined URL for this resource.
35985
- # Corresponds to the JSON property `selfLink`
37787
+ # Type of sharing for this shared-reservation
37788
+ # Corresponds to the JSON property `shareType`
35986
37789
  # @return [String]
35987
- attr_accessor :self_link
35988
-
35989
- # [Output Only] Informational warning message.
35990
- # Corresponds to the JSON property `warning`
35991
- # @return [Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning]
35992
- attr_accessor :warning
35993
-
35994
- def initialize(**args)
35995
- update!(**args)
35996
- end
35997
-
35998
- # Update properties of this object
35999
- def update!(**args)
36000
- @id = args[:id] if args.key?(:id)
36001
- @items = args[:items] if args.key?(:items)
36002
- @kind = args[:kind] if args.key?(:kind)
36003
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36004
- @self_link = args[:self_link] if args.key?(:self_link)
36005
- @warning = args[:warning] if args.key?(:warning)
36006
- end
36007
-
36008
- # [Output Only] Informational warning message.
36009
- class Warning
36010
- include Google::Apis::Core::Hashable
36011
-
36012
- # [Output Only] A warning code, if applicable. For example, Compute Engine
36013
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36014
- # Corresponds to the JSON property `code`
36015
- # @return [String]
36016
- attr_accessor :code
36017
-
36018
- # [Output Only] Metadata about this warning in key: value format. For example:
36019
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36020
- # Corresponds to the JSON property `data`
36021
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning::Datum>]
36022
- attr_accessor :data
36023
-
36024
- # [Output Only] A human-readable description of the warning code.
36025
- # Corresponds to the JSON property `message`
36026
- # @return [String]
36027
- attr_accessor :message
36028
-
36029
- def initialize(**args)
36030
- update!(**args)
36031
- end
36032
-
36033
- # Update properties of this object
36034
- def update!(**args)
36035
- @code = args[:code] if args.key?(:code)
36036
- @data = args[:data] if args.key?(:data)
36037
- @message = args[:message] if args.key?(:message)
36038
- end
36039
-
36040
- #
36041
- class Datum
36042
- include Google::Apis::Core::Hashable
36043
-
36044
- # [Output Only] A key that provides more detail on the warning being returned.
36045
- # For example, for warnings where there are no results in a list request for a
36046
- # particular zone, this key might be scope and the key value might be the zone
36047
- # name. Other examples might be a key indicating a deprecated resource and a
36048
- # suggested replacement, or a warning about invalid network settings (for
36049
- # example, if an instance attempts to perform IP forwarding but is not enabled
36050
- # for IP forwarding).
36051
- # Corresponds to the JSON property `key`
36052
- # @return [String]
36053
- attr_accessor :key
36054
-
36055
- # [Output Only] A warning data value corresponding to the key.
36056
- # Corresponds to the JSON property `value`
36057
- # @return [String]
36058
- attr_accessor :value
36059
-
36060
- def initialize(**args)
36061
- update!(**args)
36062
- end
36063
-
36064
- # Update properties of this object
36065
- def update!(**args)
36066
- @key = args[:key] if args.key?(:key)
36067
- @value = args[:value] if args.key?(:value)
36068
- end
36069
- end
36070
- end
36071
- end
36072
-
36073
- #
36074
- class ServiceAttachmentsScopedList
36075
- include Google::Apis::Core::Hashable
36076
-
36077
- # A list of ServiceAttachments contained in this scope.
36078
- # Corresponds to the JSON property `resources`
36079
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
36080
- attr_accessor :resources
36081
-
36082
- # Informational warning which replaces the list of service attachments when the
36083
- # list is empty.
36084
- # Corresponds to the JSON property `warning`
36085
- # @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
36086
- attr_accessor :warning
37790
+ attr_accessor :share_type
36087
37791
 
36088
37792
  def initialize(**args)
36089
37793
  update!(**args)
@@ -36091,73 +37795,8 @@ module Google
36091
37795
 
36092
37796
  # Update properties of this object
36093
37797
  def update!(**args)
36094
- @resources = args[:resources] if args.key?(:resources)
36095
- @warning = args[:warning] if args.key?(:warning)
36096
- end
36097
-
36098
- # Informational warning which replaces the list of service attachments when the
36099
- # list is empty.
36100
- class Warning
36101
- include Google::Apis::Core::Hashable
36102
-
36103
- # [Output Only] A warning code, if applicable. For example, Compute Engine
36104
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36105
- # Corresponds to the JSON property `code`
36106
- # @return [String]
36107
- attr_accessor :code
36108
-
36109
- # [Output Only] Metadata about this warning in key: value format. For example:
36110
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36111
- # Corresponds to the JSON property `data`
36112
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
36113
- attr_accessor :data
36114
-
36115
- # [Output Only] A human-readable description of the warning code.
36116
- # Corresponds to the JSON property `message`
36117
- # @return [String]
36118
- attr_accessor :message
36119
-
36120
- def initialize(**args)
36121
- update!(**args)
36122
- end
36123
-
36124
- # Update properties of this object
36125
- def update!(**args)
36126
- @code = args[:code] if args.key?(:code)
36127
- @data = args[:data] if args.key?(:data)
36128
- @message = args[:message] if args.key?(:message)
36129
- end
36130
-
36131
- #
36132
- class Datum
36133
- include Google::Apis::Core::Hashable
36134
-
36135
- # [Output Only] A key that provides more detail on the warning being returned.
36136
- # For example, for warnings where there are no results in a list request for a
36137
- # particular zone, this key might be scope and the key value might be the zone
36138
- # name. Other examples might be a key indicating a deprecated resource and a
36139
- # suggested replacement, or a warning about invalid network settings (for
36140
- # example, if an instance attempts to perform IP forwarding but is not enabled
36141
- # for IP forwarding).
36142
- # Corresponds to the JSON property `key`
36143
- # @return [String]
36144
- attr_accessor :key
36145
-
36146
- # [Output Only] A warning data value corresponding to the key.
36147
- # Corresponds to the JSON property `value`
36148
- # @return [String]
36149
- attr_accessor :value
36150
-
36151
- def initialize(**args)
36152
- update!(**args)
36153
- end
36154
-
36155
- # Update properties of this object
36156
- def update!(**args)
36157
- @key = args[:key] if args.key?(:key)
36158
- @value = args[:value] if args.key?(:value)
36159
- end
36160
- end
37798
+ @projects = args[:projects] if args.key?(:projects)
37799
+ @share_type = args[:share_type] if args.key?(:share_type)
36161
37800
  end
36162
37801
  end
36163
37802
 
@@ -36892,7 +38531,7 @@ module Google
36892
38531
  # @return [String]
36893
38532
  attr_accessor :post_key_revocation_action_type
36894
38533
 
36895
- # Sets the scheduling options for an Instance. NextID: 20
38534
+ # Sets the scheduling options for an Instance. NextID: 21
36896
38535
  # Corresponds to the JSON property `scheduling`
36897
38536
  # @return [Google::Apis::ComputeAlpha::Scheduling]
36898
38537
  attr_accessor :scheduling
@@ -38046,7 +39685,7 @@ module Google
38046
39685
  # Can only be specified if VPC flow logging for this subnetwork is enabled.
38047
39686
  # Configures whether metadata fields should be added to the reported VPC flow
38048
39687
  # logs. Options are INCLUDE_ALL_METADATA, EXCLUDE_ALL_METADATA, and
38049
- # CUSTOM_METADATA. Default is INCLUDE_ALL_METADATA.
39688
+ # CUSTOM_METADATA. Default is EXCLUDE_ALL_METADATA.
38050
39689
  # Corresponds to the JSON property `metadata`
38051
39690
  # @return [String]
38052
39691
  attr_accessor :metadata
@@ -38111,6 +39750,11 @@ module Google
38111
39750
  # @return [String]
38112
39751
  attr_accessor :region
38113
39752
 
39753
+ # The URL of the reserved internal range.
39754
+ # Corresponds to the JSON property `reservedInternalRange`
39755
+ # @return [String]
39756
+ attr_accessor :reserved_internal_range
39757
+
38114
39758
  # The role of subnetwork. Currently, this field is only used when purpose =
38115
39759
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
38116
39760
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
@@ -38151,9 +39795,7 @@ module Google
38151
39795
  # applicable to subnetworks that have the purpose set to
38152
39796
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
38153
39797
  # balancer are being drained. A subnetwork that is draining cannot be used or
38154
- # modified until it reaches a status of READY CREATING: Subnetwork is
38155
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
38156
- # being updated
39798
+ # modified until it reaches a status of READY
38157
39799
  # Corresponds to the JSON property `state`
38158
39800
  # @return [String]
38159
39801
  attr_accessor :state
@@ -38197,6 +39839,7 @@ module Google
38197
39839
  @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
38198
39840
  @purpose = args[:purpose] if args.key?(:purpose)
38199
39841
  @region = args[:region] if args.key?(:region)
39842
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
38200
39843
  @role = args[:role] if args.key?(:role)
38201
39844
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
38202
39845
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -38486,7 +40129,7 @@ module Google
38486
40129
 
38487
40130
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
38488
40131
  # Configures whether all, none or a subset of metadata fields should be added to
38489
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
40132
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
38490
40133
  # Corresponds to the JSON property `metadata`
38491
40134
  # @return [String]
38492
40135
  attr_accessor :metadata
@@ -38532,6 +40175,11 @@ module Google
38532
40175
  # @return [String]
38533
40176
  attr_accessor :range_name
38534
40177
 
40178
+ # The URL of the reserved internal range.
40179
+ # Corresponds to the JSON property `reservedInternalRange`
40180
+ # @return [String]
40181
+ attr_accessor :reserved_internal_range
40182
+
38535
40183
  def initialize(**args)
38536
40184
  update!(**args)
38537
40185
  end
@@ -38540,6 +40188,7 @@ module Google
38540
40188
  def update!(**args)
38541
40189
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
38542
40190
  @range_name = args[:range_name] if args.key?(:range_name)
40191
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
38543
40192
  end
38544
40193
  end
38545
40194
 
@@ -38674,7 +40323,9 @@ module Google
38674
40323
  end
38675
40324
  end
38676
40325
 
38677
- # Subsetting options to make L4 ILB support any number of backend instances
40326
+ # Subsetting configuration for this BackendService. Currently this is applicable
40327
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
40328
+ # Traffic Director.
38678
40329
  class Subsetting
38679
40330
  include Google::Apis::Core::Hashable
38680
40331
 
@@ -39605,7 +41256,8 @@ module Google
39605
41256
  include Google::Apis::Core::Hashable
39606
41257
 
39607
41258
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
39608
- # resource. Currently exactly one SslCertificate resource must be specified.
41259
+ # resource. At least one SSL certificate must be specified. Currently, you may
41260
+ # specify up to 15 SSL certificates.
39609
41261
  # Corresponds to the JSON property `sslCertificates`
39610
41262
  # @return [Array<String>]
39611
41263
  attr_accessor :ssl_certificates
@@ -39777,6 +41429,8 @@ module Google
39777
41429
  # URLs to SslCertificate resources that are used to authenticate connections
39778
41430
  # between users and the load balancer. At least one SSL certificate must be
39779
41431
  # specified. Currently, you may specify up to 15 SSL certificates.
41432
+ # sslCertificates do not apply when the load balancing scheme is set to
41433
+ # INTERNAL_SELF_MANAGED.
39780
41434
  # Corresponds to the JSON property `sslCertificates`
39781
41435
  # @return [Array<String>]
39782
41436
  attr_accessor :ssl_certificates
@@ -41161,7 +42815,8 @@ module Google
41161
42815
  include Google::Apis::Core::Hashable
41162
42816
 
41163
42817
  # New set of URLs to SslCertificate resources to associate with this
41164
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
42818
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
42819
+ # may specify up to 15 SSL certificates.
41165
42820
  # Corresponds to the JSON property `sslCertificates`
41166
42821
  # @return [Array<String>]
41167
42822
  attr_accessor :ssl_certificates
@@ -41242,7 +42897,8 @@ module Google
41242
42897
 
41243
42898
  # URLs to SslCertificate resources that are used to authenticate connections to
41244
42899
  # Backends. At least one SSL certificate must be specified. Currently, you may
41245
- # specify up to 15 SSL certificates.
42900
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
42901
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
41246
42902
  # Corresponds to the JSON property `sslCertificates`
41247
42903
  # @return [Array<String>]
41248
42904
  attr_accessor :ssl_certificates
@@ -42363,6 +44019,31 @@ module Google
42363
44019
  end
42364
44020
  end
42365
44021
 
44022
+ #
44023
+ class Uint128
44024
+ include Google::Apis::Core::Hashable
44025
+
44026
+ #
44027
+ # Corresponds to the JSON property `high`
44028
+ # @return [Fixnum]
44029
+ attr_accessor :high
44030
+
44031
+ #
44032
+ # Corresponds to the JSON property `low`
44033
+ # @return [Fixnum]
44034
+ attr_accessor :low
44035
+
44036
+ def initialize(**args)
44037
+ update!(**args)
44038
+ end
44039
+
44040
+ # Update properties of this object
44041
+ def update!(**args)
44042
+ @high = args[:high] if args.key?(:high)
44043
+ @low = args[:low] if args.key?(:low)
44044
+ end
44045
+ end
44046
+
42366
44047
  # Upcoming Maintenance notification information.
42367
44048
  class UpcomingMaintenance
42368
44049
  include Google::Apis::Core::Hashable
@@ -43267,7 +44948,9 @@ module Google
43267
44948
  # requests. If the number of results is larger than maxResults, use the
43268
44949
  # nextPageToken as a value for the query parameter pageToken in the next list
43269
44950
  # request. Subsequent list requests will have their own nextPageToken to
43270
- # continue paging through the results.
44951
+ # continue paging through the results. In special cases listUsable may return 0
44952
+ # subnetworks and nextPageToken which still should be used to get the next page
44953
+ # of results.
43271
44954
  # Corresponds to the JSON property `nextPageToken`
43272
44955
  # @return [String]
43273
44956
  attr_accessor :next_page_token
@@ -43727,7 +45410,7 @@ module Google
43727
45410
  # @return [String]
43728
45411
  attr_accessor :self_link
43729
45412
 
43730
- # A list of interfaces on this VPN gateway.
45413
+ # The list of VPN interfaces associated with this VPN gateway.
43731
45414
  # Corresponds to the JSON property `vpnInterfaces`
43732
45415
  # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
43733
45416
  attr_accessor :vpn_interfaces
@@ -44120,20 +45803,30 @@ module Google
44120
45803
  class VpnGatewayVpnGatewayInterface
44121
45804
  include Google::Apis::Core::Hashable
44122
45805
 
44123
- # The numeric ID of this VPN gateway interface.
45806
+ # [Output Only] Numeric identifier for this VPN interface associated with the
45807
+ # VPN gateway.
44124
45808
  # Corresponds to the JSON property `id`
44125
45809
  # @return [Fixnum]
44126
45810
  attr_accessor :id
44127
45811
 
44128
- # URL of the interconnect attachment resource. When the value of this field is
44129
- # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
44130
- # all Egress or Ingress traffic for this VPN Gateway interface will go through
44131
- # the specified interconnect attachment resource.
45812
+ # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
45813
+ # gateway interface. When the value of this field is present, the VPN gateway is
45814
+ # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
45815
+ # this VPN gateway interface goes through the specified VLAN attachment resource.
45816
+ # Not currently available publicly.
44132
45817
  # Corresponds to the JSON property `interconnectAttachment`
44133
45818
  # @return [String]
44134
45819
  attr_accessor :interconnect_attachment
44135
45820
 
44136
- # [Output Only] The external IP address for this VPN gateway interface.
45821
+ # [Output Only] IP address for this VPN interface associated with the VPN
45822
+ # gateway. The IP address could be either a regional external IP address or a
45823
+ # regional internal IP address. The two IP addresses for a VPN gateway must be
45824
+ # all regional external or regional internal IP addresses. There cannot be a mix
45825
+ # of regional external IP addresses and regional internal IP addresses. For
45826
+ # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
45827
+ # either be regional internal IP addresses or regional external IP addresses.
45828
+ # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
45829
+ # address must be a regional external IP address.
44137
45830
  # Corresponds to the JSON property `ipAddress`
44138
45831
  # @return [String]
44139
45832
  attr_accessor :ip_address
@@ -44411,8 +46104,8 @@ module Google
44411
46104
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
44412
46105
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
44413
46106
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
44414
- # - REJECTED: Tunnel configuration was rejected, can be result of being
44415
- # blacklisted.
46107
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
46108
+ # access.
44416
46109
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
44417
46110
  # resources.
44418
46111
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for