google-apis-compute_alpha 0.9.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 02ce68094e319671550d7d7dd9f95033c748b80382c5be137d5b8fa7b65a91ac
4
- data.tar.gz: d8a70eed281be32d30a25f5b71f9b16090b9b93cff6d05ea1667b1d4267b9516
3
+ metadata.gz: c3ca4a899f7b4d95b00ea1dc20be9b1a3ce945a1703b6931331ec6735f44a4ad
4
+ data.tar.gz: d26852ab02d32518bed06d68655c825432eaae3700f82f5d8190a8ba981b28a0
5
5
  SHA512:
6
- metadata.gz: 146dad68ad0c6d53768528cba1bb2796c7387ac479a75c339d961455d836103d1920ace50e95d427f83785432239d7e981b51221b5cc3730184d2dd7cd77e6ae
7
- data.tar.gz: 35219a8db465b996f7e22c7eeccc23ad8c47b03b3d38f9a547c38d4d0107aba9ba26090c801965c81c7d9b8e0c2201fed2ad331a323cc8621f4ce6513c479fcb
6
+ metadata.gz: baf9b19559d53bef228cc5540f7e8826cfb55a68fef80d4172810bd1b17ab2f807f7477eee6c7f74977a2aaa22251e46cea887617f763ec4fdf172abda521d7c
7
+ data.tar.gz: 4370cfbeebcd075c72b6752d44af60ea203b9361df0823c695595e38b566b7a442ec606a13aea4b900c135d6c91fff77a0ee04ef93e1e4af53b4208555e106b9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Release history for google-apis-compute_alpha
2
2
 
3
+ ### v0.14.0 (2021-06-29)
4
+
5
+ * Regenerated using generator version 0.4.0
6
+
7
+ ### v0.13.0 (2021-06-24)
8
+
9
+ * Unspecified changes
10
+
11
+ ### v0.12.0 (2021-06-10)
12
+
13
+ * Regenerated from discovery document revision 20210525
14
+ * Regenerated using generator version 0.3.0
15
+
16
+ ### v0.11.0 (2021-05-28)
17
+
18
+ * Regenerated from discovery document revision 20210518
19
+
20
+ ### v0.10.0 (2021-05-20)
21
+
22
+ * Regenerated from discovery document revision 20210505
23
+ * Unspecified changes
24
+
3
25
  ### v0.9.0 (2021-05-05)
4
26
 
5
27
  * Regenerated from discovery document revision 20210415
@@ -685,7 +685,8 @@ module Google
685
685
  # reserved for Cloud NAT.
686
686
  # - `IPSEC_INTERCONNECT` for addresses created from a private IP range that are
687
687
  # reserved for a VLAN attachment in an IPsec-encrypted Cloud Interconnect
688
- # configuration. These addresses are regional resources.
688
+ # configuration. These addresses are regional resources. Not currently available
689
+ # publicly.
689
690
  # Corresponds to the JSON property `purpose`
690
691
  # @return [String]
691
692
  attr_accessor :purpose
@@ -1104,6 +1105,11 @@ module Google
1104
1105
  attr_accessor :enable_nested_virtualization
1105
1106
  alias_method :enable_nested_virtualization?, :enable_nested_virtualization
1106
1107
 
1108
+ # The number of vNUMA nodes.
1109
+ # Corresponds to the JSON property `numaNodeCount`
1110
+ # @return [Fixnum]
1111
+ attr_accessor :numa_node_count
1112
+
1107
1113
  # The number of threads per physical core. To disable simultaneous
1108
1114
  # multithreading (SMT) set this to 1. If unset, the maximum number of threads
1109
1115
  # supported per core by the underlying processor is assumed.
@@ -1126,6 +1132,7 @@ module Google
1126
1132
  # Update properties of this object
1127
1133
  def update!(**args)
1128
1134
  @enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
1135
+ @numa_node_count = args[:numa_node_count] if args.key?(:numa_node_count)
1129
1136
  @threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
1130
1137
  @visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
1131
1138
  end
@@ -1161,32 +1168,6 @@ module Google
1161
1168
  end
1162
1169
  end
1163
1170
 
1164
- #
1165
- class AllocationShareSettings
1166
- include Google::Apis::Core::Hashable
1167
-
1168
- # A List of Project names to specify consumer projects for this shared-
1169
- # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
1170
- # Corresponds to the JSON property `projects`
1171
- # @return [Array<String>]
1172
- attr_accessor :projects
1173
-
1174
- # Type of sharing for this shared-reservation
1175
- # Corresponds to the JSON property `shareType`
1176
- # @return [String]
1177
- attr_accessor :share_type
1178
-
1179
- def initialize(**args)
1180
- update!(**args)
1181
- end
1182
-
1183
- # Update properties of this object
1184
- def update!(**args)
1185
- @projects = args[:projects] if args.key?(:projects)
1186
- @share_type = args[:share_type] if args.key?(:share_type)
1187
- end
1188
- end
1189
-
1190
1171
  #
1191
1172
  class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk
1192
1173
  include Google::Apis::Core::Hashable
@@ -2852,6 +2833,12 @@ module Google
2852
2833
  # @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicy]
2853
2834
  attr_accessor :cdn_policy
2854
2835
 
2836
+ # Compress text responses using Brotli or gzip compression, based on the client?
2837
+ # s Accept-Encoding header.
2838
+ # Corresponds to the JSON property `compressionMode`
2839
+ # @return [String]
2840
+ attr_accessor :compression_mode
2841
+
2855
2842
  # [Output Only] Creation timestamp in RFC3339 text format.
2856
2843
  # Corresponds to the JSON property `creationTimestamp`
2857
2844
  # @return [String]
@@ -2918,6 +2905,7 @@ module Google
2918
2905
  def update!(**args)
2919
2906
  @bucket_name = args[:bucket_name] if args.key?(:bucket_name)
2920
2907
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
2908
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
2921
2909
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
2922
2910
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
2923
2911
  @description = args[:description] if args.key?(:description)
@@ -3325,6 +3313,12 @@ module Google
3325
3313
  # @return [Google::Apis::ComputeAlpha::CircuitBreakers]
3326
3314
  attr_accessor :circuit_breakers
3327
3315
 
3316
+ # Compress text responses using Brotli or gzip compression, based on the client?
3317
+ # s Accept-Encoding header.
3318
+ # Corresponds to the JSON property `compressionMode`
3319
+ # @return [String]
3320
+ attr_accessor :compression_mode
3321
+
3328
3322
  # Message containing connection draining configuration.
3329
3323
  # Corresponds to the JSON property `connectionDraining`
3330
3324
  # @return [Google::Apis::ComputeAlpha::ConnectionDraining]
@@ -3565,11 +3559,12 @@ module Google
3565
3559
  attr_accessor :self_link_with_id
3566
3560
 
3567
3561
  # Type of session affinity to use. The default is NONE.
3568
- # When the loadBalancingScheme is EXTERNAL: * For Network Load Balancing, the
3569
- # possible values are NONE, CLIENT_IP, CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3570
- # * For all other load balancers that use loadBalancingScheme=EXTERNAL, the
3571
- # possible values are NONE, CLIENT_IP, or GENERATED_COOKIE. * You can use
3572
- # GENERATED_COOKIE if the protocol is HTTP, HTTP2, or HTTPS.
3562
+ # When the loadBalancingScheme is EXTERNAL:
3563
+ # * For Network Load Balancing, the possible values are NONE, CLIENT_IP,
3564
+ # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO. * For all other load balancers that
3565
+ # use loadBalancingScheme=EXTERNAL, the possible values are NONE, CLIENT_IP, or
3566
+ # GENERATED_COOKIE. * You can use GENERATED_COOKIE if the protocol is HTTP,
3567
+ # HTTP2, or HTTPS.
3573
3568
  # When the loadBalancingScheme is INTERNAL, possible values are NONE, CLIENT_IP,
3574
3569
  # CLIENT_IP_PROTO, or CLIENT_IP_PORT_PROTO.
3575
3570
  # When the loadBalancingScheme is INTERNAL_SELF_MANAGED, or INTERNAL_MANAGED,
@@ -3582,15 +3577,15 @@ module Google
3582
3577
  attr_accessor :session_affinity
3583
3578
 
3584
3579
  # Subsetting configuration for this BackendService. Currently this is applicable
3585
- # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
3580
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
3581
+ # Traffic Director.
3586
3582
  # Corresponds to the JSON property `subsetting`
3587
3583
  # @return [Google::Apis::ComputeAlpha::Subsetting]
3588
3584
  attr_accessor :subsetting
3589
3585
 
3590
- # The backend service timeout has a different meaning depending on the type of
3591
- # load balancer. For more information see, Backend service settings The default
3592
- # is 30 seconds. The full range of timeout values allowed is 1 - 2,147,483,647
3593
- # seconds.
3586
+ # Not supported when the backend service is referenced by a URL map that is
3587
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
3588
+ # Instead, use maxStreamDuration.
3594
3589
  # Corresponds to the JSON property `timeoutSec`
3595
3590
  # @return [Fixnum]
3596
3591
  attr_accessor :timeout_sec
@@ -3605,6 +3600,7 @@ module Google
3605
3600
  @backends = args[:backends] if args.key?(:backends)
3606
3601
  @cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
3607
3602
  @circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
3603
+ @compression_mode = args[:compression_mode] if args.key?(:compression_mode)
3608
3604
  @connection_draining = args[:connection_draining] if args.key?(:connection_draining)
3609
3605
  @connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
3610
3606
  @consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
@@ -4806,7 +4802,10 @@ module Google
4806
4802
  end
4807
4803
  end
4808
4804
 
4809
- #
4805
+ # A transient resource used in compute.instances.bulkInsert and compute.
4806
+ # regionInstances.bulkInsert and compute.regionInstances.recommendLocations.
4807
+ # This resource is not persisted anywhere, it is used only for processing the
4808
+ # requests.
4810
4809
  class BulkInsertInstanceResource
4811
4810
  include Google::Apis::Core::Hashable
4812
4811
 
@@ -4868,8 +4867,9 @@ module Google
4868
4867
  # @return [Array<String>]
4869
4868
  attr_accessor :predefined_names
4870
4869
 
4871
- # Secure tags to apply to this instance. These can be later modified by the
4872
- # update method. Maximum number of secure tags allowed is 300.
4870
+ # DEPRECATED: Please use instance_properties.secure_tag instead. Secure tags to
4871
+ # apply to this instance. These can be later modified by the update method.
4872
+ # Maximum number of secure tags allowed is 50.
4873
4873
  # Corresponds to the JSON property `secureTags`
4874
4874
  # @return [Array<String>]
4875
4875
  attr_accessor :secure_tags
@@ -5096,14 +5096,14 @@ module Google
5096
5096
  # @return [Google::Apis::ComputeAlpha::Duration]
5097
5097
  attr_accessor :connect_timeout
5098
5098
 
5099
- # The maximum number of connections to the backend service. If not specified,
5100
- # there is no limit.
5099
+ # Not supported when the backend service is referenced by a URL map that is
5100
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5101
5101
  # Corresponds to the JSON property `maxConnections`
5102
5102
  # @return [Fixnum]
5103
5103
  attr_accessor :max_connections
5104
5104
 
5105
- # The maximum number of pending requests allowed to the backend service. If not
5106
- # specified, there is no limit.
5105
+ # Not supported when the backend service is referenced by a URL map that is
5106
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5107
5107
  # Corresponds to the JSON property `maxPendingRequests`
5108
5108
  # @return [Fixnum]
5109
5109
  attr_accessor :max_pending_requests
@@ -5114,16 +5114,14 @@ module Google
5114
5114
  # @return [Fixnum]
5115
5115
  attr_accessor :max_requests
5116
5116
 
5117
- # Maximum requests for a single connection to the backend service. This
5118
- # parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
5119
- # specified, there is no limit. Setting this parameter to 1 will effectively
5120
- # disable keep alive.
5117
+ # Not supported when the backend service is referenced by a URL map that is
5118
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5121
5119
  # Corresponds to the JSON property `maxRequestsPerConnection`
5122
5120
  # @return [Fixnum]
5123
5121
  attr_accessor :max_requests_per_connection
5124
5122
 
5125
- # The maximum number of parallel retries allowed to the backend cluster. If not
5126
- # specified, the default is 1.
5123
+ # Not supported when the backend service is referenced by a URL map that is
5124
+ # bound to target gRPC proxy that has validateForProxyless field set to true.
5127
5125
  # Corresponds to the JSON property `maxRetries`
5128
5126
  # @return [Fixnum]
5129
5127
  attr_accessor :max_retries
@@ -5200,6 +5198,16 @@ module Google
5200
5198
  class Commitment
5201
5199
  include Google::Apis::Core::Hashable
5202
5200
 
5201
+ # Specifies whether to enable automatic renewal for the commitment. The default
5202
+ # value is false if not specified. The field can be updated until the day of the
5203
+ # commitment expiration at 12:00am PST. If the field is set to true, the
5204
+ # commitment will be automatically renewed for either one or three years
5205
+ # according to the terms of the existing commitment.
5206
+ # Corresponds to the JSON property `autoRenew`
5207
+ # @return [Boolean]
5208
+ attr_accessor :auto_renew
5209
+ alias_method :auto_renew?, :auto_renew
5210
+
5203
5211
  # The category of the commitment. Category MACHINE specifies commitments
5204
5212
  # composed of machine resources such as VCPU or MEMORY, listed in resources.
5205
5213
  # Category LICENSE specifies commitments composed of software licenses, listed
@@ -5315,6 +5323,7 @@ module Google
5315
5323
 
5316
5324
  # Update properties of this object
5317
5325
  def update!(**args)
5326
+ @auto_renew = args[:auto_renew] if args.key?(:auto_renew)
5318
5327
  @category = args[:category] if args.key?(:category)
5319
5328
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
5320
5329
  @description = args[:description] if args.key?(:description)
@@ -7729,6 +7738,10 @@ module Google
7729
7738
  attr_accessor :id
7730
7739
 
7731
7740
  # List of interfaces for this external VPN gateway.
