google-apis-compute_alpha 0.6.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cba72be75fcc1cd63075bd522aa078dd0b3c051835991fafd0abd4e5de76975
4
- data.tar.gz: bcaa61e645c77fff539298388395f387338cae82fbe44b6f0bf089a4a6f9f9c2
3
+ metadata.gz: 7f891f8302dc8f3df966f1a159af66a90a60cf325c43fb7ae9d51235031ceff6
4
+ data.tar.gz: 1d4a6305d37ceafe17ca98ac66d3aa423a9b553c1f10582b59aa934147654756
5
5
  SHA512:
6
- metadata.gz: 32563cc9e9f6e1b5b25e6f2a3a0f384fa80ac8f6f12f04a14341fe55dda4ff34be128aeb59f8146f5cfe9ded2a74a8d3164f15bc5499524f4be2e70a514a76f2
7
- data.tar.gz: 567d8a4f33837a8a75e8327365ab28396f390dd862d301a84b3daecf5e2261b9d3fedef754147383ffa458587daeafe4d53bdbcfae0b09899e4681de250e9527
6
+ metadata.gz: c8376ae750811916607d9321808112cd4431090392a76f8ab75d45741274dbe3efc5a176041de5ed29e57ca59c78cfd13a21771a8e75f807e872f15ca63eaa69
7
+ data.tar.gz: 72617948ead97d9df15b44baa787f2cd555b75475f6d09a9e7fecbe7989ff9814c1250e0930a748cf35766cee1b5a83032af49d009757e0a67e41a1856988eec
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.11.0 (2021-05-28)
4
+
5
+ * Regenerated from discovery document revision 20210518
6
+
7
+ ### v0.10.0 (2021-05-20)
8
+
9
+ * Regenerated from discovery document revision 20210505
10
+ * Unspecified changes
11
+
12
+ ### v0.9.0 (2021-05-05)
13
+
14
+ * Regenerated from discovery document revision 20210415
15
+
16
+ ### v0.8.0 (2021-03-30)
17
+
18
+ * Regenerated from discovery document revision 20210316
19
+
20
+ ### v0.7.0 (2021-03-19)
21
+
22
+ * Regenerated from discovery document revision 20210310
23
+
3
24
  ### v0.6.0 (2021-03-10)
4
25
 
5
26
  * Regenerated from discovery document revision 20210301
@@ -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
@@ -685,7 +685,8 @@ module Google
685
685
  # reserved for Cloud NAT.
686
686
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
687
687
  # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
688
- # configuration. These addresses are regional resources.
688
+ # configuration. These addresses are regional resources. Not currently available
689
+ # publicly.
689
690
  # Corresponds to the JSON property `purpose`
690
691
  # @return [String]
691
692
  attr_accessor :purpose
@@ -1104,6 +1105,11 @@ module Google
1104
1105
  attr_accessor :enable_nested_virtualization
1105
1106
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1106
1107
 
1108
+ # The number of vNUMA nodes.
1109
+ # Corresponds to the JSON property `numaNodeCount`
1110
+ # @return [Fixnum]
1111
+ attr_accessor :numa_node_count
1112
+
1107
1113
  # The number of threads per physical core. To disable simultaneous
1108
1114
  # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1109
1115
  # supported per core by the underlying processor is assumed.
@@ -1111,6 +1117,14 @@ module Google
1111
1117
  # @return [Fixnum]
1112
1118
  attr_accessor :threads_per_core
1113
1119
 
1120
+ # The number of physical cores to expose to an instance. Multiply by the number
1121
+ # of threads per core to compute the total number of virtual CPUs to expose to
1122
+ # the instance. If unset, the number of cores is inferred from the instance's
1123
+ # nominal CPU count and the underlying platform's SMT width.
1124
+ # Corresponds to the JSON property `visibleCoreCount`
1125
+ # @return [Fixnum]
1126
+ attr_accessor :visible_core_count
1127
+
1114
1128
  def initialize(**args)
1115
1129
  update!(**args)
1116
1130
  end
@@ -1118,7 +1132,9 @@ module Google
1118
1132
  # Update properties of this object
1119
1133
  def update!(**args)
1120
1134
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1135
+ @numa_node_count = args[:numa_node_count] if args.key?(:numa_node_count)
1121
1136
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1137
+ @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1122
1138
  end
1123
1139
  end
1124
1140
 
@@ -1152,32 +1168,6 @@ module Google
1152
1168
  end
1153
1169
  end
1154
1170
 
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
1171
  #
1182
1172
  class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk
1183
1173
  include Google::Apis::Core::Hashable
@@ -1239,9 +1229,8 @@ module Google
1239
1229
  # @return [Fixnum]
1240
1230
  attr_accessor :maintenance_freeze_duration_hours
1241
1231
 
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.
1232
+ # For more information about maintenance intervals, see Setting maintenance
1233
+ # intervals.
1245
1234
  # Corresponds to the JSON property `maintenanceInterval`
1246
1235
  # @return [String]
1247
1236
  attr_accessor :maintenance_interval
@@ -1298,80 +1287,6 @@ module Google
1298
1287
  end
1299
1288
  end
1300
1289
 
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
1290
  # An instance-attached disk resource.
1376
1291
  class AttachedDisk
1377
1292
  include Google::Apis::Core::Hashable
@@ -2918,6 +2833,12 @@ module Google
2918
2833
  # @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicy]
2919
2834
  attr_accessor :cdn_policy
2920
2835
 
2836
+ # Compress text responses using Brotli or gzip compression, based on the client?
2837
+ # s Accept-Encoding header.
2838
+ # Corresponds to the JSON property `compressionMode`
2839
+ # @return [String]
2840
+ attr_accessor :compression_mode
2841
+
2921
2842
  # [Output Only] Creation timestamp in RFC3339 text format.
2922
2843
  # Corresponds to the JSON property `creationTimestamp`
2923
2844
  # @return [String]
@@ -2984,6 +2905,7 @@ module Google
2984
2905
  def update!(**args)
2985
2906
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
2986
2907
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2908
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
2987
2909
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2988
2910
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2989
2911
  @description = args[:description] if args.key?(:description)
@@ -3008,6 +2930,12 @@ module Google
3008
2930
  # @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
3009
2931
  attr_accessor :bypass_cache_on_request_headers
3010
2932
 
2933
+ # Message containing what to include in the cache key for a request for Cloud
2934
+ # CDN.
2935
+ # Corresponds to the JSON property `cacheKeyPolicy`
2936
+ # @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicyCacheKeyPolicy]
2937
+ attr_accessor :cache_key_policy
2938
+
3011
2939
  # Specifies the cache setting for all responses from this backend. The possible
3012
2940
  # values are:
3013
2941
  # USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache
@@ -3132,6 +3060,7 @@ module Google
3132
3060
  # Update properties of this object
3133
3061
  def update!(**args)
3134
3062
  @bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
3063
+ @cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
3135
3064
  @cache_mode = args[:cache_mode] if args.key?(:cache_mode)
3136
3065
  @client_ttl = args[:client_ttl] if args.key?(:client_ttl)
3137
3066
  @default_ttl = args[:default_ttl] if args.key?(:default_ttl)
@@ -3167,13 +3096,41 @@ module Google
3167
3096
  end
3168
3097
  end
3169
3098
 
3099
+ # Message containing what to include in the cache key for a request for Cloud
3100
+ # CDN.
3101
+ class BackendBucketCdnPolicyCacheKeyPolicy
3102
+ include Google::Apis::Core::Hashable
3103
+
3104
+ # Allows HTTP request headers (by name) to be used in the cache key.
3105
+ # Corresponds to the JSON property `includeHttpHeaders`
3106
+ # @return [Array<String>]
3107
+ attr_accessor :include_http_headers
3108
+
3109
+ # Names of query string parameters to include in cache keys. All other
3110
+ # parameters will be excluded. '&' and '=' will be percent encoded and not
3111
+ # treated as delimiters.
3112
+ # Corresponds to the JSON property `queryStringWhitelist`
3113
+ # @return [Array<String>]
3114
+ attr_accessor :query_string_whitelist
3115
+
3116
+ def initialize(**args)
3117
+ update!(**args)
3118
+ end
3119
+
3120
+ # Update properties of this object
3121
+ def update!(**args)
3122
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
3123
+ @query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
3124
+ end
3125
+ end
3126
+
3170
3127
  # Specify CDN TTLs for response error codes.
3171
3128
  class BackendBucketCdnPolicyNegativeCachingPolicy
3172
3129
  include Google::Apis::Core::Hashable
3173
3130
 
3174
3131
  # 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.
3132
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3133
+ # and you cannot specify a status code more than once.
3177
3134
  # Corresponds to the JSON property `code`
3178
3135
  # @return [Fixnum]
3179
3136
  attr_accessor :code
@@ -3356,6 +3313,12 @@ module Google
3356
3313
  # @return [Google::Apis::ComputeAlpha::CircuitBreakers]
3357
3314
  attr_accessor :circuit_breakers
3358
3315
 
3316
+ # Compress text responses using Brotli or gzip compression, based on the client?
3317
+ # s Accept-Encoding header.
3318
+ # Corresponds to the JSON property `compressionMode`
3319
+ # @return [String]
3320
+ attr_accessor :compression_mode
3321
+
3359
3322
  # Message containing connection draining configuration.
3360
3323
  # Corresponds to the JSON property `connectionDraining`
3361
3324
  # @return [Google::Apis::ComputeAlpha::ConnectionDraining]
@@ -3597,7 +3560,7 @@ module Google
3597
3560
 
3598
3561
  # Type of session affinity to use. The default is NONE.
3599
3562
  # 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.
3563
+ # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3601
3564
  # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3602
3565
  # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3603
3566
  # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
@@ -3612,15 +3575,15 @@ module Google
3612
3575
  # @return [String]
3613
3576
  attr_accessor :session_affinity
3614
3577
 
3615
- # Subsetting options to make L4 ILB support any number of backend instances
3578
+ # Subsetting configuration for this BackendService. Currently this is applicable
3579
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
3616
3580
  # Corresponds to the JSON property `subsetting`
3617
3581
  # @return [Google::Apis::ComputeAlpha::Subsetting]
3618
3582
  attr_accessor :subsetting
3619
3583
 
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.
3584
+ # Not supported when the backend service is referenced by a URL map that is
3585
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3586
+ # Instead, use maxStreamDuration.
3624
3587
  # Corresponds to the JSON property `timeoutSec`
3625
3588
  # @return [Fixnum]
3626
3589
  attr_accessor :timeout_sec
@@ -3635,6 +3598,7 @@ module Google
3635
3598
  @backends = args[:backends] if args.key?(:backends)
3636
3599
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
3637
3600
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
3601
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
3638
3602
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
3639
3603
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3640
3604
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
@@ -3976,8 +3940,8 @@ module Google
3976
3940
  include Google::Apis::Core::Hashable
3977
3941
 
3978
3942
  # 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.
3943
+ # 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
3944
+ # and you cannot specify a status code more than once.
3981
3945
  # Corresponds to the JSON property `code`
3982
3946
  # @return [Fixnum]
3983
3947
  attr_accessor :code
@@ -4836,7 +4800,10 @@ module Google
4836
4800
  end
4837
4801
  end
4838
4802
 
4839
- #
4803
+ # A transient resource used in compute.instances.bulkInsert and compute.
4804
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4805
+ # This resource is not persisted anywhere, it is used only for processing the
4806
+ # requests.
4840
4807
  class BulkInsertInstanceResource
4841
4808
  include Google::Apis::Core::Hashable
4842
4809
 
@@ -4866,16 +4833,17 @@ module Google
4866
4833
 
4867
4834
  # The minimum number of instances to create. If no min_count is specified then
4868
4835
  # count is used as the default value. If min_count instances cannot be created,
4869
- # then no instances will be created.
4836
+ # then no instances will be created and instances already created will be
4837
+ # deleted.
4870
4838
  # Corresponds to the JSON property `minCount`
4871
4839
  # @return [Fixnum]
4872
4840
  attr_accessor :min_count
4873
4841
 
4874
4842
  # 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
4843
+ # per_instance_properties must be set. The pattern should contain one continuous
4876
4844
  # sequence of placeholder hash characters (#) with each character corresponding
4877
4845
  # 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
4846
+ # will generate instance names such as inst-0001, inst-0002, ... . If there
4879
4847
  # already exist instance(s) whose names match the name pattern in the same
4880
4848
  # project and zone, then the generated instance numbers will start after the
4881
4849
  # biggest existing number. For example, if there exists an instance with name
@@ -4892,11 +4860,18 @@ module Google
4892
4860
  # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
4893
4861
  attr_accessor :per_instance_properties
4894
4862
 
4895
- # List of predefined names. The number of names provided must be equal to count.
4863
+ # DEPRECATED: Please use per_instance_properties instead.
4896
4864
  # Corresponds to the JSON property `predefinedNames`
4897
4865
  # @return [Array<String>]
4898
4866
  attr_accessor :predefined_names
4899
4867
 
4868
+ # DEPRECATED: Please use instance_properties.secure_tag instead. Secure tags to
4869
+ # apply to this instance. These can be later modified by the update method.
4870
+ # Maximum number of secure tags allowed is 50.
4871
+ # Corresponds to the JSON property `secureTags`
4872
+ # @return [Array<String>]
4873
+ attr_accessor :secure_tags
4874
+
4900
4875
  # Specifies the instance template from which to create instances. You may
4901
4876
  # combine sourceInstanceTemplate with instanceProperties to override specific
4902
4877
  # values from an existing instance template. Bulk API follows the semantics of
@@ -4926,6 +4901,7 @@ module Google
4926
4901
  @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4927
4902
  @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4928
4903
  @predefined_names = args[:predefined_names] if args.key?(:predefined_names)
4904
+ @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
4929
4905
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4930
4906
  end
4931
4907
  end
@@ -4987,6 +4963,17 @@ module Google
4987
4963
  attr_accessor :include_host
4988
4964
  alias_method :include_host?, :include_host
4989
4965
 
4966
+ # Allows HTTP request headers (by name) to be used in the cache key.
4967
+ # Corresponds to the JSON property `includeHttpHeaders`
4968
+ # @return [Array<String>]
4969
+ attr_accessor :include_http_headers
4970
+
4971
+ # Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
4972
+ # will be used in the cache key Cloud CDN generates.
4973
+ # Corresponds to the JSON property `includeNamedCookies`
4974
+ # @return [Array<String>]
4975
+ attr_accessor :include_named_cookies
4976
+
4990
4977
  # If true, http and https requests will be cached separately.
4991
4978
  # Corresponds to the JSON property `includeProtocol`
4992
4979
  # @return [Boolean]
@@ -5025,6 +5012,8 @@ module Google
5025
5012
  # Update properties of this object
5026
5013
  def update!(**args)
5027
5014
  @include_host = args[:include_host] if args.key?(:include_host)
5015
+ @include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
5016
+ @include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
5028
5017
  @include_protocol = args[:include_protocol] if args.key?(:include_protocol)
5029
5018
  @include_query_string = args[:include_query_string] if args.key?(:include_query_string)
5030
5019
  @query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
@@ -5105,14 +5094,14 @@ module Google
5105
5094
  # @return [Google::Apis::ComputeAlpha::Duration]
5106
5095
  attr_accessor :connect_timeout
5107
5096
 
5108
- # The maximum number of connections to the backend service. If not specified,
5109
- # there is no limit.
5097
+ # Not supported when the backend service is referenced by a URL map that is
5098
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5110
5099
  # Corresponds to the JSON property `maxConnections`
5111
5100
  # @return [Fixnum]
5112
5101
  attr_accessor :max_connections
5113
5102
 
5114
- # The maximum number of pending requests allowed to the backend service. If not
5115
- # specified, there is no limit.
5103
+ # Not supported when the backend service is referenced by a URL map that is
5104
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5116
5105
  # Corresponds to the JSON property `maxPendingRequests`
5117
5106
  # @return [Fixnum]
5118
5107
  attr_accessor :max_pending_requests
@@ -5123,16 +5112,14 @@ module Google
5123
5112
  # @return [Fixnum]
5124
5113
  attr_accessor :max_requests
5125
5114
 
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.
5115
+ # Not supported when the backend service is referenced by a URL map that is
5116
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5130
5117
  # Corresponds to the JSON property `maxRequestsPerConnection`
5131
5118
  # @return [Fixnum]
5132
5119
  attr_accessor :max_requests_per_connection
5133
5120
 
5134
- # The maximum number of parallel retries allowed to the backend cluster. If not
5135
- # specified, the default is 1.
5121
+ # Not supported when the backend service is referenced by a URL map that is
5122
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5136
5123
  # Corresponds to the JSON property `maxRetries`
5137
5124
  # @return [Fixnum]
5138
5125
  attr_accessor :max_retries
@@ -5209,6 +5196,16 @@ module Google
5209
5196
  class Commitment
5210
5197
  include Google::Apis::Core::Hashable
5211
5198
 
5199
+ # Specifies whether to enable automatic renewal for the commitment. The default
5200
+ # value is false if not specified. The field can be updated until the day of the
5201
+ # commitment expiration at 12:00am PST. If the field is set to true, the
5202
+ # commitment will be automatically renewed for either one or three years
5203
+ # according to the terms of the existing commitment.
5204
+ # Corresponds to the JSON property `autoRenew`
5205
+ # @return [Boolean]
5206
+ attr_accessor :auto_renew
5207
+ alias_method :auto_renew?, :auto_renew
5208
+
5212
5209
  # The category of the commitment. Category MACHINE specifies commitments
5213
5210
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
5214
5211
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -5324,6 +5321,7 @@ module Google
5324
5321
 
5325
5322
  # Update properties of this object
5326
5323
  def update!(**args)
5324
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5327
5325
  @category = args[:category] if args.key?(:category)
5328
5326
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
5329
5327
  @description = args[:description] if args.key?(:description)
@@ -7738,6 +7736,10 @@ module Google
7738
7736
  attr_accessor :id
7739
7737
 
7740
7738
  # List of interfaces for this external VPN gateway.
7739
+ # If your peer-side gateway is an on-premises gateway and non-AWS cloud
7740
+ # providers? gateway, at most two interfaces can be provided for an external VPN
7741
+ # gateway. If your peer side is an AWS virtual private gateway, four interfaces
7742
+ # should be provided for an external VPN gateway.
7741
7743
  # Corresponds to the JSON property `interfaces`
7742
7744
  # @return [Array<Google::Apis::ComputeAlpha::ExternalVpnGatewayInterface>]
7743
7745
  attr_accessor :interfaces
@@ -7813,8 +7815,9 @@ module Google
7813
7815
 
7814
7816
  # The numeric ID of this interface. The allowed input values for this id for
7815
7817
  # different redundancy types of external VPN gateway:
7816
- # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
7817
- # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7818
+ # - SINGLE_IP_INTERNALLY_REDUNDANT - 0
7819
+ # - TWO_IPS_REDUNDANCY - 0, 1
7820
+ # - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7818
7821
  # Corresponds to the JSON property `id`
7819
7822
  # @return [Fixnum]
7820
7823
  attr_accessor :id
@@ -8453,13 +8456,14 @@ module Google
8453
8456
  # @return [String]
8454
8457
  attr_accessor :description
8455
8458
 
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.
8459
+ # Depreacted, please use short name instead. User-provided name of the
8460
+ # Organization firewall plicy. The name should be unique in the organization in
8461
+ # which the firewall policy is created. The name must be 1-63 characters long,
8462
+ # and comply with RFC1035. Specifically, the name must be 1-63 characters long
8463
+ # and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
8464
+ # first character must be a lowercase letter, and all following characters must
8465
+ # be a dash, lowercase letter, or digit, except the last character, which cannot
8466
+ # be a dash.
8463
8467
  # Corresponds to the JSON property `displayName`
8464
8468
  # @return [String]
8465
8469
  attr_accessor :display_name
@@ -8499,6 +8503,14 @@ module Google
8499
8503
  # @return [String]
8500
8504
  attr_accessor :parent
8501
8505
 
8506
+ # [Output Only] URL of the region where the regional firewall policy resides.
8507
+ # This field is not applicable to global firewall policies. You must specify
8508
+ # this field as part of the HTTP request URL. It is not settable as a field in
8509
+ # the request body.
8510
+ # Corresponds to the JSON property `region`
8511
+ # @return [String]
8512
+ attr_accessor :region
8513
+
8502
8514
  # [Output Only] Total count of all firewall policy rule tuples. A firewall
8503
8515
  # policy can not exceed a set number of tuples.
8504
8516
  # Corresponds to the JSON property `ruleTupleCount`
@@ -8523,6 +8535,17 @@ module Google
8523
8535
  # @return [String]
8524
8536
  attr_accessor :self_link_with_id
8525
8537
 
8538
+ # User-provided name of the Organization firewall plicy. The name should be
8539
+ # unique in the organization in which the firewall policy is created. The name
8540
+ # must be 1-63 characters long, and comply with RFC1035. Specifically, the name
8541
+ # must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
8542
+ # [a-z0-9])?` which means the first character must be a lowercase letter, and
8543
+ # all following characters must be a dash, lowercase letter, or digit, except
8544
+ # the last character, which cannot be a dash.
8545
+ # Corresponds to the JSON property `shortName`
8546
+ # @return [String]
8547
+ attr_accessor :short_name
8548
+
8526
8549
  def initialize(**args)
8527
8550
  update!(**args)
8528
8551
  end
@@ -8538,10 +8561,12 @@ module Google
8538
8561
  @kind = args[:kind] if args.key?(:kind)
8539
8562
  @name = args[:name] if args.key?(:name)
8540
8563
  @parent = args[:parent] if args.key?(:parent)
8564
+ @region = args[:region] if args.key?(:region)
8541
8565
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8542
8566
  @rules = args[:rules] if args.key?(:rules)
8543
8567
  @self_link = args[:self_link] if args.key?(:self_link)
8544
8568
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
8569
+ @short_name = args[:short_name] if args.key?(:short_name)
8545
8570
  end
8546
8571
  end
8547
8572
 
@@ -8554,7 +8579,8 @@ module Google
8554
8579
  # @return [String]
8555
8580
  attr_accessor :attachment_target
8556
8581
 
8557
- # [Output Only] The display name of the firewall policy of the association.
8582
+ # [Output Only] Deprecated, please use short name instead. The display name of
8583
+ # the firewall policy of the association.
8558
8584
  # Corresponds to the JSON property `displayName`
8559
8585
  # @return [String]
8560
8586
  attr_accessor :display_name
@@ -8569,6 +8595,11 @@ module Google
8569
8595
  # @return [String]
8570
8596
  attr_accessor :name
8571
8597
 
8598
+ # [Output Only] The short name of the firewall policy of the association.
8599
+ # Corresponds to the JSON property `shortName`
8600
+ # @return [String]
8601
+ attr_accessor :short_name
8602
+
8572
8603
  def initialize(**args)
8573
8604
  update!(**args)
8574
8605
  end
@@ -8579,6 +8610,7 @@ module Google
8579
8610
  @display_name = args[:display_name] if args.key?(:display_name)
8580
8611
  @firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
8581
8612
  @name = args[:name] if args.key?(:name)
8613
+ @short_name = args[:short_name] if args.key?(:short_name)
8582
8614
  end
8583
8615
  end
8584
8616
 
@@ -8765,17 +8797,6 @@ module Google
8765
8797
  # @return [Array<String>]
8766
8798
  attr_accessor :target_resources
8767
8799
 
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
8800
  # A list of secure tags that controls which instances the firewall rule applies
8780
8801
  # to. If targetSecureTag are specified, then the firewall rule applies only to
8781
8802
  # instances in the VPC network that have one of those EFFECTIVE secure tags, if
@@ -8810,7 +8831,6 @@ module Google
8810
8831
  @priority = args[:priority] if args.key?(:priority)
8811
8832
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8812
8833
  @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
8834
  @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
8815
8835
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8816
8836
  end
@@ -8837,12 +8857,6 @@ module Google
8837
8857
  # @return [Array<String>]
8838
8858
  attr_accessor :src_ip_ranges
8839
8859
 
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
8860
  # List of secure tag values, which should be matched at the source of the
8847
8861
  # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8848
8862
  # is no srcIpRange, this rule will be ignored. Maximum number of source tag
