google-apis-compute_alpha 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 244d5e9ec94dccec2352aeda16db901ed54e7d8454474ad91726096fdd939cd8
4
- data.tar.gz: d2189ad9041c108c372a9c568648a28fe487843c2ed93acf2b023b333184278b
3
+ metadata.gz: b5e90bce39bdac1b4abf1448028d8cd5c7e6d6032d203f6af2621cf2e4f0113b
4
+ data.tar.gz: 326684927fa6fdb9f0b3e0aba6bbcc59039a63867d1586191e8f6589ac794c4d
5
5
  SHA512:
6
- metadata.gz: 783a885574b61ef396348e4a4fcd298da9bad6d1bd13d20e6aae6d4ce7f9ff683594edaa408cf0ab49bad63793e1eb53dc016118a9396398ce9b0cd1f2586457
7
- data.tar.gz: e94d063b819e1223d30a533d3e25c75ce627195821cf35eef98172680f27b59515f5d438c470a9ea7f0cad1bd608991e88beaab551a9438516c004d026b83504
6
+ metadata.gz: bb354f8d8f22b9c20bb4dcb1bc8cebd4ab7d87283c2b75882ff69556925ccad074805c353426bfa7660fb6b8937091d0e616a5964f8d42d682ccc0cd9005d161
7
+ data.tar.gz: 011465f4e09bc9934dc670e436d825bf37e4d6997f1bf9d0c47ded6a7e3f366730695a9c3a82b83e2e2912f96160d1cefb97987c8c3c28e2dd49112c4a9699dd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.2.0 (2021-01-30)
4
+
5
+ * Regenerated from discovery document revision 20210111
6
+ * Regenerated using generator version 0.1.2
7
+
3
8
  ### v0.1.0 (2021-01-07)
4
9
 
5
10
  * Regenerated using generator version 0.1.1
@@ -1156,6 +1156,12 @@ module Google
1156
1156
  class AllocationShareSettings
1157
1157
  include Google::Apis::Core::Hashable
1158
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
+
1159
1165
  # Type of sharing for this shared-reservation
1160
1166
  # Corresponds to the JSON property `shareType`
1161
1167
  # @return [String]
@@ -1167,6 +1173,7 @@ module Google
1167
1173
 
1168
1174
  # Update properties of this object
1169
1175
  def update!(**args)
1176
+ @projects = args[:projects] if args.key?(:projects)
1170
1177
  @share_type = args[:share_type] if args.key?(:share_type)
1171
1178
  end
1172
1179
  end
@@ -1291,6 +1298,80 @@ module Google
1291
1298
  end
1292
1299
  end
1293
1300
 
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
+
1294
1375
  # An instance-attached disk resource.
1295
1376
  class AttachedDisk
1296
1377
  include Google::Apis::Core::Hashable
@@ -2697,49 +2778,22 @@ module Google
2697
2778
  class Backend
2698
2779
  include Google::Apis::Core::Hashable
2699
2780
 
2700
- # Specifies the balancing mode for the backend.
2701
- # When choosing a balancing mode, you need to consider the loadBalancingScheme,
2702
- # and protocol for the backend service, as well as the type of backend (instance
2703
- # group or NEG).
2704
- #
2705
- # - If the load balancing mode is CONNECTION, then the load is spread based on
2706
- # how many concurrent connections the backend can handle.
2707
- # You can use the CONNECTION balancing mode if the protocol for the backend
2708
- # service is SSL, TCP, or UDP.
2709
- # If the loadBalancingScheme for the backend service is EXTERNAL (SSL Proxy and
2710
- # TCP Proxy load balancers), you must also specify exactly one of the following
2711
- # parameters: maxConnections (except for regional managed instance groups),
2712
- # maxConnectionsPerInstance, or maxConnectionsPerEndpoint.
2713
- # If the loadBalancingScheme for the backend service is INTERNAL (internal TCP/
2714
- # UDP Load Balancers) or EXTERNAL (Network Load Balancing), you cannot specify
2715
- # any additional parameters.
2716
- #
2717
- # - If the load balancing mode is RATE, the load is spread based on the rate of
2718
- # HTTP requests per second (RPS).
2719
- # You can use the RATE balancing mode if the protocol for the backend service is
2720
- # HTTP, HTTP2, or HTTPS. You must specify exactly one of the following
2721
- # parameters: maxRate (except for regional managed instance groups),
2722
- # maxRatePerInstance, or maxRatePerEndpoint.
2723
- #
2724
- # - If the load balancing mode is UTILIZATION, the load is spread based on the
2725
- # backend utilization of instances in an instance group.
2726
- # You can use the UTILIZATION balancing mode if the loadBalancingScheme of the
2727
- # backend service is EXTERNAL (except Network Load Balancing),
2728
- # INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED and the backends are instance
2729
- # groups. There are no restrictions on the backend service protocol.
2781
+ # Specifies how to determine whether the backend of a load balancer can handle
2782
+ # additional traffic or is fully loaded. For usage guidelines, see Connection
2783
+ # balancing mode.
2730
2784
  # Corresponds to the JSON property `balancingMode`
2731
2785
  # @return [String]
2732
2786
  attr_accessor :balancing_mode
2733
2787
 
2734
- # A multiplier applied to the group's maximum servicing capacity (based on
2735
- # UTILIZATION, RATE or CONNECTION). Default value is 1, which means the group
2736
- # will serve up to 100% of its configured capacity (depending on balancingMode).
2737
- # A setting of 0 means the group is completely drained, offering 0% of its
2738
- # available capacity. Valid range is 0.0 and [0.1,1.0]. You cannot configure a
2739
- # setting larger than 0 and smaller than 0.1. You cannot configure a setting of
2740
- # 0 when there is only one backend attached to the backend service.
2741
- # This cannot be used for Internal TCP/UDP Load Balancing and Network Load
2742
- # Balancing.
2788
+ # A multiplier applied to the backend's target capacity of its balancing mode.
2789
+ # The default value is 1, which means the group serves up to 100% of its
2790
+ # configured capacity (depending on balancingMode). A setting of 0 means the
2791
+ # group is completely drained, offering 0% of its available capacity. The valid
2792
+ # ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and
2793
+ # smaller than 0.1. You cannot configure a setting of 0 when there is only one
2794
+ # backend attached to the backend service.
2795
+ # Not supported by:
2796
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing
2743
2797
  # Corresponds to the JSON property `capacityScaler`
2744
2798
  # @return [Float]
2745
2799
  attr_accessor :capacity_scaler
@@ -2777,91 +2831,52 @@ module Google
2777
2831
  # @return [String]
2778
2832
  attr_accessor :group
2779
2833
 
2780
- # Defines a target maximum number of simultaneous connections that the backend
2781
- # can handle. Valid for network endpoint group and instance group backends (
2782
- # except for regional managed instance groups). If the backend's balancingMode
2783
- # is UTILIZATION, this is an optional parameter. If the backend's balancingMode
2784
- # is CONNECTION, and backend is attached to a backend service whose
2785
- # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
2786
- # specify either this parameter, maxConnectionsPerInstance, or
2787
- # maxConnectionsPerEndpoint.
2788
- # Not available if the backend's balancingMode is RATE. Cannot be specified for
2789
- # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2790
- # load balancers require a balancing mode of CONNECTION.
2834
+ # Defines a target maximum number of simultaneous connections. For usage
2835
+ # guidelines, see Connection balancing mode and Utilization balancing mode. Not
2836
+ # available if the backend's balancingMode is RATE. Not supported by:
2837
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing
2791
2838
  # Corresponds to the JSON property `maxConnections`
2792
2839
  # @return [Fixnum]
2793
2840
  attr_accessor :max_connections
2794
2841
 
2795
- # Defines a target maximum number of simultaneous connections for an endpoint of
2796
- # a NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2797
- # calculate a maximum number of target maximum simultaneous connections for the
2798
- # NEG. If the backend's balancingMode is CONNECTION, and backend is attached to
2799
- # a backend service whose loadBalancingScheme is EXTERNAL (except Network Load
2800
- # Balancing), you must specify either this parameter, maxConnections, or
2801
- # maxConnectionsPerInstance.
2802
- # Not available if the backend's balancingMode is RATE. Cannot be specified for
2803
- # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2804
- # load balancers require a balancing mode of CONNECTION.
2842
+ # Defines a target maximum number of simultaneous connections. For usage
2843
+ # guidelines, see Connection balancing mode and Utilization balancing mode.
2844
+ # Not available if the backend's balancingMode is RATE. Not supported by:
2845
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing.
2805
2846
  # Corresponds to the JSON property `maxConnectionsPerEndpoint`
2806
2847
  # @return [Fixnum]
2807
2848
  attr_accessor :max_connections_per_endpoint
2808
2849
 
2809
- # Defines a target maximum number of simultaneous connections for a single VM in
2810
- # a backend instance group. This is multiplied by the number of instances in the
2811
- # instance group to implicitly calculate a target maximum number of simultaneous
2812
- # connections for the whole instance group. If the backend's balancingMode is
2813
- # UTILIZATION, this is an optional parameter. If the backend's balancingMode is
2814
- # CONNECTION, and backend is attached to a backend service whose
2815
- # loadBalancingScheme is EXTERNAL (except Network Load Balancing), you must
2816
- # specify either this parameter, maxConnections, or maxConnectionsPerEndpoint.
2817
- # Not available if the backend's balancingMode is RATE. Cannot be specified for
2818
- # Network Load Balancing or Internal TCP/UDP Load Balancing, even though those
2819
- # load balancers require a balancing mode of CONNECTION.
2850
+ # Defines a target maximum number of simultaneous connections. For usage
2851
+ # guidelines, see Connection balancing mode and Utilization balancing mode.
2852
+ # Not available if the backend's balancingMode is RATE. Not supported by:
2853
+ # - Internal TCP/UDP Load Balancing - Network Load Balancing.
2820
2854
  # Corresponds to the JSON property `maxConnectionsPerInstance`
