github.com/technosophos/deis@v1.7.1-0.20150915173815-f9005256004b/builder/types.go (about)

     1  package builder
     2  
     3  import (
     4  	"github.com/deis/deis/pkg/time"
     5  )
     6  
     7  // ProcessType represents the key/value mappings of a process type to a process inside
     8  // a Heroku Procfile.
     9  //
    10  // See https://devcenter.heroku.com/articles/procfile
    11  type ProcessType map[string]string
    12  
    13  // ConfigHook represents a repository from which to extract the configuration and user to use.
    14  type ConfigHook struct {
    15  	ReceiveUser string `json:"receive_user"`
    16  	ReceiveRepo string `json:"receive_repo"`
    17  }
    18  
    19  // BuildHook represents a controller's build-hook object.
    20  type BuildHook struct {
    21  	Sha         string      `json:"sha"`
    22  	ReceiveUser string      `json:"receive_user"`
    23  	ReceiveRepo string      `json:"receive_repo"`
    24  	Image       string      `json:"image"`
    25  	Procfile    ProcessType `json:"procfile"`
    26  	Dockerfile  string      `json:"dockerfile"`
    27  }
    28  
    29  // BuildHookResponse represents a controller's build-hook response object.
    30  type BuildHookResponse struct {
    31  	Release map[string]int `json:"release"`
    32  	Domains []string       `json:"domains"`
    33  }
    34  
    35  // Config represents a Deis application's configuration.
    36  type Config struct {
    37  	Owner   string                 `json:"owner"`
    38  	App     string                 `json:"app"`
    39  	Values  map[string]interface{} `json:"values"`
    40  	Memory  map[string]string      `json:"memory"`
    41  	CPU     map[string]int         `json:"cpu"`
    42  	Tags    map[string]string      `json:"tags"`
    43  	UUID    string                 `json:"uuid"`
    44  	Created time.Time              `json:"created"`
    45  	Updated time.Time              `json:"updated"`
    46  }