community.general.oneandone_server – Create, destroy, start, stop, and reboot a 1&1 Host server.

Note

This plugin is part of the community.general collection.

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

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

Synopsis

  • Create, destroy, update, start, stop, and reboot a 1&1 Host server. When the server is created it can optionally wait for it to be ‘running’ before returning.

Requirements

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

  • 1and1

  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments
api_url
string
Custom API URL. Overrides the ONEANDONE_API_URL environment variable.
appliance
string
The operating system name or ID for the server. It is required only for 'present' state.
auth_token
string / required
Authenticating API token provided by 1&1. Overrides the ONEANDONE_AUTH_TOKEN environment variable.
auto_increment
boolean
    Choices:
  • no
  • yes ←
When creating multiple servers at once, whether to differentiate hostnames by appending a count after them or substituting the count where there is a %02d or %03d in the hostname string.
cores_per_processor
string
The number of cores per processor. It must be provided with vcore, ram, and hdds parameters.
count
string
Default:
1
The number of servers to create.
datacenter
string
    Choices:
  • US ←
  • ES
  • DE
  • GB
The datacenter location.
description
string
The description of the server.
firewall_policy
string
The firewall policy name or ID.
fixed_instance_size
string / required
    Choices:
  • S
  • M
  • L
  • XL
  • XXL
  • 3XL
  • 4XL
  • 5XL
The instance size name or ID of the server. It is required only for 'present' state, and it is mutually exclusive with vcore, cores_per_processor, ram, and hdds parameters.
hdds
string
A list of hard disks with nested "size" and "is_main" properties. It must be provided with vcore, cores_per_processor, and ram parameters.
hostname
string
The hostname or ID of the server. Only used when state is 'present'.
load_balancer
string
The load balancer name or ID.
monitoring_policy
string
The monitoring policy name or ID.
private_network
string
The private network name or ID.
ram
string
The amount of RAM memory. It must be provided with with vcore, cores_per_processor, and hdds parameters.
server
string
Server identifier (ID or hostname). It is required for all states except 'running' and 'present'.
server_type
string
    Choices:
  • cloud ←
  • baremetal
  • k8s_node
The type of server to be built.
ssh_key
string
User's public SSH key (contents, not path).
state
string
    Choices:
  • present ←
  • absent
  • running
  • stopped
Define a server's state to create, remove, start or stop it.
vcore
string
The total number of processors. It must be provided with cores_per_processor, ram, and hdds parameters.
wait
boolean
    Choices:
  • no
  • yes ←
Wait for the server to be in state 'running' before returning. Also used for delete operation (set to 'false' if you don't want to wait for each individual server to be deleted before moving on with other tasks.)
wait_interval
string
Default:
5
Defines the number of seconds to wait when using the wait_for methods
wait_timeout
string
Default:
600
how long before wait gives up, in seconds

Examples

- name: Create three servers and enumerate their names
  community.general.oneandone_server:
    auth_token: oneandone_private_api_key
    hostname: node%02d
    fixed_instance_size: XL
    datacenter: US
    appliance: C5A349786169F140BCBC335675014C08
    auto_increment: true
    count: 3

- name: Create three servers, passing in an ssh_key
  community.general.oneandone_server:
    auth_token: oneandone_private_api_key
    hostname: node%02d
    vcore: 2
    cores_per_processor: 4
    ram: 8.0
    hdds:
      - size: 50
        is_main: false
    datacenter: ES
    appliance: C5A349786169F140BCBC335675014C08
    count: 3
    wait: yes
    wait_timeout: 600
    wait_interval: 10
    ssh_key: SSH_PUBLIC_KEY

- name: Removing server
  community.general.oneandone_server:
    auth_token: oneandone_private_api_key
    state: absent
    server: 'node01'

- name: Starting server
  community.general.oneandone_server:
    auth_token: oneandone_private_api_key
    state: running
    server: 'node01'

- name: Stopping server
  community.general.oneandone_server:
    auth_token: oneandone_private_api_key
    state: stopped
    server: 'node01'

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
servers
list / elements=string
always
Information about each server that was processed

Sample:
[{"hostname": "my-server", "id": "server-id"}]


Authors

  • Amel Ajdinovic (@aajdinov)

  • Ethan Devenport (@edevenport)