2821
2855
  # @return [Fixnum]
2822
2856
  attr_accessor :max_connections_per_instance
2823
2857
 
2824
- # Defines a maximum number of HTTP requests per second (RPS) that the backend
2825
- # can handle. Valid for network endpoint group and instance group backends (
2826
- # except for regional managed instance groups). Must not be defined if the
2827
- # backend is a managed instance group that uses autoscaling based on load
2828
- # balancing.
2829
- # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2830
- # If the backend's balancingMode is RATE, you must specify maxRate,
2831
- # maxRatePerInstance, or maxRatePerEndpoint.
2858
+ # Defines a maximum number of HTTP requests per second (RPS). For usage
2859
+ # guidelines, see Rate balancing mode and Utilization balancing mode.
2832
2860
  # Not available if the backend's balancingMode is CONNECTION.
2833
2861
  # Corresponds to the JSON property `maxRate`
2834
2862
  # @return [Fixnum]
2835
2863
  attr_accessor :max_rate
2836
2864
 
2837
- # Defines a maximum target for requests per second (RPS) for an endpoint of a
2838
- # NEG. This is multiplied by the number of endpoints in the NEG to implicitly
2839
- # calculate a target maximum rate for the NEG.
2840
- # If the backend's balancingMode is RATE, you must specify either this parameter,
2841
- # maxRate (except for regional managed instance groups), or maxRatePerInstance.
2865
+ # Defines a maximum target for requests per second (RPS). For usage guidelines,
2866
+ # see Rate balancing mode and Utilization balancing mode.
2842
2867
  # Not available if the backend's balancingMode is CONNECTION.
2843
2868
  # Corresponds to the JSON property `maxRatePerEndpoint`
2844
2869
  # @return [Float]
2845
2870
  attr_accessor :max_rate_per_endpoint
2846
2871
 
2847
- # Defines a maximum target for requests per second (RPS) for a single VM in a
2848
- # backend instance group. This is multiplied by the number of instances in the
2849
- # instance group to implicitly calculate a target maximum rate for the whole
2850
- # instance group.
2851
- # If the backend's balancingMode is UTILIZATION, this is an optional parameter.
2852
- # If the backend's balancingMode is RATE, you must specify either this parameter,
2853
- # maxRate (except for regional managed instance groups), or maxRatePerEndpoint.
2872
+ # Defines a maximum target for requests per second (RPS). For usage guidelines,
2873
+ # see Rate balancing mode and Utilization balancing mode.
2854
2874
  # Not available if the backend's balancingMode is CONNECTION.
2855
2875
  # Corresponds to the JSON property `maxRatePerInstance`
2856
2876
  # @return [Float]
2857
2877
  attr_accessor :max_rate_per_instance
2858
2878
 
2859
- # Defines the maximum average backend utilization of a backend VM in an instance
2860
- # group. The valid range is [0.0, 1.0]. This is an optional parameter if the
2861
- # backend's balancingMode is UTILIZATION.
2862
- # This parameter can be used in conjunction with maxRate, maxRatePerInstance,
2863
- # maxConnections (except for regional managed instance groups), or
2864
- # maxConnectionsPerInstance.
2879
+ #
2865
2880
  # Corresponds to the JSON property `maxUtilization`
2866
2881
  # @return [Float]
2867
2882
  attr_accessor :max_utilization
@@ -3485,6 +3500,14 @@ module Google
3485
3500
  # @return [Google::Apis::ComputeAlpha::BackendServiceLogConfig]
3486
3501
  attr_accessor :log_config
3487
3502
 
3503
+ # A Duration represents a fixed-length span of time represented as a count of
3504
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3505
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3506
+ # 000 years.
3507
+ # Corresponds to the JSON property `maxStreamDuration`
3508
+ # @return [Google::Apis::ComputeAlpha::Duration]
3509
+ attr_accessor :max_stream_duration
3510
+
3488
3511
  # Name of the resource. Provided by the client when the resource is created. The
3489
3512
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3490
3513
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3591,7 +3614,8 @@ module Google
3591
3614
 
3592
3615
  # The backend service timeout has a different meaning depending on the type of
3593
3616
  # load balancer. For more information see, Backend service settings The default
3594
- # is 30 seconds.
3617
+ # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3618
+ # seconds.
3595
3619
  # Corresponds to the JSON property `timeoutSec`
3596
3620
  # @return [Fixnum]
3597
3621
  attr_accessor :timeout_sec
@@ -3624,6 +3648,7 @@ module Google
3624
3648
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3625
3649
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3626
3650
  @log_config = args[:log_config] if args.key?(:log_config)
3651
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3627
3652
  @name = args[:name] if args.key?(:name)
3628
3653
  @network = args[:network] if args.key?(:network)
3629
3654
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3987,6 +4012,25 @@ module Google
3987
4012
  # @return [String]
3988
4013
  attr_accessor :connection_persistence_on_unhealthy_backends
3989
4014
 
4015
+ # Specifies how long to keep a Connection Tracking entry while there is no
4016
+ # matching traffic (in seconds).
4017
+ # For L4 ILB the minimum(default) is 10 minutes and maximum is 16 hours.
4018
+ # For NLB the minimum(default) is 60 seconds and the maximum is 16 hours.
4019
+ # This field will be supported only if the Connection Tracking key is less than
4020
+ # 5-tuple.
4021
+ # Corresponds to the JSON property `idleTimeoutSec`
4022
+ # @return [Fixnum]
4023
+ attr_accessor :idle_timeout_sec
4024
+
4025
+ # Specifies the key used for connection tracking. There are two options:
4026
+ # PER_CONNECTION: This is the default mode. The Connection Tracking is performed
4027
+ # as per the Connection Key (default Hash Method) for the specific protocol.
4028
+ # PER_SESSION: The Connection Tracking is performed as per the configured
4029
+ # Session Affinity. It matches the configured Session Affinity.
4030
+ # Corresponds to the JSON property `trackingMode`
4031
+ # @return [String]
4032
+ attr_accessor :tracking_mode
4033
+
3990
4034
  def initialize(**args)
3991
4035
  update!(**args)
3992
4036
  end
@@ -3994,6 +4038,8 @@ module Google
3994
4038
  # Update properties of this object
3995
4039
  def update!(**args)
3996
4040
  @connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
4041
+ @idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
4042
+ @tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
3997
4043
  end
3998
4044
  end
3999
4045
 
@@ -4830,6 +4876,12 @@ module Google
4830
4876
  # @return [String]
4831
4877
  attr_accessor :name_pattern
4832
4878
 
4879
+ # Per-instance properties to be set on individual instances. Keys of this map
4880
+ # specify requested instance names. Can be empty if name_pattern is used.
4881
+ # Corresponds to the JSON property `perInstanceProperties`
4882
+ # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
4883
+ attr_accessor :per_instance_properties
4884
+
4833
4885
  # List of predefined names. The number of names provided must be equal to count.
4834
4886
  # Corresponds to the JSON property `predefinedNames`
4835
4887
  # @return [Array<String>]
@@ -4862,11 +4914,32 @@ module Google
4862
4914
  @location_policy = args[:location_policy] if args.key?(:location_policy)
4863
4915
  @min_count = args[:min_count] if args.key?(:min_count)
4864
4916
  @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4917
+ @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4865
4918
  @predefined_names = args[:predefined_names] if args.key?(:predefined_names)
4866
4919
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4867
4920
  end
4868
4921
  end
4869
4922
 
4923
+ # Per-instance properties to be set on individual instances. To be extended in
4924
+ # the future.
4925
+ class BulkInsertInstanceResourcePerInstanceProperties
4926
+ include Google::Apis::Core::Hashable
4927
+
4928
+ # This field is only temporary. It will be removed. Do not use it.
4929
+ # Corresponds to the JSON property `name`
4930
+ # @return [String]
4931
+ attr_accessor :name
4932
+
4933
+ def initialize(**args)
4934
+ update!(**args)
4935
+ end
4936
+
4937
+ # Update properties of this object
4938
+ def update!(**args)
4939
+ @name = args[:name] if args.key?(:name)
4940
+ end
4941
+ end
4942
+
4870
4943
  #
4871
4944
  class CacheInvalidationRule
4872
4945
  include Google::Apis::Core::Hashable
@@ -5663,9 +5736,9 @@ module Google
5663
5736
  class ConnectionDraining
5664
5737
  include Google::Apis::Core::Hashable
5665
5738
 
5666
- # The amount of time in seconds to allow existing connections to persist while
5667
- # on unhealthy backend VMs. Only applicable if the protocol is not UDP. The
5668
- # valid range is [0, 3600].
5739
+ # Configures a duration timeout for existing requests on a removed backend
5740
+ # instance. For supported load balancers and protocols, as described in Enabling
5741
+ # connection draining.
5669
5742
  # Corresponds to the JSON property `drainingTimeoutSec`
5670
5743
  # @return [Fixnum]
5671
5744
  attr_accessor :draining_timeout_sec
@@ -5776,8 +5849,7 @@ module Google
5776
5849
  attr_accessor :allow_methods
5777
5850
 
5778
5851
  # Specifies the regualar expression patterns that match allowed origins. For
5779
- # regular expression grammar please see en.cppreference.com/w/cpp/regex/
5780
- # ecmascript
5852
+ # regular expression grammar please see github.com/google/re2/wiki/Syntax
5781
5853
  # An origin is allowed if it matches either an item in allowOrigins or an item
5782
5854
  # in allowOriginRegexes.
5783
5855
  # Corresponds to the JSON property `allowOriginRegexes`
@@ -6070,6 +6142,12 @@ module Google
6070
6142
  # @return [Array<String>]
6071
6143
  attr_accessor :licenses
6072
6144
 
6145
+ # An opaque location hint used to place the disk close to other resources. This
6146
+ # field is for use by internal tools that use the public API.
6147
+ # Corresponds to the JSON property `locationHint`
6148
+ # @return [String]
6149
+ attr_accessor :location_hint
6150
+
6073
6151
  # Indicates whether or not the disk can be read/write attached to more than one
