# tower_project – create, update, or destroy Ansible Tower projects

- Synopsis

- Requirements

- Parameters

- Notes

- Examples

- Status

## Synopsis

- Create, update, or destroy Ansible Tower projects. See https://www.ansible.com/tower for an overview.

## Requirements

The below requirements are needed on the host that executes this module.

- ansible-tower-cli >= 3.0.2

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
custom_virtualenv - added in 2.8 |  | Local absolute file path containing a custom Python virtualenv to use
description - |  | Description to use for the project.
job_timeout - added in 2.8 | Default: 0 | The amount of time (in seconds) to run before the SCM Update is canceled. A value of 0 means no timeout.
local_path - |  | The server playbook directory for manual projects.
name - / required |  | Name to use for the project.
organization - |  | Primary key of organization for project.
scm_branch - |  | The branch to use for the SCM resource.

scm_clean
boolean

Choices:
- no ←
- yes

Remove local modifications before updating.

scm_credential - |  | Name of the credential to use with this SCM resource.

scm_delete_on_update
boolean

Choices:
- no ←
- yes

Remove the repository completely before updating.

scm_type
-

Choices:
- manual ←
- git
- hg
- svn

Type of SCM resource.

scm_update_cache_timeout - added in 2.8 | Default: 0 | Cache Timeout to cache prior project syncs for a certain number of seconds. Only valid if scm_update_on_launch is to True, otherwise ignored.

scm_update_on_launch
boolean

Choices:
- no ←
- yes

Before an update to the local repository before launching a job with this project.

scm_url - |  | URL of SCM resource.

state
-

Choices:
- present ←
- absent

Desired state of the resource.

tower_config_file path |  | Path to the Tower config file.
tower_host string |  | URL to your Tower instance.
tower_password string |  | Password for your Tower instance.
tower_username string |  | Username for your Tower instance.

validate_certs
boolean

Choices:
- no
- yes

Whether to allow insecure connections to Tower.
If `no`, SSL certificates will not be validated.
This should only be used on personally controlled sites using self-signed certificates.
aliases: tower_verify_ssl

## Notes

Note

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

- config_file should contain Tower configuration in the following format host=hostname username=username password=password

## Examples

    - name: Add tower project
      tower_project:
        name: "Foo"
        description: "Foo bar project"
        organization: "test"
        state: present
        tower_config_file: "~/tower_cli.cfg"

    - name: Add Tower Project with cache timeout and custom virtualenv
      tower_project:
        name: "Foo"
        description: "Foo bar project"
        organization: "test"
        scm_update_on_launch: True
        scm_update_cache_timeout: 60
        custom_virtualenv: "/var/lib/awx/venv/ansible-2.2"
        state: present
        tower_config_file: "~/tower_cli.cfg"

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Wayne Witzel III (@wwitzel3)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.