google-apis-compute_alpha 0.8.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3e4c440d19a5e8c28c00463c1e7958d3a381489f9db4382a813714546c6cc87
4
- data.tar.gz: 974beb40c9b18c21e817027f56e339d97b1f34b786757114af8818dbc0fabba7
3
+ metadata.gz: 335a20a160506d2f60413d46a9df902068fd8d1384fe7d9ae96d5f75e56832df
4
+ data.tar.gz: 869e83e71aba9717414894fdfbb1d3142d9de94c498e0c23b8652c3dea634724
5
5
  SHA512:
6
- metadata.gz: ca0d24ef7e6e0294ea7bd53a48b37fdd9d85b6d22aaed88c4f7006cdeba944fed73c2844801ff1237183cc9620e0db3ec129306bd5ea17c2833e035a763438f0
7
- data.tar.gz: b2d189b3612b3cece655801a1583714aef34089e32ce916b7a9b2d14cd05a3ee1dbd2435f6e1b5361ef8d351c909f055e8c89093a0cf98c063c3f155cb6bf9b4
6
+ metadata.gz: ca9377cec1f5e0b573cbe0f34d01b579c1c23e8e426f41a8a4b524f10299945b64d1a98ba5ee187ac12fad672dd46ef5c7813898065bad4b577666a7ea9b1ea6
7
+ data.tar.gz: 21bd67e82c5ba1812db7bfc27b7f52f09897ee40b8ec1f5ff73d47df31ab8785723b1a50c329fca78050a22db759362a794ae7b89688ffede3c67217f5ef9f67
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.13.0 (2021-06-24)
4
+
5
+ * Unspecified changes
6
+
7
+ ### v0.12.0 (2021-06-10)
8
+
9
+ * Regenerated from discovery document revision 20210525
10
+ * Regenerated using generator version 0.3.0
11
+
12
+ ### v0.11.0 (2021-05-28)
13
+
14
+ * Regenerated from discovery document revision 20210518
15
+
16
+ ### v0.10.0 (2021-05-20)
17
+
18
+ * Regenerated from discovery document revision 20210505
19
+ * Unspecified changes
20
+
21
+ ### v0.9.0 (2021-05-05)
22
+
23
+ * Regenerated from discovery document revision 20210415
24
+
3
25
  ### v0.8.0 (2021-03-30)
4
26
 
5
27
  * Regenerated from discovery document revision 20210316
@@ -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,15 +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.
18294
- # Not currently available in all Interconnect locations.
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.
18295
18936
  # Corresponds to the JSON property `encryption`
18296
18937
  # @return [String]
18297
18938
  attr_accessor :encryption
@@ -18315,19 +18956,19 @@ module Google
18315
18956
  # @return [String]
18316
18957
  attr_accessor :interconnect
18317
18958
 
18318
- # URL of addresses that have been reserved for the interconnect attachment, Used
18319
- # only for interconnect attachment that has the encryption option as IPSEC. The
18320
- # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
18321
- # over the interconnect attachment, if the attachment is configured to use an
18322
- # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
18323
- # the IP address range specified here. For example, if the HA VPN gateway?s
18324
- # 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
18325
18966
  # address for the VPN gateway interface 0 will be allocated from the IP address
18326
- # specified for this interconnect attachment. If this field is not specified for
18327
- # interconnect attachment that has encryption option as IPSEC, later on when
18328
- # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
18329
- # IP address will be allocated from regional external IP address pool.
18330
- # Not currently available in all Interconnect locations.
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.
18331
18972
  # Corresponds to the JSON property `ipsecInternalAddresses`
18332
18973
  # @return [Array<String>]
18333
18974
  attr_accessor :ipsec_internal_addresses
@@ -18427,6 +19068,14 @@ module Google
18427
19068
  # @return [String]
18428
19069
  attr_accessor :router
18429
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
+
18430
19079
  # [Output Only] Server-defined URL for the resource.
18431
19080
  # Corresponds to the JSON property `selfLink`
18432
19081
  # @return [String]
@@ -18437,6 +19086,14 @@ module Google
18437
19086
  # @return [String]
18438
19087
  attr_accessor :self_link_with_id
18439
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
+
18440
19097
  # [Output Only] The current state of this attachment's functionality. Enum
18441
19098
  # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
18442
19099
  # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
@@ -18484,10 +19141,15 @@ module Google
18484
19141
  def update!(**args)
18485
19142
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
18486
19143
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
19144
+ @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
18487
19145
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
18488
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)
18489
19149
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18490
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)
18491
19153
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
18492
19154
  @description = args[:description] if args.key?(:description)
18493
19155
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
@@ -18508,8 +19170,10 @@ module Google
18508
19170
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
18509
19171
  @region = args[:region] if args.key?(:region)
18510
19172
  @router = args[:router] if args.key?(:router)
19173
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18511
19174
  @self_link = args[:self_link] if args.key?(:self_link)
18512
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)
18513
19177
  @state = args[:state] if args.key?(:state)
18514
19178
  @type = args[:type] if args.key?(:type)
18515
19179
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
@@ -19348,6 +20012,13 @@ module Google
19348
20012
  # @return [String]
19349
20013
  attr_accessor :status
19350
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
+
19351
20022
  def initialize(**args)
19352
20023
  update!(**args)
19353
20024
  end
@@ -19370,6 +20041,7 @@ module Google
19370
20041
  @self_link = args[:self_link] if args.key?(:self_link)
19371
20042
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19372
20043
  @status = args[:status] if args.key?(:status)
20044
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
19373
20045
  end
19374
20046
  end
19375
20047
 
@@ -19577,8 +20249,10 @@ module Google
19577
20249
  # - ACTIVE: This outage notification is active. The event could be in the past,
19578
20250
  # present, or future. See start_time and end_time for scheduling.
19579
20251
  # - CANCELLED: The outage associated with this notification was cancelled before
19580
- # the outage was due to start. Note that the versions of this enum prefixed with
19581
- # "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.
19582
20256
  # Corresponds to the JSON property `state`
19583
20257
  # @return [String]
19584
20258
  attr_accessor :state
@@ -20418,12 +21092,17 @@ module Google
20418
21092
  include Google::Apis::Core::Hashable
20419
21093
 
20420
21094
  # Location configurations mapped by location name. Currently only zone names are