@@ -8860,7 +8874,6 @@ module Google
8860
8874
  @dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
8861
8875
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8862
8876
  @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
8877
  @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8865
8878
  end
8866
8879
  end
@@ -8934,7 +8947,7 @@ module Google
8934
8947
  # - If the value is a percent, then the calculated value is percent/100 *
8935
8948
  # targetSize. For example, the calculated value of a 80% of a managed instance
8936
8949
  # group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
8937
- # is a remainder, the number is rounded up.
8950
+ # is a remainder, the number is rounded.
8938
8951
  # Corresponds to the JSON property `calculated`
8939
8952
  # @return [Fixnum]
8940
8953
  attr_accessor :calculated
@@ -9003,10 +9016,11 @@ module Google
9003
9016
  attr_accessor :ip_address
9004
9017
 
9005
9018
  # The IP protocol to which this rule applies.
9006
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
9019
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
9020
+ # L3_DEFAULT.
9007
9021
  # The valid IP protocols are different for different load balancing products:
9008
9022
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
9009
- # one of TCP, UDP or ALL is valid.
9023
+ # one of TCP, UDP or L3_DEFAULT is valid.
9010
9024
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
9011
9025
  # only TCP is valid.
9012
9026
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -9014,17 +9028,18 @@ module Google
9014
9028
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
9015
9029
  # is EXTERNAL and only TCP is valid.
9016
9030
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
9017
- # TCP or UDP is valid.
9031
+ # TCP, UDP or L3_DEFAULT is valid.
9018
9032
  # Corresponds to the JSON property `IPProtocol`
9019
9033
  # @return [String]
9020
9034
  attr_accessor :ip_protocol
9021
9035
 
9022
- # This field is used along with the backend_service field for internal load
9023
- # balancing or with the target field for internal TargetInstance. This field
9024
- # cannot be used with port or portRange fields.
9025
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
9026
- # this field to allow packets addressed to any ports will be forwarded to the
9027
- # backends configured with this forwarding rule.
9036
+ # This field is used along with the backend_service field for Internal TCP/UDP
9037
+ # Load Balancing or Network Load Balancing, or with the target field for
9038
+ # internal and external TargetInstance.
9039
+ # You can only use one of ports and port_range, or allPorts. The three are
9040
+ # mutually exclusive.
9041
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
9042
+ # forwarded to the target or backendService.
9028
9043
  # Corresponds to the JSON property `allPorts`
9029
9044
  # @return [Boolean]
9030
9045
  attr_accessor :all_ports
@@ -9186,13 +9201,16 @@ module Google
9186
9201
  # @return [String]
9187
9202
  attr_accessor :network_tier
9188
9203
 
9189
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
9190
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
9191
- # or SCTP.
9204
+ # This field can be used only if:
9205
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
9206
+ # INTERNAL_MANAGED
9207
+ # - IPProtocol is one of TCP, UDP, or SCTP.
9192
9208
  # Packets addressed to ports in the specified range will be forwarded to target
9193
- # or backend_service. You can only use one of ports, port_range, or allPorts.
9194
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
9195
- # IPProtocol] pair must have disjoint port ranges.
9209
+ # or backend_service.
9210
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
9211
+ # exclusive.
9212
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9213
+ # ports.
9196
9214
  # Some types of forwarding target have constraints on the acceptable ports:
9197
9215
  # - TargetHttpProxy: 80, 8080
9198
9216
  # - TargetHttpsProxy: 443
@@ -9213,8 +9231,8 @@ module Google
9213
9231
  # You can only use one of ports and port_range, or allPorts. The three are
9214
9232
  # mutually exclusive.
9215
9233
  # You can specify a list of up to five ports, which can be non-contiguous.
9216
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
9217
- # specify ports.
9234
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9235
+ # ports.
9218
9236
  # For more information, see [Port specifications](/load-balancing/docs/
9219
9237
  # forwarding-rule-concepts#port_specifications).
9220
9238
  # Corresponds to the JSON property `ports`
@@ -9226,6 +9244,11 @@ module Google
9226
9244
  # @return [Fixnum]
9227
9245
  attr_accessor :psc_connection_id
9228
9246
 
9247
+ #
9248
+ # Corresponds to the JSON property `pscConnectionStatus`
9249
+ # @return [String]
9250
+ attr_accessor :psc_connection_status
9251
+
9229
9252
  # [Output Only] URL of the region where the regional forwarding rule resides.
9230
9253
  # This field is not applicable to global forwarding rules. You must specify this
9231
9254
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -9271,6 +9294,16 @@ module Google
9271
9294
  # @return [String]
9272
9295
  attr_accessor :service_name
9273
9296
 
9297
+ # If not empty, this Forwarding Rule will only forward the traffic when the
9298
+ # source IP address matches one of the IP addresses or CIDR ranges set here.
9299
+ # Note that a Forwarding Rule can only have up to 64 source IP ranges, and this
9300
+ # field can only be used with a regional Forwarding Rule whose scheme is
9301
+ # EXTERNAL. Each source_ip_range entry should be either an IP address (for
9302
+ # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
9303
+ # Corresponds to the JSON property `sourceIpRanges`
9304
+ # @return [Array<String>]
9305
+ attr_accessor :source_ip_ranges
9306
+
9274
9307
  # This field is only used for internal load balancing.
9275
9308
  # For internal load balancing, this field identifies the subnetwork that the
9276
9309
  # load balanced IP should belong to for this Forwarding Rule.
@@ -9314,12 +9347,14 @@ module Google
9314
9347
  @port_range = args[:port_range] if args.key?(:port_range)
9315
9348
  @ports = args[:ports] if args.key?(:ports)
9316
9349
  @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
9350
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
9317
9351
  @region = args[:region] if args.key?(:region)
9318
9352
  @self_link = args[:self_link] if args.key?(:self_link)
9319
9353
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9320
9354
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
9321
9355
  @service_label = args[:service_label] if args.key?(:service_label)
9322
9356
  @service_name = args[:service_name] if args.key?(:service_name)
9357
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
9323
9358
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
9324
9359
  @target = args[:target] if args.key?(:target)
9325
9360
  end
@@ -9567,73 +9602,632 @@ module Google
9567
9602
  end
9568
9603
 
9569
9604
  #
9570
- class ForwardingRuleReference
9571
- include Google::Apis::Core::Hashable
9572
-
9573
- #
9574
- # Corresponds to the JSON property `forwardingRule`
9575
- # @return [String]
9576
- attr_accessor :forwarding_rule
9577
-
9578
- def initialize(**args)
9579
- update!(**args)
9580
- end
9581
-
9582
- # Update properties of this object
9583
- def update!(**args)
9584
- @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
9585
- end
9586
- end
9587
-
9588
- # Describes the auto-registration of the Forwarding Rule to Service Directory.
9589
- # The region and project of the Service Directory resource generated from this
9590
- # registration will be the same as this Forwarding Rule.
9591
- class ForwardingRuleServiceDirectoryRegistration
9605
+ class ForwardingRuleReference
9606
+ include Google::Apis::Core::Hashable
9607
+
9608
+ #
9609
+ # Corresponds to the JSON property `forwardingRule`
9610
+ # @return [String]
9611
+ attr_accessor :forwarding_rule
9612
+
9613
+ def initialize(**args)
9614
+ update!(**args)
9615
+ end
9616
+
9617
+ # Update properties of this object
9618
+ def update!(**args)
9619
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
9620
+ end
9621
+ end
9622
+
9623
+ # Describes the auto-registration of the Forwarding Rule to Service Directory.
9624
+ # The region and project of the Service Directory resource generated from this
9625
+ # registration will be the same as this Forwarding Rule.
9626
+ class ForwardingRuleServiceDirectoryRegistration
9627
+ include Google::Apis::Core::Hashable
9628
+
9629
+ # Service Directory namespace to register the forwarding rule under.
9630
+ # Corresponds to the JSON property `namespace`
9631
+ # @return [String]
9632
+ attr_accessor :namespace
9633
+
9634
+ # Service Directory service to register the forwarding rule under.
9635
+ # Corresponds to the JSON property `service`
9636
+ # @return [String]
9637
+ attr_accessor :service
9638
+
9639
+ # [Optional] Service Directory region to register this global forwarding rule
9640
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
9641
+ # for Google APIs Forwarding Rules on the same network should use the same
9642
+ # Service Directory region.
9643
+ # Corresponds to the JSON property `serviceDirectoryRegion`
9644
+ # @return [String]
9645
+ attr_accessor :service_directory_region
9646
+
9647
+ def initialize(**args)
9648
+ update!(**args)
9649
+ end
9650
+
9651
+ # Update properties of this object
9652
+ def update!(**args)
9653
+ @namespace = args[:namespace] if args.key?(:namespace)
9654
+ @service = args[:service] if args.key?(:service)
9655
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
9656
+ end
9657
+ end
9658
+
9659
+ #
9660
+ class ForwardingRulesScopedList
9661
+ include Google::Apis::Core::Hashable
9662
+
9663
+ # A list of forwarding rules contained in this scope.
9664
+ # Corresponds to the JSON property `forwardingRules`
9665
+ # @return [Array<Google::Apis::ComputeAlpha::ForwardingRule>]
9666
+ attr_accessor :forwarding_rules
9667
+
9668
+ # Informational warning which replaces the list of forwarding rules when the
9669
+ # list is empty.
9670
+ # Corresponds to the JSON property `warning`
9671
+ # @return [Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning]
9672
+ attr_accessor :warning
9673
+
9674
+ def initialize(**args)
9675
+ update!(**args)
9676
+ end
9677
+
9678
+ # Update properties of this object
9679
+ def update!(**args)
9680
+ @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
9681
+ @warning = args[:warning] if args.key?(:warning)
9682
+ end
9683
+
9684
+ # Informational warning which replaces the list of forwarding rules when the
9685
+ # list is empty.
9686
+ class Warning
9687
+ include Google::Apis::Core::Hashable
9688
+
9689
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
9690
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
9691
+ # Corresponds to the JSON property `code`
9692
+ # @return [String]
9693
+ attr_accessor :code
9694
+
9695
+ # [Output Only] Metadata about this warning in key: value format. For example:
9696
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9697
+ # Corresponds to the JSON property `data`
9698
+ # @return [Array<Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning::Datum>]
9699
+ attr_accessor :data
9700
+
9701
+ # [Output Only] A human-readable description of the warning code.
9702
+ # Corresponds to the JSON property `message`
9703
+ # @return [String]
9704
+ attr_accessor :message
9705
+
9706
+ def initialize(**args)
9707
+ update!(**args)
9708
+ end
9709
+
9710
+ # Update properties of this object
9711
+ def update!(**args)
9712
+ @code = args[:code] if args.key?(:code)
9713
+ @data = args[:data] if args.key?(:data)
9714
+ @message = args[:message] if args.key?(:message)
9715
+ end
9716
+
9717
+ #
9718
+ class Datum
9719
+ include Google::Apis::Core::Hashable
9720
+
9721
+ # [Output Only] A key that provides more detail on the warning being returned.
9722
+ # For example, for warnings where there are no results in a list request for a
9723
+ # particular zone, this key might be scope and the key value might be the zone
9724
+ # name. Other examples might be a key indicating a deprecated resource and a
9725
+ # suggested replacement, or a warning about invalid network settings (for
9726
+ # example, if an instance attempts to perform IP forwarding but is not enabled
9727
+ # for IP forwarding).
9728
+ # Corresponds to the JSON property `key`
9729
+ # @return [String]
9730
+ attr_accessor :key
9731
+
9732
+ # [Output Only] A warning data value corresponding to the key.
9733
+ # Corresponds to the JSON property `value`
9734
+ # @return [String]
9735
+ attr_accessor :value
9736
+
9737
+ def initialize(**args)
9738
+ update!(**args)
9739
+ end
9740
+
9741
+ # Update properties of this object
9742
+ def update!(**args)
9743
+ @key = args[:key] if args.key?(:key)
9744
+ @value = args[:value] if args.key?(:value)
9745
+ end
9746
+ end
9747
+ end
9748
+ end
9749
+
9750
+ #
9751
+ class FutureReservation
9752
+ include Google::Apis::Core::Hashable
9753
+
9754
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
9755
+ # text format.
9756
+ # Corresponds to the JSON property `creationTimestamp`
9757
+ # @return [String]
9758
+ attr_accessor :creation_timestamp
9759
+
9760
+ # An optional description of this resource. Provide this property when you
9761
+ # create the future reservation.
9762
+ # Corresponds to the JSON property `description`
9763
+ # @return [String]
9764
+ attr_accessor :description
9765
+
9766
+ # [Output Only] A unique identifier for this future reservation. The server
9767
+ # defines this identifier.
9768
+ # Corresponds to the JSON property `id`
9769
+ # @return [Fixnum]
9770
+ attr_accessor :id
9771
+
9772
+ # [Output Only] Type of the resource. Always compute#futureReservation for
9773
+ # future reservations.
9774
+ # Corresponds to the JSON property `kind`
9775
+ # @return [String]
9776
+ attr_accessor :kind
9777
+
9778
+ # The name of the resource, provided by the client when initially creating the
9779
+ # resource. The resource name must be 1-63 characters long, and comply with
9780
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
9781
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
9782
+ # character must be a lowercase letter, and all following characters must be a
9783
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
9784
+ # dash.
9785
+ # Corresponds to the JSON property `name`
9786
+ # @return [String]
9787
+ attr_accessor :name
9788
+
9789
+ # Name prefix for the reservations to be created at the time of delivery. The
9790
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
9791
+ # is 20. Automatically created reservations name format will be -date-####.
9792
+ # Corresponds to the JSON property `namePrefix`
9793
+ # @return [String]
9794
+ attr_accessor :name_prefix
9795
+
9796
+ # [Output Only] Server-defined fully-qualified URL for this resource.
9797
+ # Corresponds to the JSON property `selfLink`
9798
+ # @return [String]
9799
+ attr_accessor :self_link
9800
+
9801
+ # [Output Only] Server-defined URL for this resource with the resource id.
9802
+ # Corresponds to the JSON property `selfLinkWithId`
9803
+ # @return [String]
9804
+ attr_accessor :self_link_with_id
9805
+
9806
+ # The share setting for reservations and sole tenancy node groups.
9807
+ # Corresponds to the JSON property `shareSettings`
9808
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
9809
+ attr_accessor :share_settings
9810
+
9811
+ # Future Reservation configuration to indicate instance properties and total
9812
+ # count.
9813
+ # Corresponds to the JSON property `specificSkuProperties`
9814
+ # @return [Google::Apis::ComputeAlpha::FutureReservationSpecificSkuProperties]
9815
+ attr_accessor :specific_sku_properties
9816
+
9817
+ # [Output only] Represents status related to the future reservation.
9818
+ # Corresponds to the JSON property `status`
9819
+ # @return [Google::Apis::ComputeAlpha::FutureReservationStatus]
9820
+ attr_accessor :status
9821
+
9822
+ # Time window for this Future Reservation.
9823
+ # Corresponds to the JSON property `timeWindow`
9824
+ # @return [Google::Apis::ComputeAlpha::FutureReservationTimeWindow]
9825
+ attr_accessor :time_window
9826
+
9827
+ # [Output Only] URL of the Zone where this future reservation resides.
9828
+ # Corresponds to the JSON property `zone`
9829
+ # @return [String]
9830
+ attr_accessor :zone
9831
+
9832
+ def initialize(**args)
9833
+ update!(**args)
9834
+ end
9835
+
9836
+ # Update properties of this object
9837
+ def update!(**args)
9838
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9839
+ @description = args[:description] if args.key?(:description)
9840
+ @id = args[:id] if args.key?(:id)
9841
+ @kind = args[:kind] if args.key?(:kind)
9842
+ @name = args[:name] if args.key?(:name)
9843
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
9844
+ @self_link = args[:self_link] if args.key?(:self_link)
9845
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9846
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
9847
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
9848
+ @status = args[:status] if args.key?(:status)
9849
+ @time_window = args[:time_window] if args.key?(:time_window)
9850
+ @zone = args[:zone] if args.key?(:zone)
9851
+ end
9852
+ end
9853
+
9854
+ #
9855
+ class FutureReservationSpecificSkuProperties
9856
+ include Google::Apis::Core::Hashable
9857
+
9858
+ # Properties of the SKU instances being reserved. Next ID: 9
9859
+ # Corresponds to the JSON property `instanceProperties`
9860
+ # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
9861
+ attr_accessor :instance_properties
9862
+
9863
+ # Total number of instances for which capacity assurance is requested at a
9864
+ # future time period.
9865
+ # Corresponds to the JSON property `totalCount`
9866
+ # @return [Fixnum]
9867
+ attr_accessor :total_count
9868
+
9869
+ def initialize(**args)
9870
+ update!(**args)
9871
+ end
9872
+
9873
+ # Update properties of this object
9874
+ def update!(**args)
9875
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
9876
+ @total_count = args[:total_count] if args.key?(:total_count)
9877
+ end
9878
+ end
9879
+
9880
+ # [Output only] Represents status related to the future reservation.
9881
+ class FutureReservationStatus
9882
+ include Google::Apis::Core::Hashable
9883
+
9884
+ # Fully qualified urls of the automatically created reservations at start_time.
9885
+ # Corresponds to the JSON property `autoCreatedReservations`
9886
+ # @return [Array<String>]
9887
+ attr_accessor :auto_created_reservations
9888
+
9889
+ # This count indicates the fulfilled capacity so far. This is set during "
9890
+ # PROVISIONING" state. This count also includes capacity delivered as part of
9891
+ # existing matching reservations.
9892
+ # Corresponds to the JSON property `fulfilledCount`
9893
+ # @return [Fixnum]
9894
+ attr_accessor :fulfilled_count
9895
+
9896
+ # Time when Future Reservation would become LOCKED, after which no modifications
9897
+ # to Future Reservation will be allowed. Applicable only after the Future
9898
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
9899
+ # procurement_status will transition to PROCURING state at this time. TODO(b/
9900
+ # 183994731): Replace with Timestamp.
9901
+ # Corresponds to the JSON property `lockTime`
9902
+ # @return [String]
9903
+ attr_accessor :lock_time
9904
+
9905
+ # Current state of this Future Reservation
9906
+ # Corresponds to the JSON property `procurementStatus`
9907
+ # @return [String]
9908
+ attr_accessor :procurement_status
9909
+
9910
+ def initialize(**args)
9911
+ update!(**args)
9912
+ end
9913
+
9914
+ # Update properties of this object
9915
+ def update!(**args)
9916
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
9917
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
9918
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
9919
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
9920
+ end
9921
+ end
9922
+
9923
+ #
9924
+ class FutureReservationTimeWindow
9925
+ include Google::Apis::Core::Hashable
9926
+
9927
+ # A Duration represents a fixed-length span of time represented as a count of
9928
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
9929
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
9930
+ # 000 years.
9931
+ # Corresponds to the JSON property `duration`
9932
+ # @return [Google::Apis::ComputeAlpha::Duration]
9933
+ attr_accessor :duration
9934
+
9935
+ # TODO(b/183994731): Replace with Timestamp.
9936
+ # Corresponds to the JSON property `endTime`
9937
+ # @return [String]
9938
+ attr_accessor :end_time
9939
+
9940
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
9941
+ # TODO(b/183994731): Replace with Timestamp.
9942
+ # Corresponds to the JSON property `startTime`
9943
+ # @return [String]
9944
+ attr_accessor :start_time
9945
+
9946
+ def initialize(**args)
9947
+ update!(**args)
9948
+ end
9949
+
9950
+ # Update properties of this object
9951
+ def update!(**args)
9952
+ @duration = args[:duration] if args.key?(:duration)
9953
+ @end_time = args[:end_time] if args.key?(:end_time)
9954
+ @start_time = args[:start_time] if args.key?(:start_time)
9955
+ end
9956
+ end
9957
+
9958
+ # Contains a list of future reservations.
9959
+ class FutureReservationsAggregatedListResponse
9960
+ include Google::Apis::Core::Hashable
9961
+
9962
+ #
9963
+ # Corresponds to the JSON property `etag`
9964
+ # @return [String]
9965
+ attr_accessor :etag
9966
+
9967
+ # [Output Only] Unique identifier for the resource; defined by the server.
9968
+ # Corresponds to the JSON property `id`
9969
+ # @return [String]
9970
+ attr_accessor :id
9971
+
9972
+ # A list of Future reservation resources.
9973
+ # Corresponds to the JSON property `items`
9974
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureReservationsScopedList>]
9975
+ attr_accessor :items
9976
+
9977
+ # Type of resource.
9978
+ # Corresponds to the JSON property `kind`
9979
+ # @return [String]
9980
+ attr_accessor :kind
9981
+
9982
+ # [Output Only] This token allows you to get the next page of results for list
9983
+ # requests. If the number of results is larger than maxResults, use the
9984
+ # nextPageToken as a value for the query parameter pageToken in the next list
9985
+ # request. Subsequent list requests will have their own nextPageToken to
9986
+ # continue paging through the results.
9987
+ # Corresponds to the JSON property `nextPageToken`
9988
+ # @return [String]
9989
+ attr_accessor :next_page_token
9990
+
9991
+ # [Output Only] Server-defined URL for this resource.
9992
+ # Corresponds to the JSON property `selfLink`
9993
+ # @return [String]
9994
+ attr_accessor :self_link
9995
+
9996
+ # [Output Only] Unreachable resources.
9997
+ # Corresponds to the JSON property `unreachables`
9998
+ # @return [Array<String>]
9999
+ attr_accessor :unreachables
10000
+
10001
+ # [Output Only] Informational warning message.
10002
+ # Corresponds to the JSON property `warning`
10003
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning]
10004
+ attr_accessor :warning
10005
+
10006
+ def initialize(**args)
10007
+ update!(**args)
10008
+ end
10009
+
10010
+ # Update properties of this object
10011
+ def update!(**args)
10012
+ @etag = args[:etag] if args.key?(:etag)
10013
+ @id = args[:id] if args.key?(:id)
10014
+ @items = args[:items] if args.key?(:items)
10015
+ @kind = args[:kind] if args.key?(:kind)
10016
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10017
+ @self_link = args[:self_link] if args.key?(:self_link)
10018
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10019
+ @warning = args[:warning] if args.key?(:warning)
10020
+ end
10021
+
10022
+ # [Output Only] Informational warning message.
10023
+ class Warning
10024
+ include Google::Apis::Core::Hashable
10025
+
10026
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10027
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10028
+ # Corresponds to the JSON property `code`
10029
+ # @return [String]
10030
+ attr_accessor :code
10031
+
10032
+ # [Output Only] Metadata about this warning in key: value format. For example:
10033
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10034
+ # Corresponds to the JSON property `data`
10035
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning::Datum>]
10036
+ attr_accessor :data
10037
+
10038
+ # [Output Only] A human-readable description of the warning code.
10039
+ # Corresponds to the JSON property `message`
10040
+ # @return [String]
10041
+ attr_accessor :message
10042
+
10043
+ def initialize(**args)
10044
+ update!(**args)
10045
+ end
10046
+
10047
+ # Update properties of this object
10048
+ def update!(**args)
10049
+ @code = args[:code] if args.key?(:code)
10050
+ @data = args[:data] if args.key?(:data)
10051
+ @message = args[:message] if args.key?(:message)
10052
+ end
10053
+
10054
+ #
10055
+ class Datum
10056
+ include Google::Apis::Core::Hashable
10057
+
10058
+ # [Output Only] A key that provides more detail on the warning being returned.
10059
+ # For example, for warnings where there are no results in a list request for a
10060
+ # particular zone, this key might be scope and the key value might be the zone
10061
+ # name. Other examples might be a key indicating a deprecated resource and a
10062
+ # suggested replacement, or a warning about invalid network settings (for
10063
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10064
+ # for IP forwarding).
10065
+ # Corresponds to the JSON property `key`
10066
+ # @return [String]
10067
+ attr_accessor :key
10068
+
10069
+ # [Output Only] A warning data value corresponding to the key.
10070
+ # Corresponds to the JSON property `value`
10071
+ # @return [String]
10072
+ attr_accessor :value
10073
+
10074
+ def initialize(**args)
10075
+ update!(**args)
10076
+ end
10077
+
10078
+ # Update properties of this object
10079
+ def update!(**args)
10080
+ @key = args[:key] if args.key?(:key)
10081
+ @value = args[:value] if args.key?(:value)
10082
+ end
10083
+ end
10084
+ end
10085
+ end
10086
+
10087
+ #
10088
+ class FutureReservationsListResponse
10089
+ include Google::Apis::Core::Hashable
10090
+
10091
+ #
10092
+ # Corresponds to the JSON property `etag`
10093
+ # @return [String]
10094
+ attr_accessor :etag
10095
+
10096
+ # [Output Only] The unique identifier for the resource. This identifier is
10097
+ # defined by the server.
10098
+ # Corresponds to the JSON property `id`
10099
+ # @return [String]
10100
+ attr_accessor :id
10101
+
10102
+ # [Output Only] A list of future reservation resources.
10103
+ # Corresponds to the JSON property `items`
10104
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10105
+ attr_accessor :items
10106
+
10107
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
10108
+ # reservations
10109
+ # Corresponds to the JSON property `kind`
10110
+ # @return [String]
10111
+ attr_accessor :kind
10112
+
10113
+ # [Output Only] This token allows you to get the next page of results for list
10114
+ # requests. If the number of results is larger than maxResults, use the
10115
+ # nextPageToken as a value for the query parameter pageToken in the next list
10116
+ # request. Subsequent list requests will have their own nextPageToken to
10117
+ # continue paging through the results.
10118
+ # Corresponds to the JSON property `nextPageToken`
10119
+ # @return [String]
10120
+ attr_accessor :next_page_token
10121
+
10122
+ # [Output Only] Server-defined URL for this resource.
10123
+ # Corresponds to the JSON property `selfLink`
10124
+ # @return [String]
10125
+ attr_accessor :self_link
10126
+
10127
+ # [Output Only] Unreachable resources.
10128
+ # Corresponds to the JSON property `unreachables`
10129
+ # @return [Array<String>]
10130
+ attr_accessor :unreachables
10131
+
10132
+ # [Output Only] Informational warning message.
10133
+ # Corresponds to the JSON property `warning`
10134
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning]
10135
+ attr_accessor :warning
10136
+
10137
+ def initialize(**args)
10138
+ update!(**args)
10139
+ end
10140
+
10141
+ # Update properties of this object
10142
+ def update!(**args)
10143
+ @etag = args[:etag] if args.key?(:etag)
10144
+ @id = args[:id] if args.key?(:id)
10145
+ @items = args[:items] if args.key?(:items)
10146
+ @kind = args[:kind] if args.key?(:kind)
10147
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10148
+ @self_link = args[:self_link] if args.key?(:self_link)
10149
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10150
+ @warning = args[:warning] if args.key?(:warning)
10151
+ end
10152
+
10153
+ # [Output Only] Informational warning message.
10154
+ class Warning
10155
+ include Google::Apis::Core::Hashable
10156
+
10157
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10158
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10159
+ # Corresponds to the JSON property `code`
10160
+ # @return [String]
10161
+ attr_accessor :code
10162
+
10163
+ # [Output Only] Metadata about this warning in key: value format. For example:
10164
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10165
+ # Corresponds to the JSON property `data`
10166
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning::Datum>]
10167
+ attr_accessor :data
10168
+
10169
+ # [Output Only] A human-readable description of the warning code.
10170
+ # Corresponds to the JSON property `message`
10171
+ # @return [String]
10172
+ attr_accessor :message
10173
+
10174
+ def initialize(**args)
10175
+ update!(**args)
10176
+ end
10177
+
10178
+ # Update properties of this object
10179
+ def update!(**args)
10180
+ @code = args[:code] if args.key?(:code)
10181
+ @data = args[:data] if args.key?(:data)
10182
+ @message = args[:message] if args.key?(:message)
10183
+ end
10184
+
10185
+ #
10186
+ class Datum
10187
+ include Google::Apis::Core::Hashable
10188
+
10189
+ # [Output Only] A key that provides more detail on the warning being returned.
10190
+ # For example, for warnings where there are no results in a list request for a
10191
+ # particular zone, this key might be scope and the key value might be the zone
10192
+ # name. Other examples might be a key indicating a deprecated resource and a
10193
+ # suggested replacement, or a warning about invalid network settings (for
10194
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10195
+ # for IP forwarding).
10196
+ # Corresponds to the JSON property `key`
10197
+ # @return [String]
10198
+ attr_accessor :key
10199
+
10200
+ # [Output Only] A warning data value corresponding to the key.
10201
+ # Corresponds to the JSON property `value`
10202
+ # @return [String]
10203
+ attr_accessor :value
10204
+
10205
+ def initialize(**args)
10206
+ update!(**args)
10207
+ end
10208
+
10209
+ # Update properties of this object
10210
+ def update!(**args)
10211
+ @key = args[:key] if args.key?(:key)
10212
+ @value = args[:value] if args.key?(:value)
10213
+ end
10214
+ end
10215
+ end
10216
+ end
10217
+
10218
+ #
10219
+ class FutureReservationsScopedList
9592
10220
  include Google::Apis::Core::Hashable
