google-apis-compute_beta 0.108.0 → 0.110.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -567,8 +567,7 @@ module Google
567
567
  # @return [String]
568
568
  attr_accessor :public_ptr_domain_name
569
569
 
570
- # [Output Only] The resource URL for the security policy associated with this
571
- # access config.
570
+ # The resource URL for the security policy associated with this access config.
572
571
  # Corresponds to the JSON property `securityPolicy`
573
572
  # @return [String]
574
573
  attr_accessor :security_policy
@@ -1870,7 +1869,9 @@ module Google
1870
1869
  # disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage
1871
1870
  # or disks.source is required. To create a disk with a snapshot that you created,
1872
1871
  # specify the snapshot name in the following format: global/snapshots/my-backup
1873
- # If the source snapshot is deleted later, this field will not be set.
1872
+ # If the source snapshot is deleted later, this field will not be set. Note: You
1873
+ # cannot create VMs in bulk using a snapshot as the source. Use an image instead
1874
+ # when you create VMs using the bulk insert method.
1874
1875
  # Corresponds to the JSON property `sourceSnapshot`
1875
1876
  # @return [String]
1876
1877
  attr_accessor :source_snapshot
@@ -3502,7 +3503,7 @@ module Google
3502
3503
  # @return [Float]
3503
3504
  attr_accessor :max_utilization
3504
3505
 
3505
- # Name of a custom utilization signal. The name must be 1-24 characters long and
3506
+ # Name of a custom utilization signal. The name must be 1-64 characters long and
3506
3507
  # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
3507
3508
  # first character must be a lowercase letter, and all following characters must
3508
3509
  # be a dash, period, underscore, lowercase letter, or digit, except the last
@@ -3617,6 +3618,11 @@ module Google
3617
3618
  # @return [String]
3618
3619
  attr_accessor :description
3619
3620
 
3621
+ # Defines a dynamic forwarding configuration for the backend service.
3622
+ # Corresponds to the JSON property `dynamicForwarding`
3623
+ # @return [Google::Apis::ComputeBeta::BackendServiceDynamicForwarding]
3624
+ attr_accessor :dynamic_forwarding
3625
+
3620
3626
  # [Output Only] The resource URL for the edge security policy associated with
3621
3627
  # this backend service.
3622
3628
  # Corresponds to the JSON property `edgeSecurityPolicy`
@@ -3815,6 +3821,12 @@ module Google
3815
3821
  # @return [String]
3816
3822
  attr_accessor :network
3817
3823
 
3824
+ # Configures traffic steering properties of internal passthrough Network Load
3825
+ # Balancers.
3826
+ # Corresponds to the JSON property `networkPassThroughLbTrafficPolicy`
3827
+ # @return [Google::Apis::ComputeBeta::BackendServiceNetworkPassThroughLbTrafficPolicy]
3828
+ attr_accessor :network_pass_through_lb_traffic_policy
3829
+
3818
3830
  # Settings controlling the eviction of unhealthy hosts from the load balancing
3819
3831
  # pool for the backend service.
3820
3832
  # Corresponds to the JSON property `outlierDetection`
@@ -3919,6 +3931,12 @@ module Google
3919
3931
  # @return [Fixnum]
3920
3932
  attr_accessor :timeout_sec
3921
3933
 
3934
+ # Configuration for Backend Authenticated TLS and mTLS. May only be specified
3935
+ # when the backend protocol is SSL, HTTPS or HTTP2.
3936
+ # Corresponds to the JSON property `tlsSettings`
3937
+ # @return [Google::Apis::ComputeBeta::BackendServiceTlsSettings]
3938
+ attr_accessor :tls_settings
3939
+
3922
3940
  # [Output Only] List of resources referencing given backend service.
3923
3941
  # Corresponds to the JSON property `usedBy`
3924
3942
  # @return [Array<Google::Apis::ComputeBeta::BackendServiceUsedBy>]
@@ -3943,6 +3961,7 @@ module Google
3943
3961
  @custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
3944
3962
  @custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
3945
3963
  @description = args[:description] if args.key?(:description)
3964
+ @dynamic_forwarding = args[:dynamic_forwarding] if args.key?(:dynamic_forwarding)
3946
3965
  @edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
3947
3966
  @enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
3948
3967
  @external_managed_migration_state = args[:external_managed_migration_state] if args.key?(:external_managed_migration_state)
@@ -3962,6 +3981,7 @@ module Google
3962
3981
  @metadatas = args[:metadatas] if args.key?(:metadatas)
3963
3982
  @name = args[:name] if args.key?(:name)
3964
3983
  @network = args[:network] if args.key?(:network)
3984
+ @network_pass_through_lb_traffic_policy = args[:network_pass_through_lb_traffic_policy] if args.key?(:network_pass_through_lb_traffic_policy)
3965
3985
  @outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
3966
3986
  @port = args[:port] if args.key?(:port)
3967
3987
  @port_name = args[:port_name] if args.key?(:port_name)
@@ -3976,6 +3996,7 @@ module Google
3976
3996
  @strong_session_affinity_cookie = args[:strong_session_affinity_cookie] if args.key?(:strong_session_affinity_cookie)
3977
3997
  @subsetting = args[:subsetting] if args.key?(:subsetting)
3978
3998
  @timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
3999
+ @tls_settings = args[:tls_settings] if args.key?(:tls_settings)
3979
4000
  @used_by = args[:used_by] if args.key?(:used_by)
3980
4001
  end
3981
4002
  end
@@ -4388,7 +4409,7 @@ module Google
4388
4409
  attr_accessor :dry_run
4389
4410
  alias_method :dry_run?, :dry_run
4390
4411
 
4391
- # Name of a custom utilization signal. The name must be 1-24 characters long and
4412
+ # Name of a custom utilization signal. The name must be 1-64 characters long and
4392
4413
  # match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the
4393
4414
  # first character must be a lowercase letter, and all following characters must
4394
4415
  # be a dash, period, underscore, lowercase letter, or digit, except the last
@@ -4411,6 +4432,47 @@ module Google
4411
4432
  end
4412
4433
  end
4413
4434
 
4435
+ # Defines a dynamic forwarding configuration for the backend service.
4436
+ class BackendServiceDynamicForwarding
4437
+ include Google::Apis::Core::Hashable
4438
+
4439
+ # Defines a IP:PORT based dynamic forwarding configuration for the backend
4440
+ # service. Some ranges are restricted: Restricted ranges.
4441
+ # Corresponds to the JSON property `ipPortSelection`
4442
+ # @return [Google::Apis::ComputeBeta::BackendServiceDynamicForwardingIpPortSelection]
4443
+ attr_accessor :ip_port_selection
4444
+
4445
+ def initialize(**args)
4446
+ update!(**args)
4447
+ end
4448
+
4449
+ # Update properties of this object
4450
+ def update!(**args)
4451
+ @ip_port_selection = args[:ip_port_selection] if args.key?(:ip_port_selection)
4452
+ end
4453
+ end
4454
+
4455
+ # Defines a IP:PORT based dynamic forwarding configuration for the backend
4456
+ # service. Some ranges are restricted: Restricted ranges.
4457
+ class BackendServiceDynamicForwardingIpPortSelection
4458
+ include Google::Apis::Core::Hashable
4459
+
4460
+ # A boolean flag enabling IP:PORT based dynamic forwarding.
4461
+ # Corresponds to the JSON property `enabled`
4462
+ # @return [Boolean]
4463
+ attr_accessor :enabled
4464
+ alias_method :enabled?, :enabled
4465
+
4466
+ def initialize(**args)
4467
+ update!(**args)
4468
+ end
4469
+
4470
+ # Update properties of this object
4471
+ def update!(**args)
4472
+ @enabled = args[:enabled] if args.key?(:enabled)
4473
+ end
4474
+ end
4475
+
4414
4476
  # For load balancers that have configurable failover: [Internal passthrough
4415
4477
  # Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/
4416
4478
  # failover-overview) and [external passthrough Network Load Balancers](https://
@@ -4943,6 +5005,68 @@ module Google
4943
5005
  end
4944
5006
  end
4945
5007
 
5008
+ #
5009
+ class BackendServiceNetworkPassThroughLbTrafficPolicy
5010
+ include Google::Apis::Core::Hashable
5011
+
5012
+ # When configured, new connections are load balanced across healthy backend
5013
+ # endpoints in the local zone.
5014
+ # Corresponds to the JSON property `zonalAffinity`
5015
+ # @return [Google::Apis::ComputeBeta::BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity]
5016
+ attr_accessor :zonal_affinity
5017
+
5018
+ def initialize(**args)
5019
+ update!(**args)
5020
+ end
5021
+
5022
+ # Update properties of this object
5023
+ def update!(**args)
5024
+ @zonal_affinity = args[:zonal_affinity] if args.key?(:zonal_affinity)
5025
+ end
5026
+ end
5027
+
5028
+ #
5029
+ class BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity
5030
+ include Google::Apis::Core::Hashable
5031
+
5032
+ # This field indicates whether zonal affinity is enabled or not. The possible
5033
+ # values are: - ZONAL_AFFINITY_DISABLED: Default Value. Zonal Affinity is
5034
+ # disabled. The load balancer distributes new connections to all healthy backend
5035
+ # endpoints across all zones. - ZONAL_AFFINITY_STAY_WITHIN_ZONE: Zonal Affinity
5036
+ # is enabled. The load balancer distributes new connections to all healthy
5037
+ # backend endpoints in the local zone only. If there are no healthy backend
5038
+ # endpoints in the local zone, the load balancer distributes new connections to
5039
+ # all backend endpoints in the local zone. - ZONAL_AFFINITY_SPILL_CROSS_ZONE:
5040
+ # Zonal Affinity is enabled. The load balancer distributes new connections to
5041
+ # all healthy backend endpoints in the local zone only. If there aren't enough
5042
+ # healthy backend endpoints in the local zone, the load balancer distributes new
5043
+ # connections to all healthy backend endpoints across all zones.
5044
+ # Corresponds to the JSON property `spillover`
5045
+ # @return [String]
5046
+ attr_accessor :spillover
5047
+
5048
+ # The value of the field must be in [0, 1]. When the ratio of the count of
5049
+ # healthy backend endpoints in a zone to the count of backend endpoints in that
5050
+ # same zone is equal to or above this threshold, the load balancer distributes
5051
+ # new connections to all healthy endpoints in the local zone only. When the
5052
+ # ratio of the count of healthy backend endpoints in a zone to the count of
5053
+ # backend endpoints in that same zone is below this threshold, the load balancer
5054
+ # distributes all new connections to all healthy endpoints across all zones.
5055
+ # Corresponds to the JSON property `spilloverRatio`
5056
+ # @return [Float]
5057
+ attr_accessor :spillover_ratio
5058
+
5059
+ def initialize(**args)
5060
+ update!(**args)
5061
+ end
5062
+
5063
+ # Update properties of this object
5064
+ def update!(**args)
5065
+ @spillover = args[:spillover] if args.key?(:spillover)
5066
+ @spillover_ratio = args[:spillover_ratio] if args.key?(:spillover_ratio)
5067
+ end
5068
+ end
5069
+
4946
5070
  #
4947
5071
  class BackendServiceReference
4948
5072
  include Google::Apis::Core::Hashable
@@ -4962,6 +5086,80 @@ module Google
4962
5086
  end
4963
5087
  end
4964
5088
 
5089
+ #
5090
+ class BackendServiceTlsSettings
5091
+ include Google::Apis::Core::Hashable
5092
+
5093
+ # Reference to the BackendAuthenticationConfig resource from the networksecurity.
5094
+ # googleapis.com namespace. Can be used in authenticating TLS connections to the
5095
+ # backend, as specified by the authenticationMode field. Can only be specified
5096
+ # if authenticationMode is not NONE.
5097
+ # Corresponds to the JSON property `authenticationConfig`
5098
+ # @return [String]
5099
+ attr_accessor :authentication_config
5100
+
5101
+ # Server Name Indication - see RFC3546 section 3.1. If set, the load balancer
5102
+ # sends this string as the SNI hostname in the TLS connection to the backend,
5103
+ # and requires that this string match a Subject Alternative Name (SAN) in the
5104
+ # backend's server certificate. With a Regional Internet NEG backend, if the SNI
5105
+ # is specified here, the load balancer uses it regardless of whether the
5106
+ # Regional Internet NEG is specified with FQDN or IP address and port. When both
5107
+ # sni and subjectAltNames[] are specified, the load balancer matches the backend
5108
+ # certificate's SAN only to subjectAltNames[].
5109
+ # Corresponds to the JSON property `sni`
5110
+ # @return [String]
5111
+ attr_accessor :sni
5112
+
5113
+ # A list of Subject Alternative Names (SANs) that the Load Balancer verifies
5114
+ # during a TLS handshake with the backend. When the server presents its X.509
5115
+ # certificate to the Load Balancer, the Load Balancer inspects the certificate's
5116
+ # SAN field, and requires that at least one SAN match one of the subjectAltNames
5117
+ # in the list. This field is limited to 5 entries. When both sni and
5118
+ # subjectAltNames[] are specified, the load balancer matches the backend
5119
+ # certificate's SAN only to subjectAltNames[].
5120
+ # Corresponds to the JSON property `subjectAltNames`
5121
+ # @return [Array<Google::Apis::ComputeBeta::BackendServiceTlsSettingsSubjectAltName>]
5122
+ attr_accessor :subject_alt_names
5123
+
5124
+ def initialize(**args)
5125
+ update!(**args)
5126
+ end
5127
+
5128
+ # Update properties of this object
5129
+ def update!(**args)
5130
+ @authentication_config = args[:authentication_config] if args.key?(:authentication_config)
5131
+ @sni = args[:sni] if args.key?(:sni)
5132
+ @subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
5133
+ end
5134
+ end
5135
+
5136
+ # A Subject Alternative Name that the load balancer matches against the SAN
5137
+ # field in the TLS certificate provided by the backend, specified as either a
5138
+ # DNS name or a URI, in accordance with RFC 5280 4.2.1.6
5139
+ class BackendServiceTlsSettingsSubjectAltName
5140
+ include Google::Apis::Core::Hashable
5141
+
5142
+ # The SAN specified as a DNS Name.
5143
+ # Corresponds to the JSON property `dnsName`
5144
+ # @return [String]
5145
+ attr_accessor :dns_name
5146
+
5147
+ # The SAN specified as a URI.
5148
+ # Corresponds to the JSON property `uniformResourceIdentifier`
5149
+ # @return [String]
5150
+ attr_accessor :uniform_resource_identifier
5151
+
5152
+ def initialize(**args)
5153
+ update!(**args)
5154
+ end
5155
+
5156
+ # Update properties of this object
5157
+ def update!(**args)
5158
+ @dns_name = args[:dns_name] if args.key?(:dns_name)
5159
+ @uniform_resource_identifier = args[:uniform_resource_identifier] if args.key?(:uniform_resource_identifier)
5160
+ end
5161
+ end
5162
+
4965
5163
  #
4966
5164
  class BackendServiceUsedBy
4967
5165
  include Google::Apis::Core::Hashable
@@ -5741,6 +5939,16 @@ module Google
5741
5939
  class CacheInvalidationRule
5742
5940
  include Google::Apis::Core::Hashable
5743
5941
 
5942
+ # [Preview] A list of cache tags used to identify cached objects. - Cache tags
5943
+ # are specified when the response is first cached, by setting the `Cache-Tag`
5944
+ # response header at the origin. - Multiple cache tags in the same invalidation
5945
+ # request are treated as Boolean `OR` - for example, `tag1 OR tag2 OR tag3`. -
5946
+ # If other fields are also specified, these are treated as Boolean `AND` with
5947
+ # any tags. Up to 10 tags can be specified in a single invalidation request.
5948
+ # Corresponds to the JSON property `cacheTags`
5949
+ # @return [Array<String>]
5950
+ attr_accessor :cache_tags
5951
+
5744
5952
  # If set, this invalidation rule will only apply to requests with a Host header
5745
5953
  # matching host.
5746
5954
  # Corresponds to the JSON property `host`
@@ -5758,6 +5966,7 @@ module Google
5758
5966
 
5759
5967
  # Update properties of this object
5760
5968
  def update!(**args)
5969
+ @cache_tags = args[:cache_tags] if args.key?(:cache_tags)
5761
5970
  @host = args[:host] if args.key?(:host)
5762
5971
  @path = args[:path] if args.key?(:path)
5763
5972
  end
@@ -5832,6 +6041,74 @@ module Google
5832
6041
  end
5833
6042
  end
5834
6043
 
6044
+ # A request to recommend the best way to consume the specified resources in the
6045
+ # future.
6046
+ class CalendarModeAdviceRequest
6047
+ include Google::Apis::Core::Hashable
6048
+
6049
+ # Specification of resources to create in the future. The key of the map is an
6050
+ # arbitrary string specified by the caller. Value of the map is a specification
6051
+ # of required resources and their constraints. Currently only one value is
6052
+ # allowed in this map.
6053
+ # Corresponds to the JSON property `futureResourcesSpecs`
6054
+ # @return [Hash<String,Google::Apis::ComputeBeta::FutureResourcesSpec>]
6055
+ attr_accessor :future_resources_specs
6056
+
6057
+ def initialize(**args)
6058
+ update!(**args)
6059
+ end
6060
+
6061
+ # Update properties of this object
6062
+ def update!(**args)
6063
+ @future_resources_specs = args[:future_resources_specs] if args.key?(:future_resources_specs)
6064
+ end
6065
+ end
6066
+
6067
+ # A response containing the recommended way of creating the specified resources
6068
+ # in the future. It contains (will contain) multiple recommendations that can be
6069
+ # analyzed by the customer and the best one can be picked.
6070
+ class CalendarModeAdviceResponse
6071
+ include Google::Apis::Core::Hashable
6072
+
6073
+ # Recommendations where, how and when to create the requested resources in order
6074
+ # to maximize their obtainability and minimize cost.
6075
+ # Corresponds to the JSON property `recommendations`
6076
+ # @return [Array<Google::Apis::ComputeBeta::CalendarModeRecommendation>]
6077
+ attr_accessor :recommendations
6078
+
6079
+ def initialize(**args)
6080
+ update!(**args)
6081
+ end
6082
+
6083
+ # Update properties of this object
6084
+ def update!(**args)
6085
+ @recommendations = args[:recommendations] if args.key?(:recommendations)
6086
+ end
6087
+ end
6088
+
6089
+ # A single recommendation to create requested resources. Contains detailed
6090
+ # recommendations for every future resources specification specified in
6091
+ # CalendarModeAdviceRequest.
6092
+ class CalendarModeRecommendation
6093
+ include Google::Apis::Core::Hashable
6094
+
6095
+ # Recommendations for every future resource specification passed in
6096
+ # CalendarModeAdviceRequest. Keys of the map correspond to keys specified in the
6097
+ # request.
6098
+ # Corresponds to the JSON property `recommendationsPerSpec`
6099
+ # @return [Hash<String,Google::Apis::ComputeBeta::FutureResourcesRecommendation>]
6100
+ attr_accessor :recommendations_per_spec
6101
+
6102
+ def initialize(**args)
6103
+ update!(**args)
6104
+ end
6105
+
6106
+ # Update properties of this object
6107
+ def update!(**args)
6108
+ @recommendations_per_spec = args[:recommendations_per_spec] if args.key?(:recommendations_per_spec)
6109
+ end
6110
+ end
6111
+
5835
6112
  # Settings controlling the volume of requests, connections and retries to this
5836
6113
  # backend service.
5837
6114
  class CircuitBreakers
@@ -5900,29 +6177,33 @@ module Google
5900
6177
  end
5901
6178
  end
5902
6179
 
5903
- # Represents a regional Commitment resource. Creating a commitment resource
5904
- # means that you are purchasing a committed use contract with an explicit start
5905
- # and end time. You can create commitments based on vCPUs and memory usage and
5906
- # receive discounted rates. For full details, read Signing Up for Committed Use
5907
- # Discounts.
6180
+ # Represents a regional resource-based commitment resource. Creating this
6181
+ # commitment resource means that you are purchasing a resource-based committed
6182
+ # use contract, with an explicit start and end time. You can purchase resource-
6183
+ # based commitments for both hardware and software resources. For more
6184
+ # information, read Resource-based committed use discounts
5908
6185
  class Commitment
5909
6186
  include Google::Apis::Core::Hashable
5910
6187
 
5911
- # Specifies whether to enable automatic renewal for the commitment. The default
5912
- # value is false if not specified. The field can be updated until the day of the
5913
- # commitment expiration at 12:00am PST. If the field is set to true, the
5914
- # commitment will be automatically renewed for either one or three years
5915
- # according to the terms of the existing commitment.
6188
+ # Specifies whether to automatically renew the commitment at the end of its
6189
+ # current term. The default value is false. If you set the field to true, each
6190
+ # time your commitment reaches the end of its term, Compute Engine automatically
6191
+ # renews it for another term. You can update this field anytime before the
6192
+ # commitment expires. For example, if the commitment is set to expire at 12 AM
6193
+ # UTC-8 on January 3, 2027, you can update this field until 11:59 PM UTC-8 on
6194
+ # January 2, 2027.
5916
6195
  # Corresponds to the JSON property `autoRenew`
