// TODO: Get appropriate copyright header package awx import ( "encoding/json" ) // WorkflowJobTemplateLaunchResource defines the workflow job template launch resource type WorkflowJobTemplateLaunchResource struct { Resource } // NewWorkflowJobTemplateLaunchResource creates a new workflow job template launch resource func NewWorkflowJobTemplateLaunchResource(connection Connecter, path string) *WorkflowJobTemplateLaunchResource { resource := new(WorkflowJobTemplateLaunchResource) resource.connection = connection resource.path = path return resource } // Get returns a get request for the workflow job template launch func (r *WorkflowJobTemplateLaunchResource) Get() Sender { request := new(WorkflowJobTemplateLaunchGetRequest) request.resource = &r.Resource return request } // Get returns a post request for the workflow job template launch func (r *WorkflowJobTemplateLaunchResource) Post() PostSender { request := new(WorkflowJobTemplateLaunchPostRequest) request.resource = &r.Resource return request } // WorkflowJobTemplateLaunchGetRequest defines workflow job template launch get request from AWX type WorkflowJobTemplateLaunchGetRequest struct { Request } // Send sends the workflow job template launch get request and returns the response func (r *WorkflowJobTemplateLaunchGetRequest) Send() (response interface{}, err error) { response = new(WorkflowJobTemplateLaunchGetResponse) err = r.get(response) if err != nil { return nil, err } return } // Filter does nothing to the get request in this case. Needed to satisfy interface. func (r *WorkflowJobTemplateLaunchGetRequest) Filter(name string, value interface{}) Sender { // no filter available return r } // WorkflowJobTemplateLaunchGetResponse defines the workflow job template launch post response from AWX type WorkflowJobTemplateLaunchPostRequest struct { Request ExtraVarData string `json:"extra_vars"` } // ExtraVars set a map or external variables sent to the AWX job. This is converted to a string and attached to the request func (r *WorkflowJobTemplateLaunchPostRequest) ExtraVars(values interface{}) PostSender { if values != nil { bytes, err := json.Marshal(values) if err != nil { return r } r.ExtraVarData = string(bytes) } return r } // Send sends the workflow job template launch post request and returns the response func (r *WorkflowJobTemplateLaunchPostRequest) Send() (response interface{}, err error) { // Send the request: response = new(WorkflowJobTemplateLaunchPostResponse) err = r.post(r, response) if err != nil { return } return } // Filter does nothing to the post request in this case. Needed to satisfy interface. func (r *WorkflowJobTemplateLaunchPostRequest) Filter(name string, value interface{}) Sender { // no filter available return r }