webfaction_site – Add or remove a website on a Webfaction host — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# webfaction_site – Add or remove a website on a Webfaction host

- Synopsis
- Parameters
- Notes
- Examples
- Status

## Synopsis

- Add or remove a website on a Webfaction host. Further documentation at https://github.com/quentinsf/ansible-webfaction.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
host - / required |  | The webfaction host on which the site should be created.
https boolean | Choices: no ← yes | Whether or not to use HTTPS
login_name - / required |  | The webfaction account to use
login_password - / required |  | The webfaction password to use
name - / required |  | The name of the website
site_apps - | Default: [] | A mapping of URLs to apps
state - | Choices: present ← absent | Whether the website should exist
subdomains - | Default: [] | A list of subdomains associated with this site.

## Notes

Note

- Sadly, you do need to know your webfaction hostname for the `host` parameter. But at least, unlike the API, you don’t need to know the IP address. You can use a DNS name.
- If a site of the same name exists in the account but on a different host, the operation will exit.
- You can run playbooks that use this on a local machine, or on a Webfaction host, or elsewhere, since the scripts use the remote webfaction API. The location is not important. However, running them on multiple hosts simultaneously is best avoided. If you don’t specify localhost as your host, you may want to add `serial: 1` to the plays.
- See the webfaction API for more info.

## Examples

    - name: create website
      webfaction_site:
        name: testsite1
        state: present
        host: myhost.webfaction.com
        subdomains:
          - 'testsite1.my_domain.org'
        site_apps:
          - ['testapp1', '/']
        https: no
        login_name: "{{webfaction_user}}"
        login_password: "{{webfaction_passwd}}"

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Quentin Stafford-Fraser (@quentinsf)

Hint

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