api

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2023 License: Apache-2.0 Imports: 8 Imported by: 4

Documentation

Index

Constants

View Source
const (
	EndpointAddBroker types.APIEndpoint = "ADD_BROKER"
)
View Source
const (
	EndpointAdmin types.APIEndpoint = "ADMIN"
)
View Source
const (
	EndpointBootstrap types.APIEndpoint = "BOOTSTRAP"
)
View Source
const (
	EndpointDemoteBroker types.APIEndpoint = "DEMOTE_BROKER"
)
View Source
const (
	EndpointFixOfflineReplicas types.APIEndpoint = "FIX_OFFLINE_REPLICAS"
)
View Source
const (
	EndpointKafkaClusterLoad types.APIEndpoint = "LOAD"
)
View Source
const (
	EndpointKafkaClusterState types.APIEndpoint = "KAFKA_CLUSTER_STATE"
)
View Source
const (
	EndpointKafkaPartitionLoad types.APIEndpoint = "PARTITION_LOAD"
)
View Source
const (
	EndpointPauseSampling types.APIEndpoint = "PAUSE_SAMPLING"
)
View Source
const (
	EndpointProposals types.APIEndpoint = "PROPOSALS"
)
View Source
const (
	EndpointRebalance types.APIEndpoint = "REBALANCE"
)
View Source
const (
	EndpointRemoveBroker types.APIEndpoint = "REMOVE_BROKER"
)
View Source
const (
	EndpointResumeSampling types.APIEndpoint = "RESUME_SAMPLING"
)
View Source
const (
	EndpointReview types.APIEndpoint = "REVIEW"
)
View Source
const (
	EndpointReviewBoard types.APIEndpoint = "REVIEW_BOARD"
)
View Source
const (
	EndpointRightsize types.APIEndpoint = "RIGHTSIZE"
)
View Source
const (
	EndpointState types.APIEndpoint = "STATE"
)
View Source
const (
	EndpointStopProposalExecution types.APIEndpoint = "STOP_PROPOSAL_EXECUTION"
)
View Source
const (
	EndpointTopicConfiguration types.APIEndpoint = "TOPIC_CONFIGURATION"
)
View Source
const (
	EndpointTrain types.APIEndpoint = "TRAIN"
)
View Source
const (
	EndpointUserTasks types.APIEndpoint = "USER_TASKS"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AddBrokerRequest

type AddBrokerRequest struct {
	types.GenericRequestWithReason

	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// List of target broker ids
	BrokerIDs []int32 `param:"brokerid"`
	// The upper bound of ongoing leadership movements
	ConcurrentLeaderMovements int32 `param:"concurrent_leader_movements,omitempty"`
	// The upper bound of ongoing replica movements going into/out of each broker
	ConcurrentPartitionMovementsPerBroker int32 `param:"concurrent_partition_movements_per_broker,omitempty"`
	// Whether to calculate proposal from available valid partitions or valid windows
	DataFrom types.ProposalDataSource `param:"data_from,omitempty"`
	// Whether to dry-run the request or not.
	DryRun bool `param:"dryrun"`
	// Whether to allow leader replicas to be moved to recently demoted brokers
	ExcludeRecentlyDemotedBrokers bool `param:"exclude_recently_demoted_brokers,omitempty"`
	// Whether to allow replicas to be moved to recently removed broker
	ExcludeRecentlyRemovedBrokers bool `param:"exclude_recently_removed_brokers,omitempty"`
	// Specify topic whose partition is excluded from replica movement
	ExcludedTopics string `param:"excluded_topics,omitempty"`
	// Execution progress check interval in milliseconds
	ExecutionProgressCheckIntervalMs int64 `param:"execution_progress_check_interval_ms,omitempty"`
	// True to compute proposals in fast mode, false otherwise
	FastMode bool `param:"fast_mode,omitempty"`
	// List of goals used to generate proposal, the default goals will be used if this parameter is not specified
	Goals []types.Goal `param:"goals,omitempty"`
	// Whether to use Kafka assigner mode to generate proposals
	KafkaAssigner bool `param:"kafka_assigner,omitempty"`
	// Replica movement strategies to use
	ReplicaMovementStrategies []types.ReplicaMovementStrategy `param:"replica_movement_strategies,omitempty"`
	// Upper bound on the bandwidth in bytes per second used to move replicas
	ReplicationThrottle int64 `param:"replication_throttle,omitempty"`
	// Review id for 2-step verification
	ReviewID int32 `param:"review_id,omitempty"`
	// Whether to allow hard goals be skipped in proposal generation
	SkipHardGoalCheck bool `param:"skip_hard_goal_check,omitempty"`
	// Whether to stop the ongoing execution (if any) and start executing the given request
	StopOngoingExecution bool `param:"stop_ongoing_execution,omitempty"`
	// Whether to only use ready goals to generate proposal
	UseReadyDefaultGoals bool `param:"use_ready_default_goals,omitempty"`
	// Return detailed state information
	Verbose bool `param:"verbose,omitempty"`
	// Whether to throttle the added broker
	ThrottleAddedBroker bool `param:"throttle_added_broker,omitempty"`
}

func AddBrokerRequestWithDefaults

func AddBrokerRequestWithDefaults() *AddBrokerRequest

func (AddBrokerRequest) Validate

func (s AddBrokerRequest) Validate() error

type AddBrokerResponse

type AddBrokerResponse struct {
	types.GenericResponse

	Result *types.OptimizationResult
}

func (*AddBrokerResponse) UnmarshalResponse

func (r *AddBrokerResponse) UnmarshalResponse(resp *http.Response) error

type AdminRequest

type AdminRequest struct {
	types.GenericRequestWithReason

	// Change upper bound of ongoing replica movements between disks within each broker.
	ConcurrentIntraBrokerPartitionMovements int32 `param:"concurrent_intra_broker_partition_movements,omitempty"`
	// Change upper bound of ongoing leadership movements.
	ConcurrentLeaderMovements int32 `param:"concurrent_leader_movements,omitempty"`
	// Change upper bound of ongoing replica movements going into/out of each broker.
	ConcurrentPartitionMovementsPerBroker int32 `param:"concurrent_partition_movements_per_broker,omitempty"`
	// Disable concurrency adjuster for given concurrency types.
	DisableConcurrencyAdjusterFor []types.ConcurrencyType `param:"disable_concurrency_adjuster_for,omitempty"`
	// Disable self-healing for certain anomaly types.
	DisableSelfHealingFor []types.AnomalyType `param:"disable_self_healing_for,omitempty"`
	// Drop broker ids from recently demoted broker list so that Cruise Control can move leader replicas or
	// to transfer replica leadership to these brokers.
	DropRecentlyDemotedBrokers []int32 `param:"drop_recently_demoted_brokers,omitempty"`
	// Drop broker ids from recently removed broker list so that Cruise Control can move replicas to these brokers.
	DropRecentlyRemovedBrokers []int32 `param:"drop_recently_removed_brokers,omitempty"`
	// Enable concurrency adjuster for given concurrency types.
	EnableConcurrencyAdjusterFor []types.ConcurrencyType `param:"enable_concurrency_adjuster_for,omitempty"`
	// Enable self-healing for certain anomaly types
	EnableSelfHealingFor []types.AnomalyType `param:"enable_self_healing_for,omitempty"`
	// Change execution progress check interval in milliseconds.
	ExecutionProgressCheckIntervalMs int64 `param:"execution_progress_check_interval_ms,omitempty"`
	// Whether to enable (true) or disable (false) MinISR-based concurrency adjustment.
	MinIsrBasedConcurrencyAdjustment bool `json:"min_isr_based_concurrency_adjustment,omitempty"`
	// Review id for 2-step verification.
	ReviewID int32 `param:"review_id,omitempty"`
}

func AdminRequestWithDefaults

func AdminRequestWithDefaults() *AdminRequest

func (AdminRequest) Validate

func (s AdminRequest) Validate() error

type AdminResponse

type AdminResponse struct {
	types.GenericResponse

	Result *types.AdminResult
}

func (*AdminResponse) UnmarshalResponse

func (r *AdminResponse) UnmarshalResponse(resp *http.Response) error

type BootstrapRequest

type BootstrapRequest struct {
	types.GenericRequest

	// Whether to clear the collected metric samples during bootstrap.
	ClearMetrics bool `param:"clearmetrics,omitempty"`
	// Whether to run the request in developer mode.
	DeveloperMode bool `param:"developer_mode,omitempty"`
	// Timestamp in millisecond of the latest metrics sample to load during bootstrap, current time will be used
	// if this parameter is not specified.
	End int64 `param:"end,omitempty"`
	// Timestamp in millisecond of the earliest metrics sample to load during bootstrap.
	Start int64 `param:"start"`
}

func BootstrapRequestWithDefaults

func BootstrapRequestWithDefaults() *BootstrapRequest

func (BootstrapRequest) Validate

func (s BootstrapRequest) Validate() error

type BootstrapResponse

type BootstrapResponse struct {
	types.GenericResponse

	Result *types.BootstrapResult
}

func (*BootstrapResponse) UnmarshalResponse

func (r *BootstrapResponse) UnmarshalResponse(resp *http.Response) error

type DemoteBrokerRequest

type DemoteBrokerRequest struct {
	types.GenericRequestWithReason

	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// List of target broker ids
	BrokerIDs []int32 `param:"brokerid"`
	// The upper bound of ongoing leadership movements
	ConcurrentLeaderMovements int32 `param:"concurrent_leader_movements,omitempty"`
	// Whether to dry-run the request or not.
	DryRun bool `param:"dryrun"`
	// Whether to allow leader replicas to be moved to recently demoted brokers
	ExcludeRecentlyDemotedBrokers bool `param:"exclude_recently_demoted_brokers,omitempty"`
	// Execution progress check interval in milliseconds
	ExecutionProgressCheckIntervalMs int64 `param:"execution_progress_check_interval_ms,omitempty"`
	// Replica movement strategies to use
	ReplicaMovementStrategies []types.ReplicaMovementStrategy `param:"replica_movement_strategies,omitempty"`
	// Upper bound on the bandwidth in bytes per second used to move replicas
	ReplicationThrottle int64 `param:"replication_throttle,omitempty"`
	// Review id for 2-step verification
	ReviewID int32 `param:"review_id,omitempty"`
	// Whether to stop the ongoing execution (if any) and start executing the given request
	StopOngoingExecution bool `param:"stop_ongoing_execution,omitempty"`
	// Return detailed state information
	Verbose bool `param:"verbose,omitempty"`
	// Whether to operate on partitions which are currently under-replicated
	SkipUrpDemotion bool `param:"skip_urp_demotion"`
	// Whether to operate on partitions which only have follower replicas on the specified broker(s)
	ExcludeFollowerDemotion bool `param:"exclude_follower_demotion"`
	// List of broker id and logdir pair to be demoted in the cluster
	BrokerIDAndLogDirs types.BrokerIDAndLogDirs `param:"brokerid_and_logdirs,omitempty"`
}

func DemoteBrokerRequestWithDefaults

func DemoteBrokerRequestWithDefaults() *DemoteBrokerRequest

func (DemoteBrokerRequest) Validate

func (s DemoteBrokerRequest) Validate() error

type DemoteBrokerResponse

type DemoteBrokerResponse struct {
	types.GenericResponse

	Result *types.OptimizationResult
}

func (*DemoteBrokerResponse) UnmarshalResponse

func (r *DemoteBrokerResponse) UnmarshalResponse(resp *http.Response) error

type FixOfflineReplicasRequest

type FixOfflineReplicasRequest struct {
	types.GenericRequestWithReason

	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// The upper bound of ongoing leadership movements
	ConcurrentLeaderMovements int32 `param:"concurrent_leader_movements,omitempty"`
	// The upper bound of ongoing replica movements going into/out of each broker
	ConcurrentPartitionMovementsPerBroker int32 `param:"concurrent_partition_movements_per_broker,omitempty"`
	// Whether to calculate proposal from available valid partitions or valid windows
	DataFrom types.ProposalDataSource `param:"data_from,omitempty"`
	// Whether to dry-run the request or not.
	DryRun bool `param:"dryrun"`
	// Whether to allow leader replicas to be moved to recently demoted brokers
	ExcludeRecentlyDemotedBrokers bool `param:"exclude_recently_demoted_brokers,omitempty"`
	// Whether to allow replicas to be moved to recently removed broker
	ExcludeRecentlyRemovedBrokers bool `param:"exclude_recently_removed_brokers,omitempty"`
	// Specify topic whose partition is excluded from replica movement
	ExcludedTopics string `param:"excluded_topics,omitempty"`
	// Execution progress check interval in milliseconds
	ExecutionProgressCheckIntervalMs int64 `param:"execution_progress_check_interval_ms,omitempty"`
	// True to compute proposals in fast mode, false otherwise
	FastMode bool `param:"fast_mode,omitempty"`
	// List of goals used to generate proposal, the default goals will be used if this parameter is not specified
	Goals []types.Goal `param:"goals,omitempty"`
	// Replica movement strategies to use
	ReplicaMovementStrategies []types.ReplicaMovementStrategy `param:"replica_movement_strategies,omitempty"`
	// Upper bound on the bandwidth in bytes per second used to move replicas
	ReplicationThrottle int64 `param:"replication_throttle,omitempty"`
	// Review id for 2-step verification
	ReviewID int32 `param:"review_id,omitempty"`
	// Whether to allow hard goals be skipped in proposal generation
	SkipHardGoalCheck bool `param:"skip_hard_goal_check,omitempty"`
	// Whether to stop the ongoing execution (if any) and start executing the given request
	StopOngoingExecution bool `param:"stop_ongoing_execution,omitempty"`
	// Whether to only use ready goals to generate proposal
	UseReadyDefaultGoals bool `param:"use_ready_default_goals,omitempty"`
	// Return detailed state information
	Verbose bool `param:"verbose,omitempty"`
}

func FixOfflineReplicasRequestWithDefaults

func FixOfflineReplicasRequestWithDefaults() *FixOfflineReplicasRequest

func (FixOfflineReplicasRequest) Validate

func (s FixOfflineReplicasRequest) Validate() error

type FixOfflineReplicasResponse

type FixOfflineReplicasResponse struct {
	types.GenericResponse

	Result *types.OptimizationResult
}

func (*FixOfflineReplicasResponse) UnmarshalResponse

func (r *FixOfflineReplicasResponse) UnmarshalResponse(resp *http.Response) error

type KafkaClusterLoadRequest

type KafkaClusterLoadRequest struct {
	types.GenericRequestWithReason

	// Start time of the cluster load. Default is time of the earliest valid window.
	Start int64 `param:"start,omitempty"`
	// End time of the cluster load. Default is current system time.
	End int64 `param:"end,omitempty"`
	// End time of the cluster load. Default is current system time, mutually exclusive with End parameter.
	Time int64 `param:"time,omitempty"`
	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information.
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// Whether show the load of each disk of broker.
	PopulateDiskInfo bool `param:"populate_disk_info,omitempty"`
	// Whether show only the cluster capacity or the utilization, as well.
	CapacityOnly bool `param:"capacity_only,omitempty"`
}

func KafkaClusterLoadRequestWithDefaults

func KafkaClusterLoadRequestWithDefaults() *KafkaClusterLoadRequest

func (KafkaClusterLoadRequest) Validate

func (s KafkaClusterLoadRequest) Validate() error

type KafkaClusterLoadResponse

type KafkaClusterLoadResponse struct {
	types.GenericResponse

	Result *types.BrokerStats
}

func (*KafkaClusterLoadResponse) UnmarshalResponse

func (r *KafkaClusterLoadResponse) UnmarshalResponse(resp *http.Response) error

type KafkaClusterStateRequest

type KafkaClusterStateRequest struct {
	types.GenericRequestWithReason

	// Topic regex to filter partition information in response.
	// Example: "myTopic.*"
	Topic string `param:"topic,omitempty"`
	// Return detailed state information
	Verbose bool `param:"verbose,omitempty"`
}

func KafkaClusterStateRequestWithDefaults

func KafkaClusterStateRequestWithDefaults() *KafkaClusterStateRequest

func (KafkaClusterStateRequest) Validate

func (s KafkaClusterStateRequest) Validate() error

type KafkaClusterStateResponse

type KafkaClusterStateResponse struct {
	types.GenericResponse

	Result *types.KafkaClusterState
}

func (*KafkaClusterStateResponse) UnmarshalResponse

func (r *KafkaClusterStateResponse) UnmarshalResponse(resp *http.Response) error

type KafkaPartitionLoadRequest

type KafkaPartitionLoadRequest struct {
	types.GenericRequestWithReason

	// The timestamp in millisecond of the earliest metric sample used to generate load.
	Start int64 `param:"start,omitempty"`
	// The timestamp in millisecond of the latest metric sample used to generate load, current time will be used
	// if this parameter is not specified.
	End int64 `param:"end,omitempty"`
	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information.
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// The host and broker-level resource by which to sort the cruise-control response.
	SortByResource types.ResourceType `param:"resource,omitempty"`
	// The number of entries to show in the response.
	Entries int32 `param:"entries,omitempty"`
	// A regular expression used to filter the partition load returned based on topic.
	// Example: "myTopic.*"
	Topic string `param:"topic,omitempty"`
	// A single partition or partition range to filter partition load returned.
	// Example: "0" or "0-9"
	Partition string `param:"partition,omitempty"`
	// The minimum required ratio of partition load data completeness. The value must be in range of 0.0 - 1.0.
	// The default value is 0.98.
	MinValidPartitionRatio float64 `param:"min_valid_partition_ratio,omitempty"`
	// If true, the maximum load is returned.
	MaxLoad bool `param:"max_load,omitempty"`
	// If true, the average load is returned.
	AvgLoad bool `param:"avg_load,omitempty"`
	// Set of broker ids used to filter partition load returned.
	BrokerID []int32 `param:"brokerid,omitempty"`
}

func KafkaPartitionLoadRequestWithDefaults

func KafkaPartitionLoadRequestWithDefaults() *KafkaPartitionLoadRequest

func (KafkaPartitionLoadRequest) Validate

func (s KafkaPartitionLoadRequest) Validate() error

type KafkaPartitionLoadResponse

type KafkaPartitionLoadResponse struct {
	types.GenericResponse

	Result *types.PartitionLoadState
}

func (*KafkaPartitionLoadResponse) UnmarshalResponse

func (r *KafkaPartitionLoadResponse) UnmarshalResponse(resp *http.Response) error

type PauseSamplingRequest

type PauseSamplingRequest struct {
	types.GenericRequestWithReason

	// Review id for 2-step verification.
	ReviewID int32 `param:"review_id,omitempty"`
}

func PauseSamplingRequestWithDefaults

func PauseSamplingRequestWithDefaults() *PauseSamplingRequest

func (PauseSamplingRequest) Validate

func (s PauseSamplingRequest) Validate() error

type PauseSamplingResponse

type PauseSamplingResponse struct {
	types.GenericResponse

	Result *types.SamplingResult
}

func (*PauseSamplingResponse) UnmarshalResponse

func (r *PauseSamplingResponse) UnmarshalResponse(resp *http.Response) error

type ProposalsRequest

type ProposalsRequest struct {
	types.GenericRequestWithReason

	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information.
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// Specify brokers to move replicas to.
	DestinationBrokerIDs []int32 `param:"destination_broker_ids,omitempty"`
	// Whether to allow leader replicas to be moved to recently demoted brokers.
	ExcludeRecentlyDemotedBrokers bool `param:"exclude_recently_demoted_brokers,omitempty"`
	// Whether to allow replicas to be moved to recently removed broker.
	ExcludeRecentlyRemovedBrokers bool `param:"exclude_recently_removed_brokers,omitempty"`
	// Specify topic whose partition is excluded from replica movement.
	ExcludedTopics string `param:"excluded_topics,omitempty"`
	// True to compute proposals in fast mode, false otherwise.
	FastMode bool `param:"fast_mode,omitempty"`
	// List of goals used to generate proposal, the default goals will be used if this parameter is not specified.
	Goals []types.Goal `param:"goals,omitempty"`
	// Whether to use Kafka assigner mode to generate proposals.
	KafkaAssigner bool `param:"kafka_assigner,omitempty"`
	// Whether to only use ready goals to generate proposal.
	UseReadyDefaultGoals bool `param:"use_ready_default_goals,omitempty"`
	// Return detailed state information.
	Verbose bool `param:"verbose,omitempty"`
	// Whether to calculate proposal from available valid partitions or valid windows.
	DataFrom types.ProposalDataSource `param:"data_from,omitempty"`
	// Whether to ignore the cached proposal or not.
	IgnoreProposalCache bool `param:"ignore_proposal_cache,omitempty"`
	// Whether to balance load between disks within brokers (requires JBOD Kafka deployment).
	RebalanceDisk bool `param:"rebalance_disk,omitempty"`
}

func ProposalsRequestWithDefaults

func ProposalsRequestWithDefaults() *ProposalsRequest

func (ProposalsRequest) Validate

func (s ProposalsRequest) Validate() error

type ProposalsResponse

type ProposalsResponse struct {
	types.GenericResponse

	Result *types.OptimizationResult
}

func (*ProposalsResponse) UnmarshalResponse

func (r *ProposalsResponse) UnmarshalResponse(resp *http.Response) error

type RebalanceRequest

type RebalanceRequest struct {
	types.GenericRequestWithReason

	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information.
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// Specify brokers to move replicas to.
	DestinationBrokerIDs []int32 `param:"destination_broker_ids,omitempty"`
	// The upper bound of ongoing leadership movements.
	ConcurrentLeaderMovements int32 `param:"concurrent_leader_movements,omitempty"`
	// The upper bound of ongoing replica movements going into/out of each broker.
	ConcurrentPartitionMovementsPerBroker int32 `param:"concurrent_partition_movements_per_broker,omitempty"`
	// Whether to dry-run the request or not.
	DryRun bool `param:"dryrun"`
	// Whether to allow leader replicas to be moved to recently demoted brokers.
	ExcludeRecentlyDemotedBrokers bool `param:"exclude_recently_demoted_brokers,omitempty"`
	// Whether to allow replicas to be moved to recently removed broker.
	ExcludeRecentlyRemovedBrokers bool `param:"exclude_recently_removed_brokers,omitempty"`
	// Specify topic whose partition is excluded from replica movement.
	ExcludedTopics string `param:"excluded_topics,omitempty"`
	// Execution progress check interval in milliseconds.
	ExecutionProgressCheckIntervalMs int64 `param:"execution_progress_check_interval_ms,omitempty"`
	// True to compute proposals in fast mode, false otherwise.
	FastMode bool `param:"fast_mode,omitempty"`
	// List of goals used to generate proposal, the default goals will be used if this parameter is not specified.
	Goals []types.Goal `param:"goals,omitempty"`
	// Whether to use Kafka assigner mode to generate proposals.
	KafkaAssigner bool `param:"kafka_assigner,omitempty"`
	// Replica movement strategies to use.
	ReplicaMovementStrategies []types.ReplicaMovementStrategy `param:"replica_movement_strategies,omitempty"`
	// Upper bound on the bandwidth in bytes per second used to move replicas.
	ReplicationThrottle int64 `param:"replication_throttle,omitempty"`
	// Review id for 2-step verification.
	ReviewID int32 `param:"review_id,omitempty"`
	// Whether to allow hard goals be skipped in proposal generation.
	SkipHardGoalCheck bool `param:"skip_hard_goal_check,omitempty"`
	// Whether to stop the ongoing execution (if any) and start executing the given request.
	StopOngoingExecution bool `param:"stop_ongoing_execution,omitempty"`
	// Whether to only use ready goals to generate proposal.
	UseReadyDefaultGoals bool `param:"use_ready_default_goals,omitempty"`
	// Return detailed state information.
	Verbose bool `param:"verbose,omitempty"`
	// Whether to calculate proposal from available valid partitions or valid windows.
	DataFrom types.ProposalDataSource `param:"data_from,omitempty"`
	// The upper bound of ongoing replica movements between disks within each broker.
	ConcurrentIntraBrokerPartitionMovements int32 `param:"concurrent_intra_broker_partition_movements,omitempty"`
	// Whether to ignore the cached proposal or not.
	IgnoreProposalCache bool `param:"ignore_proposal_cache,omitempty"`
	// Whether to balance load between disks within brokers (requires JBOD Kafka deployment).
	RebalanceDisk bool `param:"rebalance_disk,omitempty"`
}

func RebalanceRequestWithDefaults

func RebalanceRequestWithDefaults() *RebalanceRequest

func (RebalanceRequest) Validate

func (s RebalanceRequest) Validate() error

type RebalanceResponse

type RebalanceResponse struct {
	types.GenericResponse

	Result *types.OptimizationResult
}

func (*RebalanceResponse) UnmarshalResponse

func (r *RebalanceResponse) UnmarshalResponse(resp *http.Response) error

type RemoveBrokerRequest

type RemoveBrokerRequest struct {
	types.GenericRequestWithReason

	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// List of target broker ids
	BrokerIDs []int32 `param:"brokerid"`
	// The upper bound of ongoing leadership movements
	ConcurrentLeaderMovements int32 `param:"concurrent_leader_movements,omitempty"`
	// The upper bound of ongoing replica movements going into/out of each broker
	ConcurrentPartitionMovementsPerBroker int32 `param:"concurrent_partition_movements_per_broker,omitempty"`
	// Whether to calculate proposal from available valid partitions or valid windows
	DataFrom types.ProposalDataSource `param:"data_from,omitempty"`
	// List of target broker ids
	DestinationBrokerIDs []int32 `param:"destination_broker_ids,omitempty"`
	// Whether to dry-run the request or not.
	DryRun bool `param:"dryrun"`
	// Whether to allow leader replicas to be moved to recently demoted brokers
	ExcludeRecentlyDemotedBrokers bool `param:"exclude_recently_demoted_brokers,omitempty"`
	// Whether to allow replicas to be moved to recently removed broker
	ExcludeRecentlyRemovedBrokers bool `param:"exclude_recently_removed_brokers,omitempty"`
	// Specify topic whose partition is excluded from replica movement
	ExcludedTopics string `param:"excluded_topics,omitempty"`
	// Execution progress check interval in milliseconds
	ExecutionProgressCheckIntervalMs int64 `param:"execution_progress_check_interval_ms,omitempty"`
	// True to compute proposals in fast mode, false otherwise
	FastMode bool `param:"fast_mode,omitempty"`
	// List of goals used to generate proposal, the default goals will be used if this parameter is not specified
	Goals []types.Goal `param:"goals,omitempty"`
	// Whether to use Kafka assigner mode to generate proposals
	KafkaAssigner bool `param:"kafka_assigner,omitempty"`
	// Change upper bound of ongoing inter broker partition movements in cluster
	MaxPartitionMovementsInCluster int32 `param:"max_partition_movements_in_cluster,omitempty"`
	// Replica movement strategies to use
	ReplicaMovementStrategies []types.ReplicaMovementStrategy `param:"replica_movement_strategies,omitempty"`
	// Upper bound on the bandwidth in bytes per second used to move replicas
	ReplicationThrottle int64 `param:"replication_throttle,omitempty"`
	// Review id for 2-step verification
	ReviewID int32 `param:"review_id,omitempty"`
	// Whether to allow hard goals be skipped in proposal generation
	SkipHardGoalCheck bool `param:"skip_hard_goal_check,omitempty"`
	// Whether to stop the ongoing execution (if any) and start executing the given request
	StopOngoingExecution bool `param:"stop_ongoing_execution,omitempty"`
	// Whether to only use ready goals to generate proposal
	UseReadyDefaultGoals bool `param:"use_ready_default_goals,omitempty"`
	// Return detailed state information
	Verbose bool `param:"verbose,omitempty"`
	// Whether to throttle the removed broker
	ThrottleRemovedBroker bool `param:"throttle_removed_broker,omitempty"`
}

func RemoveBrokerRequestWithDefaults

func RemoveBrokerRequestWithDefaults() *RemoveBrokerRequest

func (RemoveBrokerRequest) Validate

func (s RemoveBrokerRequest) Validate() error

type RemoveBrokerResponse

type RemoveBrokerResponse struct {
	types.GenericResponse

	Result *types.OptimizationResult
}

func (*RemoveBrokerResponse) UnmarshalResponse

func (r *RemoveBrokerResponse) UnmarshalResponse(resp *http.Response) error

type ResumeSamplingRequest

type ResumeSamplingRequest struct {
	types.GenericRequestWithReason

	// Review id for 2-step verification.
	ReviewID int32 `param:"review_id,omitempty"`
}

func ResumeSamplingRequestWithDefaults

func ResumeSamplingRequestWithDefaults() *ResumeSamplingRequest

func (ResumeSamplingRequest) Validate

func (s ResumeSamplingRequest) Validate() error

type ResumeSamplingResponse

type ResumeSamplingResponse struct {
	types.GenericResponse

	Result *types.SamplingResult
}

func (*ResumeSamplingResponse) UnmarshalResponse

func (r *ResumeSamplingResponse) UnmarshalResponse(resp *http.Response) error

type ReviewBoardRequest

type ReviewBoardRequest struct {
	types.GenericRequest

	// Approve one or more pending Cruise Control requests.
	ReviewIDs []int32 `param:"review_ids,omitempty"`
}

func (ReviewBoardRequest) Validate

func (s ReviewBoardRequest) Validate() error

type ReviewBoardResponse

type ReviewBoardResponse struct {
	types.GenericResponse

	Result *types.ReviewResult
}

func (*ReviewBoardResponse) UnmarshalResponse

func (r *ReviewBoardResponse) UnmarshalResponse(resp *http.Response) error

type ReviewRequest

type ReviewRequest struct {
	types.GenericRequestWithReason

	// Approve one or more pending Cruise Control requests.
	Approve []int32 `param:"approve,omitempty"`
	// Approve one or more pending Cruise Control requests.
	Discard []int32 `param:"discard,omitempty"`
}

func ReviewBoardRequestWithDefaults

func ReviewBoardRequestWithDefaults() *ReviewRequest

func ReviewRequestWithDefaults

func ReviewRequestWithDefaults() *ReviewRequest

func (ReviewRequest) Validate

func (s ReviewRequest) Validate() error

type ReviewResponse

type ReviewResponse struct {
	types.GenericResponse

	Result *types.ReviewResult
}

func (*ReviewResponse) UnmarshalResponse

func (r *ReviewResponse) UnmarshalResponse(resp *http.Response) error

type RightsizeRequest

type RightsizeRequest struct {
	types.GenericRequestWithReason

	// NumberOfBrokersToAdd is the difference in broker count to rightsize towards. Minimum value is 1.
	NumberOfBrokersToAdd int32 `param:"num_brokers_to_add,omitempty"`
	// PartitionCount is the target number of partitions to rightsize towards. Minimum value is 1.
	PartitionCount int32 `param:"partition_count,omitempty"`
	// Topic is a regular expression to specify subject topics.
	Topic string `param:"topic,omitempty"`
}

func RightsizeRequestWithDefaults

func RightsizeRequestWithDefaults() *RightsizeRequest

func (RightsizeRequest) Validate

func (s RightsizeRequest) Validate() error

type RightsizeResponse

type RightsizeResponse struct {
	types.GenericResponse

	Result *types.RightsizeResult
}

func (*RightsizeResponse) UnmarshalResponse

func (r *RightsizeResponse) UnmarshalResponse(resp *http.Response) error

type StateRequest

type StateRequest struct {
	types.GenericRequestWithReason

	// The substates for which to retrieve state from cruise-control
	Substates []types.Substate `param:"substates,omitempty"`
	// Return detailed state information
	Verbose bool `param:"verbose,omitempty"`
	// Return super-verbose state information
	SuperVerbose bool `param:"super_verbose,omitempty"`
}

func StateRequestWithDefaults

func StateRequestWithDefaults() *StateRequest

func (StateRequest) Validate

func (s StateRequest) Validate() error

type StateResponse

type StateResponse struct {
	types.GenericResponse

	Result *types.StateResult
}

func (*StateResponse) UnmarshalResponse

func (r *StateResponse) UnmarshalResponse(resp *http.Response) error

type StopProposalExecutionRequest

type StopProposalExecutionRequest struct {
	types.GenericRequestWithReason

	// If ForceStop is set to true then it stops execution forcefully by deleting the /admin/partition_reassignemt,
	// /preferred_replica_election and /controller zNodes in Zookeeper. Default is false.
	ForceStop bool `param:"force_stop,omitempty"`
	// Review id for 2-step verification.
	ReviewID int32 `param:"review_id,omitempty"`
	// If StopExternalAgent is set to true then it stops any ongoing execution even if it is started by an external agent.
	// If false, only stop execution started by the current CC instance.
	// This parameter would only be honored with Kafka 2.4 or above.
	StopExternalAgent bool `param:"stop_external_agent,omitempty"`
}

func StopProposalExecutionRequestWithDefaults

func StopProposalExecutionRequestWithDefaults() *StopProposalExecutionRequest

func (StopProposalExecutionRequest) Validate

func (s StopProposalExecutionRequest) Validate() error

type StopProposalExecutionResponse

type StopProposalExecutionResponse struct {
	types.GenericResponse

	Result *types.StopProposalResult
}

func (*StopProposalExecutionResponse) UnmarshalResponse

func (r *StopProposalExecutionResponse) UnmarshalResponse(resp *http.Response) error

type TopicConfigurationRequest

type TopicConfigurationRequest struct {
	types.GenericRequestWithReason

	// Whether to allow capacity estimation when cruise-control is unable to obtain all per-broker capacity information.
	AllowCapacityEstimation bool `param:"allow_capacity_estimation"`
	// The upper bound of ongoing leadership movements. Minimum value is 1.
	ConcurrentLeaderMovements int32 `param:"concurrent_leader_movements,omitempty"`
	// The upper bound of ongoing replica movements going into/out of each broker. Minimum value is 1.
	ConcurrentPartitionMovementsPerBroker int32 `param:"concurrent_partition_movements_per_broker,omitempty"`
	// Whether to calculate proposal from available valid partitions or valid windows.
	DataFrom types.ProposalDataSource `param:"data_from,omitempty"`
	// Whether to dry-run the request or not.
	DryRun bool `param:"dryrun"`
	// Whether to allow leader replicas to be moved to recently demoted brokers.
	ExcludeRecentlyDemotedBrokers bool `param:"exclude_recently_demoted_brokers,omitempty"`
	// Whether to allow replicas to be moved to recently removed broker
	ExcludeRecentlyRemovedBrokers bool `param:"exclude_recently_removed_brokers,omitempty"`
	// Specify topic whose partition is excluded from replica movement. Example: "__CruiseControl.*"
	ExcludedTopics string `param:"excluded_topics,omitempty"`
	// Execution progress check interval in milliseconds. Minimum value is 5000.
	ExecutionProgressCheckIntervalMs int64 `param:"execution_progress_check_interval_ms,omitempty"`
	// True to compute proposals in fast mode, false otherwise.
	FastMode bool `param:"fast_mode,omitempty"`
	// List of goals used to generate proposal, the default goals will be used if this parameter is not specified.
	Goals []types.Goal `param:"goals,omitempty"`
	// Replica movement strategies to use.
	ReplicaMovementStrategies []types.ReplicaMovementStrategy `param:"replica_movement_strategies,omitempty"`
	// ReplicationFactor defines the target replication factor. Minimum value is 1.
	ReplicationFactor int32 `param:"replication_factor"`
	// Upper bound on the bandwidth in bytes per second used to move replicas. Minimum value is 1.
	ReplicationThrottle int64 `param:"replication_throttle,omitempty"`
	// Review id for 2-step verification.
	ReviewID int32 `param:"review_id,omitempty"`
	// Whether to allow hard goals be skipped in proposal generation.
	SkipHardGoalCheck bool `param:"skip_hard_goal_check,omitempty"`
	// Whether to allow rack awareness check to be skipped.
	SkipRackAwarenessCheck bool `param:"skip_rack_awareness_check,omitempty"`
	// Whether to stop the ongoing execution (if any) and start executing the given request.
	StopOngoingExecution bool `param:"stop_ongoing_execution,omitempty"`
	// Topic defines the pattern which is used to get the list of topics which replication factor needs to be changed.
	Topic string `param:"topic"`
	// Whether to only use ready goals to generate proposal.
	UseReadyDefaultGoals bool `param:"use_ready_default_goals,omitempty"`
	// Return detailed state information.
	Verbose bool `param:"verbose,omitempty"`
}

func TopicConfigurationRequestWithDefaults

func TopicConfigurationRequestWithDefaults() *TopicConfigurationRequest

func (TopicConfigurationRequest) Validate

func (s TopicConfigurationRequest) Validate() error

type TopicConfigurationResponse

type TopicConfigurationResponse struct {
	types.GenericResponse

	Result *types.OptimizationResult
}

func (*TopicConfigurationResponse) UnmarshalResponse

func (r *TopicConfigurationResponse) UnmarshalResponse(resp *http.Response) error

type TrainRequest

type TrainRequest struct {
	types.GenericRequest

	// Timestamp in millisecond of the latest metrics sample used to train Cruise Control, current time will be used
	// if this parameter is not specified.
	End int64 `param:"end,omitempty"`
	// Timestamp in millisecond of the earliest metrics sample used to train Cruise Control.
	Start int64 `param:"start"`
}

func TrainRequestWithDefaults

func TrainRequestWithDefaults() *TrainRequest

func (TrainRequest) Validate

func (s TrainRequest) Validate() error

type TrainResponse

type TrainResponse struct {
	types.GenericResponse

	Result *types.TrainResult
}

func (*TrainResponse) UnmarshalResponse

func (r *TrainResponse) UnmarshalResponse(resp *http.Response) error

type UserTasksRequest

type UserTasksRequest struct {
	types.GenericRequestWithReason

	// List of IP addresses to filter the task results Cruise Control report.
	ClientIDs []string `param:"client_ids,omitempty"`
	// List of endpoints to filter the task results Cruise Control report.
	Endpoints []types.APIEndpoint `param:"endpoints,omitempty"`
	// The number of entries to show in the response.
	Entries int32 `param:"entries,omitempty"`
	// List of user task status to filter the task results Cruise Control report.
	Types []types.UserTaskStatus `param:"types,omitempty"`
	// List of user task UUIDs to filter the task results Cruise Control report.
	UserTaskIDs []string `param:"user_task_ids,omitempty"`
	// Whether return the original request's final response.
	FetchCompletedTasks bool `param:"fetch_completed_task,omitempty"`
}

func UserTasksRequestWithDefaults

func UserTasksRequestWithDefaults() *UserTasksRequest

func (UserTasksRequest) Validate

func (s UserTasksRequest) Validate() error

type UserTasksResponse

type UserTasksResponse struct {
	types.GenericResponse

	Result *types.UserTaskState
}

func (*UserTasksResponse) UnmarshalResponse

func (r *UserTasksResponse) UnmarshalResponse(resp *http.Response) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL