google-apis-compute_alpha 0.1.0 → 0.6.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: 5cba72be75fcc1cd63075bd522aa078dd0b3c051835991fafd0abd4e5de76975
4
+ data.tar.gz: bcaa61e645c77fff539298388395f387338cae82fbe44b6f0bf089a4a6f9f9c2
5
5
  SHA512:
6
- metadata.gz: 783a885574b61ef396348e4a4fcd298da9bad6d1bd13d20e6aae6d4ce7f9ff683594edaa408cf0ab49bad63793e1eb53dc016118a9396398ce9b0cd1f2586457
7
- data.tar.gz: e94d063b819e1223d30a533d3e25c75ce627195821cf35eef98172680f27b59515f5d438c470a9ea7f0cad1bd608991e88beaab551a9438516c004d026b83504
6
+ metadata.gz: 32563cc9e9f6e1b5b25e6f2a3a0f384fa80ac8f6f12f04a14341fe55dda4ff34be128aeb59f8146f5cfe9ded2a74a8d3164f15bc5499524f4be2e70a514a76f2
7
+ data.tar.gz: 567d8a4f33837a8a75e8327365ab28396f390dd862d301a84b3daecf5e2261b9d3fedef754147383ffa458587daeafe4d53bdbcfae0b09899e4681de250e9527
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.6.0 (2021-03-10)
4
+
5
+ * Regenerated from discovery document revision 20210301
6
+ * Regenerated using generator version 0.2.0
7
+
8
+ ### v0.5.0 (2021-03-04)
9
+
10
+ * Unspecified changes
11
+
12
+ ### v0.4.0 (2021-02-24)
13
+
14
+ * Regenerated from discovery document revision 20210209
15
+
16
+ ### v0.3.0 (2021-02-16)
17
+
18
+ * Regenerated from discovery document revision 20210129
19
+
20
+ ### v0.2.0 (2021-01-30)
21
+
22
+ * Regenerated from discovery document revision 20210111
23
+ * Regenerated using generator version 0.1.2
24
+
3
25
  ### v0.1.0 (2021-01-07)
4
26
 
5
27
  * Regenerated using generator version 0.1.1
@@ -671,7 +671,7 @@ module Google
671
671
  # @return [String]
672
672
  attr_accessor :network_tier
673
673
 
674
- # The prefix length if the resource reprensents an IP range.
674
+ # The prefix length if the resource represents an IP range.
675
675
  # Corresponds to the JSON property `prefixLength`
676
676
  # @return [Fixnum]
677
677
  attr_accessor :prefix_length
@@ -684,15 +684,15 @@ module Google
684
684
  # - `NAT_AUTO` for addresses that are external IP addresses automatically
685
685
  # reserved for Cloud NAT.
686
686
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
687
- # reserved for a VLAN attachment in an IPsec encrypted Interconnect
687
+ # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
688
688
  # configuration. These addresses are regional resources.
689
689
  # Corresponds to the JSON property `purpose`
690
690
  # @return [String]
691
691
  attr_accessor :purpose
692
692
 
693
- # [Output Only] The URL of the region where the regional address resides. This
694
- # field is not applicable to global addresses. You must specify this field as
695
- # part of the HTTP request URL.
693
+ # [Output Only] The URL of the region where a regional address resides. For
694
+ # regional addresses, you must specify the region as a path parameter in the
695
+ # HTTP request URL. This field is not applicable to global addresses.
696
696
  # Corresponds to the JSON property `region`
697
697
  # @return [String]
698
698
  attr_accessor :region
@@ -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
@@ -3010,10 +3025,15 @@ module Google
3010
3025
  # @return [String]
3011
3026
  attr_accessor :cache_mode
3012
3027
 
3013
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3014
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3015
- # for both Cloud CDN and the client-facing response. The maximum allowed value
3016
- # is 86400s (1 day).
3028
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
3029
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
3030
+ # the lesser of client_ttl and default_ttl is used for the response max-age
3031
+ # directive, along with a "public" directive. For cacheable content in
3032
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
3033
+ # specified), or else sets the response max-age directive to the lesser of the
3034
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
3035
+ # directive is present. If a client TTL is not specified, a default value (1
3036
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
3017
3037
  # Corresponds to the JSON property `clientTtl`
3018
3038
  # @return [Fixnum]
3019
3039
  attr_accessor :client_ttl
@@ -3485,6 +3505,14 @@ module Google
3485
3505
  # @return [Google::Apis::ComputeAlpha::BackendServiceLogConfig]
3486
3506
  attr_accessor :log_config
3487
3507
 
3508
+ # A Duration represents a fixed-length span of time represented as a count of
3509
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
3510
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
3511
+ # 000 years.
3512
+ # Corresponds to the JSON property `maxStreamDuration`
3513
+ # @return [Google::Apis::ComputeAlpha::Duration]
3514
+ attr_accessor :max_stream_duration
3515
+
3488
3516
  # Name of the resource. Provided by the client when the resource is created. The
3489
3517
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
3490
3518
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -3509,8 +3537,8 @@ module Google
3509
3537
 
3510
3538
  # Deprecated in favor of portName. The TCP port to connect on the backend. The
3511
3539
  # default value is 80.
3512
- # This cannot be used if the loadBalancingScheme is INTERNAL (Internal TCP/UDP
3513
- # Load Balancing).
3540
+ # Backend services for Internal TCP/UDP Load Balancing and Network Load
3541
+ # Balancing require you omit port.
3514
3542
  # Corresponds to the JSON property `port`
3515
3543
  # @return [Fixnum]
3516
3544
  attr_accessor :port
@@ -3591,7 +3619,8 @@ module Google
3591
3619
 
3592
3620
  # The backend service timeout has a different meaning depending on the type of
3593
3621
  # load balancer. For more information see, Backend service settings The default
3594
- # is 30 seconds.
3622
+ # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3623
+ # seconds.
3595
3624
  # Corresponds to the JSON property `timeoutSec`
3596
3625
  # @return [Fixnum]
3597
3626
  attr_accessor :timeout_sec
@@ -3624,6 +3653,7 @@ module Google
3624
3653
  @load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
3625
3654
  @locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
3626
3655
  @log_config = args[:log_config] if args.key?(:log_config)
3656
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
3627
3657
  @name = args[:name] if args.key?(:name)
3628
3658
  @network = args[:network] if args.key?(:network)
3629
3659
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
@@ -3798,10 +3828,15 @@ module Google
3798
3828
  # @return [String]
3799
3829
  attr_accessor :cache_mode
3800
3830
 
3801
- # Specifies a separate client (e.g. browser client) TTL, separate from the TTL
3802
- # for Cloud CDN's edge caches. Leaving this empty will use the same cache TTL
3803
- # for both Cloud CDN and the client-facing response. The maximum allowed value
3804
- # is 86400s (1 day).
3831
+ # Specifies a separate client (e.g. browser client) maximum TTL. This is used to
3832
+ # clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
3833
+ # the lesser of client_ttl and default_ttl is used for the response max-age
3834
+ # directive, along with a "public" directive. For cacheable content in
3835
+ # CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
3836
+ # specified), or else sets the response max-age directive to the lesser of the
3837
+ # client_ttl and default_ttl, and also ensures a "public" cache-control
3838
+ # directive is present. If a client TTL is not specified, a default value (1
3839
+ # hour) will be used. The maximum allowed value is 86400s (1 day).
3805
3840
  # Corresponds to the JSON property `clientTtl`
3806
3841
  # @return [Fixnum]
3807
3842
  attr_accessor :client_ttl
@@ -3987,6 +4022,25 @@ module Google
3987
4022
  # @return [String]
3988
4023
  attr_accessor :connection_persistence_on_unhealthy_backends
3989
4024
 
4025
+ # Specifies how long to keep a Connection Tracking entry while there is no
4026
+ # matching traffic (in seconds).
4027
+ # For L4 ILB the minimum(default) is 10 minutes and maximum is 16 hours.
4028
+ # For NLB the minimum(default) is 60 seconds and the maximum is 16 hours.
4029
+ # This field will be supported only if the Connection Tracking key is less than
4030
+ # 5-tuple.
4031
+ # Corresponds to the JSON property `idleTimeoutSec`
4032
+ # @return [Fixnum]
4033
+ attr_accessor :idle_timeout_sec
4034
+
4035
+ # Specifies the key used for connection tracking. There are two options:
4036
+ # PER_CONNECTION: This is the default mode. The Connection Tracking is performed
4037
+ # as per the Connection Key (default Hash Method) for the specific protocol.
4038
+ # PER_SESSION: The Connection Tracking is performed as per the configured
4039
+ # Session Affinity. It matches the configured Session Affinity.
4040
+ # Corresponds to the JSON property `trackingMode`
4041
+ # @return [String]
4042
+ attr_accessor :tracking_mode
4043
+
3990
4044
  def initialize(**args)
3991
4045
  update!(**args)
3992
4046
  end
@@ -3994,6 +4048,8 @@ module Google
3994
4048
  # Update properties of this object
3995
4049
  def update!(**args)
3996
4050
  @connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
4051
+ @idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
4052
+ @tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
3997
4053
  end
3998
4054
  end
3999
4055
 
@@ -4830,6 +4886,12 @@ module Google
4830
4886
  # @return [String]
4831
4887
  attr_accessor :name_pattern
4832
4888
 
4889
+ # Per-instance properties to be set on individual instances. Keys of this map
4890
+ # specify requested instance names. Can be empty if name_pattern is used.
4891
+ # Corresponds to the JSON property `perInstanceProperties`
4892
+ # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
4893
+ attr_accessor :per_instance_properties
4894
+
4833
4895
  # List of predefined names. The number of names provided must be equal to count.
4834
4896
  # Corresponds to the JSON property `predefinedNames`
4835
4897
  # @return [Array<String>]
@@ -4862,11 +4924,32 @@ module Google
4862
4924
  @location_policy = args[:location_policy] if args.key?(:location_policy)
4863
4925
  @min_count = args[:min_count] if args.key?(:min_count)
4864
4926
  @name_pattern = args[:name_pattern] if args.key?(:name_pattern)
4927
+ @per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
4865
4928
  @predefined_names = args[:predefined_names] if args.key?(:predefined_names)
4866
4929
  @source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
4867
4930
  end
4868
4931
  end
4869
4932
 
4933
+ # Per-instance properties to be set on individual instances. To be extended in
4934
+ # the future.
4935
+ class BulkInsertInstanceResourcePerInstanceProperties
4936
+ include Google::Apis::Core::Hashable
4937
+
4938
+ # This field is only temporary. It will be removed. Do not use it.
4939
+ # Corresponds to the JSON property `name`
4940
+ # @return [String]
4941
+ attr_accessor :name
4942
+
4943
+ def initialize(**args)
4944
+ update!(**args)
4945
+ end
4946
+
4947
+ # Update properties of this object
4948
+ def update!(**args)
4949
+ @name = args[:name] if args.key?(:name)
4950
+ end
4951
+ end
4952
+
4870
4953
  #
4871
4954
  class CacheInvalidationRule
4872
4955
  include Google::Apis::Core::Hashable
@@ -5663,9 +5746,9 @@ module Google
5663
5746
  class ConnectionDraining
5664
5747
  include Google::Apis::Core::Hashable
5665
5748
 
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].
5749
+ # Configures a duration timeout for existing requests on a removed backend
5750
+ # instance. For supported load balancers and protocols, as described in Enabling
5751
+ # connection draining.
5669
5752
  # Corresponds to the JSON property `drainingTimeoutSec`
5670
5753
  # @return [Fixnum]
5671
5754
  attr_accessor :draining_timeout_sec
@@ -5776,8 +5859,7 @@ module Google
5776
5859
  attr_accessor :allow_methods
5777
5860
 
5778
5861
  # Specifies the regualar expression patterns that match allowed origins. For
5779
- # regular expression grammar please see en.cppreference.com/w/cpp/regex/
5780
- # ecmascript
5862
+ # regular expression grammar please see github.com/google/re2/wiki/Syntax
5781
5863
  # An origin is allowed if it matches either an item in allowOrigins or an item
5782
5864
  # in allowOriginRegexes.
5783
5865
  # Corresponds to the JSON property `allowOriginRegexes`
@@ -5947,6 +6029,11 @@ module Google
5947
6029
  # @return [String]
5948
6030
  attr_accessor :state
5949
6031
 
6032
+ # A rollout policy configuration.
6033
+ # Corresponds to the JSON property `stateOverride`
6034
+ # @return [Google::Apis::ComputeAlpha::RolloutPolicy]
6035
+ attr_accessor :state_override
6036
+
5950
6037
  def initialize(**args)
5951
6038
  update!(**args)
5952
6039
  end
@@ -5958,6 +6045,7 @@ module Google
5958
6045
  @obsolete = args[:obsolete] if args.key?(:obsolete)
5959
6046
  @replacement = args[:replacement] if args.key?(:replacement)
5960
6047
  @state = args[:state] if args.key?(:state)
6048
+ @state_override = args[:state_override] if args.key?(:state_override)
5961
6049
  end
5962
6050
  end
5963
6051
 
@@ -6070,6 +6158,12 @@ module Google
6070
6158
  # @return [Array<String>]
6071
6159
  attr_accessor :licenses
6072
6160
 
6161
+ # An opaque location hint used to place the disk close to other resources. This
6162
+ # field is for use by internal tools that use the public API.
6163
+ # Corresponds to the JSON property `locationHint`
6164
+ # @return [String]
6165
+ attr_accessor :location_hint
6166
+
6073
6167
  # Indicates whether or not the disk can be read/write attached to more than one
6074
6168
  # instance.
6075
6169
  # Corresponds to the JSON property `multiWriter`
@@ -6151,8 +6245,13 @@ module Google
6151
6245
  # The source disk used to create this disk. You can provide this as a partial or
6152
6246
  # full URL to the resource. For example, the following are valid values:
6153
6247
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
6248
+ #
6249
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/
6250
+ # disk
6154
6251
  # - projects/project/zones/zone/disks/disk
6252
+ # - projects/project/regions/region/disks/disk
6155
6253
  # - zones/zone/disks/disk
6254
+ # - regions/region/disks/disk
6156
6255
  # Corresponds to the JSON property `sourceDisk`
6157
6256
  # @return [String]
6158
6257
  attr_accessor :source_disk
@@ -6271,14 +6370,19 @@ module Google
6271
6370
  # The full Google Cloud Storage URI where the disk image is stored. This file
6272
6371
  # must be a gzip-compressed tarball whose name ends in .tar.gz or virtual
6273
6372
  # machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https:
