terraform

package
v0.7.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2017 License: Apache-2.0 Imports: 5 Imported by: 4

Documentation

Index

Constants

View Source
const (
	JobTypeTerraformJob = "terraform_job" // A terraform job
	JobLaunchTypeManual = "manual"
	JobLaunchTypeSystem = "system"
)

Job constants

Variables

This section is empty.

Functions

This section is empty.

Types

type Job

type Job struct {
	ID bson.ObjectId `bson:"_id" json:"id"`

	Name string `bson:"name" json:"name" binding:"required"`

	Description     string    `bson:"description,omitempty" json:"description"`
	LaunchType      string    `bson:"launch_type" json:"launch_type"`
	CancelFlag      bool      `bson:"cancel_flag" json:"cancel_flag"`
	Status          string    `bson:"status" json:"status"`
	Failed          bool      `bson:"failed" json:"failed"`
	Started         time.Time `bson:"started" json:"started"`
	Finished        time.Time `bson:"finished" json:"finished"`
	Elapsed         uint32    `bson:"elapsed" json:"elapsed"`
	ResultStdout    string    `bson:"result_stdout" json:"result_stdout"`
	ResultGetStdout string    `bson:"result_get_stdout" json:"result_get_stdout"`
	ResultTraceback string    `bson:"result_traceback" json:"result_traceback"`
	JobExplanation  string    `bson:"job_explanation" json:"job_explanation"`
	JobType         string    `bson:"job_type" json:"job_type,terraform_jobtype"`
	Vars            gin.H     `bson:"vars,omitempty" json:"vars"`
	Parallelism     uint8     `bson:"parallelism" json:"parallelism"`
	UpdateOnLaunch  bool      `bson:"update_on_launch" json:"update_on_launch"`
	Target          string    `bson:"target" json:"target"`
	Directory       string    `bson:"directory" json:"directory"`

	MachineCredentialID *bson.ObjectId `bson:"credential_id,omitempty" json:"credential"`
	JobTemplateID       bson.ObjectId  `bson:"job_template_id,omitempty" json:"job_template"`
	ProjectID           bson.ObjectId  `bson:"project_id,omitempty" json:"project"`
	SCMCredentialID     *bson.ObjectId `bson:"scm_credential_id,omitempty" json:"scm_credential"`
	NetworkCredentialID *bson.ObjectId `bson:"network_credential_id,omitempty" json:"network_credential"`
	CloudCredentialID   *bson.ObjectId `bson:"cloud_credential_id,omitempty" json:"cloud_credential"`

	PromptCredential  bool `bson:"prompt_credential" json:"ask_credential_on_launch"`
	PromptJobType     bool `bson:"prompt_job_type" json:"ask_job_type_on_launch"`
	PromptVariables   bool `bson:"prompt_variables" json:"ask_variables_on_launch"`
	AllowSimultaneous bool `bson:"allow_simultaneous,omitempty" json:"allow_simultaneous"`

	// system generated items
	JobCWD  string   `bson:"job_cwd" json:"job_cwd"`
	JobARGS []string `bson:"job_args" json:"job_args"`
	JobENV  []string `bson:"job_env" json:"job_env"`

	CreatedByID  bson.ObjectId `bson:"created_by_id" json:"-"`
	ModifiedByID bson.ObjectId `bson:"modified_by_id" json:"-"`

	Created  time.Time `bson:"created" json:"created"`
	Modified time.Time `bson:"modified" json:"modified"`

	Type  string `bson:"-" json:"type"`
	Links gin.H  `bson:"-" json:"links"`
	Meta  gin.H  `bson:"-" json:"meta"`

	Roles []common.AccessControl `bson:"roles" json:"-"`
}

func (Job) GetJobTemplate added in v0.4.0

func (job Job) GetJobTemplate() (JobTemplate, error)

func (Job) GetRoles added in v0.4.0

func (job Job) GetRoles() []common.AccessControl

func (Job) GetType added in v0.4.0

func (Job) GetType() string

type JobTemplate