6074
6152
  # instance.
6075
6153
  # Corresponds to the JSON property `multiWriter`
@@ -6271,14 +6349,19 @@ module Google
6271
6349
  # The full Google Cloud Storage URI where the disk image is stored. This file
6272
6350
  # must be a gzip-compressed tarball whose name ends in .tar.gz or virtual
6273
6351
  # machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https:
6274
- # //storage.googleapis.com/.
6352
+ # //storage.googleapis.com/. This flag is not optimized for creating multiple
6353
+ # disks from a source storage object. To create many disks from a source storage
6354
+ # object, use gcloud compute images import instead.
6275
6355
  # Corresponds to the JSON property `sourceStorageObject`
6276
6356
  # @return [String]
6277
6357
  attr_accessor :source_storage_object
6278
6358
 
6279
- # [Output Only] The status of disk creation. CREATING: Disk is provisioning.
6280
- # RESTORING: Source data is being copied into the disk. FAILED: Disk creation
6281
- # failed. READY: Disk is ready for use. DELETING: Disk is deleting.
6359
+ # [Output Only] The status of disk creation.
6360
+ # - CREATING: Disk is provisioning.
6361
+ # - RESTORING: Source data is being copied into the disk.
6362
+ # - FAILED: Disk creation failed.
6363
+ # - READY: Disk is ready for use.
6364
+ # - DELETING: Disk is deleting.
6282
6365
  # Corresponds to the JSON property `status`
6283
6366
  # @return [String]
6284
6367
  attr_accessor :status
@@ -6337,6 +6420,7 @@ module Google
6337
6420
  @last_detach_timestamp = args[:last_detach_timestamp] if args.key?(:last_detach_timestamp)
6338
6421
  @license_codes = args[:license_codes] if args.key?(:license_codes)
6339
6422
  @licenses = args[:licenses] if args.key?(:licenses)
6423
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
6340
6424
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
6341
6425
  @name = args[:name] if args.key?(:name)
6342
6426
  @options = args[:options] if args.key?(:options)
@@ -8301,6 +8385,32 @@ module Google
8301
8385
  end
8302
8386
  end
8303
8387
 
8388
+ #
8389
+ class FirewallPoliciesListAssociationsResponse
8390
+ include Google::Apis::Core::Hashable
8391
+
8392
+ # A list of associations.
8393
+ # Corresponds to the JSON property `associations`
8394
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyAssociation>]
8395
+ attr_accessor :associations
8396
+
8397
+ # [Output Only] Type of firewallPolicy associations. Always compute#
8398
+ # FirewallPoliciesListAssociations for lists of firewallPolicy associations.
8399
+ # Corresponds to the JSON property `kind`
8400
+ # @return [String]
8401
+ attr_accessor :kind
8402
+
8403
+ def initialize(**args)
8404
+ update!(**args)
8405
+ end
8406
+
8407
+ # Update properties of this object
8408
+ def update!(**args)
8409
+ @associations = args[:associations] if args.key?(:associations)
8410
+ @kind = args[:kind] if args.key?(:kind)
8411
+ end
8412
+ end
8413
+
8304
8414
  # Represents a Firewall Policy resource. (== resource_for `$api_version`.
8305
8415
  # firewallPolicies ==)
8306
8416
  class FirewallPolicy
@@ -8629,7 +8739,7 @@ module Google
8629
8739
  attr_accessor :rule_tuple_count
8630
8740
 
8631
8741
  # A list of network resource URLs to which this rule applies. This field allows
8632
- # you to control which network?s VMs get this rule. If this field is left blank,
8742
+ # you to control which network's VMs get this rule. If this field is left blank,
8633
8743
  # all VMs within the organization will receive the rule.
8634
8744
  # Corresponds to the JSON property `targetResources`
8635
8745
  # @return [Array<String>]
@@ -8818,8 +8928,6 @@ module Google
8818
8928
  # ip_address_specifications).
8819
8929
  # Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
8820
8930
  # validateForProxyless field set to true.
8821
- # For Private Service Connect forwarding rules that forward traffic to Google
8822
- # APIs, IP address must be provided.
8823
8931
  # Corresponds to the JSON property `IPAddress`
8824
8932
  # @return [String]
8825
8933
  attr_accessor :ip_address
@@ -8992,8 +9100,6 @@ module Google
8992
9100
  # For Internal TCP/UDP Load Balancing, this field identifies the network that
8993
9101
  # the load balanced IP should belong to for this Forwarding Rule. If this field
8994
9102
  # is not specified, the default network will be used.
8995
- # For Private Service Connect forwarding rules that forward traffic to Google
8996
- # APIs, a network must be provided.
8997
9103
  # Corresponds to the JSON property `network`
8998
9104
  # @return [String]
8999
9105
  attr_accessor :network
@@ -9104,15 +9210,6 @@ module Google
9104
9210
  # resource. The forwarded traffic must be of a type appropriate to the target
9105
9211
  # object. For more information, see the "Target" column in [Port specifications](
9106
9212
  # /load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
9107
- # For Private Service Connect forwarding rules that forward traffic to Google
9108
- # APIs, provide the name of a supported Google API bundle. Currently, the
9109
- # supported Google API bundles include:
9110
- #
9111
- # - vpc-sc - GCP APIs that support VPC Service Controls. For more information
9112
- # about which APIs support VPC Service Controls, refer to VPC-SC supported
9113
- # products and limitations.
9114
- # - all-apis - All GCP APIs. For more information about which APIs are supported
9115
- # with this bundle, refer to Private Google Access-specific domains and VIPs.
9116
9213
  # Corresponds to the JSON property `target`
9117
9214
  # @return [String]
9118
9215
  attr_accessor :target
@@ -9644,6 +9741,69 @@ module Google
9644
9741
  end
9645
9742
  end
9646
9743
 
9744
+ #
9745
+ class GlobalOrganizationSetPolicyRequest
9746
+ include Google::Apis::Core::Hashable
9747
+
9748
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
9749
+ # policy' to specify bindings.
9750
+ # Corresponds to the JSON property `bindings`
9751
+ # @return [Array<Google::Apis::ComputeAlpha::Binding>]
9752
+ attr_accessor :bindings
9753
+
9754
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
9755
+ # policy' to specify the etag.
9756
+ # Corresponds to the JSON property `etag`
9757
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
9758
+ # @return [String]
9759
+ attr_accessor :etag
9760
+
9761
+ # An Identity and Access Management (IAM) policy, which specifies access
9762
+ # controls for Google Cloud resources.
9763
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
9764
+ # members` to a single `role`. Members can be user accounts, service accounts,
9765
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
9766
+ # permissions; each `role` can be an IAM predefined role or a user-created
9767
+ # custom role.
9768
+ # For some types of Google Cloud resources, a `binding` can also specify a `
9769
+ # condition`, which is a logical expression that allows access to a resource
9770
+ # only if the expression evaluates to `true`. A condition can add constraints
9771
+ # based on attributes of the request, the resource, or both. To learn which
9772
+ # resources support conditions in their IAM policies, see the [IAM documentation]
9773
+ # (https://cloud.google.com/iam/help/conditions/resource-policies).
9774
+ # **JSON example:**
9775
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
9776
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9777
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9778
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9779
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9780
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9781
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
9782
+ # **YAML example:**
9783
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9784
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9785
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9786
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9787
+ # access description: Does not grant access after Sep 2020 expression: request.
9788
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
9789
+ # For a description of IAM and its features, see the [IAM documentation](https://
9790
+ # cloud.google.com/iam/docs/).
9791
+ # Corresponds to the JSON property `policy`
9792
+ # @return [Google::Apis::ComputeAlpha::Policy]
9793
+ attr_accessor :policy
9794
+
9795
+ def initialize(**args)
9796
+ update!(**args)
9797
+ end
9798
+
9799
+ # Update properties of this object
9800
+ def update!(**args)
9801
+ @bindings = args[:bindings] if args.key?(:bindings)
9802
+ @etag = args[:etag] if args.key?(:etag)
9803
+ @policy = args[:policy] if args.key?(:policy)
9804
+ end
9805
+ end
9806
+
9647
9807
  #
9648
9808
  class GlobalSetLabelsRequest
9649
9809
  include Google::Apis::Core::Hashable
@@ -10579,6 +10739,129 @@ module Google
10579
10739
  end
10580
10740
  end
10581
10741
 