7741
+ # If your peer-side gateway is an on-premises gateway and non-AWS cloud
7742
+ # providers? gateway, at most two interfaces can be provided for an external VPN
7743
+ # gateway. If your peer side is an AWS virtual private gateway, four interfaces
7744
+ # should be provided for an external VPN gateway.
7732
7745
  # Corresponds to the JSON property `interfaces`
7733
7746
  # @return [Array<Google::Apis::ComputeAlpha::ExternalVpnGatewayInterface>]
7734
7747
  attr_accessor :interfaces
@@ -7804,8 +7817,9 @@ module Google
7804
7817
 
7805
7818
  # The numeric ID of this interface. The allowed input values for this id for
7806
7819
  # different redundancy types of external VPN gateway:
7807
- # SINGLE_IP_INTERNALLY_REDUNDANT - 0 TWO_IPS_REDUNDANCY - 0, 1
7808
- # FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7820
+ # - SINGLE_IP_INTERNALLY_REDUNDANT - 0
7821
+ # - TWO_IPS_REDUNDANCY - 0, 1
7822
+ # - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
7809
7823
  # Corresponds to the JSON property `id`
7810
7824
  # @return [Fixnum]
7811
7825
  attr_accessor :id
@@ -8935,7 +8949,7 @@ module Google
8935
8949
  # - If the value is a percent, then the calculated value is percent/100 *
8936
8950
  # targetSize. For example, the calculated value of a 80% of a managed instance
8937
8951
  # group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
8938
- # is a remainder, the number is rounded up.
8952
+ # is a remainder, the number is rounded.
8939
8953
  # Corresponds to the JSON property `calculated`
8940
8954
  # @return [Fixnum]
8941
8955
  attr_accessor :calculated
@@ -9004,10 +9018,11 @@ module Google
9004
9018
  attr_accessor :ip_address
9005
9019
 
9006
9020
  # The IP protocol to which this rule applies.
9007
- # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP and ICMP.
9021
+ # For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and
9022
+ # L3_DEFAULT.
9008
9023
  # The valid IP protocols are different for different load balancing products:
9009
9024
  # - Internal TCP/UDP Load Balancing: The load balancing scheme is INTERNAL, and
9010
- # one of TCP, UDP or ALL is valid.
9025
+ # one of TCP, UDP or L3_DEFAULT is valid.
9011
9026
  # - Traffic Director: The load balancing scheme is INTERNAL_SELF_MANAGED, and
9012
9027
  # only TCP is valid.
9013
9028
  # - Internal HTTP(S) Load Balancing: The load balancing scheme is
@@ -9015,17 +9030,18 @@ module Google
9015
9030
  # - HTTP(S), SSL Proxy, and TCP Proxy Load Balancing: The load balancing scheme
9016
9031
  # is EXTERNAL and only TCP is valid.
9017
9032
  # - Network Load Balancing: The load balancing scheme is EXTERNAL, and one of
9018
- # TCP or UDP is valid.
9033
+ # TCP, UDP or L3_DEFAULT is valid.
9019
9034
  # Corresponds to the JSON property `IPProtocol`
9020
9035
  # @return [String]
9021
9036
  attr_accessor :ip_protocol
9022
9037
 
9023
- # This field is used along with the backend_service field for internal load
9024
- # balancing or with the target field for internal TargetInstance. This field
9025
- # cannot be used with port or portRange fields.
9026
- # When the load balancing scheme is INTERNAL and protocol is TCP/UDP, specify
9027
- # this field to allow packets addressed to any ports will be forwarded to the
9028
- # backends configured with this forwarding rule.
9038
+ # This field is used along with the backend_service field for Internal TCP/UDP
9039
+ # Load Balancing or Network Load Balancing, or with the target field for
9040
+ # internal and external TargetInstance.
9041
+ # You can only use one of ports and port_range, or allPorts. The three are
9042
+ # mutually exclusive.
9043
+ # For TCP, UDP and SCTP traffic, packets addressed to any ports will be
9044
+ # forwarded to the target or backendService.
9029
9045
  # Corresponds to the JSON property `allPorts`
9030
9046
  # @return [Boolean]
9031
9047
  attr_accessor :all_ports
@@ -9187,13 +9203,16 @@ module Google
9187
9203
  # @return [String]
9188
9204
  attr_accessor :network_tier
9189
9205
 
9190
- # This field can be used only if: * Load balancing scheme is one of EXTERNAL,
9191
- # INTERNAL_SELF_MANAGED or INTERNAL_MANAGED, and * IPProtocol is one of TCP, UDP,
9192
- # or SCTP.
9206
+ # This field can be used only if:
9207
+ # - Load balancing scheme is one of EXTERNAL, INTERNAL_SELF_MANAGED or
9208
+ # INTERNAL_MANAGED
9209
+ # - IPProtocol is one of TCP, UDP, or SCTP.
9193
9210
  # Packets addressed to ports in the specified range will be forwarded to target
9194
- # or backend_service. You can only use one of ports, port_range, or allPorts.
9195
- # The three are mutually exclusive. Forwarding rules with the same [IPAddress,
9196
- # IPProtocol] pair must have disjoint port ranges.
9211
+ # or backend_service.
9212
+ # You can only use one of ports, port_range, or allPorts. The three are mutually
9213
+ # exclusive.
9214
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9215
+ # ports.
9197
9216
  # Some types of forwarding target have constraints on the acceptable ports:
9198
9217
  # - TargetHttpProxy: 80, 8080
9199
9218
  # - TargetHttpsProxy: 443
@@ -9214,8 +9233,8 @@ module Google
9214
9233
  # You can only use one of ports and port_range, or allPorts. The three are
9215
9234
  # mutually exclusive.
9216
9235
  # You can specify a list of up to five ports, which can be non-contiguous.
9217
- # For Internal TCP/UDP Load Balancing, if you specify allPorts, you should not
9218
- # specify ports.
9236
+ # Forwarding rules with the same [IPAddress, IPProtocol] pair must have disjoint
9237
+ # ports.
9219
9238
  # For more information, see [Port specifications](/load-balancing/docs/
9220
9239
  # forwarding-rule-concepts#port_specifications).
9221
9240
  # Corresponds to the JSON property `ports`
@@ -9277,6 +9296,16 @@ module Google
9277
9296
  # @return [String]
9278
9297
  attr_accessor :service_name
9279
9298
 
9299
+ # If not empty, this Forwarding Rule will only forward the traffic when the
9300
+ # source IP address matches one of the IP addresses or CIDR ranges set here.
9301
+ # Note that a Forwarding Rule can only have up to 64 source IP ranges, and this
9302
+ # field can only be used with a regional Forwarding Rule whose scheme is
9303
+ # EXTERNAL. Each source_ip_range entry should be either an IP address (for
9304
+ # example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
9305
+ # Corresponds to the JSON property `sourceIpRanges`
9306
+ # @return [Array<String>]
9307
+ attr_accessor :source_ip_ranges
9308
+
9280
9309
  # This field is only used for internal load balancing.
9281
9310
  # For internal load balancing, this field identifies the subnetwork that the
9282
9311
  # load balanced IP should belong to for this Forwarding Rule.
@@ -9327,6 +9356,7 @@ module Google
9327
9356
  @service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
9328
9357
  @service_label = args[:service_label] if args.key?(:service_label)
9329
9358
  @service_name = args[:service_name] if args.key?(:service_name)
9359
+ @source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
9330
9360
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
9331
9361
  @target = args[:target] if args.key?(:target)
9332
9362
  end
@@ -9719,6 +9749,565 @@ module Google
9719
9749
  end
9720
9750
  end
9721
9751
 
