// TODO: Get appropriate copyright header package awx // WorkflowJobNodeType defines a workflow job node from AWX type WorkflowJobNodeType struct { ID int `json:"id"` Job int `json:"job"` WorkflowJob int `json:"workflow_job"` SummaryFields *WorkflowNodeSummaryFieldsType `json:"summary_fields"` } // WorkflowNodeSummaryFieldsType defines the summary fields within the workflow job node type WorkflowNodeSummaryFieldsType struct { WorkflowJob *WorkflowJobSummaryFieldType `json:"workflow_job"` UnifiedJob *UnifiedJobSummaryFieldType `json:"unified_job_template,omitempty"` Job *JobSummaryFieldType `json:"job,omitempty"` } //WorkflowJobSummaryFieldType defines the workflow summary field within the workflow job node type WorkflowJobSummaryFieldType struct { ID int `json:"id"` Name string `json:"name"` Description string `json:"description"` } //UnifiedJobSummaryFieldType defines the workflow summary field within the unified job template node type UnifiedJobSummaryFieldType struct { ID int `json:"id"` Name string `json:"name"` Description string `json:"description"` UnifiedJobType string `json:"unified_job_type"` } // JobSummaryFieldType defines the job summary field within the workflow job node type JobSummaryFieldType struct { ID int `json:"id"` Name string `json:"name"` Description string `json:"description"` Status string `json:"status"` Elapsed float32 `json:"elapsed"` Failed bool `json:"failed"` Type string `json:"type"` } func (unifiedJob UnifiedJobSummaryFieldType) IsJobType() bool { return unifiedJob.UnifiedJobType == "job" }