10742
+ # Contains a list of HealthCheckServicesScopedList.
10743
+ class HealthCheckServiceAggregatedList
10744
+ include Google::Apis::Core::Hashable
10745
+
10746
+ # [Output Only] Unique identifier for the resource; defined by the server.
10747
+ # Corresponds to the JSON property `id`
10748
+ # @return [String]
10749
+ attr_accessor :id
10750
+
10751
+ # A list of HealthCheckServicesScopedList resources.
10752
+ # Corresponds to the JSON property `items`
10753
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HealthCheckServicesScopedList>]
10754
+ attr_accessor :items
10755
+
10756
+ # Type of resource.
10757
+ # Corresponds to the JSON property `kind`
10758
+ # @return [String]
10759
+ attr_accessor :kind
10760
+
10761
+ # [Output Only] This token allows you to get the next page of results for list
10762
+ # requests. If the number of results is larger than maxResults, use the
10763
+ # nextPageToken as a value for the query parameter pageToken in the next list
10764
+ # request. Subsequent list requests will have their own nextPageToken to
10765
+ # continue paging through the results.
10766
+ # Corresponds to the JSON property `nextPageToken`
10767
+ # @return [String]
10768
+ attr_accessor :next_page_token
10769
+
10770
+ # [Output Only] Server-defined URL for this resource.
10771
+ # Corresponds to the JSON property `selfLink`
10772
+ # @return [String]
10773
+ attr_accessor :self_link
10774
+
10775
+ # [Output Only] Unreachable resources.
10776
+ # Corresponds to the JSON property `unreachables`
10777
+ # @return [Array<String>]
10778
+ attr_accessor :unreachables
10779
+
10780
+ # [Output Only] Informational warning message.
10781
+ # Corresponds to the JSON property `warning`
10782
+ # @return [Google::Apis::ComputeAlpha::HealthCheckServiceAggregatedList::Warning]
10783
+ attr_accessor :warning
10784
+
10785
+ def initialize(**args)
10786
+ update!(**args)
10787
+ end
10788
+
10789
+ # Update properties of this object
10790
+ def update!(**args)
10791
+ @id = args[:id] if args.key?(:id)
10792
+ @items = args[:items] if args.key?(:items)
10793
+ @kind = args[:kind] if args.key?(:kind)
10794
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10795
+ @self_link = args[:self_link] if args.key?(:self_link)
10796
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10797
+ @warning = args[:warning] if args.key?(:warning)
10798
+ end
10799
+
10800
+ # [Output Only] Informational warning message.
10801
+ class Warning
10802
+ include Google::Apis::Core::Hashable
10803
+
10804
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10805
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10806
+ # Corresponds to the JSON property `code`
10807
+ # @return [String]
10808
+ attr_accessor :code
10809
+
10810
+ # [Output Only] Metadata about this warning in key: value format. For example:
10811
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10812
+ # Corresponds to the JSON property `data`
10813
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckServiceAggregatedList::Warning::Datum>]
10814
+ attr_accessor :data
10815
+
10816
+ # [Output Only] A human-readable description of the warning code.
10817
+ # Corresponds to the JSON property `message`
10818
+ # @return [String]
10819
+ attr_accessor :message
10820
+
10821
+ def initialize(**args)
10822
+ update!(**args)
10823
+ end
10824
+
10825
+ # Update properties of this object
10826
+ def update!(**args)
10827
+ @code = args[:code] if args.key?(:code)
10828
+ @data = args[:data] if args.key?(:data)
10829
+ @message = args[:message] if args.key?(:message)
10830
+ end
10831
+
10832
+ #
10833
+ class Datum
10834
+ include Google::Apis::Core::Hashable
10835
+
10836
+ # [Output Only] A key that provides more detail on the warning being returned.
10837
+ # For example, for warnings where there are no results in a list request for a
10838
+ # particular zone, this key might be scope and the key value might be the zone
10839
+ # name. Other examples might be a key indicating a deprecated resource and a
10840
+ # suggested replacement, or a warning about invalid network settings (for
10841
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10842
+ # for IP forwarding).
10843
+ # Corresponds to the JSON property `key`
10844
+ # @return [String]
10845
+ attr_accessor :key
10846
+
10847
+ # [Output Only] A warning data value corresponding to the key.
10848
+ # Corresponds to the JSON property `value`
10849
+ # @return [String]
10850
+ attr_accessor :value
10851
+
10852
+ def initialize(**args)
10853
+ update!(**args)
10854
+ end
10855
+
10856
+ # Update properties of this object
10857
+ def update!(**args)
10858
+ @key = args[:key] if args.key?(:key)
10859
+ @value = args[:value] if args.key?(:value)
10860
+ end
10861
+ end
10862
+ end
10863
+ end
10864
+
10582
10865
  # A full or valid partial URL to a health check service. For example, the
10583
10866
  # following are valid URLs:
10584
10867
  # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/
@@ -10722,6 +11005,97 @@ module Google
10722
11005
  end
10723
11006
  end
10724
11007
 
11008
+ #
11009
+ class HealthCheckServicesScopedList
11010
+ include Google::Apis::Core::Hashable
11011
+
11012
+ # A list of HealthCheckServices contained in this scope.
11013
+ # Corresponds to the JSON property `resources`
11014
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckService>]
11015
+ attr_accessor :resources
11016
+
11017
+ # Informational warning which replaces the list of backend services when the
11018
+ # list is empty.
11019
+ # Corresponds to the JSON property `warning`
11020
+ # @return [Google::Apis::ComputeAlpha::HealthCheckServicesScopedList::Warning]
11021
+ attr_accessor :warning
11022
+
11023
+ def initialize(**args)
11024
+ update!(**args)
11025
+ end
11026
+
11027
+ # Update properties of this object
11028
+ def update!(**args)
11029
+ @resources = args[:resources] if args.key?(:resources)
11030
+ @warning = args[:warning] if args.key?(:warning)
11031
+ end
11032
+
11033
+ # Informational warning which replaces the list of backend services when the
11034
+ # list is empty.
11035
+ class Warning
11036
+ include Google::Apis::Core::Hashable
11037
+
11038
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
11039
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
11040
+ # Corresponds to the JSON property `code`
11041
+ # @return [String]
11042
+ attr_accessor :code
11043
+
11044
+ # [Output Only] Metadata about this warning in key: value format. For example:
11045
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
11046
+ # Corresponds to the JSON property `data`
11047
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckServicesScopedList::Warning::Datum>]
11048
+ attr_accessor :data
11049
+
11050
+ # [Output Only] A human-readable description of the warning code.
11051
+ # Corresponds to the JSON property `message`
11052
+ # @return [String]
11053
+ attr_accessor :message
11054
+
11055
+ def initialize(**args)
11056
+ update!(**args)
11057
+ end
11058
+
11059
+ # Update properties of this object
11060
+ def update!(**args)
11061
+ @code = args[:code] if args.key?(:code)
11062
+ @data = args[:data] if args.key?(:data)
11063
+ @message = args[:message] if args.key?(:message)
11064
+ end
11065
+
11066
+ #
11067
+ class Datum
11068
+ include Google::Apis::Core::Hashable
11069
+
11070
+ # [Output Only] A key that provides more detail on the warning being returned.
11071
+ # For example, for warnings where there are no results in a list request for a
11072
+ # particular zone, this key might be scope and the key value might be the zone
11073
+ # name. Other examples might be a key indicating a deprecated resource and a
11074
+ # suggested replacement, or a warning about invalid network settings (for
11075
+ # example, if an instance attempts to perform IP forwarding but is not enabled
11076
+ # for IP forwarding).
11077
+ # Corresponds to the JSON property `key`
11078
+ # @return [String]
11079
+ attr_accessor :key
11080
+
11081
+ # [Output Only] A warning data value corresponding to the key.
11082
+ # Corresponds to the JSON property `value`
11083
+ # @return [String]
11084
+ attr_accessor :value
11085
+
11086
+ def initialize(**args)
11087
+ update!(**args)
11088
+ end
11089
+
11090
+ # Update properties of this object
11091
+ def update!(**args)
11092
+ @key = args[:key] if args.key?(:key)
11093
+ @value = args[:value] if args.key?(:value)
11094
+ end
11095
+ end
11096
+ end
11097
+ end
11098
+
10725
11099
  #
10726
11100
  class HealthChecksAggregatedList
10727
11101
  include Google::Apis::Core::Hashable
@@ -11314,8 +11688,8 @@ module Google
11314
11688
  attr_accessor :range_match
11315
11689
 
11316
11690
  # The value of the header must match the regular expression specified in
11317
- # regexMatch. For regular expression grammar, please see: en.cppreference.com/w/
11318
- # cpp/regex/ecmascript
11691
+ # regexMatch. For regular expression grammar, please see: github.com/google/re2/
11692
+ # wiki/Syntax
11319
11693
  # For matching against a port specified in the HTTP request, use a headerMatch
11320
11694
  # with headerName set to PORT and a regular expression that satisfies the
11321
11695
  # RFC2616 Host header's port specifier.
@@ -11644,7 +12018,7 @@ module Google
11644
12018
 
11645
12019
  # The queryParameterMatch matches if the value of the parameter matches the
11646
12020
  # regular expression specified by regexMatch. For the regular expression grammar,
11647
- # please see en.cppreference.com/w/cpp/regex/ecmascript
12021
+ # please see github.com/google/re2/wiki/Syntax
11648
12022
  # Only one of presentMatch, exactMatch or regexMatch must be set.
11649
12023
  # Note that regexMatch only applies when the loadBalancingScheme is set to
11650
12024
  # INTERNAL_SELF_MANAGED.
@@ -11823,6 +12197,14 @@ module Google
11823
12197
  # @return [Google::Apis::ComputeAlpha::HttpFaultInjection]
11824
12198
  attr_accessor :fault_injection_policy
11825
12199
 
12200
+ # A Duration represents a fixed-length span of time represented as a count of
12201
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
12202
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
12203
+ # 000 years.
12204
+ # Corresponds to the JSON property `maxStreamDuration`
12205
+ # @return [Google::Apis::ComputeAlpha::Duration]
12206
+ attr_accessor :max_stream_duration
12207
+
11826
12208
  # A policy that specifies how requests intended for the route's backends are
11827
12209
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11828
12210
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -11871,6 +12253,7 @@ module Google
11871
12253
  def update!(**args)
11872
12254
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
11873
12255
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
12256
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
11874
12257
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
11875
12258
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
11876
12259
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -12057,7 +12440,7 @@ module Google
12057
12440
  # For satisfying the matchRule condition, the path of the request must satisfy
12058
12441
  # the regular expression specified in regexMatch after removing any query
12059
12442
  # parameters and anchor supplied with the original URL. For regular expression
12060
- # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
12443
+ # grammar please see github.com/google/re2/wiki/Syntax
12061
12444
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
12062
12445
  # Note that regexMatch only applies to Loadbalancers that have their
12063
12446
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -12424,6 +12807,12 @@ module Google
12424
12807
  # @return [Google::Apis::ComputeAlpha::Image::RawDisk]
12425
12808
  attr_accessor :raw_disk
12426
12809
 
12810
+ # [Output Only] Reserved for future use.
12811
+ # Corresponds to the JSON property `satisfiesPzs`
12812
+ # @return [Boolean]
12813
+ attr_accessor :satisfies_pzs
12814
+ alias_method :satisfies_pzs?, :satisfies_pzs
12815
+
12427
12816
  # [Output Only] Server-defined URL for the resource.
