google-apis-compute_alpha 0.1.0 → 0.2.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: 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