6274
- # //storage.googleapis.com/.
6373
+ # //storage.googleapis.com/. This flag is not optimized for creating multiple
6374
+ # disks from a source storage object. To create many disks from a source storage
6375
+ # object, use gcloud compute images import instead.
6275
6376
  # Corresponds to the JSON property `sourceStorageObject`
6276
6377
  # @return [String]
6277
6378
  attr_accessor :source_storage_object
6278
6379
 
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.
6380
+ # [Output Only] The status of disk creation.
6381
+ # - CREATING: Disk is provisioning.
6382
+ # - RESTORING: Source data is being copied into the disk.
6383
+ # - FAILED: Disk creation failed.
6384
+ # - READY: Disk is ready for use.
6385
+ # - DELETING: Disk is deleting.
6282
6386
  # Corresponds to the JSON property `status`
6283
6387
  # @return [String]
6284
6388
  attr_accessor :status
@@ -6337,6 +6441,7 @@ module Google
6337
6441
  @last_detach_timestamp = args[:last_detach_timestamp] if args.key?(:last_detach_timestamp)
6338
6442
  @license_codes = args[:license_codes] if args.key?(:license_codes)
6339
6443
  @licenses = args[:licenses] if args.key?(:licenses)
6444
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
6340
6445
  @multi_writer = args[:multi_writer] if args.key?(:multi_writer)
6341
6446
  @name = args[:name] if args.key?(:name)
6342
6447
  @options = args[:options] if args.key?(:options)
@@ -8301,6 +8406,32 @@ module Google
8301
8406
  end
8302
8407
  end
8303
8408
 
8409
+ #
8410
+ class FirewallPoliciesListAssociationsResponse
8411
+ include Google::Apis::Core::Hashable
8412
+
8413
+ # A list of associations.
8414
+ # Corresponds to the JSON property `associations`
8415
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyAssociation>]
8416
+ attr_accessor :associations
8417
+
8418
+ # [Output Only] Type of firewallPolicy associations. Always compute#
8419
+ # FirewallPoliciesListAssociations for lists of firewallPolicy associations.
8420
+ # Corresponds to the JSON property `kind`
8421
+ # @return [String]
8422
+ attr_accessor :kind
8423
+
8424
+ def initialize(**args)
8425
+ update!(**args)
8426
+ end
8427
+
8428
+ # Update properties of this object
8429
+ def update!(**args)
8430
+ @associations = args[:associations] if args.key?(:associations)
8431
+ @kind = args[:kind] if args.key?(:kind)
8432
+ end
8433
+ end
8434
+
8304
8435
  # Represents a Firewall Policy resource. (== resource_for `$api_version`.
8305
8436
  # firewallPolicies ==)
8306
8437
  class FirewallPolicy
@@ -8575,8 +8706,7 @@ module Google
8575
8706
  # @return [String]
8576
8707
  attr_accessor :action
8577
8708
 
8578
- # An optional description of this resource. Provide this property when you
8579
- # create the resource.
8709
+ # An optional description for this resource.
8580
8710
  # Corresponds to the JSON property `description`
8581
8711
  # @return [String]
8582
8712
  attr_accessor :description
@@ -8629,7 +8759,7 @@ module Google
8629
8759
  attr_accessor :rule_tuple_count
8630
8760
 
8631
8761
  # 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,
8762
+ # you to control which network's VMs get this rule. If this field is left blank,
8633
8763
  # all VMs within the organization will receive the rule.
8634
8764
  # Corresponds to the JSON property `targetResources`
8635
8765
  # @return [Array<String>]
@@ -8646,6 +8776,18 @@ module Google
8646
8776
  # @return [Array<String>]
8647
8777
  attr_accessor :target_secure_labels
8648
8778
 
8779
+ # A list of secure tags that controls which instances the firewall rule applies
8780
+ # to. If targetSecureTag are specified, then the firewall rule applies only to
8781
+ # instances in the VPC network that have one of those EFFECTIVE secure tags, if
8782
+ # all the target_secure_tag are in INEFFECTIVE state, then this rule will be
8783
+ # ignored. targetSecureTag may not be set at the same time as
8784
+ # targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag
8785
+ # are specified, the firewall rule applies to all instances on the specified
8786
+ # network. Maximum number of target label tags allowed is 256.
8787
+ # Corresponds to the JSON property `targetSecureTags`
8788
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleSecureTag>]
8789
+ attr_accessor :target_secure_tags
8790
+
8649
8791
  # A list of service accounts indicating the sets of instances that are applied
8650
8792
  # with this rule.
8651
8793
  # Corresponds to the JSON property `targetServiceAccounts`
@@ -8669,6 +8811,7 @@ module Google
8669
8811
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
8670
8812
  @target_resources = args[:target_resources] if args.key?(:target_resources)
8671
8813
  @target_secure_labels = args[:target_secure_labels] if args.key?(:target_secure_labels)
8814
+ @target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
8672
8815
  @target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
8673
8816
  end
8674
8817
  end
@@ -8700,6 +8843,14 @@ module Google
8700
8843
  # @return [Array<String>]
8701
8844
  attr_accessor :src_secure_labels
8702
8845
 
8846
+ # List of secure tag values, which should be matched at the source of the
8847
+ # traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
8848
+ # is no srcIpRange, this rule will be ignored. Maximum number of source tag
8849
+ # values allowed is 256.
8850
+ # Corresponds to the JSON property `srcSecureTags`
8851
+ # @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleSecureTag>]
8852
+ attr_accessor :src_secure_tags
8853
+
8703
8854
  def initialize(**args)
8704
8855
  update!(**args)
8705
8856
  end
@@ -8710,6 +8861,7 @@ module Google
8710
8861
  @layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
8711
8862
  @src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
8712
8863
  @src_secure_labels = args[:src_secure_labels] if args.key?(:src_secure_labels)
8864
+ @src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
8713
8865
  end
8714
8866
  end
8715
8867
 
@@ -8744,6 +8896,32 @@ module Google
8744
8896
  end
8745
8897
  end
8746
8898
 
8899
+ #
8900
+ class FirewallPolicyRuleSecureTag
8901
+ include Google::Apis::Core::Hashable
8902
+
8903
+ # Name of the secure tag, created with TagManager's TagValue API.
8904
+ # Corresponds to the JSON property `name`
8905
+ # @return [String]
8906
+ attr_accessor :name
8907
+
8908
+ # [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A
8909
+ # secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
8910
+ # Corresponds to the JSON property `state`
8911
+ # @return [String]
8912
+ attr_accessor :state
8913
+
8914
+ def initialize(**args)
8915
+ update!(**args)
8916
+ end
8917
+
8918
+ # Update properties of this object
8919
+ def update!(**args)
8920
+ @name = args[:name] if args.key?(:name)
8921
+ @state = args[:state] if args.key?(:state)
8922
+ end
8923
+ end
8924
+
8747
8925
  # Encapsulates numeric value that can be either absolute or relative.
8748
8926
  class FixedOrPercent
8749
8927
  include Google::Apis::Core::Hashable
@@ -9043,6 +9221,11 @@ module Google
9043
9221
  # @return [Array<String>]
9044
9222
  attr_accessor :ports
9045
9223
 
9224
+ # [Output Only] The PSC connection id of the PSC Forwarding Rule.
9225
+ # Corresponds to the JSON property `pscConnectionId`
9226
+ # @return [Fixnum]
9227
+ attr_accessor :psc_connection_id
9228
+
9046
9229
  # [Output Only] URL of the region where the regional forwarding rule resides.
9047
9230
  # This field is not applicable to global forwarding rules. You must specify this
9048
9231
  # field as part of the HTTP request URL. It is not settable as a field in the
@@ -9098,21 +9281,7 @@ module Google
9098
9281
  # @return [String]
9099
9282
  attr_accessor :subnetwork
9100
9283
 
9101
- # The URL of the target resource to receive the matched traffic. For regional
9102
- # forwarding rules, this target must be in the same region as the forwarding
9103
- # rule. For global forwarding rules, this target must be a global load balancing
9104
- # resource. The forwarded traffic must be of a type appropriate to the target
9105
- # object. For more information, see the "Target" column in [Port specifications](
9106
- # /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
9284
  #
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
9285
  # Corresponds to the JSON property `target`
9117
9286
  # @return [String]
9118
9287
  attr_accessor :target
@@ -9144,6 +9313,7 @@ module Google
9144
9313
  @network_tier = args[:network_tier] if args.key?(:network_tier)
9145
9314
  @port_range = args[:port_range] if args.key?(:port_range)
9146
9315
  @ports = args[:ports] if args.key?(:ports)
9316
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
9147
9317
  @region = args[:region] if args.key?(:region)
9148
9318
  @self_link = args[:self_link] if args.key?(:self_link)
9149
9319
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
@@ -9431,6 +9601,14 @@ module Google
9431
9601
  # @return [String]
9432
9602
  attr_accessor :service
9433
9603
 
9604
+ # [Optional] Service Directory region to register this global forwarding rule
9605
+ # under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
9606
+ # for Google APIs Forwarding Rules on the same network should use the same
9607
+ # Service Directory region.
9608
+ # Corresponds to the JSON property `serviceDirectoryRegion`
9609
+ # @return [String]
9610
+ attr_accessor :service_directory_region
9611
+
9434
9612
  def initialize(**args)
9435
9613
  update!(**args)
9436
9614
  end
@@ -9439,6 +9617,7 @@ module Google
9439
9617
  def update!(**args)
9440
9618
  @namespace = args[:namespace] if args.key?(:namespace)
9441
9619
  @service = args[:service] if args.key?(:service)
9620
+ @service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
9442
9621
  end
9443
9622
  end
9444
9623
 
@@ -9644,6 +9823,69 @@ module Google
9644
9823
  end
9645
9824
  end
9646
9825
 
9826
+ #
9827
+ class GlobalOrganizationSetPolicyRequest
9828
+ include Google::Apis::Core::Hashable
9829
+
9830
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
9831
+ # policy' to specify bindings.
9832
+ # Corresponds to the JSON property `bindings`
9833
+ # @return [Array<Google::Apis::ComputeAlpha::Binding>]
9834
+ attr_accessor :bindings
9835
+
9836
+ # Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
9837
+ # policy' to specify the etag.
9838
+ # Corresponds to the JSON property `etag`
9839
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
9840
+ # @return [String]
9841
+ attr_accessor :etag
9842
+
9843
+ # An Identity and Access Management (IAM) policy, which specifies access
9844
+ # controls for Google Cloud resources.
9845
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more `
9846
+ # members` to a single `role`. Members can be user accounts, service accounts,
9847
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
9848
+ # permissions; each `role` can be an IAM predefined role or a user-created
9849
+ # custom role.
9850
+ # For some types of Google Cloud resources, a `binding` can also specify a `
9851
+ # condition`, which is a logical expression that allows access to a resource
9852
+ # only if the expression evaluates to `true`. A condition can add constraints
9853
+ # based on attributes of the request, the resource, or both. To learn which
9854
+ # resources support conditions in their IAM policies, see the [IAM documentation]
9855
+ # (https://cloud.google.com/iam/help/conditions/resource-policies).
9856
+ # **JSON example:**
9857
+ # ` "bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members":
9858
+ # [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
9859
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
9860
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
9861
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
9862
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
9863
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 `
9864
+ # **YAML example:**
9865
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
9866
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
9867
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
9868
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
9869
+ # access description: Does not grant access after Sep 2020 expression: request.
9870
+ # time < timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3
9871
+ # For a description of IAM and its features, see the [IAM documentation](https://
9872
+ # cloud.google.com/iam/docs/).
9873
+ # Corresponds to the JSON property `policy`
9874
+ # @return [Google::Apis::ComputeAlpha::Policy]
9875
+ attr_accessor :policy
9876
+
9877
+ def initialize(**args)
9878
+ update!(**args)
9879
+ end
9880
+
9881
+ # Update properties of this object
9882
+ def update!(**args)
9883
+ @bindings = args[:bindings] if args.key?(:bindings)
9884
+ @etag = args[:etag] if args.key?(:etag)
9885
+ @policy = args[:policy] if args.key?(:policy)
9886
+ end
9887
+ end
9888
+
9647
9889
  #
9648
9890
  class GlobalSetLabelsRequest
9649
9891
  include Google::Apis::Core::Hashable
@@ -10186,11 +10428,12 @@ module Google
10186
10428
  attr_accessor :log_config
10187
10429
 
10188
10430
  # Name of the resource. Provided by the client when the resource is created. The
10189
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
10190
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
10191
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
10192
- # and all following characters must be a dash, lowercase letter, or digit,
10193
- # except the last character, which cannot be a dash.
10431
+ # name must be 1-63 characters long, and comply with RFC1035. For example, a
10432
+ # name that is 1-63 characters long, matches the regular expression `[a-z]([-a-
10433
+ # z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular
10434
+ # expression describes a name where the first character is a lowercase letter,
10435
+ # and all following characters are a dash, lowercase letter, or digit, except
10436
+ # the last character, which isn't a dash.
10194
10437
  # Corresponds to the JSON property `name`
10195
10438
  # @return [String]
10196
10439
  attr_accessor :name
@@ -10579,33 +10822,8 @@ module Google
10579
10822
  end
10580
10823
  end
10581
10824
 
10582
- # A full or valid partial URL to a health check service. For example, the
10583
- # following are valid URLs:
10584
- # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/
10585
- # healthCheckServices/health-check-service
10586
- # - projects/project-id/regions/us-west1/healthCheckServices/health-check-
10587
- # service
10588
- # - regions/us-west1/healthCheckServices/health-check-service
10589
- class HealthCheckServiceReference
10590
- include Google::Apis::Core::Hashable
10591
-
10592
- #
10593
- # Corresponds to the JSON property `healthCheckService`
10594
- # @return [String]
10595
- attr_accessor :health_check_service
10596
-
10597
- def initialize(**args)
10598
- update!(**args)
10599
- end
10600
-
10601
- # Update properties of this object
10602
- def update!(**args)
10603
- @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
10604
- end
10605
- end
10606
-
10607
- #
10608
- class HealthCheckServicesList
10825
+ # Contains a list of HealthCheckServicesScopedList.
10826
+ class HealthCheckServiceAggregatedList
10609
10827
  include Google::Apis::Core::Hashable
10610
10828
 
10611
10829
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -10613,13 +10831,12 @@ module Google
10613
10831
  # @return [String]
10614
10832
  attr_accessor :id
10615
10833
 
10616
- # A list of HealthCheckService resources.
10834
+ # A list of HealthCheckServicesScopedList resources.
10617
10835
  # Corresponds to the JSON property `items`
10618
- # @return [Array<Google::Apis::ComputeAlpha::HealthCheckService>]
10836
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HealthCheckServicesScopedList>]
10619
10837
  attr_accessor :items
10620
10838
 
10621
- # [Output Only] Type of the resource. Always compute#healthCheckServicesList for
10622
- # lists of HealthCheckServices.
10839
+ # Type of resource.
10623
10840
  # Corresponds to the JSON property `kind`
10624
10841
  # @return [String]
10625
10842
  attr_accessor :kind
@@ -10638,9 +10855,14 @@ module Google
10638
10855
  # @return [String]
10639
10856
  attr_accessor :self_link
10640
10857
 
10858
+ # [Output Only] Unreachable resources.
10859
+ # Corresponds to the JSON property `unreachables`
10860
+ # @return [Array<String>]
10861
+ attr_accessor :unreachables
10862
+
10641
10863
  # [Output Only] Informational warning message.
10642
10864
  # Corresponds to the JSON property `warning`
10643
- # @return [Google::Apis::ComputeAlpha::HealthCheckServicesList::Warning]
10865
+ # @return [Google::Apis::ComputeAlpha::HealthCheckServiceAggregatedList::Warning]
10644
10866
  attr_accessor :warning
10645
10867
 
10646
10868
  def initialize(**args)
@@ -10654,6 +10876,7 @@ module Google
10654
10876
  @kind = args[:kind] if args.key?(:kind)
10655
10877
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10656
10878
  @self_link = args[:self_link] if args.key?(:self_link)
10879
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10657
10880
  @warning = args[:warning] if args.key?(:warning)
10658
10881
  end
10659
10882
 
@@ -10670,7 +10893,7 @@ module Google
10670
10893
  # [Output Only] Metadata about this warning in key: value format. For example:
10671
10894
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10672
10895
  # Corresponds to the JSON property `data`
10673
- # @return [Array<Google::Apis::ComputeAlpha::HealthCheckServicesList::Warning::Datum>]
10896
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckServiceAggregatedList::Warning::Datum>]
10674
10897
  attr_accessor :data