9593
10221
 
9594
- # Service Directory namespace to register the forwarding rule under.
9595
- # Corresponds to the JSON property `namespace`
9596
- # @return [String]
9597
- attr_accessor :namespace
9598
-
9599
- # Service Directory service to register the forwarding rule under.
9600
- # Corresponds to the JSON property `service`
9601
- # @return [String]
9602
- attr_accessor :service
9603
-
9604
- # [Optional] Service Directory region to register this global forwarding rule
9605
- # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
9606
- # for Google APIs Forwarding Rules on the same network should use the same
9607
- # Service Directory region.
9608
- # Corresponds to the JSON property `serviceDirectoryRegion`
9609
- # @return [String]
9610
- attr_accessor :service_directory_region
9611
-
9612
- def initialize(**args)
9613
- update!(**args)
9614
- end
9615
-
9616
- # Update properties of this object
9617
- def update!(**args)
9618
- @namespace = args[:namespace] if args.key?(:namespace)
9619
- @service = args[:service] if args.key?(:service)
9620
- @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
9621
- end
9622
- end
9623
-
9624
- #
9625
- class ForwardingRulesScopedList
9626
- include Google::Apis::Core::Hashable
9627
-
9628
- # A list of forwarding rules contained in this scope.
9629
- # Corresponds to the JSON property `forwardingRules`
9630
- # @return [Array<Google::Apis::ComputeAlpha::ForwardingRule>]
9631
- attr_accessor :forwarding_rules
10222
+ # A list of future reservations contained in this scope.
10223
+ # Corresponds to the JSON property `resources`
10224
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10225
+ attr_accessor :resources
9632
10226
 
9633
- # Informational warning which replaces the list of forwarding rules when the
10227
+ # Informational warning which replaces the list of future reservations when the
9634
10228
  # list is empty.
9635
10229
  # Corresponds to the JSON property `warning`
9636
- # @return [Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning]
10230
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning]
9637
10231
  attr_accessor :warning
9638
10232
 
9639
10233
  def initialize(**args)
@@ -9642,11 +10236,11 @@ module Google
9642
10236
 
9643
10237
  # Update properties of this object
9644
10238
  def update!(**args)
9645
- @forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
10239
+ @resources = args[:resources] if args.key?(:resources)
9646
10240
  @warning = args[:warning] if args.key?(:warning)
9647
10241
  end
9648
10242
 
9649
- # Informational warning which replaces the list of forwarding rules when the
10243
+ # Informational warning which replaces the list of future reservations when the
9650
10244
  # list is empty.
9651
10245
  class Warning
9652
10246
  include Google::Apis::Core::Hashable
@@ -9660,7 +10254,7 @@ module Google
9660
10254
  # [Output Only] Metadata about this warning in key: value format. For example:
9661
10255
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
9662
10256
  # Corresponds to the JSON property `data`
9663
- # @return [Array<Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning::Datum>]
10257
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning::Datum>]
9664
10258
  attr_accessor :data
9665
10259
 
9666
10260
  # [Output Only] A human-readable description of the warning code.
@@ -10195,6 +10789,11 @@ module Google
10195
10789
  # @return [String]
10196
10790
  attr_accessor :response
10197
10791
 
10792
+ # Weight report mode. used for weighted Load Balancing.
10793
+ # Corresponds to the JSON property `weightReportMode`
10794
+ # @return [String]
10795
+ attr_accessor :weight_report_mode
10796
+
10198
10797
  def initialize(**args)
10199
10798
  update!(**args)
10200
10799
  end
@@ -10208,6 +10807,7 @@ module Google
10208
10807
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10209
10808
  @request_path = args[:request_path] if args.key?(:request_path)
10210
10809
  @response = args[:response] if args.key?(:response)
10810
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10211
10811
  end
10212
10812
  end
10213
10813
 
@@ -10265,6 +10865,11 @@ module Google
10265
10865
  # @return [String]
10266
10866
  attr_accessor :response
10267
10867
 
10868
+ # Weight report mode. used for weighted Load Balancing.
10869
+ # Corresponds to the JSON property `weightReportMode`
10870
+ # @return [String]
10871
+ attr_accessor :weight_report_mode
10872
+
10268
10873
  def initialize(**args)
10269
10874
  update!(**args)
10270
10875
  end
@@ -10278,6 +10883,7 @@ module Google
10278
10883
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10279
10884
  @request_path = args[:request_path] if args.key?(:request_path)
10280
10885
  @response = args[:response] if args.key?(:response)
10886
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10281
10887
  end
10282
10888
  end
10283
10889
 
@@ -10335,6 +10941,11 @@ module Google
10335
10941
  # @return [String]
10336
10942
  attr_accessor :response
10337
10943
 
10944
+ # Weight report mode. used for weighted Load Balancing.
10945
+ # Corresponds to the JSON property `weightReportMode`
10946
+ # @return [String]
10947
+ attr_accessor :weight_report_mode
10948
+
10338
10949
  def initialize(**args)
10339
10950
  update!(**args)
10340
10951
  end
@@ -10348,6 +10959,7 @@ module Google
10348
10959
  @proxy_header = args[:proxy_header] if args.key?(:proxy_header)
10349
10960
  @request_path = args[:request_path] if args.key?(:request_path)
10350
10961
  @response = args[:response] if args.key?(:response)
10962
+ @weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
10351
10963
  end
10352
10964
  end
10353
10965
 
@@ -10711,11 +11323,12 @@ module Google
10711
11323
 
10712
11324
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
10713
11325
  # and not more than 10. HealthCheck resources must have portSpecification=
10714
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
10715
- # regional and in the same region. For global HealthCheckService, HealthCheck
10716
- # must be global. Mix of regional and global HealthChecks is not supported.
10717
- # Multiple regional HealthChecks must belong to the same region. Regional
10718
- # HealthChecks</code? must belong to the same region as zones of NEGs.
11326
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
11327
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
11328
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
11329
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
11330
+ # belong to the same region. Regional HealthChecks must belong to the same
11331
+ # region as zones of NEGs.
10719
11332
  # Corresponds to the JSON property `healthChecks`
10720
11333
  # @return [Array<String>]
10721
11334
  attr_accessor :health_checks
@@ -11402,6 +12015,16 @@ module Google
11402
12015
  # @return [Hash<String,String>]
11403
12016
  attr_accessor :annotations
11404
12017
 
12018
+ # URL of the forwarding rule associated with the health status of the instance.
12019
+ # Corresponds to the JSON property `forwardingRule`
12020
+ # @return [String]
12021
+ attr_accessor :forwarding_rule
12022
+
12023
+ # A forwarding rule IP address assigned to this instance.
12024
+ # Corresponds to the JSON property `forwardingRuleIp`
12025
+ # @return [String]
12026
+ attr_accessor :forwarding_rule_ip
12027
+
11405
12028
  # Health state of the instance.
11406
12029
  # Corresponds to the JSON property `healthState`
11407
12030
  # @return [String]
@@ -11442,6 +12065,8 @@ module Google
11442
12065
  # Update properties of this object
11443
12066
  def update!(**args)
11444
12067
  @annotations = args[:annotations] if args.key?(:annotations)
12068
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
12069
+ @forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
11445
12070
  @health_state = args[:health_state] if args.key?(:health_state)
11446
12071
  @instance = args[:instance] if args.key?(:instance)
11447
12072
  @ip_address = args[:ip_address] if args.key?(:ip_address)
@@ -11553,6 +12178,9 @@ module Google
11553
12178
 
11554
12179
  # The HTTP status code used to abort the request.
11555
12180
  # The value must be between 200 and 599 inclusive.
12181
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
12182
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
12183
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
11556
12184
  # Corresponds to the JSON property `httpStatus`
11557
12185
  # @return [Fixnum]
11558
12186
  attr_accessor :http_status
@@ -12222,8 +12850,8 @@ module Google
12222
12850
  # @return [Google::Apis::ComputeAlpha::Duration]
12223
12851
  attr_accessor :per_try_timeout
12224
12852
 
12225
- # Specfies one or more conditions when this retry rule applies. Valid values are:
12226
- #
12853
+ # Specifies one or more conditions when this retry rule applies. Valid values
12854
+ # are:
12227
12855
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
12228
12856
  # any 5xx response code, or if the backend service does not respond at all,
12229
12857
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -12919,13 +13547,17 @@ module Google
12919
13547
  # @return [Google::Apis::ComputeAlpha::InitialStateConfig]
12920
13548
  attr_accessor :shielded_instance_initial_state
12921
13549
 
12922
- # URL of the source disk used to create this image. This can be a full or valid
12923
- # partial URL. You must provide either this property or the rawDisk.source
12924
- # property but not both to create an image. For example, the following are valid
12925
- # values:
13550
+ # URL of the source disk used to create this image. For example, the following
13551
+ # are valid values:
12926
13552
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
12927
13553
  # - projects/project/zones/zone/disks/disk
12928
13554
  # - zones/zone/disks/disk
13555
+ # In order to create an image, you must provide the full or partial URL of one
13556
+ # of the following:
13557
+ # - The rawDisk.source URL
13558
+ # - The sourceDisk URL
13559
+ # - The sourceImage URL
13560
+ # - The sourceSnapshot URL
12929
13561
  # Corresponds to the JSON property `sourceDisk`
12930
13562
  # @return [String]
12931
13563
  attr_accessor :source_disk
@@ -12946,10 +13578,10 @@ module Google
12946
13578
  # URL of the source image used to create this image.
12947
13579
  # In order to create an image, you must provide the full or partial URL of one
12948
13580
  # of the following:
12949
- # - The selfLink URL
12950
- # - This property
12951
13581
  # - The rawDisk.source URL
12952
13582
  # - The sourceDisk URL
13583
+ # - The sourceImage URL
13584
+ # - The sourceSnapshot URL
12953
13585
  # Corresponds to the JSON property `sourceImage`
12954
13586
  # @return [String]
12955
13587
  attr_accessor :source_image
@@ -12970,11 +13602,10 @@ module Google
12970
13602
  # URL of the source snapshot used to create this image.
12971
13603
  # In order to create an image, you must provide the full or partial URL of one
12972
13604
  # of the following:
12973
- # - The selfLink URL
12974
- # - This property
12975
- # - The sourceImage URL
12976
13605
  # - The rawDisk.source URL
12977
13606
  # - The sourceDisk URL
13607
+ # - The sourceImage URL
13608
+ # - The sourceSnapshot URL
12978
13609
  # Corresponds to the JSON property `sourceSnapshot`
12979
13610
  # @return [String]
12980
13611
  attr_accessor :source_snapshot
@@ -13070,8 +13701,13 @@ module Google
13070
13701
  # @return [String]
13071
13702
  attr_accessor :sha1_checksum
13072
13703
 
13073
- # The full Google Cloud Storage URL where the disk image is stored. You must
13074
- # provide either this property or the sourceDisk property but not both.
13704
+ # The full Google Cloud Storage URL where the disk image is stored.
13705
+ # In order to create an image, you must provide the full or partial URL of one
13706
+ # of the following:
13707
+ # - The rawDisk.source URL
13708
+ # - The sourceDisk URL
13709
+ # - The sourceImage URL
13710
+ # - The sourceSnapshot URL
13075
13711
  # Corresponds to the JSON property `source`
13076
13712
  # @return [String]
13077
13713
  attr_accessor :source
@@ -13770,19 +14406,13 @@ module Google
13770
14406
  attr_accessor :satisfies_pzs
13771
14407
  alias_method :satisfies_pzs?, :satisfies_pzs
13772
14408
 
13773
- # Sets the scheduling options for an Instance. NextID: 17
14409
+ # Sets the scheduling options for an Instance. NextID: 21
13774
14410
  # Corresponds to the JSON property `scheduling`
13775
14411
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13776
14412
  attr_accessor :scheduling
13777
14413
 
13778
- # Secure labels to apply to this instance. These can be later modified by the
13779
- # update method. Maximum number of secure labels allowed is 300.
13780
- # Corresponds to the JSON property `secureLabels`
13781
- # @return [Array<String>]
13782
- attr_accessor :secure_labels
13783
-
13784
- # Secure tags to apply to this instance. These can be later modified by the
13785
- # update method. Maximum number of secure tags allowed is 300.
14414
+ # [Input Only] Secure tags to apply to this instance. These can be later
14415
+ # modified by the update method. Maximum number of secure tags allowed is 50.
13786
14416
  # Corresponds to the JSON property `secureTags`
13787
14417
  # @return [Array<String>]
13788
14418
  attr_accessor :secure_tags
@@ -13917,7 +14547,6 @@ module Google
13917
14547
  @resource_status = args[:resource_status] if args.key?(:resource_status)
13918
14548
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
13919
14549
  @scheduling = args[:scheduling] if args.key?(:scheduling)
13920
- @secure_labels = args[:secure_labels] if args.key?(:secure_labels)
13921
14550
  @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
13922
14551
  @self_link = args[:self_link] if args.key?(:self_link)
13923
14552
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -14430,6 +15059,13 @@ module Google
14430
15059
  end
14431
15060
  end
14432
15061
 
15062
+ # Whether the instance is a standby. Properties of a standby instance comparing
15063
+ # to the regular instance: ======================================================
15064
+ # =================== | regular | standby =======================================
15065
+ # ================================== managed by IGM? | yes | yes added to the IG?
15066
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
15067
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
15068
+ # =========================================================
14433
15069
  # Represents a Managed Instance Group resource.
14434
15070
  # An instance group is a collection of VM instances that you can manage as a
14435
15071
  # single entity. For more information, read Instance groups.
@@ -14506,6 +15142,11 @@ module Google
14506
15142
  # @return [String]
14507
15143
  attr_accessor :instance_group
14508
15144
 
15145
+ # Instance lifecycle policy for this Instance Group Manager.
15146
+ # Corresponds to the JSON property `instanceLifecyclePolicy`
15147
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicy]
15148
+ attr_accessor :instance_lifecycle_policy
15149
+
14509
15150
  # The URL of the instance template that is specified for this managed instance
14510
15151
  # group. The group uses this template to create all new instances in the managed
14511
15152
  # instance group. The templates for existing instances in the group do not
@@ -14582,6 +15223,24 @@ module Google
14582
15223
  # @return [Fixnum]
14583
15224
  attr_accessor :target_size
14584
15225
 
15226
+ # The target number of stopped instances for this managed instance group. This
15227
+ # number changes when you:
15228
+ # - Stop instance using the stopInstances method or start instances using the
15229
+ # startInstances method.
15230
+ # - Manually change the targetStoppedSize using the update method.
15231
+ # Corresponds to the JSON property `targetStoppedSize`
15232
+ # @return [Fixnum]
15233
+ attr_accessor :target_stopped_size
15234
+
15235
+ # The target number of suspended instances for this managed instance group. This
15236
+ # number changes when you:
15237
+ # - Suspend instance using the suspendInstances method or resume instances using
15238
+ # the resumeInstances method.
15239
+ # - Manually change the targetSuspendedSize using the update method.
15240
+ # Corresponds to the JSON property `targetSuspendedSize`
15241
+ # @return [Fixnum]
15242
+ attr_accessor :target_suspended_size
15243
+
14585
15244
  # The update policy for this managed instance group.
14586
15245
  # Corresponds to the JSON property `updatePolicy`
14587
15246
  # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy]
@@ -14621,6 +15280,7 @@ module Google
14621
15280
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
14622
15281
  @id = args[:id] if args.key?(:id)
14623
15282
  @instance_group = args[:instance_group] if args.key?(:instance_group)
15283
+ @instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy)
14624
15284
  @instance_template = args[:instance_template] if args.key?(:instance_template)
14625
15285
  @kind = args[:kind] if args.key?(:kind)
14626
15286
  @name = args[:name] if args.key?(:name)
@@ -14633,6 +15293,8 @@ module Google
14633
15293
  @status = args[:status] if args.key?(:status)
14634
15294
  @target_pools = args[:target_pools] if args.key?(:target_pools)
14635
15295
  @target_size = args[:target_size] if args.key?(:target_size)
15296
+ @target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size)
15297
+ @target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size)
14636
15298
  @update_policy = args[:update_policy] if args.key?(:update_policy)
14637
15299
  @versions = args[:versions] if args.key?(:versions)
14638
15300
  @zone = args[:zone] if args.key?(:zone)
@@ -14701,6 +15363,30 @@ module Google
14701
15363
  # @return [Fixnum]
14702
15364
  attr_accessor :restarting
14703
15365
 
15366
+ # [Output Only] The number of instances in the managed instance group that are
15367
+ # scheduled to be resumed or are currently being resumed.
15368
+ # Corresponds to the JSON property `resuming`
15369
+ # @return [Fixnum]
15370
+ attr_accessor :resuming
15371
+
15372
+ # [Output Only] The number of instances in the managed instance group that are
15373
+ # scheduled to be started or are currently being started.
15374
+ # Corresponds to the JSON property `starting`
15375
+ # @return [Fixnum]
15376
+ attr_accessor :starting
15377
+
15378
+ # [Output Only] The number of instances in the managed instance group that are
15379
+ # scheduled to be stopped or are currently being stopped.
15380
+ # Corresponds to the JSON property `stopping`
15381
+ # @return [Fixnum]
15382
+ attr_accessor :stopping
15383
+
15384
+ # [Output Only] The number of instances in the managed instance group that are
15385
+ # scheduled to be suspended or are currently being suspended.
15386
+ # Corresponds to the JSON property `suspending`
15387
+ # @return [Fixnum]
15388
+ attr_accessor :suspending
15389
+
14704
15390
  # [Output Only] The number of instances in the managed instance group that are
14705
15391
  # being verified. See the managedInstances[].currentAction property in the
14706
15392
  # listManagedInstances method documentation.
@@ -14722,6 +15408,10 @@ module Google
14722
15408
  @recreating = args[:recreating] if args.key?(:recreating)
14723
15409
  @refreshing = args[:refreshing] if args.key?(:refreshing)
14724
15410
  @restarting = args[:restarting] if args.key?(:restarting)
15411
+ @resuming = args[:resuming] if args.key?(:resuming)
15412
+ @starting = args[:starting] if args.key?(:starting)
15413
+ @stopping = args[:stopping] if args.key?(:stopping)
15414
+ @suspending = args[:suspending] if args.key?(:suspending)
14725
15415
  @verifying = args[:verifying] if args.key?(:verifying)
14726
15416
  end
14727
15417
  end
@@ -14887,6 +15577,55 @@ module Google
14887
15577
  end
14888
15578
  end
14889
15579
 
