google-apis-compute_alpha 0.1.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 244d5e9ec94dccec2352aeda16db901ed54e7d8454474ad91726096fdd939cd8
4
- data.tar.gz: d2189ad9041c108c372a9c568648a28fe487843c2ed93acf2b023b333184278b
3
+ metadata.gz: 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