5917
6196
  # @return [Boolean]
5918
6197
  attr_accessor :auto_renew
5919
6198
  alias_method :auto_renew?, :auto_renew
5920
6199
 
5921
- # The category of the commitment. Category MACHINE specifies commitments
5922
- # composed of machine resources such as VCPU or MEMORY, listed in resources.
5923
- # Category LICENSE specifies commitments composed of software licenses, listed
5924
- # in licenseResources. Note that only MACHINE commitments should have a Type
5925
- # specified.
6200
+ # The category of the commitment; specifies whether the commitment is for
6201
+ # hardware or software resources. Category MACHINE specifies that you are
6202
+ # committing to hardware machine resources such as VCPU or MEMORY, listed in
6203
+ # resources. Category LICENSE specifies that you are committing to software
6204
+ # licenses, listed in licenseResources. Note that if you specify MACHINE
6205
+ # commitments, then you must also specify a type to indicate the machine series
6206
+ # of the hardware resource that you are committing to.
5926
6207
  # Corresponds to the JSON property `category`
5927
6208
  # @return [String]
5928
6209
  attr_accessor :category
@@ -5932,15 +6213,15 @@ module Google
5932
6213
  # @return [String]
5933
6214
  attr_accessor :creation_timestamp
5934
6215
 
5935
- # [Input Only] Optional, specifies the CUD end time requested by the customer in
5936
- # RFC3339 text format. Needed when the customer wants CUD's end date is later
6216
+ # [Input Only] Optional, specifies the requested commitment end time in RFC3339
6217
+ # text format. Use this option when the desired commitment's end date is later
5937
6218
  # than the start date + term duration.
5938
6219
  # Corresponds to the JSON property `customEndTimestamp`
5939
6220
  # @return [String]
5940
6221
  attr_accessor :custom_end_timestamp
5941
6222
 
5942
- # An optional description of this resource. Provide this property when you
5943
- # create the resource.
6223
+ # An optional description of the commitment. You can provide this property when
6224
+ # you create the resource.
5944
6225
  # Corresponds to the JSON property `description`
5945
6226
  # @return [String]
5946
6227
  attr_accessor :description
@@ -5950,11 +6231,7 @@ module Google
5950
6231
  # @return [String]
5951
6232
  attr_accessor :end_timestamp
5952
6233
 
5953
- # Specifies the already existing reservations to attach to the Commitment. This
5954
- # field is optional, and it can be a full or partial URL. For example, the
5955
- # following are valid URLs to an reservation: - https://www.googleapis.com/
5956
- # compute/v1/projects/project/zones/zone /reservations/reservation - projects/
5957
- # project/zones/zone/reservations/reservation
6234
+ #
5958
6235
  # Corresponds to the JSON property `existingReservations`
5959
6236
  # @return [Array<String>]
5960
6237
  attr_accessor :existing_reservations
@@ -5975,34 +6252,44 @@ module Google
5975
6252
  # @return [Google::Apis::ComputeBeta::LicenseResourceCommitment]
5976
6253
  attr_accessor :license_resource
5977
6254
 
5978
- # List of source commitments to be merged into a new commitment.
6255
+ # The list of source commitments that you are merging to create the new merged
6256
+ # commitment. For more information, see Merging commitments.
5979
6257
  # Corresponds to the JSON property `mergeSourceCommitments`
5980
6258
  # @return [Array<String>]
5981
6259
  attr_accessor :merge_source_commitments
5982
6260
 
5983
- # Name of the resource. Provided by the client when the resource is created. The
5984
- # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
5985
- # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
5986
- # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
5987
- # and all following characters must be a dash, lowercase letter, or digit,
5988
- # except the last character, which cannot be a dash.
6261
+ # Name of the commitment. You must specify a name when you purchase the
6262
+ # commitment. The name must be 1-63 characters long, and comply with RFC1035.
6263
+ # Specifically, the name must be 1-63 characters long and match the regular
6264
+ # expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
6265
+ # be a lowercase letter, and all following characters must be a dash, lowercase
6266
+ # letter, or digit, except the last character, which cannot be a dash.
5989
6267
  # Corresponds to the JSON property `name`
5990
6268
  # @return [String]
5991
6269
  attr_accessor :name
5992
6270
 
5993
- # The plan for this commitment, which determines duration and discount rate. The
5994
- # currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3
5995
- # years).
6271
+ # The minimum time duration that you commit to purchasing resources. The plan
6272
+ # that you choose determines the preset term length of the commitment (which is
6273
+ # 1 year or 3 years) and affects the discount rate that you receive for your
6274
+ # resources. Committing to a longer time duration typically gives you a higher
6275
+ # discount rate. The supported values for this field are TWELVE_MONTH (1 year),
6276
+ # and THIRTY_SIX_MONTH (3 years).
5996
6277
  # Corresponds to the JSON property `plan`
5997
6278
  # @return [String]
5998
6279
  attr_accessor :plan
5999
6280
 
6000
- # [Output Only] URL of the region where this commitment may be used.
6281
+ # [Output Only] URL of the region where the commitment and committed resources
6282
+ # are located.
6001
6283
  # Corresponds to the JSON property `region`
6002
6284
  # @return [String]
6003
6285
  attr_accessor :region
6004
6286
 
6005
- # List of create-on-create reservations for this commitment.
6287
+ # The list of new reservations that you want to create and attach to this
6288
+ # commitment. You must attach reservations to your commitment if your commitment
6289
+ # specifies any GPUs or Local SSD disks. For more information, see Attach
6290
+ # reservations to resource-based commitments. Specify this property only if you
6291
+ # want to create new reservations to attach. To attach existing reservations,
6292
+ # specify the existingReservations property instead.
6006
6293
  # Corresponds to the JSON property `reservations`
6007
6294
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
6008
6295
  attr_accessor :reservations
@@ -6012,8 +6299,9 @@ module Google
6012
6299
  # @return [Google::Apis::ComputeBeta::CommitmentResourceStatus]
6013
6300
  attr_accessor :resource_status
6014
6301
 
6015
- # A list of commitment amounts for particular resources. Note that VCPU and
6016
- # MEMORY resource commitments must occur together.
6302
+ # The list of all the hardware resources, with their types and amounts, that you
6303
+ # want to commit to. Specify as a separate entry in the list for each individual
6304
+ # resource type.
6017
6305
  # Corresponds to the JSON property `resources`
6018
6306
  # @return [Array<Google::Apis::ComputeBeta::ResourceCommitment>]
6019
6307
  attr_accessor :resources
@@ -6023,7 +6311,8 @@ module Google
6023
6311
  # @return [String]
6024
6312
  attr_accessor :self_link
6025
6313
 
6026
- # Source commitment to be split into a new commitment.
6314
+ # The source commitment from which you are transferring resources to create the
6315
+ # new split commitment. For more information, see Split commitments.
6027
6316
  # Corresponds to the JSON property `splitSourceCommitment`
6028
6317
  # @return [String]
6029
6318
  attr_accessor :split_source_commitment
@@ -6034,8 +6323,8 @@ module Google
6034
6323
  attr_accessor :start_timestamp
6035
6324
 
6036
6325
  # [Output Only] Status of the commitment with regards to eventual expiration (
6037
- # each commitment has an end date defined). One of the following values:
6038
- # NOT_YET_ACTIVE, ACTIVE, EXPIRED.
6326
+ # each commitment has an end date defined). Status can be one of the following
6327
+ # values: NOT_YET_ACTIVE, ACTIVE, or EXPIRED.
6039
6328
  # Corresponds to the JSON property `status`
6040
6329
  # @return [String]
6041
6330
  attr_accessor :status
@@ -6045,10 +6334,19 @@ module Google
6045
6334
  # @return [String]
6046
6335
  attr_accessor :status_message
6047
6336
 
6048
- # The type of commitment, which affects the discount rate and the eligible
6049
- # resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply
6050
- # to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a
6051
- # commitment that will only apply to accelerator optimized machines.
6337
+ # The type of commitment; specifies the machine series for which you want to
6338
+ # commit to purchasing resources. The choice of machine series affects the
6339
+ # discount rate and the eligible resource types. The type must be one of the
6340
+ # following: ACCELERATOR_OPTIMIZED, ACCELERATOR_OPTIMIZED_A3,
6341
+ # ACCELERATOR_OPTIMIZED_A3_MEGA, COMPUTE_OPTIMIZED, COMPUTE_OPTIMIZED_C2D,
6342
+ # COMPUTE_OPTIMIZED_C3, COMPUTE_OPTIMIZED_C3D, COMPUTE_OPTIMIZED_H3,
6343
+ # GENERAL_PURPOSE, GENERAL_PURPOSE_C4, GENERAL_PURPOSE_E2, GENERAL_PURPOSE_N2,
6344
+ # GENERAL_PURPOSE_N2D, GENERAL_PURPOSE_N4, GENERAL_PURPOSE_T2D,
6345
+ # GRAPHICS_OPTIMIZED, MEMORY_OPTIMIZED, MEMORY_OPTIMIZED_M3, MEMORY_OPTIMIZED_X4,
6346
+ # STORAGE_OPTIMIZED_Z3. For example, type MEMORY_OPTIMIZED specifies a
6347
+ # commitment that applies only to eligible resources of memory optimized M1 and
6348
+ # M2 machine series. Type GENERAL_PURPOSE specifies a commitment that applies
6349
+ # only to eligible resources of general purpose N1 machine series.
6052
6350
  # Corresponds to the JSON property `type`
6053
6351
  # @return [String]
6054
6352
  attr_accessor :type
@@ -6352,7 +6650,7 @@ module Google
6352
6650
  class CommitmentsScopedList
6353
6651
  include Google::Apis::Core::Hashable
6354
6652
 
6355
- # [Output Only] A list of commitments contained in this scope.
6653
+ # [Output Only] The list of commitments contained in this scope.
6356
6654
  # Corresponds to the JSON property `commitments`
6357
6655
  # @return [Array<Google::Apis::ComputeBeta::Commitment>]
6358
6656
  attr_accessor :commitments
@@ -6632,6 +6930,201 @@ module Google
6632
6930
  end
6633
6931
  end
6634
6932
 
6933
+ # A resource that represents a cross-site network. You can use cross-site
6934
+ # networks to connect your on-premises networks to each other through
6935
+ # Interconnect connections.
6936
+ class CrossSiteNetwork
6937
+ include Google::Apis::Core::Hashable
6938
+
6939
+ # [Output Only] Creation timestamp in RFC3339 text format.
6940
+ # Corresponds to the JSON property `creationTimestamp`
6941
+ # @return [String]
6942
+ attr_accessor :creation_timestamp
6943
+
6944
+ # An optional description of the cross-site network.
6945
+ # Corresponds to the JSON property `description`
6946
+ # @return [String]
6947
+ attr_accessor :description
6948
+
6949
+ # [Output Only] The unique identifier for the resource type. The server
6950
+ # generates this identifier.
6951
+ # Corresponds to the JSON property `id`
6952
+ # @return [Fixnum]
6953
+ attr_accessor :id
6954
+
6955
+ # [Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-
6956
+ # site networks.
6957
+ # Corresponds to the JSON property `kind`
6958
+ # @return [String]
6959
+ attr_accessor :kind
6960
+
6961
+ # Name of the resource. Provided by the client when the resource is created. The
6962
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
6963
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
6964
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
6965
+ # and all following characters must be a dash, lowercase letter, or digit,
6966
+ # except the last character, which cannot be a dash.
6967
+ # Corresponds to the JSON property `name`
6968
+ # @return [String]
6969
+ attr_accessor :name
6970
+
6971
+ # [Output Only] Server-defined URL for the resource.
6972
+ # Corresponds to the JSON property `selfLink`
6973
+ # @return [String]
6974
+ attr_accessor :self_link
6975
+
6976
+ # [Output Only] Server-defined URL for this resource with the resource id.
6977
+ # Corresponds to the JSON property `selfLinkWithId`
6978
+ # @return [String]
6979
+ attr_accessor :self_link_with_id
6980
+
6981
+ def initialize(**args)
6982
+ update!(**args)
6983
+ end
6984
+
6985
+ # Update properties of this object
6986
+ def update!(**args)
6987
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
6988
+ @description = args[:description] if args.key?(:description)
6989
+ @id = args[:id] if args.key?(:id)
6990
+ @kind = args[:kind] if args.key?(:kind)
6991
+ @name = args[:name] if args.key?(:name)
6992
+ @self_link = args[:self_link] if args.key?(:self_link)
6993
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
6994
+ end
6995
+ end
6996
+
6997
+ # Response to the list request that contains a list of cross-site networks.
6998
+ class CrossSiteNetworkList
6999
+ include Google::Apis::Core::Hashable
7000
+
7001
+ #
7002
+ # Corresponds to the JSON property `etag`
7003
+ # @return [String]
7004
+ attr_accessor :etag
7005
+
7006
+ # [Output Only] Unique identifier for the resource; defined by the server.
7007
+ # Corresponds to the JSON property `id`
7008
+ # @return [String]
7009
+ attr_accessor :id
7010
+
7011
+ # A list of CrossSiteNetwork resources.
7012
+ # Corresponds to the JSON property `items`
7013
+ # @return [Array<Google::Apis::ComputeBeta::CrossSiteNetwork>]
7014
+ attr_accessor :items
7015
+
7016
+ # [Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-
7017
+ # site networks.
7018
+ # Corresponds to the JSON property `kind`
7019
+ # @return [String]
7020
+ attr_accessor :kind
7021
+
7022
+ # [Output Only] This token allows you to get the next page of results for list
7023
+ # requests. If the number of results is larger than maxResults, use the
7024
+ # nextPageToken as a value for the query parameter pageToken in the next list
7025
+ # request. Subsequent list requests will have their own nextPageToken to
7026
+ # continue paging through the results.
7027
+ # Corresponds to the JSON property `nextPageToken`
7028
+ # @return [String]
7029
+ attr_accessor :next_page_token
7030
+
7031
+ # [Output Only] Server-defined URL for this resource.
7032
+ # Corresponds to the JSON property `selfLink`
7033
+ # @return [String]
7034
+ attr_accessor :self_link
7035
+
7036
+ # [Output Only] Unreachable resources. end_interface:
7037
+ # MixerListResponseWithEtagBuilder
7038
+ # Corresponds to the JSON property `unreachables`
7039
+ # @return [Array<String>]
7040
+ attr_accessor :unreachables
7041
+
7042
+ # [Output Only] Informational warning message.
7043
+ # Corresponds to the JSON property `warning`
7044
+ # @return [Google::Apis::ComputeBeta::CrossSiteNetworkList::Warning]
7045
+ attr_accessor :warning
7046
+
7047
+ def initialize(**args)
7048
+ update!(**args)
7049
+ end
7050
+
7051
+ # Update properties of this object
7052
+ def update!(**args)
7053
+ @etag = args[:etag] if args.key?(:etag)
7054
+ @id = args[:id] if args.key?(:id)
7055
+ @items = args[:items] if args.key?(:items)
7056
+ @kind = args[:kind] if args.key?(:kind)
7057
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7058
+ @self_link = args[:self_link] if args.key?(:self_link)
7059
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
7060
+ @warning = args[:warning] if args.key?(:warning)
7061
+ end
7062
+
7063
+ # [Output Only] Informational warning message.
7064
+ class Warning
7065
+ include Google::Apis::Core::Hashable
7066
+
7067
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
7068
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
7069
+ # Corresponds to the JSON property `code`
7070
+ # @return [String]
7071
+ attr_accessor :code
7072
+
7073
+ # [Output Only] Metadata about this warning in key: value format. For example: "
7074
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
7075
+ # Corresponds to the JSON property `data`
7076
+ # @return [Array<Google::Apis::ComputeBeta::CrossSiteNetworkList::Warning::Datum>]
7077
+ attr_accessor :data
7078
+
7079
+ # [Output Only] A human-readable description of the warning code.
7080
+ # Corresponds to the JSON property `message`
7081
+ # @return [String]
7082
+ attr_accessor :message
7083
+
7084
+ def initialize(**args)
7085
+ update!(**args)
7086
+ end
7087
+
7088
+ # Update properties of this object
7089
+ def update!(**args)
7090
+ @code = args[:code] if args.key?(:code)
7091
+ @data = args[:data] if args.key?(:data)
7092
+ @message = args[:message] if args.key?(:message)
7093
+ end
7094
+
7095
+ #
7096
+ class Datum
7097
+ include Google::Apis::Core::Hashable
7098
+
7099
+ # [Output Only] A key that provides more detail on the warning being returned.
7100
+ # For example, for warnings where there are no results in a list request for a
7101
+ # particular zone, this key might be scope and the key value might be the zone
7102
+ # name. Other examples might be a key indicating a deprecated resource and a
7103
+ # suggested replacement, or a warning about invalid network settings (for
7104
+ # example, if an instance attempts to perform IP forwarding but is not enabled
7105
+ # for IP forwarding).
7106
+ # Corresponds to the JSON property `key`
7107
+ # @return [String]
7108
+ attr_accessor :key
7109
+
7110
+ # [Output Only] A warning data value corresponding to the key.
7111
+ # Corresponds to the JSON property `value`
7112
+ # @return [String]
7113
+ attr_accessor :value
7114
+
7115
+ def initialize(**args)
7116
+ update!(**args)
7117
+ end
7118
+
7119
+ # Update properties of this object
7120
+ def update!(**args)
7121
+ @key = args[:key] if args.key?(:key)
7122
+ @value = args[:value] if args.key?(:value)
7123
+ end
7124
+ end
7125
+ end
7126
+ end
7127
+
6635
7128
  # Specifies the custom error response policy that must be applied when the
6636
7129
  # backend service or backend bucket responds with an error.
6637
7130
  class CustomErrorResponsePolicy
@@ -8560,12 +9053,12 @@ module Google
8560
9053
  # @return [String]
8561
9054
  attr_accessor :domain
8562
9055
 
8563
- # Additional structured details about this error. Keys must match /a-z+/ but
8564
- # should ideally be lowerCamelCase. Also they must be limited to 64 characters
8565
- # in length. When identifying the current value of an exceeded limit, the units
8566
- # should be contained in the key, not the value. For example, rather than `"
8567
- # instanceLimit": "100/request"`, should be returned as, `"
8568
- # instanceLimitPerRequest": "100"`, if the client exceeds the number of
9056
+ # Additional structured details about this error. Keys must match a regular
9057
+ # expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be
9058
+ # limited to 64 characters in length. When identifying the current value of an
9059
+ # exceeded limit, the units should be contained in the key, not the value. For
9060
+ # example, rather than ``"instanceLimit": "100/request"``, should be returned as,
9061
+ # ``"instanceLimitPerRequest": "100"``, if the client exceeds the number of
8569
9062
  # instances that can be created in a single (batch) request.
8570
9063
  # Corresponds to the JSON property `metadatas`
8571
9064
  # @return [Hash<String,String>]
@@ -9534,6 +10027,97 @@ module Google
9534
10027
  end
9535
10028
  end
9536
10029
 
10030
+ #
10031
+ class FirewallPoliciesScopedList
10032
+ include Google::Apis::Core::Hashable
10033
+
10034
+ # A list of firewall policies contained in this scope.
10035
+ # Corresponds to the JSON property `firewallPolicies`
10036
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPolicy>]
10037
+ attr_accessor :firewall_policies
10038
+
10039
+ # Informational warning which replaces the list of firewall policies when the
10040
+ # list is empty.
10041
+ # Corresponds to the JSON property `warning`
10042
+ # @return [Google::Apis::ComputeBeta::FirewallPoliciesScopedList::Warning]
10043
+ attr_accessor :warning
10044
+
10045
+ def initialize(**args)
10046
+ update!(**args)
10047
+ end
10048
+
10049
+ # Update properties of this object
10050
+ def update!(**args)
10051
+ @firewall_policies = args[:firewall_policies] if args.key?(:firewall_policies)
10052
+ @warning = args[:warning] if args.key?(:warning)
10053
+ end
10054
+
10055
+ # Informational warning which replaces the list of firewall policies when the
10056
+ # list is empty.
10057
+ class Warning
10058
+ include Google::Apis::Core::Hashable
10059
+
10060
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
10061
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
10062
+ # Corresponds to the JSON property `code`
10063
+ # @return [String]
10064
+ attr_accessor :code
10065
+
10066
+ # [Output Only] Metadata about this warning in key: value format. For example: "
10067
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
10068
+ # Corresponds to the JSON property `data`
10069
+ # @return [Array<Google::Apis::ComputeBeta::FirewallPoliciesScopedList::Warning::Datum>]
10070
+ attr_accessor :data
10071
+
10072
+ # [Output Only] A human-readable description of the warning code.
10073
+ # Corresponds to the JSON property `message`
10074
+ # @return [String]
10075
+ attr_accessor :message
10076
+
10077
+ def initialize(**args)
10078
+ update!(**args)
10079
+ end
10080
+
10081
+ # Update properties of this object
10082
+ def update!(**args)
10083
+ @code = args[:code] if args.key?(:code)
10084
+ @data = args[:data] if args.key?(:data)
10085
+ @message = args[:message] if args.key?(:message)
10086
+ end
10087
+
10088
+ #
10089
+ class Datum
10090
+ include Google::Apis::Core::Hashable
10091
+
10092
+ # [Output Only] A key that provides more detail on the warning being returned.
10093
+ # For example, for warnings where there are no results in a list request for a
10094
+ # particular zone, this key might be scope and the key value might be the zone
10095
+ # name. Other examples might be a key indicating a deprecated resource and a
10096
+ # suggested replacement, or a warning about invalid network settings (for
10097
+ # example, if an instance attempts to perform IP forwarding but is not enabled
10098
+ # for IP forwarding).
10099
+ # Corresponds to the JSON property `key`
10100
+ # @return [String]
10101
+ attr_accessor :key
10102
+
10103
+ # [Output Only] A warning data value corresponding to the key.
10104
+ # Corresponds to the JSON property `value`
10105
+ # @return [String]
10106
+ attr_accessor :value
10107
+
10108
+ def initialize(**args)
10109
+ update!(**args)
10110
+ end
10111
+
10112
+ # Update properties of this object
10113
+ def update!(**args)
10114
+ @key = args[:key] if args.key?(:key)
10115
+ @value = args[:value] if args.key?(:value)
10116
+ end
10117
+ end
10118
+ end
10119
+ end
10120
+
9537
10121
  # Represents a Firewall Policy resource.