10675
10898
 
10676
10899
  # [Output Only] A human-readable description of the warning code.
@@ -10722,8 +10945,33 @@ module Google
10722
10945
  end
10723
10946
  end
10724
10947
 
10948
+ # A full or valid partial URL to a health check service. For example, the
10949
+ # following are valid URLs:
10950
+ # - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/
10951
+ # healthCheckServices/health-check-service
10952
+ # - projects/project-id/regions/us-west1/healthCheckServices/health-check-
10953
+ # service
10954
+ # - regions/us-west1/healthCheckServices/health-check-service
10955
+ class HealthCheckServiceReference
10956
+ include Google::Apis::Core::Hashable
10957
+
10958
+ #
10959
+ # Corresponds to the JSON property `healthCheckService`
10960
+ # @return [String]
10961
+ attr_accessor :health_check_service
10962
+
10963
+ def initialize(**args)
10964
+ update!(**args)
10965
+ end
10966
+
10967
+ # Update properties of this object
10968
+ def update!(**args)
10969
+ @health_check_service = args[:health_check_service] if args.key?(:health_check_service)
10970
+ end
10971
+ end
10972
+
10725
10973
  #
10726
- class HealthChecksAggregatedList
10974
+ class HealthCheckServicesList
10727
10975
  include Google::Apis::Core::Hashable
10728
10976
 
10729
10977
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -10731,12 +10979,13 @@ module Google
10731
10979
  # @return [String]
10732
10980
  attr_accessor :id
10733
10981
 
10734
- # A list of HealthChecksScopedList resources.
10982
+ # A list of HealthCheckService resources.
10735
10983
  # Corresponds to the JSON property `items`
10736
- # @return [Hash<String,Google::Apis::ComputeAlpha::HealthChecksScopedList>]
10984
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckService>]
10737
10985
  attr_accessor :items
10738
10986
 
10739
- # Type of resource.
10987
+ # [Output Only] Type of the resource. Always compute#healthCheckServicesList for
10988
+ # lists of HealthCheckServices.
10740
10989
  # Corresponds to the JSON property `kind`
10741
10990
  # @return [String]
10742
10991
  attr_accessor :kind
@@ -10755,14 +11004,9 @@ module Google
10755
11004
  # @return [String]
10756
11005
  attr_accessor :self_link
10757
11006
 
10758
- # [Output Only] Unreachable resources.
10759
- # Corresponds to the JSON property `unreachables`
10760
- # @return [Array<String>]
10761
- attr_accessor :unreachables
10762
-
10763
11007
  # [Output Only] Informational warning message.
10764
11008
  # Corresponds to the JSON property `warning`
10765
- # @return [Google::Apis::ComputeAlpha::HealthChecksAggregatedList::Warning]
11009
+ # @return [Google::Apis::ComputeAlpha::HealthCheckServicesList::Warning]
10766
11010
  attr_accessor :warning
10767
11011
 
10768
11012
  def initialize(**args)
@@ -10776,7 +11020,6 @@ module Google
10776
11020
  @kind = args[:kind] if args.key?(:kind)
10777
11021
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10778
11022
  @self_link = args[:self_link] if args.key?(:self_link)
10779
- @unreachables = args[:unreachables] if args.key?(:unreachables)
10780
11023
  @warning = args[:warning] if args.key?(:warning)
10781
11024
  end
10782
11025
 
@@ -10793,7 +11036,221 @@ module Google
10793
11036
  # [Output Only] Metadata about this warning in key: value format. For example:
10794
11037
  # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10795
11038
  # Corresponds to the JSON property `data`
10796
- # @return [Array<Google::Apis::ComputeAlpha::HealthChecksAggregatedList::Warning::Datum>]
11039
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckServicesList::Warning::Datum>]
11040
+ attr_accessor :data
11041
+
11042
+ # [Output Only] A human-readable description of the warning code.
11043
+ # Corresponds to the JSON property `message`
11044
+ # @return [String]
11045
+ attr_accessor :message
11046
+
11047
+ def initialize(**args)
11048
+ update!(**args)
11049
+ end
11050
+
11051
+ # Update properties of this object
11052
+ def update!(**args)
11053
+ @code = args[:code] if args.key?(:code)
11054
+ @data = args[:data] if args.key?(:data)
11055
+ @message = args[:message] if args.key?(:message)
11056
+ end
11057
+
11058
+ #
11059
+ class Datum
11060
+ include Google::Apis::Core::Hashable
11061
+
11062
+ # [Output Only] A key that provides more detail on the warning being returned.
11063
+ # For example, for warnings where there are no results in a list request for a
11064
+ # particular zone, this key might be scope and the key value might be the zone
11065
+ # name. Other examples might be a key indicating a deprecated resource and a
11066
+ # suggested replacement, or a warning about invalid network settings (for
11067
+ # example, if an instance attempts to perform IP forwarding but is not enabled
11068
+ # for IP forwarding).
11069
+ # Corresponds to the JSON property `key`
11070
+ # @return [String]
11071
+ attr_accessor :key
11072
+
11073
+ # [Output Only] A warning data value corresponding to the key.
11074
+ # Corresponds to the JSON property `value`
11075
+ # @return [String]
11076
+ attr_accessor :value
11077
+
11078
+ def initialize(**args)
11079
+ update!(**args)
11080
+ end
11081
+
11082
+ # Update properties of this object
11083
+ def update!(**args)
11084
+ @key = args[:key] if args.key?(:key)
11085
+ @value = args[:value] if args.key?(:value)
11086
+ end
11087
+ end
11088
+ end
11089
+ end
11090
+
11091
+ #
11092
+ class HealthCheckServicesScopedList
11093
+ include Google::Apis::Core::Hashable
11094
+
11095
+ # A list of HealthCheckServices contained in this scope.
11096
+ # Corresponds to the JSON property `resources`
11097
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckService>]
11098
+ attr_accessor :resources
11099
+
11100
+ # Informational warning which replaces the list of backend services when the
11101
+ # list is empty.
11102
+ # Corresponds to the JSON property `warning`
11103
+ # @return [Google::Apis::ComputeAlpha::HealthCheckServicesScopedList::Warning]
11104
+ attr_accessor :warning
11105
+
11106
+ def initialize(**args)
11107
+ update!(**args)
11108
+ end
11109
+
11110
+ # Update properties of this object
11111
+ def update!(**args)
11112
+ @resources = args[:resources] if args.key?(:resources)
11113
+ @warning = args[:warning] if args.key?(:warning)
11114
+ end
11115
+
11116
+ # Informational warning which replaces the list of backend services when the
11117
+ # list is empty.
11118
+ class Warning
11119
+ include Google::Apis::Core::Hashable
11120
+
11121
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
11122
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
11123
+ # Corresponds to the JSON property `code`
11124
+ # @return [String]
11125
+ attr_accessor :code
11126
+
11127
+ # [Output Only] Metadata about this warning in key: value format. For example:
11128
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
11129
+ # Corresponds to the JSON property `data`
11130
+ # @return [Array<Google::Apis::ComputeAlpha::HealthCheckServicesScopedList::Warning::Datum>]
11131
+ attr_accessor :data
11132
+
11133
+ # [Output Only] A human-readable description of the warning code.
11134
+ # Corresponds to the JSON property `message`
11135
+ # @return [String]
11136
+ attr_accessor :message
11137
+
11138
+ def initialize(**args)
11139
+ update!(**args)
11140
+ end
11141
+
11142
+ # Update properties of this object
11143
+ def update!(**args)
11144
+ @code = args[:code] if args.key?(:code)
11145
+ @data = args[:data] if args.key?(:data)
11146
+ @message = args[:message] if args.key?(:message)
11147
+ end
11148
+
11149
+ #
11150
+ class Datum
11151
+ include Google::Apis::Core::Hashable
11152
+
11153
+ # [Output Only] A key that provides more detail on the warning being returned.
11154
+ # For example, for warnings where there are no results in a list request for a
11155
+ # particular zone, this key might be scope and the key value might be the zone
11156
+ # name. Other examples might be a key indicating a deprecated resource and a
11157
+ # suggested replacement, or a warning about invalid network settings (for
11158
+ # example, if an instance attempts to perform IP forwarding but is not enabled
11159
+ # for IP forwarding).
11160
+ # Corresponds to the JSON property `key`
11161
+ # @return [String]
11162
+ attr_accessor :key
11163
+
11164
+ # [Output Only] A warning data value corresponding to the key.
11165
+ # Corresponds to the JSON property `value`
11166
+ # @return [String]
11167
+ attr_accessor :value
11168
+
11169
+ def initialize(**args)
11170
+ update!(**args)
11171
+ end
11172
+
11173
+ # Update properties of this object
11174
+ def update!(**args)
11175
+ @key = args[:key] if args.key?(:key)
11176
+ @value = args[:value] if args.key?(:value)
11177
+ end
11178
+ end
11179
+ end
11180
+ end
11181
+
11182
+ #
11183
+ class HealthChecksAggregatedList
11184
+ include Google::Apis::Core::Hashable
11185
+
11186
+ # [Output Only] Unique identifier for the resource; defined by the server.
11187
+ # Corresponds to the JSON property `id`
11188
+ # @return [String]
11189
+ attr_accessor :id
11190
+
11191
+ # A list of HealthChecksScopedList resources.
11192
+ # Corresponds to the JSON property `items`
11193
+ # @return [Hash<String,Google::Apis::ComputeAlpha::HealthChecksScopedList>]
11194
+ attr_accessor :items
11195
+
11196
+ # Type of resource.
11197
+ # Corresponds to the JSON property `kind`
11198
+ # @return [String]
11199
+ attr_accessor :kind
11200
+
11201
+ # [Output Only] This token allows you to get the next page of results for list
11202
+ # requests. If the number of results is larger than maxResults, use the
11203
+ # nextPageToken as a value for the query parameter pageToken in the next list
11204
+ # request. Subsequent list requests will have their own nextPageToken to
11205
+ # continue paging through the results.
11206
+ # Corresponds to the JSON property `nextPageToken`
11207
+ # @return [String]
11208
+ attr_accessor :next_page_token
11209
+
11210
+ # [Output Only] Server-defined URL for this resource.
11211
+ # Corresponds to the JSON property `selfLink`
11212
+ # @return [String]
11213
+ attr_accessor :self_link
11214
+
11215
+ # [Output Only] Unreachable resources.
11216
+ # Corresponds to the JSON property `unreachables`
11217
+ # @return [Array<String>]
11218
+ attr_accessor :unreachables
11219
+
11220
+ # [Output Only] Informational warning message.
11221
+ # Corresponds to the JSON property `warning`
11222
+ # @return [Google::Apis::ComputeAlpha::HealthChecksAggregatedList::Warning]
11223
+ attr_accessor :warning
11224
+
11225
+ def initialize(**args)
11226
+ update!(**args)
11227
+ end
11228
+
11229
+ # Update properties of this object
11230
+ def update!(**args)
11231
+ @id = args[:id] if args.key?(:id)
11232
+ @items = args[:items] if args.key?(:items)
11233
+ @kind = args[:kind] if args.key?(:kind)
11234
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
11235
+ @self_link = args[:self_link] if args.key?(:self_link)
11236
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
11237
+ @warning = args[:warning] if args.key?(:warning)
11238
+ end
11239
+
11240
+ # [Output Only] Informational warning message.
11241
+ class Warning
11242
+ include Google::Apis::Core::Hashable
11243
+
11244
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
11245
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
11246
+ # Corresponds to the JSON property `code`
11247
+ # @return [String]
11248
+ attr_accessor :code
11249
+
11250
+ # [Output Only] Metadata about this warning in key: value format. For example:
11251
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
11252
+ # Corresponds to the JSON property `data`
11253
+ # @return [Array<Google::Apis::ComputeAlpha::HealthChecksAggregatedList::Warning::Datum>]
10797
11254
  attr_accessor :data
10798
11255
 
10799
11256
  # [Output Only] A human-readable description of the warning code.
@@ -10955,7 +11412,9 @@ module Google
10955
11412
  # @return [String]
10956
11413
  attr_accessor :instance
10957
11414
 
10958
- # A forwarding rule IP address assigned to this instance.
11415
+ # For target pool based Network Load Balancing, it indicates the forwarding rule'
11416
+ # s IP address assigned to this instance. For other types of load balancing, the
11417
+ # field indicates VM internal ip.
10959
11418
  # Corresponds to the JSON property `ipAddress`
10960
11419
  # @return [String]
10961
11420
  attr_accessor :ip_address
@@ -11314,8 +11773,8 @@ module Google
11314
11773
  attr_accessor :range_match
11315
11774
 
11316
11775
  # 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
11776
+ # regexMatch. For regular expression grammar, please see: github.com/google/re2/
11777
+ # wiki/Syntax
11319
11778
  # For matching against a port specified in the HTTP request, use a headerMatch
