google-apis-compute_alpha 0.6.0 → 0.11.0

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