Add support for several ECS backends
This commit is contained in:
parent
05665f4eec
commit
8765494cbd
7 changed files with 268 additions and 95 deletions
32
provider/ecs/cluster.go
Normal file
32
provider/ecs/cluster.go
Normal file
|
@ -0,0 +1,32 @@
|
|||
package ecs
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// Clusters holds ecs clusters name
|
||||
type Clusters []string
|
||||
|
||||
// Set adds strings elem into the the parser
|
||||
// it splits str on , and ;
|
||||
func (c *Clusters) Set(str string) error {
|
||||
fargs := func(c rune) bool {
|
||||
return c == ',' || c == ';'
|
||||
}
|
||||
// get function
|
||||
slice := strings.FieldsFunc(str, fargs)
|
||||
*c = append(*c, slice...)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Get Clusters
|
||||
func (c *Clusters) Get() interface{} { return Clusters(*c) }
|
||||
|
||||
// String return slice in a string
|
||||
func (c *Clusters) String() string { return fmt.Sprintf("%v", *c) }
|
||||
|
||||
// SetValue sets Clusters into the parser
|
||||
func (c *Clusters) SetValue(val interface{}) {
|
||||
*c = Clusters(val.(Clusters))
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue