community.general.profitbricks – Create, destroy, start, stop, and reboot a ProfitBricks virtual machine.

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.profitbricks.

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
string
    Choices:
  • IDE
  • VIRTIO ←
The bus type for the volume.
cores
integer
Default:
2
The number of CPU cores to allocate to the virtual machine.
count
integer
Default:
1
The number of virtual machines to create.
cpu_family
string
    Choices:
  • AMD_OPTERON ←
  • INTEL_XEON
The CPU family type to allocate to the virtual machine.
datacenter
string
The datacenter to provision this virtual machine.
disk_type
string
    Choices:
  • SSD
  • HDD ←
the type of disk to be allocated.
image
string
The system image ID for creating the virtual machine, e.g. a3eae284-a2fe-11e4-b187-5f1f641608c8.
image_password
string
Password set for the administrative user.
instance_ids
list / elements=string
list of instance ids, currently only used when state='absent' to remove instances.
lan
integer
Default:
1
The ID of the LAN you wish to add the servers to.
location
string
    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
string
The name of the virtual machine.
ram
integer
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
list / elements=string
Public SSH keys allowing access to the virtual machine.
state
string
Default:
"present"
create or terminate instances
The choices available are: running, stopped, absent, present.
subscription_password
string
THe ProfitBricks password. Overrides the PB_PASSWORD environment variable.
subscription_user
string
The ProfitBricks username. Overrides the PB_SUBSCRIPTION_ID environment variable.
volume_size
integer
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
integer
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
- name: Create three servers and enumerate their names
  community.general.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

- name: Remove virtual machines
  community.general.profitbricks:
    datacenter: Tardis One
    instance_ids:
      - 'web001.stackpointcloud.com'
      - 'web002.stackpointcloud.com'
      - 'web003.stackpointcloud.com'
    wait_timeout: 500
    state: absent

- name: Start virtual machines
  community.general.profitbricks:
    datacenter: Tardis One
    instance_ids:
      - 'web001.stackpointcloud.com'
      - 'web002.stackpointcloud.com'
      - 'web003.stackpointcloud.com'
    wait_timeout: 500
    state: running

- name: Stop virtual machines
  community.general.profitbricks:
    datacenter: Tardis One
    instance_ids:
      - 'web001.stackpointcloud.com'
      - 'web002.stackpointcloud.com'
      - 'web003.stackpointcloud.com'
    wait_timeout: 500
    state: stopped

Authors