drone-yaml/yaml/converter/legacy/internal/secret.go
2019-02-21 12:48:45 -08:00

35 lines
750 B
Go

// Copyright 2019 Drone.IO Inc. All rights reserved.
// Use of this source code is governed by the Drone Non-Commercial License
// that can be found in the LICENSE file.
package yaml
type (
// Secrets represents a list of container secrets.
Secrets struct {
Secrets []*Secret
}
// Secret represents a container secret.
Secret struct {
Source string
Target string
}
)
// UnmarshalYAML implements the Unmarshaller interface.
func (s *Secrets) UnmarshalYAML(unmarshal func(interface{}) error) error {
var strslice []string
err := unmarshal(&strslice)
if err == nil {
for _, str := range strslice {
s.Secrets = append(s.Secrets, &Secret{
Source: str,
Target: str,
})
}
return nil
}
return unmarshal(&s.Secrets)
}