11320
11779
  # with headerName set to PORT and a regular expression that satisfies the
11321
11780
  # RFC2616 Host header's port specifier.
@@ -11644,7 +12103,7 @@ module Google
11644
12103
 
11645
12104
  # The queryParameterMatch matches if the value of the parameter matches the
11646
12105
  # regular expression specified by regexMatch. For the regular expression grammar,
11647
- # please see en.cppreference.com/w/cpp/regex/ecmascript
12106
+ # please see github.com/google/re2/wiki/Syntax
11648
12107
  # Only one of presentMatch, exactMatch or regexMatch must be set.
11649
12108
  # Note that regexMatch only applies when the loadBalancingScheme is set to
11650
12109
  # INTERNAL_SELF_MANAGED.
@@ -11823,6 +12282,14 @@ module Google
11823
12282
  # @return [Google::Apis::ComputeAlpha::HttpFaultInjection]
11824
12283
  attr_accessor :fault_injection_policy
11825
12284
 
12285
+ # A Duration represents a fixed-length span of time represented as a count of
12286
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
12287
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
12288
+ # 000 years.
12289
+ # Corresponds to the JSON property `maxStreamDuration`
12290
+ # @return [Google::Apis::ComputeAlpha::Duration]
12291
+ attr_accessor :max_stream_duration
12292
+
11826
12293
  # A policy that specifies how requests intended for the route's backends are
11827
12294
  # shadowed to a separate mirrored backend service. Loadbalancer does not wait
11828
12295
  # for responses from the shadow service. Prior to sending traffic to the shadow
@@ -11871,6 +12338,7 @@ module Google
11871
12338
  def update!(**args)
11872
12339
  @cors_policy = args[:cors_policy] if args.key?(:cors_policy)
11873
12340
  @fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
12341
+ @max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
11874
12342
  @request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
11875
12343
  @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
11876
12344
  @timeout = args[:timeout] if args.key?(:timeout)
@@ -12057,7 +12525,7 @@ module Google
12057
12525
  # For satisfying the matchRule condition, the path of the request must satisfy
12058
12526
  # the regular expression specified in regexMatch after removing any query
12059
12527
  # parameters and anchor supplied with the original URL. For regular expression
12060
- # grammar please see en.cppreference.com/w/cpp/regex/ecmascript
12528
+ # grammar please see github.com/google/re2/wiki/Syntax
12061
12529
  # Only one of prefixMatch, fullPathMatch or regexMatch must be specified.
12062
12530
  # Note that regexMatch only applies to Loadbalancers that have their
12063
12531
  # loadBalancingScheme set to INTERNAL_SELF_MANAGED.
@@ -12424,6 +12892,17 @@ module Google
12424
12892
  # @return [Google::Apis::ComputeAlpha::Image::RawDisk]
12425
12893
  attr_accessor :raw_disk
12426
12894
 
12895
+ # A rollout policy configuration.
12896
+ # Corresponds to the JSON property `rolloutOverride`
12897
+ # @return [Google::Apis::ComputeAlpha::RolloutPolicy]
12898
+ attr_accessor :rollout_override
12899
+
12900
+ # [Output Only] Reserved for future use.
12901
+ # Corresponds to the JSON property `satisfiesPzs`
12902
+ # @return [Boolean]
12903
+ attr_accessor :satisfies_pzs
12904
+ alias_method :satisfies_pzs?, :satisfies_pzs
12905
+
12427
12906
  # [Output Only] Server-defined URL for the resource.
12428
12907
  # Corresponds to the JSON property `selfLink`
12429
12908
  # @return [String]
@@ -12555,6 +13034,8 @@ module Google
12555
13034
  @licenses = args[:licenses] if args.key?(:licenses)
12556
13035
  @name = args[:name] if args.key?(:name)
12557
13036
  @raw_disk = args[:raw_disk] if args.key?(:raw_disk)
13037
+ @rollout_override = args[:rollout_override] if args.key?(:rollout_override)
13038
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
12558
13039
  @self_link = args[:self_link] if args.key?(:self_link)
12559
13040
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
12560
13041
  @shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
@@ -12608,6 +13089,27 @@ module Google
12608
13089
  end
12609
13090
  end
12610
13091
 
13092
+ #
13093
+ class ImageFamilyView
13094
+ include Google::Apis::Core::Hashable
13095
+
13096
+ # Represents an Image resource.
13097
+ # You can use images to create boot disks for your VM instances. For more
13098
+ # information, read Images. (== resource_for `$api_version`.images ==)
13099
+ # Corresponds to the JSON property `image`
13100
+ # @return [Google::Apis::ComputeAlpha::Image]
13101
+ attr_accessor :image
13102
+
13103
+ def initialize(**args)
13104
+ update!(**args)
13105
+ end
13106
+
13107
+ # Update properties of this object
13108
+ def update!(**args)
13109
+ @image = args[:image] if args.key?(:image)
13110
+ end
13111
+ end
13112
+
12611
13113
  # Contains a list of images.
12612
13114
  class ImageList
12613
13115
  include Google::Apis::Core::Hashable
@@ -13255,13 +13757,20 @@ module Google
13255
13757
  # @return [Array<String>]
13256
13758
  attr_accessor :resource_policies
13257
13759
 
13760
+ # Contains output only fields. Use this sub-message for actual values set on
13761
+ # Instance attributes as compared to the value requested by the user (intent) in
13762
+ # their instance CRUD calls.
13763
+ # Corresponds to the JSON property `resourceStatus`
13764
+ # @return [Google::Apis::ComputeAlpha::ResourceStatus]
13765
+ attr_accessor :resource_status
13766
+
13258
13767
  # [Output Only] Reserved for future use.
13259
13768
  # Corresponds to the JSON property `satisfiesPzs`
13260
13769
  # @return [Boolean]
13261
13770
  attr_accessor :satisfies_pzs
13262
13771
  alias_method :satisfies_pzs?, :satisfies_pzs
13263
13772
 
13264
- # Sets the scheduling options for an Instance. NextID: 13
13773
+ # Sets the scheduling options for an Instance. NextID: 17
13265
13774
  # Corresponds to the JSON property `scheduling`
13266
13775
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13267
13776
  attr_accessor :scheduling
@@ -13324,7 +13833,8 @@ module Google
13324
13833
  # @return [String]
13325
13834
  attr_accessor :source_machine_image
13326
13835
 
13327
- # Source GMI encryption key when creating an instance from GMI.
13836
+ # Source machine image encryption key when creating an instance from a machine
13837
+ # image.
13328
13838
  # Corresponds to the JSON property `sourceMachineImageEncryptionKey`
13329
13839
  # @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
13330
13840
  attr_accessor :source_machine_image_encryption_key
@@ -13404,6 +13914,7 @@ module Google
13404
13914
  @private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
13405
13915
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
13406
13916
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
13917
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
13407
13918
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
13408
13919
  @scheduling = args[:scheduling] if args.key?(:scheduling)
13409
13920
  @secure_labels = args[:secure_labels] if args.key?(:secure_labels)
@@ -16094,7 +16605,7 @@ module Google
16094
16605
  # @return [Array<String>]
16095
16606
  attr_accessor :resource_policies
16096
16607
 
16097
- # Sets the scheduling options for an Instance. NextID: 13
16608
+ # Sets the scheduling options for an Instance. NextID: 17
16098
16609
  # Corresponds to the JSON property `scheduling`
16099
16610
  # @return [Google::Apis::ComputeAlpha::Scheduling]
16100
16611
  attr_accessor :scheduling
@@ -16919,6 +17430,12 @@ module Google
16919
17430
  # @return [String]
16920
17431
  attr_accessor :region
16921
17432
 
17433
+ # [Output Only] Reserved for future use.
17434
+ # Corresponds to the JSON property `satisfiesPzs`
17435
+ # @return [Boolean]
17436
+ attr_accessor :satisfies_pzs
17437
+ alias_method :satisfies_pzs?, :satisfies_pzs
17438
+
16922
17439
  # [Output Only] Server-defined URL for the resource.
16923
17440
  # Corresponds to the JSON property `selfLink`
16924
17441
  # @return [String]
@@ -16934,8 +17451,13 @@ module Google
16934
17451
  # created. This can be a full or valid partial URL. For example, the following
16935
17452
  # are valid values:
16936
17453
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
17454
+ #
17455
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/disks/
17456
+ # disk
16937
17457
  # - projects/project/zones/zone/disks/disk
17458
+ # - projects/project/regions/region/disks/disk
16938
17459
  # - zones/zone/disks/disk
17460
+ # - regions/region/disks/disk
16939
17461
  # Corresponds to the JSON property `sourceDisk`
16940
17462
  # @return [String]
16941
17463
  attr_accessor :source_disk
@@ -16976,6 +17498,7 @@ module Google
16976
17498
  @labels = args[:labels] if args.key?(:labels)
16977
17499
  @name = args[:name] if args.key?(:name)
16978
17500
  @region = args[:region] if args.key?(:region)
17501
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
16979
17502
  @self_link = args[:self_link] if args.key?(:self_link)
16980
17503
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
16981
17504
  @source_disk = args[:source_disk] if args.key?(:source_disk)
@@ -17492,8 +18015,8 @@ module Google
17492
18015
  # type of attachment.
17493
18016
  # - IPSEC indicates that the attachment carries only traffic encrypted by an
17494
18017
  # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
17495
- # or receive traffic from, such an attachment. To use IPsec over Interconnect,
17496
- # create the attachment using this option.
18018
+ # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
18019
+ # Interconnect, create the attachment using this option.
17497
18020
  # Corresponds to the JSON property `encryption`
17498
18021
  # @return [String]
17499
18022
  attr_accessor :encryption
@@ -19878,6 +20401,12 @@ module Google
19878
20401
  # @return [String]
19879
20402
  attr_accessor :name
19880
20403
 
20404
+ # [Output Only] Reserved for future use.
20405
+ # Corresponds to the JSON property `satisfiesPzs`
20406
+ # @return [Boolean]
20407
+ attr_accessor :satisfies_pzs
20408
+ alias_method :satisfies_pzs?, :satisfies_pzs
20409
+
19881
20410
  # [Output Only] The URL for this machine image. The server defines this URL.
19882
20411
  # Corresponds to the JSON property `selfLink`
19883
20412
  # @return [String]
@@ -19940,6 +20469,7 @@ module Google
19940
20469
  @kind = args[:kind] if args.key?(:kind)
19941
20470
  @machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
19942
20471
  @name = args[:name] if args.key?(:name)
20472
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
19943
20473
  @self_link = args[:self_link] if args.key?(:self_link)
19944
20474
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19945
20475
  @source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
@@ -21156,9 +21686,8 @@ module Google
21156
21686
  # @return [String]
21157
21687
  attr_accessor :ip_address
21158
21688
 
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.
21689
+ # Optional port number of network endpoint. If not specified, the defaultPort
21690
+ # for the network endpoint group will be used.
21162
21691
  # Corresponds to the JSON property `port`
21163
21692
  # @return [Fixnum]
21164
21693
  attr_accessor :port
@@ -21294,6 +21823,14 @@ module Google
21294
21823
  # @return [String]
21295
21824
  attr_accessor :self_link_with_id
21296
21825
 
21826
+ # Configuration for a Serverless Deployment network endpoint group (NEG). The
21827
+ # platform must be provided.
21828
+ # Note: The target backend service must be in the same project and located in
21829
+ # the same region as the Serverless NEG.
21830
+ # Corresponds to the JSON property `serverlessDeployment`
21831
+ # @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupServerlessDeployment]
21832
+ attr_accessor :serverless_deployment
21833
+
21297
21834
  # [Output only] Number of network endpoints in the network endpoint group.
21298
21835
  # Corresponds to the JSON property `size`
21299
21836
  # @return [Fixnum]
@@ -21338,6 +21875,7 @@ module Google
21338
21875
  @region = args[:region] if args.key?(:region)
21339
21876
  @self_link = args[:self_link] if args.key?(:self_link)
21340
21877
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
21878
+ @serverless_deployment = args[:serverless_deployment] if args.key?(:serverless_deployment)
21341
21879
  @size = args[:size] if args.key?(:size)
21342
21880
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
21343
21881
  @type = args[:type] if args.key?(:type)
@@ -21757,6 +22295,72 @@ module Google
21757
22295
  end
21758
22296
  end
21759
22297
 
22298
+ # Configuration for a Serverless Deployment network endpoint group (NEG). The
22299
+ # platform must be provided.
22300
+ # Note: The target backend service must be in the same project and located in
22301
+ # the same region as the Serverless NEG.
22302
+ class NetworkEndpointGroupServerlessDeployment
22303
+ include Google::Apis::Core::Hashable
22304
+
22305
+ # The platform of the backend target(s) of this NEG. Possible values include:
22306
+ #
22307
+ # - apigateway.googleapis.com
22308
+ # - appengine.googleapies.com
22309
+ # - cloudfunctions.googleapis.com
22310
+ # - run.googleapis.com
22311
+ # Corresponds to the JSON property `platform`
22312
+ # @return [String]
22313
+ attr_accessor :platform
22314
+
22315
+ # The user-defined name of the workload/instance. This value must be provided
22316
+ # explicitly or in the urlMask. The resource identified by this value is
22317
+ # platform-specific and is as follows:
22318
+ #
22319
+ # - API Gateway: The gateway id
22320
+ # - AppEngine: The service name
22321
+ # - Cloud Functions: The function name
22322
+ # - Cloud Run: The service name
22323
+ # Corresponds to the JSON property `resource`
22324
+ # @return [String]
22325
+ attr_accessor :resource
22326
+
22327
+ # A template to parse platform-specific fields from a request URL. URL mask
22328
+ # allows for routing to multiple services on the same serverless platform
22329
+ # without having to create multiple Network Endpoint Groups and backend services.
22330
+ # The fields parsed by this template is platform-specific and are as follows:
22331
+ #
22332
+ # - API Gateway: The gateway id
22333
+ # - AppEngine: The service and version
22334
+ # - Cloud Functions: The function
22335
+ # - Cloud Run: The service and tag
22336
+ # Corresponds to the JSON property `urlMask`
22337
+ # @return [String]
22338
+ attr_accessor :url_mask
22339
+
22340
+ # The optional resource version. The version identified by this value is as
22341
+ # platform-specific and is follows:
22342
+ #
22343
+ # - API Gateway: Unused
22344
+ # - AppEngine: The service version
22345
+ # - Cloud Functions: Unused
22346
+ # - Cloud Run: The service tag
22347
+ # Corresponds to the JSON property `version`
22348
+ # @return [String]
22349
+ attr_accessor :version
22350
+
22351
+ def initialize(**args)
22352
+ update!(**args)
22353
+ end
22354
+
22355
+ # Update properties of this object
22356
+ def update!(**args)
22357
+ @platform = args[:platform] if args.key?(:platform)
22358
+ @resource = args[:resource] if args.key?(:resource)
22359
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
22360
+ @version = args[:version] if args.key?(:version)
22361
+ end
22362
+ end
22363
+
21760
22364
  #
