github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/model/distro/distro.go (about) 1 package distro 2 3 // UserData validation formats 4 const ( 5 UserDataFormatFormURLEncoded = "x-www-form-urlencoded" 6 UserDataFormatJSON = "json" 7 UserDataFormatYAML = "yaml" 8 ) 9 10 type Distro struct { 11 Id string `bson:"_id" json:"_id,omitempty" mapstructure:"_id,omitempty"` 12 Arch string `bson:"arch" json:"arch,omitempty" mapstructure:"arch,omitempty"` 13 WorkDir string `bson:"work_dir" json:"work_dir,omitempty" mapstructure:"work_dir,omitempty"` 14 PoolSize int `bson:"pool_size,omitempty" json:"pool_size,omitempty" mapstructure:"pool_size,omitempty" yaml:"poolsize"` 15 Provider string `bson:"provider" json:"provider,omitempty" mapstructure:"provider,omitempty"` 16 ProviderSettings *map[string]interface{} `bson:"settings" json:"settings,omitempty" mapstructure:"settings,omitempty"` 17 18 SetupAsSudo bool `bson:"setup_as_sudo,omitempty" json:"setup_as_sudo,omitempty" mapstructure:"setup_as_sudo,omitempty"` 19 Setup string `bson:"setup,omitempty" json:"setup,omitempty" mapstructure:"setup,omitempty"` 20 Teardown string `bson:"teardown,omitempty" json:"teardown,omitempty" mapstructure:"teardown,omitempty"` 21 User string `bson:"user,omitempty" json:"user,omitempty" mapstructure:"user,omitempty"` 22 SSHKey string `bson:"ssh_key,omitempty" json:"ssh_key,omitempty" mapstructure:"ssh_key,omitempty"` 23 SSHOptions []string `bson:"ssh_options,omitempty" json:"ssh_options,omitempty" mapstructure:"ssh_options,omitempty"` 24 UserData UserData `bson:"user_data,omitempty" json:"user_data,omitempty" mapstructure:"user_data,omitempty"` 25 26 SpawnAllowed bool `bson:"spawn_allowed" json:"spawn_allowed,omitempty" mapstructure:"spawn_allowed,omitempty"` 27 Expansions []Expansion `bson:"expansions,omitempty" json:"expansions,omitempty" mapstructure:"expansions,omitempty"` 28 } 29 30 type ValidateFormat string 31 32 type UserData struct { 33 File string `bson:"file,omitempty" json:"file,omitempty"` 34 Validate ValidateFormat `bson:"validate,omitempty" json:"validate,omitempty"` 35 } 36 37 type Expansion struct { 38 Key string `bson:"key,omitempty" json:"key,omitempty"` 39 Value string `bson:"value,omitempty" json:"value,omitempty"` 40 }