20421
- # 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-
20422
21096
  # central1-a.
20423
21097
  # Corresponds to the JSON property `locations`
20424
21098
  # @return [Hash<String,Google::Apis::ComputeAlpha::LocationPolicyLocation>]
20425
21099
  attr_accessor :locations
20426
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
+
20427
21106
  def initialize(**args)
20428
21107
  update!(**args)
20429
21108
  end
@@ -20431,6 +21110,7 @@ module Google
20431
21110
  # Update properties of this object
20432
21111
  def update!(**args)
20433
21112
  @locations = args[:locations] if args.key?(:locations)
21113
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
20434
21114
  end
20435
21115
  end
20436
21116
 
@@ -20438,7 +21118,7 @@ module Google
20438
21118
  class LocationPolicyLocation
20439
21119
  include Google::Apis::Core::Hashable
20440
21120
 
20441
- #
21121
+ # Preference for a given location: ALLOW or DENY.
20442
21122
  # Corresponds to the JSON property `preference`
20443
21123
  # @return [String]
20444
21124
  attr_accessor :preference
@@ -21424,6 +22104,13 @@ module Google
21424
22104
  # @return [String]
21425
22105
  attr_accessor :tag
21426
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
+
21427
22114
  # [Output Only] Intended version of this instance.
21428
22115
  # Corresponds to the JSON property `version`
21429
22116
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
@@ -21445,6 +22132,7 @@ module Google
21445
22132
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
21446
22133
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
21447
22134
  @tag = args[:tag] if args.key?(:tag)
22135
+ @target_status = args[:target_status] if args.key?(:target_status)
21448
22136
  @version = args[:version] if args.key?(:version)
21449
22137
  end
21450
22138
  end
@@ -21930,6 +22618,320 @@ module Google
21930
22618
  end
21931
22619
  end
21932
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
+
21933
22935
  # The network endpoint.
21934
22936
  class NetworkEndpoint
21935
22937
  include Google::Apis::Core::Hashable
@@ -22105,8 +23107,8 @@ module Google
22105
23107
  # @return [String]
22106
23108
  attr_accessor :self_link_with_id
22107
23109
 
22108
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
22109
- # platform must be provided.
23110
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23111
+ # be provided.
22110
23112
  # Note: The target backend service must be in the same project and located in
22111
23113
  # the same region as the Serverless NEG.
22112
23114
  # Corresponds to the JSON property `serverlessDeployment`
@@ -22578,8 +23580,8 @@ module Google
22578
23580
  end
22579
23581
  end
22580
23582
 
22581
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
22582
- # platform must be provided.
23583
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23584
+ # be provided.
22583
23585
  # Note: The target backend service must be in the same project and located in
22584
23586
  # the same region as the Serverless NEG.
22585
23587
  class NetworkEndpointGroupServerlessDeployment
@@ -22587,10 +23589,10 @@ module Google
22587
23589
 
22588
23590
  # The platform of the backend target(s) of this NEG. Possible values include:
22589
23591
  #
22590
- # - apigateway.googleapis.com
22591
- # - appengine.googleapies.com
22592
- # - cloudfunctions.googleapis.com
22593
- # - 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
22594
23596
  # Corresponds to the JSON property `platform`
22595
23597
  # @return [String]
22596
23598
  attr_accessor :platform
@@ -22599,8 +23601,8 @@ module Google
22599
23601
  # explicitly or in the urlMask. The resource identified by this value is
22600
23602
  # platform-specific and is as follows:
22601
23603
  #
22602
- # - API Gateway: The gateway id
22603
- # - AppEngine: The service name
23604
+ # - API Gateway: The gateway ID
23605
+ # - App Engine: The service name
22604
23606
  # - Cloud Functions: The function name
22605
23607
  # - Cloud Run: The service name
22606
23608
  # Corresponds to the JSON property `resource`
@@ -22608,23 +23610,24 @@ module Google
22608
23610
  attr_accessor :resource
22609
23611
 
22610
23612
  # A template to parse platform-specific fields from a request URL. URL mask
22611
- # allows for routing to multiple services on the same serverless platform
22612
- # without having to create multiple Network Endpoint Groups and backend services.
22613
- # The fields parsed by this template is platform-specific and are as follows:
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:
22614
23617
  #
22615
- # - API Gateway: The gateway id
22616
- # - AppEngine: The service and version
22617
- # - Cloud Functions: The function
23618
+ # - API Gateway: The gateway ID
23619
+ # - App Engine: The service and version
23620
+ # - Cloud Functions: The function name
22618
23621
  # - Cloud Run: The service and tag
22619
23622
  # Corresponds to the JSON property `urlMask`
22620
23623
  # @return [String]
22621
23624
  attr_accessor :url_mask
22622
23625
 
22623
- # The optional resource version. The version identified by this value is as
23626
+ # The optional resource version. The version identified by this value is
22624
23627
  # platform-specific and is follows:
22625
23628
  #
22626
23629
  # - API Gateway: Unused
22627
- # - AppEngine: The service version
23630
+ # - App Engine: The service version
22628
23631
  # - Cloud Functions: Unused
22629
23632
  # - Cloud Run: The service tag
22630
23633
  # Corresponds to the JSON property `version`
@@ -23115,10 +24118,16 @@ module Google
23115
24118
  include Google::Apis::Core::Hashable
23116
24119
 
23117
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.
23118
24122
  # Corresponds to the JSON property `ipAddress`
23119
24123
  # @return [String]
23120
24124
  attr_accessor :ip_address
23121
24125
 
24126
+ #
24127
+ # Corresponds to the JSON property `ipAllocationMode`
24128
+ # @return [String]
24129
+ attr_accessor :ip_allocation_mode
24130
+
23122
24131
  # If specified, this subnetwork must belong to the same network as that of the
23123
24132
  # network interface. If not specified the subnet of network interface will be
23124
24133
  # used. If you specify this property, you can specify the subnetwork as a full
@@ -23143,6 +24152,7 @@ module Google
23143
24152
  # Update properties of this object
23144
24153
  def update!(**args)
23145
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)
23146
24156
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
23147
24157
  @vlan = args[:vlan] if args.key?(:vlan)
23148
24158
  end
@@ -23726,6 +24736,11 @@ module Google
23726
24736
  # @return [String]
23727
24737
  attr_accessor :self_link_with_id