21761
22365
  class NetworkEndpointGroupsAttachEndpointsRequest
21762
22366
  include Google::Apis::Core::Hashable
@@ -22092,8 +22696,9 @@ module Google
22092
22696
 
22093
22697
  # Fingerprint hash of contents stored in this network interface. This field will
22094
22698
  # be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
22095
- # date fingerprint must be provided in order to update the NetworkInterface,
22096
- # otherwise the request will fail with error 412 conditionNotMet.
22699
+ # date fingerprint must be provided in order to update the NetworkInterface. The
22700
+ # request will fail with error 400 Bad Request if the fingerprint is not
22701
+ # provided, or 412 Precondition Failed if the fingerprint is out of date.
22097
22702
  # Corresponds to the JSON property `fingerprint`
22098
22703
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
22099
22704
  # @return [String]
@@ -22176,6 +22781,14 @@ module Google
22176
22781
  # @return [String]
22177
22782
  attr_accessor :stack_type
22178
22783
 
22784
+ # SubInterfaces help enable L2 communication for the instance over subnetworks
22785
+ # that support L2. Every network interface will get a default untagged (vlan not
22786
+ # specified) subinterface. Users can specify additional tagged subinterfaces
22787
+ # which are sub-fields to the Network Interface.
22788
+ # Corresponds to the JSON property `subinterfaces`
22789
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkInterfaceSubInterface>]
22790
+ attr_accessor :subinterfaces
22791
+
22179
22792
  # The URL of the Subnetwork resource for this instance. If the network resource
22180
22793
  # is in legacy mode, do not specify this field. If the network is in auto subnet
22181
22794
  # mode, specifying the subnetwork is optional. If the network is in custom
@@ -22209,7 +22822,46 @@ module Google
22209
22822
  @nic_type = args[:nic_type] if args.key?(:nic_type)
22210
22823
  @queue_count = args[:queue_count] if args.key?(:queue_count)
22211
22824
  @stack_type = args[:stack_type] if args.key?(:stack_type)
22825
+ @subinterfaces = args[:subinterfaces] if args.key?(:subinterfaces)
22826
+ @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
22827
+ end
22828
+ end
22829
+
22830
+ #
22831
+ class NetworkInterfaceSubInterface
22832
+ include Google::Apis::Core::Hashable
22833
+
22834
+ # An IPv4 internal IP address to assign to the instance for this subinterface.
22835
+ # Corresponds to the JSON property `ipAddress`
22836
+ # @return [String]
22837
+ attr_accessor :ip_address
22838
+
22839
+ # If specified, this subnetwork must belong to the same network as that of the
22840
+ # network interface. If not specified the subnet of network interface will be
22841
+ # used. If you specify this property, you can specify the subnetwork as a full
22842
+ # or partial URL. For example, the following are all valid URLs:
22843
+ # - https://www.googleapis.com/compute/v1/projects/project/regions/region/
22844
+ # subnetworks/subnetwork
22845
+ # - regions/region/subnetworks/subnetwork
22846
+ # Corresponds to the JSON property `subnetwork`
22847
+ # @return [String]
22848
+ attr_accessor :subnetwork
22849
+
22850
+ # VLAN tag. Should match the VLAN(s) supported by the subnetwork to which this
22851
+ # subinterface is connecting.
22852
+ # Corresponds to the JSON property `vlan`
22853
+ # @return [Fixnum]
22854
+ attr_accessor :vlan
22855
+
22856
+ def initialize(**args)
22857
+ update!(**args)
22858
+ end
22859
+
22860
+ # Update properties of this object
22861
+ def update!(**args)
22862
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
22212
22863
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
22864
+ @vlan = args[:vlan] if args.key?(:vlan)
22213
22865
  end
22214
22866
  end
22215
22867
 
@@ -24490,6 +25142,129 @@ module Google
24490
25142
  end
24491
25143
  end
24492
25144
 
25145
+ # Contains a list of NotificationEndpointsScopedList.
25146
+ class NotificationEndpointAggregatedList
25147
+ include Google::Apis::Core::Hashable
25148
+
25149
+ # [Output Only] Unique identifier for the resource; defined by the server.
25150
+ # Corresponds to the JSON property `id`
25151
+ # @return [String]
25152
+ attr_accessor :id
25153
+
25154
+ # A list of NotificationEndpointsScopedList resources.
25155
+ # Corresponds to the JSON property `items`
25156
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NotificationEndpointsScopedList>]
25157
+ attr_accessor :items
25158
+
25159
+ # Type of resource.
25160
+ # Corresponds to the JSON property `kind`
25161
+ # @return [String]
25162
+ attr_accessor :kind
25163
+
25164
+ # [Output Only] This token allows you to get the next page of results for list
25165
+ # requests. If the number of results is larger than maxResults, use the
25166
+ # nextPageToken as a value for the query parameter pageToken in the next list
25167
+ # request. Subsequent list requests will have their own nextPageToken to
25168
+ # continue paging through the results.
25169
+ # Corresponds to the JSON property `nextPageToken`
25170
+ # @return [String]
25171
+ attr_accessor :next_page_token
25172
+
25173
+ # [Output Only] Server-defined URL for this resource.
25174
+ # Corresponds to the JSON property `selfLink`
25175
+ # @return [String]
25176
+ attr_accessor :self_link
25177
+
25178
+ # [Output Only] Unreachable resources.
25179
+ # Corresponds to the JSON property `unreachables`
25180
+ # @return [Array<String>]
25181
+ attr_accessor :unreachables
25182
+
25183
+ # [Output Only] Informational warning message.
25184
+ # Corresponds to the JSON property `warning`
25185
+ # @return [Google::Apis::ComputeAlpha::NotificationEndpointAggregatedList::Warning]
25186
+ attr_accessor :warning
25187
+
25188
+ def initialize(**args)
25189
+ update!(**args)
25190
+ end
25191
+
25192
+ # Update properties of this object
25193
+ def update!(**args)
25194
+ @id = args[:id] if args.key?(:id)
25195
+ @items = args[:items] if args.key?(:items)
25196
+ @kind = args[:kind] if args.key?(:kind)
25197
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
25198
+ @self_link = args[:self_link] if args.key?(:self_link)
25199
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
25200
+ @warning = args[:warning] if args.key?(:warning)
25201
+ end
25202
+
25203
+ # [Output Only] Informational warning message.
25204
+ class Warning
25205
+ include Google::Apis::Core::Hashable
25206
+
25207
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25208
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25209
+ # Corresponds to the JSON property `code`
25210
+ # @return [String]
25211
+ attr_accessor :code
25212
+
25213
+ # [Output Only] Metadata about this warning in key: value format. For example:
25214
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25215
+ # Corresponds to the JSON property `data`
25216
+ # @return [Array<Google::Apis::ComputeAlpha::NotificationEndpointAggregatedList::Warning::Datum>]
25217
+ attr_accessor :data
25218
+
25219
+ # [Output Only] A human-readable description of the warning code.
25220
+ # Corresponds to the JSON property `message`
25221
+ # @return [String]
25222
+ attr_accessor :message
25223
+
25224
+ def initialize(**args)
25225
+ update!(**args)
25226
+ end
25227
+
25228
+ # Update properties of this object
25229
+ def update!(**args)
25230
+ @code = args[:code] if args.key?(:code)
25231
+ @data = args[:data] if args.key?(:data)
25232
+ @message = args[:message] if args.key?(:message)
25233
+ end
25234
+
25235
+ #
25236
+ class Datum
25237
+ include Google::Apis::Core::Hashable
25238
+
25239
+ # [Output Only] A key that provides more detail on the warning being returned.
25240
+ # For example, for warnings where there are no results in a list request for a
25241
+ # particular zone, this key might be scope and the key value might be the zone
25242
+ # name. Other examples might be a key indicating a deprecated resource and a
25243
+ # suggested replacement, or a warning about invalid network settings (for
25244
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25245
+ # for IP forwarding).
25246
+ # Corresponds to the JSON property `key`
25247
+ # @return [String]
25248
+ attr_accessor :key
25249
+
25250
+ # [Output Only] A warning data value corresponding to the key.
25251
+ # Corresponds to the JSON property `value`
25252
+ # @return [String]
25253
+ attr_accessor :value
25254
+
25255
+ def initialize(**args)
25256
+ update!(**args)
25257
+ end
25258
+
25259
+ # Update properties of this object
25260
+ def update!(**args)
25261
+ @key = args[:key] if args.key?(:key)
25262
+ @value = args[:value] if args.key?(:value)
25263
+ end
25264
+ end
25265
+ end
25266
+ end
25267
+
24493
25268
  # Represents a gRPC setting that describes one gRPC notification endpoint and
24494
25269
  # the retry duration attempting to send notification to this endpoint.
24495
25270
  class NotificationEndpointGrpcSettings
@@ -24661,6 +25436,97 @@ module Google
24661
25436
  end
24662
25437
  end
24663
25438
 
25439
+ #
25440
+ class NotificationEndpointsScopedList
25441
+ include Google::Apis::Core::Hashable
25442
+
25443
+ # A list of NotificationEndpoints contained in this scope.
25444
+ # Corresponds to the JSON property `resources`
25445
+ # @return [Array<Google::Apis::ComputeAlpha::NotificationEndpoint>]
25446
+ attr_accessor :resources
25447
+
25448
+ # Informational warning which replaces the list of notification endpoints when
25449
+ # the list is empty.
25450
+ # Corresponds to the JSON property `warning`
25451
+ # @return [Google::Apis::ComputeAlpha::NotificationEndpointsScopedList::Warning]
25452
+ attr_accessor :warning
25453
+
25454
+ def initialize(**args)
25455
+ update!(**args)
25456
+ end
25457
+
25458
+ # Update properties of this object
25459
+ def update!(**args)
25460
+ @resources = args[:resources] if args.key?(:resources)
25461
+ @warning = args[:warning] if args.key?(:warning)
25462
+ end
25463
+
25464
+ # Informational warning which replaces the list of notification endpoints when
25465
+ # the list is empty.
25466
+ class Warning
25467
+ include Google::Apis::Core::Hashable
25468
+
25469
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
25470
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
25471
+ # Corresponds to the JSON property `code`
25472
+ # @return [String]
25473
+ attr_accessor :code
25474
+
25475
+ # [Output Only] Metadata about this warning in key: value format. For example:
25476
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
25477
+ # Corresponds to the JSON property `data`
25478
+ # @return [Array<Google::Apis::ComputeAlpha::NotificationEndpointsScopedList::Warning::Datum>]
25479
+ attr_accessor :data
25480
+
25481
+ # [Output Only] A human-readable description of the warning code.
25482
+ # Corresponds to the JSON property `message`
25483
+ # @return [String]
25484
+ attr_accessor :message
25485
+
25486
+ def initialize(**args)
25487
+ update!(**args)
25488
+ end
25489
+
25490
+ # Update properties of this object
25491
+ def update!(**args)
25492
+ @code = args[:code] if args.key?(:code)
25493
+ @data = args[:data] if args.key?(:data)
25494
+ @message = args[:message] if args.key?(:message)
25495
+ end
25496
+
25497
+ #
25498
+ class Datum
25499
+ include Google::Apis::Core::Hashable
25500
+
25501
+ # [Output Only] A key that provides more detail on the warning being returned.
25502
+ # For example, for warnings where there are no results in a list request for a
25503
+ # particular zone, this key might be scope and the key value might be the zone
25504
+ # name. Other examples might be a key indicating a deprecated resource and a
25505
+ # suggested replacement, or a warning about invalid network settings (for
25506
+ # example, if an instance attempts to perform IP forwarding but is not enabled
25507
+ # for IP forwarding).
25508
+ # Corresponds to the JSON property `key`
25509
+ # @return [String]
25510
+ attr_accessor :key
25511
+
25512
+ # [Output Only] A warning data value corresponding to the key.
25513
+ # Corresponds to the JSON property `value`
25514
+ # @return [String]
25515
+ attr_accessor :value
25516
+
25517
+ def initialize(**args)
25518
+ update!(**args)
25519
+ end
25520
+
25521
+ # Update properties of this object
25522
+ def update!(**args)
25523
+ @key = args[:key] if args.key?(:key)
25524
+ @value = args[:value] if args.key?(:value)
25525
+ end
25526
+ end
25527
+ end
25528
+ end
25529
+
24664
25530
  # Represents an Operation resource.
24665
25531
  # Google Compute Engine has three Operation resources:
24666
25532
  # * [Global](/compute/docs/reference/rest/`$api_version`/globalOperations) * [
@@ -24739,11 +25605,52 @@ module Google
24739
25605
  # @return [String]
24740
25606
  attr_accessor :kind
24741
25607
 
25608
+ # `Any` contains an arbitrary serialized protocol buffer message along with a
25609
+ # URL that describes the type of the serialized message.
25610
+ # Protobuf library provides support to pack/unpack Any values in the form of
25611
+ # utility functions or additional generated methods of the Any type.
25612
+ # Example 1: Pack and unpack a message in C++.
25613
+ # Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) ` ... `
25614
+ # Example 2: Pack and unpack a message in Java.
25615
+ # Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) ` foo = any.
25616
+ # unpack(Foo.class); `
25617
+ # Example 3: Pack and unpack a message in Python.
25618
+ # foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.
25619
+ # Unpack(foo) ...
25620
+ # Example 4: Pack and unpack a message in Go
25621
+ # foo := &pb.Foo`...` any, err := anypb.New(foo) if err != nil ` ... ` ... foo :=
25622
+ # &pb.Foo`` if err := any.UnmarshalTo(foo); err != nil ` ... `
25623
+ # The pack methods provided by protobuf library will by default use 'type.
25624
+ # googleapis.com/full.type.name' as the type URL and the unpack methods only use
25625
+ # the fully qualified type name after the last '/' in the type URL, for example "
25626
+ # foo.bar.com/x/y.z" will yield type name "y.z".
25627
+ # JSON ==== The JSON representation of an `Any` value uses the regular
25628
+ # representation of the deserialized, embedded message, with an additional field
25629
+ # `@type` which contains the type URL. Example:
25630
+ # package google.profile; message Person ` string first_name = 1; string
25631
+ # last_name = 2; `
25632
+ # ` "@type": "type.googleapis.com/google.profile.Person", "firstName": , "
25633
+ # lastName": `
25634
+ # If the embedded message type is well-known and has a custom JSON
25635
+ # representation, that representation will be embedded adding a field `value`
25636
+ # which holds the custom JSON in addition to the `@type` field. Example (for
25637
+ # message [google.protobuf.Duration][]):
25638
+ # ` "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" `
25639
+ # Corresponds to the JSON property `metadata`
25640
+ # @return [Google::Apis::ComputeAlpha::Any]
25641
+ attr_accessor :metadata
25642
+
24742
25643
  # [Output Only] Name of the operation.