9752
+ #
9753
+ class FutureReservation
9754
+ include Google::Apis::Core::Hashable
9755
+
9756
+ # [Output Only] The creation timestamp for this future reservation in RFC3339
9757
+ # text format.
9758
+ # Corresponds to the JSON property `creationTimestamp`
9759
+ # @return [String]
9760
+ attr_accessor :creation_timestamp
9761
+
9762
+ # An optional description of this resource. Provide this property when you
9763
+ # create the future reservation.
9764
+ # Corresponds to the JSON property `description`
9765
+ # @return [String]
9766
+ attr_accessor :description
9767
+
9768
+ # [Output Only] A unique identifier for this future reservation. The server
9769
+ # defines this identifier.
9770
+ # Corresponds to the JSON property `id`
9771
+ # @return [Fixnum]
9772
+ attr_accessor :id
9773
+
9774
+ # [Output Only] Type of the resource. Always compute#futureReservation for
9775
+ # future reservations.
9776
+ # Corresponds to the JSON property `kind`
9777
+ # @return [String]
9778
+ attr_accessor :kind
9779
+
9780
+ # The name of the resource, provided by the client when initially creating the
9781
+ # resource. The resource name must be 1-63 characters long, and comply with
9782
+ # RFC1035. Specifically, the name must be 1-63 characters long and match the
9783
+ # regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
9784
+ # character must be a lowercase letter, and all following characters must be a
9785
+ # dash, lowercase letter, or digit, except the last character, which cannot be a
9786
+ # dash.
9787
+ # Corresponds to the JSON property `name`
9788
+ # @return [String]
9789
+ attr_accessor :name
9790
+
9791
+ # Name prefix for the reservations to be created at the time of delivery. The
9792
+ # name prefix must comply with RFC1035. Maximum allowed length for name prefix
9793
+ # is 20. Automatically created reservations name format will be -date-####.
9794
+ # Corresponds to the JSON property `namePrefix`
9795
+ # @return [String]
9796
+ attr_accessor :name_prefix
9797
+
9798
+ # [Output Only] Server-defined fully-qualified URL for this resource.
9799
+ # Corresponds to the JSON property `selfLink`
9800
+ # @return [String]
9801
+ attr_accessor :self_link
9802
+
9803
+ # [Output Only] Server-defined URL for this resource with the resource id.
9804
+ # Corresponds to the JSON property `selfLinkWithId`
9805
+ # @return [String]
9806
+ attr_accessor :self_link_with_id
9807
+
9808
+ # The share setting for reservations and sole tenancy node groups.
9809
+ # Corresponds to the JSON property `shareSettings`
9810
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
9811
+ attr_accessor :share_settings
9812
+
9813
+ # Future Reservation configuration to indicate instance properties and total
9814
+ # count.
9815
+ # Corresponds to the JSON property `specificSkuProperties`
9816
+ # @return [Google::Apis::ComputeAlpha::FutureReservationSpecificSkuProperties]
9817
+ attr_accessor :specific_sku_properties
9818
+
9819
+ # [Output only] Represents status related to the future reservation.
9820
+ # Corresponds to the JSON property `status`
9821
+ # @return [Google::Apis::ComputeAlpha::FutureReservationStatus]
9822
+ attr_accessor :status
9823
+
9824
+ # Time window for this Future Reservation.
9825
+ # Corresponds to the JSON property `timeWindow`
9826
+ # @return [Google::Apis::ComputeAlpha::FutureReservationTimeWindow]
9827
+ attr_accessor :time_window
9828
+
9829
+ # [Output Only] URL of the Zone where this future reservation resides.
9830
+ # Corresponds to the JSON property `zone`
9831
+ # @return [String]
9832
+ attr_accessor :zone
9833
+
9834
+ def initialize(**args)
9835
+ update!(**args)
9836
+ end
9837
+
9838
+ # Update properties of this object
9839
+ def update!(**args)
9840
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
9841
+ @description = args[:description] if args.key?(:description)
9842
+ @id = args[:id] if args.key?(:id)
9843
+ @kind = args[:kind] if args.key?(:kind)
9844
+ @name = args[:name] if args.key?(:name)
9845
+ @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
9846
+ @self_link = args[:self_link] if args.key?(:self_link)
9847
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
9848
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
9849
+ @specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
9850
+ @status = args[:status] if args.key?(:status)
9851
+ @time_window = args[:time_window] if args.key?(:time_window)
9852
+ @zone = args[:zone] if args.key?(:zone)
9853
+ end
9854
+ end
9855
+
9856
+ #
9857
+ class FutureReservationSpecificSkuProperties
9858
+ include Google::Apis::Core::Hashable
9859
+
9860
+ # Properties of the SKU instances being reserved. Next ID: 9
9861
+ # Corresponds to the JSON property `instanceProperties`
9862
+ # @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
9863
+ attr_accessor :instance_properties
9864
+
9865
+ # Total number of instances for which capacity assurance is requested at a
9866
+ # future time period.
9867
+ # Corresponds to the JSON property `totalCount`
9868
+ # @return [Fixnum]
9869
+ attr_accessor :total_count
9870
+
9871
+ def initialize(**args)
9872
+ update!(**args)
9873
+ end
9874
+
9875
+ # Update properties of this object
9876
+ def update!(**args)
9877
+ @instance_properties = args[:instance_properties] if args.key?(:instance_properties)
9878
+ @total_count = args[:total_count] if args.key?(:total_count)
9879
+ end
9880
+ end
9881
+
9882
+ # [Output only] Represents status related to the future reservation.
9883
+ class FutureReservationStatus
9884
+ include Google::Apis::Core::Hashable
9885
+
9886
+ # Fully qualified urls of the automatically created reservations at start_time.
9887
+ # Corresponds to the JSON property `autoCreatedReservations`
9888
+ # @return [Array<String>]
9889
+ attr_accessor :auto_created_reservations
9890
+
9891
+ # This count indicates the fulfilled capacity so far. This is set during "
9892
+ # PROVISIONING" state. This count also includes capacity delivered as part of
9893
+ # existing matching reservations.
9894
+ # Corresponds to the JSON property `fulfilledCount`
9895
+ # @return [Fixnum]
9896
+ attr_accessor :fulfilled_count
9897
+
9898
+ # Time when Future Reservation would become LOCKED, after which no modifications
9899
+ # to Future Reservation will be allowed. Applicable only after the Future
9900
+ # Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
9901
+ # procurement_status will transition to PROCURING state at this time. TODO(b/
9902
+ # 183994731): Replace with Timestamp.
9903
+ # Corresponds to the JSON property `lockTime`
9904
+ # @return [String]
9905
+ attr_accessor :lock_time
9906
+
9907
+ # Current state of this Future Reservation
9908
+ # Corresponds to the JSON property `procurementStatus`
9909
+ # @return [String]
9910
+ attr_accessor :procurement_status
9911
+
9912
+ def initialize(**args)
9913
+ update!(**args)
9914
+ end
9915
+
9916
+ # Update properties of this object
9917
+ def update!(**args)
9918
+ @auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
9919
+ @fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
9920
+ @lock_time = args[:lock_time] if args.key?(:lock_time)
9921
+ @procurement_status = args[:procurement_status] if args.key?(:procurement_status)
9922
+ end
9923
+ end
9924
+
9925
+ #
9926
+ class FutureReservationTimeWindow
9927
+ include Google::Apis::Core::Hashable
9928
+
9929
+ # A Duration represents a fixed-length span of time represented as a count of
9930
+ # seconds and fractions of seconds at nanosecond resolution. It is independent
9931
+ # of any calendar and concepts like "day" or "month". Range is approximately 10,
9932
+ # 000 years.
9933
+ # Corresponds to the JSON property `duration`
9934
+ # @return [Google::Apis::ComputeAlpha::Duration]
9935
+ attr_accessor :duration
9936
+
9937
+ # TODO(b/183994731): Replace with Timestamp.
9938
+ # Corresponds to the JSON property `endTime`
9939
+ # @return [String]
9940
+ attr_accessor :end_time
9941
+
9942
+ # Start time of the Future Reservation. The start_time is an RFC3339 string.
9943
+ # TODO(b/183994731): Replace with Timestamp.
9944
+ # Corresponds to the JSON property `startTime`
9945
+ # @return [String]
9946
+ attr_accessor :start_time
9947
+
9948
+ def initialize(**args)
9949
+ update!(**args)
9950
+ end
9951
+
9952
+ # Update properties of this object
9953
+ def update!(**args)
9954
+ @duration = args[:duration] if args.key?(:duration)
9955
+ @end_time = args[:end_time] if args.key?(:end_time)
9956
+ @start_time = args[:start_time] if args.key?(:start_time)
9957
+ end
9958
+ end
9959
+
9960
+ # Contains a list of future reservations.
9961
+ class FutureReservationsAggregatedListResponse
9962
+ include Google::Apis::Core::Hashable
9963
+
9964
+ #
9965
+ # Corresponds to the JSON property `etag`
9966
+ # @return [String]
9967
+ attr_accessor :etag
9968
+
9969
+ # [Output Only] Unique identifier for the resource; defined by the server.
9970
+ # Corresponds to the JSON property `id`
9971
+ # @return [String]
9972
+ attr_accessor :id
9973
+
9974
+ # A list of Future reservation resources.
9975
+ # Corresponds to the JSON property `items`
9976
+ # @return [Hash<String,Google::Apis::ComputeAlpha::FutureReservationsScopedList>]
9977
+ attr_accessor :items
9978
+
9979
+ # Type of resource.
9980
+ # Corresponds to the JSON property `kind`
9981
+ # @return [String]
9982
+ attr_accessor :kind
9983
+
9984
+ # [Output Only] This token allows you to get the next page of results for list
9985
+ # requests. If the number of results is larger than maxResults, use the
9986
+ # nextPageToken as a value for the query parameter pageToken in the next list
9987
+ # request. Subsequent list requests will have their own nextPageToken to
9988
+ # continue paging through the results.
9989
+ # Corresponds to the JSON property `nextPageToken`
9990
+ # @return [String]
9991
+ attr_accessor :next_page_token
9992
+
9993
+ # [Output Only] Server-defined URL for this resource.
9994
+ # Corresponds to the JSON property `selfLink`
9995
+ # @return [String]
9996
+ attr_accessor :self_link
9997
+
9998
+ # [Output Only] Unreachable resources.
9999
+ # Corresponds to the JSON property `unreachables`
10000
+ # @return [Array<String>]
10001
+ attr_accessor :unreachables
10002
+
10003
+ # [Output Only] Informational warning message.
10004
+ # Corresponds to the JSON property `warning`
10005
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning]
10006
+ attr_accessor :warning
10007
+
10008
+ def initialize(**args)
10009
+ update!(**args)
10010
+ end
10011
+
10012
+ # Update properties of this object
10013
+ def update!(**args)
10014
+ @etag = args[:etag] if args.key?(:etag)
10015
+ @id = args[:id] if args.key?(:id)
10016
+ @items = args[:items] if args.key?(:items)
10017
+ @kind = args[:kind] if args.key?(:kind)
10018
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10019
+ @self_link = args[:self_link] if args.key?(:self_link)
10020
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10021
+ @warning = args[:warning] if args.key?(:warning)
10022
+ end
10023
+
10024
+ # [Output Only] Informational warning message.
10025
+ class Warning
10026
+ include Google::Apis::Core::Hashable
10027
+
10028
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10029
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10030
+ # Corresponds to the JSON property `code`
10031
+ # @return [String]
10032
+ attr_accessor :code
10033
+
10034
+ # [Output Only] Metadata about this warning in key: value format. For example:
10035
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10036
+ # Corresponds to the JSON property `data`
10037
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning::Datum>]
10038
+ attr_accessor :data
10039
+
10040
+ # [Output Only] A human-readable description of the warning code.
10041
+ # Corresponds to the JSON property `message`
10042
+ # @return [String]
10043
+ attr_accessor :message
10044
+
10045
+ def initialize(**args)
10046
+ update!(**args)
10047
+ end
10048
+
10049
+ # Update properties of this object
10050
+ def update!(**args)
10051
+ @code = args[:code] if args.key?(:code)
10052
+ @data = args[:data] if args.key?(:data)
10053
+ @message = args[:message] if args.key?(:message)
10054
+ end
10055
+
10056
+ #
10057
+ class Datum
10058
+ include Google::Apis::Core::Hashable
10059
+
10060
+ # [Output Only] A key that provides more detail on the warning being returned.
10061
+ # For example, for warnings where there are no results in a list request for a
10062
+ # particular zone, this key might be scope and the key value might be the zone
10063
+ # name. Other examples might be a key indicating a deprecated resource and a
10064
+ # suggested replacement, or a warning about invalid network settings (for
10065
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10066
+ # for IP forwarding).
10067
+ # Corresponds to the JSON property `key`
10068
+ # @return [String]
10069
+ attr_accessor :key
10070
+
10071
+ # [Output Only] A warning data value corresponding to the key.
10072
+ # Corresponds to the JSON property `value`
10073
+ # @return [String]
10074
+ attr_accessor :value
10075
+
10076
+ def initialize(**args)
10077
+ update!(**args)
10078
+ end
10079
+
10080
+ # Update properties of this object
10081
+ def update!(**args)
10082
+ @key = args[:key] if args.key?(:key)
10083
+ @value = args[:value] if args.key?(:value)
10084
+ end
10085
+ end
10086
+ end
10087
+ end
10088
+
10089
+ #
10090
+ class FutureReservationsListResponse
10091
+ include Google::Apis::Core::Hashable
10092
+
10093
+ #
10094
+ # Corresponds to the JSON property `etag`
10095
+ # @return [String]
10096
+ attr_accessor :etag
10097
+
10098
+ # [Output Only] The unique identifier for the resource. This identifier is
10099
+ # defined by the server.
10100
+ # Corresponds to the JSON property `id`
10101
+ # @return [String]
10102
+ attr_accessor :id
10103
+
10104
+ # [Output Only] A list of future reservation resources.
10105
+ # Corresponds to the JSON property `items`
10106
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10107
+ attr_accessor :items
10108
+
10109
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
10110
+ # reservations
10111
+ # Corresponds to the JSON property `kind`
10112
+ # @return [String]
10113
+ attr_accessor :kind
10114
+
10115
+ # [Output Only] This token allows you to get the next page of results for list
10116
+ # requests. If the number of results is larger than maxResults, use the
10117
+ # nextPageToken as a value for the query parameter pageToken in the next list
10118
+ # request. Subsequent list requests will have their own nextPageToken to
10119
+ # continue paging through the results.
10120
+ # Corresponds to the JSON property `nextPageToken`
10121
+ # @return [String]
10122
+ attr_accessor :next_page_token
10123
+
10124
+ # [Output Only] Server-defined URL for this resource.
10125
+ # Corresponds to the JSON property `selfLink`
10126
+ # @return [String]
10127
+ attr_accessor :self_link
10128
+
10129
+ # [Output Only] Unreachable resources.
10130
+ # Corresponds to the JSON property `unreachables`
10131
+ # @return [Array<String>]
10132
+ attr_accessor :unreachables
10133
+
10134
+ # [Output Only] Informational warning message.
10135
+ # Corresponds to the JSON property `warning`
10136
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning]
10137
+ attr_accessor :warning
10138
+
10139
+ def initialize(**args)
10140
+ update!(**args)
10141
+ end
10142
+
10143
+ # Update properties of this object
10144
+ def update!(**args)
10145
+ @etag = args[:etag] if args.key?(:etag)
10146
+ @id = args[:id] if args.key?(:id)
10147
+ @items = args[:items] if args.key?(:items)
10148
+ @kind = args[:kind] if args.key?(:kind)
10149
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
10150
+ @self_link = args[:self_link] if args.key?(:self_link)
10151
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
10152
+ @warning = args[:warning] if args.key?(:warning)
10153
+ end
10154
+
10155
+ # [Output Only] Informational warning message.
10156
+ class Warning
10157
+ include Google::Apis::Core::Hashable
10158
+
10159
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10160
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10161
+ # Corresponds to the JSON property `code`
10162
+ # @return [String]
10163
+ attr_accessor :code
10164
+
10165
+ # [Output Only] Metadata about this warning in key: value format. For example:
10166
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10167
+ # Corresponds to the JSON property `data`
10168
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning::Datum>]
10169
+ attr_accessor :data
10170
+
10171
+ # [Output Only] A human-readable description of the warning code.
10172
+ # Corresponds to the JSON property `message`
10173
+ # @return [String]
10174
+ attr_accessor :message
10175
+
10176
+ def initialize(**args)
10177
+ update!(**args)
10178
+ end
10179
+
10180
+ # Update properties of this object
10181
+ def update!(**args)
10182
+ @code = args[:code] if args.key?(:code)
10183
+ @data = args[:data] if args.key?(:data)
10184
+ @message = args[:message] if args.key?(:message)
10185
+ end
10186
+
10187
+ #
10188
+ class Datum
10189
+ include Google::Apis::Core::Hashable
10190
+
10191
+ # [Output Only] A key that provides more detail on the warning being returned.
10192
+ # For example, for warnings where there are no results in a list request for a
10193
+ # particular zone, this key might be scope and the key value might be the zone
10194
+ # name. Other examples might be a key indicating a deprecated resource and a
10195
+ # suggested replacement, or a warning about invalid network settings (for
10196
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10197
+ # for IP forwarding).
10198
+ # Corresponds to the JSON property `key`
10199
+ # @return [String]
10200
+ attr_accessor :key
10201
+
10202
+ # [Output Only] A warning data value corresponding to the key.
10203
+ # Corresponds to the JSON property `value`
10204
+ # @return [String]
10205
+ attr_accessor :value
10206
+
10207
+ def initialize(**args)
10208
+ update!(**args)
10209
+ end
10210
+
10211
+ # Update properties of this object
10212
+ def update!(**args)
10213
+ @key = args[:key] if args.key?(:key)
10214
+ @value = args[:value] if args.key?(:value)
10215
+ end
10216
+ end
10217
+ end
10218
+ end
10219
+
10220
+ #
10221
+ class FutureReservationsScopedList
10222
+ include Google::Apis::Core::Hashable
10223
+
10224
+ # A list of future reservations contained in this scope.
10225
+ # Corresponds to the JSON property `resources`
10226
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
10227
+ attr_accessor :resources
10228
+
10229
+ # Informational warning which replaces the list of future reservations when the
10230
+ # list is empty.
10231
+ # Corresponds to the JSON property `warning`
10232
+ # @return [Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning]
10233
+ attr_accessor :warning
10234
+
10235
+ def initialize(**args)
10236
+ update!(**args)
10237
+ end
10238
+
10239
+ # Update properties of this object
10240
+ def update!(**args)
10241
+ @resources = args[:resources] if args.key?(:resources)
10242
+ @warning = args[:warning] if args.key?(:warning)
10243
+ end
10244
+
10245
+ # Informational warning which replaces the list of future reservations when the
10246
+ # list is empty.
10247
+ class Warning
10248
+ include Google::Apis::Core::Hashable
10249
+
10250
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10251
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10252
+ # Corresponds to the JSON property `code`
10253
+ # @return [String]
10254
+ attr_accessor :code
10255
+
10256
+ # [Output Only] Metadata about this warning in key: value format. For example:
10257
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10258
+ # Corresponds to the JSON property `data`
10259
+ # @return [Array<Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning::Datum>]
10260
+ attr_accessor :data
10261
+
10262
+ # [Output Only] A human-readable description of the warning code.
10263
+ # Corresponds to the JSON property `message`
10264
+ # @return [String]
10265
+ attr_accessor :message
10266
+
10267
+ def initialize(**args)
10268
+ update!(**args)
10269
+ end
10270
+
10271
+ # Update properties of this object
10272
+ def update!(**args)
10273
+ @code = args[:code] if args.key?(:code)
10274
+ @data = args[:data] if args.key?(:data)
10275
+ @message = args[:message] if args.key?(:message)
10276
+ end
10277
+
10278
+ #
10279
+ class Datum
10280
+ include Google::Apis::Core::Hashable
10281
+
10282
+ # [Output Only] A key that provides more detail on the warning being returned.
10283
+ # For example, for warnings where there are no results in a list request for a
10284
+ # particular zone, this key might be scope and the key value might be the zone
10285
+ # name. Other examples might be a key indicating a deprecated resource and a
10286
+ # suggested replacement, or a warning about invalid network settings (for
10287
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10288
+ # for IP forwarding).
10289
+ # Corresponds to the JSON property `key`
10290
+ # @return [String]
10291
+ attr_accessor :key
10292
+
10293
+ # [Output Only] A warning data value corresponding to the key.
10294
+ # Corresponds to the JSON property `value`
10295
+ # @return [String]
10296
+ attr_accessor :value
10297
+
10298
+ def initialize(**args)
10299
+ update!(**args)
10300
+ end
10301
+
10302
+ # Update properties of this object
10303
+ def update!(**args)
10304
+ @key = args[:key] if args.key?(:key)
10305
+ @value = args[:value] if args.key?(:value)
10306
+ end
10307
+ end
10308
+ end
10309
+ end
10310
+
9722
10311
  #
