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  }