24743
25644
  # Corresponds to the JSON property `name`
24744
25645
  # @return [String]
24745
25646
  attr_accessor :name
24746
25647
 
25648
+ # [Output Only] An ID that represents a group of operations, such as when a
25649
+ # group of operations results from a `bulkInsert` API request.
25650
+ # Corresponds to the JSON property `operationGroupId`
25651
+ # @return [String]
25652
+ attr_accessor :operation_group_id
25653
+
24747
25654
  # [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
24748
25655
  # and so on.
24749
25656
  # Corresponds to the JSON property `operationType`
@@ -24839,7 +25746,9 @@ module Google
24839
25746
  @id = args[:id] if args.key?(:id)
24840
25747
  @insert_time = args[:insert_time] if args.key?(:insert_time)
24841
25748
  @kind = args[:kind] if args.key?(:kind)
25749
+ @metadata = args[:metadata] if args.key?(:metadata)
24842
25750
  @name = args[:name] if args.key?(:name)
25751
+ @operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
24843
25752
  @operation_type = args[:operation_type] if args.key?(:operation_type)
24844
25753
  @progress = args[:progress] if args.key?(:progress)
24845
25754
  @region = args[:region] if args.key?(:region)
@@ -26605,6 +27514,18 @@ module Google
26605
27514
  # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedDisk>]
26606
27515
  attr_accessor :disks
26607
27516
 
27517
+ # Preserved external IPs defined for this instance. This map is keyed with the
27518
+ # name of the network interface.
27519
+ # Corresponds to the JSON property `externalIPs`
27520
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
27521
+ attr_accessor :external_i_ps
27522
+
27523
+ # Preserved internal IPs defined for this instance. This map is keyed with the
27524
+ # name of the network interface.
27525
+ # Corresponds to the JSON property `internalIPs`
27526
+ # @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
27527
+ attr_accessor :internal_i_ps
27528
+
26608
27529
  # Preserved metadata defined for this instance.
26609
27530
  # Corresponds to the JSON property `metadata`
26610
27531
  # @return [Hash<String,String>]
@@ -26617,6 +27538,8 @@ module Google
26617
27538
  # Update properties of this object
26618
27539
  def update!(**args)
26619
27540
  @disks = args[:disks] if args.key?(:disks)
27541
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
27542
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
26620
27543
  @metadata = args[:metadata] if args.key?(:metadata)
26621
27544
  end
26622
27545
  end
@@ -26658,6 +27581,60 @@ module Google
26658
27581
  end
26659
27582
  end
26660
27583
 
27584
+ #
27585
+ class PreservedStatePreservedNetworkIp
27586
+ include Google::Apis::Core::Hashable
27587
+
27588
+ # These stateful IPs will never be released during autohealing, update or VM
27589
+ # instance recreate operations. This flag is used to configure if the IP
27590
+ # reservation should be deleted after it is no longer used by the group, e.g.
27591
+ # when the given instance or the whole group is deleted.
27592
+ # Corresponds to the JSON property `autoDelete`
27593
+ # @return [String]
27594
+ attr_accessor :auto_delete
27595
+
27596
+ # Ip address representation
27597
+ # Corresponds to the JSON property `ipAddress`
27598
+ # @return [Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIpIpAddress]
27599
+ attr_accessor :ip_address
27600
+
27601
+ def initialize(**args)
27602
+ update!(**args)
27603
+ end
27604
+
27605
+ # Update properties of this object
27606
+ def update!(**args)
27607
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
27608
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
27609
+ end
27610
+ end
27611
+
27612
+ #
27613
+ class PreservedStatePreservedNetworkIpIpAddress
27614
+ include Google::Apis::Core::Hashable
27615
+
27616
+ # The URL of the reservation for this IP address.
27617
+ # Corresponds to the JSON property `address`
27618
+ # @return [String]
27619
+ attr_accessor :address
27620
+
27621
+ # An IPv4 internal network address to assign to the instance for this network
27622
+ # interface.
27623
+ # Corresponds to the JSON property `literal`
27624
+ # @return [String]
27625
+ attr_accessor :literal
27626
+
27627
+ def initialize(**args)
27628
+ update!(**args)
27629
+ end
27630
+
27631
+ # Update properties of this object
27632
+ def update!(**args)
27633
+ @address = args[:address] if args.key?(:address)
27634
+ @literal = args[:literal] if args.key?(:literal)
27635
+ end
27636
+ end
27637
+
26661
27638
  # [Deprecated] All fields defined in a principal are ANDed.
26662
27639
  class Principal
26663
27640
  include Google::Apis::Core::Hashable
@@ -28679,9 +29656,9 @@ module Google
28679
29656
  # @return [Array<String>]
28680
29657
  attr_accessor :instances
28681
29658
 
28682
- # If false and the request contains references to instances that cannot be
28683
- # deleted (that is, instances that are not in the group or are already deleted),
28684
- # the request fails. Otherwise, such instances are ignored.
29659
+ # Skip instances which cannot be deleted (instances not belonging to this
29660
+ # managed group, already being deleted or being abandoned). If `false`, fail
29661
+ # whole flow, if such instance is passed.
28685
29662
  # Corresponds to the JSON property `skipInapplicableInstances`
28686
29663
  # @return [Boolean]
28687
29664
  attr_accessor :skip_inapplicable_instances
@@ -28875,6 +29852,49 @@ module Google
28875
29852
  end
28876
29853
  end
28877
29854
 
29855
+ #
29856
+ class RegionInstanceGroupManagersResizeAdvancedRequest
29857
+ include Google::Apis::Core::Hashable
29858
+
29859
+ # If this flag is true, the managed instance group attempts to create all
29860
+ # instances initiated by this resize request only once. If there is an error
29861
+ # during creation, the managed instance group does not retry create this
29862
+ # instance, and we will decrease the targetSize of the request instead. If the
29863
+ # flag is false, the group attempts to recreate each instance continuously until
29864
+ # it succeeds.
29865
+ # This flag matters only in the first attempt of creation of an instance. After
29866
+ # an instance is successfully created while this flag is enabled, the instance
29867
+ # behaves the same way as all the other instances created with a regular resize
29868
+ # request. In particular, if a running instance dies unexpectedly at a later
29869
+ # time and needs to be recreated, this mode does not affect the recreation
29870
+ # behavior in that scenario.
29871
+ # This flag is applicable only to the current resize request. It does not
29872
+ # influence other resize requests in any way.
29873
+ # You can see which instances ar being created in which mode by calling the get
29874
+ # or listManagedInstances API.
29875
+ # Corresponds to the JSON property `noCreationRetries`
29876
+ # @return [Boolean]
29877
+ attr_accessor :no_creation_retries
29878
+ alias_method :no_creation_retries?, :no_creation_retries
29879
+
29880
+ # The number of running instances that the managed instance group should
29881
+ # maintain at any given time. The group automatically adds or removes instances
29882
+ # to maintain the number of instances specified by this parameter.
29883
+ # Corresponds to the JSON property `targetSize`
29884
+ # @return [Fixnum]
29885
+ attr_accessor :target_size
29886
+
29887
+ def initialize(**args)
29888
+ update!(**args)
29889
+ end
29890
+
29891
+ # Update properties of this object
29892
+ def update!(**args)
29893
+ @no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
29894
+ @target_size = args[:target_size] if args.key?(:target_size)
29895
+ end
29896
+ end
29897
+
28878
29898
  #
28879
29899
  class RegionInstanceGroupManagersSetAutoHealingRequest
28880
29900
  include Google::Apis::Core::Hashable
@@ -29474,6 +30494,12 @@ module Google
29474
30494
  # @return [String]
29475
30495
  attr_accessor :name
29476
30496
 
30497
+ # [Output Only] Reserved for future use.
30498
+ # Corresponds to the JSON property `satisfiesPzs`
30499
+ # @return [Boolean]
30500
+ attr_accessor :satisfies_pzs
30501
+ alias_method :satisfies_pzs?, :satisfies_pzs
30502
+
29477
30503
  # [Output Only] Server-defined fully-qualified URL for this resource.
29478
30504
  # Corresponds to the JSON property `selfLink`
29479
30505
  # @return [String]
@@ -29525,6 +30551,7 @@ module Google
29525
30551
  @id = args[:id] if args.key?(:id)
29526
30552
  @kind = args[:kind] if args.key?(:kind)
29527
30553
  @name = args[:name] if args.key?(:name)
30554
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
29528
30555
  @self_link = args[:self_link] if args.key?(:self_link)
29529
30556
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
29530
30557
  @share_settings = args[:share_settings] if args.key?(:share_settings)
@@ -30128,6 +31155,13 @@ module Google
30128
31155
  # @return [String]
30129
31156
  attr_accessor :region
30130
31157
 
31158
+ # Contains output only fields. Use this sub-message for all output fields set on
31159
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
31160
+ # structure of ResourcePolicy proto specification.
31161
+ # Corresponds to the JSON property `resourceStatus`
31162
+ # @return [Google::Apis::ComputeAlpha::ResourcePolicyResourceStatus]
31163
+ attr_accessor :resource_status
31164
+
30131
31165
  # [Output Only] Server-defined fully-qualified URL for this resource.
30132
31166
  # Corresponds to the JSON property `selfLink`
30133
31167
  # @return [String]
@@ -30169,6 +31203,7 @@ module Google
30169
31203
  @kind = args[:kind] if args.key?(:kind)
30170
31204
  @name = args[:name] if args.key?(:name)
30171
31205
  @region = args[:region] if args.key?(:region)
31206
+ @resource_status = args[:resource_status] if args.key?(:resource_status)
30172
31207
  @self_link = args[:self_link] if args.key?(:self_link)
30173
31208
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
30174
31209
  @snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
@@ -30432,6 +31467,16 @@ module Google
30432
31467
  class ResourcePolicyInstanceSchedulePolicy
30433
31468
  include Google::Apis::Core::Hashable
30434
31469
 
31470
+ # The expiration time of the schedule. The timestamp is an RFC3339 string.
31471
+ # Corresponds to the JSON property `expirationTime`
31472
+ # @return [String]
31473
+ attr_accessor :expiration_time
31474
+
31475
+ # The start time of the schedule. The timestamp is an RFC3339 string.
31476
+ # Corresponds to the JSON property `startTime`
31477
+ # @return [String]
31478
+ attr_accessor :start_time
31479
+
30435
31480
  # Specifies the time zone to be used in interpreting Schedule.schedule. The
30436
31481
  # value of this field must be a time zone name from the tz database: http://en.
30437
31482
  # wikipedia.org/wiki/Tz_database.
@@ -30455,6 +31500,8 @@ module Google
30455
31500
 
30456
31501
  # Update properties of this object
30457
31502
  def update!(**args)
31503
+ @expiration_time = args[:expiration_time] if args.key?(:expiration_time)
31504
+ @start_time = args[:start_time] if args.key?(:start_time)
30458
31505
  @time_zone = args[:time_zone] if args.key?(:time_zone)
30459
31506
  @vm_start_schedule = args[:vm_start_schedule] if args.key?(:vm_start_schedule)
30460
31507
  @vm_stop_schedule = args[:vm_stop_schedule] if args.key?(:vm_stop_schedule)
@@ -30605,6 +31652,56 @@ module Google
30605
31652
  end
30606
31653
  end
30607
31654
 
31655
+ # Contains output only fields. Use this sub-message for all output fields set on
31656
+ # ResourcePolicy. The internal structure of this "status" field should mimic the
31657
+ # structure of ResourcePolicy proto specification.
31658
+ class ResourcePolicyResourceStatus
31659
+ include Google::Apis::Core::Hashable
31660
+
31661
+ # [Output Only] Specifies a set of output values reffering to the
31662
+ # instance_schedule_policy system status. This field should have the same name
31663
+ # as corresponding policy field.
31664
+ # Corresponds to the JSON property `instanceSchedulePolicy`
31665
+ # @return [Google::Apis::ComputeAlpha::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus]
31666
+ attr_accessor :instance_schedule_policy
31667
+
31668
+ def initialize(**args)
31669
+ update!(**args)
31670
+ end
31671
+
31672
+ # Update properties of this object
31673
+ def update!(**args)
31674
+ @instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
31675
+ end
31676
+ end
31677
+
31678
+ #
31679
+ class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus
31680
+ include Google::Apis::Core::Hashable
31681
+
31682
+ # [Output Only] The last time the schedule successfully ran. The timestamp is an
31683
+ # RFC3339 string.
31684
+ # Corresponds to the JSON property `lastRunStartTime`
31685
+ # @return [String]
31686
+ attr_accessor :last_run_start_time
31687
+
31688
+ # [Output Only] The next time the schedule is planned to run. The actual time
31689
+ # might be slightly different. The timestamp is an RFC3339 string.
31690
+ # Corresponds to the JSON property `nextRunStartTime`
31691
+ # @return [String]
31692
+ attr_accessor :next_run_start_time
31693
+
31694
+ def initialize(**args)
31695
+ update!(**args)
31696
+ end
31697
+
31698
+ # Update properties of this object
31699
+ def update!(**args)
31700
+ @last_run_start_time = args[:last_run_start_time] if args.key?(:last_run_start_time)
31701
+ @next_run_start_time = args[:next_run_start_time] if args.key?(:next_run_start_time)
31702
+ end
31703
+ end
31704
+
30608
31705
  # A snapshot schedule policy specifies when and how frequently snapshots are to
30609
31706
  # be created for the target disk. Also specifies how many and how long these
30610
31707
  # scheduled snapshots should be retained.
@@ -30869,6 +31966,80 @@ module Google
30869
31966
  end
30870
31967
  end
30871
31968
 