9538
10122
  class FirewallPolicy
9539
10123
  include Google::Apis::Core::Hashable
@@ -10185,6 +10769,58 @@ module Google
10185
10769
  end
10186
10770
  end
10187
10771
 
10772
+ # A flexible specification of a time range that has 3 points of flexibility: (1)
10773
+ # a flexible start time, (2) a flexible end time, (3) a flexible duration. It is
10774
+ # possible to specify a contradictory time range that cannot be matched by any
10775
+ # Interval. This causes a validation error.
10776
+ class FlexibleTimeRange
10777
+ include Google::Apis::Core::Hashable
10778
+
10779
+ #
10780
+ # Corresponds to the JSON property `endTimeNotEarlierThan`
10781
+ # @return [String]
10782
+ attr_accessor :end_time_not_earlier_than
10783
+
10784
+ #
10785
+ # Corresponds to the JSON property `endTimeNotLaterThan`
10786
+ # @return [String]
10787
+ attr_accessor :end_time_not_later_than
10788
+
10789
+ #
10790
+ # Corresponds to the JSON property `maxDuration`
10791
+ # @return [String]
10792
+ attr_accessor :max_duration
10793
+
10794
+ #
10795
+ # Corresponds to the JSON property `minDuration`
10796
+ # @return [String]
10797
+ attr_accessor :min_duration
10798
+
10799
+ #
10800
+ # Corresponds to the JSON property `startTimeNotEarlierThan`
10801
+ # @return [String]
10802
+ attr_accessor :start_time_not_earlier_than
10803
+
10804
+ #
10805
+ # Corresponds to the JSON property `startTimeNotLaterThan`
10806
+ # @return [String]
10807
+ attr_accessor :start_time_not_later_than
10808
+
10809
+ def initialize(**args)
10810
+ update!(**args)
10811
+ end
10812
+
10813
+ # Update properties of this object
10814
+ def update!(**args)
10815
+ @end_time_not_earlier_than = args[:end_time_not_earlier_than] if args.key?(:end_time_not_earlier_than)
10816
+ @end_time_not_later_than = args[:end_time_not_later_than] if args.key?(:end_time_not_later_than)
10817
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
10818
+ @min_duration = args[:min_duration] if args.key?(:min_duration)
10819
+ @start_time_not_earlier_than = args[:start_time_not_earlier_than] if args.key?(:start_time_not_earlier_than)
10820
+ @start_time_not_later_than = args[:start_time_not_later_than] if args.key?(:start_time_not_later_than)
10821
+ end
10822
+ end
10823
+
10188
10824
  # Represents a Forwarding Rule resource. Forwarding rule resources in Google
10189
10825
  # Cloud can be either regional or global in scope: * [Global](https://cloud.
10190
10826
  # google.com/compute/docs/reference/rest/beta/globalForwardingRules) * [Regional]
@@ -11022,6 +11658,13 @@ module Google
11022
11658
  class FutureReservation
11023
11659
  include Google::Apis::Core::Hashable
11024
11660
 
11661
+ # This reservation type is specified by total resource amounts (e.g. total count
11662
+ # of CPUs) and can account for multiple instance SKUs. In other words, one can
11663
+ # create instances of varying shapes against this reservation.
11664
+ # Corresponds to the JSON property `aggregateReservation`
11665
+ # @return [Google::Apis::ComputeBeta::AllocationAggregateReservation]
11666
+ attr_accessor :aggregate_reservation
11667
+
11025
11668
  # Future timestamp when the FR auto-created reservations will be deleted by
11026
11669
  # Compute Engine. Format of this field must be a valid href="https://www.ietf.
11027
11670
  # org/rfc/rfc3339.txt">RFC3339 value.
@@ -11048,6 +11691,12 @@ module Google
11048
11691
  attr_accessor :auto_delete_auto_created_reservations
11049
11692
  alias_method :auto_delete_auto_created_reservations?, :auto_delete_auto_created_reservations
11050
11693
 
11694
+ # If not present, then FR will not deliver a new commitment or update an
11695
+ # existing commitment.
11696
+ # Corresponds to the JSON property `commitmentInfo`
11697
+ # @return [Google::Apis::ComputeBeta::FutureReservationCommitmentInfo]
11698
+ attr_accessor :commitment_info
11699
+
11051
11700
  # [Output Only] The creation timestamp for this future reservation in RFC3339
11052
11701
  # text format.
11053
11702
  # Corresponds to the JSON property `creationTimestamp`
@@ -11100,6 +11749,12 @@ module Google
11100
11749
  # @return [String]
11101
11750
  attr_accessor :planning_status
11102
11751
 
11752
+ # The reservation mode which determines reservation-termination behavior and
11753
+ # expected pricing.
11754
+ # Corresponds to the JSON property `reservationMode`
11755
+ # @return [String]
11756
+ attr_accessor :reservation_mode
11757
+
11103
11758
  # Name of reservations where the capacity is provisioned at the time of delivery
11104
11759
  # of future reservations. If the reservation with the given name does not exist
11105
11760
  # already, it is created automatically at the time of Approval with INACTIVE
@@ -11164,9 +11819,11 @@ module Google
11164
11819
 
11165
11820
  # Update properties of this object
11166
11821
  def update!(**args)
11822
+ @aggregate_reservation = args[:aggregate_reservation] if args.key?(:aggregate_reservation)
11167
11823
  @auto_created_reservations_delete_time = args[:auto_created_reservations_delete_time] if args.key?(:auto_created_reservations_delete_time)
11168
11824
  @auto_created_reservations_duration = args[:auto_created_reservations_duration] if args.key?(:auto_created_reservations_duration)
11169
11825
  @auto_delete_auto_created_reservations = args[:auto_delete_auto_created_reservations] if args.key?(:auto_delete_auto_created_reservations)
11826
+ @commitment_info = args[:commitment_info] if args.key?(:commitment_info)
11170
11827
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
11171
11828
  @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
11172
11829
  @description = args[:description] if args.key?(:description)
@@ -11175,6 +11832,7 @@ module Google
11175
11832
  @name = args[:name] if args.key?(:name)
11176
11833
  @name_prefix = args[:name_prefix] if args.key?(:name_prefix)
11177
11834
  @planning_status = args[:planning_status] if args.key?(:planning_status)
11835
+ @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
11178
11836
  @reservation_name = args[:reservation_name] if args.key?(:reservation_name)
11179
11837
  @scheduling_type = args[:scheduling_type] if args.key?(:scheduling_type)
11180
11838
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -11188,6 +11846,40 @@ module Google
11188
11846
  end
11189
11847
  end
11190
11848
 
11849
+ #
11850
+ class FutureReservationCommitmentInfo
11851
+ include Google::Apis::Core::Hashable
11852
+
11853
+ # name of the commitment where capacity is being delivered to.
11854
+ # Corresponds to the JSON property `commitmentName`
11855
+ # @return [String]
11856
+ attr_accessor :commitment_name
11857
+
11858
+ # Indicates if a Commitment needs to be created as part of FR delivery. If this
11859
+ # field is not present, then no commitment needs to be created.
11860
+ # Corresponds to the JSON property `commitmentPlan`
11861
+ # @return [String]
11862
+ attr_accessor :commitment_plan
11863
+
11864
+ # Only applicable if FR is delivering to the same reservation. If set, all
11865
+ # parent commitments will be extended to match the end date of the plan for this
11866
+ # commitment.
11867
+ # Corresponds to the JSON property `previousCommitmentTerms`
11868
+ # @return [String]
11869
+ attr_accessor :previous_commitment_terms
11870
+
11871
+ def initialize(**args)
11872
+ update!(**args)
11873
+ end
11874
+
11875
+ # Update properties of this object
11876
+ def update!(**args)
11877
+ @commitment_name = args[:commitment_name] if args.key?(:commitment_name)
11878
+ @commitment_plan = args[:commitment_plan] if args.key?(:commitment_plan)
11879
+ @previous_commitment_terms = args[:previous_commitment_terms] if args.key?(:previous_commitment_terms)
11880
+ end
11881
+ end
11882
+
11191
11883
  #
11192
11884
  class FutureReservationSpecificSkuProperties
11193
11885
  include Google::Apis::Core::Hashable
@@ -11809,6 +12501,286 @@ module Google
11809
12501
  end
11810
12502
  end
11811
12503
 
12504
+ # Recommendation for single resources specification, to be created in the future.
12505
+ class FutureResourcesRecommendation
12506
+ include Google::Apis::Core::Hashable
12507
+
12508
+ #
12509
+ # Corresponds to the JSON property `endTime`
12510
+ # @return [String]
12511
+ attr_accessor :end_time
12512
+
12513
+ # The advised location for resource usage. When a zone, in format 'zones/'. If
12514
+ # not set, it means that no location is recommended - see other_locations for
12515
+ # details.
12516
+ # Corresponds to the JSON property `location`
12517
+ # @return [String]
12518
+ attr_accessor :location
12519
+
12520
+ # List of locations in the request scope that were not recommended. Keys of the
12521
+ # map are zones, in format 'zones/'. The values are status information
12522
+ # indicating the recommendation status.
12523
+ # Corresponds to the JSON property `otherLocations`
12524
+ # @return [Hash<String,Google::Apis::ComputeBeta::FutureResourcesRecommendationOtherLocation>]
12525
+ attr_accessor :other_locations
12526
+
12527
+ # Unique id of the recommendation, a UUID string generated by the API.
12528
+ # Corresponds to the JSON property `recommendationId`
12529
+ # @return [String]
12530
+ attr_accessor :recommendation_id
12531
+
12532
+ # Type of recommendation. Currently only FUTURE_RESERVATION is supported.
12533
+ # Corresponds to the JSON property `recommendationType`
12534
+ # @return [String]
12535
+ attr_accessor :recommendation_type
12536
+
12537
+ #
12538
+ # Corresponds to the JSON property `startTime`
12539
+ # @return [String]
12540
+ attr_accessor :start_time
12541
+
12542
+ def initialize(**args)
12543
+ update!(**args)
12544
+ end
12545
+
12546
+ # Update properties of this object
12547
+ def update!(**args)
12548
+ @end_time = args[:end_time] if args.key?(:end_time)
12549
+ @location = args[:location] if args.key?(:location)
12550
+ @other_locations = args[:other_locations] if args.key?(:other_locations)
12551
+ @recommendation_id = args[:recommendation_id] if args.key?(:recommendation_id)
12552
+ @recommendation_type = args[:recommendation_type] if args.key?(:recommendation_type)
12553
+ @start_time = args[:start_time] if args.key?(:start_time)
12554
+ end
12555
+ end
12556
+
12557
+ # Information about recommendation status for locations that were allowed but
12558
+ # not used by the response.
12559
+ class FutureResourcesRecommendationOtherLocation
12560
+ include Google::Apis::Core::Hashable
12561
+
12562
+ # Details (human readable) describing the situation. For example, if status is
12563
+ # CONDITION_NOT_MET, then details contain information about the parameters of
12564
+ # the time window that did not meet the required conditions.
12565
+ # Corresponds to the JSON property `details`
12566
+ # @return [String]
12567
+ attr_accessor :details
12568
+
12569
+ # Status of recommendation in this location.
12570
+ # Corresponds to the JSON property `status`
12571
+ # @return [String]
12572
+ attr_accessor :status
12573
+
12574
+ def initialize(**args)
12575
+ update!(**args)
12576
+ end
12577
+
12578
+ # Update properties of this object
12579
+ def update!(**args)
12580
+ @details = args[:details] if args.key?(:details)
12581
+ @status = args[:status] if args.key?(:status)
12582
+ end
12583
+ end
12584
+
12585
+ # Specification of resources to be created at some time in the future within an
12586
+ # optionally specified set of locations, and within the specified time range.
12587
+ class FutureResourcesSpec
12588
+ include Google::Apis::Core::Hashable
12589
+
12590
+ # Indicates if the reservation allocation strategy is static (DENSE) or dynamic (
12591
+ # STANDARD). Defaults to DENSE.
12592
+ # Corresponds to the JSON property `deploymentType`
12593
+ # @return [String]
12594
+ attr_accessor :deployment_type
12595
+
12596
+ # Specification of locations to create resources in.
12597
+ # Corresponds to the JSON property `locationPolicy`
12598
+ # @return [Google::Apis::ComputeBeta::FutureResourcesSpecLocationPolicy]
12599
+ attr_accessor :location_policy
12600
+
12601
+ # Specification of reserved resources.
12602
+ # Corresponds to the JSON property `targetResources`
12603
+ # @return [Google::Apis::ComputeBeta::FutureResourcesSpecTargetResources]
12604
+ attr_accessor :target_resources
12605
+
12606
+ # A flexible specification of a time range that has 3 points of flexibility: (1)
12607
+ # a flexible start time, (2) a flexible end time, (3) a flexible duration. It is
12608
+ # possible to specify a contradictory time range that cannot be matched by any
12609
+ # Interval. This causes a validation error.
12610
+ # Corresponds to the JSON property `timeRangeSpec`
12611
+ # @return [Google::Apis::ComputeBeta::FlexibleTimeRange]
12612
+ attr_accessor :time_range_spec
12613
+
12614
+ def initialize(**args)
12615
+ update!(**args)
12616
+ end
12617
+
12618
+ # Update properties of this object
12619
+ def update!(**args)
12620
+ @deployment_type = args[:deployment_type] if args.key?(:deployment_type)
12621
+ @location_policy = args[:location_policy] if args.key?(:location_policy)
12622
+ @target_resources = args[:target_resources] if args.key?(:target_resources)
12623
+ @time_range_spec = args[:time_range_spec] if args.key?(:time_range_spec)
12624
+ end
12625
+ end
12626
+
12627
+ #
12628
+ class FutureResourcesSpecAggregateResources
12629
+ include Google::Apis::Core::Hashable
12630
+
12631
+ # Size of the request, in accelerator (chip) count.
12632
+ # Corresponds to the JSON property `acceleratorCount`
12633
+ # @return [Fixnum]
12634
+ attr_accessor :accelerator_count
12635
+
12636
+ # The VM family that all instances scheduled against this reservation must
12637
+ # belong to. Use for TPU reservations.
12638
+ # Corresponds to the JSON property `vmFamily`
12639
+ # @return [String]
12640
+ attr_accessor :vm_family
12641
+
12642
+ # Workload type. Use for TPU reservations.
12643
+ # Corresponds to the JSON property `workloadType`
12644
+ # @return [String]
12645
+ attr_accessor :workload_type
12646
+
12647
+ def initialize(**args)
12648
+ update!(**args)
12649
+ end
12650
+
12651
+ # Update properties of this object
12652
+ def update!(**args)
12653
+ @accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
12654
+ @vm_family = args[:vm_family] if args.key?(:vm_family)
12655
+ @workload_type = args[:workload_type] if args.key?(:workload_type)
12656
+ end
12657
+ end
12658
+
12659
+ #
12660
+ class FutureResourcesSpecLocalSsdPartition
12661
+ include Google::Apis::Core::Hashable
12662
+
12663
+ # Disk interface. Defaults to SCSI.
12664
+ # Corresponds to the JSON property `diskInterface`
12665
+ # @return [String]
12666
+ attr_accessor :disk_interface
12667
+
12668
+ # The size of the disk in GB.
12669
+ # Corresponds to the JSON property `diskSizeGb`
12670
+ # @return [Fixnum]
12671
+ attr_accessor :disk_size_gb
12672
+
12673
+ def initialize(**args)
12674
+ update!(**args)
12675
+ end
12676
+
12677
+ # Update properties of this object
12678
+ def update!(**args)
12679
+ @disk_interface = args[:disk_interface] if args.key?(:disk_interface)
12680
+ @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
12681
+ end
12682
+ end
12683
+
12684
+ # Specification of locations to create resources in.
12685
+ class FutureResourcesSpecLocationPolicy
12686
+ include Google::Apis::Core::Hashable
12687
+
12688
+ # Preferences for specified locations. Keys of the map are locations - zones, in
12689
+ # format of 'zones/'. Values are preferences for the zones. If a zone is not
12690
+ # specified in this map, it is ALLOWed.
12691
+ # Corresponds to the JSON property `locations`
12692
+ # @return [Hash<String,Google::Apis::ComputeBeta::FutureResourcesSpecLocationPolicyLocation>]
12693
+ attr_accessor :locations
12694
+
12695
+ def initialize(**args)
12696
+ update!(**args)
12697
+ end
12698
+
12699
+ # Update properties of this object
12700
+ def update!(**args)
12701
+ @locations = args[:locations] if args.key?(:locations)
12702
+ end
12703
+ end
12704
+
12705
+ # Preference for a single specified location.
12706
+ class FutureResourcesSpecLocationPolicyLocation
12707
+ include Google::Apis::Core::Hashable
12708
+
12709
+ # Preference for this location.
12710
+ # Corresponds to the JSON property `preference`
12711
+ # @return [String]
12712
+ attr_accessor :preference
12713
+
12714
+ def initialize(**args)
12715
+ update!(**args)
12716
+ end
12717
+
12718
+ # Update properties of this object
12719
+ def update!(**args)
12720
+ @preference = args[:preference] if args.key?(:preference)
12721
+ end
12722
+ end
12723
+
12724
+ #
12725
+ class FutureResourcesSpecSpecificSkuResources
12726
+ include Google::Apis::Core::Hashable
12727
+
12728
+ # Size of the request, in instance count.
12729
+ # Corresponds to the JSON property `instanceCount`
12730
+ # @return [Fixnum]
12731
+ attr_accessor :instance_count
12732
+
12733
+ # Local SSD partitions. You do not have to include SSD partitions that are built
12734
+ # in the machine type.
12735
+ # Corresponds to the JSON property `localSsdPartitions`
12736
+ # @return [Array<Google::Apis::ComputeBeta::FutureResourcesSpecLocalSsdPartition>]
12737
+ attr_accessor :local_ssd_partitions
12738
+
12739
+ # The machine type to use for instances that will use the reservation. This
12740
+ # field only accepts machine type names. e.g. n2-standard-4 and does not accept
12741
+ # machine type full or partial url. e.g. projects/my-l7ilb-project/zones/us-
12742
+ # central1-a/machineTypes/n2-standard-4. Use for GPU reservations.
12743
+ # Corresponds to the JSON property `machineType`
12744
+ # @return [String]
12745
+ attr_accessor :machine_type
12746
+
12747
+ def initialize(**args)
12748
+ update!(**args)
12749
+ end
12750
+
12751
+ # Update properties of this object
12752
+ def update!(**args)
12753
+ @instance_count = args[:instance_count] if args.key?(:instance_count)
12754
+ @local_ssd_partitions = args[:local_ssd_partitions] if args.key?(:local_ssd_partitions)
12755
+ @machine_type = args[:machine_type] if args.key?(:machine_type)
12756
+ end
12757
+ end
12758
+
12759
+ # Specification of reserved resources.
12760
+ class FutureResourcesSpecTargetResources
12761
+ include Google::Apis::Core::Hashable
12762
+
12763
+ #
12764
+ # Corresponds to the JSON property `aggregateResources`
12765
+ # @return [Google::Apis::ComputeBeta::FutureResourcesSpecAggregateResources]
12766
+ attr_accessor :aggregate_resources
12767
+
12768
+ #
12769
+ # Corresponds to the JSON property `specificSkuResources`
12770
+ # @return [Google::Apis::ComputeBeta::FutureResourcesSpecSpecificSkuResources]
12771
+ attr_accessor :specific_sku_resources
12772
+
12773
+ def initialize(**args)
12774
+ update!(**args)
12775
+ end
12776
+
12777
+ # Update properties of this object
12778
+ def update!(**args)
12779
+ @aggregate_resources = args[:aggregate_resources] if args.key?(:aggregate_resources)
12780
+ @specific_sku_resources = args[:specific_sku_resources] if args.key?(:specific_sku_resources)
12781
+ end
12782
+ end
12783
+
11812
12784
  #