23728
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
+
23729
24744
  # [Output Only] The total number of nodes in the node group.
23730
24745
  # Corresponds to the JSON property `size`
23731
24746
  # @return [Fixnum]
@@ -23761,6 +24776,7 @@ module Google
23761
24776
  @node_template = args[:node_template] if args.key?(:node_template)
23762
24777
  @self_link = args[:self_link] if args.key?(:self_link)
23763
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)
23764
24780
  @size = args[:size] if args.key?(:size)
23765
24781
  @status = args[:status] if args.key?(:status)
23766
24782
  @zone = args[:zone] if args.key?(:zone)
@@ -25895,41 +26911,6 @@ module Google
25895
26911
  # @return [String]
25896
26912
  attr_accessor :kind
25897
26913
 
25898
- # `Any` contains an arbitrary serialized protocol buffer message along with a
25899
- # URL that describes the type of the serialized message.
25900
- # Protobuf library provides support to pack/unpack Any values in the form of
25901
- # utility functions or additional generated methods of the Any type.
25902
- # Example 1: Pack and unpack a message in C++.
25903
- # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
25904
- # Example 2: Pack and unpack a message in Java.
25905
- # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
25906
- # unpack(Foo.class); `
25907
- # Example 3: Pack and unpack a message in Python.
25908
- # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
25909
- # Unpack(foo) ...
25910
- # Example 4: Pack and unpack a message in Go
25911
- # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
25912
- # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
25913
- # The pack methods provided by protobuf library will by default use 'type.
25914
- # googleapis.com/full.type.name' as the type URL and the unpack methods only use
25915
- # the fully qualified type name after the last '/' in the type URL, for example "
25916
- # foo.bar.com/x/y.z" will yield type name "y.z".
25917
- # JSON ==== The JSON representation of an `Any` value uses the regular
25918
- # representation of the deserialized, embedded message, with an additional field
25919
- # `@type` which contains the type URL. Example:
25920
- # package google.profile; message Person ` string first_name = 1; string
25921
- # last_name = 2; `
25922
- # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
25923
- # lastName": `
25924
- # If the embedded message type is well-known and has a custom JSON
25925
- # representation, that representation will be embedded adding a field `value`
25926
- # which holds the custom JSON in addition to the `@type` field. Example (for
25927
- # message [google.protobuf.Duration][]):
25928
- # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
25929
- # Corresponds to the JSON property `metadata`
25930
- # @return [Google::Apis::ComputeAlpha::Any]
25931
- attr_accessor :metadata
25932
-
25933
26914
  # [Output Only] Name of the operation.
25934
26915
  # Corresponds to the JSON property `name`
25935
26916
  # @return [String]
@@ -26036,7 +27017,6 @@ module Google
26036
27017
  @id = args[:id] if args.key?(:id)
26037
27018
  @insert_time = args[:insert_time] if args.key?(:insert_time)
26038
27019
  @kind = args[:kind] if args.key?(:kind)
26039
- @metadata = args[:metadata] if args.key?(:metadata)
26040
27020
  @name = args[:name] if args.key?(:name)
26041
27021
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
26042
27022
  @operation_type = args[:operation_type] if args.key?(:operation_type)
@@ -29955,6 +30935,18 @@ module Google
29955
30935
  attr_accessor :skip_inapplicable_instances
29956
30936
  alias_method :skip_inapplicable_instances?, :skip_inapplicable_instances
29957
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
+
29958
30950
  def initialize(**args)
29959
30951
  update!(**args)
29960
30952
  end
@@ -29963,6 +30955,7 @@ module Google
29963
30955
  def update!(**args)
29964
30956
  @instances = args[:instances] if args.key?(:instances)
29965
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)
29966
30959
  end
29967
30960
  end
29968
30961
 
@@ -30527,6 +31520,105 @@ module Google
30527
31520
  end
30528
31521
  end
30529
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
+
30530
31622
  #
30531
31623
  class RegionInstantSnapshotsExportRequest
30532
31624
  include Google::Apis::Core::Hashable
@@ -30897,9 +31989,9 @@ module Google
30897
31989
  # @return [String]
30898
31990
  attr_accessor :self_link_with_id
30899
31991
 
30900
- # Share-settings for shared-reservation
31992
+ # The share setting for reservations and sole tenancy node groups.
30901
31993
  # Corresponds to the JSON property `shareSettings`
30902
- # @return [Google::Apis::ComputeAlpha::AllocationShareSettings]
31994
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
30903
31995
  attr_accessor :share_settings
30904
31996
 
30905
31997
  # This reservation type allows to pre allocate specific instance configuration.
@@ -30967,7 +32059,10 @@ module Google
30967
32059
  # @return [String]
30968
32060
  attr_accessor :key
30969
32061
 
30970
- # 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.
30971
32066
  # Corresponds to the JSON property `values`
30972
32067
  # @return [Array<String>]
30973
32068
  attr_accessor :values
@@ -32364,6 +33459,11 @@ module Google
32364
33459
  # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
32365
33460
  attr_accessor :scheduling
32366
33461
 
33462
+ #
33463
+ # Corresponds to the JSON property `upcomingMaintenance`
33464
+ # @return [Google::Apis::ComputeAlpha::ResourceStatusUpcomingMaintenance]
33465
+ attr_accessor :upcoming_maintenance
33466
+
32367
33467
  def initialize(**args)
32368
33468
  update!(**args)
32369
33469
  end
@@ -32371,6 +33471,7 @@ module Google
32371
33471
  # Update properties of this object
32372
33472
  def update!(**args)
32373
33473
  @scheduling = args[:scheduling] if args.key?(:scheduling)
33474
+ @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
32374
33475
  end
32375
33476
  end
32376
33477
 
@@ -32397,6 +33498,27 @@ module Google
32397
33498
  end
32398
33499
  end
32399
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
+
32400
33522
  # A rollout policy configuration.
32401
33523
  class RolloutPolicy
32402
33524
  include Google::Apis::Core::Hashable
@@ -32466,6 +33588,12 @@ module Google
32466
33588
  # @return [Fixnum]
32467
33589
  attr_accessor :id
32468
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
+
32469
33597
  # [Output Only] Type of this resource. Always compute#routes for Route resources.
32470
33598
  # Corresponds to the JSON property `kind`
32471
33599
  # @return [String]
