google-apis-compute_alpha 0.5.0 → 0.10.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: 7d21bfea1439c202e8240c2742775ac3dd778531e397c3399fea7468b07bef49
4
- data.tar.gz: 8ffb292096a281cd0c093480cc4981f3ccbbc4a27dc59403ffc8783959109865
3
+ metadata.gz: 6cb18835a3ec3efea312beb86a3feea83fc9623d76da3e52614da5f13a186f76
4
+ data.tar.gz: ee7723ee799d7e3fb683ad8e8b6fcb3bcab0454de72625aa5095ff6c2682fe0b
5
5
  SHA512:
6
- metadata.gz: 06c110c9a38b7b4be1b14c42f16a03e3e68f8cd1477985e20aa1695f4943b2db69e6ea09c22e829266235509cceccafaebf6f0b62b7ca9c8258081ee0924919b
7
- data.tar.gz: 99a839f97813d1a65239aa4b5d13eda34218debcbbeff2ba1c63bf5a2a92b6f0fec2bb36607a2393c15a134aa96889a704fb909ae0e5602008b995d4b9803412
6
+ metadata.gz: 7e6806c25dc026622cdc0b61614da29fc12f9fe0f1b58f0adcfb27e9fbf8cb8ce62316b51f68ab20e722a1cb0fccb01d579a9c30043b40f7e380b81fede8937c
7
+ data.tar.gz: 4cdb3402544283b2f22d8568a22b20d3c1048e417868e07a6a011e86c7d631244fbd67ff246628615104de1d05e33c3a049be31fd21f55ddd4260e0a1d3030a6
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.10.0 (2021-05-20)
4
+
5
+ * Regenerated from discovery document revision 20210505
6
+ * Unspecified changes
7
+
8
+ ### v0.9.0 (2021-05-05)
9
+
10
+ * Regenerated from discovery document revision 20210415
11
+
12
+ ### v0.8.0 (2021-03-30)
13
+
14
+ * Regenerated from discovery document revision 20210316
15
+
16
+ ### v0.7.0 (2021-03-19)
17
+
18
+ * Regenerated from discovery document revision 20210310
19
+
20
+ ### v0.6.0 (2021-03-10)
21
+
22
+ * Regenerated from discovery document revision 20210301
23
+ * Regenerated using generator version 0.2.0
24
+
3
25
  ### v0.5.0 (2021-03-04)
4
26
 
5
27
  * Unspecified changes
@@ -29,7 +29,7 @@ module Google
29
29
  # This is NOT the gem version.
30
30
  VERSION = 'Alpha'
31
31
 
32
- # View and manage your data across Google Cloud Platform services
32
+ # See, edit, configure, and delete your Google Cloud Platform data
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
34
34
 
35
35
  # View and manage your Google Compute Engine resources
@@ -671,7 +671,7 @@ module Google
671
671
  # @return [String]
672
672
  attr_accessor :network_tier
673
673
 
674
- # The prefix length if the resource reprensents an IP range.
674
+ # The prefix length if the resource represents an IP range.
675
675
  # Corresponds to the JSON property `prefixLength`
676
676
  # @return [Fixnum]
677
677
  attr_accessor :prefix_length
@@ -684,7 +684,7 @@ module Google
684
684
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
685
685
  # reserved for Cloud NAT.
686
686
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
687
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
687
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
688
688
  # configuration. These addresses are regional resources.
689
689
  # Corresponds to the JSON property `purpose`
690
690
  # @return [String]
@@ -1111,6 +1111,14 @@ module Google
1111
1111
  # @return [Fixnum]
1112
1112
  attr_accessor :threads_per_core
1113
1113
 
1114
+ # The number of physical cores to expose to an instance. Multiply by the number
1115
+ # of threads per core to compute the total number of virtual CPUs to expose to
1116
+ # the instance. If unset, the number of cores is inferred from the instance's
1117
+ # nominal CPU count and the underlying platform's SMT width.
1118
+ # Corresponds to the JSON property `visibleCoreCount`
1119
+ # @return [Fixnum]
1120
+ attr_accessor :visible_core_count
1121
+
1114
1122
  def initialize(**args)
1115
1123
  update!(**args)
1116
1124
  end
@@ -1119,6 +1127,7 @@ module Google
1119
1127
  def update!(**args)
1120
1128
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1121
1129
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1130
+ @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1122
1131
  end
1123
1132
  end
1124
1133
 
@@ -1152,32 +1161,6 @@ module Google
1152
1161
  end
1153
1162
  end
1154
1163
 
1155
- #
1156
- class AllocationShareSettings
1157
- include Google::Apis::Core::Hashable
1158
-
1159
- # A List of Project names to specify consumer projects for this shared-
1160
- # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
1161
- # Corresponds to the JSON property `projects`
1162
- # @return [Array<String>]
1163
- attr_accessor :projects
1164
-
1165
- # Type of sharing for this shared-reservation
1166
- # Corresponds to the JSON property `shareType`
1167
- # @return [String]
1168
- attr_accessor :share_type
1169
-
1170
- def initialize(**args)
1171
- update!(**args)
1172
- end
1173
-
1174
- # Update properties of this object
1175
- def update!(**args)
1176
- @projects = args[:projects] if args.key?(:projects)
1177
- @share_type = args[:share_type] if args.key?(:share_type)
1178
- end
1179
- end
1180
-
1181
1164
  #
1182
1165
  class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk
1183
1166
  include Google::Apis::Core::Hashable
@@ -1239,9 +1222,8 @@ module Google
1239
1222
  # @return [Fixnum]
1240
1223
  attr_accessor :maintenance_freeze_duration_hours
1241
1224
 
1242
- # Specifies whether this VM may be a stable fleet VM. Setting this to "Periodic"
1243
- # designates this VM as a Stable Fleet VM.
1244
- # See go/stable-fleet-ug for more details.
1225
+ # For more information about maintenance intervals, see Setting maintenance
1226
+ # intervals.
1245
1227
  # Corresponds to the JSON property `maintenanceInterval`
1246
1228
  # @return [String]
1247
1229
  attr_accessor :maintenance_interval
@@ -1298,80 +1280,6 @@ module Google
1298
1280
  end
1299
1281
  end
1300
1282
 
1301
- # `Any` contains an arbitrary serialized protocol buffer message along with a
1302
- # URL that describes the type of the serialized message.
1303
- # Protobuf library provides support to pack/unpack Any values in the form of
1304
- # utility functions or additional generated methods of the Any type.
1305
- # Example 1: Pack and unpack a message in C++.
1306
- # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
1307
- # Example 2: Pack and unpack a message in Java.
1308
- # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
1309
- # unpack(Foo.class); `
1310
- # Example 3: Pack and unpack a message in Python.
1311
- # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
1312
- # Unpack(foo) ...
1313
- # Example 4: Pack and unpack a message in Go
1314
- # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
1315
- # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
1316
- # The pack methods provided by protobuf library will by default use 'type.
1317
- # googleapis.com/full.type.name' as the type URL and the unpack methods only use
1318
- # the fully qualified type name after the last '/' in the type URL, for example "
1319
- # foo.bar.com/x/y.z" will yield type name "y.z".
1320
- # JSON ==== The JSON representation of an `Any` value uses the regular
1321
- # representation of the deserialized, embedded message, with an additional field
1322
- # `@type` which contains the type URL. Example:
1323
- # package google.profile; message Person ` string first_name = 1; string
1324
- # last_name = 2; `
1325
- # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
1326
- # lastName": `
1327
- # If the embedded message type is well-known and has a custom JSON
1328
- # representation, that representation will be embedded adding a field `value`
1329
- # which holds the custom JSON in addition to the `@type` field. Example (for
1330
- # message [google.protobuf.Duration][]):
1331
- # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
1332
- class Any
1333
- include Google::Apis::Core::Hashable
1334
-
1335
- # A URL/resource name that uniquely identifies the type of the serialized
1336
- # protocol buffer message. This string must contain at least one "/" character.
1337
- # The last segment of the URL's path must represent the fully qualified name of
1338
- # the type (as in `path/google.protobuf.Duration`). The name should be in a
1339
- # canonical form (e.g., leading "." is not accepted).
1340
- # In practice, teams usually precompile into the binary all types that they
1341
- # expect it to use in the context of Any. However, for URLs which use the scheme
1342
- # `http`, `https`, or no scheme, one can optionally set up a type server that
1343
- # maps type URLs to message definitions as follows:
1344
- # * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must
1345
- # yield a [google.protobuf.Type][] value in binary format, or produce an error. *
1346
- # Applications are allowed to cache lookup results based on the URL, or have
1347
- # them precompiled into a binary to avoid any lookup. Therefore, binary
1348
- # compatibility needs to be preserved on changes to types. (Use versioned type
1349
- # names to manage breaking changes.)
1350
- # Note: this functionality is not currently available in the official protobuf
1351
- # release, and it is not used for type URLs beginning with type.googleapis.com.
1352
- # Schemes other than `http`, `https` (or the empty scheme) might be used with
1353
- # implementation specific semantics.
1354
- # Corresponds to the JSON property `typeUrl`
1355
- # @return [String]
1356
- attr_accessor :type_url
1357
-
1358
- # Must be a valid serialized protocol buffer of the above specified type.
1359
- # Corresponds to the JSON property `value`
1360
- # NOTE: Values are automatically base64 encoded/decoded in the client library.
1361
- # @return [String]
1362
- attr_accessor :value
1363
-
1364
- def initialize(**args)
1365
- update!(**args)
1366
- end
1367
-
1368
- # Update properties of this object
1369
- def update!(**args)
1370
- @type_url = args[:type_url] if args.key?(:type_url)
1371
- @value = args[:value] if args.key?(:value)
1372
- end
1373
- end
1374
-
1375
1283
  # An instance-attached disk resource.
1376
1284
  class AttachedDisk
1377
1285
  include Google::Apis::Core::Hashable
@@ -3008,6 +2916,12 @@ module Google
3008
2916
  # @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
3009
2917
  attr_accessor :bypass_cache_on_request_headers
3010
2918
 
2919
+ # Message containing what to include in the cache key for a request for Cloud
2920
+ # CDN.
2921
+ # Corresponds to the JSON property `cacheKeyPolicy`
2922
+ # @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicyCacheKeyPolicy]
2923
+ attr_accessor :cache_key_policy
2924
+
3011
2925
  # Specifies the cache setting for all responses from this backend. The possible
3012
2926
  # values are:
3013
2927
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -3132,6 +3046,7 @@ module Google
3132
3046
  # Update properties of this object
3133
3047
  def update!(**args)
3134
3048
  @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3049
+ @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3135
3050
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3136
3051
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3137
3052
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
@@ -3167,13 +3082,41 @@ module Google
3167
3082
  end
3168
3083
  end
3169
3084
 
3085
+ # Message containing what to include in the cache key for a request for Cloud
3086
+ # CDN.
3087
+ class BackendBucketCdnPolicyCacheKeyPolicy
3088
+ include Google::Apis::Core::Hashable
3089
+
3090
+ # Allows HTTP request headers (by name) to be used in the cache key.
3091
+ # Corresponds to the JSON property `includeHttpHeaders`
3092
+ # @return [Array<String>]
3093
+ attr_accessor :include_http_headers
3094
+
3095
+ # Names of query string parameters to include in cache keys. All other
3096
+ # parameters will be excluded. '&' and '=' will be percent encoded and not
3097
+ # treated as delimiters.
3098
+ # Corresponds to the JSON property `queryStringWhitelist`
3099
+ # @return [Array<String>]
3100
+ attr_accessor :query_string_whitelist
3101
+
3102
+ def initialize(**args)
3103
+ update!(**args)
3104
+ end
3105
+
3106
+ # Update properties of this object
3107
+ def update!(**args)
3108
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
3109
+ @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
3110
+ end
3111
+ end
3112
+
3170
3113
  # Specify CDN TTLs for response error codes.
3171
3114
  class BackendBucketCdnPolicyNegativeCachingPolicy
3172
3115
  include Google::Apis::Core::Hashable
3173
3116
 
3174
3117
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3175
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3176
- # cannot specify a status code more than once.
3118
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3119
+ # and you cannot specify a status code more than once.
3177
3120
  # Corresponds to the JSON property `code`
3178
3121
  # @return [Fixnum]
3179
3122
  attr_accessor :code
@@ -3597,7 +3540,7 @@ module Google
3597
3540
 
3598
3541
  # Type of session affinity to use. The default is NONE.
3599
3542
  # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3600
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3543
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3601
3544
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3602
3545
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3603
3546
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3612,15 +3555,15 @@ module Google
3612
3555
  # @return [String]
3613
3556
  attr_accessor :session_affinity
3614
3557
 
3615
- # Subsetting options to make L4 ILB support any number of backend instances
3558
+ # Subsetting configuration for this BackendService. Currently this is applicable
3559
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
3616
3560
  # Corresponds to the JSON property `subsetting`
3617
3561
  # @return [Google::Apis::ComputeAlpha::Subsetting]
3618
3562
  attr_accessor :subsetting
3619
3563
 
3620
- # The backend service timeout has a different meaning depending on the type of
3621
- # load balancer. For more information see, Backend service settings The default
3622
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3623
- # seconds.
3564
+ # Not supported when the backend service is referenced by a URL map that is
3565
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3566
+ # Instead, use maxStreamDuration.
3624
3567
  # Corresponds to the JSON property `timeoutSec`
3625
3568
  # @return [Fixnum]
3626
3569
  attr_accessor :timeout_sec
@@ -3976,8 +3919,8 @@ module Google
3976
3919
  include Google::Apis::Core::Hashable
3977
3920
 
3978
3921
  # The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
3979
- # 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you
3980
- # cannot specify a status code more than once.
3922
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3923
+ # and you cannot specify a status code more than once.
3981
3924
  # Corresponds to the JSON property `code`
3982
3925
  # @return [Fixnum]
3983
3926
  attr_accessor :code
@@ -4836,7 +4779,10 @@ module Google
4836
4779
  end
4837
4780
  end
4838
4781
 
4839
- #
4782
+ # A transient resource used in compute.instances.bulkInsert and compute.
4783
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4784
+ # This resource is not persisted anywhere, it is used only for processing the
4785
+ # requests.
4840
4786
  class BulkInsertInstanceResource
4841
4787
  include Google::Apis::Core::Hashable
4842
4788
 
@@ -4866,16 +4812,17 @@ module Google
4866
4812
 
4867
4813
  # The minimum number of instances to create. If no min_count is specified then
4868
4814
  # count is used as the default value. If min_count instances cannot be created,
4869
- # then no instances will be created.
4815
+ # then no instances will be created and instances already created will be
4816
+ # deleted.
4870
4817
  # Corresponds to the JSON property `minCount`
4871
4818
  # @return [Fixnum]
4872
4819
  attr_accessor :min_count
4873
4820
 
4874
4821
  # The string pattern used for the names of the VMs. Either name_pattern or
4875
- # predefined_names must be set. The pattern should contain one consecutive
4822
+ # per_instance_properties must be set. The pattern should contain one continuous
4876
4823
  # sequence of placeholder hash characters (#) with each character corresponding
4877
4824
  # to one digit of the generated instance name. Example: name_pattern of inst-####
4878
- # will generate instance names like inst-0001, inst-0002, ... . If there
4825
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4879
4826
  # already exist instance(s) whose names match the name pattern in the same
4880
4827
  # project and zone, then the generated instance numbers will start after the
4881
4828
  # biggest existing number. For example, if there exists an instance with name
@@ -4892,11 +4839,17 @@ module Google
4892
4839
  # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
4893
4840
  attr_accessor :per_instance_properties
4894
4841
 
4895
- # List of predefined names. The number of names provided must be equal to count.
4842
+ # DEPRECATED: Please use per_instance_properties instead.
4896
4843
  # Corresponds to the JSON property `predefinedNames`
4897
4844
  # @return [Array<String>]
4898
4845
  attr_accessor :predefined_names
4899
4846
 
4847
+ # Secure tags to apply to this instance. These can be later modified by the
4848
+ # update method. Maximum number of secure tags allowed is 50.
4849
+ # Corresponds to the JSON property `secureTags`
4850
+ # @return [Array<String>]
4851
+ attr_accessor :secure_tags
4852
+
4900
4853
  # Specifies the instance template from which to create instances. You may
4901
4854
  # combine sourceInstanceTemplate with instanceProperties to override specific
4902
4855
  # values from an existing instance template. Bulk API follows the semantics of
@@ -4926,6 +4879,7 @@ module Google
4926
4879
  @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4927
4880
  @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4928
4881
  @predefined_names = args[:predefined_names] if args.key?(:predefined_names)
4882
+ @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
4929
4883
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4930
4884
  end
4931
4885
  end
@@ -4987,6 +4941,17 @@ module Google
4987
4941
  attr_accessor :include_host
4988
4942
  alias_method :include_host?, :include_host
4989
4943
 
4944
+ # Allows HTTP request headers (by name) to be used in the cache key.
4945
+ # Corresponds to the JSON property `includeHttpHeaders`
4946
+ # @return [Array<String>]
4947
+ attr_accessor :include_http_headers
4948
+
4949
+ # Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
4950
+ # will be used in the cache key Cloud CDN generates.
4951
+ # Corresponds to the JSON property `includeNamedCookies`
4952
+ # @return [Array<String>]
4953
+ attr_accessor :include_named_cookies
4954
+
4990
4955
  # If true, http and https requests will be cached separately.
4991
4956
  # Corresponds to the JSON property `includeProtocol`
4992
4957
  # @return [Boolean]
@@ -5025,6 +4990,8 @@ module Google
5025
4990
  # Update properties of this object
5026
4991
  def update!(**args)
5027
4992
  @include_host = args[:include_host] if args.key?(:include_host)
4993
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
4994
+ @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
5028
4995
  @include_protocol = args[:include_protocol] if args.key?(:include_protocol)
5029
4996
  @include_query_string = args[:include_query_string] if args.key?(:include_query_string)
5030
4997
  @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
@@ -5105,14 +5072,14 @@ module Google
5105
5072
  # @return [Google::Apis::ComputeAlpha::Duration]
5106
5073
  attr_accessor :connect_timeout
5107
5074
 
5108
- # The maximum number of connections to the backend service. If not specified,
5109
- # there is no limit.
5075
+ # Not supported when the backend service is referenced by a URL map that is
5076
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5110
5077
  # Corresponds to the JSON property `maxConnections`
5111
5078
  # @return [Fixnum]
5112
5079
  attr_accessor :max_connections
5113
5080
 
5114
- # The maximum number of pending requests allowed to the backend service. If not
5115
- # specified, there is no limit.
5081
+ # Not supported when the backend service is referenced by a URL map that is
5082
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5116
5083
  # Corresponds to the JSON property `maxPendingRequests`
5117
5084
  # @return [Fixnum]
5118
5085
  attr_accessor :max_pending_requests
@@ -5123,16 +5090,14 @@ module Google
5123
5090
  # @return [Fixnum]
5124
5091
  attr_accessor :max_requests
5125
5092
 
5126
- # Maximum requests for a single connection to the backend service. This
5127
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
5128
- # specified, there is no limit. Setting this parameter to 1 will effectively
5129
- # disable keep alive.
5093
+ # Not supported when the backend service is referenced by a URL map that is
5094
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5130
5095
  # Corresponds to the JSON property `maxRequestsPerConnection`
5131
5096
  # @return [Fixnum]
5132
5097
  attr_accessor :max_requests_per_connection
5133
5098
 
5134
- # The maximum number of parallel retries allowed to the backend cluster. If not
5135
- # specified, the default is 1.
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.
5136
5101
  # Corresponds to the JSON property `maxRetries`
5137
5102
  # @return [Fixnum]
5138
5103
  attr_accessor :max_retries
@@ -5209,6 +5174,16 @@ module Google
5209
5174
  class Commitment
5210
5175
  include Google::Apis::Core::Hashable
5211
5176
 
5177
+ # Specifies whether to enable automatic renewal for the commitment. The default
5178
+ # value is false if not specified. The field can be updated until the day of the
5179
+ # commitment expiration at 12:00am PST. If the field is set to true, the
5180
+ # commitment will be automatically renewed for either one or three years
5181
+ # according to the terms of the existing commitment.
5182
+ # Corresponds to the JSON property `autoRenew`
5183
+ # @return [Boolean]
5184
+ attr_accessor :auto_renew
5185
+ alias_method :auto_renew?, :auto_renew
5186
+
5212
5187
  # The category of the commitment. Category MACHINE specifies commitments
5213
5188
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
5214
5189
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -5324,6 +5299,7 @@ module Google
5324
5299
 
5325
5300
  # Update properties of this object
5326
5301
  def update!(**args)
5302
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5327
5303
  @category = args[:category] if args.key?(:category)
5328
5304
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
5329
5305
  @description = args[:description] if args.key?(:description)
@@ -8453,13 +8429,14 @@ module Google
8453
8429
  # @return [String]
8454
8430
  attr_accessor :description
8455
8431
 
8456
- # User-provided name of the Organization firewall plicy. The name should be
8457
- # unique in the organization in which the firewall policy is created. The name
8458
- # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8459
- # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8460
- # [a-z0-9])?` which means the first character must be a lowercase letter, and
8461
- # all following characters must be a dash, lowercase letter, or digit, except
8462
- # the last character, which cannot be a dash.
8432
+ # Depreacted, please use short name instead. User-provided name of the
8433
+ # Organization firewall plicy. The name should be unique in the organization in
8434
+ # which the firewall policy is created. The name must be 1-63 characters long,
8435
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
8436
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
8437
+ # first character must be a lowercase letter, and all following characters must
8438
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
8439
+ # be a dash.
8463
8440
  # Corresponds to the JSON property `displayName`