11813
12785
  class GrpcHealthCheck
11814
12786
  include Google::Apis::Core::Hashable
@@ -15930,11 +16902,11 @@ module Google
15930
16902
  # @return [String]
15931
16903
  attr_accessor :name
15932
16904
 
15933
- # Assigns a name to a port number. For example: `name: "http", port: 80` This
15934
- # allows the system to reference ports by the assigned name instead of a port
15935
- # number. Named ports can also contain multiple ports. For example: [`name: "
15936
- # app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port: 8082`]
15937
- # Named ports apply to all instances in this instance group.
16905
+ # Optional. Assigns a name to a port number. For example: `name: "http", port:
16906
+ # 80` This allows the system to reference ports by the assigned name instead of
16907
+ # a port number. Named ports can also contain multiple ports. For example: [`
16908
+ # name: "app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port:
16909
+ # 8082`] Named ports apply to all instances in this instance group.
15938
16910
  # Corresponds to the JSON property `namedPorts`
15939
16911
  # @return [Array<Google::Apis::ComputeBeta::NamedPort>]
15940
16912
  attr_accessor :named_ports
@@ -16924,6 +17896,17 @@ module Google
16924
17896
  # @return [String]
16925
17897
  attr_accessor :force_update_on_repair
16926
17898
 
17899
+ # The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy
17900
+ # when the application running on that VM fails a health check. Valid values are:
17901
+ # - DEFAULT_ACTION (default): MIG uses the same action configured for
17902
+ # instanceLifecyclePolicy.defaultActionOnFailure field. - REPAIR: MIG
17903
+ # automatically repairs an unhealthy VM by recreating it. - DO_NOTHING: MIG
17904
+ # doesn't repair an unhealthy VM. For more information, see About repairing VMs
17905
+ # in a MIG.
17906
+ # Corresponds to the JSON property `onFailedHealthCheck`
17907
+ # @return [String]
17908
+ attr_accessor :on_failed_health_check
17909
+
16927
17910
  def initialize(**args)
16928
17911
  update!(**args)
16929
17912
  end
@@ -16932,6 +17915,7 @@ module Google
16932
17915
  def update!(**args)
16933
17916
  @default_action_on_failure = args[:default_action_on_failure] if args.key?(:default_action_on_failure)
16934
17917
  @force_update_on_repair = args[:force_update_on_repair] if args.key?(:force_update_on_repair)
17918
+ @on_failed_health_check = args[:on_failed_health_check] if args.key?(:on_failed_health_check)
16935
17919
  end
16936
17920
  end
16937
17921
 
@@ -20215,6 +21199,56 @@ module Google
20215
21199
  end
20216
21200
  end
20217
21201
 
21202
+ #
21203
+ class InstancesReportHostAsFaultyRequest
21204
+ include Google::Apis::Core::Hashable
21205
+
21206
+ # The disruption schedule for the VM. Default to IMMEDIATE.
21207
+ # Corresponds to the JSON property `disruptionSchedule`
21208
+ # @return [String]
21209
+ attr_accessor :disruption_schedule
21210
+
21211
+ #
21212
+ # Corresponds to the JSON property `faultReasons`
21213
+ # @return [Array<Google::Apis::ComputeBeta::InstancesReportHostAsFaultyRequestFaultReason>]
21214
+ attr_accessor :fault_reasons
21215
+
21216
+ def initialize(**args)
21217
+ update!(**args)
21218
+ end
21219
+
21220
+ # Update properties of this object
21221
+ def update!(**args)
21222
+ @disruption_schedule = args[:disruption_schedule] if args.key?(:disruption_schedule)
21223
+ @fault_reasons = args[:fault_reasons] if args.key?(:fault_reasons)
21224
+ end
21225
+ end
21226
+
21227
+ #
21228
+ class InstancesReportHostAsFaultyRequestFaultReason
21229
+ include Google::Apis::Core::Hashable
21230
+
21231
+ #
21232
+ # Corresponds to the JSON property `behavior`
21233
+ # @return [String]
21234
+ attr_accessor :behavior
21235
+
21236
+ #
21237
+ # Corresponds to the JSON property `description`
21238
+ # @return [String]
21239
+ attr_accessor :description
21240
+
21241
+ def initialize(**args)
21242
+ update!(**args)
21243
+ end
21244
+
21245
+ # Update properties of this object
21246
+ def update!(**args)
21247
+ @behavior = args[:behavior] if args.key?(:behavior)
21248
+ @description = args[:description] if args.key?(:description)
21249
+ end
21250
+ end
21251
+
20218
21252
  #
20219
21253
  class InstancesResumeRequest
20220
21254
  include Google::Apis::Core::Hashable
@@ -21298,6 +22332,13 @@ module Google
21298
22332
  # @return [String]
21299
22333
  attr_accessor :state
21300
22334
 
22335
+ # [Output Only] A list of the URLs of all CrossSiteNetwork WireGroups configured
22336
+ # to use this Interconnect. The Interconnect cannot be deleted if this list is
22337
+ # non-empty.
22338
+ # Corresponds to the JSON property `wireGroups`
22339
+ # @return [Array<String>]
22340
+ attr_accessor :wire_groups
22341
+
21301
22342
  def initialize(**args)
21302
22343
  update!(**args)
21303
22344
  end
@@ -21336,6 +22377,7 @@ module Google
21336
22377
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
21337
22378
  @self_link = args[:self_link] if args.key?(:self_link)
21338
22379
  @state = args[:state] if args.key?(:state)
22380
+ @wire_groups = args[:wire_groups] if args.key?(:wire_groups)
21339
22381
  end
21340
22382
  end
21341
22383
 
@@ -21459,7 +22501,7 @@ module Google
21459
22501
  # BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M:
21460
22502
  # 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s -
21461
22503
  # BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/
21462
- # s
22504
+ # s - BPS_100G: 100 Gbit/s
21463
22505
  # Corresponds to the JSON property `bandwidth`
21464
22506
  # @return [String]
21465
22507
  attr_accessor :bandwidth
@@ -21469,13 +22511,13 @@ module Google
21469
22511
  # @return [Array<String>]
21470
22512
  attr_accessor :candidate_ipv6_subnets
21471
22513
 
21472
- # Up to 16 candidate prefixes that can be used to restrict the allocation of
21473
- # cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
21474
- # prefixes must be within link-local address space (169.254.0.0/16) and must be /
21475
- # 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
21476
- # from the supplied candidate prefix(es). The request will fail if all possible /
21477
- # 29s are in use on Google's edge. If not supplied, Google will randomly select
21478
- # an unused /29 from all of link-local space.
22514
+ # Input only. Up to 16 candidate prefixes that can be used to restrict the
22515
+ # allocation of cloudRouterIpAddress and customerRouterIpAddress for this
22516
+ # attachment. All prefixes must be within link-local address space (169.254.0.0/
22517
+ # 16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select
22518
+ # an unused /29 from the supplied candidate prefix(es). The request will fail if
22519
+ # all possible /29s are in use on Google's edge. If not supplied, Google will
22520
+ # randomly select an unused /29 from all of link-local space.
21479
22521
  # Corresponds to the JSON property `candidateSubnets`
21480
22522
  # @return [Array<String>]
21481
22523
  attr_accessor :candidate_subnets
@@ -21537,8 +22579,8 @@ module Google
21537
22579
  # @return [String]
21538
22580
  attr_accessor :description
21539
22581
 
21540
- # Desired availability domain for the attachment. Only available for type
21541
- # PARTNER, at creation time, and can take one of the following values: -
22582
+ # Input only. Desired availability domain for the attachment. Only available for
22583
+ # type PARTNER, at creation time, and can take one of the following values: -
21542
22584
  # AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For
21543
22585
  # improved reliability, customers should configure a pair of attachments, one
21544
22586
  # per availability domain. The selected availability domain will be provided to
@@ -21738,13 +22780,13 @@ module Google
21738
22780
  # @return [String]
21739
22781
  attr_accessor :state
21740
22782
 
21741
- # Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The
21742
- # default value is 29, except for Cross-Cloud Interconnect connections that use
21743
- # an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal
21744
- # to 30. For example, connections that use an Azure remote location fall into
21745
- # this category. In these cases, the default value is 30, and requesting 29
21746
- # returns an error. Where both 29 and 30 are allowed, 29 is preferred, because
21747
- # it gives Google Cloud Support more debugging visibility.
22783
+ # Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) -
22784
+ # 30 The default value is 29, except for Cross-Cloud Interconnect connections
22785
+ # that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.
22786
+ # min equal to 30. For example, connections that use an Azure remote location
22787
+ # fall into this category. In these cases, the default value is 30, and
22788
+ # requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is
22789
+ # preferred, because it gives Google Cloud Support more debugging visibility.
21748
22790
  # Corresponds to the JSON property `subnetLength`
21749
22791
  # @return [Fixnum]
21750
22792
  attr_accessor :subnet_length
@@ -22701,6 +23743,14 @@ module Google
22701
23743
  # @return [String]
22702
23744
  attr_accessor :creation_timestamp
22703
23745
 
23746
+ # [Output Only] A list of InterconnectLocation.CrossSiteInterconnectInfo objects,
23747
+ # that describe where Cross-Site Interconnect wires may connect to from this
23748
+ # location and associated connection parameters. Cross-Site Interconnect isn't
23749
+ # allowed to locations which are not listed.
23750
+ # Corresponds to the JSON property `crossSiteInterconnectInfos`
23751
+ # @return [Array<Google::Apis::ComputeBeta::InterconnectLocationCrossSiteInterconnectInfo>]
23752
+ attr_accessor :cross_site_interconnect_infos
23753
+
22704
23754
  # [Output Only] An optional description of the resource.
22705
23755
  # Corresponds to the JSON property `description`
22706
23756
  # @return [String]
@@ -22779,6 +23829,7 @@ module Google
22779
23829
  @city = args[:city] if args.key?(:city)
22780
23830
  @continent = args[:continent] if args.key?(:continent)
22781
23831
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
23832
+ @cross_site_interconnect_infos = args[:cross_site_interconnect_infos] if args.key?(:cross_site_interconnect_infos)
22782
23833
  @description = args[:description] if args.key?(:description)
22783
23834
  @facility_provider = args[:facility_provider] if args.key?(:facility_provider)
22784
23835
  @facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
@@ -22793,6 +23844,28 @@ module Google
22793
23844
  end
22794
23845
  end
22795
23846
 
23847
+ # Information about Cross-Site Interconnect wires which may be created between
23848
+ # the containing location and another remote location.
23849
+ class InterconnectLocationCrossSiteInterconnectInfo
23850
+ include Google::Apis::Core::Hashable
23851
+
23852
+ # The remote location for Cross-Site Interconnect wires. This specifies an
23853
+ # InterconnectLocation city (metropolitan area designator), which itself may
23854
+ # match multiple InterconnectLocations.
23855
+ # Corresponds to the JSON property `city`
23856
+ # @return [String]
23857
+ attr_accessor :city
23858
+
23859
+ def initialize(**args)
23860
+ update!(**args)
23861
+ end
23862
+
23863
+ # Update properties of this object
23864
+ def update!(**args)
23865
+ @city = args[:city] if args.key?(:city)
23866
+ end
23867
+ end
23868
+
22796
23869
  # Response to the list request, and contains a list of interconnect locations.
22797
23870
  class InterconnectLocationList
22798
23871
  include Google::Apis::Core::Hashable
@@ -23751,17 +24824,17 @@ module Google
23751
24824
  class LicenseResourceCommitment
23752
24825
  include Google::Apis::Core::Hashable
23753
24826
 
23754
- # The number of licenses purchased.
24827
+ # The number of licenses you plan to purchase.
23755
24828
  # Corresponds to the JSON property `amount`
23756
24829
  # @return [Fixnum]
23757
24830
  attr_accessor :amount
23758
24831
 
23759
- # Specifies the core range of the instance for which this license applies.
24832
+ # The number of cores per license.
23760
24833
  # Corresponds to the JSON property `coresPerLicense`
23761
24834
  # @return [String]
23762
24835
  attr_accessor :cores_per_license
23763
24836
 
23764
- # Any applicable license URI.
24837
+ # The applicable license URI.
23765
24838
  # Corresponds to the JSON property `license`
23766
24839
  # @return [String]
23767
24840
  attr_accessor :license
@@ -26593,13 +27666,13 @@ module Google
26593
27666
  class NetworkEndpoint
26594
27667
  include Google::Apis::Core::Hashable
26595
27668
 
26596
- # Metadata defined as annotations on the network endpoint.
27669
+ # Optional metadata defined as annotations on the network endpoint.
26597
27670
  # Corresponds to the JSON property `annotations`
26598
27671
  # @return [Hash<String,String>]
26599
27672
  attr_accessor :annotations
26600
27673
 
26601
- # Represents the port number to which PSC consumer sends packets. Only valid for
26602
- # network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.
27674
+ # Represents the port number to which PSC consumer sends packets. Optional. Only
27675
+ # valid for network endpoint groups created with GCE_VM_IP_PORTMAP endpoint type.
26603
27676
  # Corresponds to the JSON property `clientDestinationPort`
26604
27677
  # @return [Fixnum]
26605
27678
  attr_accessor :client_destination_port
@@ -26610,12 +27683,13 @@ module Google
26610
27683
  # @return [String]
26611
27684
  attr_accessor :fqdn
26612
27685
 
26613
- # The name or a URL of VM instance of this network endpoint. This field is
26614
- # required for network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The
26615
- # instance must be in the same zone of network endpoint group (for zonal NEGs)
26616
- # or in the zone within the region of the NEG (for regional NEGs). If the
26617
- # ipAddress is specified, it must belongs to the VM instance. The name must be 1-
26618
- # 63 characters long, and comply with RFC1035 or be a valid URL pointing to an
27686
+ # The name or a URL of VM instance of this network endpoint. Optional, the field
27687
+ # presence depends on the network endpoint type. The field is required for
27688
+ # network endpoints of type GCE_VM_IP and GCE_VM_IP_PORT. The instance must be
27689
+ # in the same zone of network endpoint group (for zonal NEGs) or in the zone
27690
+ # within the region of the NEG (for regional NEGs). If the ipAddress is
27691
+ # specified, it must belongs to the VM instance. The name must be 1-63
27692
+ # characters long, and comply with RFC1035 or be a valid URL pointing to an
26619
27693
  # existing instance.
26620
27694
  # Corresponds to the JSON property `instance`
26621
27695
  # @return [String]
@@ -26669,7 +27743,7 @@ module Google
26669
27743
  class NetworkEndpointGroup
26670
27744
  include Google::Apis::Core::Hashable
26671
27745
 
26672
- # Metadata defined as annotations on the network endpoint group.
27746
+ # Optional. Metadata defined as annotations on the network endpoint group.
26673
27747
  # Corresponds to the JSON property `annotations`
26674
27748
  # @return [Hash<String,String>]
26675
27749
  attr_accessor :annotations
@@ -26704,8 +27778,8 @@ module Google
26704
27778
  attr_accessor :creation_timestamp
26705
27779
 
26706
27780
  # The default port used if the port number is not specified in the network
26707
- # endpoint. If the network endpoint type is either GCE_VM_IP, SERVERLESS or
26708
- # PRIVATE_SERVICE_CONNECT, this field must not be specified.
27781
+ # endpoint. Optional. If the network endpoint type is either GCE_VM_IP,
27782
+ # SERVERLESS or PRIVATE_SERVICE_CONNECT, this field must not be specified.
26709
27783
  # Corresponds to the JSON property `defaultPort`
26710
27784
  # @return [Fixnum]
26711
27785
  attr_accessor :default_port
@@ -26764,7 +27838,8 @@ module Google
26764
27838
 
26765
27839
  # The target service url used to set up private service connection to a Google
26766
27840
  # API or a PSC Producer Service Attachment. An example value is: asia-northeast3-
26767
- # cloudkms.googleapis.com
27841
+ # cloudkms.googleapis.com. Optional. Only valid when networkEndpointType is
27842
+ # PRIVATE_SERVICE_CONNECT.
26768
27843
  # Corresponds to the JSON property `pscTargetService`
26769
27844
  # @return [String]
26770
27845
  attr_accessor :psc_target_service
@@ -27241,168 +28316,398 @@ module Google
27241
28316
  end
27242
28317
  end
27243
28318
 