15580
+ #
15581
+ class InstanceGroupManagerInstanceLifecyclePolicy
15582
+ include Google::Apis::Core::Hashable
15583
+
15584
+ # The configuration for metadata based readiness signal sent by the instance
15585
+ # during initialization when stopping / suspending an instance. The Instance
15586
+ # Group Manager will wait for a signal that indicates successful initialization
15587
+ # before stopping / suspending an instance.
15588
+ # If a successful readiness signal is not sent before timeout, the corresponding
15589
+ # instance will not be stopped / suspended. Instead, an error will be visible in
15590
+ # the lastAttempt.errors field of the managed instance in the
15591
+ # listmanagedinstances method.
15592
+ # If metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group
15593
+ # Manager will directly proceed to suspend / stop instances, skipping
15594
+ # initialization on them.
15595
+ # Corresponds to the JSON property `metadataBasedReadinessSignal`
15596
+ # @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal]
15597
+ attr_accessor :metadata_based_readiness_signal
15598
+
15599
+ def initialize(**args)
15600
+ update!(**args)
15601
+ end
15602
+
15603
+ # Update properties of this object
15604
+ def update!(**args)
15605
+ @metadata_based_readiness_signal = args[:metadata_based_readiness_signal] if args.key?(:metadata_based_readiness_signal)
15606
+ end
15607
+ end
15608
+
15609
+ #
15610
+ class InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal
15611
+ include Google::Apis::Core::Hashable
15612
+
15613
+ # The number of seconds to wait for a readiness signal during initialization
15614
+ # before timing out.
15615
+ # Corresponds to the JSON property `timeoutSec`
15616
+ # @return [Fixnum]
15617
+ attr_accessor :timeout_sec
15618
+
15619
+ def initialize(**args)
15620
+ update!(**args)
15621
+ end
15622
+
15623
+ # Update properties of this object
15624
+ def update!(**args)
15625
+ @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
15626
+ end
15627
+ end
15628
+
14890
15629
  # [Output Only] A list of managed instance groups.
14891
15630
  class InstanceGroupManagerList
14892
15631
  include Google::Apis::Core::Hashable
@@ -15374,6 +16113,18 @@ module Google
15374
16113
  # @return [Array<String>]
15375
16114
  attr_accessor :instances
15376
16115
 
16116
+ # Specifies whether the request should proceed despite the inclusion of
16117
+ # instances that are not members of the group or that are already in the process
16118
+ # of being deleted or abandoned. If this field is set to `false` and such an
16119
+ # instance is specified in the request, the operation fails. The operation
16120
+ # always fails if the request contains a malformed instance URL or a reference
16121
+ # to an instance that exists in a zone or region other than the group's zone or
16122
+ # region.
16123
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
16124
+ # @return [Boolean]
16125
+ attr_accessor :skip_instances_on_validation_error
16126
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
16127
+
15377
16128
  def initialize(**args)
15378
16129
  update!(**args)
15379
16130
  end
@@ -15381,6 +16132,7 @@ module Google
15381
16132
  # Update properties of this object
15382
16133
  def update!(**args)
15383
16134
  @instances = args[:instances] if args.key?(:instances)
16135
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
15384
16136
  end
15385
16137
  end
15386
16138
 
@@ -15644,6 +16396,26 @@ module Google
15644
16396
  end
15645
16397
  end
15646
16398
 
16399
+ #
16400
+ class InstanceGroupManagersResumeInstancesRequest
16401
+ include Google::Apis::Core::Hashable
16402
+
16403
+ # The URLs of one or more instances to resume. This can be a full URL or a
16404
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16405
+ # Corresponds to the JSON property `instances`
16406
+ # @return [Array<String>]
16407
+ attr_accessor :instances
16408
+
16409
+ def initialize(**args)
16410
+ update!(**args)
16411
+ end
16412
+
16413
+ # Update properties of this object
16414
+ def update!(**args)
16415
+ @instances = args[:instances] if args.key?(:instances)
16416
+ end
16417
+ end
16418
+
15647
16419
  #
15648
16420
  class InstanceGroupManagersScopedList
15649
16421
  include Google::Apis::Core::Hashable
@@ -15811,6 +16583,82 @@ module Google
15811
16583
  end
15812
16584
  end
15813
16585
 
16586
+ #
16587
+ class InstanceGroupManagersStartInstancesRequest
16588
+ include Google::Apis::Core::Hashable
16589
+
16590
+ # The URLs of one or more instances to start. This can be a full URL or a
16591
+ # partial 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
+ @instances = args[:instances] if args.key?(:instances)
16603
+ end
16604
+ end
16605
+
16606
+ #
16607
+ class InstanceGroupManagersStopInstancesRequest
16608
+ include Google::Apis::Core::Hashable
16609
+
16610
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
16611
+ # the instances, skipping initialization on them.
16612
+ # Corresponds to the JSON property `forceStop`
16613
+ # @return [Boolean]
16614
+ attr_accessor :force_stop
16615
+ alias_method :force_stop?, :force_stop
16616
+
16617
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
16618
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16619
+ # Corresponds to the JSON property `instances`
16620
+ # @return [Array<String>]
16621
+ attr_accessor :instances
16622
+
16623
+ def initialize(**args)
16624
+ update!(**args)
16625
+ end
16626
+
16627
+ # Update properties of this object
16628
+ def update!(**args)
16629
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
16630
+ @instances = args[:instances] if args.key?(:instances)
16631
+ end
16632
+ end
16633
+
16634
+ #
16635
+ class InstanceGroupManagersSuspendInstancesRequest
16636
+ include Google::Apis::Core::Hashable
16637
+
16638
+ # If this flag is set to true, the Instance Group Manager will proceed to
16639
+ # suspend the instances, skipping initialization on them.
16640
+ # Corresponds to the JSON property `forceSuspend`
16641
+ # @return [Boolean]
16642
+ attr_accessor :force_suspend
16643
+ alias_method :force_suspend?, :force_suspend
16644
+
16645
+ # The URLs of one or more instances to suspend. This can be a full URL or a
16646
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
16647
+ # Corresponds to the JSON property `instances`
16648
+ # @return [Array<String>]
16649
+ attr_accessor :instances
16650
+
16651
+ def initialize(**args)
16652
+ update!(**args)
16653
+ end
16654
+
16655
+ # Update properties of this object
16656
+ def update!(**args)
16657
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
16658
+ @instances = args[:instances] if args.key?(:instances)
16659
+ end
16660
+ end
16661
+
15814
16662
  # InstanceGroupManagers.updatePerInstanceConfigs
15815
16663
  class InstanceGroupManagersUpdatePerInstanceConfigsReq
15816
16664
  include Google::Apis::Core::Hashable
@@ -16605,11 +17453,17 @@ module Google
16605
17453
  # @return [Array<String>]
16606
17454
  attr_accessor :resource_policies
16607
17455
 
16608
- # Sets the scheduling options for an Instance. NextID: 17
17456
+ # Sets the scheduling options for an Instance. NextID: 21
16609
17457
  # Corresponds to the JSON property `scheduling`
16610
17458
  # @return [Google::Apis::ComputeAlpha::Scheduling]
16611
17459
  attr_accessor :scheduling
16612
17460
 
17461
+ # [Input Only] Secure tags to apply to this instance. Maximum number of secure
17462
+ # tags allowed is 50.
17463
+ # Corresponds to the JSON property `secureTags`
17464
+ # @return [Array<String>]
17465
+ attr_accessor :secure_tags
17466
+
16613
17467
  # A list of service accounts with specified scopes. Access tokens for these
16614
17468
  # service accounts are available to the instances that are created from these
16615
17469
  # properties. Use metadata queries to obtain the access tokens for these
@@ -16657,6 +17511,7 @@ module Google
16657
17511
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
16658
17512
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
16659
17513
  @scheduling = args[:scheduling] if args.key?(:scheduling)
17514
+ @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
16660
17515
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
16661
17516
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
16662
17517
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
@@ -16977,7 +17832,8 @@ module Google
16977
17832
  class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
16978
17833
  include Google::Apis::Core::Hashable
16979
17834
 
16980
- # [Output Only] The display name of the firewall policy.
17835
+ # [Output Only] Deprecated, please use short name instead. The display name of
17836
+ # the firewall policy.
16981
17837
  # Corresponds to the JSON property `displayName`
16982
17838
  # @return [String]
16983
17839
  attr_accessor :display_name
@@ -16992,6 +17848,11 @@ module Google
16992
17848
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
16993
17849
  attr_accessor :rules
16994
17850
 
17851
+ # [Output Only] The short name of the firewall policy.
17852
+ # Corresponds to the JSON property `shortName`
17853
+ # @return [String]
17854
+ attr_accessor :short_name
17855
+
16995
17856
  # [Output Only] The type of the firewall policy.
16996
17857
  # Corresponds to the JSON property `type`
16997
17858
  # @return [String]
@@ -17006,6 +17867,7 @@ module Google
17006
17867
  @display_name = args[:display_name] if args.key?(:display_name)
17007
17868
  @name = args[:name] if args.key?(:name)
17008
17869
  @rules = args[:rules] if args.key?(:rules)
17870
+ @short_name = args[:short_name] if args.key?(:short_name)
17009
17871
  @type = args[:type] if args.key?(:type)
17010
17872
  end
17011
17873
  end
@@ -17866,6 +18728,14 @@ module Google
17866
18728
  # @return [Fixnum]
17867
18729
  attr_accessor :requested_link_count
17868
18730
 
18731
+ # [Output Only] Set to true if the resource satisfies the zone separation
18732
+ # organization policy constraints and false otherwise. Defaults to false if the
18733
+ # field is not present.
18734
+ # Corresponds to the JSON property `satisfiesPzs`
18735
+ # @return [Boolean]
18736
+ attr_accessor :satisfies_pzs
18737
+ alias_method :satisfies_pzs?, :satisfies_pzs
18738
+
17869
18739
  # [Output Only] Server-defined URL for the resource.
17870
18740
  # Corresponds to the JSON property `selfLink`
17871
18741
  # @return [String]
@@ -17916,6 +18786,7 @@ module Google
17916
18786
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
17917
18787
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
17918
18788
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
18789
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
17919
18790
  @self_link = args[:self_link] if args.key?(:self_link)
17920
18791
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
17921
18792
  @state = args[:state] if args.key?(:state)
@@ -17958,6 +18829,17 @@ module Google
17958
18829
  # @return [String]
17959
18830
  attr_accessor :bandwidth
17960
18831
 
18832
+ # Up to 16 candidate prefixes that control the allocation of
18833
+ # cloudRouterIpv6Address and customerRouterIpv6Address for this attachment. Each
18834
+ # prefix must be in the Global Unique Address (GUA) space. It is highly
18835
+ # recommended that it be in a range owned by the requestor. A GUA in a range
18836
+ # owned by Google will cause the request to fail. Google will select an
18837
+ # available prefix from the supplied candidates or fail the request. If not
18838
+ # supplied, a /125 from a Google-owned GUA block will be selected.
18839
+ # Corresponds to the JSON property `candidateIpv6Subnets`
18840
+ # @return [Array<String>]
18841
+ attr_accessor :candidate_ipv6_subnets
18842
+
17961
18843
  # Up to 16 candidate prefixes that can be used to restrict the allocation of
17962
18844
  # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
17963
18845
  # prefixes must be within link-local address space (169.254.0.0/16) and must be /
@@ -17975,6 +18857,20 @@ module Google
17975
18857
  # @return [String]
17976
18858
  attr_accessor :cloud_router_ip_address
17977
18859
 
18860
+ # [Output Only] IPv6 address + prefix length to be configured on Cloud Router
18861
+ # Interface for this interconnect attachment.
18862
+ # Corresponds to the JSON property `cloudRouterIpv6Address`
18863
+ # @return [String]
18864
+ attr_accessor :cloud_router_ipv6_address
18865
+
18866
+ # If supplied, the interface id (index within the subnet) to be used for the
18867
+ # cloud router address. The id must be in the range of 1 to 6. If a subnet mask
18868
+ # is supplied, it must be /125, and the subnet should either be 0 or match the
18869
+ # selected subnet.
18870
+ # Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
18871
+ # @return [String]
18872
+ attr_accessor :cloud_router_ipv6_interface_id
18873
+
17978
18874
  # [Output Only] Creation timestamp in RFC3339 text format.
17979
18875
  # Corresponds to the JSON property `creationTimestamp`
17980
18876
  # @return [String]
@@ -17986,6 +18882,20 @@ module Google
17986
18882
  # @return [String]
17987
18883
  attr_accessor :customer_router_ip_address
17988
18884
 
18885
+ # [Output Only] IPv6 address + prefix length to be configured on the customer
18886
+ # router subinterface for this interconnect attachment.
18887
+ # Corresponds to the JSON property `customerRouterIpv6Address`
18888
+ # @return [String]
18889
+ attr_accessor :customer_router_ipv6_address
18890
+
18891
+ # If supplied, the interface id (index within the subnet) to be used for the
18892
+ # customer router address. The id must be in the range of 1 to 6. If a subnet
18893
+ # mask is supplied, it must be /125, and the subnet should either be 0 or match
18894
+ # the selected subnet.
18895
+ # Corresponds to the JSON property `customerRouterIpv6InterfaceId`
18896
+ # @return [String]
18897
+ attr_accessor :customer_router_ipv6_interface_id
18898
+
17989
18899
  # [Output Only] Dataplane version for this InterconnectAttachment.
17990
18900
  # Corresponds to the JSON property `dataplaneVersion`
17991
18901
  # @return [Fixnum]
@@ -18009,14 +18919,18 @@ module Google
18009
18919
  # @return [String]
18010
18920
  attr_accessor :edge_availability_domain
18011
18921
 
18012
- # Indicates the user-supplied encryption option of this interconnect attachment:
18013
- # - NONE is the default value, which means that the attachment carries
18014
- # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
18015
- # type of attachment.
18016
- # - IPSEC indicates that the attachment carries only traffic encrypted by an
18017
- # 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-encrypted Cloud
18019
- # Interconnect, create the attachment using this option.
18922
+ # Indicates the user-supplied encryption option of this VLAN attachment (
18923
+ # interconnectAttachment). Can only be specified at attachment creation for
18924
+ # PARTNER or DEDICATED attachments. Possible values are:
18925
+ # - NONE - This is the default value, which means that the VLAN attachment
18926
+ # carries unencrypted traffic. VMs are able to send traffic to, or receive
18927
+ # traffic from, such a VLAN attachment.
18928
+ # - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted
18929
+ # by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs
18930
+ # cannot directly send traffic to, or receive traffic from, such a VLAN
18931
+ # attachment. To use IPsec-encrypted Cloud Interconnect, the VLAN attachment
18932
+ # must be created with this option.
18933
+ # Not currently available publicly.
18020
18934
  # Corresponds to the JSON property `encryption`
18021
18935
  # @return [String]
18022
18936
  attr_accessor :encryption
@@ -18040,18 +18954,19 @@ module Google
18040
18954
  # @return [String]
18041
18955
  attr_accessor :interconnect
18042
18956
 
18043
- # URL of addresses that have been reserved for the interconnect attachment, Used
18044
- # only for interconnect attachment that has the encryption option as IPSEC. The
18045
- # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
18046
- # 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
18049
- # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
18957
+ # List of URL of addresses that have been reserved for the VLAN attachment. Used
18958
+ # only for the VLAN attachment that has the encryption option as IPSEC. The
18959
+ # addresses must be regional internal IP address ranges. When creating an HA VPN
18960
+ # gateway over the VLAN attachment, if the attachment is configured to use a
18961
+ # regional internal IP address, then the VPN gateway's IP address is allocated
18962
+ # from the IP address range specified here. For example, if the HA VPN gateway's
18963
+ # interface 0 is paired to this VLAN attachment, then a regional internal IP
18050
18964
  # address for the VPN gateway interface 0 will be allocated from the IP address
18051
- # specified for this interconnect attachment. If this field is not specified for
18052
- # interconnect attachment that has encryption option as IPSEC, later on when
18053
- # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
18054
- # IP address will be allocated from regional external IP address pool.
18965
+ # specified for this VLAN attachment. If this field is not specified when
18966
+ # creating the VLAN attachment, then later on when creating an HA VPN gateway on
18967
+ # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
18968
+ # regional external IP address pool.
18969
+ # Not currently available publicly.
18055
18970
  # Corresponds to the JSON property `ipsecInternalAddresses`
18056
18971
  # @return [Array<String>]
18057
18972
  attr_accessor :ipsec_internal_addresses
@@ -18151,6 +19066,14 @@ module Google
18151
19066
  # @return [String]
18152
19067
  attr_accessor :router
18153
19068
 
19069
+ # [Output Only] Set to true if the resource satisfies the zone separation
19070
+ # organization policy constraints and false otherwise. Defaults to false if the
19071
+ # field is not present.
19072
+ # Corresponds to the JSON property `satisfiesPzs`
19073
+ # @return [Boolean]
19074
+ attr_accessor :satisfies_pzs
19075
+ alias_method :satisfies_pzs?, :satisfies_pzs
19076
+
18154
19077
  # [Output Only] Server-defined URL for the resource.
18155
19078
  # Corresponds to the JSON property `selfLink`
18156
19079
  # @return [String]
@@ -18161,6 +19084,14 @@ module Google
18161
19084
  # @return [String]
18162
19085
  attr_accessor :self_link_with_id
18163
19086
 
19087
+ # The stack type for this interconnect attachment to identify whether the IPv6
19088
+ # feature is enabled or not. If not specified, IPV4_ONLY will be used.
19089
+ # This field can be both set at interconnect attachments creation and update
19090
+ # interconnect attachment operations.
19091
+ # Corresponds to the JSON property `stackType`
19092
+ # @return [String]
19093
+ attr_accessor :stack_type
19094
+
18164
19095
  # [Output Only] The current state of this attachment's functionality. Enum
18165
19096
  # values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
18166
19097
  # PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
@@ -18208,10 +19139,15 @@ module Google
18208
19139
  def update!(**args)
18209
19140
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
18210
19141
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
19142
+ @candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
18211
19143
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
18212
19144
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
19145
+ @cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
19146
+ @cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
18213
19147
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
18214
19148
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
19149
+ @customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
19150
+ @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
18215
19151
  @dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
18216
19152
  @description = args[:description] if args.key?(:description)
18217
19153
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
@@ -18232,8 +19168,10 @@ module Google
18232
19168
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
18233
19169
  @region = args[:region] if args.key?(:region)
18234
19170
  @router = args[:router] if args.key?(:router)
19171
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18235
19172
  @self_link = args[:self_link] if args.key?(:self_link)
18236
19173
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19174
+ @stack_type = args[:stack_type] if args.key?(:stack_type)
18237
19175
  @state = args[:state] if args.key?(:state)
18238
19176
  @type = args[:type] if args.key?(:type)
18239
19177
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
@@ -19072,6 +20010,13 @@ module Google
19072
20010
  # @return [String]
19073
20011
  attr_accessor :status
19074
20012
 
20013
+ # [Output Only] Set to true for locations that support physical zone separation.
20014
+ # Defaults to false if the field is not present.
20015
+ # Corresponds to the JSON property `supportsPzs`
20016
+ # @return [Boolean]
20017
+ attr_accessor :supports_pzs
20018
+ alias_method :supports_pzs?, :supports_pzs
20019
+
19075
20020
  def initialize(**args)
19076
20021
  update!(**args)
19077
20022
  end
@@ -19094,6 +20039,7 @@ module Google
19094
20039
  @self_link = args[:self_link] if args.key?(:self_link)
19095
20040
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19096
20041
  @status = args[:status] if args.key?(:status)
20042
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
19097
20043
  end
19098
20044
  end
19099
20045
 
@@ -20142,7 +21088,7 @@ module Google
20142
21088
  include Google::Apis::Core::Hashable
20143
21089
 
20144
21090
  # Location configurations mapped by location name. Currently only zone names are
20145
- # supported and must be represented as valid internal URLs, like: zones/us-
21091
+ # supported and must be represented as valid internal URLs, such as zones/us-
20146
21092
  # central1-a.
20147
21093
  # Corresponds to the JSON property `locations`
20148
21094
  # @return [Hash<String,Google::Apis::ComputeAlpha::LocationPolicyLocation>]
@@ -20162,7 +21108,7 @@ module Google
20162
21108
  class LocationPolicyLocation
20163
21109
  include Google::Apis::Core::Hashable
20164
21110
 
20165
- #
21111
+ # Preference for a given location: ALLOW or DENY.
20166
21112
  # Corresponds to the JSON property `preference`
20167
21113
  # @return [String]
20168
21114
  attr_accessor :preference
@@ -21148,6 +22094,13 @@ module Google
21148
22094
  # @return [String]
21149
22095
  attr_accessor :tag
21150
22096
 
22097
+ # [Output Only] The eventual status of the instance. The instance group manager
22098
+ # will not be identified as stable till each managed instance reaches its
22099
+ # targetStatus.
22100
+ # Corresponds to the JSON property `targetStatus`
22101
+ # @return [String]
22102
+ attr_accessor :target_status
22103
+
21151
22104
  # [Output Only] Intended version of this instance.
21152
22105
  # Corresponds to the JSON property `version`
21153
22106
  # @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
@@ -21169,6 +22122,7 @@ module Google
21169
22122
  @preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
21170
22123
  @preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
21171
22124
  @tag = args[:tag] if args.key?(:tag)
22125
+ @target_status = args[:target_status] if args.key?(:target_status)
21172
22126
  @version = args[:version] if args.key?(:version)
21173
22127
  end
21174
22128
  end
@@ -21654,6 +22608,320 @@ module Google
21654
22608
  end
21655
22609
  end
21656
22610
 