type JobTemplate struct {
	ID bson.ObjectId `bson:"_id" json:"id"`

	// required
	Name                string         `bson:"name" json:"name" binding:"required,min=1,max=500"`
	JobType             string         `bson:"job_type" json:"job_type" binding:"required,terraform_jobtype"`
	ProjectID           bson.ObjectId  `bson:"project_id" json:"project" binding:"required"`
	MachineCredentialID *bson.ObjectId `bson:"credential_id,omitempty" json:"credential"`

	Description         string         `bson:"description,omitempty" json:"description"`
	Vars                gin.H          `bson:"vars,omitempty" json:"vars"`
	PromptVariables     bool           `bson:"ask_variables_on_launch,omitempty" json:"ask_variables_on_launch"`
	CloudCredentialID   *bson.ObjectId `bson:"cloud_credential_id,omitempty" json:"cloud_credential"`
	NetworkCredentialID *bson.ObjectId `bson:"network_credential_id,omitempty" json:"network_credential"`
	SCMCredentialID     *bson.ObjectId `bson:"scm_credential_id,omitempty" json:"scm_credential_id"`
	PromptCredential    bool           `bson:"prompt_credential,omitempty" json:"ask_credential_on_launch"`
	PromptJobType       bool           `bson:"prompt_job_type,omitempty" json:"ask_job_type_on_launch"`
	AllowSimultaneous   bool           `bson:"allow_simultaneous,omitempty" json:"allow_simultaneous"`
	Parallelism         uint8          `bson:"parallelism,omitempty" json:"parallelism"`
	UpdateOnLaunch      bool           `bson:"update_on_launch" json:"update_on_launch"`
	Target              string         `bson:"target" json:"target"`
	Directory           string         `bson:"directory" json:"directory"`
	// output only
	LastJobRun      *time.Time     `bson:"last_job_run,omitempty" json:"last_job_run" binding:"omitempty,naproperty"`
	NextJobRun      *time.Time     `bson:"next_job_run,omitempty" json:"next_job_run" binding:"omitempty,naproperty"`
	Status          string         `bson:"status,omitempty" json:"status" binding:"omitempty,naproperty"`
	CurrentJobID    *bson.ObjectId `bson:"current_job_id,omitempty" json:"current_job" binding:"omitempty,naproperty"`
	CurrentUpdateID *bson.ObjectId `bson:"current_update_id,omitempty" json:"current_update" binding:"omitempty,naproperty"`
	LastJobID       *bson.ObjectId `bson:"last_job_id,omitempty" json:"last_job" binding:"omitempty,naproperty"`
	NextScheduleID  *bson.ObjectId `bson:"next_schedule_id,omitempty" json:"next_schedule" binding:"omitempty,naproperty"`
	LastJobFailed   bool           `bson:"last_job_failed,omitempty" json:"last_job_failed" binding:"omitempty,naproperty"`
	HasSchedules    bool           `bson:"has_schedules,omitempty" json:"has_schedules" binding:"omitempty,naproperty"`

	Kind string `bson:"kind,omitempty" json:"-"`

	CreatedByID  bson.ObjectId `bson:"created_by_id" json:"-"`
	ModifiedByID bson.ObjectId `bson:"modified_by_id" json:"-"`

	Created  time.Time `bson:"created" json:"created" binding:"omitempty,naproperty"`
	Modified time.Time `bson:"modified" json:"modified" binding:"omitempty,naproperty"`

	Type  string `bson:"-" json:"type"`
	Links gin.H  `bson:"-" json:"links"`
	Meta  gin.H  `bson:"-" json:"meta"`

	Roles []common.AccessControl `bson:"roles" json:"-"`
}

func (*JobTemplate) CloudCredentialExist added in v0.4.0

func (jt *JobTemplate) CloudCredentialExist() bool

func (JobTemplate) GetOrganizationID added in v0.4.0

func (jt JobTemplate) GetOrganizationID() (bson.ObjectId, error)

func (JobTemplate) GetProjectID added in v0.4.0

func (jt JobTemplate) GetProjectID() (bson.ObjectId, error)

func (JobTemplate) GetRoles added in v0.4.0

func (org JobTemplate) GetRoles() []common.AccessControl

func (JobTemplate) GetType added in v0.4.0

func (JobTemplate) GetType() string

func (*JobTemplate) IsUnique added in v0.4.0

func (jt *JobTemplate) IsUnique() bool

func (*JobTemplate) MachineCredentialExist added in v0.4.0

func (jt *JobTemplate) MachineCredentialExist() bool

func (*JobTemplate) NetworkCredentialExist added in v0.4.0

func (jt *JobTemplate) NetworkCredentialExist() bool

func (JobTemplate) Project added in v0.6.1

func (jt JobTemplate) Project() (prj common.Project, err error)

func (*JobTemplate) ProjectExist added in v0.4.0

func (jt *JobTemplate) ProjectExist() bool

type Launch

type Launch struct {
	Vars                gin.H          `bson:"vars,omitempty" json:"vars,omitempty"`
	JobType             string         `bson:"job_type,omitempty" json:"job_type,omitempty" binding:"omitempty,terraform_jobtype"`
	MachineCredentialID *bson.ObjectId `bson:"credential_id,omitempty" json:"credential,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL