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