22611
+ # Represents a Google Cloud Armor network edge security service resource. (==
22612
+ # resource_for `$api_version`.networkEdgeSecurityServices ==)
22613
+ class NetworkEdgeSecurityService
22614
+ include Google::Apis::Core::Hashable
22615
+
22616
+ # [Output Only] Creation timestamp in RFC3339 text format.
22617
+ # Corresponds to the JSON property `creationTimestamp`
22618
+ # @return [String]
22619
+ attr_accessor :creation_timestamp
22620
+
22621
+ # An optional description of this resource. Provide this property when you
22622
+ # create the resource.
22623
+ # Corresponds to the JSON property `description`
22624
+ # @return [String]
22625
+ attr_accessor :description
22626
+
22627
+ # Fingerprint of this resource. A hash of the contents stored in this object.
22628
+ # This field is used in optimistic locking. This field will be ignored when
22629
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
22630
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
22631
+ # request will fail with error 412 conditionNotMet.
22632
+ # To see the latest fingerprint, make a get() request to retrieve a
22633
+ # NetworkEdgeSecurityService.
22634
+ # Corresponds to the JSON property `fingerprint`
22635
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
22636
+ # @return [String]
22637
+ attr_accessor :fingerprint
22638
+
22639
+ # [Output Only] The unique identifier for the resource. This identifier is
22640
+ # defined by the server.
22641
+ # Corresponds to the JSON property `id`
22642
+ # @return [Fixnum]
22643
+ attr_accessor :id
22644
+
22645
+ # [Output only] Type of the resource. Always compute#
22646
+ # networkEdgeSecurityServicefor NetworkEdgeSecurityServices
22647
+ # Corresponds to the JSON property `kind`
22648
+ # @return [String]
22649
+ attr_accessor :kind
22650
+
22651
+ # Name of the resource. Provided by the client when the resource is created. The
22652
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
22653
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
22654
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
22655
+ # and all following characters must be a dash, lowercase letter, or digit,
22656
+ # except the last character, which cannot be a dash.
22657
+ # Corresponds to the JSON property `name`
22658
+ # @return [String]
22659
+ attr_accessor :name
22660
+
22661
+ # [Output Only] URL of the region where the resource resides. You must specify
22662
+ # this field as part of the HTTP request URL. It is not settable as a field in
22663
+ # the request body.
22664
+ # Corresponds to the JSON property `region`
22665
+ # @return [String]
22666
+ attr_accessor :region
22667
+
22668
+ # The resource URL for the network edge security service associated with this
22669
+ # network edge security service.
22670
+ # Corresponds to the JSON property `securityPolicy`
22671
+ # @return [String]
22672
+ attr_accessor :security_policy
22673
+
22674
+ # [Output Only] Server-defined URL for the resource.
22675
+ # Corresponds to the JSON property `selfLink`
22676
+ # @return [String]
22677
+ attr_accessor :self_link
22678
+
22679
+ # [Output Only] Server-defined URL for this resource with the resource id.
22680
+ # Corresponds to the JSON property `selfLinkWithId`
22681
+ # @return [String]
22682
+ attr_accessor :self_link_with_id
22683
+
22684
+ def initialize(**args)
22685
+ update!(**args)
22686
+ end
22687
+
22688
+ # Update properties of this object
22689
+ def update!(**args)
22690
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22691
+ @description = args[:description] if args.key?(:description)
22692
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
22693
+ @id = args[:id] if args.key?(:id)
22694
+ @kind = args[:kind] if args.key?(:kind)
22695
+ @name = args[:name] if args.key?(:name)
22696
+ @region = args[:region] if args.key?(:region)
22697
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
22698
+ @self_link = args[:self_link] if args.key?(:self_link)
22699
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
22700
+ end
22701
+ end
22702
+
22703
+ #
22704
+ class NetworkEdgeSecurityServiceAggregatedList
22705
+ include Google::Apis::Core::Hashable
22706
+
22707
+ #
22708
+ # Corresponds to the JSON property `etag`
22709
+ # @return [String]
22710
+ attr_accessor :etag
22711
+
22712
+ # [Output Only] Unique identifier for the resource; defined by the server.
22713
+ # Corresponds to the JSON property `id`
22714
+ # @return [String]
22715
+ attr_accessor :id
22716
+
22717
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
22718
+ # Corresponds to the JSON property `items`
22719
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList>]
22720
+ attr_accessor :items
22721
+
22722
+ # [Output Only] Type of resource. Always compute#
22723
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
22724
+ # Services.
22725
+ # Corresponds to the JSON property `kind`
22726
+ # @return [String]
22727
+ attr_accessor :kind
22728
+
22729
+ # [Output Only] This token allows you to get the next page of results for list
22730
+ # requests. If the number of results is larger than maxResults, use the
22731
+ # nextPageToken as a value for the query parameter pageToken in the next list
22732
+ # request. Subsequent list requests will have their own nextPageToken to
22733
+ # continue paging through the results.
22734
+ # Corresponds to the JSON property `nextPageToken`
22735
+ # @return [String]
22736
+ attr_accessor :next_page_token
22737
+
22738
+ # [Output Only] Server-defined URL for this resource.
22739
+ # Corresponds to the JSON property `selfLink`
22740
+ # @return [String]
22741
+ attr_accessor :self_link
22742
+
22743
+ # [Output Only] Unreachable resources.
22744
+ # Corresponds to the JSON property `unreachables`
22745
+ # @return [Array<String>]
22746
+ attr_accessor :unreachables
22747
+
22748
+ # [Output Only] Informational warning message.
22749
+ # Corresponds to the JSON property `warning`
22750
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning]
22751
+ attr_accessor :warning
22752
+
22753
+ def initialize(**args)
22754
+ update!(**args)
22755
+ end
22756
+
22757
+ # Update properties of this object
22758
+ def update!(**args)
22759
+ @etag = args[:etag] if args.key?(:etag)
22760
+ @id = args[:id] if args.key?(:id)
22761
+ @items = args[:items] if args.key?(:items)
22762
+ @kind = args[:kind] if args.key?(:kind)
22763
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22764
+ @self_link = args[:self_link] if args.key?(:self_link)
22765
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
22766
+ @warning = args[:warning] if args.key?(:warning)
22767
+ end
22768
+
22769
+ # [Output Only] Informational warning message.
22770
+ class Warning
22771
+ include Google::Apis::Core::Hashable
22772
+
22773
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22774
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22775
+ # Corresponds to the JSON property `code`
22776
+ # @return [String]
22777
+ attr_accessor :code
22778
+
22779
+ # [Output Only] Metadata about this warning in key: value format. For example:
22780
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22781
+ # Corresponds to the JSON property `data`
22782
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
22783
+ attr_accessor :data
22784
+
22785
+ # [Output Only] A human-readable description of the warning code.
22786
+ # Corresponds to the JSON property `message`
22787
+ # @return [String]
22788
+ attr_accessor :message
22789
+
22790
+ def initialize(**args)
22791
+ update!(**args)
22792
+ end
22793
+
22794
+ # Update properties of this object
22795
+ def update!(**args)
22796
+ @code = args[:code] if args.key?(:code)
22797
+ @data = args[:data] if args.key?(:data)
22798
+ @message = args[:message] if args.key?(:message)
22799
+ end
22800
+
22801
+ #
22802
+ class Datum
22803
+ include Google::Apis::Core::Hashable
22804
+
22805
+ # [Output Only] A key that provides more detail on the warning being returned.
22806
+ # For example, for warnings where there are no results in a list request for a
22807
+ # particular zone, this key might be scope and the key value might be the zone
22808
+ # name. Other examples might be a key indicating a deprecated resource and a
22809
+ # suggested replacement, or a warning about invalid network settings (for
22810
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22811
+ # for IP forwarding).
22812
+ # Corresponds to the JSON property `key`
22813
+ # @return [String]
22814
+ attr_accessor :key
22815
+
22816
+ # [Output Only] A warning data value corresponding to the key.
22817
+ # Corresponds to the JSON property `value`
22818
+ # @return [String]
22819
+ attr_accessor :value
22820
+
22821
+ def initialize(**args)
22822
+ update!(**args)
22823
+ end
22824
+
22825
+ # Update properties of this object
22826
+ def update!(**args)
22827
+ @key = args[:key] if args.key?(:key)
22828
+ @value = args[:value] if args.key?(:value)
22829
+ end
22830
+ end
22831
+ end
22832
+ end
22833
+
22834
+ #
22835
+ class NetworkEdgeSecurityServicesScopedList
22836
+ include Google::Apis::Core::Hashable
22837
+
22838
+ # A list of NetworkEdgeSecurityServices contained in this scope.
22839
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
22840
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityService>]
22841
+ attr_accessor :network_edge_security_services
22842
+
22843
+ # Informational warning which replaces the list of security policies when the
22844
+ # list is empty.
22845
+ # Corresponds to the JSON property `warning`
22846
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning]
22847
+ attr_accessor :warning
22848
+
22849
+ def initialize(**args)
22850
+ update!(**args)
22851
+ end
22852
+
22853
+ # Update properties of this object
22854
+ def update!(**args)
22855
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
22856
+ @warning = args[:warning] if args.key?(:warning)
22857
+ end
22858
+
22859
+ # Informational warning which replaces the list of security policies when the
22860
+ # list is empty.
22861
+ class Warning
22862
+ include Google::Apis::Core::Hashable
22863
+
22864
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22865
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22866
+ # Corresponds to the JSON property `code`
22867
+ # @return [String]
22868
+ attr_accessor :code
22869
+
22870
+ # [Output Only] Metadata about this warning in key: value format. For example:
22871
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22872
+ # Corresponds to the JSON property `data`
22873
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
22874
+ attr_accessor :data
22875
+
22876
+ # [Output Only] A human-readable description of the warning code.
22877
+ # Corresponds to the JSON property `message`
22878
+ # @return [String]
22879
+ attr_accessor :message
22880
+
22881
+ def initialize(**args)
22882
+ update!(**args)
22883
+ end
22884
+
22885
+ # Update properties of this object
22886
+ def update!(**args)
22887
+ @code = args[:code] if args.key?(:code)
22888
+ @data = args[:data] if args.key?(:data)
22889
+ @message = args[:message] if args.key?(:message)
22890
+ end
22891
+
22892
+ #
22893
+ class Datum
22894
+ include Google::Apis::Core::Hashable
22895
+
22896
+ # [Output Only] A key that provides more detail on the warning being returned.
22897
+ # For example, for warnings where there are no results in a list request for a
22898
+ # particular zone, this key might be scope and the key value might be the zone
22899
+ # name. Other examples might be a key indicating a deprecated resource and a
22900
+ # suggested replacement, or a warning about invalid network settings (for
22901
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22902
+ # for IP forwarding).
22903
+ # Corresponds to the JSON property `key`
22904
+ # @return [String]
22905
+ attr_accessor :key
22906
+
22907
+ # [Output Only] A warning data value corresponding to the key.
22908
+ # Corresponds to the JSON property `value`
22909
+ # @return [String]
22910
+ attr_accessor :value
22911
+
22912
+ def initialize(**args)
22913
+ update!(**args)
22914
+ end
22915
+
22916
+ # Update properties of this object
22917
+ def update!(**args)
22918
+ @key = args[:key] if args.key?(:key)
22919
+ @value = args[:value] if args.key?(:value)
22920
+ end
22921
+ end
22922
+ end
22923
+ end
22924
+
21657
22925
  # The network endpoint.
21658
22926
  class NetworkEndpoint
21659
22927
  include Google::Apis::Core::Hashable
@@ -21807,6 +23075,12 @@ module Google
21807
23075
  # @return [String]
21808
23076
  attr_accessor :network_endpoint_type
21809
23077
 
23078
+ # The target service url used to set up private service connection to a Google
23079
+ # API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
23080
+ # Corresponds to the JSON property `pscTargetService`
23081
+ # @return [String]
23082
+ attr_accessor :psc_target_service
23083
+
21810
23084
  # [Output Only] The URL of the region where the network endpoint group is
21811
23085
  # located.
21812
23086
  # Corresponds to the JSON property `region`
@@ -21823,8 +23097,8 @@ module Google
21823
23097
  # @return [String]
21824
23098
  attr_accessor :self_link_with_id
21825
23099
 
21826
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
21827
- # platform must be provided.
23100
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23101
+ # be provided.
21828
23102
  # Note: The target backend service must be in the same project and located in
21829
23103
  # the same region as the Serverless NEG.
21830
23104
  # Corresponds to the JSON property `serverlessDeployment`
@@ -21872,6 +23146,7 @@ module Google
21872
23146
  @name = args[:name] if args.key?(:name)
21873
23147
  @network = args[:network] if args.key?(:network)
21874
23148
  @network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
23149
+ @psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
21875
23150
  @region = args[:region] if args.key?(:region)
21876
23151
  @self_link = args[:self_link] if args.key?(:self_link)
21877
23152
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -22295,8 +23570,8 @@ module Google
22295
23570
  end
22296
23571
  end
22297
23572
 
22298
- # Configuration for a Serverless Deployment network endpoint group (NEG). The
22299
- # platform must be provided.
23573
+ # Configuration for a serverless network endpoint group (NEG). The platform must
23574
+ # be provided.
22300
23575
  # Note: The target backend service must be in the same project and located in
22301
23576
  # the same region as the Serverless NEG.
22302
23577
  class NetworkEndpointGroupServerlessDeployment
@@ -22304,10 +23579,10 @@ module Google
22304
23579
 
22305
23580
  # The platform of the backend target(s) of this NEG. Possible values include:
22306
23581
  #
22307
- # - apigateway.googleapis.com
22308
- # - appengine.googleapies.com
22309
- # - cloudfunctions.googleapis.com
22310
- # - run.googleapis.com
23582
+ # - API Gateway: apigateway.googleapis.com
23583
+ # - App Engine: appengine.googleapis.com
23584
+ # - Cloud Functions: cloudfunctions.googleapis.com
23585
+ # - Cloud Run: run.googleapis.com
22311
23586
  # Corresponds to the JSON property `platform`
22312
23587
  # @return [String]
22313
23588
  attr_accessor :platform
@@ -22316,8 +23591,8 @@ module Google
22316
23591
  # explicitly or in the urlMask. The resource identified by this value is
22317
23592
  # platform-specific and is as follows:
22318
23593
  #
22319
- # - API Gateway: The gateway id
22320
- # - AppEngine: The service name
23594
+ # - API Gateway: The gateway ID
23595
+ # - App Engine: The service name
22321
23596
  # - Cloud Functions: The function name
22322
23597
  # - Cloud Run: The service name
22323
23598
  # Corresponds to the JSON property `resource`
@@ -22325,23 +23600,24 @@ module Google
22325
23600
  attr_accessor :resource
22326
23601
 
22327
23602
  # 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:
23603
+ # allows for routing to multiple resources on the same serverless platform
23604
+ # without having to create multiple Network Endpoint Groups and backend
23605
+ # resources. The fields parsed by this template are platform-specific and are as
23606
+ # follows:
22331
23607
  #
22332
- # - API Gateway: The gateway id
22333
- # - AppEngine: The service and version
22334
- # - Cloud Functions: The function
23608
+ # - API Gateway: The gateway ID
23609
+ # - App Engine: The service and version
23610
+ # - Cloud Functions: The function name
22335
23611
  # - Cloud Run: The service and tag
22336
23612
  # Corresponds to the JSON property `urlMask`
22337
23613
  # @return [String]
22338
23614
  attr_accessor :url_mask
22339
23615
 
22340
- # The optional resource version. The version identified by this value is as
23616
+ # The optional resource version. The version identified by this value is
22341
23617
  # platform-specific and is follows:
22342
23618
  #
22343
23619
  # - API Gateway: Unused
22344
- # - AppEngine: The service version
23620
+ # - App Engine: The service version
22345
23621
  # - Cloud Functions: Unused
22346
23622
  # - Cloud Run: The service tag
22347
23623
  # Corresponds to the JSON property `version`
@@ -22832,10 +24108,16 @@ module Google
22832
24108
  include Google::Apis::Core::Hashable
22833
24109
 
22834
24110
  # An IPv4 internal IP address to assign to the instance for this subinterface.
24111
+ # If specified, ip_allocation_mode should be set to ALLOCATE_IP.
22835
24112
  # Corresponds to the JSON property `ipAddress`
22836
24113
  # @return [String]
22837
24114
  attr_accessor :ip_address
22838
24115
 
24116
+ #
24117
+ # Corresponds to the JSON property `ipAllocationMode`
24118
+ # @return [String]
24119
+ attr_accessor :ip_allocation_mode
24120
+
22839
24121
  # If specified, this subnetwork must belong to the same network as that of the
22840
24122
  # network interface. If not specified the subnet of network interface will be
22841
24123
  # used. If you specify this property, you can specify the subnetwork as a full
@@ -22860,6 +24142,7 @@ module Google
22860
24142
  # Update properties of this object
22861
24143
  def update!(**args)
22862
24144
  @ip_address = args[:ip_address] if args.key?(:ip_address)
24145
+ @ip_allocation_mode = args[:ip_allocation_mode] if args.key?(:ip_allocation_mode)
22863
24146
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
22864
24147
  @vlan = args[:vlan] if args.key?(:vlan)
22865
24148
  end
@@ -23247,7 +24530,8 @@ module Google
23247
24530
  class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
23248
24531
  include Google::Apis::Core::Hashable
23249
24532
 
23250
- # [Output Only] The display name of the firewall policy.
24533
+ # [Output Only] Deprecated, please use short name instead. The display name of
24534
+ # the firewall policy.
23251
24535
  # Corresponds to the JSON property `displayName`
23252
24536
  # @return [String]
23253
24537
  attr_accessor :display_name
@@ -23262,6 +24546,11 @@ module Google
23262
24546
  # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
23263
24547
  attr_accessor :rules
23264
24548
 
24549
+ # [Output Only] The short name of the firewall policy.
24550
+ # Corresponds to the JSON property `shortName`
24551
+ # @return [String]
24552
+ attr_accessor :short_name
24553
+
23265
24554
  # [Output Only] The type of the firewall policy.
23266
24555
  # Corresponds to the JSON property `type`
23267
24556
  # @return [String]
@@ -23276,6 +24565,7 @@ module Google
23276
24565
  @display_name = args[:display_name] if args.key?(:display_name)
23277
24566
  @name = args[:name] if args.key?(:name)
23278
24567
  @rules = args[:rules] if args.key?(:rules)
24568
+ @short_name = args[:short_name] if args.key?(:short_name)
23279
24569
  @type = args[:type] if args.key?(:type)
23280
24570
  end
23281
24571
  end
@@ -23436,6 +24726,11 @@ module Google
23436
24726
  # @return [String]
23437
24727
  attr_accessor :self_link_with_id
23438
24728
 
24729
+ # The share setting for reservations and sole tenancy node groups.
24730
+ # Corresponds to the JSON property `shareSettings`
24731
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
24732
+ attr_accessor :share_settings
24733
+
23439
24734
  # [Output Only] The total number of nodes in the node group.
23440
24735
  # Corresponds to the JSON property `size`
23441
24736
  # @return [Fixnum]
@@ -23471,6 +24766,7 @@ module Google
23471
24766
  @node_template = args[:node_template] if args.key?(:node_template)
23472
24767
  @self_link = args[:self_link] if args.key?(:self_link)
23473
24768
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
24769
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
23474
24770
  @size = args[:size] if args.key?(:size)
23475
24771
  @status = args[:status] if args.key?(:status)
23476
24772
  @zone = args[:zone] if args.key?(:zone)
@@ -25605,41 +26901,6 @@ module Google
25605
26901
  # @return [String]
25606
26902
  attr_accessor :kind
25607
26903
 
25608
- # `Any` contains an arbitrary serialized protocol buffer message along with a
25609
- # URL that describes the type of the serialized message.
25610
- # Protobuf library provides support to pack/unpack Any values in the form of
25611
- # utility functions or additional generated methods of the Any type.
25612
- # Example 1: Pack and unpack a message in C++.
25613
- # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
25614
- # Example 2: Pack and unpack a message in Java.
25615
- # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
25616
- # unpack(Foo.class); `
25617
- # Example 3: Pack and unpack a message in Python.
25618
- # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
25619
- # Unpack(foo) ...
25620
- # Example 4: Pack and unpack a message in Go
25621
- # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
25622
- # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
25623
- # The pack methods provided by protobuf library will by default use 'type.
25624
- # googleapis.com/full.type.name' as the type URL and the unpack methods only use
25625
- # the fully qualified type name after the last '/' in the type URL, for example "
25626
- # foo.bar.com/x/y.z" will yield type name "y.z".
25627
- # JSON ==== The JSON representation of an `Any` value uses the regular
25628
- # representation of the deserialized, embedded message, with an additional field
25629
- # `@type` which contains the type URL. Example:
25630
- # package google.profile; message Person ` string first_name = 1; string
25631
- # last_name = 2; `
25632
- # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
25633
- # lastName": `
25634
- # If the embedded message type is well-known and has a custom JSON
25635
- # representation, that representation will be embedded adding a field `value`
25636
- # which holds the custom JSON in addition to the `@type` field. Example (for
25637
- # message [google.protobuf.Duration][]):
25638
- # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
25639
- # Corresponds to the JSON property `metadata`
25640
- # @return [Google::Apis::ComputeAlpha::Any]
25641
- attr_accessor :metadata
25642
-
25643
26904
  # [Output Only] Name of the operation.
25644
26905
  # Corresponds to the JSON property `name`
25645
26906
  # @return [String]
@@ -25746,7 +27007,6 @@ module Google
25746
27007
  @id = args[:id] if args.key?(:id)
25747
27008
  @insert_time = args[:insert_time] if args.key?(:insert_time)
25748
27009
  @kind = args[:kind] if args.key?(:kind)
25749
- @metadata = args[:metadata] if args.key?(:metadata)
25750
27010
  @name = args[:name] if args.key?(:name)
25751
27011
  @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
25752
27012
  @operation_type = args[:operation_type] if args.key?(:operation_type)
@@ -29658,12 +30918,25 @@ module Google
29658
30918
 
29659
30919
  # Skip instances which cannot be deleted (instances not belonging to this
29660
30920
  # managed group, already being deleted or being abandoned). If `false`, fail
29661
- # whole flow, if such instance is passed.
30921
+ # whole flow, if such instance is passed. DEPRECATED: Use
30922
+ # skip_instances_on_validation_error instead.
29662
30923
  # Corresponds to the JSON property `skipInapplicableInstances`
29663
30924
  # @return [Boolean]
29664
30925
  attr_accessor :skip_inapplicable_instances
29665
30926
  alias_method :skip_inapplicable_instances?, :skip_inapplicable_instances
29666
30927
 
30928
+ # Specifies whether the request should proceed despite the inclusion of
30929
+ # instances that are not members of the group or that are already in the process
30930
+ # of being deleted or abandoned. If this field is set to `false` and such an
30931
+ # instance is specified in the request, the operation fails. The operation
30932
+ # always fails if the request contains a malformed instance URL or a reference
30933
+ # to an instance that exists in a zone or region other than the group's zone or
30934
+ # region.
30935
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
30936
+ # @return [Boolean]
30937
+ attr_accessor :skip_instances_on_validation_error
30938
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
30939
+
29667
30940
  def initialize(**args)
29668
30941
  update!(**args)
29669
30942
  end
@@ -29672,6 +30945,7 @@ module Google
29672
30945
  def update!(**args)
29673
30946
  @instances = args[:instances] if args.key?(:instances)
29674
30947
  @skip_inapplicable_instances = args[:skip_inapplicable_instances] if args.key?(:skip_inapplicable_instances)
30948
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
29675
30949
  end
29676
30950
  end
29677
30951
 
@@ -29895,6 +31169,26 @@ module Google
29895
31169
  end
29896
31170
  end
29897
31171
 
31172
+ #
31173
+ class RegionInstanceGroupManagersResumeInstancesRequest
31174
+ include Google::Apis::Core::Hashable
31175
+
31176
+ # The URLs of one or more instances to resume. This can be a full URL or a
31177
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31178
+ # Corresponds to the JSON property `instances`
31179
+ # @return [Array<String>]
31180
+ attr_accessor :instances
31181
+
31182
+ def initialize(**args)
31183
+ update!(**args)
31184
+ end
31185
+
31186
+ # Update properties of this object
31187
+ def update!(**args)
31188
+ @instances = args[:instances] if args.key?(:instances)
31189
+ end
31190
+ end
31191
+
29898
31192
  #
29899
31193
  class RegionInstanceGroupManagersSetAutoHealingRequest
29900
31194
  include Google::Apis::Core::Hashable
@@ -29964,6 +31258,82 @@ module Google
29964
31258
  end
29965
31259
  end
29966
31260
 
31261
+ #
31262
+ class RegionInstanceGroupManagersStartInstancesRequest
31263
+ include Google::Apis::Core::Hashable
31264
+
31265
+ # The URLs of one or more instances to start. This can be a full URL or a
31266
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31267
+ # Corresponds to the JSON property `instances`
31268
+ # @return [Array<String>]
31269
+ attr_accessor :instances
31270
+
31271
+ def initialize(**args)
31272
+ update!(**args)
31273
+ end
31274
+
31275
+ # Update properties of this object
31276
+ def update!(**args)
31277
+ @instances = args[:instances] if args.key?(:instances)
31278
+ end
31279
+ end
31280
+
31281
+ #
31282
+ class RegionInstanceGroupManagersStopInstancesRequest
31283
+ include Google::Apis::Core::Hashable
31284
+
31285
+ # If this flag is set to true, the Instance Group Manager will proceed to stop
31286
+ # the instances, skipping initialization on them.
31287
+ # Corresponds to the JSON property `forceStop`
31288
+ # @return [Boolean]
31289
+ attr_accessor :force_stop
31290
+ alias_method :force_stop?, :force_stop
31291
+
31292
+ # The URLs of one or more instances to stop. This can be a full URL or a partial
31293
+ # URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31294
+ # Corresponds to the JSON property `instances`
31295
+ # @return [Array<String>]
31296
+ attr_accessor :instances
31297
+
31298
+ def initialize(**args)
31299
+ update!(**args)
31300
+ end
31301
+
31302
+ # Update properties of this object
31303
+ def update!(**args)
31304
+ @force_stop = args[:force_stop] if args.key?(:force_stop)
31305
+ @instances = args[:instances] if args.key?(:instances)
31306
+ end
31307
+ end
31308
+
31309
+ #
31310
+ class RegionInstanceGroupManagersSuspendInstancesRequest
31311
+ include Google::Apis::Core::Hashable
31312
+
31313
+ # If this flag is set to true, the Instance Group Manager will proceed to
31314
+ # suspend the instances, skipping initialization on them.
31315
+ # Corresponds to the JSON property `forceSuspend`
31316
+ # @return [Boolean]
31317
+ attr_accessor :force_suspend
31318
+ alias_method :force_suspend?, :force_suspend
31319
+
31320
+ # The URLs of one or more instances to suspend. This can be a full URL or a
31321
+ # partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
31322
+ # Corresponds to the JSON property `instances`
31323
+ # @return [Array<String>]
31324
+ attr_accessor :instances
31325
+
31326
+ def initialize(**args)
31327
+ update!(**args)
31328
+ end
31329
+
31330
+ # Update properties of this object
31331
+ def update!(**args)
31332
+ @force_suspend = args[:force_suspend] if args.key?(:force_suspend)
31333
+ @instances = args[:instances] if args.key?(:instances)
31334
+ end
31335
+ end
31336
+
29967
31337
  #
29968
31338
  class RegionInstanceGroupsListInstances
