google-apis-compute_alpha 0.5.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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