27244
- # All data that is specifically relevant to only network endpoint groups of type
27245
- # PRIVATE_SERVICE_CONNECT.
27246
- class NetworkEndpointGroupPscData
27247
- include Google::Apis::Core::Hashable
27248
-
27249
- # [Output Only] Address allocated from given subnetwork for PSC. This IP address
27250
- # acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.
27251
- # Corresponds to the JSON property `consumerPscAddress`
27252
- # @return [String]
27253
- attr_accessor :consumer_psc_address
27254
-
27255
- # The psc producer port is used to connect PSC NEG with specific port on the PSC
27256
- # Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
27257
- # Corresponds to the JSON property `producerPort`
27258
- # @return [Fixnum]
27259
- attr_accessor :producer_port
27260
-
27261
- # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
27262
- # Corresponds to the JSON property `pscConnectionId`
27263
- # @return [Fixnum]
27264
- attr_accessor :psc_connection_id
27265
-
27266
- # [Output Only] The connection status of the PSC Forwarding Rule.
27267
- # Corresponds to the JSON property `pscConnectionStatus`
27268
- # @return [String]
27269
- attr_accessor :psc_connection_status
27270
-
27271
- def initialize(**args)
27272
- update!(**args)
27273
- end
27274
-
27275
- # Update properties of this object
27276
- def update!(**args)
27277
- @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address)
27278
- @producer_port = args[:producer_port] if args.key?(:producer_port)
27279
- @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
27280
- @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
27281
- end
27282
- end
27283
-
27284
- # Configuration for a serverless network endpoint group (NEG). The platform must
27285
- # be provided. Note: The target backend service must be in the same project and
27286
- # located in the same region as the Serverless NEG.
27287
- class NetworkEndpointGroupServerlessDeployment
27288
- include Google::Apis::Core::Hashable
27289
-
27290
- # The platform of the backend target(s) of this NEG. The only supported value is
27291
- # API Gateway: apigateway.googleapis.com.
27292
- # Corresponds to the JSON property `platform`
27293
- # @return [String]
27294
- attr_accessor :platform
27295
-
27296
- # The user-defined name of the workload/instance. This value must be provided
27297
- # explicitly or in the urlMask. The resource identified by this value is
27298
- # platform-specific and is as follows: 1. API Gateway: The gateway ID 2. App
27299
- # Engine: The service name 3. Cloud Functions: The function name 4. Cloud Run:
27300
- # The service name
27301
- # Corresponds to the JSON property `resource`
27302
- # @return [String]
27303
- attr_accessor :resource
27304
-
27305
- # An URL mask is one of the main components of the Cloud Function. A template to
27306
- # parse platform-specific fields from a request URL. URL mask allows for routing
27307
- # to multiple resources on the same serverless platform without having to create
27308
- # multiple Network Endpoint Groups and backend resources. The fields parsed by
27309
- # this template are platform-specific and are as follows: 1. API Gateway: The
27310
- # gateway ID 2. App Engine: The service and version 3. Cloud Functions: The
27311
- # function name 4. Cloud Run: The service and tag
27312
- # Corresponds to the JSON property `urlMask`
27313
- # @return [String]
27314
- attr_accessor :url_mask
27315
-
27316
- # The optional resource version. The version identified by this value is
27317
- # platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The
27318
- # service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag
27319
- # Corresponds to the JSON property `version`
27320
- # @return [String]
27321
- attr_accessor :version
27322
-
27323
- def initialize(**args)
27324
- update!(**args)
27325
- end
27326
-
27327
- # Update properties of this object
27328
- def update!(**args)
27329
- @platform = args[:platform] if args.key?(:platform)
27330
- @resource = args[:resource] if args.key?(:resource)
27331
- @url_mask = args[:url_mask] if args.key?(:url_mask)
27332
- @version = args[:version] if args.key?(:version)
27333
- end
27334
- end
27335
-
28319
+ # All data that is specifically relevant to only network endpoint groups of type
28320
+ # PRIVATE_SERVICE_CONNECT.
28321
+ class NetworkEndpointGroupPscData
28322
+ include Google::Apis::Core::Hashable
28323
+
28324
+ # [Output Only] Address allocated from given subnetwork for PSC. This IP address
28325
+ # acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.
28326
+ # Corresponds to the JSON property `consumerPscAddress`
28327
+ # @return [String]
28328
+ attr_accessor :consumer_psc_address
28329
+
28330
+ # The psc producer port is used to connect PSC NEG with specific port on the PSC
28331
+ # Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type
28332
+ # Corresponds to the JSON property `producerPort`
28333
+ # @return [Fixnum]
28334
+ attr_accessor :producer_port
28335
+
28336
+ # [Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.
28337
+ # Corresponds to the JSON property `pscConnectionId`
28338
+ # @return [Fixnum]
28339
+ attr_accessor :psc_connection_id
28340
+
28341
+ # [Output Only] The connection status of the PSC Forwarding Rule.
28342
+ # Corresponds to the JSON property `pscConnectionStatus`
28343
+ # @return [String]
28344
+ attr_accessor :psc_connection_status
28345
+
28346
+ def initialize(**args)
28347
+ update!(**args)
28348
+ end
28349
+
28350
+ # Update properties of this object
28351
+ def update!(**args)
28352
+ @consumer_psc_address = args[:consumer_psc_address] if args.key?(:consumer_psc_address)
28353
+ @producer_port = args[:producer_port] if args.key?(:producer_port)
28354
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
28355
+ @psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
28356
+ end
28357
+ end
28358
+
28359
+ # Configuration for a serverless network endpoint group (NEG). The platform must
28360
+ # be provided. Note: The target backend service must be in the same project and
28361
+ # located in the same region as the Serverless NEG.
28362
+ class NetworkEndpointGroupServerlessDeployment
28363
+ include Google::Apis::Core::Hashable
28364
+
28365
+ # The platform of the backend target(s) of this NEG. The only supported value is
28366
+ # API Gateway: apigateway.googleapis.com.
28367
+ # Corresponds to the JSON property `platform`
28368
+ # @return [String]
28369
+ attr_accessor :platform
28370
+
28371
+ # The user-defined name of the workload/instance. This value must be provided
28372
+ # explicitly or in the urlMask. The resource identified by this value is
28373
+ # platform-specific and is as follows: 1. API Gateway: The gateway ID 2. App
28374
+ # Engine: The service name 3. Cloud Functions: The function name 4. Cloud Run:
28375
+ # The service name
28376
+ # Corresponds to the JSON property `resource`
28377
+ # @return [String]
28378
+ attr_accessor :resource
28379
+
28380
+ # An URL mask is one of the main components of the Cloud Function. A template to
28381
+ # parse platform-specific fields from a request URL. URL mask allows for routing
28382
+ # to multiple resources on the same serverless platform without having to create
28383
+ # multiple Network Endpoint Groups and backend resources. The fields parsed by
28384
+ # this template are platform-specific and are as follows: 1. API Gateway: The
28385
+ # gateway ID 2. App Engine: The service and version 3. Cloud Functions: The
28386
+ # function name 4. Cloud Run: The service and tag
28387
+ # Corresponds to the JSON property `urlMask`
28388
+ # @return [String]
28389
+ attr_accessor :url_mask
28390
+
28391
+ # The optional resource version. The version identified by this value is
28392
+ # platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The
28393
+ # service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag
28394
+ # Corresponds to the JSON property `version`
28395
+ # @return [String]
28396
+ attr_accessor :version
28397
+
28398
+ def initialize(**args)
28399
+ update!(**args)
28400
+ end
28401
+
28402
+ # Update properties of this object
28403
+ def update!(**args)
28404
+ @platform = args[:platform] if args.key?(:platform)
28405
+ @resource = args[:resource] if args.key?(:resource)
28406
+ @url_mask = args[:url_mask] if args.key?(:url_mask)
28407
+ @version = args[:version] if args.key?(:version)
28408
+ end
28409
+ end
28410
+
28411
+ #
28412
+ class NetworkEndpointGroupsAttachEndpointsRequest
28413
+ include Google::Apis::Core::Hashable
28414
+
28415
+ # The list of network endpoints to be attached.
28416
+ # Corresponds to the JSON property `networkEndpoints`
28417
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEndpoint>]
28418
+ attr_accessor :network_endpoints
28419
+
28420
+ def initialize(**args)
28421
+ update!(**args)
28422
+ end
28423
+
28424
+ # Update properties of this object
28425
+ def update!(**args)
28426
+ @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
28427
+ end
28428
+ end
28429
+
28430
+ #
28431
+ class NetworkEndpointGroupsDetachEndpointsRequest
28432
+ include Google::Apis::Core::Hashable
28433
+
28434
+ # The list of network endpoints to be detached.
28435
+ # Corresponds to the JSON property `networkEndpoints`
28436
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEndpoint>]
28437
+ attr_accessor :network_endpoints
28438
+
28439
+ def initialize(**args)
28440
+ update!(**args)
28441
+ end
28442
+
28443
+ # Update properties of this object
28444
+ def update!(**args)
28445
+ @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
28446
+ end
28447
+ end
28448
+
28449
+ #
28450
+ class NetworkEndpointGroupsListEndpointsRequest
28451
+ include Google::Apis::Core::Hashable
28452
+
28453
+ # Optional list of endpoints to query. This is a more efficient but also limited
28454
+ # version of filter parameter. Endpoints in the filter must have ip_address and
28455
+ # port fields populated, other fields are not supported.
28456
+ # Corresponds to the JSON property `endpointFilters`
28457
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter>]
28458
+ attr_accessor :endpoint_filters
28459
+
28460
+ # Optional query parameter for showing the health status of each network
28461
+ # endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter,
28462
+ # the health status of network endpoints will not be provided.
28463
+ # Corresponds to the JSON property `healthStatus`
28464
+ # @return [String]
28465
+ attr_accessor :health_status
28466
+
28467
+ def initialize(**args)
28468
+ update!(**args)
28469
+ end
28470
+
28471
+ # Update properties of this object
28472
+ def update!(**args)
28473
+ @endpoint_filters = args[:endpoint_filters] if args.key?(:endpoint_filters)
28474
+ @health_status = args[:health_status] if args.key?(:health_status)
28475
+ end
28476
+ end
28477
+
28478
+ #
28479
+ class NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter
28480
+ include Google::Apis::Core::Hashable
28481
+
28482
+ # The network endpoint.
28483
+ # Corresponds to the JSON property `networkEndpoint`
28484
+ # @return [Google::Apis::ComputeBeta::NetworkEndpoint]
28485
+ attr_accessor :network_endpoint
28486
+
28487
+ def initialize(**args)
28488
+ update!(**args)
28489
+ end
28490
+
28491
+ # Update properties of this object
28492
+ def update!(**args)
28493
+ @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
28494
+ end
28495
+ end
28496
+
28497
+ #
28498
+ class NetworkEndpointGroupsListNetworkEndpoints
28499
+ include Google::Apis::Core::Hashable
28500
+
28501
+ # [Output Only] Unique identifier for the resource; defined by the server.
28502
+ # Corresponds to the JSON property `id`
28503
+ # @return [String]
28504
+ attr_accessor :id
28505
+
28506
+ # A list of NetworkEndpointWithHealthStatus resources.
28507
+ # Corresponds to the JSON property `items`
28508
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointWithHealthStatus>]
28509
+ attr_accessor :items
28510
+
28511
+ # [Output Only] The resource type, which is always compute#
28512
+ # networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in
28513
+ # the specified network endpoint group.
28514
+ # Corresponds to the JSON property `kind`
28515
+ # @return [String]
28516
+ attr_accessor :kind
28517
+
28518
+ # [Output Only] This token allows you to get the next page of results for list
28519
+ # requests. If the number of results is larger than maxResults, use the
28520
+ # nextPageToken as a value for the query parameter pageToken in the next list
28521
+ # request. Subsequent list requests will have their own nextPageToken to
28522
+ # continue paging through the results.
28523
+ # Corresponds to the JSON property `nextPageToken`
28524
+ # @return [String]
28525
+ attr_accessor :next_page_token
28526
+
28527
+ # [Output Only] Informational warning message.
28528
+ # Corresponds to the JSON property `warning`
28529
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupsListNetworkEndpoints::Warning]
28530
+ attr_accessor :warning
28531
+
28532
+ def initialize(**args)
28533
+ update!(**args)
28534
+ end
28535
+
28536
+ # Update properties of this object
28537
+ def update!(**args)
28538
+ @id = args[:id] if args.key?(:id)
28539
+ @items = args[:items] if args.key?(:items)
28540
+ @kind = args[:kind] if args.key?(:kind)
28541
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
28542
+ @warning = args[:warning] if args.key?(:warning)
28543
+ end
28544
+
28545
+ # [Output Only] Informational warning message.
28546
+ class Warning
28547
+ include Google::Apis::Core::Hashable
28548
+
28549
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
28550
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
28551
+ # Corresponds to the JSON property `code`
28552
+ # @return [String]
28553
+ attr_accessor :code
28554
+
28555
+ # [Output Only] Metadata about this warning in key: value format. For example: "
28556
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
28557
+ # Corresponds to the JSON property `data`
28558
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroupsListNetworkEndpoints::Warning::Datum>]
28559
+ attr_accessor :data
28560
+
28561
+ # [Output Only] A human-readable description of the warning code.
28562
+ # Corresponds to the JSON property `message`
28563
+ # @return [String]
28564
+ attr_accessor :message
28565
+
28566
+ def initialize(**args)
28567
+ update!(**args)
28568
+ end
28569
+
28570
+ # Update properties of this object
28571
+ def update!(**args)
28572
+ @code = args[:code] if args.key?(:code)
28573
+ @data = args[:data] if args.key?(:data)
28574
+ @message = args[:message] if args.key?(:message)
28575
+ end
28576
+
28577
+ #
28578
+ class Datum
28579
+ include Google::Apis::Core::Hashable
28580
+
28581
+ # [Output Only] A key that provides more detail on the warning being returned.
28582
+ # For example, for warnings where there are no results in a list request for a
28583
+ # particular zone, this key might be scope and the key value might be the zone
28584
+ # name. Other examples might be a key indicating a deprecated resource and a
28585
+ # suggested replacement, or a warning about invalid network settings (for
28586
+ # example, if an instance attempts to perform IP forwarding but is not enabled
28587
+ # for IP forwarding).
28588
+ # Corresponds to the JSON property `key`
28589
+ # @return [String]
28590
+ attr_accessor :key
28591
+
28592
+ # [Output Only] A warning data value corresponding to the key.
28593
+ # Corresponds to the JSON property `value`
28594
+ # @return [String]
28595
+ attr_accessor :value
28596
+
28597
+ def initialize(**args)
28598
+ update!(**args)
28599
+ end
28600
+
28601
+ # Update properties of this object
28602
+ def update!(**args)
28603
+ @key = args[:key] if args.key?(:key)
28604
+ @value = args[:value] if args.key?(:value)
28605
+ end
28606
+ end
28607
+ end
28608
+ end
28609
+
28610
+ #
28611
+ class NetworkEndpointGroupsScopedList
28612
+ include Google::Apis::Core::Hashable
28613
+
28614
+ # [Output Only] The list of network endpoint groups that are contained in this
28615
+ # scope.
28616
+ # Corresponds to the JSON property `networkEndpointGroups`
28617
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroup>]
28618
+ attr_accessor :network_endpoint_groups
28619
+
28620
+ # [Output Only] An informational warning that replaces the list of network
28621
+ # endpoint groups when the list is empty.
28622
+ # Corresponds to the JSON property `warning`
28623
+ # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupsScopedList::Warning]
28624
+ attr_accessor :warning
28625
+
28626
+ def initialize(**args)
28627
+ update!(**args)
28628
+ end
28629
+
28630
+ # Update properties of this object
28631
+ def update!(**args)
28632
+ @network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups)
28633
+ @warning = args[:warning] if args.key?(:warning)
28634
+ end
28635
+
28636
+ # [Output Only] An informational warning that replaces the list of network
28637
+ # endpoint groups when the list is empty.
28638
+ class Warning
28639
+ include Google::Apis::Core::Hashable
28640
+
28641
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
28642
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
28643
+ # Corresponds to the JSON property `code`
28644
+ # @return [String]
28645
+ attr_accessor :code
28646
+
28647
+ # [Output Only] Metadata about this warning in key: value format. For example: "
28648
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
28649
+ # Corresponds to the JSON property `data`
28650
+ # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroupsScopedList::Warning::Datum>]
28651
+ attr_accessor :data
28652
+
28653
+ # [Output Only] A human-readable description of the warning code.
28654
+ # Corresponds to the JSON property `message`
28655
+ # @return [String]
28656
+ attr_accessor :message
28657
+
28658
+ def initialize(**args)
28659
+ update!(**args)
28660
+ end
28661
+
28662
+ # Update properties of this object
28663
+ def update!(**args)
28664
+ @code = args[:code] if args.key?(:code)
28665
+ @data = args[:data] if args.key?(:data)
28666
+ @message = args[:message] if args.key?(:message)
28667
+ end
28668
+
28669
+ #
28670
+ class Datum
28671
+ include Google::Apis::Core::Hashable
28672
+
28673
+ # [Output Only] A key that provides more detail on the warning being returned.
28674
+ # For example, for warnings where there are no results in a list request for a
28675
+ # particular zone, this key might be scope and the key value might be the zone
28676
+ # name. Other examples might be a key indicating a deprecated resource and a
28677
+ # suggested replacement, or a warning about invalid network settings (for
28678
+ # example, if an instance attempts to perform IP forwarding but is not enabled
28679
+ # for IP forwarding).
28680
+ # Corresponds to the JSON property `key`
28681
+ # @return [String]
28682
+ attr_accessor :key
28683
+
28684
+ # [Output Only] A warning data value corresponding to the key.
28685
+ # Corresponds to the JSON property `value`
28686
+ # @return [String]
28687
+ attr_accessor :value
28688
+
28689
+ def initialize(**args)
28690
+ update!(**args)
28691
+ end
28692
+
28693
+ # Update properties of this object
28694
+ def update!(**args)
28695
+ @key = args[:key] if args.key?(:key)
28696
+ @value = args[:value] if args.key?(:value)
28697
+ end
28698
+ end
28699
+ end
28700
+ end
28701
+
27336
28702
  #
27337
- class NetworkEndpointGroupsAttachEndpointsRequest
27338
- include Google::Apis::Core::Hashable
27339
-
27340
- # The list of network endpoints to be attached.
27341
- # Corresponds to the JSON property `networkEndpoints`
27342
- # @return [Array<Google::Apis::ComputeBeta::NetworkEndpoint>]
27343
- attr_accessor :network_endpoints
27344
-
27345
- def initialize(**args)
27346
- update!(**args)
27347
- end
27348
-
27349
- # Update properties of this object
27350
- def update!(**args)
27351
- @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
27352
- end
27353
- end
27354
-
27355
- #
27356
- class NetworkEndpointGroupsDetachEndpointsRequest
27357
- include Google::Apis::Core::Hashable
27358
-
27359
- # The list of network endpoints to be detached.
27360
- # Corresponds to the JSON property `networkEndpoints`
27361
- # @return [Array<Google::Apis::ComputeBeta::NetworkEndpoint>]
27362
- attr_accessor :network_endpoints
27363
-
27364
- def initialize(**args)
27365
- update!(**args)
27366
- end
27367
-
27368
- # Update properties of this object
27369
- def update!(**args)
27370
- @network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
27371
- end
27372
- end
27373
-
27374
- #
27375
- class NetworkEndpointGroupsListEndpointsRequest
28703
+ class NetworkEndpointWithHealthStatus
27376
28704
  include Google::Apis::Core::Hashable
27377
28705
 
27378
- # Optional list of endpoints to query. This is a more efficient but also limited
27379
- # version of filter parameter. Endpoints in the filter must have ip_address and
27380
- # port fields populated, other fields are not supported.
27381
- # Corresponds to the JSON property `endpointFilters`
27382
- # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter>]
27383
- attr_accessor :endpoint_filters
27384
-
27385
- # Optional query parameter for showing the health status of each network
27386
- # endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter,
27387
- # the health status of network endpoints will not be provided.
27388
- # Corresponds to the JSON property `healthStatus`
27389
- # @return [String]
27390
- attr_accessor :health_status
27391
-
27392
- def initialize(**args)
27393
- update!(**args)
27394
- end
27395
-
27396
- # Update properties of this object
27397
- def update!(**args)
27398
- @endpoint_filters = args[:endpoint_filters] if args.key?(:endpoint_filters)
27399
- @health_status = args[:health_status] if args.key?(:health_status)
27400
- end
27401
- end
27402
-
27403
- #
27404
- class NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter
27405
- include Google::Apis::Core::Hashable
28706
+ # [Output only] The health status of network endpoint. Optional. Displayed only
28707
+ # if the network endpoint has centralized health checking configured.
28708
+ # Corresponds to the JSON property `healths`
28709
+ # @return [Array<Google::Apis::ComputeBeta::HealthStatusForNetworkEndpoint>]
28710
+ attr_accessor :healths
27406
28711
 
27407
28712
  # The network endpoint.
27408
28713
  # Corresponds to the JSON property `networkEndpoint`
@@ -27415,12 +28720,13 @@ module Google
27415
28720
 
27416
28721
  # Update properties of this object
27417
28722
  def update!(**args)
28723
+ @healths = args[:healths] if args.key?(:healths)
27418
28724
  @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
27419
28725
  end
27420
28726
  end
27421
28727
 
27422
28728
  #
27423
- class NetworkEndpointGroupsListNetworkEndpoints
28729
+ class NetworkFirewallPolicyAggregatedList
27424
28730
  include Google::Apis::Core::Hashable
27425
28731
 
27426
28732
  # [Output Only] Unique identifier for the resource; defined by the server.
@@ -27428,14 +28734,13 @@ module Google
27428
28734
  # @return [String]
27429
28735
  attr_accessor :id
27430
28736
 
27431
- # A list of NetworkEndpointWithHealthStatus resources.
28737
+ # A list of FirewallPoliciesScopedList resources.
27432
28738
  # Corresponds to the JSON property `items`
27433
- # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointWithHealthStatus>]
28739
+ # @return [Hash<String,Google::Apis::ComputeBeta::FirewallPoliciesScopedList>]
27434
28740
  attr_accessor :items
27435
28741
 
27436
- # [Output Only] The resource type, which is always compute#
27437
- # networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in
27438
- # the specified network endpoint group.
28742
+ # [Output Only] Type of resource. Always compute#
28743
+ # networkFirewallPoliciesAggregatedList for lists of network firewall policies.
27439
28744
  # Corresponds to the JSON property `kind`
27440
28745
  # @return [String]
27441
28746
  attr_accessor :kind
@@ -27449,9 +28754,19 @@ module Google
27449
28754
  # @return [String]
27450
28755
  attr_accessor :next_page_token
27451
28756
 
28757
+ # [Output Only] Server-defined URL for this resource.
28758
+ # Corresponds to the JSON property `selfLink`
28759
+ # @return [String]
28760
+ attr_accessor :self_link
28761
+
28762
+ # [Output Only] Unreachable resources.
28763
+ # Corresponds to the JSON property `unreachables`
28764
+ # @return [Array<String>]
28765
+ attr_accessor :unreachables
28766
+
27452
28767
  # [Output Only] Informational warning message.
27453
28768
  # Corresponds to the JSON property `warning`
27454
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupsListNetworkEndpoints::Warning]
28769
+ # @return [Google::Apis::ComputeBeta::NetworkFirewallPolicyAggregatedList::Warning]
27455
28770
  attr_accessor :warning
27456
28771
 
27457
28772
  def initialize(**args)
@@ -27464,6 +28779,8 @@ module Google
27464
28779
  @items = args[:items] if args.key?(:items)
27465
28780
  @kind = args[:kind] if args.key?(:kind)
27466
28781
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
28782
+ @self_link = args[:self_link] if args.key?(:self_link)
28783
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
27467
28784
  @warning = args[:warning] if args.key?(:warning)
27468
28785
  end
27469
28786
 
@@ -27480,7 +28797,7 @@ module Google
27480
28797
  # [Output Only] Metadata about this warning in key: value format. For example: "
27481
28798
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27482
28799
  # Corresponds to the JSON property `data`
27483
- # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroupsListNetworkEndpoints::Warning::Datum>]
28800
+ # @return [Array<Google::Apis::ComputeBeta::NetworkFirewallPolicyAggregatedList::Warning::Datum>]
27484
28801
  attr_accessor :data
27485
28802
 
27486
28803
  # [Output Only] A human-readable description of the warning code.
@@ -27532,123 +28849,6 @@ module Google
27532
28849
  end
27533
28850
  end
27534
28851
 
