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

New in version 2.5.

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
-
Custom API URL. Overrides the ONEANDONE_API_URL environement variable.
appliance
-
The operating system name or ID for the server. It is required only for 'present' state.
auth_token
- / required
Authenticating API token provided by 1&1. Overrides the ONEANDONE_AUTH_TOKEN environement 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
-
The number of cores per processor. It must be provided with vcore, ram, and hdds parameters.
count
-
Default:
1
The number of servers to create.
datacenter
-
    Choices:
  • US ←
  • ES
  • DE
  • GB
The datacenter location.
description
-
The description of the server.
firewall_policy
-
The firewall policy name or ID.
fixed_instance_size
- / 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
-
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
-
The hostname or ID of the server. Only used when state is 'present'.
load_balancer
-
The load balancer name or ID.
monitoring_policy
-
The monitoring policy name or ID.
private_network
-
The private network name or ID.
ram
-
The amount of RAM memory. It must be provided with with vcore, cores_per_processor, and hdds parameters.
server
-
Server identifier (ID or hostname). It is required for all states except 'running' and 'present'.
server_type
-
    Choices:
  • cloud ←
  • baremetal
  • k8s_node
The type of server to be built.
ssh_key
-
User's public SSH key (contents, not path).
state
-
    Choices:
  • present ←
  • absent
  • running
  • stopped
Define a server's state to create, remove, start or stop it.
vcore
-
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
-
Default:
5
Defines the number of seconds to wait when using the wait_for methods
wait_timeout
-
Default:
600
how long before wait gives up, in seconds

Examples

# Provisioning example. Creates three servers and enumerate their names.

- oneandone_server:
    auth_token: oneandone_private_api_key
    hostname: node%02d
    fixed_instance_size: XL
    datacenter: US
    appliance: C5A349786169F140BCBC335675014C08
    auto_increment: true
    count: 3

# Create three servers, passing in an ssh_key.

- 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

# Removing server

- oneandone_server:
    auth_token: oneandone_private_api_key
    state: absent
    server: 'node01'

# Starting server.

- oneandone_server:
    auth_token: oneandone_private_api_key
    state: running
    server: 'node01'

# Stopping server

- 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
always
Information about each server that was processed

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


Status

Authors

  • Amel Ajdinovic (@aajdinov)
  • Ethan Devenport (@edevenport)

Hint

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