Datacenter

datacenter

This is a simple module that supports creating or removing datacenters. A datacenter is required before you can create servers. This module has a dependency on ionoscloud >= 6.0.2

Example Syntax


name: Create datacenter
ionoscloudsdk.ionoscloud.datacenter:
  name: 'AnsibleAutoTestCompute'
  description: 'Ansible Compute test description'
  location: 'gb/lhr'
  wait: true
register: datacenter_response


name: Update datacenter no change 1
ionoscloudsdk.ionoscloud.datacenter:
  datacenter: 'AnsibleAutoTestCompute'
  name: 'AnsibleAutoTestCompute'
  description: 'Ansible Compute test description CHANGED'
  state: update
  allow_replace: false
register: datacenter_response_no_change2


name: Remove datacenter
ionoscloudsdk.ionoscloud.datacenter:
  datacenter: ''
  name: 'AnsibleAutoTestCompute'
  state: absent
  wait: true
register: deleted_datacenter

Returned object

{
    "changed": false,
    "failed": false,
    "action": "create",
    "datacenter": {
        "entities": {
            "lans": {
                "links": null,
                "href": "https://api.ionos.com/cloudapi/v6/datacenters/9683f0c0-e311-4194-bddc-a99bb2babf82/lans",
                "id": "9683f0c0-e311-4194-bddc-a99bb2babf82/lans",
                "items": null,
                "limit": null,
                "offset": null,
                "type": "collection"
            },
            "loadbalancers": {
                "links": null,
                "href": "https://api.ionos.com/cloudapi/v6/datacenters/9683f0c0-e311-4194-bddc-a99bb2babf82/loadbalancers",
                "id": "9683f0c0-e311-4194-bddc-a99bb2babf82/loadbalancers",
                "items": null,
                "limit": null,
                "offset": null,
                "type": "collection"
            },
            "natgateways": {
                "links": null,
                "href": "https://api.ionos.com/cloudapi/v6/datacenters/9683f0c0-e311-4194-bddc-a99bb2babf82/natgateways",
                "id": "9683f0c0-e311-4194-bddc-a99bb2babf82/natgateways",
                "items": null,
                "limit": null,
                "offset": null,
                "type": "collection"
            },
            "networkloadbalancers": {
                "links": null,
                "href": "https://api.ionos.com/cloudapi/v6/datacenters/9683f0c0-e311-4194-bddc-a99bb2babf82/networkloadbalancers",
                "id": "9683f0c0-e311-4194-bddc-a99bb2babf82/networkloadbalancers",
                "items": null,
                "limit": null,
                "offset": null,
                "type": "collection"
            },
            "servers": {
                "links": null,
                "href": "https://api.ionos.com/cloudapi/v6/datacenters/9683f0c0-e311-4194-bddc-a99bb2babf82/servers",
                "id": "9683f0c0-e311-4194-bddc-a99bb2babf82/servers",
                "items": null,
                "limit": null,
                "offset": null,
                "type": "collection"
            },
            "volumes": {
                "links": null,
                "href": "https://api.ionos.com/cloudapi/v6/datacenters/9683f0c0-e311-4194-bddc-a99bb2babf82/volumes",
                "id": "9683f0c0-e311-4194-bddc-a99bb2babf82/volumes",
                "items": null,
                "limit": null,
                "offset": null,
                "type": "collection"
            }
        },
        "href": "https://api.ionos.com/cloudapi/v6/datacenters/9683f0c0-e311-4194-bddc-a99bb2babf82",
        "id": "9683f0c0-e311-4194-bddc-a99bb2babf82",
        "metadata": {
            "created_by": "<USER_EMAIL>",
            "created_by_user_id": "<USER_ID>",
            "created_date": "2023-05-30T11:24:38+00:00",
            "etag": "f157640f8bc27aba358aed5cfbd74bf2",
            "last_modified_by": "<USER_EMAIL>",
            "last_modified_by_user_id": "<USER_ID>",
            "last_modified_date": "2023-05-30T11:24:38+00:00",
            "state": "AVAILABLE"
        },
        "properties": {
            "cpu_architecture": [
                {
                    "cpu_family": "INTEL_SKYLAKE",
                    "max_cores": 4,
                    "max_ram": 20480,
                    "vendor": "GenuineIntel"
                }
            ],
            "description": "Ansible Compute test description",
            "features": [
                "cloud-init-private-image",
                "vm-autoscaling",
                "ssd",
                "vnf-nat",
                "k8s",
                "ssd-storage-zoning",
                "nic-hot-plug",
                "vnf-lb",
                "monitoring",
                "nic-hot-unplug",
                "pcc",
                "contract-identities",
                "disk-vio-hot-unplug",
                "disk-vio-hot-plug",
                "cloud-init",
                "flow-logs",
                "cpu-hot-plug",
                "core-vps",
                "k8s-cidr-s3-support",
                "private-loadbalancer",
                "mem-hot-plug",
                "vnf-alb"
            ],
            "location": "gb/lhr",
            "name": "AnsibleAutoTestCompute",
            "sec_auth_protection": false,
            "version": 2
        },
        "type": "datacenter"
    }
}

For more examples please check out the tests here.

NOTE: If you are using a versions 7.0.0 and up: modules can replace resources if certain set parameters differ from the results found in the API!

Parameters that can trigger a resource replacement:

  • location

state: present

  
name: Create datacenter
ionoscloudsdk.ionoscloud.datacenter:
  name: 'AnsibleAutoTestCompute'
  description: 'Ansible Compute test description'
  location: 'gb/lhr'
  wait: true
register: datacenter_response

Available parameters for state present:

state: absent

  
name: Remove datacenter
ionoscloudsdk.ionoscloud.datacenter:
  datacenter: ''
  name: 'AnsibleAutoTestCompute'
  state: absent
  wait: true
register: deleted_datacenter

Available parameters for state absent:

state: update

  
name: Update datacenter no change 1
ionoscloudsdk.ionoscloud.datacenter:
  datacenter: 'AnsibleAutoTestCompute'
  name: 'AnsibleAutoTestCompute'
  description: 'Ansible Compute test description CHANGED'
  state: update
  allow_replace: false
register: datacenter_response_no_change2

Available parameters for state update:

Last updated