8464
8441
  # @return [String]
8465
8442
  attr_accessor :display_name
@@ -8499,6 +8476,14 @@ module Google
8499
8476
  # @return [String]
8500
8477
  attr_accessor :parent
8501
8478
 
8479
+ # [Output Only] URL of the region where the regional firewall policy resides.
8480
+ # This field is not applicable to global firewall policies. You must specify
8481
+ # this field as part of the HTTP request URL. It is not settable as a field in
8482
+ # the request body.
8483
+ # Corresponds to the JSON property `region`
8484
+ # @return [String]
8485
+ attr_accessor :region
8486
+
8502
8487
  # [Output Only] Total count of all firewall policy rule tuples. A firewall
8503
8488
  # policy can not exceed a set number of tuples.
8504
8489
  # Corresponds to the JSON property `ruleTupleCount`
@@ -8523,6 +8508,17 @@ module Google
8523
8508
  # @return [String]
8524
8509
  attr_accessor :self_link_with_id
8525
8510
 
8511
+ # User-provided name of the Organization firewall plicy. The name should be
8512
+ # unique in the organization in which the firewall policy is created. The name
8513
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8514
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8515
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
8516
+ # all following characters must be a dash, lowercase letter, or digit, except
8517
+ # the last character, which cannot be a dash.
8518
+ # Corresponds to the JSON property `shortName`
8519
+ # @return [String]
8520
+ attr_accessor :short_name
8521
+
8526
8522
  def initialize(**args)
8527
8523
  update!(**args)
8528
8524
  end
@@ -8538,10 +8534,12 @@ module Google
8538
8534
  @kind = args[:kind] if args.key?(:kind)
8539
8535
  @name = args[:name] if args.key?(:name)
8540
8536
  @parent = args[:parent] if args.key?(:parent)
8537
+ @region = args[:region] if args.key?(:region)
8541
8538
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8542
8539
  @rules = args[:rules] if args.key?(:rules)
8543
8540
  @self_link = args[:self_link] if args.key?(:self_link)
8544
8541
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8542
+ @short_name = args[:short_name] if args.key?(:short_name)
8545
8543
  end
8546
8544
  end
8547
8545
 
@@ -8554,7 +8552,8 @@ module Google
8554
8552
  # @return [String]
8555
8553
  attr_accessor :attachment_target
8556
8554
 
8557
- # [Output Only] The display name of the firewall policy of the association.
8555
+ # [Output Only] Deprecated, please use short name instead. The display name of
8556
+ # the firewall policy of the association.
8558
8557
  # Corresponds to the JSON property `displayName`
8559
8558
  # @return [String]
8560
8559
  attr_accessor :display_name
@@ -8569,6 +8568,11 @@ module Google
8569
8568
  # @return [String]
8570
8569
  attr_accessor :name
8571
8570
 
8571
+ # [Output Only] The short name of the firewall policy of the association.
8572
+ # Corresponds to the JSON property `shortName`
8573
+ # @return [String]
8574
+ attr_accessor :short_name
8575
+
8572
8576
  def initialize(**args)
8573
8577
  update!(**args)
8574
8578
  end
@@ -8579,6 +8583,7 @@ module Google
8579
8583
  @display_name = args[:display_name] if args.key?(:display_name)
8580
8584
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
8581
8585
  @name = args[:name] if args.key?(:name)
8586
+ @short_name = args[:short_name] if args.key?(:short_name)
8582
8587
  end
8583
8588
  end
8584
8589
 
@@ -8765,17 +8770,6 @@ module Google
8765
8770
  # @return [Array<String>]
8766
8771
  attr_accessor :target_resources
8767
8772
 
8768
- # A list of secure labels that controls which instances the firewall rule
8769
- # applies to. If targetSecureLabel are specified, then the firewall rule applies
8770
- # only to instances in the VPC network that have one of those secure labels.
8771
- # targetSecureLabel may not be set at the same time as targetServiceAccounts. If
8772
- # neither targetServiceAccounts nor targetSecureLabel are specified, the
8773
- # firewall rule applies to all instances on the specified network. Maximum
8774
- # number of target label values allowed is 256.
8775
- # Corresponds to the JSON property `targetSecureLabels`
8776
- # @return [Array<String>]
8777
- attr_accessor :target_secure_labels
8778
-
8779
8773
  # A list of secure tags that controls which instances the firewall rule applies
8780
8774
  # to. If targetSecureTag are specified, then the firewall rule applies only to
8781
8775
  # instances in the VPC network that have one of those EFFECTIVE secure tags, if
@@ -8810,7 +8804,6 @@ module Google
8810
8804
  @priority = args[:priority] if args.key?(:priority)
8811
8805
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8812
8806
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8813
- @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
8814
8807
  @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
8815
8808
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8816
8809
  end
@@ -8837,12 +8830,6 @@ module Google
8837
8830
  # @return [Array<String>]
8838
8831
  attr_accessor :src_ip_ranges
8839
8832
 
8840
- # List of firewall label values, which should be matched at the source of the
8841
- # traffic. Maximum number of source label values allowed is 256.
8842
- # Corresponds to the JSON property `srcSecureLabels`
8843
- # @return [Array<String>]
8844
- attr_accessor :src_secure_labels
8845
-
8846
8833
  # List of secure tag values, which should be matched at the source of the
8847
8834
  # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8848
8835
  # is no srcIpRange, this rule will be ignored. Maximum number of source tag
@@ -8860,7 +8847,6 @@ module Google
8860
8847
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8861
8848
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8862
8849
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8863
- @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
8864
8850
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8865
8851
  end
8866
8852
  end
@@ -8996,15 +8982,18 @@ module Google
8996
8982
  # ip_address_specifications).
8997
8983
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8998
8984
  # validateForProxyless field set to true.
8985
+ # For Private Service Connect forwarding rules that forward traffic to Google
8986
+ # APIs, IP address must be provided.
8999
8987
  # Corresponds to the JSON property `IPAddress`
9000
8988
  # @return [String]
9001
8989
  attr_accessor :ip_address
9002
8990
 
9003
8991
  # The IP protocol to which this rule applies.
9004
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
8992
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
8993
+ # L3_DEFAULT.
9005
8994
  # The valid IP protocols are different for different load balancing products:
9006
8995
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
9007
- # one of TCP, UDP or ALL is valid.
8996
+ # one of TCP, UDP or L3_DEFAULT is valid.
9008
8997
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
9009
8998
  # only TCP is valid.
9010
8999
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -9012,17 +9001,18 @@ module Google
9012
9001
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
9013
9002
  # is EXTERNAL and only TCP is valid.
9014
9003
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
9015
- # TCP or UDP is valid.
9004
+ # TCP, UDP or L3_DEFAULT is valid.
9016
9005
  # Corresponds to the JSON property `IPProtocol`
9017
9006
  # @return [String]
9018
9007
  attr_accessor :ip_protocol
9019
9008
 
9020
- # This field is used along with the backend_service field for internal load
9021
- # balancing or with the target field for internal TargetInstance. This field
9022
- # cannot be used with port or portRange fields.
9023
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
9024
- # this field to allow packets addressed to any ports will be forwarded to the
9025
- # backends configured with this forwarding rule.
9009
+ # This field is used along with the backend_service field for Internal TCP/UDP
9010
+ # Load Balancing or Network Load Balancing, or with the target field for
9011
+ # internal and external TargetInstance.
9012
+ # You can only use one of ports and port_range, or allPorts. The three are
9013
+ # mutually exclusive.
9014
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
9015
+ # forwarded to the target or backendService.
9026
9016
  # Corresponds to the JSON property `allPorts`
9027
9017
  # @return [Boolean]
9028
9018
  attr_accessor :all_ports
@@ -9168,6 +9158,8 @@ module Google
9168
9158
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
9169
9159
  # the load balanced IP should belong to for this Forwarding Rule. If this field
9170
9160
  # is not specified, the default network will be used.
9161
+ # For Private Service Connect forwarding rules that forward traffic to Google
9162
+ # APIs, a network must be provided.
9171
9163
  # Corresponds to the JSON property `network`
9172
9164
  # @return [String]
9173
9165
  attr_accessor :network
@@ -9182,13 +9174,16 @@ module Google
9182
9174
  # @return [String]
9183
9175
  attr_accessor :network_tier
9184
9176
 
9185
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
9186
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
9187
- # or SCTP.
9177
+ # This field can be used only if:
9178
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
9179
+ # INTERNAL_MANAGED
9180
+ # - IPProtocol is one of TCP, UDP, or SCTP.
9188
9181
  # Packets addressed to ports in the specified range will be forwarded to target
9189
- # or backend_service. You can only use one of ports, port_range, or allPorts.
9190
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
9191
- # IPProtocol] pair must have disjoint port ranges.
9182
+ # or backend_service.
9183
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
9184
+ # exclusive.
9185
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9186
+ # ports.
9192
9187
  # Some types of forwarding target have constraints on the acceptable ports:
9193
9188
  # - TargetHttpProxy: 80, 8080
9194
9189
  # - TargetHttpsProxy: 443
@@ -9209,8 +9204,8 @@ module Google
9209
9204
  # You can only use one of ports and port_range, or allPorts. The three are
9210
9205
  # mutually exclusive.
9211
9206
  # You can specify a list of up to five ports, which can be non-contiguous.
9212
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
9213
- # specify ports.
9207
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9208
+ # ports.
9214
9209
  # For more information, see [Port specifications](/load-balancing/docs/
9215
9210
  # forwarding-rule-concepts#port_specifications).
9216
9211
  # Corresponds to the JSON property `ports`
@@ -9222,6 +9217,11 @@ module Google
9222
9217
  # @return [Fixnum]
9223
9218
  attr_accessor :psc_connection_id
9224
9219
 
9220
+ #
9221
+ # Corresponds to the JSON property `pscConnectionStatus`
9222
+ # @return [String]
9223
+ attr_accessor :psc_connection_status
9224
+
9225
9225
  # [Output Only] URL of the region where the regional forwarding rule resides.
9226
9226
  # This field is not applicable to global forwarding rules. You must specify this
9227
9227
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -9267,6 +9267,16 @@ module Google
9267
9267
  # @return [String]
9268
9268
  attr_accessor :service_name
9269
9269
 
9270
+ # If not empty, this Forwarding Rule will only forward the traffic when the
9271
+ # source IP address matches one of the IP addresses or CIDR ranges set here.
9272
+ # Note that a Forwarding Rule can only have up to 64 source IP ranges, and this
9273
+ # field can only be used with a regional Forwarding Rule whose scheme is
9274
+ # EXTERNAL. Each source_ip_range entry should be either an IP address (for
9275
+ # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
9276
+ # Corresponds to the JSON property `sourceIpRanges`
9277
+ # @return [Array<String>]
9278
+ attr_accessor :source_ip_ranges
9279
+
9270
9280
  # This field is only used for internal load balancing.
9271
9281
  # For internal load balancing, this field identifies the subnetwork that the
9272
9282
  # load balanced IP should belong to for this Forwarding Rule.
@@ -9277,12 +9287,7 @@ module Google
9277
9287
  # @return [String]
9278
9288
  attr_accessor :subnetwork
9279
9289
 
9280
- # The URL of the target resource to receive the matched traffic. For regional
9281
- # forwarding rules, this target must be in the same region as the forwarding
9282
- # rule. For global forwarding rules, this target must be a global load balancing
9283
- # resource. The forwarded traffic must be of a type appropriate to the target
9284
- # object. For more information, see the "Target" column in [Port specifications](
9285
- # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
9290
+ #
9286
9291
  # Corresponds to the JSON property `target`
9287
9292
  # @return [String]
9288
9293
  attr_accessor :target
@@ -9315,12 +9320,14 @@ module Google
9315
9320
  @port_range = args[:port_range] if args.key?(:port_range)
9316
9321
  @ports = args[:ports] if args.key?(:ports)
9317
9322
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
9323
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
9318
9324
  @region = args[:region] if args.key?(:region)
9319
9325
  @self_link = args[:self_link] if args.key?(:self_link)
9320
9326
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9321
9327
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
9322
9328
  @service_label = args[:service_label] if args.key?(:service_label)
9323
9329
  @service_name = args[:service_name] if args.key?(:service_name)
9330
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
9324
9331
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
9325
9332
  @target = args[:target] if args.key?(:target)
9326
9333
  end
@@ -9568,73 +9575,632 @@ module Google
9568
9575
  end
9569
9576
 
9570
9577
  #