9723
10312
  class GrpcHealthCheck
9724
10313
  include Google::Apis::Core::Hashable
@@ -10736,11 +11325,12 @@ module Google
10736
11325
 
10737
11326
  # List of URLs to the HealthCheck resources. Must have at least one HealthCheck,
10738
11327
  # and not more than 10. HealthCheck resources must have portSpecification=
10739
- # USE_SERVING_PORT. For regional HealthCheckService, the HealthCheck must be
10740
- # regional and in the same region. For global HealthCheckService, HealthCheck
10741
- # must be global. Mix of regional and global HealthChecks is not supported.
10742
- # Multiple regional HealthChecks must belong to the same region. Regional
10743
- # HealthChecks</code? must belong to the same region as zones of NEGs.
11328
+ # USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional
11329
+ # HealthCheckService, the HealthCheck must be regional and in the same region.
11330
+ # For global HealthCheckService, HealthCheck must be global. Mix of regional and
11331
+ # global HealthChecks is not supported. Multiple regional HealthChecks must
11332
+ # belong to the same region. Regional HealthChecks must belong to the same
11333
+ # region as zones of NEGs.
10744
11334
  # Corresponds to the JSON property `healthChecks`
10745
11335
  # @return [Array<String>]
10746
11336
  attr_accessor :health_checks
@@ -11590,6 +12180,9 @@ module Google
11590
12180
 
11591
12181
  # The HTTP status code used to abort the request.
11592
12182
  # The value must be between 200 and 599 inclusive.
12183
+ # For gRPC protocol, the gRPC status code is mapped to HTTP status code
12184
+ # according to this mapping table. HTTP status 200 is mapped to gRPC status
12185
+ # UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.
11593
12186
  # Corresponds to the JSON property `httpStatus`
11594
12187
  # @return [Fixnum]
11595
12188
  attr_accessor :http_status
@@ -12259,8 +12852,8 @@ module Google
12259
12852
  # @return [Google::Apis::ComputeAlpha::Duration]
12260
12853
  attr_accessor :per_try_timeout
12261
12854
 
12262
- # Specfies one or more conditions when this retry rule applies. Valid values are:
12263
- #
12855
+ # Specifies one or more conditions when this retry rule applies. Valid values
12856
+ # are:
12264
12857
  # - 5xx: Loadbalancer will attempt a retry if the backend service responds with
12265
12858
  # any 5xx response code, or if the backend service does not respond at all,
12266
12859
  # example: disconnects, reset, read timeout, connection failure, and refused
@@ -12956,13 +13549,17 @@ module Google
12956
13549
  # @return [Google::Apis::ComputeAlpha::InitialStateConfig]
12957
13550
  attr_accessor :shielded_instance_initial_state
12958
13551
 
12959
- # URL of the source disk used to create this image. This can be a full or valid
12960
- # partial URL. You must provide either this property or the rawDisk.source
12961
- # property but not both to create an image. For example, the following are valid
12962
- # values:
13552
+ # URL of the source disk used to create this image. For example, the following
13553
+ # are valid values:
12963
13554
  # - https://www.googleapis.com/compute/v1/projects/project/zones/zone/disks/disk
12964
13555
  # - projects/project/zones/zone/disks/disk
12965
13556
  # - zones/zone/disks/disk
13557
+ # In order to create an image, you must provide the full or partial URL of one
13558
+ # of the following:
13559
+ # - The rawDisk.source URL
13560
+ # - The sourceDisk URL
13561
+ # - The sourceImage URL
13562
+ # - The sourceSnapshot URL
12966
13563
  # Corresponds to the JSON property `sourceDisk`
12967
13564
  # @return [String]
12968
13565
  attr_accessor :source_disk
@@ -12983,10 +13580,10 @@ module Google
12983
13580
  # URL of the source image used to create this image.
12984
13581
  # In order to create an image, you must provide the full or partial URL of one
12985
13582
  # of the following:
12986
- # - The selfLink URL
12987
- # - This property
12988
13583
  # - The rawDisk.source URL
12989
13584
  # - The sourceDisk URL
13585
+ # - The sourceImage URL
13586
+ # - The sourceSnapshot URL
12990
13587
  # Corresponds to the JSON property `sourceImage`
12991
13588
  # @return [String]
12992
13589
  attr_accessor :source_image
@@ -13007,11 +13604,10 @@ module Google
13007
13604
  # URL of the source snapshot used to create this image.
13008
13605
  # In order to create an image, you must provide the full or partial URL of one
13009
13606
  # of the following:
13010
- # - The selfLink URL
13011
- # - This property
13012
- # - The sourceImage URL
13013
13607
  # - The rawDisk.source URL
13014
13608
  # - The sourceDisk URL
13609
+ # - The sourceImage URL
13610
+ # - The sourceSnapshot URL
13015
13611
  # Corresponds to the JSON property `sourceSnapshot`
13016
13612
  # @return [String]
13017
13613
  attr_accessor :source_snapshot
@@ -13107,8 +13703,13 @@ module Google
13107
13703
  # @return [String]
13108
13704
  attr_accessor :sha1_checksum
13109
13705
 
13110
- # The full Google Cloud Storage URL where the disk image is stored. You must
13111
- # provide either this property or the sourceDisk property but not both.
13706
+ # The full Google Cloud Storage URL where the disk image is stored.
13707
+ # In order to create an image, you must provide the full or partial URL of one
13708
+ # of the following:
13709
+ # - The rawDisk.source URL
13710
+ # - The sourceDisk URL
13711
+ # - The sourceImage URL
13712
+ # - The sourceSnapshot URL
13112
13713
  # Corresponds to the JSON property `source`
13113
13714
  # @return [String]
13114
13715
  attr_accessor :source
@@ -13807,13 +14408,13 @@ module Google
13807
14408
  attr_accessor :satisfies_pzs
13808
14409
  alias_method :satisfies_pzs?, :satisfies_pzs
13809
14410
 
13810
- # Sets the scheduling options for an Instance. NextID: 20
14411
+ # Sets the scheduling options for an Instance. NextID: 21
13811
14412
  # Corresponds to the JSON property `scheduling`
13812
14413
  # @return [Google::Apis::ComputeAlpha::Scheduling]
13813
14414
  attr_accessor :scheduling
13814
14415
 
13815
- # Secure tags to apply to this instance. These can be later modified by the
13816
- # update method. Maximum number of secure tags allowed is 300.
14416
+ # [Input Only] Secure tags to apply to this instance. These can be later
14417
+ # modified by the update method. Maximum number of secure tags allowed is 50.
13817
14418
  # Corresponds to the JSON property `secureTags`
13818
14419
  # @return [Array<String>]
13819
14420
  attr_accessor :secure_tags
@@ -14460,6 +15061,13 @@ module Google
14460
15061
  end
14461
15062
  end
14462
15063
 
15064
+ # Whether the instance is a standby. Properties of a standby instance comparing
15065
+ # to the regular instance: ======================================================
15066
+ # =================== | regular | standby =======================================
15067
+ # ================================== managed by IGM? | yes | yes added to the IG?
15068
+ # | yes | yes counts towards IGM's target size? | yes | no taken into account
15069
+ # by Autoscaler? | yes | no receives traffic from LB? | yes | no ================
15070
+ # =========================================================
14463
15071
  # Represents a Managed Instance Group resource.
14464
15072
  # An instance group is a collection of VM instances that you can manage as a
14465
15073
  # single entity. For more information, read Instance groups.
@@ -15507,6 +16115,18 @@ module Google
15507
16115
  # @return [Array<String>]
15508
16116
  attr_accessor :instances
15509
16117
 
16118
+ # Specifies whether the request should proceed despite the inclusion of
16119
+ # instances that are not members of the group or that are already in the process
16120
+ # of being deleted or abandoned. If this field is set to `false` and such an
16121
+ # instance is specified in the request, the operation fails. The operation
16122
+ # always fails if the request contains a malformed instance URL or a reference
16123
+ # to an instance that exists in a zone or region other than the group's zone or
16124
+ # region.
16125
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
16126
+ # @return [Boolean]
16127
+ attr_accessor :skip_instances_on_validation_error
16128
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
16129
+
15510
16130
  def initialize(**args)
15511
16131
  update!(**args)
15512
16132
  end
@@ -15514,6 +16134,7 @@ module Google
15514
16134
  # Update properties of this object
15515
16135
  def update!(**args)
15516
16136
  @instances = args[:instances] if args.key?(:instances)
16137
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
15517
16138
  end
15518
16139
  end
15519
16140
 
@@ -16834,11 +17455,17 @@ module Google
16834
17455
  # @return [Array<String>]
16835
17456
  attr_accessor :resource_policies
16836
17457
 
16837
- # Sets the scheduling options for an Instance. NextID: 20
17458
+ # Sets the scheduling options for an Instance. NextID: 21
16838
17459
  # Corresponds to the JSON property `scheduling`
16839
17460
  # @return [Google::Apis::ComputeAlpha::Scheduling]
16840
17461
  attr_accessor :scheduling
16841
17462
 
17463
+ # [Input Only] Secure tags to apply to this instance. Maximum number of secure
17464
+ # tags allowed is 50.
17465
+ # Corresponds to the JSON property `secureTags`
17466
+ # @return [Array<String>]
17467
+ attr_accessor :secure_tags
17468
+
16842
17469
  # A list of service accounts with specified scopes. Access tokens for these
16843
17470
  # service accounts are available to the instances that are created from these
16844
17471
  # properties. Use metadata queries to obtain the access tokens for these
@@ -16886,6 +17513,7 @@ module Google
16886
17513
  @reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
16887
17514
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
16888
17515
  @scheduling = args[:scheduling] if args.key?(:scheduling)
17516
+ @secure_tags = args[:secure_tags] if args.key?(:secure_tags)
16889
17517
  @service_accounts = args[:service_accounts] if args.key?(:service_accounts)
16890
17518
  @shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
16891
17519
  @shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
@@ -18102,6 +18730,14 @@ module Google
18102
18730
  # @return [Fixnum]
18103
18731
  attr_accessor :requested_link_count
18104
18732
 
18733
+ # [Output Only] Set to true if the resource satisfies the zone separation
18734
+ # organization policy constraints and false otherwise. Defaults to false if the
18735
+ # field is not present.
18736
+ # Corresponds to the JSON property `satisfiesPzs`
18737
+ # @return [Boolean]
18738
+ attr_accessor :satisfies_pzs
18739
+ alias_method :satisfies_pzs?, :satisfies_pzs
18740
+
18105
18741
  # [Output Only] Server-defined URL for the resource.
18106
18742
  # Corresponds to the JSON property `selfLink`
18107
18743
  # @return [String]
@@ -18152,6 +18788,7 @@ module Google
18152
18788
  @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
18153
18789
  @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
18154
18790
  @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
18791
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18155
18792
  @self_link = args[:self_link] if args.key?(:self_link)
18156
18793
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
18157
18794
  @state = args[:state] if args.key?(:state)
@@ -18284,15 +18921,18 @@ module Google
18284
18921
  # @return [String]
18285
18922
  attr_accessor :edge_availability_domain
18286
18923
 
18287
- # Indicates the user-supplied encryption option of this interconnect attachment:
18288
- # - NONE is the default value, which means that the attachment carries
18289
- # unencrypted traffic. VMs can send traffic to, or receive traffic from, this
18290
- # type of attachment.
18291
- # - IPSEC indicates that the attachment carries only traffic encrypted by an
18292
- # IPsec device such as an HA VPN gateway. VMs cannot directly send traffic to,
18293
- # or receive traffic from, such an attachment. To use IPsec-encrypted Cloud
18294
- # Interconnect, create the attachment using this option.
18295
- # Not currently available in all Interconnect locations.
18924
+ # Indicates the user-supplied encryption option of this VLAN attachment (
18925
+ # interconnectAttachment). Can only be specified at attachment creation for
18926
+ # PARTNER or DEDICATED attachments. Possible values are:
18927
+ # - NONE - This is the default value, which means that the VLAN attachment
18928
+ # carries unencrypted traffic. VMs are able to send traffic to, or receive
18929
+ # traffic from, such a VLAN attachment.
18930
+ # - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted
18931
+ # by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs
18932
+ # cannot directly send traffic to, or receive traffic from, such a VLAN
18933
+ # attachment. To use IPsec-encrypted Cloud Interconnect, the VLAN attachment
18934
+ # must be created with this option.
18935
+ # Not currently available publicly.
18296
18936
  # Corresponds to the JSON property `encryption`
18297
18937
  # @return [String]
18298
18938
  attr_accessor :encryption
@@ -18316,19 +18956,19 @@ module Google
18316
18956
  # @return [String]
18317
18957
  attr_accessor :interconnect
18318
18958
 
18319
- # URL of addresses that have been reserved for the interconnect attachment, Used
18320
- # only for interconnect attachment that has the encryption option as IPSEC. The
18321
- # addresses must be RFC 1918 IP address ranges. When creating HA VPN gateway
18322
- # over the interconnect attachment, if the attachment is configured to use an
18323
- # RFC 1918 IP address, then the VPN gateway's IP address will be allocated from
18324
- # the IP address range specified here. For example, if the HA VPN gateway's
18325
- # interface 0 is paired to this interconnect attachment, then an RFC 1918 IP
18959
+ # List of URL of addresses that have been reserved for the VLAN attachment. Used
18960
+ # only for the VLAN attachment that has the encryption option as IPSEC. The
18961
+ # addresses must be regional internal IP address ranges. When creating an HA VPN
18962
+ # gateway over the VLAN attachment, if the attachment is configured to use a
18963
+ # regional internal IP address, then the VPN gateway's IP address is allocated
18964
+ # from the IP address range specified here. For example, if the HA VPN gateway's
18965
+ # interface 0 is paired to this VLAN attachment, then a regional internal IP
18326
18966
  # address for the VPN gateway interface 0 will be allocated from the IP address
