Documentation
¶
Index ¶
Constants ¶
View Source
const ( JOBTYPE_ANSIBLE_JOB = "ansible_job" // A ansible job JOBTYPE_UPDATE_JOB = "update_job" // A project scm update 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 AdHocCommand ¶
type AdHocCommand struct {
ID bson.ObjectId `bson:"_id" json:"id"`
ModuleName string `bson:"module_name" json:"module_name" binding:"required"`
Limit string `bson:"limit" json:"limit"`
ModuleArgs string `bson:"module_args" json:"module_args"`
JobType string `bson:"job_type" json:"job_type"`
Forks uint8 `bson:"forks" json:"forks"`
Verbosity uint8 `bson:"verbosity" json:"verbosity"`
BecomeEnabled bool `bson:"become_enabled" json:"become_enabled"`
CredentialID bson.ObjectId `bson:"credential_id" json:"credential"`
InventoryID bson.ObjectId `bson:"inventory_id" json:"inventory"`
ExtraVars gin.H `bson:"extra_vars" json:"extra_vars"`
CreatedByID bson.ObjectId `bson:"created_by_id" json:"created_by"`
ModifiedByID bson.ObjectId `bson:"modified_by_id" json:"modified_by"`
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"`
SummaryFields gin.H `bson:"-" json:"summary_fields"`
}
type AdHocCommandEvent ¶
type AdHocCommandEvent struct {
ID bson.ObjectId `bson:"_id" json:"id"`
HostName string `bson:"host_name" json:"host_name" binding:"required"`
Event string `bson:"event" json:"event"`
EventData string `bson:"event_data" json:"event_data"`
Failed bool `bson:"failed" json:"failed"`
Changed bool `bson:"changed" json:"changed"`
Counter uint8 `bson:"counter" json:"counter"`
HostID bson.ObjectId `bson:"host_id" json:"host"`
AdHocCommandID bson.ObjectId `bson:"ad_hoc_command_id" json:"ad_hoc_command_id"`
Type string `bson:"-" json:"type"`
URL string `bson:"-" json:"url"`
Related gin.H `bson:"-" json:"related"`
SummaryFields gin.H `bson:"-" json:"summary_fields"`
}
type Group ¶
type Group struct {
ID bson.ObjectId `bson:"_id" json:"id"`
Name string `bson:"name" json:"name" binding:"required,min=1,max=500"`
Description string `bson:"description" json:"description"`
Variables string `bson:"variables" json:"variables"`
TotalHosts uint32 `bson:"total_hosts" json:"total_hosts"`
HasActiveFailures bool `bson:"has_active_failures" json:"has_active_failures"`
HostsWithActiveFailures uint32 `bson:"hosts_with_active_failures" json:"hosts_with_active_failures"`
TotalGroups uint32 `bson:"total_groups" json:"total_groups"`
GroupsWithActiveFailures uint32 `bson:"groups_with_active_failures" json:"groups_with_active_failures"`
HasInventorySources bool `bson:"has_inventory_sources" json:"has_inventory_sources"`
InventoryID bson.ObjectId `bson:"inventory_id" json:"inventory"`
ParentGroupID *bson.ObjectId `bson:"parent_group_id,omitempty" json:"parent_group,omitempty"`
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"`
LastJob gin.H `bson:"-" json:"last_job"`
LastJobHostSummary gin.H `bson:"-" json:"last_job_host_summary"`
}
Group is the model for Group collection
type Host ¶
type Host struct {
ID bson.ObjectId `bson:"_id" json:"id"`
// required
Name string `bson:"name" json:"name" binding:"required,iphost"`
InventoryID bson.ObjectId `bson:"inventory_id" json:"inventory" binding:"required"`
Description string `bson:"description,omitempty" json:"description"`
GroupID *bson.ObjectId `bson:"group_id,omitempty" json:"group"`
InstanceID string `bson:"instance_id,omitempty" json:"instance_id"`
Variables string `bson:"variables,omitempty" json:"variables"`
Enabled bool `bson:"enabled,omitempty" json:"enabled"`
LastJobID *bson.ObjectId `bson:"last_job_id,omitempty" json:"last_job" binding:"omitempty,naproperty"`
LastJobHostSummaryID *bson.ObjectId `bson:"last_job_host_summary_id,omitempty" json:"last_job_host_summary" binding:"omitempty,naproperty"`
HasActiveFailures bool `bson:"has_active_failures,omitempty" json:"has_active_failures" binding:"omitempty,naproperty"`
HasInventorySources bool `bson:"has_inventory_sources,omitempty" json:"has_inventory_sources" binding:"omitempty,naproperty"`
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"`
}
type Inventory ¶
type Inventory struct {
ID bson.ObjectId `bson:"_id" json:"id"`
Type string `bson:"-" json:"type"`
URL string `bson:"-" json:"url"`
Related gin.H `bson:"-" json:"related"`
Summary gin.H `bson:"-" json:"summary_fields"`
// required feilds
Name string `bson:"name" json:"name" binding:"required,min=1,max=500"`
OrganizationID bson.ObjectId `bson:"organization_id" json:"organization" binding:"required"`
Description string `bson:"description,omitempty" json:"description"`
Variables string `bson:"variables,omitempty" json:"variables"`
// only output
TotalHosts uint32 `bson:"total_hosts,omitempty" json:"total_hosts" binding:"omitempty,naproperty"`
HostsWithActiveFailures uint32 `bson:"hosts_with_active_failures,omitempty" json:"hosts_with_active_failures" binding:"omitempty,naproperty"`
TotalGroups uint32 `bson:"total_groups,omitempty" json:"total_groups" binding:"omitempty,naproperty"`
GroupsWithActiveFailures uint32 `bson:"groups_with_active_failures,omitempty" json:"groups_with_active_failures" binding:"omitempty,naproperty"`
TotalInventorySources uint32 `bson:"total_inventory_sources,omitempty" json:"total_inventory_sources" binding:"omitempty,naproperty"`
InventorySourcesWithFailures uint32 `bson:"inventory_sources_with_failures,omitempty" json:"inventory_sources_with_failures" binding:"omitempty,naproperty"`
HasInventorySources bool `bson:"has_inventory_sources" json:"has_inventory_sources" binding:"omitempty,naproperty"`
HasActiveFailures bool `bson:"has_active_failures" json:"has_active_failures" binding:"omitempty,naproperty"`
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"`
Roles []common.AccessControl `bson:"roles" json:"-"`
}
Inventory is the model for Inventory collection
type InventoryScript ¶
type InventoryScript struct {
ID bson.ObjectId `bson:"_id" json:"id"`
Name string `bson:"name" json:"name" binding:"required"`
Description string `bson:"description" json:"description"`
Script string `bson:"script" json:"script" binding:"required"`
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"`
SummaryFields gin.H `bson:"-" json:"summary_fields"`
}
InventoryScript is the model for organization collection
type InventorySource ¶
type InventorySource struct {
ID bson.ObjectId `bson:"_id" json:"id"`
Source string `bson:"source" json:"source"`
SourcePath string `bson:"source_path" json:"source_path"`
SourceVars string `bson:"source_vars" json:"source_regions"`
SourceRegions string `bson:"source_regions" json:"has_active_failures"`
InstanceFilters string `bson:"instance_filters" json:"instance_filters"`
GroupBy string `bson:"group_by" json:"group_by"`
Overwrite bool `bson:"overwrite" json:"overwrite"`
OverwriteVars bool `bson:"overwrite_vars" json:"overwrite_vars"`
UpdateOnLaunch bool `bson:"update_on_launch" json:"update_on_launch"`
UpdateCacheTimeout uint32 `bson:"update_cache_timeout" json:"update_cache_timeout"`
CredentialID bson.ObjectId `bson:"credential_id" json:"credential"`
GroupID bson.ObjectId `bson:"group_id" json:"group"`
InventoryID bson.ObjectId `bson:"inventory_id" json:"inventory"`
SourceScriptID bson.ObjectId `bson:"source_script_id" json:"source_script"`
Type string `bson:"-" json:"type"`
URL string `bson:"-" json:"url"`
Related gin.H `bson:"-" json:"related"`
SummaryFields gin.H `bson:"-" json:"summary_fields"`
}
Inventory is the model for Inventory collection TODO: not implemented
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"`
Playbook string `bson:"playbook" json:"playbook"`
Forks uint8 `bson:"forks" json:"forks"`
Limit string `bson:"limit,omitempty" json:"limit"`
Verbosity uint8 `bson:"verbosity" json:"verbosity"`
ExtraVars gin.H `bson:"extra_vars,omitempty" json:"extra_vars"`
JobTags string `bson:"job_tags,omitempty" json:"job_tags"`
SkipTags string `bson:"skip_tags,omitempty" json:"skip_tags"`
ForceHandlers bool `bson:"force_handlers" json:"force_handlers"`
StartAtTask string `bson:"start_at_task,omitempty" json:"start_at_task"`
AllowSimultaneous bool `bson:"allow_simultaneous,omitempty" json:"allow_simultaneous"`
MachineCredentialID bson.ObjectId `bson:"credential_id,omitempty" json:"credential"`
InventoryID bson.ObjectId `bson:"inventory_id,omitempty" json:"inventory"`
JobTemplateID bson.ObjectId `bson:"job_template_id,omitempty" json:"job_template"`
ProjectID bson.ObjectId `bson:"project_id,omitempty" json:"project"`
BecomeEnabled bool `bson:"become_enabled" json:"become_enabled"`
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"`
PromptLimit bool `bson:"prompt_limit_on_launch" json:"ask_limit_on_launch"`
PromptInventory bool `bson:"prompt_inventory" json:"ask_inventory_on_launch"`
PromptCredential bool `bson:"prompt_credential" json:"ask_credential_on_launch"`
PromptJobType bool `bson:"prompt_job_type" json:"ask_job_type_on_launch"`
PromptTags bool `bson:"prompt_tags" json:"ask_tags_on_launch"`
PromptVariables bool `bson:"prompt_variables" json:"ask_variables_on_launch"`
// 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,jobtype"`
InventoryID bson.ObjectId `bson:"inventory_id" json:"inventory" binding:"required"`
ProjectID bson.ObjectId `bson:"project_id" json:"project" binding:"required"`
Playbook string `bson:"playbook" json:"playbook" binding:"required"`
MachineCredentialID bson.ObjectId `bson:"credential_id" json:"credential" binding:"required"`
Verbosity uint8 `bson:"verbosity,omitempty" json:"verbosity" binding:"omitempty,max=5"`
Description string `bson:"description,omitempty" json:"description"`
Forks uint8 `bson:"forks,omitempty" json:"forks"`
Limit string `bson:"limit,omitempty" json:"limit" binding:"max=1024"`
ExtraVars gin.H `bson:"extra_vars,omitempty" json:"extra_vars"`
JobTags string `bson:"job_tags,omitempty" json:"job_tags" binding:"max=1024"`
SkipTags string `bson:"skip_tags,omitempty" json:"skip_tags" binding:"max=1024"`
StartAtTask string `bson:"start_at_task,omitempty" json:"start_at_task"`
ForceHandlers bool `bson:"force_handlers,omitempty" json:"force_handlers"`
PromptVariables bool `bson:"ask_variables_on_launch,omitempty" json:"ask_variables_on_launch"`
BecomeEnabled bool `bson:"become_enabled,omitempty" json:"become_enabled"`
CloudCredentialID *bson.ObjectId `bson:"cloud_credential_id,omitempty" json:"cloud_credential"`
NetworkCredentialID *bson.ObjectId `bson:"network_credential_id,omitempty" json:"network_credential"`
PromptLimit bool `bson:"prompt_limit_on_launch,omitempty" json:"ask_limit_on_launch"`
PromptInventory bool `bson:"prompt_inventory,omitempty" json:"ask_inventory_on_launch"`
PromptCredential bool `bson:"prompt_credential,omitempty" json:"ask_credential_on_launch"`
PromptJobType bool `bson:"prompt_job_type,omitempty" json:"ask_job_type_on_launch"`
PromptTags bool `bson:"prompt_tags,omitempty" json:"ask_tags_on_launch"`
PromptSkipTags bool `bson:"prompt_skip_tags,omitempty" json:"ask_skip_tags_on_launch"`
AllowSimultaneous bool `bson:"allow_simultaneous,omitempty" json:"allow_simultaneous"`
PolymorphicCtypeID *bson.ObjectId `bson:"polymorphic_ctype_id,omitempty" json:"polymorphic_ctype"`
// 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 {
Limit string `bson:"limit,omitempty" json:"limit,omitempty" binding:"omitempty,max=1024"`
ExtraVars gin.H `bson:"extra_vars,omitempty" json:"extra_vars,omitempty"`
JobTags string `bson:"job_tags,omitempty" json:"job_tags,omitempty" binding:"omitempty,max=1024"`
SkipTags string `bson:"skip_tags,omitempty" json:"skip_tags,omitempty" binding:"omitempty,max=1024"`
JobType string `bson:"job_type,omitempty" json:"job_type,omitempty" binding:"omitempty,jobtype"`
InventoryID bson.ObjectId `bson:"inventory_id,omitempty" json:"inventory,omitempty"`
MachineCredentialID bson.ObjectId `bson:"credential_id,omitempty" json:"credential,omitempty"`
}
type PatchGroup ¶
type PatchHost ¶
type PatchHost struct {
Name *string `json:"name" binding:"omitempty,iphost"`
InventoryID *bson.ObjectId `json:"inventory"`
Description *string `json:"description"`
GroupID *bson.ObjectId `json:"group"`
InstanceID *string `json:"instance_id"`
Variables *string `json:"variables"`
Enabled *bool `json:"enabled"`
}
type PatchInventory ¶
type PatchInventory struct {
// required fields
Name *string `json:"name" binding:"omitempty,min=1,max=500"`
OrganizationID *bson.ObjectId `json:"organization"`
Description *string `json:"description"`
Variables *string `json:"variables"`
}
PatchInventory is the model for patch requests
type PatchJobTemplate ¶
type PatchJobTemplate struct {
Name *string `json:"name" binding:"omitempty,min=1,max=500"`
JobType *string `json:"job_type" binding:"omitempty,jobtype"`
InventoryID *bson.ObjectId `json:"inventory"`
ProjectID *bson.ObjectId `json:"project"`
Playbook *string `json:"playbook"`
MachineCredentialID *bson.ObjectId `json:"credential"`
Verbosity *uint8 `json:"verbosity" binding:"omitempty,min=0,max=5"`
Description *string `json:"description"`
Forks *uint8 `json:"forks"`
Limit *string `json:"limit" binding:"omitempty,max=1024"`
ExtraVars *gin.H `json:"extra_vars"`
JobTags *string `json:"job_tags" binding:"omitempty,max=1024"`
SkipTags *string `json:"skip_tags" binding:"omitempty,max=1024"`
StartAtTask *string `json:"start_at_task"`
ForceHandlers *bool `json:"force_handlers"`
PromptVariables *bool `json:"ask_variables_on_launch"`
BecomeEnabled *bool `json:"become_enabled"`
CloudCredentialID *bson.ObjectId `json:"cloud_credential"`
NetworkCredentialID *bson.ObjectId `json:"network_credential"`
PromptLimit *bool `json:"ask_limit_on_launch"`
PromptInventory *bool `json:"ask_inventory_on_launch"`
PromptCredential *bool `json:"ask_credential_on_launch"`
PromptJobType *bool `json:"ask_job_type_on_launch"`
PromptTags *bool `json:"ask_tags_on_launch"`
PromptSkipTags *bool `json:"ask_skip_tags_on_launch"`
AllowSimultaneous *bool `json:"allow_simultaneous"`
PolymorphicCtypeID *bson.ObjectId `json:"polymorphic_ctype"`
}
Click to show internal directories.
Click to hide internal directories.