9571
- class ForwardingRuleReference
9572
- include Google::Apis::Core::Hashable
9573
-
9574
- #
9575
- # Corresponds to the JSON property `forwardingRule`
9576
- # @return [String]
9577
- attr_accessor :forwarding_rule
9578
-
9579
- def initialize(**args)
9580
- update!(**args)
9581
- end
9582
-
9583
- # Update properties of this object
9584
- def update!(**args)
9585
- @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
9586
- end
9587
- end
9588
-
9589
- # Describes the auto-registration of the Forwarding Rule to Service Directory.
9590
- # The region and project of the Service Directory resource generated from this
9591
- # registration will be the same as this Forwarding Rule.
9592
- class ForwardingRuleServiceDirectoryRegistration
9578
+ class ForwardingRuleReference
9579
+ include Google::Apis::Core::Hashable
9580
+
9581
+ #
9582
+ # Corresponds to the JSON property `forwardingRule`
9583
+ # @return [String]
9584
+ attr_accessor :forwarding_rule
9585
+
9586
+ def initialize(**args)
9587
+ update!(**args)
9588
+ end
9589
+
9590
+ # Update properties of this object
9591
+ def update!(**args)
9592
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
9593
+ end
9594
+ end
9595
+
9596
+ # Describes the auto-registration of the Forwarding Rule to Service Directory.
9597
+ # The region and project of the Service Directory resource generated from this
9598
+ # registration will be the same as this Forwarding Rule.
9599
+ class ForwardingRuleServiceDirectoryRegistration
9600
+ include Google::Apis::Core::Hashable
9601
+
9602
+ # Service Directory namespace to register the forwarding rule under.
9603
+ # Corresponds to the JSON property `namespace`
9604
+ # @return [String]
9605
+ attr_accessor :namespace
9606
+
9607
+ # Service Directory service to register the forwarding rule under.
9608
+ # Corresponds to the JSON property `service`
9609
+ # @return [String]
9610
+ attr_accessor :service
9611
+
9612
+ # [Optional] Service Directory region to register this global forwarding rule
9613
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
9614
+ # for Google APIs Forwarding Rules on the same network should use the same
9615
+ # Service Directory region.
9616
+ # Corresponds to the JSON property `serviceDirectoryRegion`
9617
+ # @return [String]
9618
+ attr_accessor :service_directory_region
9619
+
9620
+ def initialize(**args)
9621
+ update!(**args)
9622
+ end
9623
+
9624
+ # Update properties of this object
9625
+ def update!(**args)
9626
+ @namespace = args[:namespace] if args.key?(:namespace)
9627
+ @service = args[:service] if args.key?(:service)
9628
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
9629
+ end
9630
+ end
9631
+
9632
+ #
9633
+ class ForwardingRulesScopedList
9634
+ include Google::Apis::Core::Hashable
9635
+
9636
+ # A list of forwarding rules contained in this scope.
9637
+ # Corresponds to the JSON property `forwardingRules`
9638
+ # @return [Array<Google::Apis::ComputeAlpha::ForwardingRule>]
9639
+ attr_accessor :forwarding_rules
9640
+
9641
+ # Informational warning which replaces the list of forwarding rules when the
9642
+ # list is empty.
9643
+ # Corresponds to the JSON property `warning`
9644
+ # @return [Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning]
9645
+ attr_accessor :warning
9646
+
9647
+ def initialize(**args)
9648
+ update!(**args)
9649
+ end
9650
+
9651
+ # Update properties of this object
9652
+ def update!(**args)
9653
+ @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
9654
+ @warning = args[:warning] if args.key?(:warning)
9655
+ end
9656
+
9657
+ # Informational warning which replaces the list of forwarding rules when the
9658
+ # list is empty.
9659
+ class Warning
9660
+ include Google::Apis::Core::Hashable
9661
+
9662
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
9663
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
9664
+ # Corresponds to the JSON property `code`
9665
+ # @return [String]
9666
+ attr_accessor :code
9667
+
9668
+ # [Output Only] Metadata about this warning in key: value format. For example:
9669
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9670
+ # Corresponds to the JSON property `data`
9671
+ # @return [Array<Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning::Datum>]
9672
+ attr_accessor :data
9673
+
9674
+ # [Output Only] A human-readable description of the warning code.
9675
+ # Corresponds to the JSON property `message`
9676
+ # @return [String]
9677
+ attr_accessor :message
9678
+
9679
+ def initialize(**args)
9680
+ update!(**args)
9681
+ end
9682
+
9683
+ # Update properties of this object
9684
+ def update!(**args)
9685
+ @code = args[:code] if args.key?(:code)
9686
+ @data = args[:data] if args.key?(:data)
9687
+ @message = args[:message] if args.key?(:message)
9688
+ end
9689
+
9690
+ #
9691
+ class Datum
9692
+ include Google::Apis::Core::Hashable
9693
+
9694
+ # [Output Only] A key that provides more detail on the warning being returned.
9695
+ # For example, for warnings where there are no results in a list request for a
9696
+ # particular zone, this key might be scope and the key value might be the zone
9697
+ # name. Other examples might be a key indicating a deprecated resource and a
9698
+ # suggested replacement, or a warning about invalid network settings (for
9699
+ # example, if an instance attempts to perform IP forwarding but is not enabled
9700
+ # for IP forwarding).
9701
+ # Corresponds to the JSON property `key`
9702
+ # @return [String]
9703
+ attr_accessor :key
9704
+
9705
+ # [Output Only] A warning data value corresponding to the key.
9706
+ # Corresponds to the JSON property `value`
9707
+ # @return [String]
9708
+ attr_accessor :value
9709
+
9710
+ def initialize(**args)
9711
+ update!(**args)
9712
+ end
9713
+
9714
+ # Update properties of this object
9715
+ def update!(**args)
9716
+ @key = args[:key] if args.key?(:key)
9717
+ @value = args[:value] if args.key?(:value)
9718
+ end
9719
+ end
9720
+ end
9721
+ end
9722
+
9723
+ #
9724
+ class FutureReservation
9725
+ include Google::Apis::Core::Hashable
9726
+
9727
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
9728
+ # text format.
9729
+ # Corresponds to the JSON property `creationTimestamp`
9730
+ # @return [String]
9731
+ attr_accessor :creation_timestamp
9732
+
9733
+ # An optional description of this resource. Provide this property when you
9734
+ # create the future reservation.
9735
+ # Corresponds to the JSON property `description`
9736
+ # @return [String]
9737
+ attr_accessor :description
9738
+
9739
+ # [Output Only] A unique identifier for this future reservation. The server
9740
+ # defines this identifier.
9741
+ # Corresponds to the JSON property `id`
9742
+ # @return [Fixnum]
9743
+ attr_accessor :id
9744
+
9745
+ # [Output Only] Type of the resource. Always compute#futureReservation for
9746
+ # future reservations.
9747
+ # Corresponds to the JSON property `kind`
9748
+ # @return [String]
9749
+ attr_accessor :kind
9750
+
9751
+ # The name of the resource, provided by the client when initially creating the
9752
+ # resource. The resource name must be 1-63 characters long, and comply with
9753
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
9754
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
9755
+ # character must be a lowercase letter, and all following characters must be a
9756
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
9757
+ # dash.
9758
+ # Corresponds to the JSON property `name`
9759
+ # @return [String]
9760
+ attr_accessor :name
9761
+
9762
+ # Name prefix for the reservations to be created at the time of delivery. The
9763
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
9764
+ # is 20. Automatically created reservations name format will be -date-####.
9765
+ # Corresponds to the JSON property `namePrefix`
9766
+ # @return [String]
9767
+ attr_accessor :name_prefix
9768
+
9769
+ # [Output Only] Server-defined fully-qualified URL for this resource.
9770
+ # Corresponds to the JSON property `selfLink`
9771
+ # @return [String]
9772
+ attr_accessor :self_link
9773
+
9774
+ # [Output Only] Server-defined URL for this resource with the resource id.
9775
+ # Corresponds to the JSON property `selfLinkWithId`
9776
+ # @return [String]
9777
+ attr_accessor :self_link_with_id
9778
+
9779
+ # The share setting for reservations and sole tenancy node groups.
9780
+ # Corresponds to the JSON property `shareSettings`
9781
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
9782
+ attr_accessor :share_settings
9783
+
9784
+ # Future Reservation configuration to indicate instance properties and total
9785
+ # count.
9786
+ # Corresponds to the JSON property `specificSkuProperties`
9787
+ # @return [Google::Apis::ComputeAlpha::FutureReservationSpecificSkuProperties]
9788
+ attr_accessor :specific_sku_properties
9789
+
9790
+ # [Output only] Represents status related to the future reservation.
9791
+ # Corresponds to the JSON property `status`
9792
+ # @return [Google::Apis::ComputeAlpha::FutureReservationStatus]
9793
+ attr_accessor :status
9794
+
9795
+ # Time window for this Future Reservation.
9796
+ # Corresponds to the JSON property `timeWindow`
9797
+ # @return [Google::Apis::ComputeAlpha::FutureReservationTimeWindow]
9798
+ attr_accessor :time_window
9799
+
9800
+ # [Output Only] URL of the Zone where this future reservation resides.
9801
+ # Corresponds to the JSON property `zone`
9802
+ # @return [String]
9803
+ attr_accessor :zone
9804
+
9805
+ def initialize(**args)
9806
+ update!(**args)
9807
+ end
9808
+
9809
+ # Update properties of this object
9810
+ def update!(**args)
9811
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9812
+ @description = args[:description] if args.key?(:description)
9813
+ @id = args[:id] if args.key?(:id)
9814
+ @kind = args[:kind] if args.key?(:kind)
9815
+ @name = args[:name] if args.key?(:name)
9816
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
9817
+ @self_link = args[:self_link] if args.key?(:self_link)
9818
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9819
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
9820
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
9821
+ @status = args[:status] if args.key?(:status)
9822
+ @time_window = args[:time_window] if args.key?(:time_window)
9823
+ @zone = args[:zone] if args.key?(:zone)
9824
+ end
9825
+ end
9826
+
9827
+ #
9828
+ class FutureReservationSpecificSkuProperties
9829
+ include Google::Apis::Core::Hashable
9830
+
9831
+ # Properties of the SKU instances being reserved. Next ID: 9
9832
+ # Corresponds to the JSON property `instanceProperties`
9833
+ # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
9834
+ attr_accessor :instance_properties
9835
+
9836
+ # Total number of instances for which capacity assurance is requested at a
9837
+ # future time period.
9838
+ # Corresponds to the JSON property `totalCount`
9839
+ # @return [Fixnum]
9840
+ attr_accessor :total_count
9841
+
9842
+ def initialize(**args)
9843
+ update!(**args)
9844
+ end
9845
+
9846
+ # Update properties of this object
9847
+ def update!(**args)
9848
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
9849
+ @total_count = args[:total_count] if args.key?(:total_count)
9850
+ end
9851
+ end
9852
+
9853
+ # [Output only] Represents status related to the future reservation.
9854
+ class FutureReservationStatus
9855
+ include Google::Apis::Core::Hashable
9856
+
9857
+ # Fully qualified urls of the automatically created reservations at start_time.
9858
+ # Corresponds to the JSON property `autoCreatedReservations`
9859
+ # @return [Array<String>]
9860
+ attr_accessor :auto_created_reservations
9861
+
9862
+ # This count indicates the fulfilled capacity so far. This is set during "
9863
+ # PROVISIONING" state. This count also includes capacity delivered as part of
9864
+ # existing matching reservations.
9865
+ # Corresponds to the JSON property `fulfilledCount`
9866
+ # @return [Fixnum]
9867
+ attr_accessor :fulfilled_count
9868
+
9869
+ # Time when Future Reservation would become LOCKED, after which no modifications
9870
+ # to Future Reservation will be allowed. Applicable only after the Future
9871
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
9872
+ # procurement_status will transition to PROCURING state at this time. TODO(b/
9873
+ # 183994731): Replace with Timestamp.
9874
+ # Corresponds to the JSON property `lockTime`
9875
+ # @return [String]
9876
+ attr_accessor :lock_time
9877
+
9878
+ # Current state of this Future Reservation
9879
+ # Corresponds to the JSON property `procurementStatus`
9880
+ # @return [String]
9881
+ attr_accessor :procurement_status
9882
+
9883
+ def initialize(**args)
9884
+ update!(**args)
9885
+ end
9886
+
9887
+ # Update properties of this object
9888
+ def update!(**args)
9889
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
9890
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
9891
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
9892
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
9893
+ end
9894
+ end
9895
+
9896
+ #
9897
+ class FutureReservationTimeWindow
9898
+ include Google::Apis::Core::Hashable
9899
+
9900
+ # A Duration represents a fixed-length span of time represented as a count of
9901
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
9902
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
9903
+ # 000 years.
9904
+ # Corresponds to the JSON property `duration`
9905
+ # @return [Google::Apis::ComputeAlpha::Duration]
9906
+ attr_accessor :duration
9907
+
9908
+ # TODO(b/183994731): Replace with Timestamp.
9909
+ # Corresponds to the JSON property `endTime`
9910
+ # @return [String]
9911
+ attr_accessor :end_time
9912
+
9913
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
9914
+ # TODO(b/183994731): Replace with Timestamp.
9915
+ # Corresponds to the JSON property `startTime`
9916
+ # @return [String]
9917
+ attr_accessor :start_time
9918
+
9919
+ def initialize(**args)
9920
+ update!(**args)
9921
+ end
9922
+
9923
+ # Update properties of this object
9924
+ def update!(**args)
9925
+ @duration = args[:duration] if args.key?(:duration)
9926
+ @end_time = args[:end_time] if args.key?(:end_time)
9927
+ @start_time = args[:start_time] if args.key?(:start_time)
9928
+ end
9929
+ end
9930
+
9931
+ # Contains a list of future reservations.
9932
+ class FutureReservationsAggregatedListResponse
9933
+ include Google::Apis::Core::Hashable
9934
+
9935
+ #
9936
+ # Corresponds to the JSON property `etag`
9937
+ # @return [String]
9938
+ attr_accessor :etag
9939
+
9940
+ # [Output Only] Unique identifier for the resource; defined by the server.
9941
+ # Corresponds to the JSON property `id`
9942
+ # @return [String]
9943
+ attr_accessor :id
9944
+
9945
+ # A list of Future reservation resources.
9946
+ # Corresponds to the JSON property `items`
9947
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureReservationsScopedList>]
9948
+ attr_accessor :items
9949
+
9950
+ # Type of resource.
9951
+ # Corresponds to the JSON property `kind`
9952
+ # @return [String]
9953
+ attr_accessor :kind
9954
+
9955
+ # [Output Only] This token allows you to get the next page of results for list
9956
+ # requests. If the number of results is larger than maxResults, use the
9957
+ # nextPageToken as a value for the query parameter pageToken in the next list
9958
+ # request. Subsequent list requests will have their own nextPageToken to
9959
+ # continue paging through the results.
9960
+ # Corresponds to the JSON property `nextPageToken`
9961
+ # @return [String]
9962
+ attr_accessor :next_page_token
9963
+
9964
+ # [Output Only] Server-defined URL for this resource.
9965
+ # Corresponds to the JSON property `selfLink`
9966
+ # @return [String]
9967
+ attr_accessor :self_link
9968
+
9969
+ # [Output Only] Unreachable resources.
9970
+ # Corresponds to the JSON property `unreachables`
9971
+ # @return [Array<String>]
9972
+ attr_accessor :unreachables
9973
+
9974
+ # [Output Only] Informational warning message.
9975
+ # Corresponds to the JSON property `warning`
9976
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning]
9977
+ attr_accessor :warning
9978
+
9979
+ def initialize(**args)
9980
+ update!(**args)
9981
+ end
9982
+
9983
+ # Update properties of this object
9984
+ def update!(**args)
9985
+ @etag = args[:etag] if args.key?(:etag)
9986
+ @id = args[:id] if args.key?(:id)
9987
+ @items = args[:items] if args.key?(:items)
9988
+ @kind = args[:kind] if args.key?(:kind)
9989
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
9990
+ @self_link = args[:self_link] if args.key?(:self_link)
9991
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
9992
+ @warning = args[:warning] if args.key?(:warning)
9993
+ end
9994
+
9995
+ # [Output Only] Informational warning message.
9996
+ class Warning
9997
+ include Google::Apis::Core::Hashable
9998
+
9999
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10000
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10001
+ # Corresponds to the JSON property `code`
10002
+ # @return [String]
10003
+ attr_accessor :code
10004
+
10005
+ # [Output Only] Metadata about this warning in key: value format. For example:
10006
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10007
+ # Corresponds to the JSON property `data`
10008
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning::Datum>]
10009
+ attr_accessor :data
10010
+
10011
+ # [Output Only] A human-readable description of the warning code.
10012
+ # Corresponds to the JSON property `message`
10013
+ # @return [String]
10014
+ attr_accessor :message
10015
+
10016
+ def initialize(**args)
10017
+ update!(**args)
10018
+ end
10019
+
10020
+ # Update properties of this object
10021
+ def update!(**args)
10022
+ @code = args[:code] if args.key?(:code)
10023
+ @data = args[:data] if args.key?(:data)
10024
+ @message = args[:message] if args.key?(:message)
10025
+ end
10026
+
10027
+ #
10028
+ class Datum
10029
+ include Google::Apis::Core::Hashable
10030
+
10031
+ # [Output Only] A key that provides more detail on the warning being returned.
10032
+ # For example, for warnings where there are no results in a list request for a
10033
+ # particular zone, this key might be scope and the key value might be the zone
10034
+ # name. Other examples might be a key indicating a deprecated resource and a
10035
+ # suggested replacement, or a warning about invalid network settings (for
10036
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10037
+ # for IP forwarding).
10038
+ # Corresponds to the JSON property `key`
10039
+ # @return [String]
10040
+ attr_accessor :key
10041
+
10042
+ # [Output Only] A warning data value corresponding to the key.
10043
+ # Corresponds to the JSON property `value`
10044
+ # @return [String]
10045
+ attr_accessor :value
10046
+
10047
+ def initialize(**args)
10048
+ update!(**args)
10049
+ end
10050
+
10051
+ # Update properties of this object
10052
+ def update!(**args)
10053
+ @key = args[:key] if args.key?(:key)
10054
+ @value = args[:value] if args.key?(:value)
10055
+ end
10056
+ end
10057
+ end
10058
+ end
10059
+
10060
+ #
10061
+ class FutureReservationsListResponse
10062
+ include Google::Apis::Core::Hashable
10063
+
10064
+ #
10065
+ # Corresponds to the JSON property `etag`
10066
+ # @return [String]
10067
+ attr_accessor :etag
10068
+
10069
+ # [Output Only] The unique identifier for the resource. This identifier is
10070
+ # defined by the server.
10071
+ # Corresponds to the JSON property `id`
10072
+ # @return [String]
10073
+ attr_accessor :id
10074
+
10075
+ # [Output Only] A list of future reservation resources.
10076
+ # Corresponds to the JSON property `items`
10077
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10078
+ attr_accessor :items
10079
+
10080
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
10081
+ # reservations
10082
+ # Corresponds to the JSON property `kind`
10083
+ # @return [String]
10084
+ attr_accessor :kind
10085
+
10086
+ # [Output Only] This token allows you to get the next page of results for list
10087
+ # requests. If the number of results is larger than maxResults, use the
10088
+ # nextPageToken as a value for the query parameter pageToken in the next list
10089
+ # request. Subsequent list requests will have their own nextPageToken to
10090
+ # continue paging through the results.
10091
+ # Corresponds to the JSON property `nextPageToken`
10092
+ # @return [String]
10093
+ attr_accessor :next_page_token
10094
+
10095
+ # [Output Only] Server-defined URL for this resource.
10096
+ # Corresponds to the JSON property `selfLink`
10097
+ # @return [String]
10098
+ attr_accessor :self_link
10099
+
10100
+ # [Output Only] Unreachable resources.
10101
+ # Corresponds to the JSON property `unreachables`
10102
+ # @return [Array<String>]
10103
+ attr_accessor :unreachables
10104
+
10105
+ # [Output Only] Informational warning message.
10106
+ # Corresponds to the JSON property `warning`
10107
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning]
10108
+ attr_accessor :warning
10109
+
10110
+ def initialize(**args)
10111
+ update!(**args)
10112
+ end
10113
+
10114
+ # Update properties of this object
10115
+ def update!(**args)
10116
+ @etag = args[:etag] if args.key?(:etag)
10117
+ @id = args[:id] if args.key?(:id)
10118
+ @items = args[:items] if args.key?(:items)
10119
+ @kind = args[:kind] if args.key?(:kind)
10120
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10121
+ @self_link = args[:self_link] if args.key?(:self_link)
10122
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10123
+ @warning = args[:warning] if args.key?(:warning)
10124
+ end
10125
+
10126
+ # [Output Only] Informational warning message.
10127
+ class Warning
10128
+ include Google::Apis::Core::Hashable
10129
+
10130
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10131
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10132
+ # Corresponds to the JSON property `code`
10133
+ # @return [String]
10134
+ attr_accessor :code
10135
+
10136
+ # [Output Only] Metadata about this warning in key: value format. For example:
10137
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10138
+ # Corresponds to the JSON property `data`
10139
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning::Datum>]
10140
+ attr_accessor :data
10141
+
10142
+ # [Output Only] A human-readable description of the warning code.
10143
+ # Corresponds to the JSON property `message`
10144
+ # @return [String]
10145
+ attr_accessor :message
10146
+
10147
+ def initialize(**args)
10148
+ update!(**args)
10149
+ end
10150
+
10151
+ # Update properties of this object
10152
+ def update!(**args)
10153
+ @code = args[:code] if args.key?(:code)
10154
+ @data = args[:data] if args.key?(:data)
10155
+ @message = args[:message] if args.key?(:message)
10156
+ end
10157
+
10158
+ #
10159
+ class Datum
10160
+ include Google::Apis::Core::Hashable
10161
+
10162
+ # [Output Only] A key that provides more detail on the warning being returned.
10163
+ # For example, for warnings where there are no results in a list request for a
10164
+ # particular zone, this key might be scope and the key value might be the zone
10165
+ # name. Other examples might be a key indicating a deprecated resource and a
10166
+ # suggested replacement, or a warning about invalid network settings (for
10167
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10168
+ # for IP forwarding).
10169
+ # Corresponds to the JSON property `key`
10170
+ # @return [String]
10171
+ attr_accessor :key
10172
+
10173
+ # [Output Only] A warning data value corresponding to the key.
10174
+ # Corresponds to the JSON property `value`
10175
+ # @return [String]
10176
+ attr_accessor :value
10177
+
10178
+ def initialize(**args)
10179
+ update!(**args)
10180
+ end
10181
+
10182
+ # Update properties of this object
10183
+ def update!(**args)
10184
+ @key = args[:key] if args.key?(:key)
10185
+ @value = args[:value] if args.key?(:value)
10186
+ end
10187
+ end
10188
+ end
10189
+ end
10190
+
10191
+ #
10192
+ class FutureReservationsScopedList
9593
10193
  include Google::Apis::Core::Hashable
9594
10194
 
9595
- # Service Directory namespace to register the forwarding rule under.
9596
- # Corresponds to the JSON property `namespace`
9597
- # @return [String]
9598
- attr_accessor :namespace
9599
-
9600
- # Service Directory service to register the forwarding rule under.
9601
- # Corresponds to the JSON property `service`
9602
- # @return [String]
9603
- attr_accessor :service
9604
-
9605
- # [Optional] Service Directory region to register this global forwarding rule
9606
- # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
9607
- # for Google APIs Forwarding Rules on the same network should use the same
9608
- # Service Directory region.
9609
- # Corresponds to the JSON property `serviceDirectoryRegion`
9610
- # @return [String]
9611
- attr_accessor :service_directory_region
9612
-
9613
- def initialize(**args)
9614
- update!(**args)
9615
- end
9616
-
9617
- # Update properties of this object
9618
- def update!(**args)
9619
- @namespace = args[:namespace] if args.key?(:namespace)
9620
- @service = args[:service] if args.key?(:service)
9621
- @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
9622
- end
9623
- end
9624
-
9625
- #
9626
- class ForwardingRulesScopedList
9627
- include Google::Apis::Core::Hashable
9628
-
9629
- # A list of forwarding rules contained in this scope.
9630
- # Corresponds to the JSON property `forwardingRules`
9631
- # @return [Array<Google::Apis::ComputeAlpha::ForwardingRule>]
9632
- attr_accessor :forwarding_rules
10195
+ # A list of future reservations contained in this scope.
10196
+ # Corresponds to the JSON property `resources`
10197
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10198
+ attr_accessor :resources
9633
10199
 
9634
- # Informational warning which replaces the list of forwarding rules when the
10200
+ # Informational warning which replaces the list of future reservations when the
9635
10201
  # list is empty.
9636
10202
  # Corresponds to the JSON property `warning`
9637
- # @return [Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning]
10203
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning]
9638
10204
  attr_accessor :warning
9639
10205
 
9640
10206
  def initialize(**args)
@@ -9643,11 +10209,11 @@ module Google
9643
10209
 
9644
10210
  # Update properties of this object
9645
10211
  def update!(**args)
9646
- @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
10212
+ @resources = args[:resources] if args.key?(:resources)
9647
10213
  @warning = args[:warning] if args.key?(:warning)
9648
10214
  end
9649
10215
 
9650
- # Informational warning which replaces the list of forwarding rules when the
10216
+ # Informational warning which replaces the list of future reservations when the
9651
10217
  # list is empty.
9652
10218
  class Warning
9653
10219
  include Google::Apis::Core::Hashable
@@ -9661,7 +10227,7 @@ module Google
9661
10227
  # [Output Only] Metadata about this warning in key: value format. For example:
9662
10228
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9663
10229
  # Corresponds to the JSON property `data`
9664
- # @return [Array<Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning::Datum>]
10230
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning::Datum>]
9665
10231
  attr_accessor :data
9666
10232
 
9667
10233
  # [Output Only] A human-readable description of the warning code.
@@ -10196,6 +10762,11 @@ module Google
10196
10762
  # @return [String]
10197
10763
  attr_accessor :response
10198
10764
 
10765
+ # Weight report mode. used for weighted Load Balancing.
10766
+ # Corresponds to the JSON property `weightReportMode`
10767
+ # @return [String]
10768
+ attr_accessor :weight_report_mode
10769
+
10199
10770
  def initialize(**args)
10200
10771
  update!(**args)
10201
10772
  end
@@ -10209,6 +10780,7 @@ module Google
10209
10780
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10210
10781
  @request_path = args[:request_path] if args.key?(:request_path)
10211
10782
  @response = args[:response] if args.key?(:response)
10783
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10212
10784
  end
10213
10785
  end
10214
10786
 
@@ -10266,6 +10838,11 @@ module Google
10266
10838
  # @return [String]
10267
10839
  attr_accessor :response
10268
10840
 
10841
+ # Weight report mode. used for weighted Load Balancing.
10842
+ # Corresponds to the JSON property `weightReportMode`
10843
+ # @return [String]
10844
+ attr_accessor :weight_report_mode
10845
+
10269
10846
  def initialize(**args)
10270
10847
  update!(**args)
10271
10848
  end
@@ -10279,6 +10856,7 @@ module Google
10279
10856
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10280
10857
  @request_path = args[:request_path] if args.key?(:request_path)
10281
10858
  @response = args[:response] if args.key?(:response)
10859
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10282
10860
  end
10283
10861
  end
10284
10862
 
@@ -10336,6 +10914,11 @@ module Google
10336
10914
  # @return [String]
10337
10915
  attr_accessor :response
10338
10916
 
10917
+ # Weight report mode. used for weighted Load Balancing.
10918
+ # Corresponds to the JSON property `weightReportMode`
10919
+ # @return [String]
10920
+ attr_accessor :weight_report_mode
10921
+
10339
10922
  def initialize(**args)
10340
10923
  update!(**args)
10341
10924
  end
@@ -10349,6 +10932,7 @@ module Google
10349
10932
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10350
10933
  @request_path = args[:request_path] if args.key?(:request_path)
10351
10934
  @response = args[:response] if args.key?(:response)
10935
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10352
10936
  end
10353
10937
  end
10354
10938
 
@@ -10712,11 +11296,12 @@ module Google
10712
11296
 
10713
11297
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
10714
11298
  # and not more than 10. HealthCheck resources must have portSpecification=
10715
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
10716
- # regional and in the same region. For global HealthCheckService, HealthCheck
10717
- # must be global. Mix of regional and global HealthChecks is not supported.
10718
- # Multiple regional HealthChecks must belong to the same region. Regional
10719
- # HealthChecks</code? must belong to the same region as zones of NEGs.
11299
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
11300
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
11301
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
11302
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
11303
+ # belong to the same region. Regional HealthChecks must belong to the same
11304
+ # region as zones of NEGs.
10720
11305
  # Corresponds to the JSON property `healthChecks`
10721
11306
  # @return [Array<String>]
10722
11307
  attr_accessor :health_checks
@@ -11403,6 +11988,16 @@ module Google
11403
11988
  # @return [Hash<String,String>]
11404
11989
  attr_accessor :annotations
11405
11990
 
11991
+ # URL of the forwarding rule associated with the health status of the instance.
11992
+ # Corresponds to the JSON property `forwardingRule`
11993
+ # @return [String]
11994
+ attr_accessor :forwarding_rule
11995
+
11996
+ # A forwarding rule IP address assigned to this instance.
11997
+ # Corresponds to the JSON property `forwardingRuleIp`
11998
+ # @return [String]
11999
+ attr_accessor :forwarding_rule_ip
12000
+
11406
12001
  # Health state of the instance.
11407
12002
  # Corresponds to the JSON property `healthState`
11408
12003
  # @return [String]
@@ -11443,6 +12038,8 @@ module Google
11443
12038
  # Update properties of this object
11444
12039
  def update!(**args)
11445
12040
  @annotations = args[:annotations] if args.key?(:annotations)
12041
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
12042
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
11446
12043
  @health_state = args[:health_state] if args.key?(:health_state)
11447
12044
  @instance = args[:instance] if args.key?(:instance)
11448
12045
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -11554,6 +12151,9 @@ module Google
11554
12151
 
11555
12152
  # The HTTP status code used to abort the request.