18327
- # specified for this interconnect attachment. If this field is not specified for
18328
- # interconnect attachment that has encryption option as IPSEC, later on when
18329
- # creating HA VPN gateway on this interconnect attachment, the HA VPN gateway's
18330
- # IP address will be allocated from regional external IP address pool.
18331
- # Not currently available in all Interconnect locations.
18967
+ # specified for this VLAN attachment. If this field is not specified when
18968
+ # creating the VLAN attachment, then later on when creating an HA VPN gateway on
18969
+ # this VLAN attachment, the HA VPN gateway's IP address is allocated from the
18970
+ # regional external IP address pool.
18971
+ # Not currently available publicly.
18332
18972
  # Corresponds to the JSON property `ipsecInternalAddresses`
18333
18973
  # @return [Array<String>]
18334
18974
  attr_accessor :ipsec_internal_addresses
@@ -18428,6 +19068,14 @@ module Google
18428
19068
  # @return [String]
18429
19069
  attr_accessor :router
18430
19070
 
19071
+ # [Output Only] Set to true if the resource satisfies the zone separation
19072
+ # organization policy constraints and false otherwise. Defaults to false if the
19073
+ # field is not present.
19074
+ # Corresponds to the JSON property `satisfiesPzs`
19075
+ # @return [Boolean]
19076
+ attr_accessor :satisfies_pzs
19077
+ alias_method :satisfies_pzs?, :satisfies_pzs
19078
+
18431
19079
  # [Output Only] Server-defined URL for the resource.
18432
19080
  # Corresponds to the JSON property `selfLink`
18433
19081
  # @return [String]
@@ -18522,6 +19170,7 @@ module Google
18522
19170
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
18523
19171
  @region = args[:region] if args.key?(:region)
18524
19172
  @router = args[:router] if args.key?(:router)
19173
+ @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
18525
19174
  @self_link = args[:self_link] if args.key?(:self_link)
18526
19175
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
18527
19176
  @stack_type = args[:stack_type] if args.key?(:stack_type)
@@ -19363,6 +20012,13 @@ module Google
19363
20012
  # @return [String]
19364
20013
  attr_accessor :status
19365
20014
 
20015
+ # [Output Only] Set to true for locations that support physical zone separation.
20016
+ # Defaults to false if the field is not present.
20017
+ # Corresponds to the JSON property `supportsPzs`
20018
+ # @return [Boolean]
20019
+ attr_accessor :supports_pzs
20020
+ alias_method :supports_pzs?, :supports_pzs
20021
+
19366
20022
  def initialize(**args)
19367
20023
  update!(**args)
19368
20024
  end
@@ -19385,6 +20041,7 @@ module Google
19385
20041
  @self_link = args[:self_link] if args.key?(:self_link)
19386
20042
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
19387
20043
  @status = args[:status] if args.key?(:status)
20044
+ @supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
19388
20045
  end
19389
20046
  end
19390
20047
 
@@ -19592,8 +20249,10 @@ module Google
19592
20249
  # - ACTIVE: This outage notification is active. The event could be in the past,
19593
20250
  # present, or future. See start_time and end_time for scheduling.
19594
20251
  # - CANCELLED: The outage associated with this notification was cancelled before
19595
- # the outage was due to start. Note that the versions of this enum prefixed with
19596
- # "NS_" have been deprecated in favor of the unprefixed values.
20252
+ # the outage was due to start.
20253
+ # - COMPLETED: The outage associated with this notification is complete. Note
20254
+ # that the versions of this enum prefixed with "NS_" have been deprecated in
20255
+ # favor of the unprefixed values.
19597
20256
  # Corresponds to the JSON property `state`
19598
20257
  # @return [String]
19599
20258
  attr_accessor :state
@@ -20439,6 +21098,11 @@ module Google
20439
21098
  # @return [Hash<String,Google::Apis::ComputeAlpha::LocationPolicyLocation>]
20440
21099
  attr_accessor :locations
20441
21100
 
21101
+ # Strategy for distributing VMs across zones in a region.
21102
+ # Corresponds to the JSON property `targetShape`
21103
+ # @return [String]
21104
+ attr_accessor :target_shape
21105
+
20442
21106
  def initialize(**args)
20443
21107
  update!(**args)
20444
21108
  end
@@ -20446,6 +21110,7 @@ module Google
20446
21110
  # Update properties of this object
20447
21111
  def update!(**args)
20448
21112
  @locations = args[:locations] if args.key?(:locations)
21113
+ @target_shape = args[:target_shape] if args.key?(:target_shape)
20449
21114
  end
20450
21115
  end
20451
21116
 
@@ -20453,7 +21118,7 @@ module Google
20453
21118
  class LocationPolicyLocation
20454
21119
  include Google::Apis::Core::Hashable
20455
21120
 
20456
- # Preference for a given locaction: ALLOW or DENY.
21121
+ # Preference for a given location: ALLOW or DENY.
20457
21122
  # Corresponds to the JSON property `preference`
20458
21123
  # @return [String]
20459
21124
  attr_accessor :preference
@@ -21953,6 +22618,320 @@ module Google
21953
22618
  end
21954
22619
  end
21955
22620
 
22621
+ # Represents a Google Cloud Armor network edge security service resource. (==
22622
+ # resource_for `$api_version`.networkEdgeSecurityServices ==)
22623
+ class NetworkEdgeSecurityService
22624
+ include Google::Apis::Core::Hashable
22625
+
22626
+ # [Output Only] Creation timestamp in RFC3339 text format.
22627
+ # Corresponds to the JSON property `creationTimestamp`
22628
+ # @return [String]
22629
+ attr_accessor :creation_timestamp
22630
+
22631
+ # An optional description of this resource. Provide this property when you
22632
+ # create the resource.
22633
+ # Corresponds to the JSON property `description`
22634
+ # @return [String]
22635
+ attr_accessor :description
22636
+
22637
+ # Fingerprint of this resource. A hash of the contents stored in this object.
22638
+ # This field is used in optimistic locking. This field will be ignored when
22639
+ # inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
22640
+ # provided in order to update the NetworkEdgeSecurityService, otherwise the
22641
+ # request will fail with error 412 conditionNotMet.
22642
+ # To see the latest fingerprint, make a get() request to retrieve a
22643
+ # NetworkEdgeSecurityService.
22644
+ # Corresponds to the JSON property `fingerprint`
22645
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
22646
+ # @return [String]
22647
+ attr_accessor :fingerprint
22648
+
22649
+ # [Output Only] The unique identifier for the resource. This identifier is
22650
+ # defined by the server.
22651
+ # Corresponds to the JSON property `id`
22652
+ # @return [Fixnum]
22653
+ attr_accessor :id
22654
+
22655
+ # [Output only] Type of the resource. Always compute#
22656
+ # networkEdgeSecurityServicefor NetworkEdgeSecurityServices
22657
+ # Corresponds to the JSON property `kind`
22658
+ # @return [String]
22659
+ attr_accessor :kind
22660
+
22661
+ # Name of the resource. Provided by the client when the resource is created. The
22662
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
22663
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
22664
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
22665
+ # and all following characters must be a dash, lowercase letter, or digit,
22666
+ # except the last character, which cannot be a dash.
22667
+ # Corresponds to the JSON property `name`
22668
+ # @return [String]
22669
+ attr_accessor :name
22670
+
22671
+ # [Output Only] URL of the region where the resource resides. You must specify
22672
+ # this field as part of the HTTP request URL. It is not settable as a field in
22673
+ # the request body.
22674
+ # Corresponds to the JSON property `region`
22675
+ # @return [String]
22676
+ attr_accessor :region
22677
+
22678
+ # The resource URL for the network edge security service associated with this
22679
+ # network edge security service.
22680
+ # Corresponds to the JSON property `securityPolicy`
22681
+ # @return [String]
22682
+ attr_accessor :security_policy
22683
+
22684
+ # [Output Only] Server-defined URL for the resource.
22685
+ # Corresponds to the JSON property `selfLink`
22686
+ # @return [String]
22687
+ attr_accessor :self_link
22688
+
22689
+ # [Output Only] Server-defined URL for this resource with the resource id.
22690
+ # Corresponds to the JSON property `selfLinkWithId`
22691
+ # @return [String]
22692
+ attr_accessor :self_link_with_id
22693
+
22694
+ def initialize(**args)
22695
+ update!(**args)
22696
+ end
22697
+
22698
+ # Update properties of this object
22699
+ def update!(**args)
22700
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
22701
+ @description = args[:description] if args.key?(:description)
22702
+ @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
22703
+ @id = args[:id] if args.key?(:id)
22704
+ @kind = args[:kind] if args.key?(:kind)
22705
+ @name = args[:name] if args.key?(:name)
22706
+ @region = args[:region] if args.key?(:region)
22707
+ @security_policy = args[:security_policy] if args.key?(:security_policy)
22708
+ @self_link = args[:self_link] if args.key?(:self_link)
22709
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
22710
+ end
22711
+ end
22712
+
22713
+ #
22714
+ class NetworkEdgeSecurityServiceAggregatedList
22715
+ include Google::Apis::Core::Hashable
22716
+
22717
+ #
22718
+ # Corresponds to the JSON property `etag`
22719
+ # @return [String]
22720
+ attr_accessor :etag
22721
+
22722
+ # [Output Only] Unique identifier for the resource; defined by the server.
22723
+ # Corresponds to the JSON property `id`
22724
+ # @return [String]
22725
+ attr_accessor :id
22726
+
22727
+ # A list of NetworkEdgeSecurityServicesScopedList resources.
22728
+ # Corresponds to the JSON property `items`
22729
+ # @return [Hash<String,Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList>]
22730
+ attr_accessor :items
22731
+
22732
+ # [Output Only] Type of resource. Always compute#
22733
+ # networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
22734
+ # Services.
22735
+ # Corresponds to the JSON property `kind`
22736
+ # @return [String]
22737
+ attr_accessor :kind
22738
+
22739
+ # [Output Only] This token allows you to get the next page of results for list
22740
+ # requests. If the number of results is larger than maxResults, use the
22741
+ # nextPageToken as a value for the query parameter pageToken in the next list
22742
+ # request. Subsequent list requests will have their own nextPageToken to
22743
+ # continue paging through the results.
22744
+ # Corresponds to the JSON property `nextPageToken`
22745
+ # @return [String]
22746
+ attr_accessor :next_page_token
22747
+
22748
+ # [Output Only] Server-defined URL for this resource.
22749
+ # Corresponds to the JSON property `selfLink`
22750
+ # @return [String]
22751
+ attr_accessor :self_link
22752
+
22753
+ # [Output Only] Unreachable resources.
22754
+ # Corresponds to the JSON property `unreachables`
22755
+ # @return [Array<String>]
22756
+ attr_accessor :unreachables
22757
+
22758
+ # [Output Only] Informational warning message.
22759
+ # Corresponds to the JSON property `warning`
22760
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning]
22761
+ attr_accessor :warning
22762
+
22763
+ def initialize(**args)
22764
+ update!(**args)
22765
+ end
22766
+
22767
+ # Update properties of this object
22768
+ def update!(**args)
22769
+ @etag = args[:etag] if args.key?(:etag)
22770
+ @id = args[:id] if args.key?(:id)
22771
+ @items = args[:items] if args.key?(:items)
22772
+ @kind = args[:kind] if args.key?(:kind)
22773
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
22774
+ @self_link = args[:self_link] if args.key?(:self_link)
22775
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
22776
+ @warning = args[:warning] if args.key?(:warning)
22777
+ end
22778
+
22779
+ # [Output Only] Informational warning message.
22780
+ class Warning
22781
+ include Google::Apis::Core::Hashable
22782
+
22783
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22784
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22785
+ # Corresponds to the JSON property `code`
22786
+ # @return [String]
22787
+ attr_accessor :code
22788
+
22789
+ # [Output Only] Metadata about this warning in key: value format. For example:
22790
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22791
+ # Corresponds to the JSON property `data`
22792
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
22793
+ attr_accessor :data
22794
+
22795
+ # [Output Only] A human-readable description of the warning code.
22796
+ # Corresponds to the JSON property `message`
22797
+ # @return [String]
22798
+ attr_accessor :message
22799
+
22800
+ def initialize(**args)
22801
+ update!(**args)
22802
+ end
22803
+
22804
+ # Update properties of this object
22805
+ def update!(**args)
22806
+ @code = args[:code] if args.key?(:code)
22807
+ @data = args[:data] if args.key?(:data)
22808
+ @message = args[:message] if args.key?(:message)
22809
+ end
22810
+
22811
+ #
22812
+ class Datum
22813
+ include Google::Apis::Core::Hashable
22814
+
22815
+ # [Output Only] A key that provides more detail on the warning being returned.
22816
+ # For example, for warnings where there are no results in a list request for a
22817
+ # particular zone, this key might be scope and the key value might be the zone
22818
+ # name. Other examples might be a key indicating a deprecated resource and a
22819
+ # suggested replacement, or a warning about invalid network settings (for
22820
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22821
+ # for IP forwarding).
22822
+ # Corresponds to the JSON property `key`
22823
+ # @return [String]
22824
+ attr_accessor :key
22825
+
22826
+ # [Output Only] A warning data value corresponding to the key.
22827
+ # Corresponds to the JSON property `value`
22828
+ # @return [String]
22829
+ attr_accessor :value
22830
+
22831
+ def initialize(**args)
22832
+ update!(**args)
22833
+ end
22834
+
22835
+ # Update properties of this object
22836
+ def update!(**args)
22837
+ @key = args[:key] if args.key?(:key)
22838
+ @value = args[:value] if args.key?(:value)
22839
+ end
22840
+ end
22841
+ end
22842
+ end
22843
+
22844
+ #
22845
+ class NetworkEdgeSecurityServicesScopedList
22846
+ include Google::Apis::Core::Hashable
22847
+
22848
+ # A list of NetworkEdgeSecurityServices contained in this scope.
22849
+ # Corresponds to the JSON property `networkEdgeSecurityServices`
22850
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityService>]
22851
+ attr_accessor :network_edge_security_services
22852
+
22853
+ # Informational warning which replaces the list of security policies when the
22854
+ # list is empty.
22855
+ # Corresponds to the JSON property `warning`
22856
+ # @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning]
22857
+ attr_accessor :warning
22858
+
22859
+ def initialize(**args)
22860
+ update!(**args)
22861
+ end
22862
+
22863
+ # Update properties of this object
22864
+ def update!(**args)
22865
+ @network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
22866
+ @warning = args[:warning] if args.key?(:warning)
22867
+ end
22868
+
22869
+ # Informational warning which replaces the list of security policies when the
22870
+ # list is empty.
22871
+ class Warning
22872
+ include Google::Apis::Core::Hashable
22873
+
22874
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
22875
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
22876
+ # Corresponds to the JSON property `code`
22877
+ # @return [String]
22878
+ attr_accessor :code
22879
+
22880
+ # [Output Only] Metadata about this warning in key: value format. For example:
22881
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
22882
+ # Corresponds to the JSON property `data`
22883
+ # @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
22884
+ attr_accessor :data
22885
+
22886
+ # [Output Only] A human-readable description of the warning code.
22887
+ # Corresponds to the JSON property `message`
22888
+ # @return [String]
22889
+ attr_accessor :message
22890
+
22891
+ def initialize(**args)
22892
+ update!(**args)
22893
+ end
22894
+
22895
+ # Update properties of this object
22896
+ def update!(**args)
22897
+ @code = args[:code] if args.key?(:code)
22898
+ @data = args[:data] if args.key?(:data)
22899
+ @message = args[:message] if args.key?(:message)
22900
+ end
22901
+
22902
+ #
22903
+ class Datum
22904
+ include Google::Apis::Core::Hashable
22905
+
22906
+ # [Output Only] A key that provides more detail on the warning being returned.
22907
+ # For example, for warnings where there are no results in a list request for a
22908
+ # particular zone, this key might be scope and the key value might be the zone
22909
+ # name. Other examples might be a key indicating a deprecated resource and a
22910
+ # suggested replacement, or a warning about invalid network settings (for
22911
+ # example, if an instance attempts to perform IP forwarding but is not enabled
22912
+ # for IP forwarding).
22913
+ # Corresponds to the JSON property `key`
22914
+ # @return [String]
22915
+ attr_accessor :key
22916
+
22917
+ # [Output Only] A warning data value corresponding to the key.
22918
+ # Corresponds to the JSON property `value`
22919
+ # @return [String]
22920
+ attr_accessor :value
22921
+
22922
+ def initialize(**args)
22923
+ update!(**args)
22924
+ end
22925
+
22926
+ # Update properties of this object
22927
+ def update!(**args)
22928
+ @key = args[:key] if args.key?(:key)
22929
+ @value = args[:value] if args.key?(:value)
22930
+ end
22931
+ end
22932
+ end
22933
+ end
22934
+
21956
22935
  # The network endpoint.
21957
22936
  class NetworkEndpoint
21958
22937
  include Google::Apis::Core::Hashable
@@ -23139,10 +24118,16 @@ module Google
23139
24118
  include Google::Apis::Core::Hashable
23140
24119
 
23141
24120
  # An IPv4 internal IP address to assign to the instance for this subinterface.
24121
+ # If specified, ip_allocation_mode should be set to ALLOCATE_IP.
23142
24122
  # Corresponds to the JSON property `ipAddress`
23143
24123
  # @return [String]
23144
24124
  attr_accessor :ip_address
23145
24125
 
24126
+ #
24127
+ # Corresponds to the JSON property `ipAllocationMode`
24128
+ # @return [String]
24129
+ attr_accessor :ip_allocation_mode
24130
+
23146
24131
  # If specified, this subnetwork must belong to the same network as that of the
23147
24132
  # network interface. If not specified the subnet of network interface will be
23148
24133
  # used. If you specify this property, you can specify the subnetwork as a full
@@ -23167,6 +24152,7 @@ module Google
23167
24152
  # Update properties of this object
23168
24153
  def update!(**args)
23169
24154
  @ip_address = args[:ip_address] if args.key?(:ip_address)
24155
+ @ip_allocation_mode = args[:ip_allocation_mode] if args.key?(:ip_allocation_mode)
23170
24156
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
23171
24157
  @vlan = args[:vlan] if args.key?(:vlan)
23172
24158
  end
@@ -23750,6 +24736,11 @@ module Google
23750
24736
  # @return [String]
23751
24737
  attr_accessor :self_link_with_id
23752
24738
 
24739
+ # The share setting for reservations and sole tenancy node groups.
24740
+ # Corresponds to the JSON property `shareSettings`
24741
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
24742
+ attr_accessor :share_settings
24743
+
23753
24744
  # [Output Only] The total number of nodes in the node group.
23754
24745
  # Corresponds to the JSON property `size`
23755
24746
  # @return [Fixnum]
@@ -23785,6 +24776,7 @@ module Google
23785
24776
  @node_template = args[:node_template] if args.key?(:node_template)
23786
24777
  @self_link = args[:self_link] if args.key?(:self_link)
23787
24778
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
24779
+ @share_settings = args[:share_settings] if args.key?(:share_settings)
23788
24780
  @size = args[:size] if args.key?(:size)
23789
24781
  @status = args[:status] if args.key?(:status)
23790
24782
  @zone = args[:zone] if args.key?(:zone)
@@ -29943,6 +30935,18 @@ module Google
29943
30935
  attr_accessor :skip_inapplicable_instances
29944
30936
  alias_method :skip_inapplicable_instances?, :skip_inapplicable_instances
29945
30937
 
30938
+ # Specifies whether the request should proceed despite the inclusion of
30939
+ # instances that are not members of the group or that are already in the process
30940
+ # of being deleted or abandoned. If this field is set to `false` and such an
30941
+ # instance is specified in the request, the operation fails. The operation
30942
+ # always fails if the request contains a malformed instance URL or a reference
30943
+ # to an instance that exists in a zone or region other than the group's zone or
30944
+ # region.
30945
+ # Corresponds to the JSON property `skipInstancesOnValidationError`
30946
+ # @return [Boolean]
30947
+ attr_accessor :skip_instances_on_validation_error
30948
+ alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
30949
+
29946
30950
  def initialize(**args)
29947
30951
  update!(**args)
29948
30952
  end
@@ -29951,6 +30955,7 @@ module Google
29951
30955
  def update!(**args)
29952
30956
  @instances = args[:instances] if args.key?(:instances)
29953
30957
  @skip_inapplicable_instances = args[:skip_inapplicable_instances] if args.key?(:skip_inapplicable_instances)
30958
+ @skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
29954
30959
  end
29955
30960
  end
29956
30961
 
@@ -30515,6 +31520,105 @@ module Google
30515
31520
  end
30516
31521
  end
30517
31522
 
31523
+ # A transient resource used in compute.regionInstances.recommendLocations. This
31524
+ # resource is not saved anywhere and used only to process the request.
31525
+ class RegionInstancesRecommendLocationsResource
31526
+ include Google::Apis::Core::Hashable
31527
+
31528
+ # Specification of named homogeneous instance sets to find location for.
31529
+ # Keys of this map are arbitrary (but must be different), defined by the caller
31530
+ # used only in the response. They must follow RFC 1035 name standard.
31531
+ # Specifically, they must be 1-63 characters long and match the regular
31532
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
31533
+ # be a lowercase letter, and all following characters must be a dash, lowercase
31534
+ # letter, or digit, except the last character, which cannot be a dash.
31535
+ # Values are trimmed BulkInsertInstanceResource messages, without the following
31536
+ # fields:
31537
+ # - min_count
31538
+ # - predefined_name
31539
+ # - name_pattern
31540
+ # - per_instance_properties
31541
+ # - instance
31542
+ # - secure_tag
31543
+ # - location_policy
31544
+ # Corresponds to the JSON property `instanceSpecs`
31545
+ # @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResource>]
31546
+ attr_accessor :instance_specs
31547
+
31548
+ # Configuration for location policy among multiple possible locations (e.g.
31549
+ # preferences for zone selection among zones in a single region).
31550
+ # Corresponds to the JSON property `locationPolicy`
31551
+ # @return [Google::Apis::ComputeAlpha::LocationPolicy]
31552
+ attr_accessor :location_policy
31553
+
31554
+ def initialize(**args)
31555
+ update!(**args)
31556
+ end
31557
+
31558
+ # Update properties of this object
31559
+ def update!(**args)
31560
+ @instance_specs = args[:instance_specs] if args.key?(:instance_specs)
31561
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
31562
+ end
31563
+ end
31564
+
31565
+ # Response for for compute.regionInstances.recommendLocations.
31566
+ class RegionInstancesRecommendLocationsResponse
31567
+ include Google::Apis::Core::Hashable
31568
+
31569
+ # Instance count recommendations, keys are instance spec names.
31570
+ # Corresponds to the JSON property `recommendedLocations`
31571
+ # @return [Hash<String,Google::Apis::ComputeAlpha::RegionInstancesRecommendLocationsResponseRecommendationsForInstanceSpecs>]
31572
+ attr_accessor :recommended_locations
31573
+
31574
+ def initialize(**args)
31575
+ update!(**args)
31576
+ end
31577
+
31578
+ # Update properties of this object
31579
+ def update!(**args)
31580
+ @recommended_locations = args[:recommended_locations] if args.key?(:recommended_locations)
31581
+ end
31582
+ end
31583
+
31584
+ # Instance count recommendation for a single zone.
31585
+ class RegionInstancesRecommendLocationsResponseRecommendation
31586
+ include Google::Apis::Core::Hashable
31587
+
31588
+ # Count of instances recommended.
31589
+ # Corresponds to the JSON property `instanceCount`
31590
+ # @return [Fixnum]
31591
+ attr_accessor :instance_count
31592
+
31593
+ def initialize(**args)
31594
+ update!(**args)
31595
+ end
31596
+
31597
+ # Update properties of this object
31598
+ def update!(**args)
31599
+ @instance_count = args[:instance_count] if args.key?(:instance_count)
31600
+ end
31601
+ end
31602
+
31603
+ # Instance count recommendations for a single instance specification.
31604
+ class RegionInstancesRecommendLocationsResponseRecommendationsForInstanceSpecs
31605
+ include Google::Apis::Core::Hashable
31606
+
31607
+ # Instance count recommendations, keys are zone names.
31608
+ # Corresponds to the JSON property `locations`
31609
+ # @return [Hash<String,Google::Apis::ComputeAlpha::RegionInstancesRecommendLocationsResponseRecommendation>]
31610
+ attr_accessor :locations
31611
+
31612
+ def initialize(**args)
31613
+ update!(**args)
31614
+ end
31615
+
31616
+ # Update properties of this object
31617
+ def update!(**args)
31618
+ @locations = args[:locations] if args.key?(:locations)
31619
+ end
31620
+ end
31621
+
30518
31622
  #
30519
31623
  class RegionInstantSnapshotsExportRequest
30520
31624
  include Google::Apis::Core::Hashable
@@ -30885,9 +31989,9 @@ module Google
30885
31989
  # @return [String]
30886
31990
  attr_accessor :self_link_with_id
30887
31991
 
30888
- # Share-settings for shared-reservation
31992
+ # The share setting for reservations and sole tenancy node groups.
30889
31993
  # Corresponds to the JSON property `shareSettings`
30890
- # @return [Google::Apis::ComputeAlpha::AllocationShareSettings]
31994
+ # @return [Google::Apis::ComputeAlpha::ShareSettings]
30891
31995
  attr_accessor :share_settings
30892
31996
 
30893
31997
  # This reservation type allows to pre allocate specific instance configuration.
@@ -30955,7 +32059,10 @@ module Google
30955
32059
  # @return [String]
30956
32060
  attr_accessor :key
30957
32061
 
30958
- # Corresponds to the label values of a reservation resource.
32062
+ # Corresponds to the label values of a reservation resource. This can be either
32063
+ # a name to a reservation in the same project or "projects/different-project/
32064
+ # reservations/some-reservation-name" to target a shared reservation in the same
32065
+ # zone but in a different project.
30959
32066
  # Corresponds to the JSON property `values`
30960
32067
  # @return [Array<String>]
30961
32068
  attr_accessor :values
@@ -32352,6 +33459,11 @@ module Google
32352
33459
  # @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
32353
33460
  attr_accessor :scheduling
32354
33461
 
33462
+ #
33463
+ # Corresponds to the JSON property `upcomingMaintenance`
33464
+ # @return [Google::Apis::ComputeAlpha::ResourceStatusUpcomingMaintenance]
33465
+ attr_accessor :upcoming_maintenance
33466
+
32355
33467
  def initialize(**args)
32356
33468
  update!(**args)
32357
33469
  end
@@ -32359,6 +33471,7 @@ module Google
32359
33471
  # Update properties of this object
32360
33472
  def update!(**args)
32361
33473
  @scheduling = args[:scheduling] if args.key?(:scheduling)
33474
+ @upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
32362
33475
  end
32363
33476
  end
32364
33477
 
@@ -32385,6 +33498,27 @@ module Google
32385
33498
  end
32386
33499
  end
32387
33500
 
33501
+ #
33502
+ class ResourceStatusUpcomingMaintenance
33503
+ include Google::Apis::Core::Hashable
33504
+
33505
+ # Indicates if the maintenance can be customer triggered. See go/sf-ctm-design
33506
+ # for more details
33507
+ # Corresponds to the JSON property `canReschedule`
33508
+ # @return [Boolean]
33509
+ attr_accessor :can_reschedule
33510
+ alias_method :can_reschedule?, :can_reschedule
33511
+
33512
+ def initialize(**args)
33513
+ update!(**args)
33514
+ end
33515
+
33516
+ # Update properties of this object
33517
+ def update!(**args)
33518
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
33519
+ end
33520
+ end
33521
+
32388
33522
  # A rollout policy configuration.
32389
33523
  class RolloutPolicy
32390
33524
  include Google::Apis::Core::Hashable
@@ -32804,9 +33938,9 @@ module Google
32804
33938
  # @return [String]
32805
33939
  attr_accessor :description
