mirror of https://github.com/docker/cli.git
62 lines
1.4 KiB
Go
62 lines
1.4 KiB
Go
|
package builders
|
||
|
|
||
|
import (
|
||
|
"time"
|
||
|
|
||
|
"github.com/docker/docker/api/types/swarm"
|
||
|
)
|
||
|
|
||
|
// Config creates a config with default values.
|
||
|
// Any number of config builder functions can be passed to augment it.
|
||
|
func Config(builders ...func(config *swarm.Config)) *swarm.Config {
|
||
|
config := &swarm.Config{}
|
||
|
|
||
|
for _, builder := range builders {
|
||
|
builder(config)
|
||
|
}
|
||
|
|
||
|
return config
|
||
|
}
|
||
|
|
||
|
// ConfigLabels sets the config's labels
|
||
|
func ConfigLabels(labels map[string]string) func(config *swarm.Config) {
|
||
|
return func(config *swarm.Config) {
|
||
|
config.Spec.Labels = labels
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ConfigName sets the config's name
|
||
|
func ConfigName(name string) func(config *swarm.Config) {
|
||
|
return func(config *swarm.Config) {
|
||
|
config.Spec.Name = name
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ConfigID sets the config's ID
|
||
|
func ConfigID(ID string) func(config *swarm.Config) {
|
||
|
return func(config *swarm.Config) {
|
||
|
config.ID = ID
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ConfigVersion sets the version for the config
|
||
|
func ConfigVersion(v swarm.Version) func(*swarm.Config) {
|
||
|
return func(config *swarm.Config) {
|
||
|
config.Version = v
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ConfigCreatedAt sets the creation time for the config
|
||
|
func ConfigCreatedAt(t time.Time) func(*swarm.Config) {
|
||
|
return func(config *swarm.Config) {
|
||
|
config.CreatedAt = t
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ConfigUpdatedAt sets the update time for the config
|
||
|
func ConfigUpdatedAt(t time.Time) func(*swarm.Config) {
|
||
|
return func(config *swarm.Config) {
|
||
|
config.UpdatedAt = t
|
||
|
}
|
||
|
}
|