@@ -32581,6 +33709,7 @@ module Google
32581
33709
  @description = args[:description] if args.key?(:description)
32582
33710
  @dest_range = args[:dest_range] if args.key?(:dest_range)
32583
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)
32584
33713
  @kind = args[:kind] if args.key?(:kind)
32585
33714
  @name = args[:name] if args.key?(:name)
32586
33715
  @network = args[:network] if args.key?(:network)
@@ -32809,9 +33938,9 @@ module Google
32809
33938
  # @return [String]
32810
33939
  attr_accessor :description
32811
33940
 
32812
- # Field to indicate if a router is dedicated to use with encrypted Interconnect
32813
- # Attachment (IPsec-encrypted Cloud Interconnect feature).
32814
- # Not currently available in all Interconnect locations.
33941
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
33942
+ # interconnectAttachments).
33943
+ # Not currently available publicly.
32815
33944
  # Corresponds to the JSON property `encryptedInterconnectRouter`
32816
33945
  # @return [Boolean]
32817
33946
  attr_accessor :encrypted_interconnect_router
@@ -33078,7 +34207,6 @@ module Google
33078
34207
 
33079
34208
  # The interval in seconds between BGP keepalive messages that are sent to the
33080
34209
  # peer.
33081
- # Not currently available publicly.
33082
34210
  # Hold time is three times the interval at which keepalive messages are sent,
33083
34211
  # and the hold time is the maximum number of seconds allowed to elapse between
33084
34212
  # successive keepalive messages that BGP receives from a peer.
@@ -33147,7 +34275,6 @@ module Google
33147
34275
  attr_accessor :bfd
33148
34276
 
33149
34277
  # The status of the BGP peer connection.
33150
- # Not currently available publicly.
33151
34278
  # If set to FALSE, any active session with the peer is terminated and all
33152
34279
  # associated routing information is removed. If set to TRUE, the peer connection
33153
34280
  # can be established with routing information. The default is TRUE.
@@ -33155,6 +34282,12 @@ module Google
33155
34282
  # @return [String]
33156
34283
  attr_accessor :enable
33157
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
+
33158
34291
  # Name of the interface the BGP peer is associated with.
33159
34292
  # Corresponds to the JSON property `interfaceName`
33160
34293
  # @return [String]
@@ -33166,6 +34299,11 @@ module Google
33166
34299
  # @return [String]
33167
34300
  attr_accessor :ip_address
33168
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
+
33169
34307
  # [Output Only] The resource that configures and manages this BGP peer.
33170
34308
  # - MANAGED_BY_USER is the default value and can be managed by you or other
33171
34309
  # users
@@ -33199,6 +34337,11 @@ module Google
33199
34337
  # @return [String]
33200
34338
  attr_accessor :peer_ip_address
33201
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
+
33202
34345
  # URI of the VM instance that is used as third-party router appliances such as
33203
34346
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
33204
34347
  # must be located in zones contained in the same region as this Cloud Router.
@@ -33219,12 +34362,15 @@ module Google
33219
34362
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
33220
34363
  @bfd = args[:bfd] if args.key?(:bfd)
33221
34364
  @enable = args[:enable] if args.key?(:enable)
34365
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
33222
34366
  @interface_name = args[:interface_name] if args.key?(:interface_name)
33223
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)
33224
34369
  @management_type = args[:management_type] if args.key?(:management_type)
33225
34370
  @name = args[:name] if args.key?(:name)
33226
34371
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
33227
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)
33228
34374
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33229
34375
  end
33230
34376
  end
@@ -33388,7 +34534,7 @@ module Google
33388
34534
  # @return [String]
33389
34535
  attr_accessor :redundant_interface
33390
34536
 
33391
- # 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
33392
34538
  # be in the same region as the Cloud Router. When you establish a BGP session to
33393
34539
  # a VM instance using this interface, the VM instance must belong to the same
33394
34540
  # subnetwork as the subnetwork specified here.
@@ -33545,6 +34691,19 @@ module Google
33545
34691
  # @return [Array<String>]
33546
34692
  attr_accessor :drain_nat_ips
33547
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
+
33548
34707
  #
33549
34708
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
33550
34709
  # @return [Boolean]
@@ -33561,6 +34720,18 @@ module Google
33561
34720
  # @return [Google::Apis::ComputeAlpha::RouterNatLogConfig]
33562
34721
  attr_accessor :log_config
33563
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
+
33564
34735
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
33565
34736
  # default number of ports is allocated to a VM. This is rounded up to the
33566
34737
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -33647,9 +34818,11 @@ module Google
33647
34818
  # Update properties of this object
33648
34819
  def update!(**args)
33649
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)
33650
34822
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
33651
34823
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
33652
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)
33653
34826
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
33654
34827
  @name = args[:name] if args.key?(:name)
33655
34828
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
@@ -33710,7 +34883,7 @@ module Google
33710
34883
  attr_accessor :description
33711
34884
 
33712
34885
  # CEL expression that specifies the match condition that egress traffic from a
33713
- # VM is evaluated against. If it evaluates to true, the corresponding ?action?
34886
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
33714
34887
  # is enforced.
33715
34888
  # The following examples are valid match expressions:
33716
34889
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/
@@ -33861,11 +35034,22 @@ module Google
33861
35034
  # @return [Google::Apis::ComputeAlpha::BfdStatus]
33862
35035
  attr_accessor :bfd_status
33863
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
+
33864
35043
  # IP address of the local BGP interface.
33865
35044
  # Corresponds to the JSON property `ipAddress`
33866
35045
  # @return [String]
33867
35046
  attr_accessor :ip_address
33868
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
+
33869
35053
  # URL of the VPN tunnel that this BGP peer controls.
33870
35054
  # Corresponds to the JSON property `linkedVpnTunnel`
33871
35055
  # @return [String]
@@ -33886,6 +35070,11 @@ module Google
33886
35070
  # @return [String]
33887
35071
  attr_accessor :peer_ip_address
33888
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
+
33889
35078
  # [Output only] URI of the VM instance that is used as third-party router
33890
35079
  # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
33891
35080
  # The VM instance is the peer side of the BGP session.
@@ -33922,11 +35111,14 @@ module Google
33922
35111
  def update!(**args)
33923
35112
  @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
33924
35113
  @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
35114
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
33925
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)
33926
35117
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
33927
35118
  @name = args[:name] if args.key?(:name)
33928
35119
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
33929
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)
33930
35122
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33931
35123
  @state = args[:state] if args.key?(:state)
33932
35124
  @status = args[:status] if args.key?(:status)
@@ -34473,7 +35665,7 @@ module Google
34473
35665
  end
34474
35666
  end
34475
35667
 
34476
- # Sets the scheduling options for an Instance. NextID: 20
35668
+ # Sets the scheduling options for an Instance. NextID: 21
34477
35669
  class Scheduling
34478
35670
  include Google::Apis::Core::Hashable
34479
35671
 
@@ -34497,6 +35689,13 @@ module Google
34497
35689
  # @return [Fixnum]
34498
35690
  attr_accessor :availability_domain
34499
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
+
34500
35699
  # Defines whether the instance is tolerant of higher cpu latency. This can only
34501
35700
  # be set during instance creation, or when the instance is not currently running.
34502
35701
  # It must not be set if the preemptible option is also set.
@@ -34511,15 +35710,14 @@ module Google
34511
35710
  # @return [String]
34512
35711
  attr_accessor :location_hint
34513
35712
 
34514
- # Specifies the number of hours after instance creation where the instance won't
34515
- # be scheduled for maintenance.
35713
+ # Specifies the number of hours after VM instance creation where the VM won't be
35714
+ # scheduled for maintenance.
34516
35715
  # Corresponds to the JSON property `maintenanceFreezeDurationHours`
34517
35716
  # @return [Fixnum]
34518
35717
  attr_accessor :maintenance_freeze_duration_hours
34519
35718
 
34520
- # Specifies whether this VM may be a stable fleet VM. Setting this to "Periodic"
34521
- # designates this VM as a Stable Fleet VM.
34522
- # See go/stable-fleet-ug for more details.
35719
+ # For more information about maintenance intervals, see Setting maintenance
35720
+ # intervals.
34523
35721
  # Corresponds to the JSON property `maintenanceInterval`
34524
35722
  # @return [String]
34525
35723
  attr_accessor :maintenance_interval
@@ -34561,6 +35759,7 @@ module Google
34561
35759
  def update!(**args)
34562
35760
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
34563
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)
34564
35763
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
34565
35764
  @location_hint = args[:location_hint] if args.key?(:location_hint)
34566
35765
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
@@ -34652,6 +35851,136 @@ module Google
34652
35851
  end
34653
35852
  end
34654
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
+
34655
35984
  #
34656
35985
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
34657
35986
  include Google::Apis::Core::Hashable
@@ -34671,6 +36000,97 @@ module Google
34671
36000
  end
34672
36001
  end
34673
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
+
34674
36094
  #
34675
36095
  class SecurityPoliciesWafConfig
34676
36096
  include Google::Apis::Core::Hashable
@@ -34702,6 +36122,11 @@ module Google
34702
36122
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdaptiveProtectionConfig]
34703
36123
  attr_accessor :adaptive_protection_config
34704
36124
 
36125
+ #
36126
+ # Corresponds to the JSON property `advancedOptionsConfig`
36127
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdvancedOptionsConfig]
36128
+ attr_accessor :advanced_options_config
36129
+
34705
36130
  # A list of associations that belong to this policy.
34706
36131
  # Corresponds to the JSON property `associations`
34707
36132
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
@@ -34717,6 +36142,11 @@ module Google
34717
36142
  # @return [String]
34718
36143
  attr_accessor :creation_timestamp
34719
36144
 
36145
+ #
36146
+ # Corresponds to the JSON property `ddosProtectionConfig`
36147
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyDdosProtectionConfig]
36148
+ attr_accessor :ddos_protection_config
36149
+
34720
36150
  # An optional description of this resource. Provide this property when you
34721
36151
  # create the resource.
34722
36152
  # Corresponds to the JSON property `description`
@@ -34792,6 +36222,12 @@ module Google
34792
36222
  # @return [String]
34793
36223
  attr_accessor :parent
34794
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
+
34795
36231
  # [Output Only] Total count of all security policy rule tuples. A security
34796
36232
  # policy can not exceed a set number of tuples.
34797
36233
  # Corresponds to the JSON property `ruleTupleCount`
@@ -34829,9 +36265,11 @@ module Google
34829
36265
  # Update properties of this object
34830
36266
  def update!(**args)
34831
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)
34832
36269
  @associations = args[:associations] if args.key?(:associations)
34833
36270
  @cloud_armor_config = args[:cloud_armor_config] if args.key?(:cloud_armor_config)
34834
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)
34835
36273
  @description = args[:description] if args.key?(:description)
34836
36274
  @display_name = args[:display_name] if args.key?(:display_name)
34837
36275
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -34841,6 +36279,7 @@ module Google
34841
36279
  @labels = args[:labels] if args.key?(:labels)
34842
36280
  @name = args[:name] if args.key?(:name)
34843
36281
  @parent = args[:parent] if args.key?(:parent)
36282
+ @region = args[:region] if args.key?(:region)
34844
36283
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
34845
36284
  @rules = args[:rules] if args.key?(:rules)
34846
36285
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -34895,6 +36334,31 @@ module Google
34895
36334
  end
34896
36335
  end
34897
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
+
34898
36362
  #
34899
36363
  class SecurityPolicyAssociation
34900
36364
  include Google::Apis::Core::Hashable
@@ -34952,10 +36416,34 @@ module Google
34952
36416
  end
34953
36417
  end
34954
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
+
34955
36438
  #
34956
36439
  class SecurityPolicyList
34957
36440
  include Google::Apis::Core::Hashable
34958
36441
 
36442
+ #
36443
+ # Corresponds to the JSON property `etag`
36444
+ # @return [String]
36445
+ attr_accessor :etag
36446
+
34959
36447
  # [Output Only] Unique identifier for the resource; defined by the server.
34960
36448
  # Corresponds to the JSON property `id`
34961
36449
  # @return [String]
@@ -34981,6 +36469,11 @@ module Google
34981
36469
  # @return [String]
34982
36470
  attr_accessor :next_page_token
34983
36471
 
36472
+ # [Output Only] Unreachable resources.
36473
+ # Corresponds to the JSON property `unreachables`
36474
+ # @return [Array<String>]
36475
+ attr_accessor :unreachables
36476
+
34984
36477
  # [Output Only] Informational warning message.