27535
- #
27536
- class NetworkEndpointGroupsScopedList
27537
- include Google::Apis::Core::Hashable
27538
-
27539
- # [Output Only] The list of network endpoint groups that are contained in this
27540
- # scope.
27541
- # Corresponds to the JSON property `networkEndpointGroups`
27542
- # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroup>]
27543
- attr_accessor :network_endpoint_groups
27544
-
27545
- # [Output Only] An informational warning that replaces the list of network
27546
- # endpoint groups when the list is empty.
27547
- # Corresponds to the JSON property `warning`
27548
- # @return [Google::Apis::ComputeBeta::NetworkEndpointGroupsScopedList::Warning]
27549
- attr_accessor :warning
27550
-
27551
- def initialize(**args)
27552
- update!(**args)
27553
- end
27554
-
27555
- # Update properties of this object
27556
- def update!(**args)
27557
- @network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups)
27558
- @warning = args[:warning] if args.key?(:warning)
27559
- end
27560
-
27561
- # [Output Only] An informational warning that replaces the list of network
27562
- # endpoint groups when the list is empty.
27563
- class Warning
27564
- include Google::Apis::Core::Hashable
27565
-
27566
- # [Output Only] A warning code, if applicable. For example, Compute Engine
27567
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
27568
- # Corresponds to the JSON property `code`
27569
- # @return [String]
27570
- attr_accessor :code
27571
-
27572
- # [Output Only] Metadata about this warning in key: value format. For example: "
27573
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
27574
- # Corresponds to the JSON property `data`
27575
- # @return [Array<Google::Apis::ComputeBeta::NetworkEndpointGroupsScopedList::Warning::Datum>]
27576
- attr_accessor :data
27577
-
27578
- # [Output Only] A human-readable description of the warning code.
27579
- # Corresponds to the JSON property `message`
27580
- # @return [String]
27581
- attr_accessor :message
27582
-
27583
- def initialize(**args)
27584
- update!(**args)
27585
- end
27586
-
27587
- # Update properties of this object
27588
- def update!(**args)
27589
- @code = args[:code] if args.key?(:code)
27590
- @data = args[:data] if args.key?(:data)
27591
- @message = args[:message] if args.key?(:message)
27592
- end
27593
-
27594
- #
27595
- class Datum
27596
- include Google::Apis::Core::Hashable
27597
-
27598
- # [Output Only] A key that provides more detail on the warning being returned.
27599
- # For example, for warnings where there are no results in a list request for a
27600
- # particular zone, this key might be scope and the key value might be the zone
27601
- # name. Other examples might be a key indicating a deprecated resource and a
27602
- # suggested replacement, or a warning about invalid network settings (for
27603
- # example, if an instance attempts to perform IP forwarding but is not enabled
27604
- # for IP forwarding).
27605
- # Corresponds to the JSON property `key`
27606
- # @return [String]
27607
- attr_accessor :key
27608
-
27609
- # [Output Only] A warning data value corresponding to the key.
27610
- # Corresponds to the JSON property `value`
27611
- # @return [String]
27612
- attr_accessor :value
27613
-
27614
- def initialize(**args)
27615
- update!(**args)
27616
- end
27617
-
27618
- # Update properties of this object
27619
- def update!(**args)
27620
- @key = args[:key] if args.key?(:key)
27621
- @value = args[:value] if args.key?(:value)
27622
- end
27623
- end
27624
- end
27625
- end
27626
-
27627
- #
27628
- class NetworkEndpointWithHealthStatus
27629
- include Google::Apis::Core::Hashable
27630
-
27631
- # [Output only] The health status of network endpoint;
27632
- # Corresponds to the JSON property `healths`
27633
- # @return [Array<Google::Apis::ComputeBeta::HealthStatusForNetworkEndpoint>]
27634
- attr_accessor :healths
27635
-
27636
- # The network endpoint.
27637
- # Corresponds to the JSON property `networkEndpoint`
27638
- # @return [Google::Apis::ComputeBeta::NetworkEndpoint]
27639
- attr_accessor :network_endpoint
27640
-
27641
- def initialize(**args)
27642
- update!(**args)
27643
- end
27644
-
27645
- # Update properties of this object
27646
- def update!(**args)
27647
- @healths = args[:healths] if args.key?(:healths)
27648
- @network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
27649
- end
27650
- end
27651
-
27652
28852
  # A network interface resource attached to an instance.
27653
28853
  class NetworkInterface
27654
28854
  include Google::Apis::Core::Hashable
@@ -27748,6 +28948,11 @@ module Google
27748
28948
  # @return [String]
27749
28949
  attr_accessor :nic_type
27750
28950
 
28951
+ # Name of the parent network interface of a dynamic network interface.
28952
+ # Corresponds to the JSON property `parentNicName`
28953
+ # @return [String]
28954
+ attr_accessor :parent_nic_name
28955
+
27751
28956
  # The networking queue count that's specified by users for the network interface.
27752
28957
  # Both Rx and Tx queues will be set to this number. It'll be empty if not
27753
28958
  # specified by the users.
@@ -27775,6 +28980,12 @@ module Google
27775
28980
  # @return [String]
27776
28981
  attr_accessor :subnetwork
27777
28982
 
28983
+ # VLAN tag of a dynamic network interface, must be an integer in the range from
28984
+ # 2 to 255 inclusively.
28985
+ # Corresponds to the JSON property `vlan`
28986
+ # @return [Fixnum]
28987
+ attr_accessor :vlan
28988
+
27778
28989
  def initialize(**args)
27779
28990
  update!(**args)
27780
28991
  end
@@ -27794,9 +29005,11 @@ module Google
27794
29005
  @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
27795
29006
  @network_ip = args[:network_ip] if args.key?(:network_ip)
27796
29007
  @nic_type = args[:nic_type] if args.key?(:nic_type)
29008
+ @parent_nic_name = args[:parent_nic_name] if args.key?(:parent_nic_name)
27797
29009
  @queue_count = args[:queue_count] if args.key?(:queue_count)
27798
29010
  @stack_type = args[:stack_type] if args.key?(:stack_type)
27799
29011
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
29012
+ @vlan = args[:vlan] if args.key?(:vlan)
27800
29013
  end
27801
29014
  end
27802
29015
 
@@ -28104,11 +29317,6 @@ module Google
28104
29317
  # @return [String]
28105
29318
  attr_accessor :self_link_with_id
28106
29319
 
28107
- # [Output Only] Zone to which the network is restricted.
28108
- # Corresponds to the JSON property `zone`
28109
- # @return [String]
28110
- attr_accessor :zone
28111
-
28112
29320
  def initialize(**args)
28113
29321
  update!(**args)
28114
29322
  end
@@ -28124,7 +29332,6 @@ module Google
28124
29332
  @name = args[:name] if args.key?(:name)
28125
29333
  @self_link = args[:self_link] if args.key?(:self_link)
28126
29334
  @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
28127
- @zone = args[:zone] if args.key?(:zone)
28128
29335
  end
28129
29336
  end
28130
29337
 
@@ -30087,6 +31294,11 @@ module Google
30087
31294
  # @return [Fixnum]
30088
31295
  attr_accessor :local_ssd_gb
30089
31296
 
31297
+ # [Output Only] Maximum number of VMs that can be created for this node type.
31298
+ # Corresponds to the JSON property `maxVms`
31299
+ # @return [Fixnum]
31300
+ attr_accessor :max_vms
31301
+
30090
31302
  # [Output Only] The amount of physical memory available to the node type,
30091
31303
  # defined in MB.
30092
31304
  # Corresponds to the JSON property `memoryMb`
@@ -30123,6 +31335,7 @@ module Google
30123
31335
  @id = args[:id] if args.key?(:id)
30124
31336
  @kind = args[:kind] if args.key?(:kind)
30125
31337
  @local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
31338
+ @max_vms = args[:max_vms] if args.key?(:max_vms)
30126
31339
  @memory_mb = args[:memory_mb] if args.key?(:memory_mb)
30127
31340
  @name = args[:name] if args.key?(:name)
30128
31341
  @self_link = args[:self_link] if args.key?(:self_link)
@@ -34262,7 +35475,7 @@ module Google
34262
35475
  class RegionCommitmentsUpdateReservationsRequest
34263
35476
  include Google::Apis::Core::Hashable
34264
35477
 
34265
- # A list of two reservations to transfer GPUs and local SSD between.
35478
+ # A list of two reservations to transfer GPUs and Local SSD disks between.
34266
35479
  # Corresponds to the JSON property `reservations`
34267
35480
  # @return [Array<Google::Apis::ComputeBeta::Reservation>]
34268
35481
  attr_accessor :reservations
@@ -36071,6 +37284,11 @@ module Google
36071
37284
  # @return [String]
36072
37285
  attr_accessor :name
36073
37286
 
37287
+ # [Output only] Indicates the reservation mode of the reservation.
37288
+ # Corresponds to the JSON property `reservationMode`
37289
+ # @return [String]
37290
+ attr_accessor :reservation_mode
37291
+
36074
37292
  # Specify the reservation sharing policy. If unspecified, the reservation will
36075
37293
  # not be shared with Google Cloud managed services.
36076
37294
  # Corresponds to the JSON property `reservationSharingPolicy`
@@ -36148,6 +37366,7 @@ module Google
36148
37366
  @id = args[:id] if args.key?(:id)
36149
37367
  @kind = args[:kind] if args.key?(:kind)
36150
37368
  @name = args[:name] if args.key?(:name)
37369
+ @reservation_mode = args[:reservation_mode] if args.key?(:reservation_mode)
36151
37370
  @reservation_sharing_policy = args[:reservation_sharing_policy] if args.key?(:reservation_sharing_policy)
36152
37371
  @resource_policies = args[:resource_policies] if args.key?(:resource_policies)
36153
37372
  @resource_status = args[:resource_status] if args.key?(:resource_status)
@@ -36322,178 +37541,297 @@ module Google
36322
37541
  end
36323
37542
  end
36324
37543
 
36325
- # Represents a reservation block resource.
36326
- class ReservationBlock
37544
+ # Represents a reservation block resource.
37545
+ class ReservationBlock
37546
+ include Google::Apis::Core::Hashable
37547
+
37548
+ # [Output Only] The number of resources that are allocated in this reservation
37549
+ # block.
37550
+ # Corresponds to the JSON property `count`
37551
+ # @return [Fixnum]
37552
+ attr_accessor :count
37553
+
37554
+ # [Output Only] Creation timestamp in RFC3339 text format.
37555
+ # Corresponds to the JSON property `creationTimestamp`
37556
+ # @return [String]
37557
+ attr_accessor :creation_timestamp
37558
+
37559
+ # [Output Only] The unique identifier for the resource. This identifier is
37560
+ # defined by the server.
37561
+ # Corresponds to the JSON property `id`
37562
+ # @return [Fixnum]
37563
+ attr_accessor :id
37564
+
37565
+ # [Output Only] The number of instances that are currently in use on this
37566
+ # reservation block.
37567
+ # Corresponds to the JSON property `inUseCount`
37568
+ # @return [Fixnum]
37569
+ attr_accessor :in_use_count
37570
+
37571
+ # [Output Only] Type of the resource. Always compute#reservationBlock for
37572
+ # reservation blocks.
37573
+ # Corresponds to the JSON property `kind`
37574
+ # @return [String]
37575
+ attr_accessor :kind
37576
+
37577
+ # [Output Only] The name of this reservation block generated by Google Compute
37578
+ # Engine. The name must be 1-63 characters long, and comply with RFC1035 @
37579
+ # pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
37580
+ # Corresponds to the JSON property `name`
37581
+ # @return [String]
37582
+ attr_accessor :name
37583
+
37584
+ # [Output Only] The physical topology of the reservation block.
37585
+ # Corresponds to the JSON property `physicalTopology`
37586
+ # @return [Google::Apis::ComputeBeta::ReservationBlockPhysicalTopology]
37587
+ attr_accessor :physical_topology
37588
+
37589
+ # Maintenance Info for ReservationBlocks.
37590
+ # Corresponds to the JSON property `reservationMaintenance`
37591
+ # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
37592
+ attr_accessor :reservation_maintenance
37593
+
37594
+ # [Output Only] Server-defined fully-qualified URL for this resource.
37595
+ # Corresponds to the JSON property `selfLink`
37596
+ # @return [String]
37597
+ attr_accessor :self_link
37598
+
37599
+ # [Output Only] Server-defined URL for this resource with the resource id.
37600
+ # Corresponds to the JSON property `selfLinkWithId`
37601
+ # @return [String]
37602
+ attr_accessor :self_link_with_id
37603
+
37604
+ # [Output Only] Status of the reservation block.
37605
+ # Corresponds to the JSON property `status`
37606
+ # @return [String]
37607
+ attr_accessor :status
37608
+
37609
+ # [Output Only] Zone in which the reservation block resides.
37610
+ # Corresponds to the JSON property `zone`
37611
+ # @return [String]
37612
+ attr_accessor :zone
37613
+
37614
+ def initialize(**args)
37615
+ update!(**args)
37616
+ end
37617
+
37618
+ # Update properties of this object
37619
+ def update!(**args)
37620
+ @count = args[:count] if args.key?(:count)
37621
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
37622
+ @id = args[:id] if args.key?(:id)
37623
+ @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
37624
+ @kind = args[:kind] if args.key?(:kind)
37625
+ @name = args[:name] if args.key?(:name)
37626
+ @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
37627
+ @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
37628
+ @self_link = args[:self_link] if args.key?(:self_link)
37629
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
37630
+ @status = args[:status] if args.key?(:status)
37631
+ @zone = args[:zone] if args.key?(:zone)
37632
+ end
37633
+ end
37634
+
37635
+ #
37636
+ class ReservationBlockPhysicalTopology
37637
+ include Google::Apis::Core::Hashable
37638
+
37639
+ # The hash of the capacity block within the cluster.
37640
+ # Corresponds to the JSON property `block`
37641
+ # @return [String]
37642
+ attr_accessor :block
37643
+
37644
+ # The cluster name of the reservation block.
37645
+ # Corresponds to the JSON property `cluster`
37646
+ # @return [String]
37647
+ attr_accessor :cluster
37648
+
37649
+ def initialize(**args)
37650
+ update!(**args)
37651
+ end
37652
+
37653
+ # Update properties of this object
37654
+ def update!(**args)
37655
+ @block = args[:block] if args.key?(:block)
37656
+ @cluster = args[:cluster] if args.key?(:cluster)
37657
+ end
37658
+ end
37659
+
37660
+ #
37661
+ class ReservationBlocksGetResponse
37662
+ include Google::Apis::Core::Hashable
37663
+
37664
+ # Represents a reservation block resource.
37665
+ # Corresponds to the JSON property `resource`
37666
+ # @return [Google::Apis::ComputeBeta::ReservationBlock]
37667
+ attr_accessor :resource
37668
+
37669
+ def initialize(**args)
37670
+ update!(**args)
37671
+ end
37672
+
37673
+ # Update properties of this object
37674
+ def update!(**args)
37675
+ @resource = args[:resource] if args.key?(:resource)
37676
+ end
37677
+ end
37678
+
37679
+ # A list of reservation blocks under a single reservation.
37680
+ class ReservationBlocksListResponse
37681
+ include Google::Apis::Core::Hashable
37682
+
37683
+ # Unique identifier for the resource; defined by the server.
37684
+ # Corresponds to the JSON property `id`
37685
+ # @return [String]
37686
+ attr_accessor :id
37687
+
37688
+ # A list of reservation block resources.
37689
+ # Corresponds to the JSON property `items`
37690
+ # @return [Array<Google::Apis::ComputeBeta::ReservationBlock>]
37691
+ attr_accessor :items
37692
+
37693
+ # Type of the resource. Always compute#reservationBlock for a list of
37694
+ # reservation blocks.
37695
+ # Corresponds to the JSON property `kind`
37696
+ # @return [String]
37697
+ attr_accessor :kind
37698
+
37699
+ # This token allows you to get the next page of results for list requests. If
37700
+ # the number of results is larger than maxResults, use the nextPageToken as a
37701
+ # value for the query parameter pageToken in the next list request. Subsequent
37702
+ # list requests will have their own nextPageToken to continue paging through the
37703
+ # results.
37704
+ # Corresponds to the JSON property `nextPageToken`
37705
+ # @return [String]
37706
+ attr_accessor :next_page_token
37707
+
37708
+ # Server-defined URL for this resource.
37709
+ # Corresponds to the JSON property `selfLink`
37710
+ # @return [String]
37711
+ attr_accessor :self_link
37712
+
37713
+ # Informational warning message.
37714
+ # Corresponds to the JSON property `warning`
37715
+ # @return [Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning]
37716
+ attr_accessor :warning
37717
+
37718
+ def initialize(**args)
37719
+ update!(**args)
37720
+ end
37721
+
37722
+ # Update properties of this object
37723
+ def update!(**args)
37724
+ @id = args[:id] if args.key?(:id)
37725
+ @items = args[:items] if args.key?(:items)
37726
+ @kind = args[:kind] if args.key?(:kind)
37727
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
37728
+ @self_link = args[:self_link] if args.key?(:self_link)
37729
+ @warning = args[:warning] if args.key?(:warning)
37730
+ end
37731
+
37732
+ # Informational warning message.
37733
+ class Warning
37734
+ include Google::Apis::Core::Hashable
37735
+
37736
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
37737
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
37738
+ # Corresponds to the JSON property `code`
37739
+ # @return [String]
37740
+ attr_accessor :code
37741
+
37742
+ # [Output Only] Metadata about this warning in key: value format. For example: "
37743
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
37744
+ # Corresponds to the JSON property `data`
37745
+ # @return [Array<Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning::Datum>]
37746
+ attr_accessor :data
37747
+
37748
+ # [Output Only] A human-readable description of the warning code.
37749
+ # Corresponds to the JSON property `message`
37750
+ # @return [String]
37751
+ attr_accessor :message
37752
+
37753
+ def initialize(**args)
37754
+ update!(**args)
37755
+ end
37756
+
37757
+ # Update properties of this object
37758
+ def update!(**args)
37759
+ @code = args[:code] if args.key?(:code)
37760
+ @data = args[:data] if args.key?(:data)
37761
+ @message = args[:message] if args.key?(:message)
37762
+ end
37763
+
37764
+ #
37765
+ class Datum
37766
+ include Google::Apis::Core::Hashable
37767
+
37768
+ # [Output Only] A key that provides more detail on the warning being returned.
37769
+ # For example, for warnings where there are no results in a list request for a
37770
+ # particular zone, this key might be scope and the key value might be the zone
37771
+ # name. Other examples might be a key indicating a deprecated resource and a
37772
+ # suggested replacement, or a warning about invalid network settings (for
37773
+ # example, if an instance attempts to perform IP forwarding but is not enabled
37774
+ # for IP forwarding).
37775
+ # Corresponds to the JSON property `key`
37776
+ # @return [String]
37777
+ attr_accessor :key
37778
+
37779
+ # [Output Only] A warning data value corresponding to the key.
37780
+ # Corresponds to the JSON property `value`
37781
+ # @return [String]
37782
+ attr_accessor :value
37783
+
37784
+ def initialize(**args)
37785
+ update!(**args)
37786
+ end
37787
+
37788
+ # Update properties of this object
37789
+ def update!(**args)
37790
+ @key = args[:key] if args.key?(:key)
37791
+ @value = args[:value] if args.key?(:value)
37792
+ end
37793
+ end
37794
+ end
37795
+ end
37796
+
37797
+ #
37798
+ class ReservationList
36327
37799
  include Google::Apis::Core::Hashable
36328
37800
 
36329
- # [Output Only] The number of resources that are allocated in this reservation
36330
- # block.
36331
- # Corresponds to the JSON property `count`
36332
- # @return [Fixnum]
36333
- attr_accessor :count
36334
-
36335
- # [Output Only] Creation timestamp in RFC3339 text format.
36336
- # Corresponds to the JSON property `creationTimestamp`
36337
- # @return [String]
36338
- attr_accessor :creation_timestamp
36339
-
36340
37801
  # [Output Only] The unique identifier for the resource. This identifier is
36341
37802
  # defined by the server.
36342
37803
  # Corresponds to the JSON property `id`
36343
- # @return [Fixnum]
36344
- attr_accessor :id
36345
-
36346
- # [Output Only] The number of instances that are currently in use on this
36347
- # reservation block.
36348
- # Corresponds to the JSON property `inUseCount`
36349
- # @return [Fixnum]
36350
- attr_accessor :in_use_count
36351
-
36352
- # [Output Only] Type of the resource. Always compute#reservationBlock for
36353
- # reservation blocks.
36354
- # Corresponds to the JSON property `kind`
36355
- # @return [String]
36356
- attr_accessor :kind
36357
-
36358
- # [Output Only] The name of this reservation block generated by Google Compute
36359
- # Engine. The name must be 1-63 characters long, and comply with RFC1035 @
36360
- # pattern [a-z](?:[-a-z0-9]`0,61`[a-z0-9])?
36361
- # Corresponds to the JSON property `name`
36362
- # @return [String]
36363
- attr_accessor :name
36364
-
36365
- # [Output Only] The physical topology of the reservation block.
36366
- # Corresponds to the JSON property `physicalTopology`
36367
- # @return [Google::Apis::ComputeBeta::ReservationBlockPhysicalTopology]
36368
- attr_accessor :physical_topology
36369
-
36370
- # Maintenance Info for ReservationBlocks.
36371
- # Corresponds to the JSON property `reservationMaintenance`
36372
- # @return [Google::Apis::ComputeBeta::GroupMaintenanceInfo]
36373
- attr_accessor :reservation_maintenance
36374
-
36375
- # [Output Only] Server-defined fully-qualified URL for this resource.
36376
- # Corresponds to the JSON property `selfLink`
36377
- # @return [String]
36378
- attr_accessor :self_link
36379
-
36380
- # [Output Only] Server-defined URL for this resource with the resource id.
36381
- # Corresponds to the JSON property `selfLinkWithId`
36382
- # @return [String]
36383
- attr_accessor :self_link_with_id
36384
-
36385
- # [Output Only] Status of the reservation block.
36386
- # Corresponds to the JSON property `status`
36387
- # @return [String]
36388
- attr_accessor :status
36389
-
36390
- # [Output Only] Zone in which the reservation block resides.
36391
- # Corresponds to the JSON property `zone`
36392
- # @return [String]
36393
- attr_accessor :zone
36394
-
36395
- def initialize(**args)
36396
- update!(**args)
36397
- end
36398
-
36399
- # Update properties of this object
36400
- def update!(**args)
36401
- @count = args[:count] if args.key?(:count)
36402
- @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
36403
- @id = args[:id] if args.key?(:id)
36404
- @in_use_count = args[:in_use_count] if args.key?(:in_use_count)
36405
- @kind = args[:kind] if args.key?(:kind)
36406
- @name = args[:name] if args.key?(:name)
36407
- @physical_topology = args[:physical_topology] if args.key?(:physical_topology)
36408
- @reservation_maintenance = args[:reservation_maintenance] if args.key?(:reservation_maintenance)
36409
- @self_link = args[:self_link] if args.key?(:self_link)
36410
- @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
36411
- @status = args[:status] if args.key?(:status)
36412
- @zone = args[:zone] if args.key?(:zone)
36413
- end
36414
- end
36415
-
36416
- #
36417
- class ReservationBlockPhysicalTopology
36418
- include Google::Apis::Core::Hashable
36419
-
36420
- # The hash of the capacity block within the cluster.
36421
- # Corresponds to the JSON property `block`
36422
- # @return [String]
36423
- attr_accessor :block
36424
-
36425
- # The cluster name of the reservation block.
36426
- # Corresponds to the JSON property `cluster`
36427
- # @return [String]
36428
- attr_accessor :cluster
36429
-
36430
- def initialize(**args)
36431
- update!(**args)
36432
- end
36433
-
36434
- # Update properties of this object
36435
- def update!(**args)
36436
- @block = args[:block] if args.key?(:block)
36437
- @cluster = args[:cluster] if args.key?(:cluster)
36438
- end
36439
- end
36440
-
36441
- #
36442
- class ReservationBlocksGetResponse
36443
- include Google::Apis::Core::Hashable
36444
-
36445
- # Represents a reservation block resource.
36446
- # Corresponds to the JSON property `resource`
36447
- # @return [Google::Apis::ComputeBeta::ReservationBlock]
36448
- attr_accessor :resource
36449
-
36450
- def initialize(**args)
36451
- update!(**args)
36452
- end
36453
-
36454
- # Update properties of this object
36455
- def update!(**args)
36456
- @resource = args[:resource] if args.key?(:resource)
36457
- end
36458
- end
36459
-
36460
- # A list of reservation blocks under a single reservation.
36461
- class ReservationBlocksListResponse
36462
- include Google::Apis::Core::Hashable
36463
-
36464
- # Unique identifier for the resource; defined by the server.
36465
- # Corresponds to the JSON property `id`
36466
37804
  # @return [String]
36467
37805
  attr_accessor :id
36468
37806
 
36469
- # A list of reservation block resources.
37807
+ # [Output Only] A list of Allocation resources.
36470
37808
  # Corresponds to the JSON property `items`
36471
- # @return [Array<Google::Apis::ComputeBeta::ReservationBlock>]
37809
+ # @return [Array<Google::Apis::ComputeBeta::Reservation>]
36472
37810
  attr_accessor :items
36473
37811
 
36474
- # Type of the resource. Always compute#reservationBlock for a list of
36475
- # reservation blocks.
37812
+ # [Output Only] Type of resource.Always compute#reservationsList for listsof
37813
+ # reservations
36476
37814
  # Corresponds to the JSON property `kind`
36477
37815
  # @return [String]
36478
37816
  attr_accessor :kind
36479
37817
 
36480
- # This token allows you to get the next page of results for list requests. If
36481
- # the number of results is larger than maxResults, use the nextPageToken as a
36482
- # value for the query parameter pageToken in the next list request. Subsequent
36483
- # list requests will have their own nextPageToken to continue paging through the
36484
- # results.
37818
+ # [Output Only] This token allows you to get the next page of results for list
37819
+ # requests. If the number of results is larger than maxResults, use the
37820
+ # nextPageToken as a value for the query parameter pageToken in the next list
37821
+ # request. Subsequent list requests will have their own nextPageToken to
37822
+ # continue paging through the results.
36485
37823
  # Corresponds to the JSON property `nextPageToken`
36486
37824
  # @return [String]
36487
37825
  attr_accessor :next_page_token
36488
37826
 
36489
- # Server-defined URL for this resource.
37827
+ # [Output Only] Server-defined URL for this resource.
36490
37828
  # Corresponds to the JSON property `selfLink`
36491
37829
  # @return [String]
36492
37830
  attr_accessor :self_link
36493
37831
 
36494
- # Informational warning message.
37832
+ # [Output Only] Informational warning message.
36495
37833
  # Corresponds to the JSON property `warning`
36496
- # @return [Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning]
37834
+ # @return [Google::Apis::ComputeBeta::ReservationList::Warning]
36497
37835
  attr_accessor :warning
36498
37836
 
36499
37837
  def initialize(**args)
@@ -36510,7 +37848,7 @@ module Google
36510
37848
  @warning = args[:warning] if args.key?(:warning)
36511
37849
  end
36512
37850
 
36513
- # Informational warning message.
37851
+ # [Output Only] Informational warning message.
36514
37852
  class Warning
36515
37853
  include Google::Apis::Core::Hashable
36516
37854
 
@@ -36523,7 +37861,7 @@ module Google
36523
37861
  # [Output Only] Metadata about this warning in key: value format. For example: "
36524
37862
  # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36525
37863
  # Corresponds to the JSON property `data`
36526
- # @return [Array<Google::Apis::ComputeBeta::ReservationBlocksListResponse::Warning::Datum>]
37864
+ # @return [Array<Google::Apis::ComputeBeta::ReservationList::Warning::Datum>]
36527
37865
  attr_accessor :data
36528
37866
 
36529
37867
  # [Output Only] A human-readable description of the warning code.
@@ -36576,44 +37914,32 @@ module Google
36576
37914
  end
36577
37915
 
36578
37916
  #
36579
- class ReservationList
37917
+ class ReservationsBlocksPerformMaintenanceRequest
36580
37918
  include Google::Apis::Core::Hashable
36581
37919
 
36582
- # [Output Only] The unique identifier for the resource. This identifier is
36583
- # defined by the server.
36584
- # Corresponds to the JSON property `id`
37920
+ # Specifies if all, running or unused hosts are in scope for this request.
37921
+ # Corresponds to the JSON property `maintenanceScope`
36585
37922
  # @return [String]
36586
- attr_accessor :id
37923
+ attr_accessor :maintenance_scope
36587
37924
 
36588
- # [Output Only] A list of Allocation resources.
36589
- # Corresponds to the JSON property `items`
36590
- # @return [Array<Google::Apis::ComputeBeta::Reservation>]
36591
- attr_accessor :items
37925
+ def initialize(**args)
37926
+ update!(**args)
37927
+ end
36592
37928
 
36593
- # [Output Only] Type of resource.Always compute#reservationsList for listsof
36594
- # reservations
36595
- # Corresponds to the JSON property `kind`
36596
- # @return [String]
36597
- attr_accessor :kind
37929
+ # Update properties of this object
37930
+ def update!(**args)
37931
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
37932
+ end
37933
+ end
36598
37934
 
36599
- # [Output Only] This token allows you to get the next page of results for list
36600
- # requests. If the number of results is larger than maxResults, use the
36601
- # nextPageToken as a value for the query parameter pageToken in the next list
36602
- # request. Subsequent list requests will have their own nextPageToken to
36603
- # continue paging through the results.
36604
- # Corresponds to the JSON property `nextPageToken`
36605
- # @return [String]
36606
- attr_accessor :next_page_token
37935
+ #
37936
+ class ReservationsPerformMaintenanceRequest
37937
+ include Google::Apis::Core::Hashable
36607
37938
 
36608
- # [Output Only] Server-defined URL for this resource.
36609
- # Corresponds to the JSON property `selfLink`
37939
+ # Specifies if all, running or unused hosts are in scope for this request.
37940
+ # Corresponds to the JSON property `maintenanceScope`
36610
37941
  # @return [String]
36611
- attr_accessor :self_link
36612
-
36613
- # [Output Only] Informational warning message.
36614
- # Corresponds to the JSON property `warning`
36615
- # @return [Google::Apis::ComputeBeta::ReservationList::Warning]
36616
- attr_accessor :warning
37942
+ attr_accessor :maintenance_scope
36617
37943
 
36618
37944
  def initialize(**args)
36619
37945
  update!(**args)
@@ -36621,76 +37947,7 @@ module Google
36621
37947
 
36622
37948
  # Update properties of this object
36623
37949
  def update!(**args)
36624
- @id = args[:id] if args.key?(:id)
36625
- @items = args[:items] if args.key?(:items)
36626
- @kind = args[:kind] if args.key?(:kind)
36627
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
36628
- @self_link = args[:self_link] if args.key?(:self_link)
36629
- @warning = args[:warning] if args.key?(:warning)
36630
- end
36631
-
36632
- # [Output Only] Informational warning message.
36633
- class Warning
36634
- include Google::Apis::Core::Hashable
36635
-
36636
- # [Output Only] A warning code, if applicable. For example, Compute Engine
36637
- # returns NO_RESULTS_ON_PAGE if there are no results in the response.
36638
- # Corresponds to the JSON property `code`
36639
- # @return [String]
36640
- attr_accessor :code
36641
-
36642
- # [Output Only] Metadata about this warning in key: value format. For example: "
36643
- # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
36644
- # Corresponds to the JSON property `data`
36645
- # @return [Array<Google::Apis::ComputeBeta::ReservationList::Warning::Datum>]
36646
- attr_accessor :data
36647
-
36648
- # [Output Only] A human-readable description of the warning code.
36649
- # Corresponds to the JSON property `message`
36650
- # @return [String]
36651
- attr_accessor :message
36652
-
36653
- def initialize(**args)
36654
- update!(**args)
36655
- end
36656
-
36657
- # Update properties of this object
36658
- def update!(**args)
36659
- @code = args[:code] if args.key?(:code)
36660
- @data = args[:data] if args.key?(:data)
36661
- @message = args[:message] if args.key?(:message)
36662
- end
36663
-
36664
- #
36665
- class Datum
36666
- include Google::Apis::Core::Hashable
36667
-
36668
- # [Output Only] A key that provides more detail on the warning being returned.
36669
- # For example, for warnings where there are no results in a list request for a
36670
- # particular zone, this key might be scope and the key value might be the zone
36671
- # name. Other examples might be a key indicating a deprecated resource and a
36672
- # suggested replacement, or a warning about invalid network settings (for
36673
- # example, if an instance attempts to perform IP forwarding but is not enabled
36674
- # for IP forwarding).
36675
- # Corresponds to the JSON property `key`
36676
- # @return [String]
36677
- attr_accessor :key
36678
-
36679
- # [Output Only] A warning data value corresponding to the key.
36680
- # Corresponds to the JSON property `value`
36681
- # @return [String]
36682
- attr_accessor :value
36683
-
36684
- def initialize(**args)
36685
- update!(**args)
36686
- end
36687
-
36688
- # Update properties of this object
36689
- def update!(**args)
36690
- @key = args[:key] if args.key?(:key)
36691
- @value = args[:value] if args.key?(:value)
36692
- end
36693
- end
37950
+ @maintenance_scope = args[:maintenance_scope] if args.key?(:maintenance_scope)
36694
37951
  end
36695
37952
  end
36696
37953
 
@@ -36805,27 +38062,30 @@ module Google
36805
38062
  end
36806
38063
  end
36807
38064
 
36808
- # Commitment for a particular resource (a Commitment is composed of one or more
36809
- # of these).
38065
+ # Commitment for a particular hardware resource (a commitment is composed of one
38066
+ # or more of these).
36810
38067
  class ResourceCommitment
36811
38068
  include Google::Apis::Core::Hashable
36812
38069
 
36813
- # Name of the accelerator type resource. Applicable only when the type is
36814
- # ACCELERATOR.
38070
+ # Name of the accelerator type or GPU resource. Specify this field only when the
38071
+ # type of hardware resource is ACCELERATOR.
36815
38072
  # Corresponds to the JSON property `acceleratorType`
36816
38073
  # @return [String]
36817
38074
  attr_accessor :accelerator_type
36818
38075
 
36819
- # The amount of the resource purchased (in a type-dependent unit, such as bytes).
36820
- # For vCPUs, this can just be an integer. For memory, this must be provided in
36821
- # MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every
36822
- # vCPU.
38076
+ # The quantity of the hardware resource that you want to commit to purchasing (
38077
+ # in a type-dependent unit). - For vCPUs, you must specify an integer value. -
38078
+ # For memory, you specify the amount of MB that you want. The value you specify
38079
+ # must be a multiple of 256 MB, with up to 6.5 GB of memory per every vCPU. -
38080
+ # For GPUs, you must specify an integer value. - For Local SSD disks, you must
38081
+ # specify the amount in GB. The size of a single Local SSD disk is 375 GB.
36823
38082
  # Corresponds to the JSON property `amount`
36824
38083
  # @return [Fixnum]
36825
38084
  attr_accessor :amount
36826
38085
 
36827
- # Type of resource for which this commitment applies. Possible values are VCPU,
36828
- # MEMORY, LOCAL_SSD, and ACCELERATOR.
38086
+ # The type of hardware resource that you want to specify. You can specify any of
38087
+ # the following values: - VCPU - MEMORY - LOCAL_SSD - ACCELERATOR Specify as a
38088
+ # separate entry in the list for each individual resource type.
36829
38089
  # Corresponds to the JSON property `type`
36830
38090
  # @return [String]
36831
38091
  attr_accessor :type
@@ -38894,16 +40154,14 @@ module Google
38894
40154
 
38895
40155
  # List of export policies applied to this peer, in the order they must be
38896
40156
  # evaluated. The name must correspond to an existing policy that has
38897
- # ROUTE_POLICY_TYPE_EXPORT type. Note that Route Policies are currently
38898
- # available in preview. Please use Beta API to use Route Policies.
40157
+ # ROUTE_POLICY_TYPE_EXPORT type.
38899
40158
  # Corresponds to the JSON property `exportPolicies`
38900
40159
  # @return [Array<String>]
38901
40160
  attr_accessor :export_policies
38902
40161
 
38903
40162
  # List of import policies applied to this peer, in the order they must be
38904
40163
  # evaluated. The name must correspond to an existing policy that has
38905
- # ROUTE_POLICY_TYPE_IMPORT type. Note that Route Policies are currently
38906
- # available in preview. Please use Beta API to use Route Policies.
40164
+ # ROUTE_POLICY_TYPE_IMPORT type.
38907
40165
  # Corresponds to the JSON property `importPolicies`
38908
40166
  # @return [Array<String>]
38909
40167
  attr_accessor :import_policies
@@ -39099,9 +40357,9 @@ module Google
39099
40357
  # truncate the IP address, as it represents the IP address of the interface. -
39100
40358
  # For Internet Protocol version 6 (IPv6), the value must be a unique local
39101
40359
  # address (ULA) range from fdff:1::/64 with a mask length of 126 or less. This
39102
- # value should be a CIDR-formatted string, for example, fc00:0:1:1::1/112.
39103
- # Within the router's VPC, this IPv6 prefix will be reserved exclusively for
39104
- # this connection and cannot be used for any other purpose.
40360
+ # value should be a CIDR-formatted string, for example, fdff:1::1/112. Within
40361
+ # the router's VPC, this IPv6 prefix will be reserved exclusively for this
40362
+ # connection and cannot be used for any other purpose.
39105
40363
  # Corresponds to the JSON property `ipRange`
39106
40364
  # @return [String]
39107
40365
  attr_accessor :ip_range
@@ -44147,10 +45405,9 @@ module Google
44147
45405
 
44148
45406
  # [Output Only] The unique ID of the instant snapshot used to create this
44149
45407
  # snapshot. This value identifies the exact instant snapshot that was used to
44150
- # create this persistent disk. For example, if you created the persistent disk
44151
- # from an instant snapshot that was later deleted and recreated under the same
44152
- # name, the source instant snapshot ID would identify the exact instant snapshot
44153
- # that was used.
45408
+ # create this snapshot. For example, if you created the snapshot from an instant
45409
+ # snapshot that was later deleted and recreated under the same name, the source
45410
+ # instant snapshot ID would identify the exact instant snapshot that was used.
44154
45411
  # Corresponds to the JSON property `sourceInstantSnapshotId`
44155
45412
  # @return [String]
44156
45413
  attr_accessor :source_instant_snapshot_id
@@ -47248,16 +48505,18 @@ module Google
47248
48505
  attr_accessor :private_ipv6_google_access
47249
48506
 
47250
48507
  # The purpose of the resource. This field can be either PRIVATE,
47251
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
47252
- # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
47253
- # subnets or subnets that are automatically created in auto mode networks.
47254
- # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
47255
- # user-created subnetworks that are reserved for Envoy-based load balancers. A
47256
- # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
47257
- # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
47258
- # used for subnet migration from one peered VPC to another. If unspecified, the
47259
- # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
47260
- # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
48508
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
48509
+ # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
48510
+ # user-created subnets or subnets that are automatically created in auto mode
48511
+ # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
48512
+ # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
48513
+ # Envoy-based load balancers. A subnet with purpose set to
48514
+ # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
48515
+ # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
48516
+ # migration from one peered VPC to another. A subnet with purpose set to
48517
+ # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
48518
+ # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
48519
+ # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
47261
48520
  # REGIONAL_MANAGED_PROXY.
47262
48521
  # Corresponds to the JSON property `purpose`
47263
48522
  # @return [String]
@@ -48959,10 +50218,13 @@ module Google
48959
50218
  # describes how the proxy should authenticate inbound traffic. serverTlsPolicy
48960
50219
  # only applies to a global TargetHttpsProxy attached to globalForwardingRules
48961
50220
  # with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL or
48962
- # EXTERNAL_MANAGED. For details which ServerTlsPolicy resources are accepted
48963
- # with INTERNAL_SELF_MANAGED and which with EXTERNAL, EXTERNAL_MANAGED
48964
- # loadBalancingScheme consult ServerTlsPolicy documentation. If left blank,
48965
- # communications are not encrypted.
50221
+ # EXTERNAL_MANAGED or INTERNAL_MANAGED. It also applies to a regional
50222
+ # TargetHttpsProxy attached to regional forwardingRules with the
50223
+ # loadBalancingScheme set to EXTERNAL_MANAGED or INTERNAL_MANAGED. For details
50224
+ # which ServerTlsPolicy resources are accepted with INTERNAL_SELF_MANAGED and
50225
+ # which with EXTERNAL, INTERNAL_MANAGED, EXTERNAL_MANAGED loadBalancingScheme
50226
+ # consult ServerTlsPolicy documentation. If left blank, communications are not
50227
+ # encrypted.
48966
50228
  # Corresponds to the JSON property `serverTlsPolicy`
48967
50229
  # @return [String]
48968
50230
  attr_accessor :server_tls_policy
@@ -48973,14 +50235,15 @@ module Google
48973
50235
  # to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource
48974
50236
  # or Certificate Manager Certificate resource. Mixing Classic Certificates and
48975
50237
  # Certificate Manager Certificates is not allowed. Certificate Manager
48976
- # Certificates must include the certificatemanager API. Certificate Manager
48977
- # Certificates are not supported by Global external Application Load Balancer or
48978
- # Classic Application Load Balancer, use certificate_map instead. Currently, you
48979
- # may specify up to 15 Classic SSL Certificates. Certificate Manager
48980
- # Certificates accepted formats are: - //certificatemanager.googleapis.com/
48981
- # projects/`project`/locations/` location`/certificates/`resourceName`. - https:/
48982
- # /certificatemanager.googleapis.com/v1alpha1/projects/`project `/locations/`
48983
- # location`/certificates/`resourceName`.
50238
+ # Certificates must include the certificatemanager API namespace. Using
50239
+ # Certificate Manager Certificates in this field is not supported by Global
50240
+ # external Application Load Balancer or Classic Application Load Balancer, use
50241
+ # certificate_map instead. Currently, you may specify up to 15 Classic SSL
50242
+ # Certificates or up to 100 Certificate Manager Certificates. Certificate
50243
+ # Manager Certificates accepted formats are: - //certificatemanager.googleapis.
50244
+ # com/projects/`project`/locations/` location`/certificates/`resourceName`. -
50245
+ # https://certificatemanager.googleapis.com/v1alpha1/projects/`project `/
50246
+ # locations/`location`/certificates/`resourceName`.
48984
50247
  # Corresponds to the JSON property `sslCertificates`
48985
50248
  # @return [Array<String>]
48986
50249
  attr_accessor :ssl_certificates
@@ -52517,16 +53780,18 @@ module Google
52517
53780
  attr_accessor :network
52518
53781
 
52519
53782
  # The purpose of the resource. This field can be either PRIVATE,