11556
12153
  # The value must be between 200 and 599 inclusive.
12154
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
12155
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
12156
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
11557
12157
  # Corresponds to the JSON property `httpStatus`
11558
12158
  # @return [Fixnum]
11559
12159
  attr_accessor :http_status
@@ -12223,8 +12823,8 @@ module Google
12223
12823
  # @return [Google::Apis::ComputeAlpha::Duration]
12224
12824
  attr_accessor :per_try_timeout
12225
12825
 
12226
- # Specfies one or more conditions when this retry rule applies. Valid values are:
12227
- #
12826
+ # Specifies one or more conditions when this retry rule applies. Valid values
12827
+ # are:
12228
12828
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
12229
12829
  # any 5xx response code, or if the backend service does not respond at all,
12230
12830
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -12920,13 +13520,17 @@ module Google
12920
13520
  # @return [Google::Apis::ComputeAlpha::InitialStateConfig]
12921
13521
  attr_accessor :shielded_instance_initial_state
12922
13522
 
12923
- # URL of the source disk used to create this image. This can be a full or valid
12924
- # partial URL. You must provide either this property or the rawDisk.source
12925
- # property but not both to create an image. For example, the following are valid
12926
- # values:
13523
+ # URL of the source disk used to create this image. For example, the following
13524
+ # are valid values:
12927
13525
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
12928
13526
  # - projects/project/zones/zone/disks/disk
12929
13527
  # - zones/zone/disks/disk
13528
+ # In order to create an image, you must provide the full or partial URL of one
13529
+ # of the following:
13530
+ # - The rawDisk.source URL
13531
+ # - The sourceDisk URL
13532
+ # - The sourceImage URL
13533
+ # - The sourceSnapshot URL
12930
13534
  # Corresponds to the JSON property `sourceDisk`
12931
13535
  # @return [String]
12932
13536
  attr_accessor :source_disk
@@ -12947,10 +13551,10 @@ module Google
12947
13551
  # URL of the source image used to create this image.
12948
13552
  # In order to create an image, you must provide the full or partial URL of one
12949
13553
  # of the following:
12950
- # - The selfLink URL
12951
- # - This property
12952
13554
  # - The rawDisk.source URL
12953
13555
  # - The sourceDisk URL
13556
+ # - The sourceImage URL
13557
+ # - The sourceSnapshot URL
12954
13558
  # Corresponds to the JSON property `sourceImage`
12955
13559
  # @return [String]
12956
13560
  attr_accessor :source_image
@@ -12971,11 +13575,10 @@ module Google
12971
13575
  # URL of the source snapshot used to create this image.
12972
13576
  # In order to create an image, you must provide the full or partial URL of one
12973
13577
  # of the following:
12974
- # - The selfLink URL
12975
- # - This property
12976
- # - The sourceImage URL
12977
13578
  # - The rawDisk.source URL
12978
13579
  # - The sourceDisk URL
13580
+ # - The sourceImage URL
13581
+ # - The sourceSnapshot URL
12979
13582
  # Corresponds to the JSON property `sourceSnapshot`
12980
13583
  # @return [String]
12981
13584
  attr_accessor :source_snapshot
@@ -13071,8 +13674,13 @@ module Google
13071
13674
  # @return [String]
13072
13675
  attr_accessor :sha1_checksum
13073
13676
 
13074
- # The full Google Cloud Storage URL where the disk image is stored. You must
13075
- # provide either this property or the sourceDisk property but not both.
13677
+ # The full Google Cloud Storage URL where the disk image is stored.
13678
+ # In order to create an image, you must provide the full or partial URL of one
13679
+ # of the following:
13680
+ # - The rawDisk.source URL
13681
+ # - The sourceDisk URL
13682
+ # - The sourceImage URL
13683
+ # - The sourceSnapshot URL
13076
13684
  # Corresponds to the JSON property `source`
13077
13685
  # @return [String]
13078
13686
  attr_accessor :source
@@ -13771,19 +14379,13 @@ module Google
13771
14379
  attr_accessor :satisfies_pzs
13772
14380
  alias_method :satisfies_pzs?, :satisfies_pzs
13773
14381
 
13774
- # Sets the scheduling options for an Instance. NextID: 17
14382
+ # Sets the scheduling options for an Instance. NextID: 21
13775
14383
  # Corresponds to the JSON property `scheduling`
13776
14384
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13777
14385
  attr_accessor :scheduling
13778
14386
 
13779
- # Secure labels to apply to this instance. These can be later modified by the
13780
- # update method. Maximum number of secure labels allowed is 300.
13781
- # Corresponds to the JSON property `secureLabels`
13782
- # @return [Array<String>]
13783
- attr_accessor :secure_labels
13784
-
13785
- # Secure tags to apply to this instance. These can be later modified by the
13786
- # update method. Maximum number of secure tags allowed is 300.
14387
+ # [Input Only] Secure tags to apply to this instance. These can be later
14388
+ # modified by the update method. Maximum number of secure tags allowed is 50.
13787
14389
  # Corresponds to the JSON property `secureTags`
13788
14390
  # @return [Array<String>]
13789
14391
  attr_accessor :secure_tags
@@ -13834,7 +14436,8 @@ module Google
13834
14436
  # @return [String]
13835
14437
  attr_accessor :source_machine_image
13836
14438
 
13837
- # Source GMI encryption key when creating an instance from GMI.
14439
+ # Source machine image encryption key when creating an instance from a machine
14440
+ # image.
13838
14441
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
13839
14442
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
13840
14443
  attr_accessor :source_machine_image_encryption_key
@@ -13917,7 +14520,6 @@ module Google
13917
14520
  @resource_status = args[:resource_status] if args.key?(:resource_status)
13918
14521
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
13919
14522
  @scheduling = args[:scheduling] if args.key?(:scheduling)
13920
- @secure_labels = args[:secure_labels] if args.key?(:secure_labels)
13921
14523
  @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
13922
14524
  @self_link = args[:self_link] if args.key?(:self_link)
13923
14525
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -14430,6 +15032,13 @@ module Google
14430
15032
  end
14431
15033
  end
14432
15034
 
15035
+ # Whether the instance is a standby. Properties of a standby instance comparing
15036
+ # to the regular instance: ======================================================
15037
+ # =================== | regular | standby =======================================
15038
+ # ================================== managed by IGM? | yes | yes added to the IG?
15039
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
15040
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
15041
+ # =========================================================
14433
15042
  # Represents a Managed Instance Group resource.
14434
15043
  # An instance group is a collection of VM instances that you can manage as a
14435
15044
  # single entity. For more information, read Instance groups.
@@ -14506,6 +15115,11 @@ module Google
14506
15115
  # @return [String]
14507
15116
  attr_accessor :instance_group
14508
15117
 
15118
+ # Instance lifecycle policy for this Instance Group Manager.
15119
+ # Corresponds to the JSON property `instanceLifecyclePolicy`
15120
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicy]
15121
+ attr_accessor :instance_lifecycle_policy
15122
+
14509
15123
  # The URL of the instance template that is specified for this managed instance
14510
15124
  # group. The group uses this template to create all new instances in the managed
14511
15125
  # instance group. The templates for existing instances in the group do not
@@ -14582,6 +15196,24 @@ module Google
14582
15196
  # @return [Fixnum]
14583
15197
  attr_accessor :target_size
14584
15198
 
15199
+ # The target number of stopped instances for this managed instance group. This
15200
+ # number changes when you:
15201
+ # - Stop instance using the stopInstances method or start instances using the
15202
+ # startInstances method.
15203
+ # - Manually change the targetStoppedSize using the update method.
15204
+ # Corresponds to the JSON property `targetStoppedSize`
15205
+ # @return [Fixnum]
15206
+ attr_accessor :target_stopped_size
15207
+
15208
+ # The target number of suspended instances for this managed instance group. This
15209
+ # number changes when you:
15210
+ # - Suspend instance using the suspendInstances method or resume instances using
15211
+ # the resumeInstances method.
15212
+ # - Manually change the targetSuspendedSize using the update method.
15213
+ # Corresponds to the JSON property `targetSuspendedSize`
15214
+ # @return [Fixnum]
15215
+ attr_accessor :target_suspended_size
15216
+
14585
15217
  # The update policy for this managed instance group.
14586
15218
  # Corresponds to the JSON property `updatePolicy`
14587
15219
  # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy]
@@ -14621,6 +15253,7 @@ module Google
14621
15253
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
14622
15254
  @id = args[:id] if args.key?(:id)
14623
15255
  @instance_group = args[:instance_group] if args.key?(:instance_group)
15256
+ @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy)
14624
15257
  @instance_template = args[:instance_template] if args.key?(:instance_template)
14625
15258
  @kind = args[:kind] if args.key?(:kind)
14626
15259
  @name = args[:name] if args.key?(:name)
@@ -14633,6 +15266,8 @@ module Google
14633
15266
  @status = args[:status] if args.key?(:status)
14634
15267
  @target_pools = args[:target_pools] if args.key?(:target_pools)
14635
15268
  @target_size = args[:target_size] if args.key?(:target_size)
15269
+ @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size)
15270
+ @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size)
14636
15271
  @update_policy = args[:update_policy] if args.key?(:update_policy)
14637
15272
  @versions = args[:versions] if args.key?(:versions)
14638
15273
  @zone = args[:zone] if args.key?(:zone)
@@ -14701,6 +15336,30 @@ module Google
14701
15336
  # @return [Fixnum]
14702
15337
  attr_accessor :restarting
14703
15338
 
15339
+ # [Output Only] The number of instances in the managed instance group that are
15340
+ # scheduled to be resumed or are currently being resumed.
15341
+ # Corresponds to the JSON property `resuming`
15342
+ # @return [Fixnum]
15343
+ attr_accessor :resuming
15344
+
15345
+ # [Output Only] The number of instances in the managed instance group that are
15346
+ # scheduled to be started or are currently being started.
15347
+ # Corresponds to the JSON property `starting`
15348
+ # @return [Fixnum]
15349
+ attr_accessor :starting
15350
+
15351
+ # [Output Only] The number of instances in the managed instance group that are
15352
+ # scheduled to be stopped or are currently being stopped.
15353
+ # Corresponds to the JSON property `stopping`
15354
+ # @return [Fixnum]
15355
+ attr_accessor :stopping
15356
+
15357
+ # [Output Only] The number of instances in the managed instance group that are
15358
+ # scheduled to be suspended or are currently being suspended.
15359
+ # Corresponds to the JSON property `suspending`
15360
+ # @return [Fixnum]
15361
+ attr_accessor :suspending
15362
+
14704
15363
  # [Output Only] The number of instances in the managed instance group that are
14705
15364
  # being verified. See the managedInstances[].currentAction property in the
14706
15365
  # listManagedInstances method documentation.
@@ -14722,6 +15381,10 @@ module Google
14722
15381
  @recreating = args[:recreating] if args.key?(:recreating)
14723
15382
  @refreshing = args[:refreshing] if args.key?(:refreshing)
14724
15383
  @restarting = args[:restarting] if args.key?(:restarting)
15384
+ @resuming = args[:resuming] if args.key?(:resuming)
15385
+ @starting = args[:starting] if args.key?(:starting)
15386
+ @stopping = args[:stopping] if args.key?(:stopping)
15387
+ @suspending = args[:suspending] if args.key?(:suspending)
14725
15388
  @verifying = args[:verifying] if args.key?(:verifying)
14726
15389
  end
14727
15390
  end
@@ -14887,6 +15550,55 @@ module Google
14887
15550
  end
14888
15551
  end
14889
15552
 
15553
+ #
15554
+ class InstanceGroupManagerInstanceLifecyclePolicy
15555
+ include Google::Apis::Core::Hashable
15556
+
15557
+ # The configuration for metadata based readiness signal sent by the instance
15558
+ # during initialization when stopping / suspending an instance. The Instance
15559
+ # Group Manager will wait for a signal that indicates successful initialization
15560
+ # before stopping / suspending an instance.
15561
+ # If a successful readiness signal is not sent before timeout, the corresponding
15562
+ # instance will not be stopped / suspended. Instead, an error will be visible in
15563
+ # the lastAttempt.errors field of the managed instance in the
15564
+ # listmanagedinstances method.
15565
+ # If metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group
15566
+ # Manager will directly proceed to suspend / stop instances, skipping
15567
+ # initialization on them.
15568
+ # Corresponds to the JSON property `metadataBasedReadinessSignal`
15569
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal]
15570
+ attr_accessor :metadata_based_readiness_signal
15571
+
15572
+ def initialize(**args)
15573
+ update!(**args)
15574
+ end
15575
+
15576
+ # Update properties of this object
15577
+ def update!(**args)
15578
+ @metadata_based_readiness_signal = args[:metadata_based_readiness_signal] if args.key?(:metadata_based_readiness_signal)
15579
+ end
15580
+ end
15581
+
15582
+ #
15583
+ class InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal
15584
+ include Google::Apis::Core::Hashable
15585
+
15586
+ # The number of seconds to wait for a readiness signal during initialization
15587
+ # before timing out.
15588
+ # Corresponds to the JSON property `timeoutSec`
15589
+ # @return [Fixnum]
15590
+ attr_accessor :timeout_sec
15591
+
15592
+ def initialize(**args)
15593
+ update!(**args)
15594
+ end
15595
+
15596
+ # Update properties of this object
15597
+ def update!(**args)
15598
+ @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
15599
+ end
15600
+ end
15601
+
14890
15602
  # [Output Only] A list of managed instance groups.
14891
15603
  class InstanceGroupManagerList
14892
15604
  include Google::Apis::Core::Hashable
@@ -15374,6 +16086,18 @@ module Google
15374
16086
  # @return [Array<String>]
15375
16087
  attr_accessor :instances
15376
16088
 
16089
+ # Specifies whether the request should proceed despite the inclusion of
16090
+ # instances that are not members of the group or that are already in the process
16091
+ # of being deleted or abandoned. If this field is set to `false` and such an
16092
+ # instance is specified in the request, the operation fails. The operation
16093
+ # always fails if the request contains a malformed instance URL or a reference
16094
+ # to an instance that exists in a zone or region other than the group's zone or
16095
+ # region.
16096
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
16097
+ # @return [Boolean]
16098
+ attr_accessor :skip_instances_on_validation_error
16099
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
16100
+
15377
16101
  def initialize(**args)
15378
16102
  update!(**args)
15379
16103
  end
@@ -15381,6 +16105,7 @@ module Google
15381
16105
  # Update properties of this object
15382
16106
  def update!(**args)
15383
16107
  @instances = args[:instances] if args.key?(:instances)
16108
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
15384
16109
  end
15385
16110
  end
15386
16111
 
@@ -15644,6 +16369,26 @@ module Google
15644
16369
  end
15645
16370
  end
15646
16371
 
16372
+ #
16373
+ class InstanceGroupManagersResumeInstancesRequest
16374
+ include Google::Apis::Core::Hashable
16375
+
16376
+ # The URLs of one or more instances to resume. This can be a full URL or a
16377
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16378
+ # Corresponds to the JSON property `instances`
16379
+ # @return [Array<String>]
16380
+ attr_accessor :instances
16381
+
16382
+ def initialize(**args)
16383
+ update!(**args)
16384
+ end
16385
+
16386
+ # Update properties of this object
16387
+ def update!(**args)
16388
+ @instances = args[:instances] if args.key?(:instances)
16389
+ end
16390
+ end
16391
+
15647
16392
  #
15648
16393
  class InstanceGroupManagersScopedList
15649
16394
  include Google::Apis::Core::Hashable
@@ -15811,6 +16556,82 @@ module Google
15811
16556
  end
15812
16557
  end
15813
16558
 
16559
+ #
16560
+ class InstanceGroupManagersStartInstancesRequest
16561
+ include Google::Apis::Core::Hashable
16562
+
16563
+ # The URLs of one or more instances to start. This can be a full URL or a
16564
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16565
+ # Corresponds to the JSON property `instances`
16566
+ # @return [Array<String>]
16567
+ attr_accessor :instances
16568
+
16569
+ def initialize(**args)
16570
+ update!(**args)
16571
+ end
16572
+
16573
+ # Update properties of this object
16574
+ def update!(**args)
16575
+ @instances = args[:instances] if args.key?(:instances)
16576
+ end
16577
+ end
16578
+
16579
+ #
16580
+ class InstanceGroupManagersStopInstancesRequest
16581
+ include Google::Apis::Core::Hashable
16582
+
16583
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
16584
+ # the instances, skipping initialization on them.
16585
+ # Corresponds to the JSON property `forceStop`
16586
+ # @return [Boolean]
16587
+ attr_accessor :force_stop
16588
+ alias_method :force_stop?, :force_stop
16589
+
16590
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
16591
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16592
+ # Corresponds to the JSON property `instances`
16593
+ # @return [Array<String>]
16594
+ attr_accessor :instances
16595
+
16596
+ def initialize(**args)
16597
+ update!(**args)
16598
+ end
16599
+
16600
+ # Update properties of this object
16601
+ def update!(**args)
16602
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
16603
+ @instances = args[:instances] if args.key?(:instances)
16604
+ end
16605
+ end
16606
+
16607
+ #
16608
+ class InstanceGroupManagersSuspendInstancesRequest
16609
+ include Google::Apis::Core::Hashable
16610
+
16611
+ # If this flag is set to true, the Instance Group Manager will proceed to
16612
+ # suspend the instances, skipping initialization on them.
16613
+ # Corresponds to the JSON property `forceSuspend`
16614
+ # @return [Boolean]
16615
+ attr_accessor :force_suspend
16616
+ alias_method :force_suspend?, :force_suspend
16617
+
16618
+ # The URLs of one or more instances to suspend. This can be a full URL or a
16619
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16620
+ # Corresponds to the JSON property `instances`
16621
+ # @return [Array<String>]
16622
+ attr_accessor :instances
16623
+
16624
+ def initialize(**args)
16625
+ update!(**args)
16626
+ end
16627
+
16628
+ # Update properties of this object
16629
+ def update!(**args)
16630
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
16631
+ @instances = args[:instances] if args.key?(:instances)
16632
+ end
16633
+ end
16634
+
15814
16635
  # InstanceGroupManagers.updatePerInstanceConfigs
15815
16636
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
15816
16637
  include Google::Apis::Core::Hashable
@@ -16605,11 +17426,17 @@ module Google
16605
17426
  # @return [Array<String>]
16606
17427
  attr_accessor :resource_policies
16607
17428
 
16608
- # Sets the scheduling options for an Instance. NextID: 17
17429
+ # Sets the scheduling options for an Instance. NextID: 21
16609
17430
  # Corresponds to the JSON property `scheduling`
16610
17431
  # @return [Google::Apis::ComputeAlpha::Scheduling]
16611
17432
  attr_accessor :scheduling
16612
17433
 
17434
+ # Secure tags to apply to this instance. Maximum number of secure tags allowed
17435
+ # is 50.
17436
+ # Corresponds to the JSON property `secureTags`
17437
+ # @return [Array<String>]
17438
+ attr_accessor :secure_tags
17439
+
16613
17440
  # A list of service accounts with specified scopes. Access tokens for these
16614
17441
  # service accounts are available to the instances that are created from these
16615
17442
  # properties. Use metadata queries to obtain the access tokens for these
@@ -16657,6 +17484,7 @@ module Google
16657
17484
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
16658
17485
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
16659
17486
  @scheduling = args[:scheduling] if args.key?(:scheduling)
17487
+ @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
16660
17488
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
16661
17489
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
16662
17490
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
@@ -16977,7 +17805,8 @@ module Google
16977
17805
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
16978
17806
  include Google::Apis::Core::Hashable
16979
17807
 
16980
- # [Output Only] The display name of the firewall policy.
17808
+ # [Output Only] Deprecated, please use short name instead. The display name of
17809
+ # the firewall policy.
16981
17810
  # Corresponds to the JSON property `displayName`
16982
17811
  # @return [String]
16983
17812
  attr_accessor :display_name
@@ -16992,6 +17821,11 @@ module Google
16992
17821
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
16993
17822
  attr_accessor :rules
16994
17823
 
17824
+ # [Output Only] The short name of the firewall policy.
17825
+ # Corresponds to the JSON property `shortName`
17826
+ # @return [String]
17827
+ attr_accessor :short_name
17828
+
16995
17829
  # [Output Only] The type of the firewall policy.
16996
17830
  # Corresponds to the JSON property `type`
16997
17831
  # @return [String]
@@ -17006,6 +17840,7 @@ module Google
17006
17840
  @display_name = args[:display_name] if args.key?(:display_name)
17007
17841
  @name = args[:name] if args.key?(:name)
17008
17842
  @rules = args[:rules] if args.key?(:rules)
17843
+ @short_name = args[:short_name] if args.key?(:short_name)
17009
17844
  @type = args[:type] if args.key?(:type)
17010
17845
  end
17011
17846
  end
@@ -17866,6 +18701,14 @@ module Google
17866
18701
  # @return [Fixnum]
17867
18702
  attr_accessor :requested_link_count
17868
18703
 
18704
+ # [Output Only] Set to true if the resource satisfies the zone separation
18705
+ # organization policy constraints and false otherwise. Defaults to false if the
18706
+ # field is not present.
18707
+ # Corresponds to the JSON property `satisfiesPzs`
18708
+ # @return [Boolean]
18709
+ attr_accessor :satisfies_pzs
18710
+ alias_method :satisfies_pzs?, :satisfies_pzs
18711
+
17869
18712
  # [Output Only] Server-defined URL for the resource.
