terraform

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2017 License: Apache-2.0 Imports: 6 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 ActivityJobTemplate added in v0.4.0

type ActivityJobTemplate struct {
	ID        bson.ObjectId `bson:"_id" json:"id"`
	Type      string        `bson:"-" json:"type"`
	URL       string        `bson:"-" json:"url"`
	ActorID   bson.ObjectId `bson:"actor_id" json:"actor_id"`
	Related   gin.H         `bson:"-" json:"related"`
	Summary   gin.H         `bson:"-" json:"summary_fields"`
	Timestamp time.Time     `bson:"timestamp" json:"timestamp"`
	Operation string        `bson:"operation" json:"operation"`
	Object1   JobTemplate   `bson:"object1" json:"object1"`
	Object2   *JobTemplate  `bson:"object2" json:"object2"`
}

ActivityJobTemplate is the model for JobTemplate collection

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

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

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

type PatchJobTemplate

type PatchJobTemplate struct {
	Name                *string        `json:"name" binding:"omitempty,min=1,max=500"`
	JobType             *string        `json:"job_type" binding:"omitempty,terraform_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