-
Notifications
You must be signed in to change notification settings - Fork 10
/
auto_scaling_config.go
74 lines (56 loc) · 2.54 KB
/
auto_scaling_config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Code generated by go-swagger; DO NOT EDIT.
package models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// AutoScalingConfig A config for Autoscaling
//
// swagger:model AutoScalingConfig
type AutoScalingConfig struct {
// Period of metrics(in seconds) needs to be considered.
EvaluationPeriod int64 `json:"evaluationPeriod,omitempty"`
// The maximum number of compute nodes, as per these metrics can be scaled up to.
MaxComputeNodesForDatabase *int32 `json:"maxComputeNodesForDatabase,omitempty"`
// The maximum percentage threshold for the CPU utilization of the worker nodes. The CPU utilization is obtained from the Cloudera Manager metric 'cpu_percent' across worker nodes. Set 100 or more to disable the CPU metrics.
MaxCPUUtilization int32 `json:"maxCpuUtilization,omitempty"`
// Maximum number of worker nodes as per this metrics can be scaled up to.
MaxWorkersForDatabase int32 `json:"maxWorkersForDatabase,omitempty"`
// Maximum number of worker nodes as per this metrics can be scaled up to in one batch.
MaxWorkersPerBatch int32 `json:"maxWorkersPerBatch,omitempty"`
// The minimum number of compute nodes as per these metrics can be scaled down to.
MinComputeNodesForDatabase *int32 `json:"minComputeNodesForDatabase,omitempty"`
// Minimum number of worker nodes as per this metrics can be scaled down to.
MinWorkersForDatabase int32 `json:"minWorkersForDatabase,omitempty"`
// The amount of block cache, in Gigabytes, which the database should have.
MinimumBlockCacheGb int32 `json:"minimumBlockCacheGb,omitempty"`
// The target value of the metric a user expect to maintain for the cluster
TargetedValueForMetric int64 `json:"targetedValueForMetric,omitempty"`
}
// Validate validates this auto scaling config
func (m *AutoScalingConfig) Validate(formats strfmt.Registry) error {
return nil
}
// ContextValidate validates this auto scaling config based on context it is used
func (m *AutoScalingConfig) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
return nil
}
// MarshalBinary interface implementation
func (m *AutoScalingConfig) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *AutoScalingConfig) UnmarshalBinary(b []byte) error {
var res AutoScalingConfig
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}