34985
36478
  # Corresponds to the JSON property `warning`
34986
36479
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyList::Warning]
@@ -34992,10 +36485,12 @@ module Google
34992
36485
 
34993
36486
  # Update properties of this object
34994
36487
  def update!(**args)
36488
+ @etag = args[:etag] if args.key?(:etag)
34995
36489
  @id = args[:id] if args.key?(:id)
34996
36490
  @items = args[:items] if args.key?(:items)
34997
36491
  @kind = args[:kind] if args.key?(:kind)
34998
36492
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36493
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
34999
36494
  @warning = args[:warning] if args.key?(:warning)
35000
36495
  end
35001
36496
 
@@ -35215,7 +36710,7 @@ module Google
35215
36710
  class SecurityPolicyRuleHttpHeaderAction
35216
36711
  include Google::Apis::Core::Hashable
35217
36712
 
35218
- # 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.
35219
36714
  # Corresponds to the JSON property `requestHeadersToAdds`
35220
36715
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
35221
36716
  attr_accessor :request_headers_to_adds
@@ -35705,10 +37200,16 @@ module Google
35705
37200
  # A service attachment represents a service that a producer has exposed. It
35706
37201
  # encapsulates the load balancer which fronts the service runs and a list of NAT
35707
37202
  # IP ranges that the producers uses to represent the consumers connecting to the
35708
- # service. next tag = 17
37203
+ # service. next tag = 19
35709
37204
  class ServiceAttachment
35710
37205
  include Google::Apis::Core::Hashable
35711
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
+
35712
37213
  # The connection preference of service attachment. The value can be set to
35713
37214
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
35714
37215
  # accepts the connection from consumer forwarding rules.
@@ -35716,12 +37217,23 @@ module Google
35716
37217
  # @return [String]
35717
37218
  attr_accessor :connection_preference
35718
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
+
35719
37225
  # [Output Only] An array of forwarding rules for all the consumers connected to
35720
37226
  # this service attachment.
35721
37227
  # Corresponds to the JSON property `consumerForwardingRules`
35722
37228
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerForwardingRule>]
35723
37229
  attr_accessor :consumer_forwarding_rules
35724
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
+
35725
37237
  # [Output Only] Creation timestamp in RFC3339 text format.
35726
37238
  # Corresponds to the JSON property `creationTimestamp`
35727
37239
  # @return [String]
@@ -35741,6 +37253,17 @@ module Google
35741
37253
  attr_accessor :enable_proxy_protocol
35742
37254
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
35743
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
+
35744
37267
  # [Output Only] The unique identifier for the resource type. The server
35745
37268
  # generates this identifier.
35746
37269
  # Corresponds to the JSON property `id`
@@ -35775,6 +37298,11 @@ module Google
35775
37298
  # @return [String]
35776
37299
  attr_accessor :producer_forwarding_rule
35777
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
+
35778
37306
  # [Output Only] URL of the region where the service attachment resides. This
35779
37307
  # field applies only to the region resource. You must specify this field as part
35780
37308
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -35787,24 +37315,36 @@ module Google
35787
37315
  # @return [String]
35788
37316
  attr_accessor :self_link
35789
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
+
35790
37324
  def initialize(**args)
35791
37325
  update!(**args)
35792
37326
  end
35793
37327
 
35794
37328
  # Update properties of this object
35795
37329
  def update!(**args)
37330
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
35796
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)
35797
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)
35798
37335
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
35799
37336
  @description = args[:description] if args.key?(:description)
35800
37337
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
37338
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35801
37339
  @id = args[:id] if args.key?(:id)
35802
37340
  @kind = args[:kind] if args.key?(:kind)
35803
37341
  @name = args[:name] if args.key?(:name)
35804
37342
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
35805
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)
35806
37345
  @region = args[:region] if args.key?(:region)
35807
37346
  @self_link = args[:self_link] if args.key?(:self_link)
37347
+ @target_service = args[:target_service] if args.key?(:target_service)
35808
37348
  end
35809
37349
  end
35810
37350
 
@@ -35931,163 +37471,323 @@ module Google
35931
37471
  end
35932
37472
  end
35933
37473
 
35934
- # [Output Only] A consumer forwarding rule connected to this service attachment.
35935
- 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
35936
37779
  include Google::Apis::Core::Hashable
35937
37780
 
35938
- # The url of a consumer forwarding rule.
35939
- # Corresponds to the JSON property `forwardingRule`
35940
- # @return [String]
35941
- attr_accessor :forwarding_rule
35942
-
35943
- # The status of the forwarding rule.
35944
- # Corresponds to the JSON property `status`
35945
- # @return [String]
35946
- attr_accessor :status
35947
-
35948
- def initialize(**args)
35949
- update!(**args)
35950
- end
35951
-
35952
- # Update properties of this object
35953
- def update!(**args)
35954
- @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
35955
- @status = args[:status] if args.key?(:status)
35956
- end
35957
- end
35958
-
35959
- #
35960
- class ServiceAttachmentList
35961
- include Google::Apis::Core::Hashable
35962
-
35963
- # [Output Only] Unique identifier for the resource; defined by the server.
35964
- # Corresponds to the JSON property `id`
35965
- # @return [String]
35966
- attr_accessor :id
35967
-
35968
- # A list of ServiceAttachment resources.
35969
- # Corresponds to the JSON property `items`
35970
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
35971
- attr_accessor :items
35972
-
35973
- # [Output Only] Type of the resource. Always compute#serviceAttachment for
35974
- # service attachments.
35975
- # Corresponds to the JSON property `kind`
35976
- # @return [String]
35977
- attr_accessor :kind
35978
-
35979
- # [Output Only] This token allows you to get the next page of results for list
35980
- # requests. If the number of results is larger than maxResults, use the
35981
- # nextPageToken as a value for the query parameter pageToken in the next list
35982
- # request. Subsequent list requests will have their own nextPageToken to
35983
- # continue paging through the results.
35984
- # Corresponds to the JSON property `nextPageToken`
35985
- # @return [String]
35986
- 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
35987
37786
 
35988
- # [Output Only] Server-defined URL for this resource.
35989
- # Corresponds to the JSON property `selfLink`
37787
+ # Type of sharing for this shared-reservation
37788
+ # Corresponds to the JSON property `shareType`
35990
37789
  # @return [String]