17870
18713
  # Corresponds to the JSON property `selfLink`
17871
18714
  # @return [String]
@@ -17916,6 +18759,7 @@ module Google
17916
18759
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
17917
18760
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
17918
18761
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
18762
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
17919
18763
  @self_link = args[:self_link] if args.key?(:self_link)
17920
18764
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
17921
18765
  @state = args[:state] if args.key?(:state)
@@ -17958,6 +18802,17 @@ module Google
17958
18802
  # @return [String]
17959
18803
  attr_accessor :bandwidth
17960
18804
 
18805
+ # Up to 16 candidate prefixes that control the allocation of
18806
+ # cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
18807
+ # prefix must be in the Global Unique Address (GUA) space. It is highly
18808
+ # recommended that it be in a range owned by the requestor. A GUA in a range
18809
+ # owned by Google will cause the request to fail. Google will select an
18810
+ # available prefix from the supplied candidates or fail the request. If not
18811
+ # supplied, a /125 from a Google-owned GUA block will be selected.
18812
+ # Corresponds to the JSON property `candidateIpv6Subnets`
18813
+ # @return [Array<String>]
18814
+ attr_accessor :candidate_ipv6_subnets
18815
+
17961
18816
  # Up to 16 candidate prefixes that can be used to restrict the allocation of
17962
18817
  # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
17963
18818
  # prefixes must be within link-local address space (169.254.0.0/16) and must be /
@@ -17975,6 +18830,20 @@ module Google
17975
18830
  # @return [String]
17976
18831
  attr_accessor :cloud_router_ip_address
17977
18832
 
18833
+ # [Output Only] IPv6 address + prefix length to be configured on Cloud Router
18834
+ # Interface for this interconnect attachment.
18835
+ # Corresponds to the JSON property `cloudRouterIpv6Address`
18836
+ # @return [String]
18837
+ attr_accessor :cloud_router_ipv6_address
18838
+
18839
+ # If supplied, the interface id (index within the subnet) to be used for the
18840
+ # cloud router address. The id must be in the range of 1 to 6. If a subnet mask
18841
+ # is supplied, it must be /125, and the subnet should either be 0 or match the
18842
+ # selected subnet.
18843
+ # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
18844
+ # @return [String]
18845
+ attr_accessor :cloud_router_ipv6_interface_id
18846
+
17978
18847
  # [Output Only] Creation timestamp in RFC3339 text format.
17979
18848
  # Corresponds to the JSON property `creationTimestamp`
17980
18849
  # @return [String]
@@ -17986,6 +18855,20 @@ module Google
17986
18855
  # @return [String]
17987
18856
  attr_accessor :customer_router_ip_address
17988
18857
 
18858
+ # [Output Only] IPv6 address + prefix length to be configured on the customer
18859
+ # router subinterface for this interconnect attachment.
18860
+ # Corresponds to the JSON property `customerRouterIpv6Address`
18861
+ # @return [String]
18862
+ attr_accessor :customer_router_ipv6_address
18863
+
18864
+ # If supplied, the interface id (index within the subnet) to be used for the
18865
+ # customer router address. The id must be in the range of 1 to 6. If a subnet
18866
+ # mask is supplied, it must be /125, and the subnet should either be 0 or match
18867
+ # the selected subnet.
18868
+ # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
18869
+ # @return [String]
18870
+ attr_accessor :customer_router_ipv6_interface_id
18871
+
17989
18872
  # [Output Only] Dataplane version for this InterconnectAttachment.
17990
18873
  # Corresponds to the JSON property `dataplaneVersion`
17991
18874
  # @return [Fixnum]
@@ -18015,8 +18898,9 @@ module Google
18015
18898
  # type of attachment.
18016
18899
  # - IPSEC indicates that the attachment carries only traffic encrypted by an
18017
18900
  # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
18018
- # or receive traffic from, such an attachment. To use IPsec over Interconnect,
18019
- # create the attachment using this option.
18901
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
18902
+ # Interconnect, create the attachment using this option.
18903
+ # Not currently available in all Interconnect locations.
18020
18904
  # Corresponds to the JSON property `encryption`
18021
18905
  # @return [String]
18022
18906
  attr_accessor :encryption
@@ -18044,14 +18928,15 @@ module Google
18044
18928
  # only for interconnect attachment that has the encryption option as IPSEC. The
18045
18929
  # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
18046
18930
  # over the interconnect attachment, if the attachment is configured to use an
18047
- # RFC 1918 IP address, then the VPN gateway?s IP address will be allocated from
18048
- # the IP address range specified here. For example, if the HA VPN gateway?s
18931
+ # RFC 1918 IP address, then the VPN gateway's IP address will be allocated from
18932
+ # the IP address range specified here. For example, if the HA VPN gateway's
18049
18933
  # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
18050
18934
  # address for the VPN gateway interface 0 will be allocated from the IP address
18051
18935
  # specified for this interconnect attachment. If this field is not specified for
18052
18936
  # interconnect attachment that has encryption option as IPSEC, later on when
18053
18937
  # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
18054
18938
  # IP address will be allocated from regional external IP address pool.
18939
+ # Not currently available in all Interconnect locations.
18055
18940
  # Corresponds to the JSON property `ipsecInternalAddresses`
18056
18941
  # @return [Array<String>]
18057
18942
  attr_accessor :ipsec_internal_addresses
@@ -18151,6 +19036,14 @@ module Google
18151
19036
  # @return [String]
18152
19037
  attr_accessor :router
18153
19038
 
19039
+ # [Output Only] Set to true if the resource satisfies the zone separation
19040
+ # organization policy constraints and false otherwise. Defaults to false if the
19041
+ # field is not present.
19042
+ # Corresponds to the JSON property `satisfiesPzs`
19043
+ # @return [Boolean]
19044
+ attr_accessor :satisfies_pzs
19045
+ alias_method :satisfies_pzs?, :satisfies_pzs
19046
+
18154
19047
  # [Output Only] Server-defined URL for the resource.
18155
19048
  # Corresponds to the JSON property `selfLink`
18156
19049
  # @return [String]
@@ -18161,6 +19054,14 @@ module Google
18161
19054
  # @return [String]
18162
19055
  attr_accessor :self_link_with_id
18163
19056
 
19057
+ # The stack type for this interconnect attachment to identify whether the IPv6
19058
+ # feature is enabled or not. If not specified, IPV4_ONLY will be used.
19059
+ # This field can be both set at interconnect attachments creation and update
19060
+ # interconnect attachment operations.
19061
+ # Corresponds to the JSON property `stackType`
19062
+ # @return [String]
19063
+ attr_accessor :stack_type
19064
+
18164
19065
  # [Output Only] The current state of this attachment's functionality. Enum
18165
19066
  # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
18166
19067
  # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
@@ -18208,10 +19109,15 @@ module Google
18208
19109
  def update!(**args)
18209
19110
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
18210
19111
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
19112
+ @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
18211
19113
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
18212
19114
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
19115
+ @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
19116
+ @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
18213
19117
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18214
19118
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
19119
+ @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
19120
+ @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
18215
19121
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
18216
19122
  @description = args[:description] if args.key?(:description)
18217
19123
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
@@ -18232,8 +19138,10 @@ module Google
18232
19138
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
18233
19139
  @region = args[:region] if args.key?(:region)
18234
19140
  @router = args[:router] if args.key?(:router)
19141
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18235
19142
  @self_link = args[:self_link] if args.key?(:self_link)
18236
19143
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19144
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
18237
19145
  @state = args[:state] if args.key?(:state)
18238
19146
  @type = args[:type] if args.key?(:type)
18239
19147
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
@@ -19072,6 +19980,13 @@ module Google
19072
19980
  # @return [String]
19073
19981
  attr_accessor :status
19074
19982
 
19983
+ # [Output Only] Set to true for locations that support physical zone separation.
19984
+ # Defaults to false if the field is not present.
19985
+ # Corresponds to the JSON property `supportsPzs`
19986
+ # @return [Boolean]
19987
+ attr_accessor :supports_pzs
19988
+ alias_method :supports_pzs?, :supports_pzs
19989
+
19075
19990
  def initialize(**args)
19076
19991
  update!(**args)
19077
19992
  end
@@ -19094,6 +20009,7 @@ module Google
19094
20009
  @self_link = args[:self_link] if args.key?(:self_link)
19095
20010
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19096
20011
  @status = args[:status] if args.key?(:status)
20012
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
19097
20013
  end
19098
20014
  end
19099
20015
 
@@ -20142,7 +21058,7 @@ module Google
20142
21058
  include Google::Apis::Core::Hashable
20143
21059
 
20144
21060
  # Location configurations mapped by location name. Currently only zone names are
20145
- # supported and must be represented as valid internal URLs, like: zones/us-
21061
+ # supported and must be represented as valid internal URLs, such as zones/us-
20146
21062
  # central1-a.
20147
21063
  # Corresponds to the JSON property `locations`
20148
21064
  # @return [Hash<String,Google::Apis::ComputeAlpha::LocationPolicyLocation>]
@@ -20162,7 +21078,7 @@ module Google
20162
21078
  class LocationPolicyLocation
20163
21079
  include Google::Apis::Core::Hashable
20164
21080
 
20165
- #
21081
+ # Preference for a given location: ALLOW or DENY.
20166
21082
  # Corresponds to the JSON property `preference`
20167
21083
  # @return [String]
20168
21084
  attr_accessor :preference
@@ -21148,6 +22064,13 @@ module Google
21148
22064
  # @return [String]
21149
22065
  attr_accessor :tag
21150
22066
 
22067
+ # [Output Only] The eventual status of the instance. The instance group manager
22068
+ # will not be identified as stable till each managed instance reaches its
22069
+ # targetStatus.
22070
+ # Corresponds to the JSON property `targetStatus`
22071
+ # @return [String]
22072
+ attr_accessor :target_status
22073
+
21151
22074
  # [Output Only] Intended version of this instance.
21152
22075
  # Corresponds to the JSON property `version`
21153
22076
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
@@ -21169,6 +22092,7 @@ module Google
21169
22092
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
21170
22093
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
21171
22094
  @tag = args[:tag] if args.key?(:tag)
22095
+ @target_status = args[:target_status] if args.key?(:target_status)
21172
22096
  @version = args[:version] if args.key?(:version)
21173
22097
  end
21174
22098
  end
@@ -21654,6 +22578,320 @@ module Google
21654
22578
  end
21655
22579
  end
21656
22580
 
22581
+ # Represents a Google Cloud Armor network edge security service resource. (==
22582
+ # resource_for `$api_version`.networkEdgeSecurityServices ==)
22583
+ class NetworkEdgeSecurityService
22584
+ include Google::Apis::Core::Hashable
22585
+
22586
+ # [Output Only] Creation timestamp in RFC3339 text format.
22587
+ # Corresponds to the JSON property `creationTimestamp`
22588
+ # @return [String]
22589
+ attr_accessor :creation_timestamp
22590
+
22591
+ # An optional description of this resource. Provide this property when you
22592
+ # create the resource.
22593
+ # Corresponds to the JSON property `description`
22594
+ # @return [String]
22595
+ attr_accessor :description
22596
+
22597
+ # Fingerprint of this resource. A hash of the contents stored in this object.
22598
+ # This field is used in optimistic locking. This field will be ignored when
22599
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
22600
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
22601
+ # request will fail with error 412 conditionNotMet.
22602
+ # To see the latest fingerprint, make a get() request to retrieve a
22603
+ # NetworkEdgeSecurityService.
22604
+ # Corresponds to the JSON property `fingerprint`
22605
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
22606
+ # @return [String]
22607
+ attr_accessor :fingerprint
22608
+
22609
+ # [Output Only] The unique identifier for the resource. This identifier is
22610
+ # defined by the server.
22611
+ # Corresponds to the JSON property `id`
22612
+ # @return [Fixnum]
22613
+ attr_accessor :id
22614
+
22615
+ # [Output only] Type of the resource. Always compute#
22616
+ # networkEdgeSecurityServicefor NetworkEdgeSecurityServices
22617
+ # Corresponds to the JSON property `kind`
22618
+ # @return [String]
22619
+ attr_accessor :kind
22620
+
22621
+ # Name of the resource. Provided by the client when the resource is created. The
22622
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
22623
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
22624
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
22625
+ # and all following characters must be a dash, lowercase letter, or digit,
22626
+ # except the last character, which cannot be a dash.
22627
+ # Corresponds to the JSON property `name`
22628
+ # @return [String]
22629
+ attr_accessor :name
22630
+
22631
+ # [Output Only] URL of the region where the resource resides. You must specify
22632
+ # this field as part of the HTTP request URL. It is not settable as a field in
22633
+ # the request body.
22634
+ # Corresponds to the JSON property `region`
22635
+ # @return [String]
22636
+ attr_accessor :region
22637
+
22638
+ # The resource URL for the network edge security service associated with this
22639
+ # network edge security service.
22640
+ # Corresponds to the JSON property `securityPolicy`
22641
+ # @return [String]
22642
+ attr_accessor :security_policy
22643
+
22644
+ # [Output Only] Server-defined URL for the resource.
22645
+ # Corresponds to the JSON property `selfLink`
22646
+ # @return [String]
22647
+ attr_accessor :self_link
22648
+
22649
+ # [Output Only] Server-defined URL for this resource with the resource id.
22650
+ # Corresponds to the JSON property `selfLinkWithId`
22651
+ # @return [String]
22652
+ attr_accessor :self_link_with_id
22653
+
22654
+ def initialize(**args)
22655
+ update!(**args)
22656
+ end
22657
+
22658
+ # Update properties of this object
22659
+ def update!(**args)
22660
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22661
+ @description = args[:description] if args.key?(:description)
22662
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
22663
+ @id = args[:id] if args.key?(:id)
22664
+ @kind = args[:kind] if args.key?(:kind)
22665
+ @name = args[:name] if args.key?(:name)
22666
+ @region = args[:region] if args.key?(:region)
22667
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
22668
+ @self_link = args[:self_link] if args.key?(:self_link)
22669
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
22670
+ end
22671
+ end
22672
+
22673
+ #
22674
+ class NetworkEdgeSecurityServiceAggregatedList
22675
+ include Google::Apis::Core::Hashable
22676
+
22677
+ #
22678
+ # Corresponds to the JSON property `etag`
22679
+ # @return [String]
22680
+ attr_accessor :etag
22681
+
22682
+ # [Output Only] Unique identifier for the resource; defined by the server.
22683
+ # Corresponds to the JSON property `id`
22684
+ # @return [String]
22685
+ attr_accessor :id
22686
+
22687
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
22688
+ # Corresponds to the JSON property `items`
22689
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList>]
22690
+ attr_accessor :items
22691
+
22692
+ # [Output Only] Type of resource. Always compute#
22693
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
22694
+ # Services.
22695
+ # Corresponds to the JSON property `kind`
22696
+ # @return [String]
22697
+ attr_accessor :kind
22698
+
22699
+ # [Output Only] This token allows you to get the next page of results for list
22700
+ # requests. If the number of results is larger than maxResults, use the
22701
+ # nextPageToken as a value for the query parameter pageToken in the next list
22702
+ # request. Subsequent list requests will have their own nextPageToken to
22703
+ # continue paging through the results.
22704
+ # Corresponds to the JSON property `nextPageToken`
22705
+ # @return [String]
22706
+ attr_accessor :next_page_token
22707
+
22708
+ # [Output Only] Server-defined URL for this resource.
22709
+ # Corresponds to the JSON property `selfLink`
22710
+ # @return [String]
22711
+ attr_accessor :self_link
22712
+
22713
+ # [Output Only] Unreachable resources.
22714
+ # Corresponds to the JSON property `unreachables`
22715
+ # @return [Array<String>]
22716
+ attr_accessor :unreachables
22717
+
22718
+ # [Output Only] Informational warning message.
22719
+ # Corresponds to the JSON property `warning`
22720
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning]
22721
+ attr_accessor :warning
22722
+
22723
+ def initialize(**args)
22724
+ update!(**args)
22725
+ end
22726
+
22727
+ # Update properties of this object
22728
+ def update!(**args)
22729
+ @etag = args[:etag] if args.key?(:etag)
22730
+ @id = args[:id] if args.key?(:id)
22731
+ @items = args[:items] if args.key?(:items)
22732
+ @kind = args[:kind] if args.key?(:kind)
22733
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22734
+ @self_link = args[:self_link] if args.key?(:self_link)
22735
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
22736
+ @warning = args[:warning] if args.key?(:warning)
22737
+ end
22738
+
22739
+ # [Output Only] Informational warning message.
22740
+ class Warning
22741
+ include Google::Apis::Core::Hashable
22742
+
22743
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22744
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22745
+ # Corresponds to the JSON property `code`
22746
+ # @return [String]
22747
+ attr_accessor :code
22748
+
22749
+ # [Output Only] Metadata about this warning in key: value format. For example:
22750
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22751
+ # Corresponds to the JSON property `data`
22752
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
22753
+ attr_accessor :data
22754
+
22755
+ # [Output Only] A human-readable description of the warning code.
22756
+ # Corresponds to the JSON property `message`
22757
+ # @return [String]
22758
+ attr_accessor :message
22759
+
22760
+ def initialize(**args)
22761
+ update!(**args)
22762
+ end
22763
+
22764
+ # Update properties of this object
22765
+ def update!(**args)
22766
+ @code = args[:code] if args.key?(:code)
22767
+ @data = args[:data] if args.key?(:data)
22768
+ @message = args[:message] if args.key?(:message)
22769
+ end
22770
+
22771
+ #
22772
+ class Datum
22773
+ include Google::Apis::Core::Hashable
22774
+
22775
+ # [Output Only] A key that provides more detail on the warning being returned.
22776
+ # For example, for warnings where there are no results in a list request for a
22777
+ # particular zone, this key might be scope and the key value might be the zone
22778
+ # name. Other examples might be a key indicating a deprecated resource and a
22779
+ # suggested replacement, or a warning about invalid network settings (for
22780
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22781
+ # for IP forwarding).
22782
+ # Corresponds to the JSON property `key`
22783
+ # @return [String]
22784
+ attr_accessor :key
22785
+
22786
+ # [Output Only] A warning data value corresponding to the key.
22787
+ # Corresponds to the JSON property `value`
22788
+ # @return [String]
22789
+ attr_accessor :value
22790
+
22791
+ def initialize(**args)
22792
+ update!(**args)
22793
+ end
22794
+
22795
+ # Update properties of this object
22796
+ def update!(**args)
22797
+ @key = args[:key] if args.key?(:key)
22798
+ @value = args[:value] if args.key?(:value)
22799
+ end
22800
+ end
22801
+ end
22802
+ end
22803
+
22804
+ #
22805
+ class NetworkEdgeSecurityServicesScopedList
22806
+ include Google::Apis::Core::Hashable
22807
+
22808
+ # A list of NetworkEdgeSecurityServices contained in this scope.
22809
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
22810
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityService>]
22811
+ attr_accessor :network_edge_security_services
22812
+
22813
+ # Informational warning which replaces the list of security policies when the
22814
+ # list is empty.
22815
+ # Corresponds to the JSON property `warning`
22816
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning]
22817
+ attr_accessor :warning
22818
+
22819
+ def initialize(**args)
22820
+ update!(**args)
22821
+ end
22822
+
22823
+ # Update properties of this object
22824
+ def update!(**args)
22825
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
22826
+ @warning = args[:warning] if args.key?(:warning)
22827
+ end
22828
+
22829
+ # Informational warning which replaces the list of security policies when the
22830
+ # list is empty.
22831
+ class Warning
22832
+ include Google::Apis::Core::Hashable
22833
+
22834
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22835
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22836
+ # Corresponds to the JSON property `code`
22837
+ # @return [String]
22838
+ attr_accessor :code
22839
+
22840
+ # [Output Only] Metadata about this warning in key: value format. For example:
22841
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22842
+ # Corresponds to the JSON property `data`
22843
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
22844
+ attr_accessor :data
22845
+
22846
+ # [Output Only] A human-readable description of the warning code.
22847
+ # Corresponds to the JSON property `message`
22848
+ # @return [String]
22849
+ attr_accessor :message
22850
+
22851
+ def initialize(**args)
22852
+ update!(**args)
22853
+ end
22854
+
22855
+ # Update properties of this object
22856
+ def update!(**args)
22857
+ @code = args[:code] if args.key?(:code)
22858
+ @data = args[:data] if args.key?(:data)
22859
+ @message = args[:message] if args.key?(:message)
22860
+ end
22861
+
22862
+ #
22863
+ class Datum
22864
+ include Google::Apis::Core::Hashable
22865
+
22866
+ # [Output Only] A key that provides more detail on the warning being returned.
22867
+ # For example, for warnings where there are no results in a list request for a
22868
+ # particular zone, this key might be scope and the key value might be the zone
22869
+ # name. Other examples might be a key indicating a deprecated resource and a
22870
+ # suggested replacement, or a warning about invalid network settings (for
22871
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22872
+ # for IP forwarding).
22873
+ # Corresponds to the JSON property `key`
22874
+ # @return [String]
22875
+ attr_accessor :key
22876
+
22877
+ # [Output Only] A warning data value corresponding to the key.
22878
+ # Corresponds to the JSON property `value`
22879
+ # @return [String]
22880
+ attr_accessor :value
22881
+
22882
+ def initialize(**args)
22883
+ update!(**args)
22884
+ end
22885
+
22886
+ # Update properties of this object
22887
+ def update!(**args)
22888
+ @key = args[:key] if args.key?(:key)
22889
+ @value = args[:value] if args.key?(:value)
22890
+ end
22891
+ end
22892
+ end
22893
+ end
22894
+
21657
22895
  # The network endpoint.
21658
22896
  class NetworkEndpoint
21659
22897
  include Google::Apis::Core::Hashable
@@ -21807,6 +23045,12 @@ module Google
21807
23045
  # @return [String]
21808
23046
  attr_accessor :network_endpoint_type
21809
23047
 
23048
+ # The target service url used to set up private service connection to a Google
23049
+ # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
23050
+ # Corresponds to the JSON property `pscTargetService`
23051
+ # @return [String]
23052
+ attr_accessor :psc_target_service
23053
+
21810
23054
  # [Output Only] The URL of the region where the network endpoint group is
21811
23055
  # located.
21812
23056
  # Corresponds to the JSON property `region`
@@ -21823,8 +23067,8 @@ module Google
21823
23067
  # @return [String]
21824
23068
  attr_accessor :self_link_with_id
21825
23069
 
21826
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
21827
- # platform must be provided.
23070
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23071
+ # be provided.
21828
23072
  # Note: The target backend service must be in the same project and located in
21829
23073
  # the same region as the Serverless NEG.
21830
23074
  # Corresponds to the JSON property `serverlessDeployment`
@@ -21872,6 +23116,7 @@ module Google
21872
23116
  @name = args[:name] if args.key?(:name)
21873
23117
  @network = args[:network] if args.key?(:network)
21874
23118
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
23119
+ @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
21875
23120
  @region = args[:region] if args.key?(:region)
21876
23121
  @self_link = args[:self_link] if args.key?(:self_link)
21877
23122
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -22295,8 +23540,8 @@ module Google
22295
23540
  end
22296
23541
  end
22297
23542
 
22298
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
22299
- # platform must be provided.
23543
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23544
+ # be provided.
22300
23545
  # Note: The target backend service must be in the same project and located in
22301
23546
  # the same region as the Serverless NEG.
22302
23547
  class NetworkEndpointGroupServerlessDeployment
@@ -22304,10 +23549,10 @@ module Google
22304
23549
 
22305
23550
  # The platform of the backend target(s) of this NEG. Possible values include:
22306
23551
  #
22307
- # - apigateway.googleapis.com
22308
- # - appengine.googleapies.com
22309
- # - cloudfunctions.googleapis.com
22310
- # - run.googleapis.com
23552
+ # - API Gateway: apigateway.googleapis.com
23553
+ # - App Engine: appengine.googleapis.com
23554
+ # - Cloud Functions: cloudfunctions.googleapis.com
23555
+ # - Cloud Run: run.googleapis.com
22311
23556
  # Corresponds to the JSON property `platform`
22312
23557
  # @return [String]
22313
23558
  attr_accessor :platform
@@ -22316,8 +23561,8 @@ module Google
22316
23561
  # explicitly or in the urlMask. The resource identified by this value is
22317
23562
  # platform-specific and is as follows:
22318
23563
  #
22319
- # - API Gateway: The gateway id
22320
- # - AppEngine: The service name
23564
+ # - API Gateway: The gateway ID
23565
+ # - App Engine: The service name
22321
23566
  # - Cloud Functions: The function name
22322
23567
  # - Cloud Run: The service name
22323
23568
  # Corresponds to the JSON property `resource`
@@ -22325,23 +23570,24 @@ module Google
22325
23570
  attr_accessor :resource
22326
23571
 
22327
23572
  # A template to parse platform-specific fields from a request URL. URL mask
22328
- # allows for routing to multiple services on the same serverless platform
22329
- # without having to create multiple Network Endpoint Groups and backend services.
22330
- # The fields parsed by this template is platform-specific and are as follows:
23573
+ # allows for routing to multiple resources on the same serverless platform
23574
+ # without having to create multiple Network Endpoint Groups and backend
23575
+ # resources. The fields parsed by this template are platform-specific and are as
23576
+ # follows:
22331
23577
  #
22332
- # - API Gateway: The gateway id
22333
- # - AppEngine: The service and version
22334
- # - Cloud Functions: The function
23578
+ # - API Gateway: The gateway ID
23579
+ # - App Engine: The service and version
23580
+ # - Cloud Functions: The function name
22335
23581
  # - Cloud Run: The service and tag
22336
23582
  # Corresponds to the JSON property `urlMask`
22337
23583
  # @return [String]
22338
23584
  attr_accessor :url_mask
22339
23585
 
22340
- # The optional resource version. The version identified by this value is as
23586
+ # The optional resource version. The version identified by this value is
22341
23587
  # platform-specific and is follows:
22342
23588
  #
22343
23589
  # - API Gateway: Unused
22344
- # - AppEngine: The service version
23590
+ # - App Engine: The service version
22345
23591
  # - Cloud Functions: Unused
22346
23592
  # - Cloud Run: The service tag
22347
23593
  # Corresponds to the JSON property `version`
@@ -22696,8 +23942,9 @@ module Google
22696
23942
 
22697
23943
  # Fingerprint hash of contents stored in this network interface. This field will
22698
23944
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
22699
- # date fingerprint must be provided in order to update the NetworkInterface,
22700
- # otherwise the request will fail with error 412 conditionNotMet.
23945
+ # date fingerprint must be provided in order to update the NetworkInterface. The
23946
+ # request will fail with error 400 Bad Request if the fingerprint is not
23947
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
22701
23948
  # Corresponds to the JSON property `fingerprint`
22702
23949
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
22703
23950
  # @return [String]
@@ -23246,7 +24493,8 @@ module Google
23246
24493
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
23247
24494
  include Google::Apis::Core::Hashable
23248
24495
 
23249
- # [Output Only] The display name of the firewall policy.
24496
+ # [Output Only] Deprecated, please use short name instead. The display name of
24497
+ # the firewall policy.
23250
24498
  # Corresponds to the JSON property `displayName`
23251
24499
  # @return [String]
23252
24500
  attr_accessor :display_name
@@ -23261,6 +24509,11 @@ module Google
23261
24509
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
23262
24510
  attr_accessor :rules
23263
24511
 
24512
+ # [Output Only] The short name of the firewall policy.
24513
+ # Corresponds to the JSON property `shortName`
24514
+ # @return [String]
24515
+ attr_accessor :short_name
24516
+
23264
24517
  # [Output Only] The type of the firewall policy.
23265
24518
  # Corresponds to the JSON property `type`
23266
24519
  # @return [String]
@@ -23275,6 +24528,7 @@ module Google
23275
24528
  @display_name = args[:display_name] if args.key?(:display_name)
23276
24529
  @name = args[:name] if args.key?(:name)
23277
24530
  @rules = args[:rules] if args.key?(:rules)
24531
+ @short_name = args[:short_name] if args.key?(:short_name)
23278
24532
  @type = args[:type] if args.key?(:type)
23279
24533
  end
23280
24534
  end
@@ -25604,41 +26858,6 @@ module Google
25604
26858
  # @return [String]
25605
26859
  attr_accessor :kind
25606
26860
 
25607
- # `Any` contains an arbitrary serialized protocol buffer message along with a
25608
- # URL that describes the type of the serialized message.
25609
- # Protobuf library provides support to pack/unpack Any values in the form of
25610
- # utility functions or additional generated methods of the Any type.
25611
- # Example 1: Pack and unpack a message in C++.
25612
- # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
25613
- # Example 2: Pack and unpack a message in Java.
25614
- # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
25615
- # unpack(Foo.class); `
25616
- # Example 3: Pack and unpack a message in Python.
25617
- # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
25618
- # Unpack(foo) ...
25619
- # Example 4: Pack and unpack a message in Go
25620
- # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
25621
- # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
25622
- # The pack methods provided by protobuf library will by default use 'type.
25623
- # googleapis.com/full.type.name' as the type URL and the unpack methods only use
25624
- # the fully qualified type name after the last '/' in the type URL, for example "
25625
- # foo.bar.com/x/y.z" will yield type name "y.z".
25626
- # JSON ==== The JSON representation of an `Any` value uses the regular
25627
- # representation of the deserialized, embedded message, with an additional field
25628
- # `@type` which contains the type URL. Example:
25629
- # package google.profile; message Person ` string first_name = 1; string
25630
- # last_name = 2; `
25631
- # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
25632
- # lastName": `
25633
- # If the embedded message type is well-known and has a custom JSON
25634
- # representation, that representation will be embedded adding a field `value`
25635
- # which holds the custom JSON in addition to the `@type` field. Example (for
25636
- # message [google.protobuf.Duration][]):
25637
- # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
25638
- # Corresponds to the JSON property `metadata`
25639
- # @return [Google::Apis::ComputeAlpha::Any]
25640
- attr_accessor :metadata
25641
-
25642
26861
  # [Output Only] Name of the operation.
25643
26862
  # Corresponds to the JSON property `name`
25644
26863
  # @return [String]
@@ -25745,7 +26964,6 @@ module Google
25745
26964
  @id = args[:id] if args.key?(:id)
25746
26965
  @insert_time = args[:insert_time] if args.key?(:insert_time)
25747
26966
  @kind = args[:kind] if args.key?(:kind)
25748
- @metadata = args[:metadata] if args.key?(:metadata)
25749
26967
  @name = args[:name] if args.key?(:name)
25750
26968
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
25751
26969
  @operation_type = args[:operation_type] if args.key?(:operation_type)
@@ -29657,12 +30875,25 @@ module Google
29657
30875
 
29658
30876
  # Skip instances which cannot be deleted (instances not belonging to this
29659
30877
  # managed group, already being deleted or being abandoned). If `false`, fail
29660
- # whole flow, if such instance is passed.
30878
+ # whole flow, if such instance is passed. DEPRECATED: Use
30879
+ # skip_instances_on_validation_error instead.
29661
30880
  # Corresponds to the JSON property `skipInapplicableInstances`
29662
30881
  # @return [Boolean]
29663
30882
  attr_accessor :skip_inapplicable_instances
29664
30883
  alias_method :skip_inapplicable_instances?, :skip_inapplicable_instances
29665
30884
 
30885
+ # Specifies whether the request should proceed despite the inclusion of
30886
+ # instances that are not members of the group or that are already in the process
30887
+ # of being deleted or abandoned. If this field is set to `false` and such an
30888
+ # instance is specified in the request, the operation fails. The operation
30889
+ # always fails if the request contains a malformed instance URL or a reference
30890
+ # to an instance that exists in a zone or region other than the group's zone or
30891
+ # region.
30892
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
30893
+ # @return [Boolean]
30894
+ attr_accessor :skip_instances_on_validation_error
30895
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
30896
+
29666
30897
  def initialize(**args)
29667
30898
  update!(**args)
29668
30899
  end
@@ -29671,6 +30902,7 @@ module Google
29671
30902
  def update!(**args)
29672
30903
  @instances = args[:instances] if args.key?(:instances)
29673
30904
  @skip_inapplicable_instances = args[:skip_inapplicable_instances] if args.key?(:skip_inapplicable_instances)
30905
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
29674
30906
  end
29675
30907
  end
29676
30908
 
@@ -29894,6 +31126,26 @@ module Google
29894
31126
  end
29895
31127
  end
29896
31128
 
31129
+ #
31130
+ class RegionInstanceGroupManagersResumeInstancesRequest
31131
+ include Google::Apis::Core::Hashable
31132
+
31133
+ # The URLs of one or more instances to resume. This can be a full URL or a
31134
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31135
+ # Corresponds to the JSON property `instances`
31136
+ # @return [Array<String>]
31137
+ attr_accessor :instances
31138
+
31139
+ def initialize(**args)
31140
+ update!(**args)
31141
+ end
31142
+
31143
+ # Update properties of this object
31144
+ def update!(**args)
31145
+ @instances = args[:instances] if args.key?(:instances)
31146
+ end
31147
+ end
31148
+
29897
31149
  #
29898
31150
  class RegionInstanceGroupManagersSetAutoHealingRequest
29899
31151
  include Google::Apis::Core::Hashable
@@ -29963,6 +31215,82 @@ module Google
29963
31215
  end
29964
31216
  end
29965
31217
 
31218
+ #
31219
+ class RegionInstanceGroupManagersStartInstancesRequest
31220
+ include Google::Apis::Core::Hashable
31221
+
31222
+ # The URLs of one or more instances to start. This can be a full URL or a
31223
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31224
+ # Corresponds to the JSON property `instances`
31225
+ # @return [Array<String>]
31226
+ attr_accessor :instances
31227
+
31228
+ def initialize(**args)
31229
+ update!(**args)
31230
+ end
31231
+
31232
+ # Update properties of this object
31233
+ def update!(**args)
31234
+ @instances = args[:instances] if args.key?(:instances)
31235
+ end
31236
+ end
31237
+
31238
+ #
31239
+ class RegionInstanceGroupManagersStopInstancesRequest
31240
+ include Google::Apis::Core::Hashable
31241
+
31242
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
31243
+ # the instances, skipping initialization on them.
31244
+ # Corresponds to the JSON property `forceStop`
31245
+ # @return [Boolean]
31246
+ attr_accessor :force_stop
31247
+ alias_method :force_stop?, :force_stop
31248
+
31249
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
31250
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31251
+ # Corresponds to the JSON property `instances`
31252
+ # @return [Array<String>]
31253
+ attr_accessor :instances
31254
+
31255
+ def initialize(**args)
31256
+ update!(**args)
31257
+ end
31258
+
31259
+ # Update properties of this object
31260
+ def update!(**args)
31261
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
31262
+ @instances = args[:instances] if args.key?(:instances)
31263
+ end
31264
+ end
31265
+
31266
+ #
31267
+ class RegionInstanceGroupManagersSuspendInstancesRequest
31268
+ include Google::Apis::Core::Hashable
31269
+
31270
+ # If this flag is set to true, the Instance Group Manager will proceed to
31271
+ # suspend the instances, skipping initialization on them.
31272
+ # Corresponds to the JSON property `forceSuspend`
31273
+ # @return [Boolean]
31274
+ attr_accessor :force_suspend
31275
+ alias_method :force_suspend?, :force_suspend
31276
+
31277
+ # The URLs of one or more instances to suspend. This can be a full URL or a
31278
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31279
+ # Corresponds to the JSON property `instances`
31280
+ # @return [Array<String>]
31281
+ attr_accessor :instances
31282
+
31283
+ def initialize(**args)
31284
+ update!(**args)
31285
+ end
31286
+
31287
+ # Update properties of this object
31288
+ def update!(**args)
31289
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
31290
+ @instances = args[:instances] if args.key?(:instances)
31291
+ end
31292
+ end
31293
+
29966
31294
  #
29967
31295
  class RegionInstanceGroupsListInstances
29968
31296
  include Google::Apis::Core::Hashable
@@ -30509,9 +31837,9 @@ module Google
30509
31837
  # @return [String]
30510
31838
  attr_accessor :self_link_with_id
30511
31839
 
30512
- # Share-settings for shared-reservation
31840
+ # The share setting for reservations and sole tenancy node groups.
30513
31841
  # Corresponds to the JSON property `shareSettings`
30514
- # @return [Google::Apis::ComputeAlpha::AllocationShareSettings]
31842
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
30515
31843
  attr_accessor :share_settings
30516
31844
 
30517
31845
  # This reservation type allows to pre allocate specific instance configuration.
@@ -32047,6 +33375,14 @@ module Google
32047
33375
  class Route
32048
33376
  include Google::Apis::Core::Hashable
32049
33377
 
33378
+ # Whether this route can conflict with existing subnetworks. Setting this to
33379
+ # true allows this route to conflict with subnetworks that have already been
33380
+ # configured on the corresponding network.
33381
+ # Corresponds to the JSON property `allowConflictingSubnetworks`
33382
+ # @return [Boolean]
33383
+ attr_accessor :allow_conflicting_subnetworks
33384
+ alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
33385
+
32050
33386
  # [Output Only] Creation timestamp in RFC3339 text format.
32051
33387
  # Corresponds to the JSON property `creationTimestamp`
32052
33388
  # @return [String]
@@ -32070,6 +33406,12 @@ module Google
32070
33406
  # @return [Fixnum]
32071
33407
  attr_accessor :id
32072
33408
 
33409
+ # ILB route behavior when ILB is deemed unhealthy based on user specified
33410
+ # threshold on the Backend Service of the internal load balancing.
33411
+ # Corresponds to the JSON property `ilbRouteBehaviorOnUnhealthy`
33412
+ # @return [String]
33413
+ attr_accessor :ilb_route_behavior_on_unhealthy
33414
+
32073
33415
  # [Output Only] Type of this resource. Always compute#routes for Route resources.
32074
33416
  # Corresponds to the JSON property `kind`
32075
33417
  # @return [String]
@@ -32180,10 +33522,12 @@ module Google
32180
33522
 
32181
33523
  # Update properties of this object
32182
33524
  def update!(**args)
33525
+ @allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
32183
33526
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32184
33527
  @description = args[:description] if args.key?(:description)
32185
33528
  @dest_range = args[:dest_range] if args.key?(:dest_range)
32186
33529
  @id = args[:id] if args.key?(:id)
33530
+ @ilb_route_behavior_on_unhealthy = args[:ilb_route_behavior_on_unhealthy] if args.key?(:ilb_route_behavior_on_unhealthy)
32187
33531
  @kind = args[:kind] if args.key?(:kind)
32188
33532
  @name = args[:name] if args.key?(:name)
32189
33533
  @network = args[:network] if args.key?(:network)
@@ -32413,7 +33757,8 @@ module Google
32413
33757
  attr_accessor :description
32414
33758
 
32415
33759
  # Field to indicate if a router is dedicated to use with encrypted Interconnect
32416
- # Attachment (Encrypted Interconnect feature).
33760
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
33761
+ # Not currently available in all Interconnect locations.
32417
33762
  # Corresponds to the JSON property `encryptedInterconnectRouter`
32418
33763
  # @return [Boolean]
32419
33764
  attr_accessor :encrypted_interconnect_router
@@ -32686,7 +34031,7 @@ module Google
32686
34031
  # successive keepalive messages that BGP receives from a peer.
32687
34032
  # BGP will use the smaller of either the local hold time value or the peer's
32688
34033
  # hold time value as the hold time for the BGP connection between the two peers.
32689
- # If set, this value must be between 1 and 120. The default is 20.
34034
+ # If set, this value must be between 20 and 60. The default is 20.
32690
34035
  # Corresponds to the JSON property `keepaliveInterval`
32691
34036
  # @return [Fixnum]
32692
34037
  attr_accessor :keepalive_interval
@@ -32717,12 +34062,11 @@ module Google
32717
34062
  # User-specified list of prefix groups to advertise in custom mode, which can
32718
34063
  # take one of the following options:
32719
34064
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
32720
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
32721
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
32722
- # Note that this field can only be populated if advertise_mode is CUSTOM and
32723
- # overrides the list defined for the router (in the "bgp" message). These groups
32724
- # are advertised in addition to any specified prefixes. Leave this field blank
32725
- # to advertise no custom groups.
34065
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
34066
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
34067
+ # defined for the router (in the "bgp" message). These groups are advertised in
34068
+ # addition to any specified prefixes. Leave this field blank to advertise no
34069
+ # custom groups.
32726
34070
  # Corresponds to the JSON property `advertisedGroups`
32727
34071
  # @return [Array<String>]
32728
34072
  attr_accessor :advertised_groups
@@ -32758,6 +34102,12 @@ module Google
32758
34102
  # @return [String]
32759
34103
  attr_accessor :enable
32760
34104
 
34105
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
34106
+ # Corresponds to the JSON property `enableIpv6`
34107
+ # @return [Boolean]
34108
+ attr_accessor :enable_ipv6
34109
+ alias_method :enable_ipv6?, :enable_ipv6
34110
+
32761
34111
  # Name of the interface the BGP peer is associated with.
32762
34112
  # Corresponds to the JSON property `interfaceName`
32763
34113
  # @return [String]
@@ -32769,6 +34119,11 @@ module Google
32769
34119
  # @return [String]
32770
34120
  attr_accessor :ip_address
32771
34121
 
34122
+ # IPv6 address of the interface inside Google Cloud Platform.
34123
+ # Corresponds to the JSON property `ipv6NexthopAddress`
34124
+ # @return [String]
34125
+ attr_accessor :ipv6_nexthop_address
34126
+
32772
34127
  # [Output Only] The resource that configures and manages this BGP peer.
32773
34128
  # - MANAGED_BY_USER is the default value and can be managed by you or other
32774
34129
  # users
@@ -32802,6 +34157,11 @@ module Google
32802
34157
  # @return [String]
32803
34158
  attr_accessor :peer_ip_address
32804
34159
 
34160
+ # IPv6 address of the BGP interface outside Google Cloud Platform.
34161
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
34162
+ # @return [String]
34163
+ attr_accessor :peer_ipv6_nexthop_address
34164
+
32805
34165
  # URI of the VM instance that is used as third-party router appliances such as
32806
34166
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
32807
34167
  # must be located in zones contained in the same region as this Cloud Router.
@@ -32822,12 +34182,15 @@ module Google
32822
34182
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
32823
34183
  @bfd = args[:bfd] if args.key?(:bfd)
32824
34184
  @enable = args[:enable] if args.key?(:enable)
34185
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
32825
34186
  @interface_name = args[:interface_name] if args.key?(:interface_name)
32826
34187
  @ip_address = args[:ip_address] if args.key?(:ip_address)
