google-apis-compute_alpha 0.8.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3e4c440d19a5e8c28c00463c1e7958d3a381489f9db4382a813714546c6cc87
4
- data.tar.gz: 974beb40c9b18c21e817027f56e339d97b1f34b786757114af8818dbc0fabba7
3
+ metadata.gz: 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