35991
- attr_accessor :self_link
35992
-
35993
- # [Output Only] Informational warning message.
35994
- # Corresponds to the JSON property `warning`
35995
- # @return [Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning]
35996
- attr_accessor :warning
35997
-
35998
- def initialize(**args)
35999
- update!(**args)
36000
- end
36001
-
36002
- # Update properties of this object
36003
- def update!(**args)
36004
- @id = args[:id] if args.key?(:id)
36005
- @items = args[:items] if args.key?(:items)
36006
- @kind = args[:kind] if args.key?(:kind)
36007
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36008
- @self_link = args[:self_link] if args.key?(:self_link)
36009
- @warning = args[:warning] if args.key?(:warning)
36010
- end
36011
-
36012
- # [Output Only] Informational warning message.
36013
- class Warning
36014
- include Google::Apis::Core::Hashable
36015
-
36016
- # [Output Only] A warning code, if applicable. For example, Compute Engine
36017
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36018
- # Corresponds to the JSON property `code`
36019
- # @return [String]
36020
- attr_accessor :code
36021
-
36022
- # [Output Only] Metadata about this warning in key: value format. For example:
36023
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36024
- # Corresponds to the JSON property `data`
36025
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning::Datum>]
36026
- attr_accessor :data
36027
-
36028
- # [Output Only] A human-readable description of the warning code.
36029
- # Corresponds to the JSON property `message`
36030
- # @return [String]
36031
- attr_accessor :message
36032
-
36033
- def initialize(**args)
36034
- update!(**args)
36035
- end
36036
-
36037
- # Update properties of this object
36038
- def update!(**args)
36039
- @code = args[:code] if args.key?(:code)
36040
- @data = args[:data] if args.key?(:data)
36041
- @message = args[:message] if args.key?(:message)
36042
- end
36043
-
36044
- #
36045
- class Datum
36046
- include Google::Apis::Core::Hashable
36047
-
36048
- # [Output Only] A key that provides more detail on the warning being returned.
36049
- # For example, for warnings where there are no results in a list request for a
36050
- # particular zone, this key might be scope and the key value might be the zone
36051
- # name. Other examples might be a key indicating a deprecated resource and a
36052
- # suggested replacement, or a warning about invalid network settings (for
36053
- # example, if an instance attempts to perform IP forwarding but is not enabled
36054
- # for IP forwarding).
36055
- # Corresponds to the JSON property `key`
36056
- # @return [String]
36057
- attr_accessor :key
36058
-
36059
- # [Output Only] A warning data value corresponding to the key.
36060
- # Corresponds to the JSON property `value`
36061
- # @return [String]
36062
- attr_accessor :value
36063
-
36064
- def initialize(**args)
36065
- update!(**args)
36066
- end
36067
-
36068
- # Update properties of this object
36069
- def update!(**args)
36070
- @key = args[:key] if args.key?(:key)
36071
- @value = args[:value] if args.key?(:value)
36072
- end
36073
- end
36074
- end
36075
- end
36076
-
36077
- #
36078
- class ServiceAttachmentsScopedList
36079
- include Google::Apis::Core::Hashable
36080
-
36081
- # A list of ServiceAttachments contained in this scope.
36082
- # Corresponds to the JSON property `resources`
36083
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
36084
- attr_accessor :resources
36085
-
36086
- # Informational warning which replaces the list of service attachments when the
36087
- # list is empty.
36088
- # Corresponds to the JSON property `warning`
36089
- # @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
36090
- attr_accessor :warning
37790
+ attr_accessor :share_type
36091
37791
 
36092
37792
  def initialize(**args)
36093
37793
  update!(**args)
@@ -36095,73 +37795,8 @@ module Google
36095
37795
 
36096
37796
  # Update properties of this object
36097
37797
  def update!(**args)
36098
- @resources = args[:resources] if args.key?(:resources)
36099
- @warning = args[:warning] if args.key?(:warning)
36100
- end
36101
-
36102
- # Informational warning which replaces the list of service attachments when the
36103
- # list is empty.
36104
- class Warning
36105
- include Google::Apis::Core::Hashable
36106
-
36107
- # [Output Only] A warning code, if applicable. For example, Compute Engine
36108
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36109
- # Corresponds to the JSON property `code`
36110
- # @return [String]
36111
- attr_accessor :code
36112
-
36113
- # [Output Only] Metadata about this warning in key: value format. For example:
36114
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36115
- # Corresponds to the JSON property `data`
36116
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
36117
- attr_accessor :data
36118
-
36119
- # [Output Only] A human-readable description of the warning code.
36120
- # Corresponds to the JSON property `message`
36121
- # @return [String]
36122
- attr_accessor :message
36123
-
36124
- def initialize(**args)
36125
- update!(**args)
36126
- end
36127
-
36128
- # Update properties of this object
36129
- def update!(**args)
36130
- @code = args[:code] if args.key?(:code)
36131
- @data = args[:data] if args.key?(:data)
36132
- @message = args[:message] if args.key?(:message)
36133
- end
36134
-
36135
- #
36136
- class Datum
36137
- include Google::Apis::Core::Hashable
36138
-
36139
- # [Output Only] A key that provides more detail on the warning being returned.
36140
- # For example, for warnings where there are no results in a list request for a
36141
- # particular zone, this key might be scope and the key value might be the zone
36142
- # name. Other examples might be a key indicating a deprecated resource and a
36143
- # suggested replacement, or a warning about invalid network settings (for
36144
- # example, if an instance attempts to perform IP forwarding but is not enabled
36145
- # for IP forwarding).
36146
- # Corresponds to the JSON property `key`
36147
- # @return [String]
36148
- attr_accessor :key
36149
-
36150
- # [Output Only] A warning data value corresponding to the key.
36151
- # Corresponds to the JSON property `value`
36152
- # @return [String]
36153
- attr_accessor :value
36154
-
36155
- def initialize(**args)
36156
- update!(**args)
36157
- end
36158
-
36159
- # Update properties of this object
36160
- def update!(**args)
36161
- @key = args[:key] if args.key?(:key)
36162
- @value = args[:value] if args.key?(:value)
36163
- end
36164
- end
37798
+ @projects = args[:projects] if args.key?(:projects)
37799
+ @share_type = args[:share_type] if args.key?(:share_type)
36165
37800
  end
36166
37801
  end
36167
37802
 
@@ -36896,7 +38531,7 @@ module Google
36896
38531
  # @return [String]
36897
38532
  attr_accessor :post_key_revocation_action_type
36898
38533
 
36899
- # Sets the scheduling options for an Instance. NextID: 20
38534
+ # Sets the scheduling options for an Instance. NextID: 21
36900
38535
  # Corresponds to the JSON property `scheduling`
36901
38536
  # @return [Google::Apis::ComputeAlpha::Scheduling]
36902
38537
  attr_accessor :scheduling
@@ -38115,6 +39750,11 @@ module Google
38115
39750
  # @return [String]
38116
39751
  attr_accessor :region
38117
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
+
38118
39758
  # The role of subnetwork. Currently, this field is only used when purpose =
38119
39759
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
38120
39760
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
@@ -38155,9 +39795,7 @@ module Google
38155
39795
  # applicable to subnetworks that have the purpose set to
38156
39796
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
38157
39797
  # balancer are being drained. A subnetwork that is draining cannot be used or
38158
- # modified until it reaches a status of READY CREATING: Subnetwork is
38159
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
38160
- # being updated
39798
+ # modified until it reaches a status of READY
38161
39799
  # Corresponds to the JSON property `state`
38162
39800
  # @return [String]
38163
39801
  attr_accessor :state
@@ -38201,6 +39839,7 @@ module Google
38201
39839
  @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
38202
39840
  @purpose = args[:purpose] if args.key?(:purpose)
38203
39841
  @region = args[:region] if args.key?(:region)
39842
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
38204
39843
  @role = args[:role] if args.key?(:role)
38205
39844
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
38206
39845
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -38536,6 +40175,11 @@ module Google
38536
40175
  # @return [String]
38537
40176
  attr_accessor :range_name
38538
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
+
38539
40183
  def initialize(**args)
38540
40184
  update!(**args)
38541
40185
  end
@@ -38544,6 +40188,7 @@ module Google
38544
40188
  def update!(**args)
38545
40189
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
38546
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)
38547
40192
  end
38548
40193
  end
38549
40194
 
@@ -38678,7 +40323,9 @@ module Google
38678
40323
  end
38679
40324
  end
38680
40325
 
38681
- # 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.
38682
40329
  class Subsetting
38683
40330
  include Google::Apis::Core::Hashable
38684
40331
 
@@ -39609,7 +41256,8 @@ module Google
39609
41256
  include Google::Apis::Core::Hashable
39610
41257
 
39611
41258
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
39612
- # 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.
39613
41261
  # Corresponds to the JSON property `sslCertificates`
39614
41262
  # @return [Array<String>]
39615
41263
  attr_accessor :ssl_certificates
@@ -39781,6 +41429,8 @@ module Google
39781
41429
  # URLs to SslCertificate resources that are used to authenticate connections
39782
41430
  # between users and the load balancer. At least one SSL certificate must be
39783
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.
39784
41434
  # Corresponds to the JSON property `sslCertificates`
39785
41435
  # @return [Array<String>]
39786
41436
  attr_accessor :ssl_certificates
@@ -41165,7 +42815,8 @@ module Google
41165
42815
  include Google::Apis::Core::Hashable
41166
42816
 
41167
42817
  # New set of URLs to SslCertificate resources to associate with this
41168
- # 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.
41169
42820
  # Corresponds to the JSON property `sslCertificates`
41170
42821
  # @return [Array<String>]
41171
42822
  attr_accessor :ssl_certificates
@@ -41246,7 +42897,8 @@ module Google
41246
42897
 
41247
42898
  # URLs to SslCertificate resources that are used to authenticate connections to
41248
42899
  # Backends. At least one SSL certificate must be specified. Currently, you may
41249
- # 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.
41250
42902
  # Corresponds to the JSON property `sslCertificates`
41251
42903
  # @return [Array<String>]
41252
42904
  attr_accessor :ssl_certificates
@@ -42367,6 +44019,31 @@ module Google
42367
44019
  end
42368
44020
  end
42369
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
+
42370
44047
  # Upcoming Maintenance notification information.
42371
44048
  class UpcomingMaintenance
42372
44049
  include Google::Apis::Core::Hashable
@@ -43271,7 +44948,9 @@ module Google
43271
44948
  # requests. If the number of results is larger than maxResults, use the
43272
44949
  # nextPageToken as a value for the query parameter pageToken in the next list
43273
44950
  # request. Subsequent list requests will have their own nextPageToken to
43274
- # 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.
43275
44954
  # Corresponds to the JSON property `nextPageToken`
43276
44955
  # @return [String]
43277
44956
  attr_accessor :next_page_token
@@ -43731,7 +45410,7 @@ module Google
43731
45410
  # @return [String]
43732
45411
  attr_accessor :self_link
43733
45412
 
43734
- # A list of interfaces on this VPN gateway.
45413
+ # The list of VPN interfaces associated with this VPN gateway.
43735
45414
  # Corresponds to the JSON property `vpnInterfaces`
43736
45415
  # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
43737
45416
  attr_accessor :vpn_interfaces
@@ -44124,21 +45803,30 @@ module Google
44124
45803
  class VpnGatewayVpnGatewayInterface
44125
45804
  include Google::Apis::Core::Hashable
44126
45805
 
44127
- # The numeric ID of this VPN gateway interface.
45806
+ # [Output Only] Numeric identifier for this VPN interface associated with the
45807
+ # VPN gateway.
44128
45808
  # Corresponds to the JSON property `id`
44129
45809
  # @return [Fixnum]
44130
45810
  attr_accessor :id
44131
45811
 
44132
- # URL of the interconnect attachment resource. When the value of this field is
44133
- # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
44134
- # all Egress or Ingress traffic for this VPN Gateway interface will go through
44135
- # the specified interconnect attachment resource.
44136
- # Not currently available in all Interconnect locations.
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.
44137
45817
  # Corresponds to the JSON property `interconnectAttachment`
44138
45818
  # @return [String]
44139
45819
  attr_accessor :interconnect_attachment
44140
45820
 
44141
- # [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.
44142
45830
  # Corresponds to the JSON property `ipAddress`
44143
45831
  # @return [String]
44144
45832
  attr_accessor :ip_address