12428
12817
  # Corresponds to the JSON property `selfLink`
12429
12818
  # @return [String]
@@ -12555,6 +12944,7 @@ module Google
12555
12944
  @licenses = args[:licenses] if args.key?(:licenses)
12556
12945
  @name = args[:name] if args.key?(:name)
12557
12946
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
12947
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
12558
12948
  @self_link = args[:self_link] if args.key?(:self_link)
12559
12949
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
12560
12950
  @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
@@ -13255,6 +13645,13 @@ module Google
13255
13645
  # @return [Array<String>]
13256
13646
  attr_accessor :resource_policies
13257
13647
 
13648
+ # Contains output only fields. Use this sub-message for actual values set on
13649
+ # Instance attributes as compared to the value requested by the user (intent) in
13650
+ # their instance CRUD calls.
13651
+ # Corresponds to the JSON property `resourceStatus`
13652
+ # @return [Google::Apis::ComputeAlpha::ResourceStatus]
13653
+ attr_accessor :resource_status
13654
+
13258
13655
  # [Output Only] Reserved for future use.
13259
13656
  # Corresponds to the JSON property `satisfiesPzs`
13260
13657
  # @return [Boolean]
@@ -13404,6 +13801,7 @@ module Google
13404
13801
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
13405
13802
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
13406
13803
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
13804
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
13407
13805
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
13408
13806
  @scheduling = args[:scheduling] if args.key?(:scheduling)
13409
13807
  @secure_labels = args[:secure_labels] if args.key?(:secure_labels)
@@ -16919,6 +17317,12 @@ module Google
16919
17317
  # @return [String]
16920
17318
  attr_accessor :region
16921
17319
 
17320
+ # [Output Only] Reserved for future use.
17321
+ # Corresponds to the JSON property `satisfiesPzs`
17322
+ # @return [Boolean]
17323
+ attr_accessor :satisfies_pzs
17324
+ alias_method :satisfies_pzs?, :satisfies_pzs
17325
+
16922
17326
  # [Output Only] Server-defined URL for the resource.
16923
17327
  # Corresponds to the JSON property `selfLink`
16924
17328
  # @return [String]
@@ -16976,6 +17380,7 @@ module Google
16976
17380
  @labels = args[:labels] if args.key?(:labels)
16977
17381
  @name = args[:name] if args.key?(:name)
16978
17382
  @region = args[:region] if args.key?(:region)
17383
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16979
17384
  @self_link = args[:self_link] if args.key?(:self_link)
16980
17385
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
16981
17386
  @source_disk = args[:source_disk] if args.key?(:source_disk)
@@ -19878,6 +20283,12 @@ module Google
19878
20283
  # @return [String]
19879
20284
  attr_accessor :name
19880
20285
 
20286
+ # [Output Only] Reserved for future use.
20287
+ # Corresponds to the JSON property `satisfiesPzs`
20288
+ # @return [Boolean]
20289
+ attr_accessor :satisfies_pzs
20290
+ alias_method :satisfies_pzs?, :satisfies_pzs
20291
+
19881
20292
  # [Output Only] The URL for this machine image. The server defines this URL.
19882
20293
  # Corresponds to the JSON property `selfLink`
19883
20294
  # @return [String]
@@ -19940,6 +20351,7 @@ module Google
19940
20351
  @kind = args[:kind] if args.key?(:kind)
19941
20352
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
19942
20353
  @name = args[:name] if args.key?(:name)
20354
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
19943
20355
  @self_link = args[:self_link] if args.key?(:self_link)
19944
20356
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19945
20357
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
@@ -21156,9 +21568,8 @@ module Google
21156
21568
  # @return [String]
21157
21569
  attr_accessor :ip_address
21158
21570
 
21159
- # Optional port number of network endpoint. If not specified and the
21160
- # NetworkEndpointGroup.network_endpoint_type is GCE_IP_PORT, the defaultPort for
21161
- # the network endpoint group will be used.
21571
+ # Optional port number of network endpoint. If not specified, the defaultPort
21572
+ # for the network endpoint group will be used.
21162
21573
  # Corresponds to the JSON property `port`
21163
21574
  # @return [Fixnum]
21164
21575
  attr_accessor :port
@@ -21294,6 +21705,14 @@ module Google
21294
21705
  # @return [String]
21295
21706
  attr_accessor :self_link_with_id
21296
21707
 
21708
+ # Configuration for a Serverless Deployment network endpoint group (NEG). The
21709
+ # platform must be provided.
21710
+ # Note: The target backend service must be in the same project and located in
21711
+ # the same region as the Serverless NEG.
21712
+ # Corresponds to the JSON property `serverlessDeployment`
21713
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupServerlessDeployment]
21714
+ attr_accessor :serverless_deployment
21715
+
21297
21716
  # [Output only] Number of network endpoints in the network endpoint group.
21298
21717
  # Corresponds to the JSON property `size`
21299
21718
  # @return [Fixnum]
@@ -21338,6 +21757,7 @@ module Google
21338
21757
  @region = args[:region] if args.key?(:region)
21339
21758
  @self_link = args[:self_link] if args.key?(:self_link)
21340
21759
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
21760
+ @serverless_deployment = args[:serverless_deployment] if args.key?(:serverless_deployment)
21341
21761
  @size = args[:size] if args.key?(:size)
21342
21762
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
21343
21763
  @type = args[:type] if args.key?(:type)
@@ -21757,6 +22177,72 @@ module Google
21757
22177
  end
21758
22178
  end
21759
22179
 
22180
+ # Configuration for a Serverless Deployment network endpoint group (NEG). The
22181
+ # platform must be provided.
22182
+ # Note: The target backend service must be in the same project and located in
22183
+ # the same region as the Serverless NEG.
22184
+ class NetworkEndpointGroupServerlessDeployment
22185
+ include Google::Apis::Core::Hashable
22186
+
22187
+ # The platform of the backend target(s) of this NEG. Possible values include:
22188
+ #
22189
+ # - apigateway.googleapis.com
22190
+ # - appengine.googleapies.com
22191
+ # - cloudfunctions.googleapis.com
22192
+ # - run.googleapis.com
22193
+ # Corresponds to the JSON property `platform`
22194
+ # @return [String]
22195
+ attr_accessor :platform
22196
+
22197
+ # The user-defined name of the workload/instance. This value must be provided
22198
+ # explicitly or in the urlMask. The resource identified by this value is
22199
+ # platform-specific and is as follows:
22200
+ #
22201
+ # - API Gateway: The gateway id
22202
+ # - AppEngine: The service name
22203
+ # - Cloud Functions: The function name
22204
+ # - Cloud Run: The service name
22205
+ # Corresponds to the JSON property `resource`
22206
+ # @return [String]
22207
+ attr_accessor :resource
22208
+
22209
+ # A template to parse platform-specific fields from a request URL. URL mask
22210
+ # allows for routing to multiple services on the same serverless platform
22211
+ # without having to create multiple Network Endpoint Groups and backend services.
22212
+ # The fields parsed by this template is platform-specific and are as follows:
22213
+ #
22214
+ # - API Gateway: The gateway id
22215
+ # - AppEngine: The service and version
22216
+ # - Cloud Functions: The function
22217
+ # - Cloud Run: The service and tag
22218
+ # Corresponds to the JSON property `urlMask`
22219
+ # @return [String]
22220
+ attr_accessor :url_mask
22221
+
22222
+ # The optional resource version. The version identified by this value is as
22223
+ # platform-specific and is follows:
22224
+ #
22225
+ # - API Gateway: Unused
22226
+ # - AppEngine: The service version
22227
+ # - Cloud Functions: Unused
22228
+ # - Cloud Run: The service tag
22229
+ # Corresponds to the JSON property `version`
22230
+ # @return [String]
22231
+ attr_accessor :version
22232
+
22233
+ def initialize(**args)
22234
+ update!(**args)
22235
+ end
22236
+
22237
+ # Update properties of this object
22238
+ def update!(**args)
22239
+ @platform = args[:platform] if args.key?(:platform)
22240
+ @resource = args[:resource] if args.key?(:resource)
22241
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
22242
+ @version = args[:version] if args.key?(:version)
22243
+ end
22244
+ end
22245
+
21760
22246
  #
21761
22247
  class NetworkEndpointGroupsAttachEndpointsRequest
21762
22248
  include Google::Apis::Core::Hashable
@@ -22176,6 +22662,14 @@ module Google
22176
22662
  # @return [String]
22177
22663
  attr_accessor :stack_type
22178
22664
 
22665
+ # SubInterfaces help enable L2 communication for the instance over subnetworks
22666
+ # that support L2. Every network interface will get a default untagged (vlan not
22667
+ # specified) subinterface. Users can specify additional tagged subinterfaces
22668
+ # which are sub-fields to the Network Interface.
22669
+ # Corresponds to the JSON property `subinterfaces`
22670
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkInterfaceSubInterface>]
22671
+ attr_accessor :subinterfaces
22672
+
22179
22673
  # The URL of the Subnetwork resource for this instance. If the network resource
22180
22674
  # is in legacy mode, do not specify this field. If the network is in auto subnet
22181
22675
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -22209,7 +22703,46 @@ module Google
22209
22703
  @nic_type = args[:nic_type] if args.key?(:nic_type)
22210
22704
  @queue_count = args[:queue_count] if args.key?(:queue_count)
22211
22705
  @stack_type = args[:stack_type] if args.key?(:stack_type)