29969
31339
  include Google::Apis::Core::Hashable
@@ -30510,9 +31880,9 @@ module Google
30510
31880
  # @return [String]
30511
31881
  attr_accessor :self_link_with_id
30512
31882
 
30513
- # Share-settings for shared-reservation
31883
+ # The share setting for reservations and sole tenancy node groups.
30514
31884
  # Corresponds to the JSON property `shareSettings`
30515
- # @return [Google::Apis::ComputeAlpha::AllocationShareSettings]
31885
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
30516
31886
  attr_accessor :share_settings
30517
31887
 
30518
31888
  # This reservation type allows to pre allocate specific instance configuration.
@@ -30580,7 +31950,10 @@ module Google
30580
31950
  # @return [String]
30581
31951
  attr_accessor :key
30582
31952
 
30583
- # Corresponds to the label values of a reservation resource.
31953
+ # Corresponds to the label values of a reservation resource. This can be either
31954
+ # a name to a reservation in the same project or "projects/different-project/
31955
+ # reservations/some-reservation-name" to target a shared reservation in the same
31956
+ # zone but in a different project.
30584
31957
  # Corresponds to the JSON property `values`
30585
31958
  # @return [Array<String>]
30586
31959
  attr_accessor :values
@@ -32048,6 +33421,14 @@ module Google
32048
33421
  class Route
32049
33422
  include Google::Apis::Core::Hashable
32050
33423
 
33424
+ # Whether this route can conflict with existing subnetworks. Setting this to
33425
+ # true allows this route to conflict with subnetworks that have already been
33426
+ # configured on the corresponding network.
33427
+ # Corresponds to the JSON property `allowConflictingSubnetworks`
33428
+ # @return [Boolean]
33429
+ attr_accessor :allow_conflicting_subnetworks
33430
+ alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
33431
+
32051
33432
  # [Output Only] Creation timestamp in RFC3339 text format.
32052
33433
  # Corresponds to the JSON property `creationTimestamp`
32053
33434
  # @return [String]
@@ -32071,6 +33452,12 @@ module Google
32071
33452
  # @return [Fixnum]
32072
33453
  attr_accessor :id
32073
33454
 
33455
+ # ILB route behavior when ILB is deemed unhealthy based on user specified
33456
+ # threshold on the Backend Service of the internal load balancing.
33457
+ # Corresponds to the JSON property `ilbRouteBehaviorOnUnhealthy`
33458
+ # @return [String]
33459
+ attr_accessor :ilb_route_behavior_on_unhealthy
33460
+
32074
33461
  # [Output Only] Type of this resource. Always compute#routes for Route resources.
32075
33462
  # Corresponds to the JSON property `kind`
32076
33463
  # @return [String]
@@ -32181,10 +33568,12 @@ module Google
32181
33568
 
32182
33569
  # Update properties of this object
32183
33570
  def update!(**args)
33571
+ @allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
32184
33572
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
32185
33573
  @description = args[:description] if args.key?(:description)
32186
33574
  @dest_range = args[:dest_range] if args.key?(:dest_range)
32187
33575
  @id = args[:id] if args.key?(:id)
33576
+ @ilb_route_behavior_on_unhealthy = args[:ilb_route_behavior_on_unhealthy] if args.key?(:ilb_route_behavior_on_unhealthy)
32188
33577
  @kind = args[:kind] if args.key?(:kind)
32189
33578
  @name = args[:name] if args.key?(:name)
32190
33579
  @network = args[:network] if args.key?(:network)
@@ -32413,8 +33802,9 @@ module Google
32413
33802
  # @return [String]
32414
33803
  attr_accessor :description
32415
33804
 
32416
- # Field to indicate if a router is dedicated to use with encrypted Interconnect
32417
- # Attachment (IPsec-encrypted Cloud Interconnect feature).
33805
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
33806
+ # interconnectAttachments).
33807
+ # Not currently available publicly.
32418
33808
  # Corresponds to the JSON property `encryptedInterconnectRouter`
32419
33809
  # @return [Boolean]
32420
33810
  attr_accessor :encrypted_interconnect_router
@@ -32681,13 +34071,12 @@ module Google
32681
34071
 
32682
34072
  # The interval in seconds between BGP keepalive messages that are sent to the
32683
34073
  # peer.
32684
- # Not currently available publicly.
32685
34074
  # Hold time is three times the interval at which keepalive messages are sent,
32686
34075
  # and the hold time is the maximum number of seconds allowed to elapse between
32687
34076
  # successive keepalive messages that BGP receives from a peer.
32688
34077
  # BGP will use the smaller of either the local hold time value or the peer's
32689
34078
  # hold time value as the hold time for the BGP connection between the two peers.
32690
- # If set, this value must be between 1 and 120. The default is 20.
34079
+ # If set, this value must be between 20 and 60. The default is 20.
32691
34080
  # Corresponds to the JSON property `keepaliveInterval`
32692
34081
  # @return [Fixnum]
32693
34082
  attr_accessor :keepalive_interval
@@ -32718,12 +34107,11 @@ module Google
32718
34107
  # User-specified list of prefix groups to advertise in custom mode, which can
32719
34108
  # take one of the following options:
32720
34109
  # - ALL_SUBNETS: Advertises all available subnets, including peer VPC subnets.
32721
- # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets.
32722
- # - ALL_PEER_VPC_SUBNETS: Advertises peer subnets of the router's VPC network.
32723
- # Note that this field can only be populated if advertise_mode is CUSTOM and
32724
- # overrides the list defined for the router (in the "bgp" message). These groups
32725
- # are advertised in addition to any specified prefixes. Leave this field blank
32726
- # to advertise no custom groups.
34110
+ # - ALL_VPC_SUBNETS: Advertises the router's own VPC subnets. Note that this
34111
+ # field can only be populated if advertise_mode is CUSTOM and overrides the list
34112
+ # defined for the router (in the "bgp" message). These groups are advertised in
34113
+ # addition to any specified prefixes. Leave this field blank to advertise no
34114
+ # custom groups.
32727
34115
  # Corresponds to the JSON property `advertisedGroups`
32728
34116
  # @return [Array<String>]
32729
34117
  attr_accessor :advertised_groups
@@ -32751,7 +34139,6 @@ module Google
32751
34139
  attr_accessor :bfd
32752
34140
 
32753
34141
  # The status of the BGP peer connection.
32754
- # Not currently available publicly.
32755
34142
  # If set to FALSE, any active session with the peer is terminated and all
32756
34143
  # associated routing information is removed. If set to TRUE, the peer connection
32757
34144
  # can be established with routing information. The default is TRUE.
@@ -32759,6 +34146,12 @@ module Google
32759
34146
  # @return [String]
32760
34147
  attr_accessor :enable
32761
34148
 
34149
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
34150
+ # Corresponds to the JSON property `enableIpv6`
34151
+ # @return [Boolean]
34152
+ attr_accessor :enable_ipv6
34153
+ alias_method :enable_ipv6?, :enable_ipv6
34154
+
32762
34155
  # Name of the interface the BGP peer is associated with.
32763
34156
  # Corresponds to the JSON property `interfaceName`
32764
34157
  # @return [String]
@@ -32770,6 +34163,11 @@ module Google
32770
34163
  # @return [String]
32771
34164
  attr_accessor :ip_address
32772
34165
 
34166
+ # IPv6 address of the interface inside Google Cloud Platform.
34167
+ # Corresponds to the JSON property `ipv6NexthopAddress`
34168
+ # @return [String]
34169
+ attr_accessor :ipv6_nexthop_address
34170
+
32773
34171
  # [Output Only] The resource that configures and manages this BGP peer.
32774
34172
  # - MANAGED_BY_USER is the default value and can be managed by you or other
32775
34173
  # users
@@ -32803,6 +34201,11 @@ module Google
32803
34201
  # @return [String]
32804
34202
  attr_accessor :peer_ip_address
32805
34203
 
34204
+ # IPv6 address of the BGP interface outside Google Cloud Platform.
34205
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
34206
+ # @return [String]
34207
+ attr_accessor :peer_ipv6_nexthop_address
34208
+
32806
34209
  # URI of the VM instance that is used as third-party router appliances such as
32807
34210
  # Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
32808
34211
  # must be located in zones contained in the same region as this Cloud Router.
@@ -32823,12 +34226,15 @@ module Google
32823
34226
  @advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
32824
34227
  @bfd = args[:bfd] if args.key?(:bfd)
32825
34228
  @enable = args[:enable] if args.key?(:enable)
34229
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
32826
34230
  @interface_name = args[:interface_name] if args.key?(:interface_name)
32827
34231
  @ip_address = args[:ip_address] if args.key?(:ip_address)
34232
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
32828
34233
  @management_type = args[:management_type] if args.key?(:management_type)
32829
34234
  @name = args[:name] if args.key?(:name)
32830
34235
  @peer_asn = args[:peer_asn] if args.key?(:peer_asn)
32831
34236
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
34237
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
32832
34238
  @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
32833
34239
  end
32834
34240
  end
@@ -33149,6 +34555,19 @@ module Google
33149
34555
  # @return [Array<String>]
33150
34556
  attr_accessor :drain_nat_ips
33151
34557
 
34558
+ # Enable Dynamic Port Allocation.
34559
+ # If not specified, it is disabled by default.
34560
+ # If set to true,
34561
+ # - Dynamic Port Allocation will be enabled on this NAT config.
34562
+ # - enableEndpointIndependentMapping cannot be set to true.
34563
+ # - If minPorts is set, minPortsPerVm must be set to a power of two greater than
34564
+ # or equal to 32. If minPortsPerVm is not set, a minimum of 32 ports will be
34565
+ # allocated to a VM from this NAT config.
34566
+ # Corresponds to the JSON property `enableDynamicPortAllocation`
34567
+ # @return [Boolean]
34568
+ attr_accessor :enable_dynamic_port_allocation
34569
+ alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
34570
+
33152
34571
  #
33153
34572
  # Corresponds to the JSON property `enableEndpointIndependentMapping`
33154
34573
  # @return [Boolean]
@@ -33165,6 +34584,18 @@ module Google
33165
34584
  # @return [Google::Apis::ComputeAlpha::RouterNatLogConfig]
33166
34585
  attr_accessor :log_config
33167
34586
 
34587
+ # Maximum number of ports allocated to a VM from this NAT config when Dynamic
34588
+ # Port Allocation is enabled.
34589
+ # If Dynamic Port Allocation is not enabled, this field has no effect.
34590
+ # If Dynamic Port Allocation is enabled, and this field is set, it must be set
34591
+ # to a power of two greater than minPortsPerVm, or 64 if minPortsPerVm is not
34592
+ # set.
34593
+ # If Dynamic Port Allocation is enabled and this field is not set, a maximum of
34594
+ # 65536 ports will be allocated to a VM from this NAT config.
34595
+ # Corresponds to the JSON property `maxPortsPerVm`
34596
+ # @return [Fixnum]
34597
+ attr_accessor :max_ports_per_vm
34598
+
33168
34599
  # Minimum number of ports allocated to a VM from this NAT config. If not set, a
33169
34600
  # default number of ports is allocated to a VM. This is rounded up to the
33170
34601
  # nearest power of 2. For example, if the value of this field is 50, at least 64
@@ -33251,9 +34682,11 @@ module Google
33251
34682
  # Update properties of this object
33252
34683
  def update!(**args)
33253
34684
  @drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
34685
+ @enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
33254
34686
  @enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
33255
34687
  @icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
33256
34688
  @log_config = args[:log_config] if args.key?(:log_config)
34689
+ @max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
33257
34690
  @min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
33258
34691
  @name = args[:name] if args.key?(:name)
33259
34692
  @nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
@@ -33314,7 +34747,7 @@ module Google
33314
34747
  attr_accessor :description
33315
34748
 
33316
34749
  # CEL expression that specifies the match condition that egress traffic from a
33317
- # VM is evaluated against. If it evaluates to true, the corresponding ?action?
34750
+ # VM is evaluated against. If it evaluates to true, the corresponding `action`
33318
34751
  # is enforced.
33319
34752
  # The following examples are valid match expressions:
33320
34753
  # "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/
@@ -33465,11 +34898,22 @@ module Google
33465
34898
  # @return [Google::Apis::ComputeAlpha::BfdStatus]
33466
34899
  attr_accessor :bfd_status
33467
34900
 
34901
+ # Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
34902
+ # Corresponds to the JSON property `enableIpv6`
34903
+ # @return [Boolean]
34904
+ attr_accessor :enable_ipv6
34905
+ alias_method :enable_ipv6?, :enable_ipv6
34906
+
33468
34907
  # IP address of the local BGP interface.
33469
34908
  # Corresponds to the JSON property `ipAddress`
33470
34909
  # @return [String]
33471
34910
  attr_accessor :ip_address
33472
34911
 
34912
+ # IPv6 address of the local BGP interface.
34913
+ # Corresponds to the JSON property `ipv6NexthopAddress`
34914
+ # @return [String]
34915
+ attr_accessor :ipv6_nexthop_address
34916
+
33473
34917
  # URL of the VPN tunnel that this BGP peer controls.
33474
34918
  # Corresponds to the JSON property `linkedVpnTunnel`
33475
34919
  # @return [String]
@@ -33490,6 +34934,18 @@ module Google
33490
34934
  # @return [String]
33491
34935
  attr_accessor :peer_ip_address
33492
34936
 
34937
+ # IPv6 address of the remote BGP interface.
34938
+ # Corresponds to the JSON property `peerIpv6NexthopAddress`
34939
+ # @return [String]
34940
+ attr_accessor :peer_ipv6_nexthop_address
34941
+
34942
+ # [Output only] URI of the VM instance that is used as third-party router
34943
+ # appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
34944
+ # The VM instance is the peer side of the BGP session.
34945
+ # Corresponds to the JSON property `routerApplianceInstance`
34946
+ # @return [String]
34947
+ attr_accessor :router_appliance_instance
34948
+
33493
34949
  # BGP state as specified in RFC1771.
33494
34950
  # Corresponds to the JSON property `state`
33495
34951
  # @return [String]
@@ -33519,11 +34975,15 @@ module Google
33519
34975
  def update!(**args)
33520
34976
  @advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
33521
34977
  @bfd_status = args[:bfd_status] if args.key?(:bfd_status)
34978
+ @enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
33522
34979
  @ip_address = args[:ip_address] if args.key?(:ip_address)
34980
+ @ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
33523
34981
  @linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
33524
34982
  @name = args[:name] if args.key?(:name)
33525
34983
  @num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
33526
34984
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
34985
+ @peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
34986
+ @router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
33527
34987
  @state = args[:state] if args.key?(:state)
33528
34988
  @status = args[:status] if args.key?(:status)
33529
34989
  @uptime = args[:uptime] if args.key?(:uptime)
@@ -34069,7 +35529,7 @@ module Google
34069
35529
  end
34070
35530
  end
34071
35531
 
34072
- # Sets the scheduling options for an Instance. NextID: 17
35532
+ # Sets the scheduling options for an Instance. NextID: 21
34073
35533
  class Scheduling
34074
35534
  include Google::Apis::Core::Hashable
34075
35535
 
@@ -34093,6 +35553,13 @@ module Google
34093
35553
  # @return [Fixnum]
34094
35554
  attr_accessor :availability_domain
34095
35555
 
35556
+ # Specify the time in seconds for host error detection, the value must be within
35557
+ # the range of [90, 330] with the increment of 30, if unset, the default
35558
+ # behavior of host error recovery will be used.
35559
+ # Corresponds to the JSON property `hostErrorTimeoutSeconds`
35560
+ # @return [Fixnum]
35561
+ attr_accessor :host_error_timeout_seconds
35562
+
34096
35563
  # Defines whether the instance is tolerant of higher cpu latency. This can only
34097
35564
  # be set during instance creation, or when the instance is not currently running.
34098
35565
  # It must not be set if the preemptible option is also set.
@@ -34107,15 +35574,14 @@ module Google
34107
35574
  # @return [String]
34108
35575
  attr_accessor :location_hint
34109
35576
 
34110
- # Specifies the number of hours after instance creation where the instance won't
34111
- # be scheduled for maintenance.
35577
+ # Specifies the number of hours after VM instance creation where the VM won't be
35578
+ # scheduled for maintenance.
34112
35579
  # Corresponds to the JSON property `maintenanceFreezeDurationHours`
34113
35580
  # @return [Fixnum]
34114
35581
  attr_accessor :maintenance_freeze_duration_hours
34115
35582
 
34116
- # Specifies whether this VM may be a stable fleet VM. Setting this to "Periodic"
34117
- # designates this VM as a Stable Fleet VM.
34118
- # See go/stable-fleet-ug for more details.
35583
+ # For more information about maintenance intervals, see Setting maintenance
35584
+ # intervals.
34119
35585
  # Corresponds to the JSON property `maintenanceInterval`
34120
35586
  # @return [String]
34121
35587
  attr_accessor :maintenance_interval
@@ -34157,6 +35623,7 @@ module Google
34157
35623
  def update!(**args)
34158
35624
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
34159
35625
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
35626
+ @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
34160
35627
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
34161
35628
  @location_hint = args[:location_hint] if args.key?(:location_hint)
34162
35629
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
@@ -34248,6 +35715,136 @@ module Google
34248
35715
  end
34249
35716
  end
34250
35717
 
35718
+ #
35719
+ class SecurityPoliciesAggregatedList
35720
+ include Google::Apis::Core::Hashable
35721
+
35722
+ #
35723
+ # Corresponds to the JSON property `etag`
35724
+ # @return [String]
35725
+ attr_accessor :etag
35726
+
35727
+ # [Output Only] Unique identifier for the resource; defined by the server.
35728
+ # Corresponds to the JSON property `id`
35729
+ # @return [String]
35730
+ attr_accessor :id
35731
+
35732
+ # A list of SecurityPoliciesScopedList resources.
35733
+ # Corresponds to the JSON property `items`
35734
+ # @return [Hash<String,Google::Apis::ComputeAlpha::SecurityPoliciesScopedList>]
35735
+ attr_accessor :items
35736
+
35737
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
35738
+ # for lists of Security Policies.
35739
+ # Corresponds to the JSON property `kind`
35740
+ # @return [String]
35741
+ attr_accessor :kind
35742
+
35743
+ # [Output Only] This token allows you to get the next page of results for list
35744
+ # requests. If the number of results is larger than maxResults, use the
35745
+ # nextPageToken as a value for the query parameter pageToken in the next list
35746
+ # request. Subsequent list requests will have their own nextPageToken to
35747
+ # continue paging through the results.
35748
+ # Corresponds to the JSON property `nextPageToken`
35749
+ # @return [String]
35750
+ attr_accessor :next_page_token
35751
+
35752
+ # [Output Only] Server-defined URL for this resource.
35753
+ # Corresponds to the JSON property `selfLink`
35754
+ # @return [String]
35755
+ attr_accessor :self_link
35756
+
35757
+ # [Output Only] Unreachable resources.
35758
+ # Corresponds to the JSON property `unreachables`
35759
+ # @return [Array<String>]
35760
+ attr_accessor :unreachables
35761
+
35762
+ # [Output Only] Informational warning message.
35763
+ # Corresponds to the JSON property `warning`
35764
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning]
35765
+ attr_accessor :warning
35766
+
35767
+ def initialize(**args)
35768
+ update!(**args)
35769
+ end
35770
+
35771
+ # Update properties of this object
35772
+ def update!(**args)
35773
+ @etag = args[:etag] if args.key?(:etag)
35774
+ @id = args[:id] if args.key?(:id)
35775
+ @items = args[:items] if args.key?(:items)
35776
+ @kind = args[:kind] if args.key?(:kind)
35777
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35778
+ @self_link = args[:self_link] if args.key?(:self_link)
35779
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35780
+ @warning = args[:warning] if args.key?(:warning)
35781
+ end
35782
+
35783
+ # [Output Only] Informational warning message.
35784
+ class Warning
35785
+ include Google::Apis::Core::Hashable
35786
+
35787
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35788
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35789
+ # Corresponds to the JSON property `code`
35790
+ # @return [String]
35791
+ attr_accessor :code
35792
+
35793
+ # [Output Only] Metadata about this warning in key: value format. For example:
35794
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35795
+ # Corresponds to the JSON property `data`
35796
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning::Datum>]
35797
+ attr_accessor :data
35798
+
35799
+ # [Output Only] A human-readable description of the warning code.
35800
+ # Corresponds to the JSON property `message`
35801
+ # @return [String]
35802
+ attr_accessor :message
35803
+
35804
+ def initialize(**args)
35805
+ update!(**args)
35806
+ end
35807
+
35808
+ # Update properties of this object
35809
+ def update!(**args)
35810
+ @code = args[:code] if args.key?(:code)
35811
+ @data = args[:data] if args.key?(:data)
35812
+ @message = args[:message] if args.key?(:message)
35813
+ end
35814
+
35815
+ #
35816
+ class Datum
35817
+ include Google::Apis::Core::Hashable
35818
+
35819
+ # [Output Only] A key that provides more detail on the warning being returned.
35820
+ # For example, for warnings where there are no results in a list request for a
35821
+ # particular zone, this key might be scope and the key value might be the zone
35822
+ # name. Other examples might be a key indicating a deprecated resource and a
35823
+ # suggested replacement, or a warning about invalid network settings (for
35824
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35825
+ # for IP forwarding).
35826
+ # Corresponds to the JSON property `key`
35827
+ # @return [String]
35828
+ attr_accessor :key
35829
+
35830
+ # [Output Only] A warning data value corresponding to the key.
35831
+ # Corresponds to the JSON property `value`
35832
+ # @return [String]
35833
+ attr_accessor :value
35834
+
35835
+ def initialize(**args)
35836
+ update!(**args)
35837
+ end
35838
+
35839
+ # Update properties of this object
35840
+ def update!(**args)
35841
+ @key = args[:key] if args.key?(:key)
35842
+ @value = args[:value] if args.key?(:value)
35843
+ end
35844
+ end
35845
+ end
35846
+ end
35847
+
34251
35848
  #
34252
35849
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
34253
35850
  include Google::Apis::Core::Hashable
@@ -34267,6 +35864,97 @@ module Google
34267
35864
  end
34268
35865
  end
34269
35866
 
35867
+ #
35868
+ class SecurityPoliciesScopedList
35869
+ include Google::Apis::Core::Hashable
35870
+
35871
+ # A list of SecurityPolicies contained in this scope.
35872
+ # Corresponds to the JSON property `securityPolicies`
35873
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
35874
+ attr_accessor :security_policies
35875
+
35876
+ # Informational warning which replaces the list of security policies when the
35877
+ # list is empty.
35878
+ # Corresponds to the JSON property `warning`
35879
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning]
35880
+ attr_accessor :warning
35881
+
35882
+ def initialize(**args)
35883
+ update!(**args)
35884
+ end
35885
+
35886
+ # Update properties of this object
35887
+ def update!(**args)
35888
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
35889
+ @warning = args[:warning] if args.key?(:warning)
35890
+ end
35891
+
35892
+ # Informational warning which replaces the list of security policies when the
35893
+ # list is empty.
35894
+ class Warning
35895
+ include Google::Apis::Core::Hashable
35896
+
35897
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35898
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35899
+ # Corresponds to the JSON property `code`
35900
+ # @return [String]
35901
+ attr_accessor :code
35902
+
35903
+ # [Output Only] Metadata about this warning in key: value format. For example:
35904
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35905
+ # Corresponds to the JSON property `data`
35906
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning::Datum>]
35907
+ attr_accessor :data
35908
+
35909
+ # [Output Only] A human-readable description of the warning code.
35910
+ # Corresponds to the JSON property `message`
35911
+ # @return [String]
35912
+ attr_accessor :message
35913
+
35914
+ def initialize(**args)
35915
+ update!(**args)
35916
+ end
35917
+
35918
+ # Update properties of this object
35919
+ def update!(**args)
35920
+ @code = args[:code] if args.key?(:code)
35921
+ @data = args[:data] if args.key?(:data)
35922
+ @message = args[:message] if args.key?(:message)
35923
+ end
35924
+
35925
+ #
35926
+ class Datum
35927
+ include Google::Apis::Core::Hashable
35928
+
35929
+ # [Output Only] A key that provides more detail on the warning being returned.
35930
+ # For example, for warnings where there are no results in a list request for a
35931
+ # particular zone, this key might be scope and the key value might be the zone
35932
+ # name. Other examples might be a key indicating a deprecated resource and a
35933
+ # suggested replacement, or a warning about invalid network settings (for
35934
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35935
+ # for IP forwarding).
35936
+ # Corresponds to the JSON property `key`
35937
+ # @return [String]
35938
+ attr_accessor :key
35939
+
35940
+ # [Output Only] A warning data value corresponding to the key.
35941
+ # Corresponds to the JSON property `value`
35942
+ # @return [String]
35943
+ attr_accessor :value
35944
+
35945
+ def initialize(**args)
35946
+ update!(**args)
35947
+ end
35948
+
35949
+ # Update properties of this object
35950
+ def update!(**args)
35951
+ @key = args[:key] if args.key?(:key)
35952
+ @value = args[:value] if args.key?(:value)
35953
+ end
35954
+ end
35955
+ end
35956
+ end
35957
+
34270
35958
  #
