@@ -369,6 +369,13 @@ class Cluster
369369 # @return [Google::Apis::ManagedkafkaV1::TlsConfig]
370370 attr_accessor :tls_config
371371
372+ # UpdateOptions specifies options that influence how a cluster update is applied.
373+ # These options control the behavior of the update process, rather than
374+ # defining the desired end-state of a cluster.
375+ # Corresponds to the JSON property `updateOptions`
376+ # @return [Google::Apis::ManagedkafkaV1::UpdateOptions]
377+ attr_accessor :update_options
378+
372379 # Output only. The time when the cluster was last updated.
373380 # Corresponds to the JSON property `updateTime`
374381 # @return [String]
@@ -390,6 +397,7 @@ def update!(**args)
390397 @satisfies_pzs = args [ :satisfies_pzs ] if args . key? ( :satisfies_pzs )
391398 @state = args [ :state ] if args . key? ( :state )
392399 @tls_config = args [ :tls_config ] if args . key? ( :tls_config )
400+ @update_options = args [ :update_options ] if args . key? ( :update_options )
393401 @update_time = args [ :update_time ] if args . key? ( :update_time )
394402 end
395403 end
@@ -1925,6 +1933,33 @@ def update!(**args)
19251933 end
19261934 end
19271935
1936+ # UpdateOptions specifies options that influence how a cluster update is applied.
1937+ # These options control the behavior of the update process, rather than
1938+ # defining the desired end-state of a cluster.
1939+ class UpdateOptions
1940+ include Google ::Apis ::Core ::Hashable
1941+
1942+ # Optional. If true, allows an update operation that increases the total vCPU
1943+ # and/or memory allocation of the cluster to significantly decrease the per-
1944+ # broker vCPU and/or memory allocation. This can result in reduced performance
1945+ # and availability. By default, the update operation will fail if an upscale
1946+ # request results in a vCPU or memory allocation for the brokers that is smaller
1947+ # than 90% of the current broker size.
1948+ # Corresponds to the JSON property `allowBrokerDownscaleOnClusterUpscale`
1949+ # @return [Boolean]
1950+ attr_accessor :allow_broker_downscale_on_cluster_upscale
1951+ alias_method :allow_broker_downscale_on_cluster_upscale? , :allow_broker_downscale_on_cluster_upscale
1952+
1953+ def initialize ( **args )
1954+ update! ( **args )
1955+ end
1956+
1957+ # Update properties of this object
1958+ def update! ( **args )
1959+ @allow_broker_downscale_on_cluster_upscale = args [ :allow_broker_downscale_on_cluster_upscale ] if args . key? ( :allow_broker_downscale_on_cluster_upscale )
1960+ end
1961+ end
1962+
19281963 # Request for updating schema config. On a SchemaSubject-level SchemaConfig, an
19291964 # unset field will be removed from the SchemaConfig.
19301965 class UpdateSchemaConfigRequest
0 commit comments