52520
- # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or
52521
- # PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created
52522
- # subnets or subnets that are automatically created in auto mode networks.
52523
- # Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are
52524
- # user-created subnetworks that are reserved for Envoy-based load balancers. A
52525
- # subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services
52526
- # using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is
52527
- # used for subnet migration from one peered VPC to another. If unspecified, the
52528
- # subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported
52529
- # if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
53783
+ # GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION,
53784
+ # PRIVATE_SERVICE_CONNECT or PRIVATE_NAT. PRIVATE is the default purpose for
53785
+ # user-created subnets or subnets that are automatically created in auto mode
53786
+ # networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or
53787
+ # REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for
53788
+ # Envoy-based load balancers. A subnet with purpose set to
53789
+ # PRIVATE_SERVICE_CONNECT is used to publish services using Private Service
53790
+ # Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet
53791
+ # migration from one peered VPC to another. A subnet with purpose set to
53792
+ # PRIVATE_NAT is used for Private NAT IP address by Private NAT Gateway. If
53793
+ # unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field
53794
+ # isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or
52530
53795
  # REGIONAL_MANAGED_PROXY.
52531
53796
  # Corresponds to the JSON property `purpose`
52532
53797
  # @return [String]
@@ -54316,6 +55581,478 @@ module Google
54316
55581
  end
54317
55582
  end
54318
55583
 
55584
+ # A pseudowire that connects two Interconnect connections.
55585
+ class Wire
55586
+ include Google::Apis::Core::Hashable
55587
+
55588
+ # [Output Only] Indicates whether the wire is enabled. When false, the wire is
55589
+ # disabled. When true and when the wire group of the wire is also enabled, the
55590
+ # wire is enabled. Defaults to true.
55591
+ # Corresponds to the JSON property `adminEnabled`
55592
+ # @return [Boolean]
55593
+ attr_accessor :admin_enabled
55594
+ alias_method :admin_enabled?, :admin_enabled
55595
+
55596
+ # Wire endpoints are specific Interconnect connections.
55597
+ # Corresponds to the JSON property `endpoints`
55598
+ # @return [Array<Google::Apis::ComputeBeta::WireEndpoint>]
55599
+ attr_accessor :endpoints
55600
+
55601
+ # [Output Only] A label that identifies the wire. The format of this label
55602
+ # combines the existing labels of the wire group endpoints and Interconnect
55603
+ # connections used by this wire in alphabetical order as follows: `ENDPOINT_A+
55604
+ # CONNECTION_A1,ENDPOINT_B+CONNECTION_B1`, where: - ENDPOINT_A and ENDPOINT_B:
55605
+ # are the labels that you entered as map keys when you specified the wire group
55606
+ # endpoint objects. - CONNECTION_A1 and CONNECTION_B1: are the labels that you
55607
+ # entered as map keys when you specified the wire group Interconnect objects.
55608
+ # Corresponds to the JSON property `label`
55609
+ # @return [String]
55610
+ attr_accessor :label
55611
+
55612
+ # The properties of a wire.
55613
+ # Corresponds to the JSON property `wireProperties`
55614
+ # @return [Google::Apis::ComputeBeta::WireProperties]
55615
+ attr_accessor :wire_properties
55616
+
55617
+ def initialize(**args)
55618
+ update!(**args)
55619
+ end
55620
+
55621
+ # Update properties of this object
55622
+ def update!(**args)
55623
+ @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
55624
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
55625
+ @label = args[:label] if args.key?(:label)
55626
+ @wire_properties = args[:wire_properties] if args.key?(:wire_properties)
55627
+ end
55628
+ end
55629
+
55630
+ # Wire endpoints are specific Interconnect connections.
55631
+ class WireEndpoint
55632
+ include Google::Apis::Core::Hashable
55633
+
55634
+ #
55635
+ # Corresponds to the JSON property `interconnect`
55636
+ # @return [String]
55637
+ attr_accessor :interconnect
55638
+
55639
+ #
55640
+ # Corresponds to the JSON property `vlanTag`
55641
+ # @return [Fixnum]
55642
+ attr_accessor :vlan_tag
55643
+
55644
+ def initialize(**args)
55645
+ update!(**args)
55646
+ end
55647
+
55648
+ # Update properties of this object
55649
+ def update!(**args)
55650
+ @interconnect = args[:interconnect] if args.key?(:interconnect)
55651
+ @vlan_tag = args[:vlan_tag] if args.key?(:vlan_tag)
55652
+ end
55653
+ end
55654
+
55655
+ # A resource that represents a group of redundant wires.
55656
+ class WireGroup
55657
+ include Google::Apis::Core::Hashable
55658
+
55659
+ # Indicates whether the wires in the wire group are enabled. When false, the
55660
+ # wires in the wire group are disabled. When true and when there is
55661
+ # simultaneously no wire-specific override of `adminEnabled` to false, a given
55662
+ # wire is enabled. Defaults to true.
55663
+ # Corresponds to the JSON property `adminEnabled`
55664
+ # @return [Boolean]
55665
+ attr_accessor :admin_enabled
55666
+ alias_method :admin_enabled?, :admin_enabled
55667
+
55668
+ # [Output Only] Creation timestamp in RFC3339 text format.
55669
+ # Corresponds to the JSON property `creationTimestamp`
55670
+ # @return [String]
55671
+ attr_accessor :creation_timestamp
55672
+
55673
+ # An optional description of the wire group.
55674
+ # Corresponds to the JSON property `description`
55675
+ # @return [String]
55676
+ attr_accessor :description
55677
+
55678
+ # A map that contains the logical endpoints of the wire group. Specify key-value
55679
+ # pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value:
55680
+ # an Endpoint object.
55681
+ # Corresponds to the JSON property `endpoints`
55682
+ # @return [Hash<String,Google::Apis::ComputeBeta::WireGroupEndpoint>]
55683
+ attr_accessor :endpoints
55684
+
55685
+ # [Output Only] The unique identifier for the resource type. The server
55686
+ # generates this identifier.
55687
+ # Corresponds to the JSON property `id`
55688
+ # @return [Fixnum]
55689
+ attr_accessor :id
55690
+
55691
+ # [Output Only] Type of the resource. Always compute#wireGroups for wire groups.
55692
+ # Corresponds to the JSON property `kind`
55693
+ # @return [String]
55694
+ attr_accessor :kind
55695
+
55696
+ # Name of the resource. Provided by the client when the resource is created. The
55697
+ # name must be 1-63 characters long, and comply with RFC1035. Specifically, the
55698
+ # name must be 1-63 characters long and match the regular expression `[a-z]([-a-
55699
+ # z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
55700
+ # and all following characters must be a dash, lowercase letter, or digit,
55701
+ # except the last character, which cannot be a dash.
55702
+ # Corresponds to the JSON property `name`
55703
+ # @return [String]
55704
+ attr_accessor :name
55705
+
55706
+ # [Output Only] Server-defined URL for the resource.
55707
+ # Corresponds to the JSON property `selfLink`
55708
+ # @return [String]
55709
+ attr_accessor :self_link
55710
+
55711
+ #
55712
+ # Corresponds to the JSON property `selfLinkWithId`
55713
+ # @return [String]
55714
+ attr_accessor :self_link_with_id
55715
+
55716
+ # Topology details for the wire group.
55717
+ # Corresponds to the JSON property `topology`
55718
+ # @return [Google::Apis::ComputeBeta::WireGroupTopology]
55719
+ attr_accessor :topology
55720
+
55721
+ # The properties of a wire group. These properties determine how a group of
55722
+ # redundant wires are created and managed.
55723
+ # Corresponds to the JSON property `wireGroupProperties`
55724
+ # @return [Google::Apis::ComputeBeta::WireGroupProperties]
55725
+ attr_accessor :wire_group_properties
55726
+
55727
+ # The properties of a wire.
55728
+ # Corresponds to the JSON property `wireProperties`
55729
+ # @return [Google::Apis::ComputeBeta::WireProperties]
55730
+ attr_accessor :wire_properties
55731
+
55732
+ # The single/redundant wire(s) managed by the wire group.
55733
+ # Corresponds to the JSON property `wires`
55734
+ # @return [Array<Google::Apis::ComputeBeta::Wire>]
55735
+ attr_accessor :wires
55736
+
55737
+ def initialize(**args)
55738
+ update!(**args)
55739
+ end
55740
+
55741
+ # Update properties of this object
55742
+ def update!(**args)
55743
+ @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
55744
+ @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
55745
+ @description = args[:description] if args.key?(:description)
55746
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
55747
+ @id = args[:id] if args.key?(:id)
55748
+ @kind = args[:kind] if args.key?(:kind)
55749
+ @name = args[:name] if args.key?(:name)
55750
+ @self_link = args[:self_link] if args.key?(:self_link)
55751
+ @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
55752
+ @topology = args[:topology] if args.key?(:topology)
55753
+ @wire_group_properties = args[:wire_group_properties] if args.key?(:wire_group_properties)
55754
+ @wire_properties = args[:wire_properties] if args.key?(:wire_properties)
55755
+ @wires = args[:wires] if args.key?(:wires)
55756
+ end
55757
+ end
55758
+
55759
+ # A logical endpoint for the wire group. An endpoint represents a metro that
55760
+ # contains redundant Interconnect connections. A wire group is created between
55761
+ # two endpoints.
55762
+ class WireGroupEndpoint
55763
+ include Google::Apis::Core::Hashable
55764
+
55765
+ # A map that contains the redundant Interconnect connections. Specify key-value
55766
+ # pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value:
55767
+ # an Interconnect object.
55768
+ # Corresponds to the JSON property `interconnects`
55769
+ # @return [Hash<String,Google::Apis::ComputeBeta::WireGroupEndpointInterconnect>]
55770
+ attr_accessor :interconnects
55771
+
55772
+ def initialize(**args)
55773
+ update!(**args)
55774
+ end
55775
+
55776
+ # Update properties of this object
55777
+ def update!(**args)
55778
+ @interconnects = args[:interconnects] if args.key?(:interconnects)
55779
+ end
55780
+ end
55781
+
55782
+ # The redundant Interconnect connections for this endpoint.
55783
+ class WireGroupEndpointInterconnect
55784
+ include Google::Apis::Core::Hashable
55785
+
55786
+ # An Interconnect connection. You can specify the connection as a partial or
55787
+ # full URL. If the connection is in a different project from the cross-site
55788
+ # network, use a format that specifies the project. See the following examples
55789
+ # of partial and full URLs: global/interconnects/NAME projects/PROJECT_ID/global/
55790
+ # interconnects/NAME - https://compute.googleapis.com/compute/projects/
55791
+ # PROJECT_ID /global/interconnects/NAME
55792
+ # Corresponds to the JSON property `interconnect`
55793
+ # @return [String]
55794
+ attr_accessor :interconnect
55795
+
55796
+ # To configure the wire group for VLAN mode, enter a VLAN tag, which is a number
55797
+ # from `2` to `4093`. You can autoallocate a tag by entering `0`. To configure
55798
+ # the wire group for port mode, enter `-1`. Review the following guidelines: - A
55799
+ # VLAN tag must be unique for an Interconnect connection across all attachments
55800
+ # and wire groups. - Both endpoints of a wire must use the same VLAN tag value. -
55801
+ # Single wire and redundant type wire groups must have only one VLAN tag. -
55802
+ # Port mode pseudowires must have a single VLAN tag with a value of `-1` for
55803
+ # both endpoints. - Box and cross type wire groups must have two VLAN tags. The
55804
+ # first is for the same-zone pseudowire, and the second is for the cross-zone
55805
+ # pseudowire.
55806
+ # Corresponds to the JSON property `vlanTags`
55807
+ # @return [Array<Fixnum>]
55808
+ attr_accessor :vlan_tags
55809
+
55810
+ def initialize(**args)
55811
+ update!(**args)
55812
+ end
55813
+
55814
+ # Update properties of this object
55815
+ def update!(**args)
55816
+ @interconnect = args[:interconnect] if args.key?(:interconnect)
55817
+ @vlan_tags = args[:vlan_tags] if args.key?(:vlan_tags)
55818
+ end
55819
+ end
55820
+
55821
+ # Response for the list request.
55822
+ class WireGroupList
55823
+ include Google::Apis::Core::Hashable
55824
+
55825
+ #
55826
+ # Corresponds to the JSON property `etag`
55827
+ # @return [String]
55828
+ attr_accessor :etag
55829
+
55830
+ # [Output Only] Unique identifier for the resource; defined by the server.
55831
+ # Corresponds to the JSON property `id`
55832
+ # @return [String]
55833
+ attr_accessor :id
55834
+
55835
+ # A list of wire group resources.
55836
+ # Corresponds to the JSON property `items`
55837
+ # @return [Array<Google::Apis::ComputeBeta::WireGroup>]
55838
+ attr_accessor :items
55839
+
55840
+ # [Output Only] Type of the resource. Always compute#wireGroups for wire groups.
55841
+ # Corresponds to the JSON property `kind`
55842
+ # @return [String]
55843
+ attr_accessor :kind
55844
+
55845
+ # [Output Only] This token allows you to get the next page of results for list
55846
+ # requests. If the number of results is larger than maxResults, use the
55847
+ # nextPageToken as a value for the query parameter pageToken in the next list
55848
+ # request. Subsequent list requests will have their own nextPageToken to
55849
+ # continue paging through the results.
55850
+ # Corresponds to the JSON property `nextPageToken`
55851
+ # @return [String]
55852
+ attr_accessor :next_page_token
55853
+
55854
+ # [Output Only] Server-defined URL for this resource.
55855
+ # Corresponds to the JSON property `selfLink`
55856
+ # @return [String]
55857
+ attr_accessor :self_link
55858
+
55859
+ # [Output Only] Unreachable resources. end_interface:
55860
+ # MixerListResponseWithEtagBuilder
55861
+ # Corresponds to the JSON property `unreachables`
55862
+ # @return [Array<String>]
55863
+ attr_accessor :unreachables
55864
+
55865
+ # [Output Only] Informational warning message.
55866
+ # Corresponds to the JSON property `warning`
55867
+ # @return [Google::Apis::ComputeBeta::WireGroupList::Warning]
55868
+ attr_accessor :warning
55869
+
55870
+ def initialize(**args)
55871
+ update!(**args)
55872
+ end
55873
+
55874
+ # Update properties of this object
55875
+ def update!(**args)
55876
+ @etag = args[:etag] if args.key?(:etag)
55877
+ @id = args[:id] if args.key?(:id)
55878
+ @items = args[:items] if args.key?(:items)
55879
+ @kind = args[:kind] if args.key?(:kind)
55880
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
55881
+ @self_link = args[:self_link] if args.key?(:self_link)
55882
+ @unreachables = args[:unreachables] if args.key?(:unreachables)
55883
+ @warning = args[:warning] if args.key?(:warning)
55884
+ end
55885
+
55886
+ # [Output Only] Informational warning message.
55887
+ class Warning
55888
+ include Google::Apis::Core::Hashable
55889
+
55890
+ # [Output Only] A warning code, if applicable. For example, Compute Engine
55891
+ # returns NO_RESULTS_ON_PAGE if there are no results in the response.
55892
+ # Corresponds to the JSON property `code`
55893
+ # @return [String]
55894
+ attr_accessor :code
55895
+
55896
+ # [Output Only] Metadata about this warning in key: value format. For example: "
55897
+ # data": [ ` "key": "scope", "value": "zones/us-east1-d" `
55898
+ # Corresponds to the JSON property `data`
55899
+ # @return [Array<Google::Apis::ComputeBeta::WireGroupList::Warning::Datum>]
55900
+ attr_accessor :data
55901
+
55902
+ # [Output Only] A human-readable description of the warning code.
55903
+ # Corresponds to the JSON property `message`
55904
+ # @return [String]
55905
+ attr_accessor :message
55906
+
55907
+ def initialize(**args)
55908
+ update!(**args)
55909
+ end
55910
+
55911
+ # Update properties of this object
55912
+ def update!(**args)
55913
+ @code = args[:code] if args.key?(:code)
55914
+ @data = args[:data] if args.key?(:data)
55915
+ @message = args[:message] if args.key?(:message)
55916
+ end
55917
+
55918
+ #
55919
+ class Datum
55920
+ include Google::Apis::Core::Hashable
55921
+
55922
+ # [Output Only] A key that provides more detail on the warning being returned.
55923
+ # For example, for warnings where there are no results in a list request for a
55924
+ # particular zone, this key might be scope and the key value might be the zone
55925
+ # name. Other examples might be a key indicating a deprecated resource and a
55926
+ # suggested replacement, or a warning about invalid network settings (for
55927
+ # example, if an instance attempts to perform IP forwarding but is not enabled
55928
+ # for IP forwarding).
55929
+ # Corresponds to the JSON property `key`
55930
+ # @return [String]
55931
+ attr_accessor :key
55932
+
55933
+ # [Output Only] A warning data value corresponding to the key.
55934
+ # Corresponds to the JSON property `value`
55935
+ # @return [String]
55936
+ attr_accessor :value
55937
+
55938
+ def initialize(**args)
55939
+ update!(**args)
55940
+ end
55941
+
55942
+ # Update properties of this object
55943
+ def update!(**args)
55944
+ @key = args[:key] if args.key?(:key)
55945
+ @value = args[:value] if args.key?(:value)
55946
+ end
55947
+ end
55948
+ end
55949
+ end
55950
+
55951
+ # The properties of a wire group. These properties determine how a group of
55952
+ # redundant wires are created and managed.
55953
+ class WireGroupProperties
55954
+ include Google::Apis::Core::Hashable
55955
+
55956
+ # The type of the wire group, one of the following: - WIRE: a single pseudowire
55957
+ # over two Interconnect connections with no redundancy. - REDUNDANT: two
55958
+ # pseudowires over four Interconnect connections, with two connections in one
55959
+ # metro and two connections in another metro. Each redundant pair of
55960
+ # Interconnect connections spans both edge availability domains of the metro.
55961
+ # Each pseudowire connects Interconnect connections in matching edge
55962
+ # availability domains of the two metros. - BOX_AND_CROSS: four pseudowires over
55963
+ # four Interconnect connections, with two connections in one metro and two
55964
+ # connections in another metro. Each redundant pair of Interconnect connections
55965
+ # spans both edge availability domains of the metro. Two pseudowires connect
55966
+ # Interconnect connections in matching edge availability domains of the two
55967
+ # metros. Two additional pseudowires connect the non-matching edge availability
55968
+ # domains of the two metros.
55969
+ # Corresponds to the JSON property `type`
55970
+ # @return [String]
55971
+ attr_accessor :type
55972
+
55973
+ def initialize(**args)
55974
+ update!(**args)
55975
+ end
55976
+
55977
+ # Update properties of this object
55978
+ def update!(**args)
55979
+ @type = args[:type] if args.key?(:type)
55980
+ end
55981
+ end
55982
+
55983
+ # Topology details for the wire group.
55984
+ class WireGroupTopology
55985
+ include Google::Apis::Core::Hashable
55986
+
55987
+ # Topology details for all endpoints in the wire group.
55988
+ # Corresponds to the JSON property `endpoints`
55989
+ # @return [Array<Google::Apis::ComputeBeta::WireGroupTopologyEndpoint>]
55990
+ attr_accessor :endpoints
55991
+
55992
+ def initialize(**args)
55993
+ update!(**args)
55994
+ end
55995
+
55996
+ # Update properties of this object
55997
+ def update!(**args)
55998
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
55999
+ end
56000
+ end
56001
+
56002
+ # Topology details for a single wire group endpoint.
56003
+ class WireGroupTopologyEndpoint
56004
+ include Google::Apis::Core::Hashable
56005
+
56006
+ # The InterconnectLocation.city (metropolitan area designator) that all
56007
+ # interconnects are located in.
56008
+ # Corresponds to the JSON property `city`
56009
+ # @return [String]
56010
+ attr_accessor :city
56011
+
56012
+ # Endpoint label from the wire group.
56013
+ # Corresponds to the JSON property `label`
56014
+ # @return [String]
56015
+ attr_accessor :label
56016
+
56017
+ def initialize(**args)
56018
+ update!(**args)
56019
+ end
56020
+
56021
+ # Update properties of this object
56022
+ def update!(**args)
56023
+ @city = args[:city] if args.key?(:city)
56024
+ @label = args[:label] if args.key?(:label)
56025
+ end
56026
+ end
56027
+
56028
+ # The properties of a wire.
56029
+ class WireProperties
56030
+ include Google::Apis::Core::Hashable
56031
+
56032
+ # The unmetered bandwidth in Gigabits per second, using decimal units. `10` is
56033
+ # 10 Gbps, `100` is 100 Gbps.
56034
+ # Corresponds to the JSON property `bandwidthUnmetered`
56035
+ # @return [Fixnum]
56036
+ attr_accessor :bandwidth_unmetered
56037
+
56038
+ # Response when a fault is detected in a pseudowire: - NONE: default. -
56039
+ # DISABLE_PORT: set the port line protocol down when inline probes detect a
56040
+ # fault. This setting is only permitted on port mode pseudowires.
56041
+ # Corresponds to the JSON property `faultResponse`
56042
+ # @return [String]
56043
+ attr_accessor :fault_response
56044
+
56045
+ def initialize(**args)
56046
+ update!(**args)
56047
+ end
56048
+
56049
+ # Update properties of this object
56050
+ def update!(**args)
56051
+ @bandwidth_unmetered = args[:bandwidth_unmetered] if args.key?(:bandwidth_unmetered)
56052
+ @fault_response = args[:fault_response] if args.key?(:fault_response)
56053
+ end
56054
+ end
56055
+
54319
56056
  #
54320
56057
  class XpnHostList
54321
56058
  include Google::Apis::Core::Hashable