in projects/aws/bottlerocket-bootstrap/pkg/etcdadm/etcdadm.go [71:95]
func parseCmd(bootstrapCmd string) (command, error) {
words := strings.Fields(bootstrapCmd)
if len(words) == 0 {
return nil, errors.Errorf("invalid bootstrap etcdadm command [%s]", bootstrapCmd)
}
cmd := words[0]
switch cmd {
case initCmd:
if len(words) != 4 {
return nil, errors.Errorf("invalid bootstrap etcdadm init command [%s]", bootstrapCmd)
}
return &initCommand{repository: words[1], version: words[2], cipherSuites: words[3]}, nil
case joinCmd:
if len(words) != 5 {
return nil, errors.Errorf("invalid bootstrap etcdadm join command [%s]", bootstrapCmd)
}
return &joinCommand{repository: words[1], version: words[2], cipherSuites: words[3], endpoint: words[4]}, nil
default:
return nil, errors.Errorf("invalid etcdadm bootstrap command %s", bootstrapCmd)
}
}