34271
35959
  class SecurityPoliciesWafConfig
34272
35960
  include Google::Apis::Core::Hashable
@@ -34298,6 +35986,11 @@ module Google
34298
35986
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdaptiveProtectionConfig]
34299
35987
  attr_accessor :adaptive_protection_config
34300
35988
 
35989
+ #
35990
+ # Corresponds to the JSON property `advancedOptionsConfig`
35991
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdvancedOptionsConfig]
35992
+ attr_accessor :advanced_options_config
35993
+
34301
35994
  # A list of associations that belong to this policy.
34302
35995
  # Corresponds to the JSON property `associations`
34303
35996
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
@@ -34313,6 +36006,11 @@ module Google
34313
36006
  # @return [String]
34314
36007
  attr_accessor :creation_timestamp
34315
36008
 
36009
+ #
36010
+ # Corresponds to the JSON property `ddosProtectionConfig`
36011
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyDdosProtectionConfig]
36012
+ attr_accessor :ddos_protection_config
36013
+
34316
36014
  # An optional description of this resource. Provide this property when you
34317
36015
  # create the resource.
34318
36016
  # Corresponds to the JSON property `description`
@@ -34388,6 +36086,12 @@ module Google
34388
36086
  # @return [String]
34389
36087
  attr_accessor :parent
34390
36088
 
36089
+ # [Output Only] URL of the region where the regional security policy resides.
36090
+ # This field is not applicable to global security policies.
36091
+ # Corresponds to the JSON property `region`
36092
+ # @return [String]
36093
+ attr_accessor :region
36094
+
34391
36095
  # [Output Only] Total count of all security policy rule tuples. A security
34392
36096
  # policy can not exceed a set number of tuples.
34393
36097
  # Corresponds to the JSON property `ruleTupleCount`
@@ -34425,9 +36129,11 @@ module Google
34425
36129
  # Update properties of this object
34426
36130
  def update!(**args)
34427
36131
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
36132
+ @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
34428
36133
  @associations = args[:associations] if args.key?(:associations)
34429
36134
  @cloud_armor_config = args[:cloud_armor_config] if args.key?(:cloud_armor_config)
34430
36135
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36136
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
34431
36137
  @description = args[:description] if args.key?(:description)
34432
36138
  @display_name = args[:display_name] if args.key?(:display_name)
34433
36139
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -34437,6 +36143,7 @@ module Google
34437
36143
  @labels = args[:labels] if args.key?(:labels)
34438
36144
  @name = args[:name] if args.key?(:name)
34439
36145
  @parent = args[:parent] if args.key?(:parent)
36146
+ @region = args[:region] if args.key?(:region)
34440
36147
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
34441
36148
  @rules = args[:rules] if args.key?(:rules)
34442
36149
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -34491,6 +36198,31 @@ module Google
34491
36198
  end
34492
36199
  end
34493
36200
 
36201
+ #
36202
+ class SecurityPolicyAdvancedOptionsConfig
36203
+ include Google::Apis::Core::Hashable
36204
+
36205
+ #
36206
+ # Corresponds to the JSON property `jsonParsing`
36207
+ # @return [String]
36208
+ attr_accessor :json_parsing
36209
+
36210
+ #
36211
+ # Corresponds to the JSON property `logLevel`
36212
+ # @return [String]
36213
+ attr_accessor :log_level
36214
+
36215
+ def initialize(**args)
36216
+ update!(**args)
36217
+ end
36218
+
36219
+ # Update properties of this object
36220
+ def update!(**args)
36221
+ @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
36222
+ @log_level = args[:log_level] if args.key?(:log_level)
36223
+ end
36224
+ end
36225
+
34494
36226
  #
34495
36227
  class SecurityPolicyAssociation
34496
36228
  include Google::Apis::Core::Hashable
@@ -34548,10 +36280,34 @@ module Google
34548
36280
  end
34549
36281
  end
34550
36282
 
36283
+ #
36284
+ class SecurityPolicyDdosProtectionConfig
36285
+ include Google::Apis::Core::Hashable
36286
+
36287
+ #
36288
+ # Corresponds to the JSON property `ddosProtection`
36289
+ # @return [String]
36290
+ attr_accessor :ddos_protection
36291
+
36292
+ def initialize(**args)
36293
+ update!(**args)
36294
+ end
36295
+
36296
+ # Update properties of this object
36297
+ def update!(**args)
36298
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
36299
+ end
36300
+ end
36301
+
34551
36302
  #
34552
36303
  class SecurityPolicyList
34553
36304
  include Google::Apis::Core::Hashable
34554
36305
 
36306
+ #
36307
+ # Corresponds to the JSON property `etag`
36308
+ # @return [String]
36309
+ attr_accessor :etag
36310
+
34555
36311
  # [Output Only] Unique identifier for the resource; defined by the server.
34556
36312
  # Corresponds to the JSON property `id`
34557
36313
  # @return [String]
@@ -34577,6 +36333,11 @@ module Google
34577
36333
  # @return [String]
34578
36334
  attr_accessor :next_page_token
34579
36335
 
36336
+ # [Output Only] Unreachable resources.
36337
+ # Corresponds to the JSON property `unreachables`
36338
+ # @return [Array<String>]
36339
+ attr_accessor :unreachables
36340
+
34580
36341
  # [Output Only] Informational warning message.
34581
36342
  # Corresponds to the JSON property `warning`
34582
36343
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyList::Warning]
@@ -34588,10 +36349,12 @@ module Google
34588
36349
 
34589
36350
  # Update properties of this object
34590
36351
  def update!(**args)
36352
+ @etag = args[:etag] if args.key?(:etag)
34591
36353
  @id = args[:id] if args.key?(:id)
34592
36354
  @items = args[:items] if args.key?(:items)
34593
36355
  @kind = args[:kind] if args.key?(:kind)
34594
36356
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36357
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
34595
36358
  @warning = args[:warning] if args.key?(:warning)
34596
36359
  end
34597
36360
 
@@ -34684,7 +36447,7 @@ module Google
34684
36447
  class SecurityPolicyRule
34685
36448
  include Google::Apis::Core::Hashable
34686
36449
 
34687
- # The Action to preform when the client connection triggers the rule. Can
36450
+ # The Action to perform when the client connection triggers the rule. Can
34688
36451
  # currently be either "allow" or "deny()" where valid values for status are 403,
34689
36452
  # 404, and 502.
34690
36453
  # Corresponds to the JSON property `action`
@@ -34713,6 +36476,11 @@ module Google
34713
36476
  attr_accessor :enable_logging
34714
36477
  alias_method :enable_logging?, :enable_logging
34715
36478
 
36479
+ # Optional, additional actions that are performed on headers.
36480
+ # Corresponds to the JSON property `headerAction`
36481
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderAction]
36482
+ attr_accessor :header_action
36483
+
34716
36484
  # [Output only] Type of the resource. Always compute#securityPolicyRule for
34717
36485
  # security policy rules
34718
36486
  # Corresponds to the JSON property `kind`
@@ -34788,6 +36556,7 @@ module Google
34788
36556
  @description = args[:description] if args.key?(:description)
34789
36557
  @direction = args[:direction] if args.key?(:direction)
34790
36558
  @enable_logging = args[:enable_logging] if args.key?(:enable_logging)
36559
+ @header_action = args[:header_action] if args.key?(:header_action)
34791
36560
  @kind = args[:kind] if args.key?(:kind)
34792
36561
  @match = args[:match] if args.key?(:match)
34793
36562
  @preview = args[:preview] if args.key?(:preview)
@@ -34801,6 +36570,50 @@ module Google
34801
36570
  end
34802
36571
  end
34803
36572
 
36573
+ #
36574
+ class SecurityPolicyRuleHttpHeaderAction
36575
+ include Google::Apis::Core::Hashable
36576
+
36577
+ # The list of request headers to add or overwrite if they're already present.
36578
+ # Corresponds to the JSON property `requestHeadersToAdds`
36579
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
36580
+ attr_accessor :request_headers_to_adds
36581
+
36582
+ def initialize(**args)
36583
+ update!(**args)
36584
+ end
36585
+
36586
+ # Update properties of this object
36587
+ def update!(**args)
36588
+ @request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
36589
+ end
36590
+ end
36591
+
36592
+ #
36593
+ class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
36594
+ include Google::Apis::Core::Hashable
36595
+
36596
+ # The name of the header to set.
36597
+ # Corresponds to the JSON property `headerName`
36598
+ # @return [String]
36599
+ attr_accessor :header_name
36600
+
36601
+ # The value to set the named header to.
36602
+ # Corresponds to the JSON property `headerValue`
36603
+ # @return [String]
36604
+ attr_accessor :header_value
36605
+
36606
+ def initialize(**args)
36607
+ update!(**args)
36608
+ end
36609
+
36610
+ # Update properties of this object
36611
+ def update!(**args)
36612
+ @header_name = args[:header_name] if args.key?(:header_name)
36613
+ @header_value = args[:header_value] if args.key?(:header_value)
36614
+ end
36615
+ end
36616
+
34804
36617
  # Represents a match condition that incoming traffic is evaluated against.
34805
36618
  # Exactly one field must be specified.
34806
36619
  class SecurityPolicyRuleMatcher
@@ -34966,29 +36779,20 @@ module Google
34966
36779
  include Google::Apis::Core::Hashable
34967
36780
 
34968
36781
  # Can only be specified if the action for the rule is "rate_based_ban". If
34969
- # specified, the key will be banned for the configured 'ban_duration' when the
34970
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34971
- # ban_threshold'.
36782
+ # specified, determines the time (in seconds) the traffic will continue to be
36783
+ # banned by the rate limit after the rate falls below the threshold.
34972
36784
  # Corresponds to the JSON property `banDurationSec`
34973
36785
  # @return [Fixnum]
34974
36786
  attr_accessor :ban_duration_sec
34975
36787
 
34976
36788
  # Can only be specified if the action for the rule is "rate_based_ban". If
34977
- # specified, the key will be banned for the configured 'ban_duration' when the
34978
- # number of requests that exceed the 'rate_limit_threshold' also exceed this '
34979
- # ban_threshold'.
36789
+ # specified, the key will be banned for the configured 'ban_duration_sec' when
36790
+ # the number of requests that exceed the 'rate_limit_threshold' also exceed this
36791
+ # 'ban_threshold'.
34980
36792
  # Corresponds to the JSON property `banThreshold`
34981
36793
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
34982
36794
  attr_accessor :ban_threshold
34983
36795
 
34984
- # Can only be specified if the action for the rule is "rate_based_ban" If
34985
- # specified, determines the time (in seconds) the traffic will continue to be
34986
- # blocked by the rate limit after the rate falls below the threshold. The
34987
- # default value is 0 seconds. [Deprecated] This field is deprecated.
34988
- # Corresponds to the JSON property `blockDuration`
34989
- # @return [Fixnum]
34990
- attr_accessor :block_duration
34991
-
34992
36796
  # Action to take when requests are under the given threshold. When requests are
34993
36797
  # throttled, this is also the action for all requests which are not dropped.
34994
36798
  # Valid options are "allow", "fairshare", and "drop_overload".
@@ -35014,12 +36818,6 @@ module Google
35014
36818
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
35015
36819
  attr_accessor :rate_limit_threshold
35016
36820
 
35017
- # Rate in requests per second at which to begin ratelimiting. [Deprecated] This
35018
- # field is deprecated.
35019
- # Corresponds to the JSON property `thresholdRps`
35020
- # @return [Fixnum]
35021
- attr_accessor :threshold_rps
35022
-
35023
36821
  def initialize(**args)
35024
36822
  update!(**args)
35025
36823
  end
@@ -35028,12 +36826,10 @@ module Google
35028
36826
  def update!(**args)
35029
36827
  @ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
35030
36828
  @ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
35031
- @block_duration = args[:block_duration] if args.key?(:block_duration)
35032
36829
  @conform_action = args[:conform_action] if args.key?(:conform_action)
35033
36830
  @enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
35034
36831
  @exceed_action = args[:exceed_action] if args.key?(:exceed_action)
35035
36832
  @rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
35036
- @threshold_rps = args[:threshold_rps] if args.key?(:threshold_rps)
35037
36833
  end
35038
36834
  end
35039
36835
 
@@ -35268,10 +37064,16 @@ module Google
35268
37064
  # A service attachment represents a service that a producer has exposed. It
35269
37065
  # encapsulates the load balancer which fronts the service runs and a list of NAT
35270
37066
  # IP ranges that the producers uses to represent the consumers connecting to the
35271
- # service. next tag = 16
37067
+ # service. next tag = 19
35272
37068
  class ServiceAttachment
35273
37069
  include Google::Apis::Core::Hashable
35274
37070
 
37071
+ # [Output Only] An array of connections for all the consumers connected to this
37072
+ # service attachment.
37073
+ # Corresponds to the JSON property `connectedEndpoints`
37074
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConnectedEndpoint>]
37075
+ attr_accessor :connected_endpoints
37076
+
35275
37077
  # The connection preference of service attachment. The value can be set to
35276
37078
  # ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
35277
37079
  # accepts the connection from consumer forwarding rules.
@@ -35279,12 +37081,23 @@ module Google
35279
37081
  # @return [String]
35280
37082
  attr_accessor :connection_preference
35281
37083
 
37084
+ # Projects that are allowed to connect to this service attachment.
37085
+ # Corresponds to the JSON property `consumerAcceptLists`
37086
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerProjectLimit>]
37087
+ attr_accessor :consumer_accept_lists
37088
+
35282
37089
  # [Output Only] An array of forwarding rules for all the consumers connected to
35283
37090
  # this service attachment.
35284
37091
  # Corresponds to the JSON property `consumerForwardingRules`
35285
37092
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerForwardingRule>]
35286
37093
  attr_accessor :consumer_forwarding_rules
35287
37094
 
37095
+ # Projects that are not allowed to connect to this service attachment. The
37096
+ # project can be specified using its id or number.
37097
+ # Corresponds to the JSON property `consumerRejectLists`
37098
+ # @return [Array<String>]
37099
+ attr_accessor :consumer_reject_lists
37100
+
35288
37101
  # [Output Only] Creation timestamp in RFC3339 text format.
35289
37102
  # Corresponds to the JSON property `creationTimestamp`
35290
37103
  # @return [String]
@@ -35304,6 +37117,17 @@ module Google
35304
37117
  attr_accessor :enable_proxy_protocol
35305
37118
  alias_method :enable_proxy_protocol?, :enable_proxy_protocol
35306
37119
 
37120
+ # Fingerprint of this resource. A hash of the contents stored in this object.
37121
+ # This field is used in optimistic locking. This field will be ignored when
37122
+ # inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
37123
+ # order to patch/update the ServiceAttachment; otherwise, the request will fail
37124
+ # with error 412 conditionNotMet. To see the latest fingerprint, make a get()
37125
+ # request to retrieve the ServiceAttachment.
37126
+ # Corresponds to the JSON property `fingerprint`
37127
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
37128
+ # @return [String]
37129
+ attr_accessor :fingerprint
37130
+
35307
37131
  # [Output Only] The unique identifier for the resource type. The server
35308
37132
  # generates this identifier.
35309
37133
  # Corresponds to the JSON property `id`
@@ -35338,6 +37162,11 @@ module Google
35338
37162
  # @return [String]
35339
37163
  attr_accessor :producer_forwarding_rule
35340
37164
 
37165
+ # [Output Only] An 128-bit global unique ID of the PSC service attachment.
37166
+ # Corresponds to the JSON property `pscServiceAttachmentId`
37167
+ # @return [Google::Apis::ComputeAlpha::Uint128]
37168
+ attr_accessor :psc_service_attachment_id
37169
+
35341
37170
  # [Output Only] URL of the region where the service attachment resides. This
35342
37171
  # field applies only to the region resource. You must specify this field as part
35343
37172
  # of the HTTP request URL. It is not settable as a field in the request body.
@@ -35350,24 +37179,36 @@ module Google
35350
37179
  # @return [String]
35351
37180
  attr_accessor :self_link
35352
37181
 
37182
+ # The URL of a service serving the endpoint identified by this service
37183
+ # attachment.
37184
+ # Corresponds to the JSON property `targetService`
37185
+ # @return [String]
37186
+ attr_accessor :target_service
37187
+
35353
37188
  def initialize(**args)
35354
37189
  update!(**args)
35355
37190
  end
35356
37191
 
35357
37192
  # Update properties of this object
35358
37193
  def update!(**args)
37194
+ @connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
35359
37195
  @connection_preference = args[:connection_preference] if args.key?(:connection_preference)
37196
+ @consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
35360
37197
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
37198
+ @consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
35361
37199
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
35362
37200
  @description = args[:description] if args.key?(:description)
35363
37201
  @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
37202
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
35364
37203
  @id = args[:id] if args.key?(:id)
35365
37204
  @kind = args[:kind] if args.key?(:kind)
35366
37205
  @name = args[:name] if args.key?(:name)
35367
37206
  @nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
35368
37207
  @producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
37208
+ @psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
35369
37209
  @region = args[:region] if args.key?(:region)
35370
37210
  @self_link = args[:self_link] if args.key?(:self_link)
37211
+ @target_service = args[:target_service] if args.key?(:target_service)
35371
37212
  end
35372
37213
  end
35373
37214
 
@@ -35494,163 +37335,323 @@ module Google
35494
37335
  end
35495
37336
  end
35496
37337
 
35497
- # [Output Only] A consumer forwarding rule connected to this service attachment.
35498
- class ServiceAttachmentConsumerForwardingRule
37338
+ # [Output Only] A connection connected to this service attachment.
37339
+ class ServiceAttachmentConnectedEndpoint
37340
+ include Google::Apis::Core::Hashable
37341
+
37342
+ # The url of a connected endpoint.
37343
+ # Corresponds to the JSON property `endpoint`
37344
+ # @return [String]
37345
+ attr_accessor :endpoint
37346
+
37347
+ # The url of a consumer forwarding rule. [Deprecated] Do not use.
37348
+ # Corresponds to the JSON property `forwardingRule`
37349
+ # @return [String]
37350
+ attr_accessor :forwarding_rule
37351
+
37352
+ # The PSC connection id of the connected endpoint.
37353
+ # Corresponds to the JSON property `pscConnectionId`
37354
+ # @return [Fixnum]
37355
+ attr_accessor :psc_connection_id
37356
+
37357
+ # The status of a connected endpoint to this service attachment.
37358
+ # Corresponds to the JSON property `status`
37359
+ # @return [String]
37360
+ attr_accessor :status
37361
+
37362
+ def initialize(**args)
37363
+ update!(**args)
37364
+ end
37365
+
37366
+ # Update properties of this object
37367
+ def update!(**args)
37368
+ @endpoint = args[:endpoint] if args.key?(:endpoint)
37369
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
37370
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
37371
+ @status = args[:status] if args.key?(:status)
37372
+ end
37373
+ end
37374
+
37375
+ # [Output Only] A consumer forwarding rule connected to this service attachment.
37376
+ # [Deprecated] Do not use.
37377
+ class ServiceAttachmentConsumerForwardingRule
37378
+ include Google::Apis::Core::Hashable
37379
+
37380
+ # The url of a consumer forwarding rule.
37381
+ # Corresponds to the JSON property `forwardingRule`
37382
+ # @return [String]
37383
+ attr_accessor :forwarding_rule
37384
+
37385
+ # The PSC connection id of the PSC Forwarding Rule.
37386
+ # Corresponds to the JSON property `pscConnectionId`
37387
+ # @return [Fixnum]
37388
+ attr_accessor :psc_connection_id
37389
+
37390
+ # The status of the forwarding rule.
37391
+ # Corresponds to the JSON property `status`
37392
+ # @return [String]
37393
+ attr_accessor :status
37394
+
37395
+ def initialize(**args)
37396
+ update!(**args)
37397
+ end
37398
+
37399
+ # Update properties of this object
37400
+ def update!(**args)
37401
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
37402
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
37403
+ @status = args[:status] if args.key?(:status)
37404
+ end
37405
+ end
37406
+
37407
+ #
37408
+ class ServiceAttachmentConsumerProjectLimit
37409
+ include Google::Apis::Core::Hashable
37410
+
37411
+ # The value of the limit to set.
37412
+ # Corresponds to the JSON property `connectionLimit`
37413
+ # @return [Fixnum]
37414
+ attr_accessor :connection_limit
37415
+
37416
+ # The project id or number for the project to set the limit for.
37417
+ # Corresponds to the JSON property `projectIdOrNum`
37418
+ # @return [String]
37419
+ attr_accessor :project_id_or_num
37420
+
37421
+ def initialize(**args)
37422
+ update!(**args)
37423
+ end
37424
+
37425
+ # Update properties of this object
37426
+ def update!(**args)
37427
+ @connection_limit = args[:connection_limit] if args.key?(:connection_limit)
37428
+ @project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
37429
+ end
37430
+ end
37431
+
37432
+ #
37433
+ class ServiceAttachmentList
37434
+ include Google::Apis::Core::Hashable
37435
+
37436
+ # [Output Only] Unique identifier for the resource; defined by the server.
37437
+ # Corresponds to the JSON property `id`
37438
+ # @return [String]
37439
+ attr_accessor :id
37440
+
37441
+ # A list of ServiceAttachment resources.
37442
+ # Corresponds to the JSON property `items`
37443
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
37444
+ attr_accessor :items
37445
+
37446
+ # [Output Only] Type of the resource. Always compute#serviceAttachment for
37447
+ # service attachments.
37448
+ # Corresponds to the JSON property `kind`
37449
+ # @return [String]
37450
+ attr_accessor :kind
37451
+
37452
+ # [Output Only] This token allows you to get the next page of results for list
37453
+ # requests. If the number of results is larger than maxResults, use the
37454
+ # nextPageToken as a value for the query parameter pageToken in the next list
37455
+ # request. Subsequent list requests will have their own nextPageToken to
37456
+ # continue paging through the results.
37457
+ # Corresponds to the JSON property `nextPageToken`
37458
+ # @return [String]
37459
+ attr_accessor :next_page_token
37460
+
37461
+ # [Output Only] Server-defined URL for this resource.
37462
+ # Corresponds to the JSON property `selfLink`
37463
+ # @return [String]
37464
+ attr_accessor :self_link
37465
+
37466
+ # [Output Only] Informational warning message.
37467
+ # Corresponds to the JSON property `warning`
37468
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning]
37469
+ attr_accessor :warning
37470
+
37471
+ def initialize(**args)
37472
+ update!(**args)
37473
+ end
37474
+
37475
+ # Update properties of this object
37476
+ def update!(**args)
37477
+ @id = args[:id] if args.key?(:id)
37478
+ @items = args[:items] if args.key?(:items)
37479
+ @kind = args[:kind] if args.key?(:kind)
37480
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37481
+ @self_link = args[:self_link] if args.key?(:self_link)
37482
+ @warning = args[:warning] if args.key?(:warning)
37483
+ end
37484
+
37485
+ # [Output Only] Informational warning message.
37486
+ class Warning
37487
+ include Google::Apis::Core::Hashable
37488
+
37489
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37490
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37491
+ # Corresponds to the JSON property `code`
37492
+ # @return [String]
37493
+ attr_accessor :code
37494
+
37495
+ # [Output Only] Metadata about this warning in key: value format. For example:
37496
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37497
+ # Corresponds to the JSON property `data`
37498
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning::Datum>]
37499
+ attr_accessor :data
37500
+
37501
+ # [Output Only] A human-readable description of the warning code.
37502
+ # Corresponds to the JSON property `message`
37503
+ # @return [String]
37504
+ attr_accessor :message
37505
+
37506
+ def initialize(**args)
37507
+ update!(**args)
37508
+ end
37509
+
37510
+ # Update properties of this object
37511
+ def update!(**args)
37512
+ @code = args[:code] if args.key?(:code)
37513
+ @data = args[:data] if args.key?(:data)
37514
+ @message = args[:message] if args.key?(:message)
37515
+ end
37516
+
37517
+ #
37518
+ class Datum
37519
+ include Google::Apis::Core::Hashable
37520
+
37521
+ # [Output Only] A key that provides more detail on the warning being returned.
37522
+ # For example, for warnings where there are no results in a list request for a
37523
+ # particular zone, this key might be scope and the key value might be the zone
37524
+ # name. Other examples might be a key indicating a deprecated resource and a
37525
+ # suggested replacement, or a warning about invalid network settings (for
37526
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37527
+ # for IP forwarding).
37528
+ # Corresponds to the JSON property `key`
37529
+ # @return [String]
37530
+ attr_accessor :key
37531
+
37532
+ # [Output Only] A warning data value corresponding to the key.
37533
+ # Corresponds to the JSON property `value`
37534
+ # @return [String]
37535
+ attr_accessor :value
37536
+
37537
+ def initialize(**args)
37538
+ update!(**args)
37539
+ end
37540
+
37541
+ # Update properties of this object
37542
+ def update!(**args)
37543
+ @key = args[:key] if args.key?(:key)
37544
+ @value = args[:value] if args.key?(:value)
37545
+ end
37546
+ end
37547
+ end
37548
+ end
37549
+
37550
+ #
37551
+ class ServiceAttachmentsScopedList
37552
+ include Google::Apis::Core::Hashable
37553
+
37554
+ # A list of ServiceAttachments contained in this scope.
37555
+ # Corresponds to the JSON property `serviceAttachments`
37556
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
37557
+ attr_accessor :service_attachments
37558
+
37559
+ # Informational warning which replaces the list of service attachments when the
37560
+ # list is empty.
37561
+ # Corresponds to the JSON property `warning`
37562
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
37563
+ attr_accessor :warning
37564
+
37565
+ def initialize(**args)
37566
+ update!(**args)
37567
+ end
37568
+
37569
+ # Update properties of this object
37570
+ def update!(**args)
37571
+ @service_attachments = args[:service_attachments] if args.key?(:service_attachments)
37572
+ @warning = args[:warning] if args.key?(:warning)
37573
+ end
37574
+
37575
+ # Informational warning which replaces the list of service attachments when the
37576
+ # list is empty.
37577
+ class Warning
37578
+ include Google::Apis::Core::Hashable
37579
+
37580
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37581
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37582
+ # Corresponds to the JSON property `code`
37583
+ # @return [String]
37584
+ attr_accessor :code
37585
+
37586
+ # [Output Only] Metadata about this warning in key: value format. For example:
37587
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37588
+ # Corresponds to the JSON property `data`
37589
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
37590
+ attr_accessor :data
37591
+
37592
+ # [Output Only] A human-readable description of the warning code.
37593
+ # Corresponds to the JSON property `message`
37594
+ # @return [String]
37595
+ attr_accessor :message
37596
+
37597
+ def initialize(**args)
37598
+ update!(**args)
37599
+ end
37600
+
37601
+ # Update properties of this object
37602
+ def update!(**args)
37603
+ @code = args[:code] if args.key?(:code)
37604
+ @data = args[:data] if args.key?(:data)
37605
+ @message = args[:message] if args.key?(:message)
37606
+ end
37607
+
37608
+ #
37609
+ class Datum
37610
+ include Google::Apis::Core::Hashable
37611
+
37612
+ # [Output Only] A key that provides more detail on the warning being returned.
37613
+ # For example, for warnings where there are no results in a list request for a
37614
+ # particular zone, this key might be scope and the key value might be the zone
37615
+ # name. Other examples might be a key indicating a deprecated resource and a
37616
+ # suggested replacement, or a warning about invalid network settings (for
37617
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37618
+ # for IP forwarding).
37619
+ # Corresponds to the JSON property `key`
37620
+ # @return [String]
37621
+ attr_accessor :key
37622
+
37623
+ # [Output Only] A warning data value corresponding to the key.
37624
+ # Corresponds to the JSON property `value`
37625
+ # @return [String]
37626
+ attr_accessor :value
37627
+
37628
+ def initialize(**args)
37629
+ update!(**args)
37630
+ end
37631
+
37632
+ # Update properties of this object
37633
+ def update!(**args)
37634
+ @key = args[:key] if args.key?(:key)
37635
+ @value = args[:value] if args.key?(:value)
37636
+ end
37637
+ end
37638
+ end
37639
+ end
37640
+
37641
+ # The share setting for reservations and sole tenancy node groups.
37642
+ class ShareSettings
35499
37643
  include Google::Apis::Core::Hashable
