terraform

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2017 License: Apache-2.0 Imports: 4 Imported by: 4

Documentation

Index

Constants

View Source
const (
	JOBTYPE_TERRAFORM_JOB = "terraform_job" // A terraform job

	JOB_LAUNCH_TYPE_MANUAL = "manual"
	JOB_LAUNCH_TYPE_SYSTEM = "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"`
	ResultTraceback string    `bson:"result_traceback" json:"result_traceback"`
	JobExplanation  string    `bson:"job_explanation" json:"job_explanation"`
	JobType         string    `bson:"job_type" json:"job_type"`
	Vars            gin.H     `bson:"vars,omitempty" json:"vars"`
	Parallelism     uint8     `bson:"parallelism" json:"parallelism"`

	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"`
	URL     string `bson:"-" json:"url"`
	Related gin.H  `bson:"-" json:"related"`
	Summary gin.H  `bson:"-" json:"summary_fields"`

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

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"`
	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"`

	// 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"`
	URL     string `bson:"-" json:"url"`
	Related gin.H  `bson:"-" json:"related"`
	Summary gin.H  `bson:"-" json:"summary_fields"`

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

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"`
}

type PatchJobTemplate

type PatchJobTemplate struct {
	Name                *string        `json:"name" binding:"omitempty,min=1,max=500"`
	JobType             *string        `json:"job_type" binding:"omitempty,jobtype"`
	ProjectID           *bson.ObjectId `json:"project"`
	MachineCredentialID *bson.ObjectId `json:"credential"`
	Description         *string        `json:"description"`
	Vars                *gin.H         `json:"vars"`
	PromptVariables     *bool          `json:"ask_variables_on_launch"`
	CloudCredentialID   *bson.ObjectId `json:"cloud_credential"`
	NetworkCredentialID *bson.ObjectId `json:"network_credential"`
	PromptCredential    *bool          `json:"ask_credential_on_launch"`
	PromptJobType       *bool          `json:"ask_job_type_on_launch"`
	AllowSimultaneous   *bool          `json:"allow_simultaneous"`
}

Jump to

Keyboard shortcuts

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