32806
33940
 
32807
- # Field to indicate if a router is dedicated to use with encrypted Interconnect
32808
- # Attachment (IPsec-encrypted Cloud Interconnect feature).
32809
- # Not currently available in all Interconnect locations.
33941
+ # Indicates if a router is dedicated for use with encrypted VLAN attachments (
33942
+ # interconnectAttachments).
33943
+ # Not currently available publicly.
32810
33944
  # Corresponds to the JSON property `encryptedInterconnectRouter`
32811
33945
  # @return [Boolean]
32812
33946
  attr_accessor :encrypted_interconnect_router
@@ -33073,7 +34207,6 @@ module Google
33073
34207
 
33074
34208
  # The interval in seconds between BGP keepalive messages that are sent to the
33075
34209
  # peer.
33076
- # Not currently available publicly.
33077
34210
  # Hold time is three times the interval at which keepalive messages are sent,
33078
34211
  # and the hold time is the maximum number of seconds allowed to elapse between
33079
34212
  # successive keepalive messages that BGP receives from a peer.
@@ -33142,7 +34275,6 @@ module Google
33142
34275
  attr_accessor :bfd
33143
34276
 
33144
34277
  # The status of the BGP peer connection.
33145
- # Not currently available publicly.
33146
34278
  # If set to FALSE, any active session with the peer is terminated and all
33147
34279
  # associated routing information is removed. If set to TRUE, the peer connection
33148
34280
  # can be established with routing information. The default is TRUE.
@@ -33402,7 +34534,7 @@ module Google
33402
34534
  # @return [String]
33403
34535
  attr_accessor :redundant_interface
33404
34536
 
33405
- # The URL of the subnetwork resource that this interface belongs to, which must
34537
+ # The URI of the subnetwork resource that this interface belongs to, which must
33406
34538
  # be in the same region as the Cloud Router. When you establish a BGP session to
33407
34539
  # a VM instance using this interface, the VM instance must belong to the same
33408
34540
  # subnetwork as the subnetwork specified here.
@@ -34533,7 +35665,7 @@ module Google
34533
35665
  end
34534
35666
  end
34535
35667
 
34536
- # Sets the scheduling options for an Instance. NextID: 20
35668
+ # Sets the scheduling options for an Instance. NextID: 21
34537
35669
  class Scheduling
34538
35670
  include Google::Apis::Core::Hashable
34539
35671
 
@@ -34557,6 +35689,13 @@ module Google
34557
35689
  # @return [Fixnum]
34558
35690
  attr_accessor :availability_domain
34559
35691
 
35692
+ # Specify the time in seconds for host error detection, the value must be within
35693
+ # the range of [90, 330] with the increment of 30, if unset, the default
35694
+ # behavior of host error recovery will be used.
35695
+ # Corresponds to the JSON property `hostErrorTimeoutSeconds`
35696
+ # @return [Fixnum]
35697
+ attr_accessor :host_error_timeout_seconds
35698
+
34560
35699
  # Defines whether the instance is tolerant of higher cpu latency. This can only
34561
35700
  # be set during instance creation, or when the instance is not currently running.
34562
35701
  # It must not be set if the preemptible option is also set.
@@ -34620,6 +35759,7 @@ module Google
34620
35759
  def update!(**args)
34621
35760
  @automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
34622
35761
  @availability_domain = args[:availability_domain] if args.key?(:availability_domain)
35762
+ @host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
34623
35763
  @latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
34624
35764
  @location_hint = args[:location_hint] if args.key?(:location_hint)
34625
35765
  @maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
@@ -34711,6 +35851,136 @@ module Google
34711
35851
  end
34712
35852
  end
34713
35853
 
35854
+ #
35855
+ class SecurityPoliciesAggregatedList
35856
+ include Google::Apis::Core::Hashable
35857
+
35858
+ #
35859
+ # Corresponds to the JSON property `etag`
35860
+ # @return [String]
35861
+ attr_accessor :etag
35862
+
35863
+ # [Output Only] Unique identifier for the resource; defined by the server.
35864
+ # Corresponds to the JSON property `id`
35865
+ # @return [String]
35866
+ attr_accessor :id
35867
+
35868
+ # A list of SecurityPoliciesScopedList resources.
35869
+ # Corresponds to the JSON property `items`
35870
+ # @return [Hash<String,Google::Apis::ComputeAlpha::SecurityPoliciesScopedList>]
35871
+ attr_accessor :items
35872
+
35873
+ # [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
35874
+ # for lists of Security Policies.
35875
+ # Corresponds to the JSON property `kind`
35876
+ # @return [String]
35877
+ attr_accessor :kind
35878
+
35879
+ # [Output Only] This token allows you to get the next page of results for list
35880
+ # requests. If the number of results is larger than maxResults, use the
35881
+ # nextPageToken as a value for the query parameter pageToken in the next list
35882
+ # request. Subsequent list requests will have their own nextPageToken to
35883
+ # continue paging through the results.
35884
+ # Corresponds to the JSON property `nextPageToken`
35885
+ # @return [String]
35886
+ attr_accessor :next_page_token
35887
+
35888
+ # [Output Only] Server-defined URL for this resource.
35889
+ # Corresponds to the JSON property `selfLink`
35890
+ # @return [String]
35891
+ attr_accessor :self_link
35892
+
35893
+ # [Output Only] Unreachable resources.
35894
+ # Corresponds to the JSON property `unreachables`
35895
+ # @return [Array<String>]
35896
+ attr_accessor :unreachables
35897
+
35898
+ # [Output Only] Informational warning message.
35899
+ # Corresponds to the JSON property `warning`
35900
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning]
35901
+ attr_accessor :warning
35902
+
35903
+ def initialize(**args)
35904
+ update!(**args)
35905
+ end
35906
+
35907
+ # Update properties of this object
35908
+ def update!(**args)
35909
+ @etag = args[:etag] if args.key?(:etag)
35910
+ @id = args[:id] if args.key?(:id)
35911
+ @items = args[:items] if args.key?(:items)
35912
+ @kind = args[:kind] if args.key?(:kind)
35913
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
35914
+ @self_link = args[:self_link] if args.key?(:self_link)
35915
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35916
+ @warning = args[:warning] if args.key?(:warning)
35917
+ end
35918
+
35919
+ # [Output Only] Informational warning message.
35920
+ class Warning
35921
+ include Google::Apis::Core::Hashable
35922
+
35923
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
35924
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
35925
+ # Corresponds to the JSON property `code`
35926
+ # @return [String]
35927
+ attr_accessor :code
35928
+
35929
+ # [Output Only] Metadata about this warning in key: value format. For example:
35930
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
35931
+ # Corresponds to the JSON property `data`
35932
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning::Datum>]
35933
+ attr_accessor :data
35934
+
35935
+ # [Output Only] A human-readable description of the warning code.
35936
+ # Corresponds to the JSON property `message`
35937
+ # @return [String]
35938
+ attr_accessor :message
35939
+
35940
+ def initialize(**args)
35941
+ update!(**args)
35942
+ end
35943
+
35944
+ # Update properties of this object
35945
+ def update!(**args)
35946
+ @code = args[:code] if args.key?(:code)
35947
+ @data = args[:data] if args.key?(:data)
35948
+ @message = args[:message] if args.key?(:message)
35949
+ end
35950
+
35951
+ #
35952
+ class Datum
35953
+ include Google::Apis::Core::Hashable
35954
+
35955
+ # [Output Only] A key that provides more detail on the warning being returned.
35956
+ # For example, for warnings where there are no results in a list request for a
35957
+ # particular zone, this key might be scope and the key value might be the zone
35958
+ # name. Other examples might be a key indicating a deprecated resource and a
35959
+ # suggested replacement, or a warning about invalid network settings (for
35960
+ # example, if an instance attempts to perform IP forwarding but is not enabled
35961
+ # for IP forwarding).
35962
+ # Corresponds to the JSON property `key`
35963
+ # @return [String]
35964
+ attr_accessor :key
35965
+
35966
+ # [Output Only] A warning data value corresponding to the key.
35967
+ # Corresponds to the JSON property `value`
35968
+ # @return [String]
35969
+ attr_accessor :value
35970
+
35971
+ def initialize(**args)
35972
+ update!(**args)
35973
+ end
35974
+
35975
+ # Update properties of this object
35976
+ def update!(**args)
35977
+ @key = args[:key] if args.key?(:key)
35978
+ @value = args[:value] if args.key?(:value)
35979
+ end
35980
+ end
35981
+ end
35982
+ end
35983
+
34714
35984
  #
34715
35985
  class SecurityPoliciesListPreconfiguredExpressionSetsResponse
34716
35986
  include Google::Apis::Core::Hashable
@@ -34730,6 +36000,97 @@ module Google
34730
36000
  end
34731
36001
  end
34732
36002
 
36003
+ #
36004
+ class SecurityPoliciesScopedList
36005
+ include Google::Apis::Core::Hashable
36006
+
36007
+ # A list of SecurityPolicies contained in this scope.
36008
+ # Corresponds to the JSON property `securityPolicies`
36009
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
36010
+ attr_accessor :security_policies
36011
+
36012
+ # Informational warning which replaces the list of security policies when the
36013
+ # list is empty.
36014
+ # Corresponds to the JSON property `warning`
36015
+ # @return [Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning]
36016
+ attr_accessor :warning
36017
+
36018
+ def initialize(**args)
36019
+ update!(**args)
36020
+ end
36021
+
36022
+ # Update properties of this object
36023
+ def update!(**args)
36024
+ @security_policies = args[:security_policies] if args.key?(:security_policies)
36025
+ @warning = args[:warning] if args.key?(:warning)
36026
+ end
36027
+
36028
+ # Informational warning which replaces the list of security policies when the
36029
+ # list is empty.
36030
+ class Warning
36031
+ include Google::Apis::Core::Hashable
36032
+
36033
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
36034
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36035
+ # Corresponds to the JSON property `code`
36036
+ # @return [String]
36037
+ attr_accessor :code
36038
+
36039
+ # [Output Only] Metadata about this warning in key: value format. For example:
36040
+ # "data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36041
+ # Corresponds to the JSON property `data`
36042
+ # @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning::Datum>]
36043
+ attr_accessor :data
36044
+
36045
+ # [Output Only] A human-readable description of the warning code.
36046
+ # Corresponds to the JSON property `message`
36047
+ # @return [String]
36048
+ attr_accessor :message
36049
+
36050
+ def initialize(**args)
36051
+ update!(**args)
36052
+ end
36053
+
36054
+ # Update properties of this object
36055
+ def update!(**args)
36056
+ @code = args[:code] if args.key?(:code)
36057
+ @data = args[:data] if args.key?(:data)
36058
+ @message = args[:message] if args.key?(:message)
36059
+ end
36060
+
36061
+ #
36062
+ class Datum
36063
+ include Google::Apis::Core::Hashable
36064
+
36065
+ # [Output Only] A key that provides more detail on the warning being returned.
36066
+ # For example, for warnings where there are no results in a list request for a
36067
+ # particular zone, this key might be scope and the key value might be the zone
36068
+ # name. Other examples might be a key indicating a deprecated resource and a
36069
+ # suggested replacement, or a warning about invalid network settings (for
36070
+ # example, if an instance attempts to perform IP forwarding but is not enabled
36071
+ # for IP forwarding).
36072
+ # Corresponds to the JSON property `key`
36073
+ # @return [String]
36074
+ attr_accessor :key
36075
+
36076
+ # [Output Only] A warning data value corresponding to the key.
36077
+ # Corresponds to the JSON property `value`
36078
+ # @return [String]
36079
+ attr_accessor :value
36080
+
36081
+ def initialize(**args)
36082
+ update!(**args)
36083
+ end
36084
+
36085
+ # Update properties of this object
36086
+ def update!(**args)
36087
+ @key = args[:key] if args.key?(:key)
36088
+ @value = args[:value] if args.key?(:value)
36089
+ end
36090
+ end
36091
+ end
36092
+ end
36093
+
34733
36094
  #
34734
36095
  class SecurityPoliciesWafConfig
34735
36096
  include Google::Apis::Core::Hashable
@@ -34761,6 +36122,11 @@ module Google
34761
36122
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdaptiveProtectionConfig]
34762
36123
  attr_accessor :adaptive_protection_config
34763
36124
 
36125
+ #
36126
+ # Corresponds to the JSON property `advancedOptionsConfig`
36127
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyAdvancedOptionsConfig]
36128
+ attr_accessor :advanced_options_config
36129
+
34764
36130
  # A list of associations that belong to this policy.
34765
36131
  # Corresponds to the JSON property `associations`
34766
36132
  # @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
@@ -34776,6 +36142,11 @@ module Google
34776
36142
  # @return [String]
34777
36143
  attr_accessor :creation_timestamp
34778
36144
 
36145
+ #
36146
+ # Corresponds to the JSON property `ddosProtectionConfig`
36147
+ # @return [Google::Apis::ComputeAlpha::SecurityPolicyDdosProtectionConfig]
36148
+ attr_accessor :ddos_protection_config
36149
+
34779
36150
  # An optional description of this resource. Provide this property when you
34780
36151
  # create the resource.
34781
36152
  # Corresponds to the JSON property `description`
@@ -34851,6 +36222,12 @@ module Google
34851
36222
  # @return [String]
34852
36223
  attr_accessor :parent
34853
36224
 
36225
+ # [Output Only] URL of the region where the regional security policy resides.
36226
+ # This field is not applicable to global security policies.
36227
+ # Corresponds to the JSON property `region`
36228
+ # @return [String]
36229
+ attr_accessor :region
36230
+
34854
36231
  # [Output Only] Total count of all security policy rule tuples. A security
34855
36232
  # policy can not exceed a set number of tuples.
34856
36233
  # Corresponds to the JSON property `ruleTupleCount`
@@ -34888,9 +36265,11 @@ module Google
34888
36265
  # Update properties of this object
34889
36266
  def update!(**args)
34890
36267
  @adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
36268
+ @advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
34891
36269
  @associations = args[:associations] if args.key?(:associations)
34892
36270
  @cloud_armor_config = args[:cloud_armor_config] if args.key?(:cloud_armor_config)