31969
+ # Contains output only fields. Use this sub-message for actual values set on
31970
+ # Instance attributes as compared to the value requested by the user (intent) in
31971
+ # their instance CRUD calls.
31972
+ class ResourceStatus
31973
+ include Google::Apis::Core::Hashable
31974
+
31975
+ #
31976
+ # Corresponds to the JSON property `scheduling`
31977
+ # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
31978
+ attr_accessor :scheduling
31979
+
31980
+ def initialize(**args)
31981
+ update!(**args)
31982
+ end
31983
+
31984
+ # Update properties of this object
31985
+ def update!(**args)
31986
+ @scheduling = args[:scheduling] if args.key?(:scheduling)
31987
+ end
31988
+ end
31989
+
31990
+ #
31991
+ class ResourceStatusScheduling
31992
+ include Google::Apis::Core::Hashable
31993
+
31994
+ # Specifies the availability domain (AD), which this instance should be
31995
+ # scheduled on. The AD belongs to the spread GroupPlacementPolicy resource
31996
+ # policy that has been assigned to the instance. Specify a value between 1-max
31997
+ # count of availability domains in your GroupPlacementPolicy. See go/placement-
31998
+ # policy-extension for more details.
31999
+ # Corresponds to the JSON property `availabilityDomain`
32000
+ # @return [Fixnum]
32001
+ attr_accessor :availability_domain
32002
+
32003
+ def initialize(**args)
32004
+ update!(**args)
32005
+ end
32006
+
32007
+ # Update properties of this object
32008
+ def update!(**args)
32009
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
32010
+ end
32011
+ end
32012
+
32013
+ # A rollout policy configuration.
32014
+ class RolloutPolicy
32015
+ include Google::Apis::Core::Hashable
32016
+
32017
+ # An optional RFC3339 timestamp on or after which the update is considered
32018
+ # rolled out to any zone that is not explicitly stated.
32019
+ # Corresponds to the JSON property `defaultRolloutTime`
32020
+ # @return [String]
32021
+ attr_accessor :default_rollout_time
32022
+
32023
+ # Location based rollout policies to apply to the resource.
32024
+ # Currently only zone names are supported and must be represented as valid URLs,
32025
+ # like: zones/us-central1-a.
32026
+ # The value expects an RFC3339 timestamp on or after which the update is
32027
+ # considered rolled out to the specified location.
32028
+ # Corresponds to the JSON property `locationRolloutPolicies`
32029
+ # @return [Hash<String,String>]
32030
+ attr_accessor :location_rollout_policies
32031
+
32032
+ def initialize(**args)
32033
+ update!(**args)
32034
+ end
32035
+
32036
+ # Update properties of this object
32037
+ def update!(**args)
32038
+ @default_rollout_time = args[:default_rollout_time] if args.key?(:default_rollout_time)
32039
+ @location_rollout_policies = args[:location_rollout_policies] if args.key?(:location_rollout_policies)
32040
+ end
32041
+ end
32042
+
30872
32043
  # Represents a Route resource.
30873
32044
  # A route defines a path from VM instances in the VPC network to a specific
30874
32045
  # destination. This destination can be inside or outside the VPC network. For
@@ -31243,7 +32414,7 @@ module Google
31243
32414
  attr_accessor :description
31244
32415
 
31245
32416
  # Field to indicate if a router is dedicated to use with encrypted Interconnect
31246
- # Attachment (Encrypted Interconnect feature).
32417
+ # Attachment (IPsec-encrypted Cloud Interconnect feature).
31247
32418
  # Corresponds to the JSON property `encryptedInterconnectRouter`
31248
32419
  # @return [Boolean]
31249
32420
  attr_accessor :encrypted_interconnect_router
@@ -32898,7 +34069,7 @@ module Google
32898
34069
  end
32899
34070
  end
32900
34071
 
32901
- # Sets the scheduling options for an Instance. NextID: 13
34072
+ # Sets the scheduling options for an Instance. NextID: 17
32902
34073
  class Scheduling
32903
34074
  include Google::Apis::Core::Hashable
32904
34075
 
@@ -32913,6 +34084,15 @@ module Google
32913
34084
  attr_accessor :automatic_restart
32914
34085
  alias_method :automatic_restart?, :automatic_restart
32915
34086
 
34087
+ # Specifies the availability domain (AD), which this instance should be
34088
+ # scheduled on. The AD belongs to the spread GroupPlacementPolicy resource
34089
+ # policy that has been assigned to the instance. Specify a value between 1-max
34090
+ # count of availability domains in your GroupPlacementPolicy. See go/placement-
34091
+ # policy-extension for more details.
34092
+ # Corresponds to the JSON property `availabilityDomain`
34093
+ # @return [Fixnum]
34094
+ attr_accessor :availability_domain
34095
+
32916
34096
  # Defines whether the instance is tolerant of higher cpu latency. This can only
32917
34097
  # be set during instance creation, or when the instance is not currently running.
32918
34098
  # It must not be set if the preemptible option is also set.
@@ -32976,6 +34156,7 @@ module Google
32976
34156
  # Update properties of this object
32977
34157
  def update!(**args)
32978
34158
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
34159
+ @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
32979
34160
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
32980
34161
  @location_hint = args[:location_hint] if args.key?(:location_hint)
32981
34162
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
@@ -33558,12 +34739,18 @@ module Google
33558
34739
  # @return [Fixnum]
33559
34740
  attr_accessor :priority
33560
34741
 
33561
- # Must be specified if the action is "rate_based_blacklist" or "throttle".
33562
- # Cannot be specified for any other actions.
34742
+ # Must be specified if the action is "rate_based_ban" or "throttle". Cannot be
34743
+ # specified for any other actions.
33563
34744
  # Corresponds to the JSON property `rateLimitOptions`
33564
34745
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions]
33565
34746
  attr_accessor :rate_limit_options
33566
34747
 
34748
+ # This must be specified for redirect actions. Cannot be specified for any other
34749
+ # actions.
34750
+ # Corresponds to the JSON property `redirectTarget`
34751
+ # @return [String]
34752
+ attr_accessor :redirect_target
34753
+
33567
34754
  # Identifier for the rule. This is only unique within the given security policy.
33568
34755
  # This can only be set during rule creation, if rule number is not specified it
33569
34756
  # will be generated by the server.
@@ -33606,6 +34793,7 @@ module Google
33606
34793
  @preview = args[:preview] if args.key?(:preview)
33607
34794
  @priority = args[:priority] if args.key?(:priority)
33608
34795
  @rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
34796
+ @redirect_target = args[:redirect_target] if args.key?(:redirect_target)
33609
34797
  @rule_number = args[:rule_number] if args.key?(:rule_number)
33610
34798
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
33611
34799
  @target_resources = args[:target_resources] if args.key?(:target_resources)
@@ -34080,7 +35268,7 @@ module Google
34080
35268
  # A service attachment represents a service that a producer has exposed. It
34081
35269
  # encapsulates the load balancer which fronts the service runs and a list of NAT
34082
35270
  # IP ranges that the producers uses to represent the consumers connecting to the
34083
- # service.
35271
+ # service. next tag = 16
34084
35272
  class ServiceAttachment
34085
35273
  include Google::Apis::Core::Hashable
34086
35274
 
@@ -34108,6 +35296,14 @@ module Google
34108
35296
  # @return [String]
34109
35297
  attr_accessor :description
34110
35298
 
35299
+ # If true, enable the proxy protocol which is for supplying client TCP/IP
35300
+ # address data in TCP connections that traverse proxies on their way to
35301
+ # destination servers.
35302
+ # Corresponds to the JSON property `enableProxyProtocol`
35303
+ # @return [Boolean]
35304
+ attr_accessor :enable_proxy_protocol
35305
+ alias_method :enable_proxy_protocol?, :enable_proxy_protocol
35306
+
34111
35307
  # [Output Only] The unique identifier for the resource type. The server
34112
35308
  # generates this identifier.
34113
35309
  # Corresponds to the JSON property `id`
@@ -34164,6 +35360,7 @@ module Google
34164
35360
  @consumer_forwarding_rules = args[:consumer_forwarding_rules] if args.key?(:consumer_forwarding_rules)
34165
35361
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
34166
35362
  @description = args[:description] if args.key?(:description)
35363
+ @enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
34167
35364
  @id = args[:id] if args.key?(:id)
34168
35365
  @kind = args[:kind] if args.key?(:kind)
34169
35366
  @name = args[:name] if args.key?(:name)
@@ -34174,6 +35371,129 @@ module Google
34174
35371
  end
34175
35372
  end
34176
35373
 
35374
+ # Contains a list of ServiceAttachmentsScopedList.
35375
+ class ServiceAttachmentAggregatedList
35376
+ include Google::Apis::Core::Hashable
35377
+
35378
+ # [Output Only] Unique identifier for the resource; defined by the server.
35379
+ # Corresponds to the JSON property `id`
35380
+ # @return [String]
35381
+ attr_accessor :id
35382
+
35383
+ # A list of ServiceAttachmentsScopedList resources.
35384
+ # Corresponds to the JSON property `items`
35385
+ # @return [Hash<String,Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList>]
35386
+ attr_accessor :items
35387
+
35388
+ # Type of resource.
35389
+ # Corresponds to the JSON property `kind`
35390
+ # @return [String]
35391
+ attr_accessor :kind
35392
+
35393
+ # [Output Only] This token allows you to get the next page of results for list
35394
+ # requests. If the number of results is larger than maxResults, use the
35395
+ # nextPageToken as a value for the query parameter pageToken in the next list
35396
+ # request. Subsequent list requests will have their own nextPageToken to
35397
+ # continue paging through the results.
35398
+ # Corresponds to the JSON property `nextPageToken`
35399
+ # @return [String]
35400
+ attr_accessor :next_page_token
35401
+
35402
+ # [Output Only] Server-defined URL for this resource.
35403
+ # Corresponds to the JSON property `selfLink`
35404
+ # @return [String]
35405
+ attr_accessor :self_link
35406
+
35407
+ # [Output Only] Unreachable resources.
35408
+ # Corresponds to the JSON property `unreachables`
35409
+ # @return [Array<String>]
35410
+ attr_accessor :unreachables
35411
+
35412
+ # [Output Only] Informational warning message.
35413
+ # Corresponds to the JSON property `warning`
35414
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentAggregatedList::Warning]
35415
+ attr_accessor :warning
35416
+
35417
+ def initialize(**args)
35418
+ update!(**args)
35419
+ end
35420
+
35421
+ # Update properties of this object
35422
+ def update!(**args)
35423
+ @id = args[:id] if args.key?(:id)
35424
+ @items = args[:items] if args.key?(:items)
35425
+ @kind = args[:kind] if args.key?(:kind)
35426
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35427
+ @self_link = args[:self_link] if args.key?(:self_link)
35428
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35429
+ @warning = args[:warning] if args.key?(:warning)
35430
+ end
35431
+
35432
+ # [Output Only] Informational warning message.
35433
+ class Warning
35434
+ include Google::Apis::Core::Hashable
35435
+
35436
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35437
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35438
+ # Corresponds to the JSON property `code`
35439
+ # @return [String]
35440
+ attr_accessor :code
35441
+
35442
+ # [Output Only] Metadata about this warning in key: value format. For example:
35443
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35444
+ # Corresponds to the JSON property `data`
35445
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentAggregatedList::Warning::Datum>]
35446
+ attr_accessor :data
35447
+
35448
+ # [Output Only] A human-readable description of the warning code.
35449
+ # Corresponds to the JSON property `message`
35450
+ # @return [String]
35451
+ attr_accessor :message
35452
+
35453
+ def initialize(**args)
35454
+ update!(**args)
35455
+ end
35456
+
35457
+ # Update properties of this object
35458
+ def update!(**args)
35459
+ @code = args[:code] if args.key?(:code)
35460
+ @data = args[:data] if args.key?(:data)
35461
+ @message = args[:message] if args.key?(:message)
35462
+ end
35463
+
35464
+ #
35465
+ class Datum
35466
+ include Google::Apis::Core::Hashable
35467
+
35468
+ # [Output Only] A key that provides more detail on the warning being returned.
35469
+ # For example, for warnings where there are no results in a list request for a
35470
+ # particular zone, this key might be scope and the key value might be the zone
35471
+ # name. Other examples might be a key indicating a deprecated resource and a
35472
+ # suggested replacement, or a warning about invalid network settings (for
35473
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35474
+ # for IP forwarding).
35475
+ # Corresponds to the JSON property `key`
35476
+ # @return [String]
35477
+ attr_accessor :key
35478
+
35479
+ # [Output Only] A warning data value corresponding to the key.
35480
+ # Corresponds to the JSON property `value`
35481
+ # @return [String]
35482
+ attr_accessor :value
35483
+
35484
+ def initialize(**args)
35485
+ update!(**args)
35486
+ end
35487
+
35488
+ # Update properties of this object
35489
+ def update!(**args)
35490
+ @key = args[:key] if args.key?(:key)
35491
+ @value = args[:value] if args.key?(:value)
35492
+ end
35493
+ end
35494
+ end
35495
+ end
35496
+
34177
35497
  # [Output Only] A consumer forwarding rule connected to this service attachment.
34178
35498
  class ServiceAttachmentConsumerForwardingRule
34179
35499
  include Google::Apis::Core::Hashable
@@ -34317,6 +35637,97 @@ module Google
34317
35637
  end
34318
35638
  end
34319
35639
 
35640
+ #
35641
+ class ServiceAttachmentsScopedList
35642
+ include Google::Apis::Core::Hashable
35643
+
35644
+ # A list of ServiceAttachments contained in this scope.
35645
+ # Corresponds to the JSON property `resources`
35646
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
35647
+ attr_accessor :resources
35648
+
35649
+ # Informational warning which replaces the list of service attachments when the
35650
+ # list is empty.
35651
+ # Corresponds to the JSON property `warning`
35652
+ # @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
35653
+ attr_accessor :warning
35654
+
35655
+ def initialize(**args)
35656
+ update!(**args)
35657
+ end
35658
+
35659
+ # Update properties of this object
35660
+ def update!(**args)
35661
+ @resources = args[:resources] if args.key?(:resources)
35662
+ @warning = args[:warning] if args.key?(:warning)
35663
+ end
35664
+
35665
+ # Informational warning which replaces the list of service attachments when the
35666
+ # list is empty.
35667
+ class Warning
35668
+ include Google::Apis::Core::Hashable
35669
+
35670
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35671
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35672
+ # Corresponds to the JSON property `code`
35673
+ # @return [String]
35674
+ attr_accessor :code
35675
+
35676
+ # [Output Only] Metadata about this warning in key: value format. For example:
35677
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35678
+ # Corresponds to the JSON property `data`
35679
+ # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
35680
+ attr_accessor :data
35681
+
35682
+ # [Output Only] A human-readable description of the warning code.
35683
+ # Corresponds to the JSON property `message`
35684
+ # @return [String]
35685
+ attr_accessor :message
35686
+
35687
+ def initialize(**args)
35688
+ update!(**args)
35689
+ end
35690
+
35691
+ # Update properties of this object
35692
+ def update!(**args)
35693
+ @code = args[:code] if args.key?(:code)
35694
+ @data = args[:data] if args.key?(:data)
35695
+ @message = args[:message] if args.key?(:message)
35696
+ end
35697
+
35698
+ #
35699
+ class Datum
35700
+ include Google::Apis::Core::Hashable
35701
+
35702
+ # [Output Only] A key that provides more detail on the warning being returned.
35703
+ # For example, for warnings where there are no results in a list request for a
35704
+ # particular zone, this key might be scope and the key value might be the zone
35705
+ # name. Other examples might be a key indicating a deprecated resource and a
35706
+ # suggested replacement, or a warning about invalid network settings (for
35707
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35708
+ # for IP forwarding).
35709
+ # Corresponds to the JSON property `key`
35710
+ # @return [String]
35711
+ attr_accessor :key
35712
+
35713
+ # [Output Only] A warning data value corresponding to the key.
35714
+ # Corresponds to the JSON property `value`
35715
+ # @return [String]
35716
+ attr_accessor :value
35717
+
35718
+ def initialize(**args)
35719
+ update!(**args)
35720
+ end
35721
+
35722
+ # Update properties of this object
35723
+ def update!(**args)
35724
+ @key = args[:key] if args.key?(:key)
35725
+ @value = args[:value] if args.key?(:value)
35726
+ end
35727
+ end
35728
+ end
35729
+ end
35730
+
34320
35731
  # A set of Shielded Instance options.