35500
37644
 
35501
- # The url of a consumer forwarding rule.
35502
- # Corresponds to the JSON property `forwardingRule`
35503
- # @return [String]
35504
- attr_accessor :forwarding_rule
35505
-
35506
- # The status of the forwarding rule.
35507
- # Corresponds to the JSON property `status`
35508
- # @return [String]
35509
- attr_accessor :status
35510
-
35511
- def initialize(**args)
35512
- update!(**args)
35513
- end
35514
-
35515
- # Update properties of this object
35516
- def update!(**args)
35517
- @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
35518
- @status = args[:status] if args.key?(:status)
35519
- end
35520
- end
35521
-
35522
- #
35523
- class ServiceAttachmentList
35524
- include Google::Apis::Core::Hashable
35525
-
35526
- # [Output Only] Unique identifier for the resource; defined by the server.
35527
- # Corresponds to the JSON property `id`
35528
- # @return [String]
35529
- attr_accessor :id
35530
-
35531
- # A list of ServiceAttachment resources.
35532
- # Corresponds to the JSON property `items`
35533
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
35534
- attr_accessor :items
35535
-
35536
- # [Output Only] Type of the resource. Always compute#serviceAttachment for
35537
- # service attachments.
35538
- # Corresponds to the JSON property `kind`
35539
- # @return [String]
35540
- attr_accessor :kind
35541
-
35542
- # [Output Only] This token allows you to get the next page of results for list
35543
- # requests. If the number of results is larger than maxResults, use the
35544
- # nextPageToken as a value for the query parameter pageToken in the next list
35545
- # request. Subsequent list requests will have their own nextPageToken to
35546
- # continue paging through the results.
35547
- # Corresponds to the JSON property `nextPageToken`
35548
- # @return [String]
35549
- attr_accessor :next_page_token
37645
+ # A List of Project names to specify consumer projects for this shared-
37646
+ # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
37647
+ # Corresponds to the JSON property `projects`
37648
+ # @return [Array<String>]
37649
+ attr_accessor :projects
35550
37650
 
35551
- # [Output Only] Server-defined URL for this resource.
35552
- # Corresponds to the JSON property `selfLink`
37651
+ # Type of sharing for this shared-reservation
37652
+ # Corresponds to the JSON property `shareType`
35553
37653
  # @return [String]
35554
- attr_accessor :self_link
35555
-
35556
- # [Output Only] Informational warning message.
35557
- # Corresponds to the JSON property `warning`
35558
- # @return [Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning]
35559
- attr_accessor :warning
35560
-
35561
- def initialize(**args)
35562
- update!(**args)
35563
- end
35564
-
35565
- # Update properties of this object
35566
- def update!(**args)
35567
- @id = args[:id] if args.key?(:id)
35568
- @items = args[:items] if args.key?(:items)
35569
- @kind = args[:kind] if args.key?(:kind)
35570
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35571
- @self_link = args[:self_link] if args.key?(:self_link)
35572
- @warning = args[:warning] if args.key?(:warning)
35573
- end
35574
-
35575
- # [Output Only] Informational warning message.
35576
- class Warning
35577
- include Google::Apis::Core::Hashable
35578
-
35579
- # [Output Only] A warning code, if applicable. For example, Compute Engine
35580
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35581
- # Corresponds to the JSON property `code`
35582
- # @return [String]
35583
- attr_accessor :code
35584
-
35585
- # [Output Only] Metadata about this warning in key: value format. For example:
35586
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35587
- # Corresponds to the JSON property `data`
35588
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning::Datum>]
35589
- attr_accessor :data
35590
-
35591
- # [Output Only] A human-readable description of the warning code.
35592
- # Corresponds to the JSON property `message`
35593
- # @return [String]
35594
- attr_accessor :message
35595
-
35596
- def initialize(**args)
35597
- update!(**args)
35598
- end
35599
-
35600
- # Update properties of this object
35601
- def update!(**args)
35602
- @code = args[:code] if args.key?(:code)
35603
- @data = args[:data] if args.key?(:data)
35604
- @message = args[:message] if args.key?(:message)
35605
- end
35606
-
35607
- #
35608
- class Datum
35609
- include Google::Apis::Core::Hashable
35610
-
35611
- # [Output Only] A key that provides more detail on the warning being returned.
35612
- # For example, for warnings where there are no results in a list request for a
35613
- # particular zone, this key might be scope and the key value might be the zone
35614
- # name. Other examples might be a key indicating a deprecated resource and a
35615
- # suggested replacement, or a warning about invalid network settings (for
35616
- # example, if an instance attempts to perform IP forwarding but is not enabled
35617
- # for IP forwarding).
35618
- # Corresponds to the JSON property `key`
35619
- # @return [String]
35620
- attr_accessor :key
35621
-
35622
- # [Output Only] A warning data value corresponding to the key.
35623
- # Corresponds to the JSON property `value`
35624
- # @return [String]
35625
- attr_accessor :value
35626
-
35627
- def initialize(**args)
35628
- update!(**args)
35629
- end
35630
-
35631
- # Update properties of this object
35632
- def update!(**args)
35633
- @key = args[:key] if args.key?(:key)
35634
- @value = args[:value] if args.key?(:value)
35635
- end
35636
- end
35637
- end
35638
- end
35639
-
35640
- #
35641
- class ServiceAttachmentsScopedList
35642
- include Google::Apis::Core::Hashable
35643
-
35644
- # A list of ServiceAttachments contained in this scope.
35645
- # Corresponds to the JSON property `resources`
35646
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
35647
- attr_accessor :resources
35648
-
35649
- # Informational warning which replaces the list of service attachments when the
35650
- # list is empty.
35651
- # Corresponds to the JSON property `warning`
35652
- # @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
35653
- attr_accessor :warning
37654
+ attr_accessor :share_type
35654
37655
 
35655
37656
  def initialize(**args)
35656
37657
  update!(**args)
@@ -35658,73 +37659,8 @@ module Google
35658
37659
 
35659
37660
  # Update properties of this object
35660
37661
  def update!(**args)
35661
- @resources = args[:resources] if args.key?(:resources)
35662
- @warning = args[:warning] if args.key?(:warning)
35663
- end
35664
-
35665
- # Informational warning which replaces the list of service attachments when the
35666
- # list is empty.
35667
- class Warning
35668
- include Google::Apis::Core::Hashable
35669
-
35670
- # [Output Only] A warning code, if applicable. For example, Compute Engine
35671
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35672
- # Corresponds to the JSON property `code`
35673
- # @return [String]
35674
- attr_accessor :code
35675
-
35676
- # [Output Only] Metadata about this warning in key: value format. For example:
35677
- # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35678
- # Corresponds to the JSON property `data`
35679
- # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
35680
- attr_accessor :data
35681
-
35682
- # [Output Only] A human-readable description of the warning code.
35683
- # Corresponds to the JSON property `message`
35684
- # @return [String]
35685
- attr_accessor :message
35686
-
35687
- def initialize(**args)
35688
- update!(**args)
35689
- end
35690
-
35691
- # Update properties of this object
35692
- def update!(**args)
35693
- @code = args[:code] if args.key?(:code)
35694
- @data = args[:data] if args.key?(:data)
35695
- @message = args[:message] if args.key?(:message)
35696
- end
35697
-
35698
- #
35699
- class Datum
35700
- include Google::Apis::Core::Hashable
35701
-
35702
- # [Output Only] A key that provides more detail on the warning being returned.
35703
- # For example, for warnings where there are no results in a list request for a
35704
- # particular zone, this key might be scope and the key value might be the zone
35705
- # name. Other examples might be a key indicating a deprecated resource and a
35706
- # suggested replacement, or a warning about invalid network settings (for
35707
- # example, if an instance attempts to perform IP forwarding but is not enabled
35708
- # for IP forwarding).
35709
- # Corresponds to the JSON property `key`
35710
- # @return [String]
35711
- attr_accessor :key
35712
-
35713
- # [Output Only] A warning data value corresponding to the key.
35714
- # Corresponds to the JSON property `value`
35715
- # @return [String]
35716
- attr_accessor :value
35717
-
35718
- def initialize(**args)
35719
- update!(**args)
35720
- end
35721
-
35722
- # Update properties of this object
35723
- def update!(**args)
35724
- @key = args[:key] if args.key?(:key)
35725
- @value = args[:value] if args.key?(:value)
35726
- end
35727
- end
37662
+ @projects = args[:projects] if args.key?(:projects)
37663
+ @share_type = args[:share_type] if args.key?(:share_type)
35728
37664
  end
35729
37665
  end
35730
37666
 
@@ -36459,7 +38395,7 @@ module Google
36459
38395
  # @return [String]
36460
38396
  attr_accessor :post_key_revocation_action_type
36461
38397
 
36462
- # Sets the scheduling options for an Instance. NextID: 17
38398
+ # Sets the scheduling options for an Instance. NextID: 21
36463
38399
  # Corresponds to the JSON property `scheduling`
36464
38400
  # @return [Google::Apis::ComputeAlpha::Scheduling]
36465
38401
  attr_accessor :scheduling
@@ -37613,7 +39549,7 @@ module Google
37613
39549
  # Can only be specified if VPC flow logging for this subnetwork is enabled.
37614
39550
  # Configures whether metadata fields should be added to the reported VPC flow
37615
39551
  # logs. Options are INCLUDE_ALL_METADATA, EXCLUDE_ALL_METADATA, and
37616
- # CUSTOM_METADATA. Default is INCLUDE_ALL_METADATA.
39552
+ # CUSTOM_METADATA. Default is EXCLUDE_ALL_METADATA.
37617
39553
  # Corresponds to the JSON property `metadata`
37618
39554
  # @return [String]
37619
39555
  attr_accessor :metadata
@@ -37678,6 +39614,11 @@ module Google
37678
39614
  # @return [String]
37679
39615
  attr_accessor :region
37680
39616
 
39617
+ # The URL of the reserved internal range.
39618
+ # Corresponds to the JSON property `reservedInternalRange`
39619
+ # @return [String]
39620
+ attr_accessor :reserved_internal_range
39621
+
37681
39622
  # The role of subnetwork. Currently, this field is only used when purpose =
37682
39623
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
37683
39624
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
@@ -37718,9 +39659,7 @@ module Google
37718
39659
  # applicable to subnetworks that have the purpose set to
37719
39660
  # INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
37720
39661
  # balancer are being drained. A subnetwork that is draining cannot be used or
37721
- # modified until it reaches a status of READY CREATING: Subnetwork is
37722
- # provisioning DELETING: Subnetwork is being deleted UPDATING: Subnetwork is
37723
- # being updated
39662
+ # modified until it reaches a status of READY
37724
39663
  # Corresponds to the JSON property `state`
37725
39664
  # @return [String]
37726
39665
  attr_accessor :state
@@ -37764,6 +39703,7 @@ module Google
37764
39703
  @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
37765
39704
  @purpose = args[:purpose] if args.key?(:purpose)
37766
39705
  @region = args[:region] if args.key?(:region)
39706
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
37767
39707
  @role = args[:role] if args.key?(:role)
37768
39708
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
37769
39709
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -38053,7 +39993,7 @@ module Google
38053
39993
 
38054
39994
  # Can only be specified if VPC flow logs for this subnetwork is enabled.
38055
39995
  # Configures whether all, none or a subset of metadata fields should be added to
38056
- # the reported VPC flow logs. Default is INCLUDE_ALL_METADATA.
39996
+ # the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
38057
39997
  # Corresponds to the JSON property `metadata`
38058
39998
  # @return [String]
38059
39999
  attr_accessor :metadata
@@ -38099,6 +40039,11 @@ module Google
38099
40039
  # @return [String]
38100
40040
  attr_accessor :range_name
38101
40041
 
40042
+ # The URL of the reserved internal range.
40043
+ # Corresponds to the JSON property `reservedInternalRange`
40044
+ # @return [String]
40045
+ attr_accessor :reserved_internal_range
40046
+
38102
40047
  def initialize(**args)
38103
40048
  update!(**args)
38104
40049
  end
@@ -38107,6 +40052,7 @@ module Google
38107
40052
  def update!(**args)
38108
40053
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
38109
40054
  @range_name = args[:range_name] if args.key?(:range_name)
40055
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
38110
40056
  end
38111
40057
  end
38112
40058
 
@@ -38241,7 +40187,8 @@ module Google
38241
40187
  end
38242
40188
  end
38243
40189
 
38244
- # Subsetting options to make L4 ILB support any number of backend instances
40190
+ # Subsetting configuration for this BackendService. Currently this is applicable
40191
+ # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
38245
40192
  class Subsetting
38246
40193
  include Google::Apis::Core::Hashable
38247
40194
 
@@ -39172,7 +41119,8 @@ module Google
39172
41119
  include Google::Apis::Core::Hashable
39173
41120
 
39174
41121
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
39175
- # resource. Currently exactly one SslCertificate resource must be specified.
41122
+ # resource. At least one SSL certificate must be specified. Currently, you may
41123
+ # specify up to 15 SSL certificates.
39176
41124
  # Corresponds to the JSON property `sslCertificates`
39177
41125
  # @return [Array<String>]
39178
41126
  attr_accessor :ssl_certificates
@@ -39344,6 +41292,8 @@ module Google
39344
41292
  # URLs to SslCertificate resources that are used to authenticate connections
39345
41293
  # between users and the load balancer. At least one SSL certificate must be
39346
41294
  # specified. Currently, you may specify up to 15 SSL certificates.
41295
+ # sslCertificates do not apply when the load balancing scheme is set to
41296
+ # INTERNAL_SELF_MANAGED.
39347
41297
  # Corresponds to the JSON property `sslCertificates`
39348
41298
  # @return [Array<String>]
39349
41299
  attr_accessor :ssl_certificates
@@ -40728,7 +42678,8 @@ module Google
40728
42678
  include Google::Apis::Core::Hashable
40729
42679
 
40730
42680
  # New set of URLs to SslCertificate resources to associate with this
40731
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
42681
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
42682
+ # may specify up to 15 SSL certificates.
40732
42683
  # Corresponds to the JSON property `sslCertificates`
40733
42684
  # @return [Array<String>]
40734
42685
  attr_accessor :ssl_certificates
@@ -40809,7 +42760,8 @@ module Google
40809
42760
 
40810
42761
  # URLs to SslCertificate resources that are used to authenticate connections to
40811
42762
  # Backends. At least one SSL certificate must be specified. Currently, you may
40812
- # specify up to 15 SSL certificates.
42763
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
42764
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
40813
42765
  # Corresponds to the JSON property `sslCertificates`
40814
42766
  # @return [Array<String>]
40815
42767
  attr_accessor :ssl_certificates
@@ -41930,6 +43882,31 @@ module Google
41930
43882
  end
41931
43883
  end
41932
43884
 
43885
+ #
43886
+ class Uint128
43887
+ include Google::Apis::Core::Hashable
43888
+
43889
+ #
43890
+ # Corresponds to the JSON property `high`
43891
+ # @return [Fixnum]
43892
+ attr_accessor :high
43893
+
43894
+ #
43895
+ # Corresponds to the JSON property `low`
43896
+ # @return [Fixnum]
43897
+ attr_accessor :low
43898
+
43899
+ def initialize(**args)
43900
+ update!(**args)
43901
+ end
43902
+
43903
+ # Update properties of this object
43904
+ def update!(**args)
43905
+ @high = args[:high] if args.key?(:high)
43906
+ @low = args[:low] if args.key?(:low)
43907
+ end
43908
+ end
43909
+
41933
43910
  # Upcoming Maintenance notification information.
41934
43911
  class UpcomingMaintenance
41935
43912
  include Google::Apis::Core::Hashable
@@ -42834,7 +44811,9 @@ module Google
42834
44811
  # requests. If the number of results is larger than maxResults, use the
42835
44812
  # nextPageToken as a value for the query parameter pageToken in the next list
42836
44813
  # request. Subsequent list requests will have their own nextPageToken to
42837
- # continue paging through the results.
44814
+ # continue paging through the results. In special cases listUsable may return 0
44815
+ # subnetworks and nextPageToken which still should be used to get the next page
44816
+ # of results.
42838
44817
  # Corresponds to the JSON property `nextPageToken`
42839
44818
  # @return [String]
42840
44819
  attr_accessor :next_page_token
@@ -43294,7 +45273,7 @@ module Google
43294
45273
  # @return [String]
43295
45274
  attr_accessor :self_link
43296
45275
 
43297
- # A list of interfaces on this VPN gateway.
45276
+ # The list of VPN interfaces associated with this VPN gateway.
43298
45277
  # Corresponds to the JSON property `vpnInterfaces`
43299
45278
  # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
43300
45279
  attr_accessor :vpn_interfaces
@@ -43687,20 +45666,30 @@ module Google
43687
45666
  class VpnGatewayVpnGatewayInterface
43688
45667
  include Google::Apis::Core::Hashable
43689
45668
 
43690
- # The numeric ID of this VPN gateway interface.
45669
+ # [Output Only] Numeric identifier for this VPN interface associated with the
45670
+ # VPN gateway.
43691
45671
  # Corresponds to the JSON property `id`
43692
45672
  # @return [Fixnum]
43693
45673
  attr_accessor :id
43694
45674
 
43695
- # URL of the interconnect attachment resource. When the value of this field is
43696
- # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
43697
- # all Egress or Ingress traffic for this VPN Gateway interface will go through
43698
- # the specified interconnect attachment resource.
45675
+ # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
45676
+ # gateway interface. When the value of this field is present, the VPN gateway is
45677
+ # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
45678
+ # this VPN gateway interface goes through the specified VLAN attachment resource.
45679
+ # Not currently available publicly.
43699
45680
  # Corresponds to the JSON property `interconnectAttachment`
43700
45681
  # @return [String]
43701
45682
  attr_accessor :interconnect_attachment
43702
45683
 
43703
- # [Output Only] The external IP address for this VPN gateway interface.
45684
+ # [Output Only] IP address for this VPN interface associated with the VPN
45685
+ # gateway. The IP address could be either a regional external IP address or a
45686
+ # regional internal IP address. The two IP addresses for a VPN gateway must be
45687
+ # all regional external or regional internal IP addresses. There cannot be a mix
45688
+ # of regional external IP addresses and regional internal IP addresses. For
45689
+ # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
45690
+ # either be regional internal IP addresses or regional external IP addresses.
45691
+ # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
45692
+ # address must be a regional external IP address.
43704
45693
  # Corresponds to the JSON property `ipAddress`
43705
45694
  # @return [String]
43706
45695
  attr_accessor :ip_address
@@ -43978,8 +45967,8 @@ module Google
43978
45967
  # - DEPROVISIONING: Resources are being deallocated for the VPN tunnel.
43979
45968
  # - FAILED: Tunnel creation has failed and the tunnel is not ready to be used.
43980
45969
  # - NO_INCOMING_PACKETS: No incoming packets from peer.
43981
- # - REJECTED: Tunnel configuration was rejected, can be result of being
43982
- # blacklisted.
45970
+ # - REJECTED: Tunnel configuration was rejected, can be result of being denied
45971
+ # access.
43983
45972
  # - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required
43984
45973
  # resources.
43985
45974
  # - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for