34893
36271
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36272
+ @ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
34894
36273
  @description = args[:description] if args.key?(:description)
34895
36274
  @display_name = args[:display_name] if args.key?(:display_name)
34896
36275
  @fingerprint = args[:fingerprint] if args.key?(:fingerprint)
@@ -34900,6 +36279,7 @@ module Google
34900
36279
  @labels = args[:labels] if args.key?(:labels)
34901
36280
  @name = args[:name] if args.key?(:name)
34902
36281
  @parent = args[:parent] if args.key?(:parent)
36282
+ @region = args[:region] if args.key?(:region)
34903
36283
  @rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
34904
36284
  @rules = args[:rules] if args.key?(:rules)
34905
36285
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -34954,6 +36334,31 @@ module Google
34954
36334
  end
34955
36335
  end
34956
36336
 
36337
+ #
36338
+ class SecurityPolicyAdvancedOptionsConfig
36339
+ include Google::Apis::Core::Hashable
36340
+
36341
+ #
36342
+ # Corresponds to the JSON property `jsonParsing`
36343
+ # @return [String]
36344
+ attr_accessor :json_parsing
36345
+
36346
+ #
36347
+ # Corresponds to the JSON property `logLevel`
36348
+ # @return [String]
36349
+ attr_accessor :log_level
36350
+
36351
+ def initialize(**args)
36352
+ update!(**args)
36353
+ end
36354
+
36355
+ # Update properties of this object
36356
+ def update!(**args)
36357
+ @json_parsing = args[:json_parsing] if args.key?(:json_parsing)
36358
+ @log_level = args[:log_level] if args.key?(:log_level)
36359
+ end
36360
+ end
36361
+
34957
36362
  #
34958
36363
  class SecurityPolicyAssociation
34959
36364
  include Google::Apis::Core::Hashable
@@ -35011,10 +36416,34 @@ module Google
35011
36416
  end
35012
36417
  end
35013
36418
 
36419
+ #
36420
+ class SecurityPolicyDdosProtectionConfig
36421
+ include Google::Apis::Core::Hashable
36422
+
36423
+ #
36424
+ # Corresponds to the JSON property `ddosProtection`
36425
+ # @return [String]
36426
+ attr_accessor :ddos_protection
36427
+
36428
+ def initialize(**args)
36429
+ update!(**args)
36430
+ end
36431
+
36432
+ # Update properties of this object
36433
+ def update!(**args)
36434
+ @ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
36435
+ end
36436
+ end
36437
+
35014
36438
  #
35015
36439
  class SecurityPolicyList
35016
36440
  include Google::Apis::Core::Hashable
35017
36441
 
36442
+ #
36443
+ # Corresponds to the JSON property `etag`
36444
+ # @return [String]
36445
+ attr_accessor :etag
36446
+
35018
36447
  # [Output Only] Unique identifier for the resource; defined by the server.
35019
36448
  # Corresponds to the JSON property `id`
35020
36449
  # @return [String]
@@ -35040,6 +36469,11 @@ module Google
35040
36469
  # @return [String]
35041
36470
  attr_accessor :next_page_token
35042
36471
 
36472
+ # [Output Only] Unreachable resources.
36473
+ # Corresponds to the JSON property `unreachables`
36474
+ # @return [Array<String>]
36475
+ attr_accessor :unreachables
36476
+
35043
36477
  # [Output Only] Informational warning message.
35044
36478
  # Corresponds to the JSON property `warning`
35045
36479
  # @return [Google::Apis::ComputeAlpha::SecurityPolicyList::Warning]
@@ -35051,10 +36485,12 @@ module Google
35051
36485
 
35052
36486
  # Update properties of this object
35053
36487
  def update!(**args)
36488
+ @etag = args[:etag] if args.key?(:etag)
35054
36489
  @id = args[:id] if args.key?(:id)
35055
36490
  @items = args[:items] if args.key?(:items)
35056
36491
  @kind = args[:kind] if args.key?(:kind)
35057
36492
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36493
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
35058
36494
  @warning = args[:warning] if args.key?(:warning)
35059
36495
  end
35060
36496
 
@@ -36252,9 +37688,9 @@ module Google
36252
37688
  include Google::Apis::Core::Hashable
36253
37689
 
36254
37690
  # A list of ServiceAttachments contained in this scope.
36255
- # Corresponds to the JSON property `resources`
37691
+ # Corresponds to the JSON property `serviceAttachments`
36256
37692
  # @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
36257
- attr_accessor :resources
37693
+ attr_accessor :service_attachments
36258
37694
 
36259
37695
  # Informational warning which replaces the list of service attachments when the
36260
37696
  # list is empty.
@@ -36268,7 +37704,7 @@ module Google
36268
37704
 
36269
37705
  # Update properties of this object
36270
37706
  def update!(**args)
36271
- @resources = args[:resources] if args.key?(:resources)
37707
+ @service_attachments = args[:service_attachments] if args.key?(:service_attachments)
36272
37708
  @warning = args[:warning] if args.key?(:warning)
36273
37709
  end
36274
37710
 
@@ -36338,6 +37774,32 @@ module Google
36338
37774
  end
36339
37775
  end
36340
37776
 
37777
+ # The share setting for reservations and sole tenancy node groups.
37778
+ class ShareSettings
37779
+ include Google::Apis::Core::Hashable
37780
+
37781
+ # A List of Project names to specify consumer projects for this shared-
37782
+ # reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
37783
+ # Corresponds to the JSON property `projects`
37784
+ # @return [Array<String>]
37785
+ attr_accessor :projects
37786
+
37787
+ # Type of sharing for this shared-reservation
37788
+ # Corresponds to the JSON property `shareType`
37789
+ # @return [String]
37790
+ attr_accessor :share_type
37791
+
37792
+ def initialize(**args)
37793
+ update!(**args)
37794
+ end
37795
+
37796
+ # Update properties of this object
37797
+ def update!(**args)
37798
+ @projects = args[:projects] if args.key?(:projects)
37799
+ @share_type = args[:share_type] if args.key?(:share_type)
37800
+ end
37801
+ end
37802
+
36341
37803
  # A set of Shielded Instance options.
36342
37804
  class ShieldedInstanceConfig
36343
37805
  include Google::Apis::Core::Hashable
@@ -37069,7 +38531,7 @@ module Google
37069
38531
  # @return [String]
37070
38532
  attr_accessor :post_key_revocation_action_type
37071
38533
 
37072
- # Sets the scheduling options for an Instance. NextID: 20
38534
+ # Sets the scheduling options for an Instance. NextID: 21
37073
38535
  # Corresponds to the JSON property `scheduling`
37074
38536
  # @return [Google::Apis::ComputeAlpha::Scheduling]
37075
38537
  attr_accessor :scheduling
@@ -38288,6 +39750,11 @@ module Google
38288
39750
  # @return [String]
38289
39751
  attr_accessor :region
38290
39752
 
39753
+ # The URL of the reserved internal range.
39754
+ # Corresponds to the JSON property `reservedInternalRange`
39755
+ # @return [String]
39756
+ attr_accessor :reserved_internal_range
39757
+
38291
39758
  # The role of subnetwork. Currently, this field is only used when purpose =
38292
39759
  # INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
38293
39760
  # ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
@@ -38372,6 +39839,7 @@ module Google
38372
39839
  @private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
38373
39840
  @purpose = args[:purpose] if args.key?(:purpose)
38374
39841
  @region = args[:region] if args.key?(:region)
39842
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
38375
39843
  @role = args[:role] if args.key?(:role)
38376
39844
  @secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
38377
39845
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -38707,6 +40175,11 @@ module Google
38707
40175
  # @return [String]
38708
40176
  attr_accessor :range_name
38709
40177
 
40178
+ # The URL of the reserved internal range.
40179
+ # Corresponds to the JSON property `reservedInternalRange`
40180
+ # @return [String]
40181
+ attr_accessor :reserved_internal_range
40182
+
38710
40183
  def initialize(**args)
38711
40184
  update!(**args)
38712
40185
  end
@@ -38715,6 +40188,7 @@ module Google
38715
40188
  def update!(**args)
38716
40189
  @ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
38717
40190
  @range_name = args[:range_name] if args.key?(:range_name)
40191
+ @reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
38718
40192
  end
38719
40193
  end
38720
40194
 
@@ -38850,7 +40324,8 @@ module Google
38850
40324
  end
38851
40325
 
38852
40326
  # Subsetting configuration for this BackendService. Currently this is applicable
38853
- # only for Internal TCP/UDP load balancing and Internal HTTP(S) load balancing.
40327
+ # only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
40328
+ # Traffic Director.
38854
40329
  class Subsetting
38855
40330
  include Google::Apis::Core::Hashable
38856
40331
 
@@ -39781,7 +41256,8 @@ module Google
39781
41256
  include Google::Apis::Core::Hashable
39782
41257
 
39783
41258
  # New set of SslCertificate resources to associate with this TargetHttpsProxy
39784
- # resource. Currently exactly one SslCertificate resource must be specified.
41259
+ # resource. At least one SSL certificate must be specified. Currently, you may
41260
+ # specify up to 15 SSL certificates.
39785
41261
  # Corresponds to the JSON property `sslCertificates`
39786
41262
  # @return [Array<String>]
39787
41263
  attr_accessor :ssl_certificates
@@ -39953,6 +41429,8 @@ module Google
39953
41429
  # URLs to SslCertificate resources that are used to authenticate connections
39954
41430
  # between users and the load balancer. At least one SSL certificate must be
39955
41431
  # specified. Currently, you may specify up to 15 SSL certificates.
41432
+ # sslCertificates do not apply when the load balancing scheme is set to
41433
+ # INTERNAL_SELF_MANAGED.
39956
41434
  # Corresponds to the JSON property `sslCertificates`
39957
41435
  # @return [Array<String>]
39958
41436
  attr_accessor :ssl_certificates
@@ -41337,7 +42815,8 @@ module Google
41337
42815
  include Google::Apis::Core::Hashable
41338
42816
 
41339
42817
  # New set of URLs to SslCertificate resources to associate with this
41340
- # TargetSslProxy. Currently exactly one ssl certificate must be specified.
42818
+ # TargetSslProxy. At least one SSL certificate must be specified. Currently, you
42819
+ # may specify up to 15 SSL certificates.
41341
42820
  # Corresponds to the JSON property `sslCertificates`
41342
42821
  # @return [Array<String>]
41343
42822
  attr_accessor :ssl_certificates
@@ -41418,7 +42897,8 @@ module Google
41418
42897
 
41419
42898
  # URLs to SslCertificate resources that are used to authenticate connections to
41420
42899
  # Backends. At least one SSL certificate must be specified. Currently, you may
41421
- # specify up to 15 SSL certificates.
42900
+ # specify up to 15 SSL certificates. sslCertificates do not apply when the load
42901
+ # balancing scheme is set to INTERNAL_SELF_MANAGED.
41422
42902
  # Corresponds to the JSON property `sslCertificates`
41423
42903
  # @return [Array<String>]
41424
42904
  attr_accessor :ssl_certificates
@@ -43468,7 +44948,9 @@ module Google
43468
44948
  # requests. If the number of results is larger than maxResults, use the
43469
44949
  # nextPageToken as a value for the query parameter pageToken in the next list
43470
44950
  # request. Subsequent list requests will have their own nextPageToken to
43471
- # continue paging through the results.
44951
+ # continue paging through the results. In special cases listUsable may return 0
44952
+ # subnetworks and nextPageToken which still should be used to get the next page
44953
+ # of results.
43472
44954
  # Corresponds to the JSON property `nextPageToken`
43473
44955
  # @return [String]
43474
44956
  attr_accessor :next_page_token
@@ -43928,7 +45410,7 @@ module Google
43928
45410
  # @return [String]
43929
45411
  attr_accessor :self_link
43930
45412
 
43931
- # A list of interfaces on this VPN gateway.
45413
+ # The list of VPN interfaces associated with this VPN gateway.
43932
45414
  # Corresponds to the JSON property `vpnInterfaces`
43933
45415
  # @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
43934
45416
  attr_accessor :vpn_interfaces
@@ -44321,21 +45803,30 @@ module Google
44321
45803
  class VpnGatewayVpnGatewayInterface
44322
45804
  include Google::Apis::Core::Hashable
44323
45805
 
44324
- # The numeric ID of this VPN gateway interface.
45806
+ # [Output Only] Numeric identifier for this VPN interface associated with the
45807
+ # VPN gateway.
44325
45808
  # Corresponds to the JSON property `id`
44326
45809
  # @return [Fixnum]
44327
45810
  attr_accessor :id
44328
45811
 
44329
- # URL of the interconnect attachment resource. When the value of this field is
44330
- # present, the VPN Gateway will be used for IPsec-encrypted Cloud Interconnect;
44331
- # all Egress or Ingress traffic for this VPN Gateway interface will go through
44332
- # the specified interconnect attachment resource.
44333
- # Not currently available in all Interconnect locations.
45812
+ # URL of the VLAN attachment (interconnectAttachment) resource for this VPN
45813
+ # gateway interface. When the value of this field is present, the VPN gateway is
45814
+ # used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
45815
+ # this VPN gateway interface goes through the specified VLAN attachment resource.
45816
+ # Not currently available publicly.
44334
45817
  # Corresponds to the JSON property `interconnectAttachment`
44335
45818
  # @return [String]
44336
45819
  attr_accessor :interconnect_attachment
44337
45820
 
44338
- # [Output Only] The external IP address for this VPN gateway interface.
45821
+ # [Output Only] IP address for this VPN interface associated with the VPN
45822
+ # gateway. The IP address could be either a regional external IP address or a
45823
+ # regional internal IP address. The two IP addresses for a VPN gateway must be
45824
+ # all regional external or regional internal IP addresses. There cannot be a mix
45825
+ # of regional external IP addresses and regional internal IP addresses. For
45826
+ # IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
45827
+ # either be regional internal IP addresses or regional external IP addresses.
45828
+ # For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
45829
+ # address must be a regional external IP address.
44339
45830
  # Corresponds to the JSON property `ipAddress`
44340
45831
  # @return [String]
44341
45832
  attr_accessor :ip_address