34321
35732
  class ShieldedInstanceConfig
34322
35733
  include Google::Apis::Core::Hashable
@@ -34678,6 +36089,12 @@ module Google
34678
36089
  # @return [Array<String>]
34679
36090
  attr_accessor :licenses
34680
36091
 
36092
+ # An opaque location hint used to place the snapshot close to other resources.
36093
+ # This field is for use by internal tools that use the public API.
36094
+ # Corresponds to the JSON property `locationHint`
36095
+ # @return [String]
36096
+ attr_accessor :location_hint
36097
+
34681
36098
  # Name of the resource; provided by the client when the resource is created. The
34682
36099
  # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
34683
36100
  # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
@@ -34782,6 +36199,7 @@ module Google
34782
36199
  @labels = args[:labels] if args.key?(:labels)
34783
36200
  @license_codes = args[:license_codes] if args.key?(:license_codes)
34784
36201
  @licenses = args[:licenses] if args.key?(:licenses)
36202
+ @location_hint = args[:location_hint] if args.key?(:location_hint)
34785
36203
  @name = args[:name] if args.key?(:name)
34786
36204
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
34787
36205
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -35036,7 +36454,12 @@ module Google
35036
36454
  # @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
35037
36455
  attr_accessor :network_interfaces
35038
36456
 
35039
- # Sets the scheduling options for an Instance. NextID: 13
36457
+ # PostKeyRevocationActionType of the instance.
36458
+ # Corresponds to the JSON property `postKeyRevocationActionType`
36459
+ # @return [String]
36460
+ attr_accessor :post_key_revocation_action_type
36461
+
36462
+ # Sets the scheduling options for an Instance. NextID: 17
35040
36463
  # Corresponds to the JSON property `scheduling`
35041
36464
  # @return [Google::Apis::ComputeAlpha::Scheduling]
35042
36465
  attr_accessor :scheduling
@@ -35070,6 +36493,7 @@ module Google
35070
36493
  @metadata = args[:metadata] if args.key?(:metadata)
35071
36494
  @min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
35072
36495
  @network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
36496
+ @post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
35073
36497
  @scheduling = args[:scheduling] if args.key?(:scheduling)
35074
36498
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
35075
36499
  @tags = args[:tags] if args.key?(:tags)
@@ -35460,8 +36884,9 @@ module Google
35460
36884
  # @return [Hash<String,String>]
35461
36885
  attr_accessor :domain_status
35462
36886
 
35463
- # The domains for which a managed SSL certificate will be generated. Currently
35464
- # only single-domain certs are supported.
36887
+ # The domains for which a managed SSL certificate will be generated. Each Google-
36888
+ # managed SSL certificate supports up to the [maximum number of domains per
36889
+ # Google-managed SSL certificate](/load-balancing/docs/quotas#ssl_certificates).
35465
36890
  # Corresponds to the JSON property `domains`
35466
36891
  # @return [Array<String>]
35467
36892
  attr_accessor :domains
@@ -35973,6 +37398,20 @@ module Google
35973
37398
  # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice>]
35974
37399
  attr_accessor :disks
35975
37400
 
37401
+ # External network IPs assigned to the instances that will be preserved on
37402
+ # instance delete, update, etc. This map is keyed with the network interface
37403
+ # name.
37404
+ # Corresponds to the JSON property `externalIPs`
37405
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
37406
+ attr_accessor :external_i_ps
37407
+
37408
+ # Internal network IPs assigned to the instances that will be preserved on
37409
+ # instance delete, update, etc. This map is keyed with the network interface
37410
+ # name.
37411
+ # Corresponds to the JSON property `internalIPs`
37412
+ # @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
37413
+ attr_accessor :internal_i_ps
37414
+
35976
37415
  def initialize(**args)
35977
37416
  update!(**args)
35978
37417
  end
@@ -35980,6 +37419,8 @@ module Google
35980
37419
  # Update properties of this object
35981
37420
  def update!(**args)
35982
37421
  @disks = args[:disks] if args.key?(:disks)
37422
+ @external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
37423
+ @internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
35983
37424
  end
35984
37425
  end
35985
37426
 
@@ -36006,6 +37447,28 @@ module Google
36006
37447
  end
36007
37448
  end
36008
37449
 
37450
+ #
37451
+ class StatefulPolicyPreservedStateNetworkIp
37452
+ include Google::Apis::Core::Hashable
37453
+
37454
+ # These stateful IPs will never be released during autohealing, update or VM
37455
+ # instance recreate operations. This flag is used to configure if the IP
37456
+ # reservation should be deleted after it is no longer used by the group, e.g.
37457
+ # when the given instance or the whole group is deleted.
37458
+ # Corresponds to the JSON property `autoDelete`
37459
+ # @return [String]
37460
+ attr_accessor :auto_delete
37461
+
37462
+ def initialize(**args)
37463
+ update!(**args)
37464
+ end
37465
+
37466
+ # Update properties of this object
37467
+ def update!(**args)
37468
+ @auto_delete = args[:auto_delete] if args.key?(:auto_delete)
37469
+ end
37470
+ end
37471
+
36009
37472
  # Represents a Subnetwork resource.
36010
37473
  # A subnetwork (also known as a subnet) is a logical partition of a Virtual
36011
37474
  # Private Cloud network with one primary IP range and zero or more secondary IP
@@ -36060,6 +37523,12 @@ module Google
36060
37523
  attr_accessor :enable_flow_logs
36061
37524
  alias_method :enable_flow_logs?, :enable_flow_logs
36062
37525
 
37526
+ # Enables Layer2 communication on the subnetwork.
37527
+ # Corresponds to the JSON property `enableL2`
37528
+ # @return [Boolean]
37529
+ attr_accessor :enable_l2
37530
+ alias_method :enable_l2?, :enable_l2
37531
+
36063
37532
  # Deprecated in favor of enable in PrivateIpv6GoogleAccess. Whether the VMs in
36064
37533
  # this subnet can directly access Google services via internal IPv6 addresses.
36065
37534
  # This field can be both set at resource creation time and updated using patch.
@@ -36109,9 +37578,9 @@ module Google
36109
37578
  # The range of internal addresses that are owned by this subnetwork. Provide
36110
37579
  # this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
36111
37580
  # 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
36112
- # IPv4 is supported. This field is set at resource creation time. This may be a
36113
- # RFC 1918 IP range, or a privately routed, non-RFC 1918 IP range, not belonging
36114
- # to Google. The range can be expanded after creation using expandIpCidrRange.
37581
+ # IPv4 is supported. This field is set at resource creation time. The range can
37582
+ # be any range listed in the Valid ranges list. The range can be expanded after
37583
+ # creation using expandIpCidrRange.
36115
37584
  # Corresponds to the JSON property `ipCidrRange`
36116
37585
  # @return [String]
36117
37586
  attr_accessor :ip_cidr_range
@@ -36256,6 +37725,14 @@ module Google
36256
37725
  # @return [String]
36257
37726
  attr_accessor :state
36258
37727
 
37728
+ # A repeated field indicating the VLAN IDs supported on this subnetwork. During
37729
+ # Subnet creation, specifying vlan is valid only if enable_l2 is true. During
37730
+ # Subnet Update, specifying vlan is allowed only for l2 enabled subnets.
37731
+ # Restricted to only one VLAN.
37732
+ # Corresponds to the JSON property `vlans`
37733
+ # @return [Array<Fixnum>]
37734
+ attr_accessor :vlans
37735
+
36259
37736
  def initialize(**args)
36260
37737
  update!(**args)
36261
37738
  end
@@ -36267,6 +37744,7 @@ module Google
36267
37744
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36268
37745
  @description = args[:description] if args.key?(:description)
36269
37746
  @enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
37747
+ @enable_l2 = args[:enable_l2] if args.key?(:enable_l2)
36270
37748
  @enable_private_v6_access = args[:enable_private_v6_access] if args.key?(:enable_private_v6_access)
36271
37749
  @external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
36272
37750
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -36292,6 +37770,7 @@ module Google
36292
37770
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
36293
37771
  @stack_type = args[:stack_type] if args.key?(:stack_type)
36294
37772
  @state = args[:state] if args.key?(:state)
37773
+ @vlans = args[:vlans] if args.key?(:vlans)
36295
37774
  end
36296
37775
  end
36297
37776
 
@@ -36607,8 +38086,8 @@ module Google
36607
38086
  # The range of IP addresses belonging to this subnetwork secondary range.
36608
38087
  # Provide this property when you create the subnetwork. Ranges must be unique
36609
38088
  # and non-overlapping with all primary and secondary IP ranges within a network.
36610
- # Only IPv4 is supported. This may be a RFC 1918 IP range, or a privately, non-
36611
- # RFC 1918 IP range, not belonging to Google.
38089
+ # Only IPv4 is supported. The range can be any range listed in the Valid ranges
38090
+ # list.
36612
38091
  # Corresponds to the JSON property `ipCidrRange`
36613
38092
  # @return [String]
36614
38093
  attr_accessor :ip_cidr_range
@@ -36880,9 +38359,10 @@ module Google
36880
38359
 
36881
38360
  # Represents a Target gRPC Proxy resource.
36882
38361
  # 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 ==)
38362
+ # balancing gRPC traffic. Only global forwarding rules with load balancing
38363
+ # scheme INTERNAL_SELF_MANAGED can reference a target gRPC proxy. The target
38364
+ # gRPC Proxy references a URL map that specifies how traffic is routed to gRPC
38365
+ # backend services. (== resource_for `$api_version`.targetGrpcProxies ==)
36886
38366
  class TargetGrpcProxy
36887
38367
  include Google::Apis::Core::Hashable
36888
38368
 
@@ -37830,7 +39310,6 @@ module Google
37830
39310
  # possible.
37831
39311
  # - When quic-override is set to DISABLE, the load balancer doesn't use QUIC.
37832
39312
  # - If the quic-override flag is not specified, NONE is implied.
37833
- # -
37834
39313
  # Corresponds to the JSON property `quicOverride`
37835
39314
  # @return [String]
37836
39315
  attr_accessor :quic_override
@@ -38642,8 +40121,7 @@ module Google
38642
40121
  attr_accessor :failover_ratio
38643
40122
 
38644
40123
  # 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
40124
+ # considered healthy if and only if the health checks pass. Only legacy
38647
40125
  # HttpHealthChecks are supported. Only one health check may be specified.
38648
40126
  # Corresponds to the JSON property `healthChecks`
38649
40127
  # @return [Array<String>]
@@ -40462,6 +41940,12 @@ module Google
40462
41940
  # @return [String]
40463
41941
  attr_accessor :date
40464
41942
 
41943
+ # Represents a window of time using two timestamps: `earliest` and `latest`.
41944
+ # This timestamp values are in RFC3339 text format.
41945
+ # Corresponds to the JSON property `startTimeWindow`
41946
+ # @return [Google::Apis::ComputeAlpha::UpcomingMaintenanceTimeWindow]
41947
+ attr_accessor :start_time_window
41948
+
40465
41949
  # [Output Only] The time when the maintenance will take place. This value is in
40466
41950
  # RFC3339 text format. DEPRECATED: Use start_time_window instead.
40467
41951
  # Corresponds to the JSON property `time`
@@ -40480,11 +41964,38 @@ module Google
40480
41964
  # Update properties of this object
40481
41965
  def update!(**args)
40482
41966
  @date = args[:date] if args.key?(:date)
41967
+ @start_time_window = args[:start_time_window] if args.key?(:start_time_window)
40483
41968
  @time = args[:time] if args.key?(:time)
40484
41969
  @type = args[:type] if args.key?(:type)
40485
41970
  end
40486
41971
  end
40487
41972
 
41973
+ # Represents a window of time using two timestamps: `earliest` and `latest`.
41974
+ # This timestamp values are in RFC3339 text format.
41975
+ class UpcomingMaintenanceTimeWindow
41976
+ include Google::Apis::Core::Hashable
41977
+
41978
+ #
41979
+ # Corresponds to the JSON property `earliest`
41980
+ # @return [String]
41981
+ attr_accessor :earliest
41982
+
41983
+ #
41984
+ # Corresponds to the JSON property `latest`
41985
+ # @return [String]
41986
+ attr_accessor :latest
41987
+
41988
+ def initialize(**args)
41989
+ update!(**args)
41990
+ end
41991
+
41992
+ # Update properties of this object
41993
+ def update!(**args)
41994
+ @earliest = args[:earliest] if args.key?(:earliest)
41995
+ @latest = args[:latest] if args.key?(:latest)
41996
+ end
41997
+ end
41998
+
40488
41999
  # Represents a URL Map resource.
40489
42000
  # Google Compute Engine has two URL Map resources:
40490
42001
  # * [Global](/compute/docs/reference/rest/`$api_version`/urlMaps) * [Regional](/
@@ -42182,9 +43693,9 @@ module Google
42182
43693
  attr_accessor :id
42183
43694
 
42184
43695
  # 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.
43696
+ # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
43697
+ # all Egress or Ingress traffic for this VPN Gateway interface will go through
43698
+ # the specified interconnect attachment resource.
42188
43699
  # Corresponds to the JSON property `interconnectAttachment`
42189
43700
  # @return [String]
42190
43701
  attr_accessor :interconnect_attachment