22706
+ @subinterfaces = args[:subinterfaces] if args.key?(:subinterfaces)
22707
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
22708
+ end
22709
+ end
22710
+
22711
+ #
22712
+ class NetworkInterfaceSubInterface
22713
+ include Google::Apis::Core::Hashable
22714
+
22715
+ # An IPv4 internal IP address to assign to the instance for this subinterface.
22716
+ # Corresponds to the JSON property `ipAddress`
22717
+ # @return [String]
22718
+ attr_accessor :ip_address
22719
+
22720
+ # If specified, this subnetwork must belong to the same network as that of the
22721
+ # network interface. If not specified the subnet of network interface will be
22722
+ # used. If you specify this property, you can specify the subnetwork as a full
22723
+ # or partial URL. For example, the following are all valid URLs:
22724
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
22725
+ # subnetworks/subnetwork
22726
+ # - regions/region/subnetworks/subnetwork
22727
+ # Corresponds to the JSON property `subnetwork`
22728
+ # @return [String]
22729
+ attr_accessor :subnetwork
22730
+
22731
+ # VLAN tag. Should match the VLAN(s) supported by the subnetwork to which this
22732
+ # subinterface is connecting.
22733
+ # Corresponds to the JSON property `vlan`
22734
+ # @return [Fixnum]
22735
+ attr_accessor :vlan
22736
+
22737
+ def initialize(**args)
22738
+ update!(**args)
22739
+ end
22740
+
22741
+ # Update properties of this object
22742
+ def update!(**args)
22743
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
22212
22744
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
22745
+ @vlan = args[:vlan] if args.key?(:vlan)
22213
22746
  end
22214
22747
  end
22215
22748
 
@@ -24490,6 +25023,129 @@ module Google
24490
25023
  end
24491
25024
  end
24492
25025
 
25026
+ # Contains a list of NotificationEndpointsScopedList.
25027
+ class NotificationEndpointAggregatedList
25028
+ include Google::Apis::Core::Hashable
25029
+
25030
+ # [Output Only] Unique identifier for the resource; defined by the server.
25031
+ # Corresponds to the JSON property `id`
25032
+ # @return [String]
25033
+ attr_accessor :id
25034
+
25035
+ # A list of NotificationEndpointsScopedList resources.
25036
+ # Corresponds to the JSON property `items`
25037
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NotificationEndpointsScopedList>]
25038
+ attr_accessor :items
25039
+
25040
+ # Type of resource.
25041
+ # Corresponds to the JSON property `kind`
25042
+ # @return [String]
25043
+ attr_accessor :kind
25044
+
25045
+ # [Output Only] This token allows you to get the next page of results for list
25046
+ # requests. If the number of results is larger than maxResults, use the
25047
+ # nextPageToken as a value for the query parameter pageToken in the next list
25048
+ # request. Subsequent list requests will have their own nextPageToken to
25049
+ # continue paging through the results.
25050
+ # Corresponds to the JSON property `nextPageToken`
25051
+ # @return [String]
25052
+ attr_accessor :next_page_token
25053
+
25054
+ # [Output Only] Server-defined URL for this resource.
25055
+ # Corresponds to the JSON property `selfLink`
25056
+ # @return [String]
25057
+ attr_accessor :self_link
25058
+
25059
+ # [Output Only] Unreachable resources.
25060
+ # Corresponds to the JSON property `unreachables`
25061
+ # @return [Array<String>]
25062
+ attr_accessor :unreachables
25063
+
25064
+ # [Output Only] Informational warning message.
25065
+ # Corresponds to the JSON property `warning`
25066
+ # @return [Google::Apis::ComputeAlpha::NotificationEndpointAggregatedList::Warning]
25067
+ attr_accessor :warning
25068
+
25069
+ def initialize(**args)
25070
+ update!(**args)
25071
+ end
25072
+
25073
+ # Update properties of this object
25074
+ def update!(**args)
25075
+ @id = args[:id] if args.key?(:id)
25076
+ @items = args[:items] if args.key?(:items)
25077
+ @kind = args[:kind] if args.key?(:kind)
25078
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
25079
+ @self_link = args[:self_link] if args.key?(:self_link)
25080
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
25081
+ @warning = args[:warning] if args.key?(:warning)
25082
+ end
25083
+
25084
+ # [Output Only] Informational warning message.
25085
+ class Warning
25086
+ include Google::Apis::Core::Hashable
25087
+
25088
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25089
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25090
+ # Corresponds to the JSON property `code`
25091
+ # @return [String]
25092
+ attr_accessor :code
25093
+
25094
+ # [Output Only] Metadata about this warning in key: value format. For example:
25095
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25096
+ # Corresponds to the JSON property `data`
25097
+ # @return [Array<Google::Apis::ComputeAlpha::NotificationEndpointAggregatedList::Warning::Datum>]
25098
+ attr_accessor :data
25099
+
25100
+ # [Output Only] A human-readable description of the warning code.
25101
+ # Corresponds to the JSON property `message`
25102
+ # @return [String]
25103
+ attr_accessor :message
25104
+
25105
+ def initialize(**args)
25106
+ update!(**args)
25107
+ end
25108
+
25109
+ # Update properties of this object
25110
+ def update!(**args)
25111
+ @code = args[:code] if args.key?(:code)
25112
+ @data = args[:data] if args.key?(:data)
25113
+ @message = args[:message] if args.key?(:message)
25114
+ end
25115
+
25116
+ #
25117
+ class Datum
25118
+ include Google::Apis::Core::Hashable
25119
+
25120
+ # [Output Only] A key that provides more detail on the warning being returned.
25121
+ # For example, for warnings where there are no results in a list request for a
25122
+ # particular zone, this key might be scope and the key value might be the zone
25123
+ # name. Other examples might be a key indicating a deprecated resource and a
25124
+ # suggested replacement, or a warning about invalid network settings (for
25125
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25126
+ # for IP forwarding).
25127
+ # Corresponds to the JSON property `key`
25128
+ # @return [String]
25129
+ attr_accessor :key
25130
+
25131
+ # [Output Only] A warning data value corresponding to the key.
25132
+ # Corresponds to the JSON property `value`
25133
+ # @return [String]
25134
+ attr_accessor :value
25135
+
25136
+ def initialize(**args)
25137
+ update!(**args)
25138
+ end
25139
+
25140
+ # Update properties of this object
25141
+ def update!(**args)
25142
+ @key = args[:key] if args.key?(:key)
25143
+ @value = args[:value] if args.key?(:value)
25144
+ end
25145
+ end
25146
+ end
25147
+ end
25148
+
24493
25149
  # Represents a gRPC setting that describes one gRPC notification endpoint and
24494
25150
  # the retry duration attempting to send notification to this endpoint.
24495
25151
  class NotificationEndpointGrpcSettings
@@ -24661,6 +25317,97 @@ module Google
24661
25317
  end
24662
25318
  end
24663
25319
 
25320
+ #
25321
+ class NotificationEndpointsScopedList
25322
+ include Google::Apis::Core::Hashable
25323
+
25324
+ # A list of NotificationEndpoints contained in this scope.
25325
+ # Corresponds to the JSON property `resources`
25326
+ # @return [Array<Google::Apis::ComputeAlpha::NotificationEndpoint>]
25327
+ attr_accessor :resources
25328
+
25329
+ # Informational warning which replaces the list of notification endpoints when
25330
+ # the list is empty.
25331
+ # Corresponds to the JSON property `warning`
25332
+ # @return [Google::Apis::ComputeAlpha::NotificationEndpointsScopedList::Warning]
25333
+ attr_accessor :warning
25334
+
25335
+ def initialize(**args)
25336
+ update!(**args)
25337
+ end
25338
+
25339
+ # Update properties of this object
25340
+ def update!(**args)
25341
+ @resources = args[:resources] if args.key?(:resources)
25342
+ @warning = args[:warning] if args.key?(:warning)
25343
+ end
25344
+
25345
+ # Informational warning which replaces the list of notification endpoints when
25346
+ # the list is empty.
25347
+ class Warning
25348
+ include Google::Apis::Core::Hashable
25349
+
25350
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25351
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25352
+ # Corresponds to the JSON property `code`
25353
+ # @return [String]
25354
+ attr_accessor :code
25355
+
25356
+ # [Output Only] Metadata about this warning in key: value format. For example:
25357
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25358
+ # Corresponds to the JSON property `data`
25359
+ # @return [Array<Google::Apis::ComputeAlpha::NotificationEndpointsScopedList::Warning::Datum>]
25360
+ attr_accessor :data
25361
+
25362
+ # [Output Only] A human-readable description of the warning code.
25363
+ # Corresponds to the JSON property `message`
25364
+ # @return [String]
25365
+ attr_accessor :message
25366
+
25367
+ def initialize(**args)
25368
+ update!(**args)
25369
+ end
25370
+
25371
+ # Update properties of this object
25372
+ def update!(**args)
25373
+ @code = args[:code] if args.key?(:code)
25374
+ @data = args[:data] if args.key?(:data)
25375
+ @message = args[:message] if args.key?(:message)
25376
+ end
25377
+
25378
+ #
25379
+ class Datum
25380
+ include Google::Apis::Core::Hashable
25381
+
25382
+ # [Output Only] A key that provides more detail on the warning being returned.
25383
+ # For example, for warnings where there are no results in a list request for a
25384
+ # particular zone, this key might be scope and the key value might be the zone
25385
+ # name. Other examples might be a key indicating a deprecated resource and a
25386
+ # suggested replacement, or a warning about invalid network settings (for
25387
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25388
+ # for IP forwarding).
25389
+ # Corresponds to the JSON property `key`
25390
+ # @return [String]
25391
+ attr_accessor :key
25392
+
25393
+ # [Output Only] A warning data value corresponding to the key.
25394
+ # Corresponds to the JSON property `value`
25395
+ # @return [String]
25396
+ attr_accessor :value
25397
+
25398
+ def initialize(**args)
25399
+ update!(**args)
25400
+ end
25401
+
25402
+ # Update properties of this object
25403
+ def update!(**args)
25404
+ @key = args[:key] if args.key?(:key)
25405
+ @value = args[:value] if args.key?(:value)
25406
+ end
25407
+ end
25408
+ end
25409
+ end
25410
+
24664
25411
  # Represents an Operation resource.
24665
25412
  # Google Compute Engine has three Operation resources:
24666
25413
  # * [Global](/compute/docs/reference/rest/`$api_version`/globalOperations) * [
@@ -24739,6 +25486,41 @@ module Google
24739
25486
  # @return [String]
