# webfaction_db – Add or remove a database on Webfaction

- Synopsis
- Parameters
- Notes
- Examples
- Status

## Synopsis

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

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
login_name - / required |  | The webfaction account to use
login_password - / required |  | The webfaction password to use
machine - |  | The machine name to use (optional for accounts with only one machine)
name - / required |  | The name of the database
password - |  | The password for the new database user.

state
-

Choices:
- present ←
- absent

Whether the database should exist

type
- / required

Choices:
- mysql
- postgresql

The type of database to create.

## Notes

Note

- 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

    # This will also create a default DB user with the same
    # name as the database, and the specified password.

    - name: Create a database
      webfaction_db:
        name: "{{webfaction_user}}_db1"
        password: mytestsql
        type: mysql
        login_name: "{{webfaction_user}}"
        login_password: "{{webfaction_passwd}}"
        machine: "{{webfaction_machine}}"

    # Note that, for symmetry's sake, deleting a database using
    # 'state: absent' will also delete the matching user.

## 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.