Documentation
¶
Index ¶
- Constants
- Variables
- func Configure(c *cli.Context) error
- func CreateCluster(c *cli.Context) error
- func DescribeCluster(c *cli.Context) error
- func GenerateCreateClusterSkeleton(c *cli.Context) error
- func GetHomeDirectory() string
- func ListBlueprints(c *cli.Context) error
- func ListClusters(c *cli.Context) error
- func SafeInt32Convert(value *int32) int32
- func SafeStringConvert(value *string) string
- func TerminateCluster(c *cli.Context) error
- func ValidateCreateClusterSkeleton(c *cli.Context) error
- func WriteConfigToFile(server string, username string, password string) error
- func WriteTable(header []string, tableRows []TableRow)
- type Cloudbreak
- func (c *Cloudbreak) CopyDefaultCredential(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
- func (c *Cloudbreak) CopyDefaultNetwork(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
- func (c *Cloudbreak) CreateCredential(defaultCredential models.CredentialResponse, existingKey string) int64
- func (c *Cloudbreak) CreateNetwork(defaultNetwork models.NetworkJSON) int64
- func (c *Cloudbreak) CreateSecurityGroup(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
- func (c *Cloudbreak) CreateTemplate(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
- func (c *Cloudbreak) GetBlueprintId(name string) int64
- func (c *Cloudbreak) GetCredential(name string) models.CredentialResponse
- func (c *Cloudbreak) GetNetwork(name string) models.NetworkJSON
- func (c *Cloudbreak) GetSecurityDetails(client *Cloudbreak, stack *models.StackResponse) (securityMap map[string][]*models.SecurityRule, err error)
- type ClusterSkeleton
- type Config
- type ErrorMessage
- type GenericRow
- type InstanceConfig
- type TableRow
Constants ¶
View Source
const ( Hdc_dir = ".hdc" Config_file = "config" )
Variables ¶
View Source
var ( FlDebug = cli.BoolFlag{ Name: "debug", Usage: "debug mode", EnvVar: "DEBUG", } FlCBServer = cli.StringFlag{ Name: "server", Usage: "server address", EnvVar: "CB_SERVER_ADDRESS", } FlCBUsername = cli.StringFlag{ Name: "username", Usage: "user name (e-mail address)", EnvVar: "CB_USER_NAME", } FlCBPassword = cli.StringFlag{ Name: "password", Usage: "password", EnvVar: "CB_PASSWORD", } FlCBInputJson = cli.StringFlag{ Name: "cli-input-json", Usage: "user provided file with json content", } FlCBClusterName = cli.StringFlag{ Name: "cluster-name", Usage: "name of a cluster", } FlCBWait = cli.StringFlag{ Name: "wait", Usage: "wait for the operation to finish", } )
View Source
var ( Version string BuildTime string )
View Source
var ClusterSkeletonListHeader []string = []string{"Cluster Name", "Status", "HDP Version", "Cluster Type"}
View Source
var LoggedTransportConfig = httplogger.NewLoggedTransport(TransportConfig, newLogger())
View Source
var PREFIX_TRIM []string = []string{"http://", "https://"}
View Source
var SECURITY_GROUP_DEFAULT_PORTS = []string{"22", "443", "9443"}
View Source
var TransportConfig = &http.Transport{ Proxy: http.ProxyFromEnvironment, TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, Dial: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, }).Dial, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, }
This is nearly identical with http.DefaultTransport
Functions ¶
func CreateCluster ¶
func DescribeCluster ¶
func GetHomeDirectory ¶
func GetHomeDirectory() string
func ListBlueprints ¶
func ListClusters ¶
func SafeInt32Convert ¶
func SafeStringConvert ¶
func TerminateCluster ¶
func WriteConfigToFile ¶
func WriteTable ¶
Types ¶
type Cloudbreak ¶
type Cloudbreak struct {
Cloudbreak *apiclient.Cloudbreak
}
func NewOAuth2HTTPClient ¶
func NewOAuth2HTTPClient(address string, username string, password string) (*Cloudbreak, error)
NewHTTPClient creates a new cloudbreak HTTP client.
func (*Cloudbreak) CopyDefaultCredential ¶
func (c *Cloudbreak) CopyDefaultCredential(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
func (*Cloudbreak) CopyDefaultNetwork ¶
func (c *Cloudbreak) CopyDefaultNetwork(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
func (*Cloudbreak) CreateCredential ¶
func (c *Cloudbreak) CreateCredential(defaultCredential models.CredentialResponse, existingKey string) int64
func (*Cloudbreak) CreateNetwork ¶
func (c *Cloudbreak) CreateNetwork(defaultNetwork models.NetworkJSON) int64
func (*Cloudbreak) CreateSecurityGroup ¶
func (c *Cloudbreak) CreateSecurityGroup(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
func (*Cloudbreak) CreateTemplate ¶
func (c *Cloudbreak) CreateTemplate(skeleton ClusterSkeleton, channel chan int64, wg *sync.WaitGroup)
func (*Cloudbreak) GetBlueprintId ¶
func (c *Cloudbreak) GetBlueprintId(name string) int64
func (*Cloudbreak) GetCredential ¶
func (c *Cloudbreak) GetCredential(name string) models.CredentialResponse
func (*Cloudbreak) GetNetwork ¶
func (c *Cloudbreak) GetNetwork(name string) models.NetworkJSON
func (*Cloudbreak) GetSecurityDetails ¶
func (c *Cloudbreak) GetSecurityDetails(client *Cloudbreak, stack *models.StackResponse) (securityMap map[string][]*models.SecurityRule, err error)
type ClusterSkeleton ¶
type ClusterSkeleton struct {
ClusterName string `json:"ClusterName" yaml:"ClusterName"`
HDPVersion string `json:"HDPVersion" yaml:"HDPVersion"`
ClusterType string `json:"ClusterType" yaml:"ClusterType"`
Master InstanceConfig `json:"Master" yaml:"Master"`
Worker InstanceConfig `json:"Worker" yaml:"Worker"`
InstanceCount int32 `json:"InstanceCount" yaml:"InstanceCount"`
SSHKeyName string `json:"SSHKeyName" yaml:"SSHKeyName"`
RemoteAccess string `json:"RemoteAccess" yaml:"RemoteAccess"`
WebAccess bool `json:"WebAccess" yaml:"WebAccess"`
ClusterAndAmbariUser string `json:"ClusterAndAmbariUser" yaml:"ClusterAndAmbariUser"`
ClusterAndAmbariPassword string `json:"ClusterAndAmbariPassword" yaml:"ClusterAndAmbariPassword"`
Status string `json:"Status,omitempty" yaml:"Status,omitempty"`
StatusReason string `json:"StatusReason,omitempty" yaml:"StatusReason,omitempty"`
}
func AssembleClusterSkeleton ¶
func AssembleClusterSkeleton(c *cli.Context) ClusterSkeleton
func FetchCluster ¶
func FetchCluster(client *Cloudbreak, stack *models.StackResponse) (*ClusterSkeleton, error)
func (*ClusterSkeleton) DataAsStringArray ¶
func (c *ClusterSkeleton) DataAsStringArray() []string
func (*ClusterSkeleton) Json ¶
func (c *ClusterSkeleton) Json() string
func (*ClusterSkeleton) JsonPretty ¶
func (c *ClusterSkeleton) JsonPretty() string
func (*ClusterSkeleton) Validate ¶
func (s *ClusterSkeleton) Validate() error
func (*ClusterSkeleton) Yaml ¶
func (c *ClusterSkeleton) Yaml() string
type Config ¶
type Config struct {
Username string `json:"username" yaml:"username"`
Password string `json:"password" yaml:"password"`
Server string `json:"server" yaml:"server"`
}
func ReadConfig ¶
type ErrorMessage ¶
type ErrorMessage struct {
Message string `json:"message"`
ValidationError map[string]string `json:"validationErrors"`
}
func (*ErrorMessage) String ¶
func (e *ErrorMessage) String() string
type GenericRow ¶
type GenericRow struct {
Data []string
}
func (*GenericRow) DataAsStringArray ¶
func (r *GenericRow) DataAsStringArray() []string
type InstanceConfig ¶
type InstanceConfig struct {
InstanceType string `json:"InstanceType" yaml:"InstanceType"`
VolumeType string `json:"VolumeType" yaml:"VolumeType"`
VolumeSize int32 `json:"VolumeSize" yaml:"VolumeSize"`
VolumeCount int32 `json:"VolumeCount" yaml:"VolumeCount"`
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.