24740
25487
  attr_accessor :kind
24741
25488
 
25489
+ # `Any` contains an arbitrary serialized protocol buffer message along with a
25490
+ # URL that describes the type of the serialized message.
25491
+ # Protobuf library provides support to pack/unpack Any values in the form of
25492
+ # utility functions or additional generated methods of the Any type.
25493
+ # Example 1: Pack and unpack a message in C++.
25494
+ # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
25495
+ # Example 2: Pack and unpack a message in Java.
25496
+ # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
25497
+ # unpack(Foo.class); `
25498
+ # Example 3: Pack and unpack a message in Python.
25499
+ # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
25500
+ # Unpack(foo) ...
25501
+ # Example 4: Pack and unpack a message in Go
25502
+ # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
25503
+ # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
25504
+ # The pack methods provided by protobuf library will by default use 'type.
25505
+ # googleapis.com/full.type.name' as the type URL and the unpack methods only use
25506
+ # the fully qualified type name after the last '/' in the type URL, for example "
25507
+ # foo.bar.com/x/y.z" will yield type name "y.z".
25508
+ # JSON ==== The JSON representation of an `Any` value uses the regular
25509
+ # representation of the deserialized, embedded message, with an additional field
25510
+ # `@type` which contains the type URL. Example:
25511
+ # package google.profile; message Person ` string first_name = 1; string
25512
+ # last_name = 2; `
25513
+ # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
25514
+ # lastName": `
25515
+ # If the embedded message type is well-known and has a custom JSON
25516
+ # representation, that representation will be embedded adding a field `value`
25517
+ # which holds the custom JSON in addition to the `@type` field. Example (for
25518
+ # message [google.protobuf.Duration][]):
25519
+ # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
25520
+ # Corresponds to the JSON property `metadata`
25521
+ # @return [Google::Apis::ComputeAlpha::Any]
25522
+ attr_accessor :metadata
25523
+
24742
25524
  # [Output Only] Name of the operation.
24743
25525
  # Corresponds to the JSON property `name`
24744
25526
  # @return [String]
@@ -24839,6 +25621,7 @@ module Google
24839
25621
  @id = args[:id] if args.key?(:id)
24840
25622
  @insert_time = args[:insert_time] if args.key?(:insert_time)
24841
25623
  @kind = args[:kind] if args.key?(:kind)
25624
+ @metadata = args[:metadata] if args.key?(:metadata)
24842
25625
  @name = args[:name] if args.key?(:name)
24843
25626
  @operation_type = args[:operation_type] if args.key?(:operation_type)
24844
25627
  @progress = args[:progress] if args.key?(:progress)
@@ -28875,6 +29658,49 @@ module Google
28875
29658
  end
28876
29659
  end
28877
29660
 
29661
+ #
29662
+ class RegionInstanceGroupManagersResizeAdvancedRequest
29663
+ include Google::Apis::Core::Hashable
29664
+
29665
+ # If this flag is true, the managed instance group attempts to create all
29666
+ # instances initiated by this resize request only once. If there is an error
29667
+ # during creation, the managed instance group does not retry create this
29668
+ # instance, and we will decrease the targetSize of the request instead. If the
29669
+ # flag is false, the group attempts to recreate each instance continuously until
29670
+ # it succeeds.
29671
+ # This flag matters only in the first attempt of creation of an instance. After
29672
+ # an instance is successfully created while this flag is enabled, the instance
29673
+ # behaves the same way as all the other instances created with a regular resize
29674
+ # request. In particular, if a running instance dies unexpectedly at a later
29675
+ # time and needs to be recreated, this mode does not affect the recreation
29676
+ # behavior in that scenario.
29677
+ # This flag is applicable only to the current resize request. It does not
29678
+ # influence other resize requests in any way.
29679
+ # You can see which instances ar being created in which mode by calling the get
29680
+ # or listManagedInstances API.
29681
+ # Corresponds to the JSON property `noCreationRetries`
29682
+ # @return [Boolean]
29683
+ attr_accessor :no_creation_retries
29684
+ alias_method :no_creation_retries?, :no_creation_retries
29685
+
29686
+ # The number of running instances that the managed instance group should
29687
+ # maintain at any given time. The group automatically adds or removes instances
29688
+ # to maintain the number of instances specified by this parameter.
29689
+ # Corresponds to the JSON property `targetSize`
29690
+ # @return [Fixnum]
29691
+ attr_accessor :target_size
29692
+
29693
+ def initialize(**args)
29694
+ update!(**args)
29695
+ end
29696
+
29697
+ # Update properties of this object
29698
+ def update!(**args)
29699
+ @no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
29700
+ @target_size = args[:target_size] if args.key?(:target_size)
29701
+ end
29702
+ end
29703
+
28878
29704
  #
28879
29705
  class RegionInstanceGroupManagersSetAutoHealingRequest
28880
29706
  include Google::Apis::Core::Hashable
@@ -30869,6 +31695,50 @@ module Google
30869
31695
  end
30870
31696
  end
30871
31697
 
31698
+ # Contains output only fields. Use this sub-message for actual values set on
31699
+ # Instance attributes as compared to the value requested by the user (intent) in
31700
+ # their instance CRUD calls.
31701
+ class ResourceStatus
31702
+ include Google::Apis::Core::Hashable
31703
+
31704
+ #
31705
+ # Corresponds to the JSON property `scheduling`
31706
+ # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
31707
+ attr_accessor :scheduling
31708
+
31709
+ def initialize(**args)
31710
+ update!(**args)
31711
+ end
31712
+
31713
+ # Update properties of this object
31714
+ def update!(**args)
31715
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
31716
+ end
31717
+ end
31718
+
31719
+ #
31720
+ class ResourceStatusScheduling
31721
+ include Google::Apis::Core::Hashable
31722
+
31723
+ # Specifies the availability domain (AD), which this instance should be
31724
+ # scheduled on. The AD belongs to the spread GroupPlacementPolicy resource
31725
+ # policy that has been assigned to the instance. Specify a value between 1-max
31726
+ # count of availability domains in your GroupPlacementPolicy. See go/placement-
31727
+ # policy-extension for more details.
31728
+ # Corresponds to the JSON property `availabilityDomain`
31729
+ # @return [Fixnum]
31730
+ attr_accessor :availability_domain
31731
+
31732
+ def initialize(**args)
31733
+ update!(**args)
31734
+ end
31735
+
31736
+ # Update properties of this object
31737
+ def update!(**args)
31738
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
31739
+ end
31740
+ end
31741
+
30872
31742
  # Represents a Route resource.
30873
31743
  # A route defines a path from VM instances in the VPC network to a specific
30874
31744
  # destination. This destination can be inside or outside the VPC network. For
@@ -32913,6 +33783,15 @@ module Google
32913
33783
  attr_accessor :automatic_restart
32914
33784
  alias_method :automatic_restart?, :automatic_restart
32915
33785
 
33786
+ # Specifies the availability domain (AD), which this instance should be
33787
+ # scheduled on. The AD belongs to the spread GroupPlacementPolicy resource
33788
+ # policy that has been assigned to the instance. Specify a value between 1-max
33789
+ # count of availability domains in your GroupPlacementPolicy. See go/placement-
33790
+ # policy-extension for more details.
33791
+ # Corresponds to the JSON property `availabilityDomain`
33792
+ # @return [Fixnum]
33793
+ attr_accessor :availability_domain
33794
+
32916
33795
  # Defines whether the instance is tolerant of higher cpu latency. This can only
32917
33796
  # be set during instance creation, or when the instance is not currently running.
32918
33797
  # It must not be set if the preemptible option is also set.
@@ -32976,6 +33855,7 @@ module Google
32976
33855
  # Update properties of this object
32977
33856
  def update!(**args)
32978
33857
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
33858
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
32979
33859
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
32980
33860
  @location_hint = args[:location_hint] if args.key?(:location_hint)
32981
33861
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
@@ -33558,12 +34438,18 @@ module Google
33558
34438
  # @return [Fixnum]
33559
34439
  attr_accessor :priority
33560
34440
 
33561
- # Must be specified if the action is "rate_based_blacklist" or "throttle".
33562
- # Cannot be specified for any other actions.
34441
+ # Must be specified if the action is "rate_based_ban" or "throttle". Cannot be
34442
+ # specified for any other actions.
33563
34443
  # Corresponds to the JSON property `rateLimitOptions`
33564
34444
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions]
33565
34445
  attr_accessor :rate_limit_options
33566
34446
 
34447
+ # This must be specified for redirect actions. Cannot be specified for any other
34448
+ # actions.
34449
+ # Corresponds to the JSON property `redirectTarget`
34450
+ # @return [String]
34451
+ attr_accessor :redirect_target
34452
+
33567
34453
  # Identifier for the rule. This is only unique within the given security policy.
33568
34454
  # This can only be set during rule creation, if rule number is not specified it
33569
34455
  # will be generated by the server.
@@ -33606,6 +34492,7 @@ module Google
33606
34492
  @preview = args[:preview] if args.key?(:preview)
33607
34493
  @priority = args[:priority] if args.key?(:priority)
33608
34494
  @rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
34495
+ @redirect_target = args[:redirect_target] if args.key?(:redirect_target)
33609
34496
  @rule_number = args[:rule_number] if args.key?(:rule_number)
33610
34497
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
33611
34498
  @target_resources = args[:target_resources] if args.key?(:target_resources)
@@ -34108,6 +34995,14 @@ module Google
34108
34995
  # @return [String]
34109
34996
  attr_accessor :description
34110
34997
 
34998
+ # If true, enable the proxy protocol which is for supplying client TCP/IP
34999
+ # address data in TCP connections that traverse proxies on their way to
35000
+ # destination servers.
35001
+ # Corresponds to the JSON property `enableProxyProtocol`
35002
+ # @return [Boolean]
35003
+ attr_accessor :enable_proxy_protocol
35004
+ alias_method :enable_proxy_protocol?, :enable_proxy_protocol
35005
+
34111
35006
  # [Output Only] The unique identifier for the resource type. The server
34112
35007
  # generates this identifier.
34113
35008
  # Corresponds to the JSON property `id`
@@ -34164,6 +35059,7 @@ module Google
34164
35059
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
34165
35060
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34166
35061
  @description = args[:description] if args.key?(:description)
35062
+ @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
34167
35063
  @id = args[:id] if args.key?(:id)
34168
35064
  @kind = args[:kind] if args.key?(:kind)
34169
35065
  @name = args[:name] if args.key?(:name)
@@ -34678,6 +35574,12 @@ module Google
34678
35574
  # @return [Array<String>]
34679
35575
  attr_accessor :licenses
34680
35576
 
35577
+ # An opaque location hint used to place the snapshot close to other resources.
35578
+ # This field is for use by internal tools that use the public API.
35579
+ # Corresponds to the JSON property `locationHint`
35580
+ # @return [String]
35581
+ attr_accessor :location_hint
35582
+
34681
35583
  # Name of the resource; provided by the client when the resource is created. The
34682
35584
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
34683
35585
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -34782,6 +35684,7 @@ module Google
34782
35684
  @labels = args[:labels] if args.key?(:labels)
34783
35685
  @license_codes = args[:license_codes] if args.key?(:license_codes)
34784
35686
  @licenses = args[:licenses] if args.key?(:licenses)
35687
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
34785
35688
  @name = args[:name] if args.key?(:name)
34786
35689
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
34787
35690
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -35036,6 +35939,11 @@ module Google
35036
35939
  # @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
35037
35940
  attr_accessor :network_interfaces
35038
35941
 
35942
+ # PostKeyRevocationActionType of the instance.
35943
+ # Corresponds to the JSON property `postKeyRevocationActionType`
35944
+ # @return [String]
35945
+ attr_accessor :post_key_revocation_action_type
35946
+
35039
35947
  # Sets the scheduling options for an Instance. NextID: 13
35040
35948
  # Corresponds to the JSON property `scheduling`
35041
35949
  # @return [Google::Apis::ComputeAlpha::Scheduling]
@@ -35070,6 +35978,7 @@ module Google
35070
35978
  @metadata = args[:metadata] if args.key?(:metadata)
35071
35979
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
35072
35980
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
35981
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
35073
35982
  @scheduling = args[:scheduling] if args.key?(:scheduling)
35074
35983
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
35075
35984
  @tags = args[:tags] if args.key?(:tags)
@@ -35460,8 +36369,9 @@ module Google
35460
36369
  # @return [Hash<String,String>]
35461
36370
  attr_accessor :domain_status
35462
36371
 
35463
- # The domains for which a managed SSL certificate will be generated. Currently
35464
- # only single-domain certs are supported.
36372
+ # The domains for which a managed SSL certificate will be generated. Each Google-
36373
+ # managed SSL certificate supports up to the [maximum number of domains per
36374
+ # Google-managed SSL certificate](/load-balancing/docs/quotas#ssl_certificates).
35465
36375
  # Corresponds to the JSON property `domains`
35466
36376
  # @return [Array<String>]
35467
36377
  attr_accessor :domains
@@ -36060,6 +36970,12 @@ module Google
36060
36970
  attr_accessor :enable_flow_logs
36061
36971
  alias_method :enable_flow_logs?, :enable_flow_logs
36062
36972
 
36973
+ # Enables Layer2 communication on the subnetwork.
36974
+ # Corresponds to the JSON property `enableL2`
36975
+ # @return [Boolean]
36976
+ attr_accessor :enable_l2
36977
+ alias_method :enable_l2?, :enable_l2
36978
+
36063
36979
  # Deprecated in favor of enable in PrivateIpv6GoogleAccess. Whether the VMs in
36064
36980
  # this subnet can directly access Google services via internal IPv6 addresses.
36065
36981
  # This field can be both set at resource creation time and updated using patch.
@@ -36256,6 +37172,14 @@ module Google
36256
37172
  # @return [String]
36257
37173
  attr_accessor :state
36258
37174
 
37175
+ # A repeated field indicating the VLAN IDs supported on this subnetwork. During
37176
+ # Subnet creation, specifying vlan is valid only if enable_l2 is true. During
37177
+ # Subnet Update, specifying vlan is allowed only for l2 enabled subnets.
37178
+ # Restricted to only one VLAN.
37179
+ # Corresponds to the JSON property `vlans`
37180
+ # @return [Array<Fixnum>]
37181
+ attr_accessor :vlans
37182
+
36259
37183
  def initialize(**args)
36260
37184
  update!(**args)
36261
37185
  end
@@ -36267,6 +37191,7 @@ module Google
36267
37191
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36268
37192
  @description = args[:description] if args.key?(:description)
36269
37193
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
37194
+ @enable_l2 = args[:enable_l2] if args.key?(:enable_l2)
36270
37195
  @enable_private_v6_access = args[:enable_private_v6_access] if args.key?(:enable_private_v6_access)
36271
37196
  @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
36272
37197
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -36292,6 +37217,7 @@ module Google
36292
37217
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
36293
37218
  @stack_type = args[:stack_type] if args.key?(:stack_type)
36294
37219
  @state = args[:state] if args.key?(:state)
37220
+ @vlans = args[:vlans] if args.key?(:vlans)
36295
37221
  end
36296
37222
  end
36297
37223
 
@@ -36880,9 +37806,10 @@ module Google
36880
37806
 
36881
37807
  # Represents a Target gRPC Proxy resource.
36882
37808
  # A target gRPC proxy is a component of load balancers intended for load
36883
- # balancing gRPC traffic. Global forwarding rules reference a target gRPC proxy.
36884
- # The Target gRPC Proxy references a URL map which specifies how traffic routes
36885
- # to gRPC backend services. (== resource_for `$api_version`.targetGrpcProxies ==)
37809
+ # balancing gRPC traffic. Only global forwarding rules with load balancing
37810
+ # scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target
37811
+ # gRPC Proxy references a URL map that specifies how traffic is routed to gRPC
37812
+ # backend services. (== resource_for `$api_version`.targetGrpcProxies ==)
36886
37813
  class TargetGrpcProxy
36887
37814
  include Google::Apis::Core::Hashable
36888
37815
 
@@ -37830,7 +38757,6 @@ module Google
37830
38757
  # possible.
37831
38758
  # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
37832
38759
  # - If the quic-override flag is not specified, NONE is implied.
37833
- # -
37834
38760
  # Corresponds to the JSON property `quicOverride`
37835
38761
  # @return [String]
37836
38762
  attr_accessor :quic_override
@@ -38642,8 +39568,7 @@ module Google
38642
39568
  attr_accessor :failover_ratio
38643
39569
 
38644
39570
  # The URL of the HttpHealthCheck resource. A member instance in this pool is
38645
- # considered healthy if and only if the health checks pass. An empty list means
38646
- # all member instances will be considered healthy at all times. Only legacy
39571
+ # considered healthy if and only if the health checks pass. Only legacy
38647
39572
  # HttpHealthChecks are supported. Only one health check may be specified.
38648
39573
  # Corresponds to the JSON property `healthChecks`
38649
39574
  # @return [Array<String>]
@@ -40462,6 +41387,12 @@ module Google
40462
41387
  # @return [String]
40463
41388
  attr_accessor :date
40464
41389
 
41390
+ # Represents a window of time using two timestamps: `earliest` and `latest`.
41391
+ # This timestamp values are in RFC3339 text format.
41392
+ # Corresponds to the JSON property `startTimeWindow`
41393
+ # @return [Google::Apis::ComputeAlpha::UpcomingMaintenanceTimeWindow]
41394
+ attr_accessor :start_time_window
41395
+
40465
41396
  # [Output Only] The time when the maintenance will take place. This value is in
40466
41397
  # RFC3339 text format. DEPRECATED: Use start_time_window instead.
40467
41398
  # Corresponds to the JSON property `time`
@@ -40480,11 +41411,38 @@ module Google
40480
41411
  # Update properties of this object
40481
41412
  def update!(**args)
40482
41413
  @date = args[:date] if args.key?(:date)
41414
+ @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
40483
41415
  @time = args[:time] if args.key?(:time)
40484
41416
  @type = args[:type] if args.key?(:type)
40485
41417
  end
40486
41418
  end
40487
41419
 
41420
+ # Represents a window of time using two timestamps: `earliest` and `latest`.
41421
+ # This timestamp values are in RFC3339 text format.
41422
+ class UpcomingMaintenanceTimeWindow
41423
+ include Google::Apis::Core::Hashable
41424
+
41425
+ #
41426
+ # Corresponds to the JSON property `earliest`
41427
+ # @return [String]
41428
+ attr_accessor :earliest
41429
+
41430
+ #
41431
+ # Corresponds to the JSON property `latest`
41432
+ # @return [String]
41433
+ attr_accessor :latest
41434
+
41435
+ def initialize(**args)
41436
+ update!(**args)
41437
+ end
41438
+
41439
+ # Update properties of this object
41440
+ def update!(**args)
41441
+ @earliest = args[:earliest] if args.key?(:earliest)
41442
+ @latest = args[:latest] if args.key?(:latest)
41443
+ end
41444
+ end
41445
+
40488
41446
  # Represents a URL Map resource.
40489
41447
  # Google Compute Engine has two URL Map resources:
40490
41448
  # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
@@ -42182,9 +43140,9 @@ module Google
42182
43140
  attr_accessor :id
42183
43141
 
42184
43142
  # URL of the interconnect attachment resource. When the value of this field is
42185
- # present, the VPN Gateway will be used for IPsec over Interconnect; all Egress
42186
- # or Ingress traffic for this VPN Gateway interface will go through the
42187
- # specified interconnect attachment resource.
43143
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
43144
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
43145
+ # the specified interconnect attachment resource.
42188
43146
  # Corresponds to the JSON property `interconnectAttachment`
42189
43147
  # @return [String]
42190
43148
  attr_accessor :interconnect_attachment