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

Documentation

# profitbricks – Create, destroy, start, stop, and reboot a ProfitBricks virtual machine

- Synopsis
- Requirements
- Parameters
- Examples
- Status

## Synopsis

- Create, destroy, update, start, stop, and reboot a ProfitBricks virtual machine. When the virtual machine is created it can optionally wait for it to be ‘running’ before returning. This module has a dependency on profitbricks >= 1.0.0

## Requirements

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

- profitbricks
- python >= 2.6

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
assign_public_ip boolean | Choices: no ← yes | This will assign the machine to the public LAN. If no LAN exists with public Internet access it is created.
auto_increment boolean | Choices: no yes ← | Whether or not to increment a single number in the name for created virtual machines.
bus - | Choices: IDE VIRTIO ← | The bus type for the volume.
cores - | Default: 2 | The number of CPU cores to allocate to the virtual machine.
count - | Default: 1 | The number of virtual machines to create.
cpu_family - | Choices: AMD_OPTERON ← INTEL_XEON | The CPU family type to allocate to the virtual machine.
datacenter - |  | The datacenter to provision this virtual machine.
image - / required |  | The system image ID for creating the virtual machine, e.g. a3eae284-a2fe-11e4-b187-5f1f641608c8.
image_password - |  | Password set for the administrative user.
instance_ids - |  | list of instance ids, currently only used when state='absent' to remove instances.
lan - | Default: 1 | The ID of the LAN you wish to add the servers to.
location - | Choices: us/las ← de/fra de/fkb | The datacenter location. Use only if you want to create the Datacenter or else this value is ignored.
name - / required |  | The name of the virtual machine.
ram - | Default: 2048 | The amount of memory to allocate to the virtual machine.
remove_boot_volume boolean | Choices: no yes ← | remove the bootVolume of the virtual machine you're destroying.
ssh_keys - |  | Public SSH keys allowing access to the virtual machine.
state - | Choices: running stopped absent present ← | create or terminate instances
subscription_password - |  | THe ProfitBricks password. Overrides the PB_PASSWORD environment variable.
subscription_user - |  | The ProfitBricks username. Overrides the PB_SUBSCRIPTION_ID environment variable.
volume_size - | Default: 10 | The size in GB of the boot volume.
wait boolean | Choices: no yes ← | wait for the instance to be in state 'running' before returning
wait_timeout - | Default: 600 | how long before wait gives up, in seconds

## Examples

    # Note: These examples do not set authentication details, see the AWS Guide for details.

    # Provisioning example. This will create three servers and enumerate their names.

    - profitbricks:
        datacenter: Tardis One
        name: web%02d.stackpointcloud.com
        cores: 4
        ram: 2048
        volume_size: 50
        cpu_family: INTEL_XEON
        image: a3eae284-a2fe-11e4-b187-5f1f641608c8
        location: us/las
        count: 3
        assign_public_ip: true

    # Removing Virtual machines

    - profitbricks:
        datacenter: Tardis One
        instance_ids:
          - 'web001.stackpointcloud.com'
          - 'web002.stackpointcloud.com'
          - 'web003.stackpointcloud.com'
        wait_timeout: 500
        state: absent

    # Starting Virtual Machines.

    - profitbricks:
        datacenter: Tardis One
        instance_ids:
          - 'web001.stackpointcloud.com'
          - 'web002.stackpointcloud.com'
          - 'web003.stackpointcloud.com'
        wait_timeout: 500
        state: running

    # Stopping Virtual Machines

    - profitbricks:
        datacenter: Tardis One
        instance_ids:
          - 'web001.stackpointcloud.com'
          - 'web002.stackpointcloud.com'
          - 'web003.stackpointcloud.com'
        wait_timeout: 500
        state: stopped

## Status

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

### Authors

- Matt Baldwin (@baldwinSPC) <baldwin@stackpointcloud.com>

Hint

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