awx.awx.workflow_job_template_node – create, update, or destroy Automation Platform Controller workflow job template nodes.

Note

This plugin is part of the awx.awx collection (version 19.2.2).

To install it use: ansible-galaxy collection install awx.awx.

To use it in a playbook, specify: awx.awx.workflow_job_template_node.

Synopsis

  • Create, update, or destroy Automation Platform Controller workflow job template nodes.

  • Use this to build a graph for a workflow, which dictates what the workflow runs.

  • Replaces the deprecated tower_workflow_template module schema command.

  • You can create nodes first, and link them afterwards, and not worry about ordering. For failsafe referencing of a node, specify identifier, WFJT, and organization. With those specified, you can choose to modify or not modify any other parameter.

Parameters

Parameter Choices/Defaults Comments
all_parents_must_converge
boolean
    Choices:
  • no
  • yes
If enabled then the node will only run if all of the parent nodes have met the criteria to reach this node
always_nodes
list / elements=string
Nodes that will run after this node completes.
List of node identifiers.
approval_node
dictionary
A dictionary of Name, description, and timeout values for the approval node.
This parameter is mutually exclusive with unified_job_template.
description
string
Optional description of this workflow approval template.
name
string / required
Name of this workflow approval template.
timeout
integer
The amount of time (in seconds) before the approval node expires and fails.
controller_config_file
path
Path to the controller config file.
If provided, the other locations for config files will not be considered.

aliases: tower_config_file
controller_host
string
URL to your Automation Platform Controller instance.
If value not set, will try environment variable CONTROLLER_HOST and then config files
If value not specified by any means, the value of 127.0.0.1 will be used

aliases: tower_host
controller_oauthtoken
raw
added in 3.7.0 of awx.awx
The OAuth token to use.
This value can be in one of two formats.
A string which is the token itself. (i.e. bqV5txm97wqJqtkxlMkhQz0pKhRMMX)
A dictionary structure as returned by the token module.
If value not set, will try environment variable CONTROLLER_OAUTH_TOKEN and then config files

aliases: tower_oauthtoken
controller_password
string
Password for your controller instance.
If value not set, will try environment variable CONTROLLER_PASSWORD and then config files

aliases: tower_password
controller_username
string
Username for your controller instance.
If value not set, will try environment variable CONTROLLER_USERNAME and then config files

aliases: tower_username
credentials
list / elements=string
Credentials to be applied to job as launch-time prompts.
List of credential names.
Uniqueness is not handled rigorously.
diff_mode
boolean
    Choices:
  • no
  • yes
Run diff mode, applied as a prompt, if job template prompts for diff mode
extra_data
dictionary
Default:
{}
Variables to apply at launch time.
Will only be accepted if job template prompts for vars or has a survey asking for those vars.
failure_nodes
list / elements=string
Nodes that will run after this node on failure.
List of node identifiers.
identifier
string / required
An identifier for this node that is unique within its workflow.
It is copied to workflow job nodes corresponding to this node.
inventory
string
Inventory applied as a prompt, if job template prompts for inventory
job_tags
string
Job tags applied as a prompt, if job template prompts for job tags
job_type
string
    Choices:
  • run
  • check
Job type applied as a prompt, if job template prompts for job type
limit
string
Limit to act on, applied as a prompt, if job template prompts for limit
organization
string
The organization of the workflow job template the node exists in.
Used for looking up the workflow, not a direct model field.
scm_branch
string
SCM branch applied as a prompt, if job template prompts for SCM branch
skip_tags
string
Tags to skip, applied as a prompt, if job tempalte prompts for job tags
state
string
    Choices:
  • present ←
  • absent
Desired state of the resource.
success_nodes
list / elements=string
Nodes that will run after this node on success.
List of node identifiers.
unified_job_template
string
Name of unified job template to run in the workflow.
Can be a job template, project, inventory source, etc.
Omit if creating an approval node.
This parameter is mutually exclusive with approval_node.
validate_certs
boolean
    Choices:
  • no
  • yes
Whether to allow insecure connections to AWX.
If no, SSL certificates will not be validated.
This should only be used on personally controlled sites using self-signed certificates.
If value not set, will try environment variable CONTROLLER_VERIFY_SSL and then config files

aliases: tower_verify_ssl
verbosity
string
    Choices:
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
Verbosity applied as a prompt, if job template prompts for verbosity
workflow_job_template
string / required
The workflow job template the node exists in.
Used for looking up the node, cannot be modified after creation.

aliases: workflow

Notes

Note

  • If no config_file is provided we will attempt to use the tower-cli library defaults to find your host information.

  • config_file should be in the following format host=hostname username=username password=password

Examples

- name: Create a node, follows workflow_job_template example
  workflow_job_template_node:
    identifier: my-first-node
    workflow: example-workflow
    unified_job_template: jt-for-node-use
    organization: Default  # organization of workflow job template
    extra_data:
      foo_key: bar_value

- name: Create parent node for prior node
  workflow_job_template_node:
    identifier: my-root-node
    workflow: example-workflow
    unified_job_template: jt-for-node-use
    organization: Default
    success_nodes:
      - my-first-node

- name: Create workflow with 2 Job Templates and an approval node in between
  block:
  - name: Create a workflow job template
    tower_workflow_job_template:
      name: my-workflow-job-template
      ask_scm_branch_on_launch: true
      organization: Default

  - name: Create 1st node
    tower_workflow_job_template_node:
      identifier: my-first-node
      workflow_job_template: my-workflow-job-template
      unified_job_template: some_job_template
      organization: Default

  - name: Create 2nd approval node
    tower_workflow_job_template_node:
      identifier: my-second-approval-node
      workflow_job_template: my-workflow-job-template
      organization: Default
      approval_node:
        description: "Do this?"
        name: my-second-approval-node
        timeout: 3600

  - name: Create 3rd node
    tower_workflow_job_template_node:
      identifier: my-third-node
      workflow_job_template: my-workflow-job-template
      unified_job_template: some_other_job_template
      organization: Default

  - name: Link 1st node to 2nd Approval node
    tower_workflow_job_template_node:
      identifier: my-first-node
      workflow_job_template: my-workflow-job-template
      organization: Default
      success_nodes:
        - my-second-approval-node

  - name: Link 2nd Approval Node 3rd node
    tower_workflow_job_template_node:
      identifier: my-second-approval-node
      workflow_job_template: my-workflow-job-template
      organization: Default
      success_nodes:
        - my-third-node

Authors

  • John Westcott IV (@john-westcott-iv)