34188
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
32827
34189
  @management_type = args[:management_type] if args.key?(:management_type)
32828
34190
  @name = args[:name] if args.key?(:name)
32829
34191
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
32830
34192
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
34193
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
32831
34194
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
32832
34195
  end
32833
34196
  end
@@ -33148,6 +34511,19 @@ module Google
33148
34511
  # @return [Array<String>]
33149
34512
  attr_accessor :drain_nat_ips
33150
34513
 
34514
+ # Enable Dynamic Port Allocation.
34515
+ # If not specified, it is disabled by default.
34516
+ # If set to true,
34517
+ # - Dynamic Port Allocation will be enabled on this NAT config.
34518
+ # - enableEndpointIndependentMapping cannot be set to true.
34519
+ # - If minPorts is set, minPortsPerVm must be set to a power of two greater than
34520
+ # or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be
34521
+ # allocated to a VM from this NAT config.
34522
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
34523
+ # @return [Boolean]
34524
+ attr_accessor :enable_dynamic_port_allocation
34525
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
34526
+
33151
34527
  #
33152
34528
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
33153
34529
  # @return [Boolean]
@@ -33164,6 +34540,18 @@ module Google
33164
34540
  # @return [Google::Apis::ComputeAlpha::RouterNatLogConfig]
33165
34541
  attr_accessor :log_config
33166
34542
 
34543
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
34544
+ # Port Allocation is enabled.
34545
+ # If Dynamic Port Allocation is not enabled, this field has no effect.
34546
+ # If Dynamic Port Allocation is enabled, and this field is set, it must be set
34547
+ # to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not
34548
+ # set.
34549
+ # If Dynamic Port Allocation is enabled and this field is not set, a maximum of
34550
+ # 65536 ports will be allocated to a VM from this NAT config.
34551
+ # Corresponds to the JSON property `maxPortsPerVm`
34552
+ # @return [Fixnum]
34553
+ attr_accessor :max_ports_per_vm
34554
+
33167
34555
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
33168
34556
  # default number of ports is allocated to a VM. This is rounded up to the
33169
34557
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -33250,9 +34638,11 @@ module Google
33250
34638
  # Update properties of this object
33251
34639
  def update!(**args)
33252
34640
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
34641
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
33253
34642
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
33254
34643
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
33255
34644
  @log_config = args[:log_config] if args.key?(:log_config)
34645
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
33256
34646
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
33257
34647
  @name = args[:name] if args.key?(:name)
33258
34648
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
@@ -33313,7 +34703,7 @@ module Google
33313
34703
  attr_accessor :description
33314
34704
 
33315
34705
  # CEL expression that specifies the match condition that egress traffic from a
33316
- # VM is evaluated against. If it evaluates to true, the corresponding ?action?
34706
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
33317
34707
  # is enforced.
33318
34708
  # The following examples are valid match expressions:
33319
34709
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/
@@ -33464,11 +34854,22 @@ module Google
33464
34854
  # @return [Google::Apis::ComputeAlpha::BfdStatus]
33465
34855
  attr_accessor :bfd_status
33466
34856
 
34857
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
34858
+ # Corresponds to the JSON property `enableIpv6`
34859
+ # @return [Boolean]
34860
+ attr_accessor :enable_ipv6
34861
+ alias_method :enable_ipv6?, :enable_ipv6
34862
+
33467
34863
  # IP address of the local BGP interface.
33468
34864
  # Corresponds to the JSON property `ipAddress`
33469
34865
  # @return [String]
33470
34866
  attr_accessor :ip_address
33471
34867
 
34868
+ # IPv6 address of the local BGP interface.
34869
+ # Corresponds to the JSON property `ipv6NexthopAddress`
34870
+ # @return [String]
34871
+ attr_accessor :ipv6_nexthop_address
34872
+
33472
34873
  # URL of the VPN tunnel that this BGP peer controls.
33473
34874
  # Corresponds to the JSON property `linkedVpnTunnel`
33474
34875
  # @return [String]
@@ -33489,6 +34890,18 @@ module Google
33489
34890
  # @return [String]
33490
34891
  attr_accessor :peer_ip_address
33491
34892
 
34893
+ # IPv6 address of the remote BGP interface.
34894
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
34895
+ # @return [String]
34896
+ attr_accessor :peer_ipv6_nexthop_address
34897
+
34898
+ # [Output only] URI of the VM instance that is used as third-party router
34899
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
34900
+ # The VM instance is the peer side of the BGP session.
34901
+ # Corresponds to the JSON property `routerApplianceInstance`
34902
+ # @return [String]
34903
+ attr_accessor :router_appliance_instance
34904
+
33492
34905
  # BGP state as specified in RFC1771.
33493
34906
  # Corresponds to the JSON property `state`
33494
34907
  # @return [String]
@@ -33518,11 +34931,15 @@ module Google
33518
34931
  def update!(**args)
33519
34932
  @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
33520
34933
  @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
34934
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
33521
34935
  @ip_address = args[:ip_address] if args.key?(:ip_address)
34936
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
33522
34937
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
33523
34938
  @name = args[:name] if args.key?(:name)
33524
34939
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
33525
34940
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
34941
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
34942
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33526
34943
  @state = args[:state] if args.key?(:state)
33527
34944
  @status = args[:status] if args.key?(:status)
33528
34945
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -34068,7 +35485,7 @@ module Google
34068
35485
  end
34069
35486
  end
34070
35487
 
34071
- # Sets the scheduling options for an Instance. NextID: 17
35488
+ # Sets the scheduling options for an Instance. NextID: 21
34072
35489
  class Scheduling
34073
35490
  include Google::Apis::Core::Hashable
34074
35491
 
@@ -34106,15 +35523,14 @@ module Google
34106
35523
  # @return [String]
34107
35524
  attr_accessor :location_hint
34108
35525
 
34109
- # Specifies the number of hours after instance creation where the instance won't
34110
- # be scheduled for maintenance.
35526
+ # Specifies the number of hours after VM instance creation where the VM won't be
35527
+ # scheduled for maintenance.
34111
35528
  # Corresponds to the JSON property `maintenanceFreezeDurationHours`
34112
35529
  # @return [Fixnum]
34113
35530
  attr_accessor :maintenance_freeze_duration_hours
34114
35531
 
34115
- # Specifies whether this VM may be a stable fleet VM. Setting this to "Periodic"
34116
- # designates this VM as a Stable Fleet VM.
34117
- # See go/stable-fleet-ug for more details.
35532
+ # For more information about maintenance intervals, see Setting maintenance
35533
+ # intervals.
34118
35534
  # Corresponds to the JSON property `maintenanceInterval`
34119
35535
  # @return [String]
34120
35536
  attr_accessor :maintenance_interval
@@ -34247,6 +35663,136 @@ module Google
34247
35663
  end
34248
35664
  end
34249
35665
 
35666
+ #
35667
+ class SecurityPoliciesAggregatedList
35668
+ include Google::Apis::Core::Hashable
35669
+
35670
+ #
35671
+ # Corresponds to the JSON property `etag`
35672
+ # @return [String]
35673
+ attr_accessor :etag
35674
+
35675
+ # [Output Only] Unique identifier for the resource; defined by the server.
35676
+ # Corresponds to the JSON property `id`
35677
+ # @return [String]
35678
+ attr_accessor :id
35679
+
35680
+ # A list of SecurityPoliciesScopedList resources.
35681
+ # Corresponds to the JSON property `items`
35682
+ # @return [Hash<String,Google::Apis::ComputeAlpha::SecurityPoliciesScopedList>]
35683
+ attr_accessor :items
35684
+
35685
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
35686
+ # for lists of Security Policies.
35687
+ # Corresponds to the JSON property `kind`
35688
+ # @return [String]
35689
+ attr_accessor :kind
35690
+
35691
+ # [Output Only] This token allows you to get the next page of results for list
35692
+ # requests. If the number of results is larger than maxResults, use the
35693
+ # nextPageToken as a value for the query parameter pageToken in the next list
35694
+ # request. Subsequent list requests will have their own nextPageToken to
35695
+ # continue paging through the results.
35696
+ # Corresponds to the JSON property `nextPageToken`
35697
+ # @return [String]
35698
+ attr_accessor :next_page_token
35699
+
35700
+ # [Output Only] Server-defined URL for this resource.
35701
+ # Corresponds to the JSON property `selfLink`
35702
+ # @return [String]
35703
+ attr_accessor :self_link
35704
+
35705
+ # [Output Only] Unreachable resources.
35706
+ # Corresponds to the JSON property `unreachables`
35707
+ # @return [Array<String>]
35708
+ attr_accessor :unreachables
35709
+
35710
+ # [Output Only] Informational warning message.
35711
+ # Corresponds to the JSON property `warning`
35712
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning]
35713
+ attr_accessor :warning
35714
+
35715
+ def initialize(**args)
35716
+ update!(**args)
35717
+ end
35718
+
35719
+ # Update properties of this object
35720
+ def update!(**args)
35721
+ @etag = args[:etag] if args.key?(:etag)
35722
+ @id = args[:id] if args.key?(:id)
35723
+ @items = args[:items] if args.key?(:items)
35724
+ @kind = args[:kind] if args.key?(:kind)
35725
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35726
+ @self_link = args[:self_link] if args.key?(:self_link)
35727
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35728
+ @warning = args[:warning] if args.key?(:warning)
35729
+ end
35730
+
35731
+ # [Output Only] Informational warning message.
35732
+ class Warning
35733
+ include Google::Apis::Core::Hashable
35734
+
35735
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35736
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35737
+ # Corresponds to the JSON property `code`
35738
+ # @return [String]
35739
+ attr_accessor :code
35740
+
35741
+ # [Output Only] Metadata about this warning in key: value format. For example:
35742
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35743
+ # Corresponds to the JSON property `data`
35744
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning::Datum>]
35745
+ attr_accessor :data
35746
+
35747
+ # [Output Only] A human-readable description of the warning code.
35748
+ # Corresponds to the JSON property `message`
35749
+ # @return [String]
35750
+ attr_accessor :message
35751
+
35752
+ def initialize(**args)
35753
+ update!(**args)
35754
+ end
35755
+
35756
+ # Update properties of this object
35757
+ def update!(**args)
35758
+ @code = args[:code] if args.key?(:code)
35759
+ @data = args[:data] if args.key?(:data)
35760
+ @message = args[:message] if args.key?(:message)
35761
+ end
35762
+
35763
+ #
35764
+ class Datum
35765
+ include Google::Apis::Core::Hashable
35766
+
35767
+ # [Output Only] A key that provides more detail on the warning being returned.
35768
+ # For example, for warnings where there are no results in a list request for a
35769
+ # particular zone, this key might be scope and the key value might be the zone
35770
+ # name. Other examples might be a key indicating a deprecated resource and a
35771
+ # suggested replacement, or a warning about invalid network settings (for
35772
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35773
+ # for IP forwarding).
35774
+ # Corresponds to the JSON property `key`
35775
+ # @return [String]
35776
+ attr_accessor :key
35777
+
35778
+ # [Output Only] A warning data value corresponding to the key.
35779
+ # Corresponds to the JSON property `value`
35780
+ # @return [String]
35781
+ attr_accessor :value
35782
+
35783
+ def initialize(**args)
35784
+ update!(**args)
35785
+ end
35786
+
35787
+ # Update properties of this object
35788
+ def update!(**args)
35789
+ @key = args[:key] if args.key?(:key)
35790
+ @value = args[:value] if args.key?(:value)
35791
+ end
35792
+ end
35793
+ end
35794
+ end
35795
+
34250
35796
  #
34251
35797
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
34252
35798
  include Google::Apis::Core::Hashable
@@ -34266,6 +35812,97 @@ module Google
34266
35812
  end
34267
35813
  end
34268
35814
 
35815
+ #
35816
+ class SecurityPoliciesScopedList
35817
+ include Google::Apis::Core::Hashable
35818
+
35819
+ # A list of SecurityPolicies contained in this scope.
35820
+ # Corresponds to the JSON property `securityPolicies`
35821
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
35822
+ attr_accessor :security_policies
35823
+
35824
+ # Informational warning which replaces the list of security policies when the
35825
+ # list is empty.
35826
+ # Corresponds to the JSON property `warning`
35827
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning]
35828
+ attr_accessor :warning
35829
+
35830
+ def initialize(**args)
35831
+ update!(**args)
35832
+ end
35833
+
35834
+ # Update properties of this object
35835
+ def update!(**args)
35836
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
35837
+ @warning = args[:warning] if args.key?(:warning)
35838
+ end
35839
+
35840
+ # Informational warning which replaces the list of security policies when the
35841
+ # list is empty.
35842
+ class Warning
35843
+ include Google::Apis::Core::Hashable
35844
+
35845
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35846
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35847
+ # Corresponds to the JSON property `code`
35848
+ # @return [String]
35849
+ attr_accessor :code
35850
+
35851
+ # [Output Only] Metadata about this warning in key: value format. For example:
35852
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35853
+ # Corresponds to the JSON property `data`
35854
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning::Datum>]
35855
+ attr_accessor :data
35856
+
35857
+ # [Output Only] A human-readable description of the warning code.
35858
+ # Corresponds to the JSON property `message`
35859
+ # @return [String]
35860
+ attr_accessor :message
35861
+
35862
+ def initialize(**args)
35863
+ update!(**args)
35864
+ end
35865
+
35866
+ # Update properties of this object
35867
+ def update!(**args)
35868
+ @code = args[:code] if args.key?(:code)
35869
+ @data = args[:data] if args.key?(:data)
35870
+ @message = args[:message] if args.key?(:message)
35871
+ end
35872
+
35873
+ #
35874
+ class Datum
35875
+ include Google::Apis::Core::Hashable
35876
+
35877
+ # [Output Only] A key that provides more detail on the warning being returned.
35878
+ # For example, for warnings where there are no results in a list request for a
35879
+ # particular zone, this key might be scope and the key value might be the zone
35880
+ # name. Other examples might be a key indicating a deprecated resource and a
35881
+ # suggested replacement, or a warning about invalid network settings (for
35882
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35883
+ # for IP forwarding).
35884
+ # Corresponds to the JSON property `key`
35885
+ # @return [String]
35886
+ attr_accessor :key
35887
+
35888
+ # [Output Only] A warning data value corresponding to the key.
35889
+ # Corresponds to the JSON property `value`
35890
+ # @return [String]
35891
+ attr_accessor :value
35892
+
35893
+ def initialize(**args)
35894
+ update!(**args)
35895
+ end
35896
+
35897
+ # Update properties of this object
35898
+ def update!(**args)
35899
+ @key = args[:key] if args.key?(:key)
35900
+ @value = args[:value] if args.key?(:value)
35901
+ end
35902
+ end
35903
+ end
35904
+ end
35905
+
34269
35906
  #
34270
35907
  class SecurityPoliciesWafConfig
34271
35908
  include Google::Apis::Core::Hashable
@@ -34312,6 +35949,11 @@ module Google
34312
35949
  # @return [String]
34313
35950
  attr_accessor :creation_timestamp
34314
35951
 
35952
+ #
35953
+ # Corresponds to the JSON property `ddosProtectionConfig`
35954
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyDdosProtectionConfig]
35955
+ attr_accessor :ddos_protection_config
35956
+
34315
35957
  # An optional description of this resource. Provide this property when you
34316
35958
  # create the resource.
34317
35959
  # Corresponds to the JSON property `description`
@@ -34387,6 +36029,12 @@ module Google
34387
36029
  # @return [String]
34388
36030
  attr_accessor :parent
34389
36031
 
36032
+ # [Output Only] URL of the region where the regional security policy resides.
36033
+ # This field is not applicable to global security policies.
36034
+ # Corresponds to the JSON property `region`
36035
+ # @return [String]
36036
+ attr_accessor :region
36037
+
34390
36038
  # [Output Only] Total count of all security policy rule tuples. A security
34391
36039
  # policy can not exceed a set number of tuples.
34392
36040
  # Corresponds to the JSON property `ruleTupleCount`
@@ -34427,6 +36075,7 @@ module Google
34427
36075
  @associations = args[:associations] if args.key?(:associations)
34428
36076
  @cloud_armor_config = args[:cloud_armor_config] if args.key?(:cloud_armor_config)
34429
36077
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36078
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
34430
36079
  @description = args[:description] if args.key?(:description)
34431
36080
  @display_name = args[:display_name] if args.key?(:display_name)
34432
36081
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -34436,6 +36085,7 @@ module Google
34436
36085
  @labels = args[:labels] if args.key?(:labels)
34437
36086
  @name = args[:name] if args.key?(:name)
34438
36087
  @parent = args[:parent] if args.key?(:parent)
36088
+ @region = args[:region] if args.key?(:region)
34439
36089
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
34440
36090
  @rules = args[:rules] if args.key?(:rules)
34441
36091
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -34547,10 +36197,34 @@ module Google
34547
36197
  end
34548
36198
  end
34549
36199
 
36200
+ #
36201
+ class SecurityPolicyDdosProtectionConfig
36202
+ include Google::Apis::Core::Hashable
36203
+
36204
+ #
36205
+ # Corresponds to the JSON property `ddosProtection`
36206
+ # @return [String]
36207
+ attr_accessor :ddos_protection
36208
+
36209
+ def initialize(**args)
36210
+ update!(**args)
36211
+ end
36212
+
36213
+ # Update properties of this object
36214
+ def update!(**args)
36215
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
36216
+ end
36217
+ end
36218
+
34550
36219
  #
34551
36220
  class SecurityPolicyList
34552
36221
  include Google::Apis::Core::Hashable
34553
36222
 
36223
+ #
36224
+ # Corresponds to the JSON property `etag`
36225
+ # @return [String]
36226
+ attr_accessor :etag
36227
+
34554
36228
  # [Output Only] Unique identifier for the resource; defined by the server.
34555
36229
  # Corresponds to the JSON property `id`
34556
36230
  # @return [String]
@@ -34576,6 +36250,11 @@ module Google
34576
36250
  # @return [String]
34577
36251
  attr_accessor :next_page_token
34578
36252
 
36253
+ # [Output Only] Unreachable resources.
36254
+ # Corresponds to the JSON property `unreachables`
36255
+ # @return [Array<String>]
36256
+ attr_accessor :unreachables
36257
+
34579
36258
  # [Output Only] Informational warning message.
34580
36259
  # Corresponds to the JSON property `warning`
34581
36260
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyList::Warning]
@@ -34587,10 +36266,12 @@ module Google
34587
36266
 
34588
36267
  # Update properties of this object
34589
36268
  def update!(**args)
36269
+ @etag = args[:etag] if args.key?(:etag)
34590
36270
  @id = args[:id] if args.key?(:id)
34591
36271
  @items = args[:items] if args.key?(:items)
34592
36272
  @kind = args[:kind] if args.key?(:kind)
34593
36273
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36274
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
34594
36275
  @warning = args[:warning] if args.key?(:warning)
34595
36276
  end
34596
36277
 
@@ -34683,7 +36364,7 @@ module Google
34683
36364
  class SecurityPolicyRule
34684
36365
  include Google::Apis::Core::Hashable
34685
36366
 
34686
- # The Action to preform when the client connection triggers the rule. Can
36367
+ # The Action to perform when the client connection triggers the rule. Can
34687
36368
  # currently be either "allow" or "deny()" where valid values for status are 403,
34688
36369
  # 404, and 502.
34689
36370
  # Corresponds to the JSON property `action`
@@ -34712,6 +36393,11 @@ module Google
34712
36393
  attr_accessor :enable_logging
34713
36394
  alias_method :enable_logging?, :enable_logging
34714
36395
 
36396
+ # Optional, additional actions that are performed on headers.
36397
+ # Corresponds to the JSON property `headerAction`
36398
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderAction]
36399
+ attr_accessor :header_action
36400
+
34715
36401
  # [Output only] Type of the resource. Always compute#securityPolicyRule for
34716
36402
  # security policy rules
34717
36403
  # Corresponds to the JSON property `kind`
@@ -34787,6 +36473,7 @@ module Google
34787
36473
  @description = args[:description] if args.key?(:description)
34788
36474
  @direction = args[:direction] if args.key?(:direction)
34789
36475
  @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
36476
+ @header_action = args[:header_action] if args.key?(:header_action)
34790
36477
  @kind = args[:kind] if args.key?(:kind)
34791
36478
  @match = args[:match] if args.key?(:match)
34792
36479
  @preview = args[:preview] if args.key?(:preview)
@@ -34800,6 +36487,50 @@ module Google
34800
36487
  end
34801
36488
  end
34802
36489
 
36490
+ #
36491
+ class SecurityPolicyRuleHttpHeaderAction
36492
+ include Google::Apis::Core::Hashable
36493
+
36494
+ # The list of request headers to add or overwrite if they're already present.
36495
+ # Corresponds to the JSON property `requestHeadersToAdds`
36496
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
36497
+ attr_accessor :request_headers_to_adds
36498
+
36499
+ def initialize(**args)
36500
+ update!(**args)
36501
+ end
36502
+
36503
+ # Update properties of this object
36504
+ def update!(**args)
36505
+ @request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
36506
+ end
36507
+ end
36508
+
36509
+ #
36510
+ class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
36511
+ include Google::Apis::Core::Hashable
36512
+
36513
+ # The name of the header to set.
36514
+ # Corresponds to the JSON property `headerName`
36515
+ # @return [String]
36516
+ attr_accessor :header_name
36517
+
36518
+ # The value to set the named header to.
36519
+ # Corresponds to the JSON property `headerValue`
36520
+ # @return [String]
36521
+ attr_accessor :header_value
36522
+
36523
+ def initialize(**args)
36524
+ update!(**args)
36525
+ end
36526
+
36527
+ # Update properties of this object
36528
+ def update!(**args)
36529
+ @header_name = args[:header_name] if args.key?(:header_name)
36530
+ @header_value = args[:header_value] if args.key?(:header_value)
36531
+ end
36532
+ end
36533
+
34803
36534
  # Represents a match condition that incoming traffic is evaluated against.
