google-apis-compute_alpha 0.9.0 → 0.14.0

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