34804
36535
  # Exactly one field must be specified.
34805
36536
  class SecurityPolicyRuleMatcher
@@ -34965,29 +36696,20 @@ module Google
34965
36696
  include Google::Apis::Core::Hashable
34966
36697
 
34967
36698
  # Can only be specified if the action for the rule is "rate_based_ban". If
34968
- # specified, the key will be banned for the configured 'ban_duration' when the
34969
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34970
- # ban_threshold'.
36699
+ # specified, determines the time (in seconds) the traffic will continue to be
36700
+ # banned by the rate limit after the rate falls below the threshold.
34971
36701
  # Corresponds to the JSON property `banDurationSec`
34972
36702
  # @return [Fixnum]
34973
36703
  attr_accessor :ban_duration_sec
34974
36704
 
34975
36705
  # Can only be specified if the action for the rule is "rate_based_ban". If
34976
- # specified, the key will be banned for the configured 'ban_duration' when the
34977
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34978
- # ban_threshold'.
36706
+ # specified, the key will be banned for the configured 'ban_duration_sec' when
36707
+ # the number of requests that exceed the 'rate_limit_threshold' also exceed this
36708
+ # 'ban_threshold'.
34979
36709
  # Corresponds to the JSON property `banThreshold`
34980
36710
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
34981
36711
  attr_accessor :ban_threshold
34982
36712
 
34983
- # Can only be specified if the action for the rule is "rate_based_ban" If
34984
- # specified, determines the time (in seconds) the traffic will continue to be
34985
- # blocked by the rate limit after the rate falls below the threshold. The
34986
- # default value is 0 seconds. [Deprecated] This field is deprecated.
34987
- # Corresponds to the JSON property `blockDuration`
34988
- # @return [Fixnum]
34989
- attr_accessor :block_duration
34990
-
34991
36713
  # Action to take when requests are under the given threshold. When requests are
34992
36714
  # throttled, this is also the action for all requests which are not dropped.
34993
36715
  # Valid options are "allow", "fairshare", and "drop_overload".
@@ -35013,12 +36735,6 @@ module Google
35013
36735
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
35014
36736
  attr_accessor :rate_limit_threshold
35015
36737
 
35016
- # Rate in requests per second at which to begin ratelimiting. [Deprecated] This
35017
- # field is deprecated.
35018
- # Corresponds to the JSON property `thresholdRps`
35019
- # @return [Fixnum]
35020
- attr_accessor :threshold_rps
35021
-
35022
36738
  def initialize(**args)
35023
36739
  update!(**args)
35024
36740
  end
@@ -35027,12 +36743,10 @@ module Google
35027
36743
  def update!(**args)
35028
36744
  @ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
35029
36745
  @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
35030
- @block_duration = args[:block_duration] if args.key?(:block_duration)
35031
36746
  @conform_action = args[:conform_action] if args.key?(:conform_action)
35032
36747
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
35033
36748
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
35034
36749
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
35035
- @threshold_rps = args[:threshold_rps] if args.key?(:threshold_rps)
35036
36750
  end
35037
36751
  end
35038
36752
 
@@ -35267,10 +36981,16 @@ module Google
35267
36981
  # A service attachment represents a service that a producer has exposed. It
35268
36982
  # encapsulates the load balancer which fronts the service runs and a list of NAT
35269
36983
  # IP ranges that the producers uses to represent the consumers connecting to the
35270
- # service. next tag = 16
36984
+ # service. next tag = 19
35271
36985
  class ServiceAttachment
35272
36986
  include Google::Apis::Core::Hashable
35273
36987
 
36988
+ # [Output Only] An array of connections for all the consumers connected to this
36989
+ # service attachment.
36990
+ # Corresponds to the JSON property `connectedEndpoints`
36991
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConnectedEndpoint>]
36992
+ attr_accessor :connected_endpoints
36993
+
35274
36994
  # The connection preference of service attachment. The value can be set to
35275
36995
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
35276
36996
  # accepts the connection from consumer forwarding rules.
@@ -35278,12 +36998,23 @@ module Google
35278
36998
  # @return [String]
35279
36999
  attr_accessor :connection_preference
35280
37000
 
37001
+ # Projects that are allowed to connect to this service attachment.
37002
+ # Corresponds to the JSON property `consumerAcceptLists`
37003
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerProjectLimit>]
37004
+ attr_accessor :consumer_accept_lists
37005
+
35281
37006
  # [Output Only] An array of forwarding rules for all the consumers connected to
35282
37007
  # this service attachment.
35283
37008
  # Corresponds to the JSON property `consumerForwardingRules`
35284
37009
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerForwardingRule>]
35285
37010
  attr_accessor :consumer_forwarding_rules
35286
37011
 
37012
+ # Projects that are not allowed to connect to this service attachment. The
37013
+ # project can be specified using its id or number.
37014
+ # Corresponds to the JSON property `consumerRejectLists`
37015
+ # @return [Array<String>]
37016
+ attr_accessor :consumer_reject_lists
37017
+
35287
37018
  # [Output Only] Creation timestamp in RFC3339 text format.
35288
37019
  # Corresponds to the JSON property `creationTimestamp`
35289
37020
  # @return [String]
@@ -35303,6 +37034,17 @@ module Google
35303
37034
  attr_accessor :enable_proxy_protocol
35304
37035
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
35305
37036
 
37037
+ # Fingerprint of this resource. A hash of the contents stored in this object.
37038
+ # This field is used in optimistic locking. This field will be ignored when
37039
+ # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
37040
+ # order to patch/update the ServiceAttachment; otherwise, the request will fail
37041
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
37042
+ # request to retrieve the ServiceAttachment.
37043
+ # Corresponds to the JSON property `fingerprint`
37044
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
37045
+ # @return [String]
37046
+ attr_accessor :fingerprint
37047
+
35306
37048
  # [Output Only] The unique identifier for the resource type. The server
35307
37049
  # generates this identifier.
35308
37050
  # Corresponds to the JSON property `id`
@@ -35337,6 +37079,11 @@ module Google
35337
37079
  # @return [String]
35338
37080
  attr_accessor :producer_forwarding_rule
35339
37081
 
37082
+ # [Output Only] An 128-bit global unique ID of the PSC service attachment.
37083
+ # Corresponds to the JSON property `pscServiceAttachmentId`
37084
+ # @return [Google::Apis::ComputeAlpha::Uint128]
37085
+ attr_accessor :psc_service_attachment_id
37086
+
35340
37087
  # [Output Only] URL of the region where the service attachment resides. This
35341
37088
  # field applies only to the region resource. You must specify this field as part
35342
37089
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -35349,24 +37096,36 @@ module Google
35349
37096
  # @return [String]
35350
37097
  attr_accessor :self_link
35351
37098
 
37099
+ # The URL of a service serving the endpoint identified by this service
37100
+ # attachment.
37101
+ # Corresponds to the JSON property `targetService`
37102
+ # @return [String]
37103
+ attr_accessor :target_service
37104
+
35352
37105
  def initialize(**args)
35353
37106
  update!(**args)
35354
37107
  end
35355
37108
 
35356
37109
  # Update properties of this object
35357
37110
  def update!(**args)
37111
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
35358
37112
  @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
37113
+ @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
35359
37114
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
37115
+ @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
35360
37116
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
35361
37117
  @description = args[:description] if args.key?(:description)
35362
37118
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
37119
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35363
37120
  @id = args[:id] if args.key?(:id)
35364
37121
  @kind = args[:kind] if args.key?(:kind)
35365
37122
  @name = args[:name] if args.key?(:name)
35366
37123
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
35367
37124
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
37125
+ @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
35368
37126
  @region = args[:region] if args.key?(:region)
35369
37127
  @self_link = args[:self_link] if args.key?(:self_link)
37128
+ @target_service = args[:target_service] if args.key?(:target_service)
35370
37129
  end
35371
37130
  end
35372
37131
 
@@ -35493,7 +37252,45 @@ module Google
35493
37252
  end
35494
37253
  end
35495
37254
 
37255
+ # [Output Only] A connection connected to this service attachment.
37256
+ class ServiceAttachmentConnectedEndpoint
37257
+ include Google::Apis::Core::Hashable
37258
+
37259
+ # The url of a connected endpoint.
37260
+ # Corresponds to the JSON property `endpoint`
37261
+ # @return [String]
37262
+ attr_accessor :endpoint
37263
+
37264
+ # The url of a consumer forwarding rule. [Deprecated] Do not use.
37265
+ # Corresponds to the JSON property `forwardingRule`
37266
+ # @return [String]
37267
+ attr_accessor :forwarding_rule
37268
+
37269
+ # The PSC connection id of the connected endpoint.
37270
+ # Corresponds to the JSON property `pscConnectionId`
37271
+ # @return [Fixnum]
37272
+ attr_accessor :psc_connection_id
37273
+
37274
+ # The status of a connected endpoint to this service attachment.
37275
+ # Corresponds to the JSON property `status`
37276
+ # @return [String]
37277
+ attr_accessor :status
37278
+
37279
+ def initialize(**args)
37280
+ update!(**args)
37281
+ end
37282
+
37283
+ # Update properties of this object
37284
+ def update!(**args)
37285
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
37286
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
37287
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
37288
+ @status = args[:status] if args.key?(:status)
37289
+ end
37290
+ end
37291
+
35496
37292
  # [Output Only] A consumer forwarding rule connected to this service attachment.
37293
+ # [Deprecated] Do not use.
35497
37294
  class ServiceAttachmentConsumerForwardingRule
35498
37295
  include Google::Apis::Core::Hashable
35499
37296
 
@@ -35502,6 +37299,11 @@ module Google
35502
37299
  # @return [String]
35503
37300
  attr_accessor :forwarding_rule
35504
37301
 
37302
+ # The PSC connection id of the PSC Forwarding Rule.
37303
+ # Corresponds to the JSON property `pscConnectionId`
37304
+ # @return [Fixnum]
37305
+ attr_accessor :psc_connection_id
37306
+
35505
37307
  # The status of the forwarding rule.
35506
37308
  # Corresponds to the JSON property `status`
35507
37309
  # @return [String]
@@ -35514,10 +37316,36 @@ module Google
35514
37316
  # Update properties of this object
35515
37317
  def update!(**args)
35516
37318
  @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
37319
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
35517
37320
  @status = args[:status] if args.key?(:status)
35518
37321
  end
35519
37322
  end
35520
37323
 
37324
+ #
37325
+ class ServiceAttachmentConsumerProjectLimit
37326
+ include Google::Apis::Core::Hashable
37327
+
37328
+ # The value of the limit to set.
37329
+ # Corresponds to the JSON property `connectionLimit`
37330
+ # @return [Fixnum]
37331
+ attr_accessor :connection_limit
37332
+
37333
+ # The project id or number for the project to set the limit for.
37334
+ # Corresponds to the JSON property `projectIdOrNum`
37335
+ # @return [String]
37336
+ attr_accessor :project_id_or_num
37337
+
37338
+ def initialize(**args)
37339
+ update!(**args)
37340
+ end
37341
+
37342
+ # Update properties of this object
37343
+ def update!(**args)
37344
+ @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
37345
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
37346
+ end
37347
+ end
37348
+
35521
37349
  #
35522
37350
  class ServiceAttachmentList
35523
37351
  include Google::Apis::Core::Hashable
@@ -35641,9 +37469,9 @@ module Google
35641
37469
  include Google::Apis::Core::Hashable
35642
37470
 
35643
37471
  # A list of ServiceAttachments contained in this scope.
35644
- # Corresponds to the JSON property `resources`
37472
+ # Corresponds to the JSON property `serviceAttachments`
35645
37473
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
35646
- attr_accessor :resources
37474
+ attr_accessor :service_attachments
35647
37475
 
35648
37476
  # Informational warning which replaces the list of service attachments when the
35649
37477
  # list is empty.
@@ -35657,7 +37485,7 @@ module Google
35657
37485
 
35658
37486
  # Update properties of this object
35659
37487
  def update!(**args)
35660
- @resources = args[:resources] if args.key?(:resources)
37488
+ @service_attachments = args[:service_attachments] if args.key?(:service_attachments)
35661
37489
  @warning = args[:warning] if args.key?(:warning)
35662
37490
  end
35663
37491
 
@@ -35727,6 +37555,32 @@ module Google
35727
37555
  end
35728
37556
  end
35729
37557
 
37558
+ # The share setting for reservations and sole tenancy node groups.
37559
+ class ShareSettings
37560
+ include Google::Apis::Core::Hashable
37561
+
37562
+ # A List of Project names to specify consumer projects for this shared-
37563
+ # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
37564
+ # Corresponds to the JSON property `projects`
37565
+ # @return [Array<String>]
37566
+ attr_accessor :projects
37567
+
37568
+ # Type of sharing for this shared-reservation
37569
+ # Corresponds to the JSON property `shareType`
37570
+ # @return [String]
37571
+ attr_accessor :share_type
37572
+
37573
+ def initialize(**args)
37574
+ update!(**args)
37575
+ end
37576
+
37577
+ # Update properties of this object
37578
+ def update!(**args)
37579
+ @projects = args[:projects] if args.key?(:projects)
37580
+ @share_type = args[:share_type] if args.key?(:share_type)
37581
+ end
37582
+ end
37583
+
35730
37584
  # A set of Shielded Instance options.
35731
37585
  class ShieldedInstanceConfig
35732
37586
  include Google::Apis::Core::Hashable
@@ -36458,7 +38312,7 @@ module Google
36458
38312
  # @return [String]
36459
38313
  attr_accessor :post_key_revocation_action_type
36460
38314
 
36461
- # Sets the scheduling options for an Instance. NextID: 17
38315
+ # Sets the scheduling options for an Instance. NextID: 21
36462
38316
  # Corresponds to the JSON property `scheduling`
36463
38317
  # @return [Google::Apis::ComputeAlpha::Scheduling]
36464
38318
  attr_accessor :scheduling
@@ -37612,7 +39466,7 @@ module Google
37612
39466
  # Can only be specified if VPC flow logging for this subnetwork is enabled.
37613
39467
  # Configures whether metadata fields should be added to the reported VPC flow
37614
39468
  # logs. Options are INCLUDE_ALL_METADATA, EXCLUDE_ALL_METADATA, and
37615
- # CUSTOM_METADATA. Default is INCLUDE_ALL_METADATA.
39469
+ # CUSTOM_METADATA. Default is EXCLUDE_ALL_METADATA.
37616
39470
  # Corresponds to the JSON property `metadata`
37617
39471
  # @return [String]
37618
39472
  attr_accessor :metadata
@@ -37677,6 +39531,11 @@ module Google
37677
39531
  # @return [String]
37678
39532
  attr_accessor :region
37679
39533
 
39534
+ # The URL of the reserved internal range.
39535
+ # Corresponds to the JSON property `reservedInternalRange`
39536
+ # @return [String]
39537
+ attr_accessor :reserved_internal_range
39538
+
37680
39539
  # The role of subnetwork. Currently, this field is only used when purpose =
37681
39540
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
37682
39541
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
@@ -37717,9 +39576,7 @@ module Google
37717
39576
  # applicable to subnetworks that have the purpose set to
37718
39577
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
37719
39578
  # balancer are being drained. A subnetwork that is draining cannot be used or
37720
- # modified until it reaches a status of READY CREATING: Subnetwork is
37721
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
37722
- # being updated
39579
+ # modified until it reaches a status of READY
37723
39580
  # Corresponds to the JSON property `state`
37724
39581
  # @return [String]
37725
39582
  attr_accessor :state
@@ -37763,6 +39620,7 @@ module Google
37763
39620
  @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
37764
39621
  @purpose = args[:purpose] if args.key?(:purpose)
37765
39622
  @region = args[:region] if args.key?(:region)
39623
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
37766
39624
  @role = args[:role] if args.key?(:role)
37767
39625
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
37768
39626
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -38052,7 +39910,7 @@ module Google
38052
39910
 
38053
39911
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
38054
39912
  # Configures whether all, none or a subset of metadata fields should be added to
38055
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
39913
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
38056
39914
  # Corresponds to the JSON property `metadata`
38057
39915
  # @return [String]
38058
39916
  attr_accessor :metadata
@@ -38098,6 +39956,11 @@ module Google
38098
39956
  # @return [String]
38099
39957
  attr_accessor :range_name
38100
39958
 
39959
+ # The URL of the reserved internal range.
39960
+ # Corresponds to the JSON property `reservedInternalRange`
39961
+ # @return [String]
39962
+ attr_accessor :reserved_internal_range
39963
+
38101
39964
  def initialize(**args)
38102
39965
  update!(**args)
38103
39966
  end
@@ -38106,6 +39969,7 @@ module Google
38106
39969
  def update!(**args)
38107
39970
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
38108
39971
  @range_name = args[:range_name] if args.key?(:range_name)
39972
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
38109
39973
  end
38110
39974
  end
38111
39975
 
@@ -38240,7 +40104,8 @@ module Google
38240
40104
  end
38241
40105
  end
38242
40106
 
38243
- # Subsetting options to make L4 ILB support any number of backend instances
40107
+ # Subsetting configuration for this BackendService. Currently this is applicable
40108
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
38244
40109
  class Subsetting
38245
40110
  include Google::Apis::Core::Hashable
38246
40111
 
@@ -39171,7 +41036,8 @@ module Google
39171
41036
  include Google::Apis::Core::Hashable
39172
41037
 
39173
41038
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
39174
- # resource. Currently exactly one SslCertificate resource must be specified.
41039
+ # resource. At least one SSL certificate must be specified. Currently, you may
41040
+ # specify up to 15 SSL certificates.
39175
41041
  # Corresponds to the JSON property `sslCertificates`
39176
41042
  # @return [Array<String>]
39177
41043
  attr_accessor :ssl_certificates
@@ -39343,6 +41209,8 @@ module Google
39343
41209
  # URLs to SslCertificate resources that are used to authenticate connections
39344
41210
  # between users and the load balancer. At least one SSL certificate must be
39345
41211
  # specified. Currently, you may specify up to 15 SSL certificates.
41212
+ # sslCertificates do not apply when the load balancing scheme is set to
41213
+ # INTERNAL_SELF_MANAGED.
39346
41214
  # Corresponds to the JSON property `sslCertificates`
39347
41215
  # @return [Array<String>]
39348
41216
  attr_accessor :ssl_certificates
@@ -40727,7 +42595,8 @@ module Google
40727
42595
  include Google::Apis::Core::Hashable
40728
42596
 
40729
42597
  # New set of URLs to SslCertificate resources to associate with this
40730
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
42598
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
42599
+ # may specify up to 15 SSL certificates.
40731
42600
  # Corresponds to the JSON property `sslCertificates`
40732
42601
  # @return [Array<String>]
40733
42602
  attr_accessor :ssl_certificates
@@ -40808,7 +42677,8 @@ module Google
40808
42677
 
40809
42678
  # URLs to SslCertificate resources that are used to authenticate connections to
40810
42679
  # Backends. At least one SSL certificate must be specified. Currently, you may
40811
- # specify up to 15 SSL certificates.
42680
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
42681
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
40812
42682
  # Corresponds to the JSON property `sslCertificates`
40813
42683
  # @return [Array<String>]
40814
42684
  attr_accessor :ssl_certificates
@@ -41929,6 +43799,31 @@ module Google
41929
43799
  end
41930
43800
  end
41931
43801
 
43802
+ #
43803
+ class Uint128
43804
+ include Google::Apis::Core::Hashable
43805
+
43806
+ #
43807
+ # Corresponds to the JSON property `high`
43808
+ # @return [Fixnum]
43809
+ attr_accessor :high
43810
+
43811
+ #
43812
+ # Corresponds to the JSON property `low`
43813
+ # @return [Fixnum]
43814
+ attr_accessor :low
43815
+
43816
+ def initialize(**args)
43817
+ update!(**args)
43818
+ end
43819
+
43820
+ # Update properties of this object
43821
+ def update!(**args)
43822
+ @high = args[:high] if args.key?(:high)
43823
+ @low = args[:low] if args.key?(:low)
43824
+ end
43825
+ end
43826
+
41932
43827
  # Upcoming Maintenance notification information.
41933
43828
  class UpcomingMaintenance
41934
43829
  include Google::Apis::Core::Hashable
@@ -43695,6 +45590,7 @@ module Google
43695
45590
  # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
43696
45591
  # all Egress or Ingress traffic for this VPN Gateway interface will go through
43697
45592
  # the specified interconnect attachment resource.
45593
+ # Not currently available in all Interconnect locations.
43698
45594
  # Corresponds to the JSON property `interconnectAttachment`
43699
45595
  # @return [String]
43700
45596
  attr_accessor :interconnect_attachment
@@ -43977,8 +45873,8 @@ module Google
43977
45873
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
43978
45874
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
43979
45875
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
43980
- # - REJECTED: Tunnel configuration was rejected, can be result of being
43981
- # blacklisted.
45876
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
45877
+ # access.
43982
45878
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
43983
45879
  # resources.
43984
45880
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for