Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Creates and manages IonosCloud Virtual Data Center.
Manages a Virtual Data Center on IonosCloud.
The following arguments are supported:
name
- (Required)[string] The name of the Virtual Data Center.
location
- (Required)[string] The regional location where the Virtual Data Center will be created. This argument is immutable.
description
- (Optional)[string] Description for the Virtual Data Center.
sec_auth_protection
- (Optional) [bool] Boolean value representing if the data center requires extra protection e.g. two factor protection
version
- (Computed) The version of that Data Center. Gets incremented with every change
features
- (Computed) List of features supported by the location this data center is part of
Resource Datacenter can be imported using the resource id
, e.g.
IMPORTANT NOTE:
Terraform IONOS Cloud Provider v5 is deprecated and no longer maintained. Please upgrade to v6, which uses the latest stable API version.
Terraform IONOS Cloud Provider v5 will reach End of Life by September 30, 2023. After this date, the v5 API will not be accessible. If you require any assistance, please contact our support team.
The IonosCloud provider gives the ability to deploy and configure resources using the IonosCloud APIs.
Please see the documentation on how to migrate from the ProfitBricks provider.
NOTE: In order to use a specific version of this provider, please include the following block at the beginning of your terraform config files details:
Clone repository to: $GOPATH/src/github.com/ionos-cloud/terraform-provider-ionoscloud
Enter the provider directory and build the provider
See the IonosCloud Provider documentation to get started using the IonosCloud provider.
If you wish to work on the provider, you'll first need Go installed on your machine (version 1.13+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin
to your $PATH
.
To compile the provider, run make build
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
In order to test the provider, you can simply run make test
.
In order to run the full suite of Acceptance tests, run make testacc
.
Note: Acceptance tests create real resources, and often cost money to run.
Creates and manages ipfailover objects.
Manages IP Failover groups on IonosCloud.
datacenter_id
- (Required)[string] The ID of a Virtual Data Center.
ip
- (Required)[string] The reserved IP address to be used in the IP failover group.
lan_id
- (Required)[string] The ID of a LAN.
nicuuid
- (Required)[string] The ID of a NIC.
Resource IpFailover can be imported using the resource id
, e.g.
If you want to add a secondary NIC to an IP Failover, follow these steps:
Creating NIC A with failover IP on LAN 1
Create NIC B unde the same LAN but with a different IP
Create the IP Failover on LAN 1 with NIC A and failover IP of NIC A (A becomes now "master", no slaves)
Update NIC B IP to be the failover IP ( B becomes now a slave, A remains master)
After this you can create a new NIC C, NIC D and so on, in LAN 1, directly with the failover IP.
Please check examples for a full example with the above steps.
fix of plugin crash when updating k8s_node_pool node_count
fix of diff when creating a k8s_node_pool without maintenance_window
fixed gitbook documentation to show CHANGELOG.md
added example for adding a secondary NIC to an IP Failover
updated provider version to the latest release in main registry page
improve http client performance and behaviour
Increase timeout for nodepool CRUD
Update sdk-go to version v5.1.12
Add some additional logs
Use depth explicitly on api calls to improve performance
Terraform plugin sdk upgrade to v2.10.1
restructured documentation by adding subcategories
Fixed diff on availableUpgradeVersions for k8s cluster and nodepool
Fixed lan deletion - wait for completion of nic deletion
add data source for ip failover
Improved terraform registry documentation with a more detailed description of environment and terraform variables
Added badges containing the release and go version in README.md
Add note on using v6 to Readme.md
Creating server with volume from snapshot did not populate volume_boot
Primary_ip is now set on server creation
Add versioning to go.mod to allow version import of module
Immutable k8s node_pool fields should throw error when running plan also, not only on apply
Modify UserAgent string
Fixed rebuild k8 nodes with the same lan - order of lans is ignored now at diff
Update sdk to version v5.1.11.
Update go to version 1.17
Update terraform-plugin-sdk to v2.9.0
Password now saved for user on update
fix sporadic EOF received when making a lot of concurrent https requests to server (fixed in sdk 6.0.0)
fixed #154: allow url to start with "http" (fixed in sdk v5.1.1)
fixed #92: user password change (fixed in sdk v5.1.1)
fix user update and password field is now sensitive
fix crash when no metadata is received from server
Add additional fixes to improve code stability and prevent crashes. Revert icmp_type and icmp_code inside server resource and add tests.
Allow creation of an inner firewall rule for server when updating a terraform plan.
fix crash and add additional logs
added http request time log for API calls
updated sdk-go to v5.1.9
for k8s_node_pool
, nic
and share
:
made tests comprehensive
optimized test duration by including both match by id and by name in the same test
removed duplicated code from import, data_source, resource and tests files
import for nic
, data_source for nic
, share
k8s_node_pool update node_count didn't work and emptying lans and public_ips. revert icmp_code and icmp_type to string to allow setting to 0
fixed datacenter datasource
added constants and removed duplicated tests to backupUnit
, datacenter
, lan
, s3_key
, firewall
, server
for pcc
, group
, user
,snapshot
, volume
and server
:
made tests comprehensive
optimized test duration by including both match by id and by name in the same test
removed duplicated code from import, data_source, resource and tests files
import for snapshot
, ipblock
, data_source for group
, user
, volume
, ipblock
issue #31 - k8s node pool labels and annotations implemented
fixed issue #112 can't attach existing volume to server after recreating server
cannot empty api_subnet_allow_list
and s3_buckets
made tests comprehensive
optimized test duration by including both match by id and by name in the same test
removed duplicated code from import, data_source and resource files (set parameters)
for backupUnit
, datacenter
, lan
, s3_key
, and firewall
resources done the following:
made tests comprehensive
optimized test duration by including both match by id and by name in the same test
removed duplicated code from import, data_source and resource files (set parameters)
updated documentation
improved import functions
data_source for s3_key
updated sdk-go to v5.1.7
implemented data source for backup unit and firewall rule
removed public and gateway_ip properties from k8s cluster
fixed typo in setting user_data and backup_unit_id in the volume entity from server
test updates
added user_data and backup_unit_id in the volume entity from server
fix issue #19 - fixed update ssh_key_path although not changed
issue #93 - updated documentation for image data source
correctly saving lans when reading a k8s node pool
documentation updates
fixed set of empty array in terraform state instead of null
issue #72 - fixed find volume image by name
error messages for immutable node pool attributes
issue #84 - fixed build & updated README.md
rollback to the node pool behaviour before the fix of issue #71
issue #77 - fix import for k8s nodepool
fix: issue #71 - recreate nodepool on change of specifications
issue #66 - detailed kube config attributes implemented
fix: fixes #1 - usage example updates
fix: fixes #13 ignore changes of patch level in k8s cluster & nodepool k8sVersion
added some missing arguments
fixed import server import
documentation updates
set public default to true to remove deprecated GetOkExists function
API kubernetes security featues implemented (apiSubnetAllowList and S3Buckets)
issue #47 - corrected nic resource to accept a list of strings for ips parameter
issue #39 - new imports for volume, user, group, share, IPfailover and loadbalancer
issue #36 - correctly setting the value of the active property when creating an s3 resource
issue #29 - corrected parameter name in volume error message
issue #30 - creation of volume without password + default value for bus
fixes #17 - documentation updates
fixes #24 - ability to create servers without an image
terraform sdk upgrade to v2.4.3
fixes #22 - ability to specify boot_cdrom when creating a server
fix: respecting resource timeouts when waiting for requests to be fullfiled
ability to debug sdk requests by setting the IONOS_DEBUG=1 env var and TF_LOG=1
fixes #5 - correctly dereferencing possibly nil properties received from the api
fixes #12 - correctly setting up a custom Ionos Cloud API url
error handling improvements
always displaying the full response body from the API in case of an error
correctly checking for nil the image volume
avoid sending an empty image password to the API if no image password is set
Bug fix: nil check for image password when creating a server
Using the latest Ionos Cloud GO SDK v5.1.0
Importing mac info when loading nic information or server information
Reading PCC info when importing a lan
new data sources added: k8s_cluster, k8s_node_pool
Correctly updating ips on a nic embedded in a server config
new datasources added: lan, server, private cross connect
terraform-provider-profitbricks rebranding to terraform-provider-ionoscloud
Creates and manages Network Interface objects.
Manages a NIC on IonosCloud.
datacenter_id
- (Required)[string] The ID of a Virtual Data Center.
server_id
- (Required)[string] The ID of a server.
lan
- (Required)[integer] The LAN ID the NIC will sit on.
name
- (Optional)[string] The name of the LAN.
dhcp
- (Optional)[Boolean] Indicates if the NIC should get an IP address using DHCP (true) or not (false).
ips
- (Optional)[list] Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
firewall_active
- (Optional)[Boolean] If this resource is set to true and is nested under a server resource firewall, with open SSH port, resource must be nested under the NIC.
nat
- (Optional)[Boolean] Boolean value indicating if the private IP address has outbound access to the public internet.
mac
- (Computed) The MAC address of the NIC.
Resource Nic can be imported using the resource id
, e.g.
Please be aware that when using a nic in a load balancer, the load balancer will change the nic's ID behind the scenes, therefore the plan will always report this change trying to revert the state to the one specified by your terraform file. In order to prevent this, use the "lifecycle meta-argument" when declaring your nic, in order to ignore changes to the lan
attribute:
Here's an example:
Creates and manages Load Balancers
Manages a Load Balancer on IonosCloud.
name
- (Required)[string] The name of the load balancer.
datacenter_id
- (Required)[string] The ID of a Virtual Data Center.
nic_ids
- (Required)[list] A list of NIC IDs that are part of the load balancer.
dhcp
- (Optional)[Boolean] Indicates if the load balancer will reserve an IP using DHCP.
ip
- (Optional)[string] IPv4 address of the load balancer.
Resource Loadbalancer can be imported using the resource id
, e.g.
When declaring NIC resources to be used with the load balancer, please make sure you use the "lifecycle meta-argument" to make sure changes to the lan attribute of the nic are ignored.
Please see the nic resource's documentation for an example on how to do that.
Creates and manages IonosCloud Server objects.
Manages a Server on IonosCloud.
This resource will create an operational server. After this section completes, the provisioner can be called.
##Argument reference
name
- (Required)[string] The name of the server.
datacenter_id
- (Required)[string] The ID of a Virtual Data Center.
cores
- (Required)[integer] Number of server CPU cores.
ram
- (Required)[integer] The amount of memory for the server in MB.
image_name
- (Optional)[string] The name or ID of the image.
availability_zone
- (Optional)[string] The availability zone in which the server should exist. This property is immutable.
licence_type
- (Optional)[string] Sets the OS type of the server.
cpu_family
- (Optional)[string] CPU architecture on which server gets provisioned. Sets the CPU type. "AMD_OPTERON", "INTEL_XEON" or "INTEL_SKYLAKE".
volume
- (Required) See the Volume section.
nic
- (Required) See the NIC section.
boot_volume
- (Computed) The associated boot volume.
boot_cdrom
- (Optional)[string] The associated boot drive, if any.
boot_image
- (Optional)[string] The image or snapshot UUID / name. May also be an image alias. It is required if licence_type
is not provided.
primary_nic
- (Computed) The associated NIC.
primary_ip
- (Computed) The associated IP address.
firewallrule_id
- (Computed) The associated firewall rule.
ssh_key_path
- (Optional)[list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password
is not provided.
image_password
- (Optional)[string] Required if ssh_key_path
is not provided.
Resource Server can be imported using the resource id
, e.g.
Please note that for any secondary volume, you need to set the licence_type property to UNKNOWN
Creates and manages Private Cross Connections between virtual datacenters.
Manages a Private Cross Connect on IonosCloud.
The following arguments are supported:
name
- (Required)[string] The name of the private cross-connection.
description
- (Optional)[string] A short description for the private cross-connection.
peers
- (Computed) Lists LAN's joined to this private cross connect
lan_id
lan_name
datacenter_id
datacenter_name
location
connectable_datacenters
- (Computed) Lists datacenters that can be joined to this private cross connect
id
name
location
A Private Cross Connect resource can be imported using its resource id
, e.g.
This can be helpful when you want to import private cross-connects which you have already created manually or using other means, outside of terraform.
Creates and manages IP Block objects.
Manages IP Blocks on IonosCloud. IP Blocks contain reserved public IP addresses that can be assigned servers or other resources.
name
- (Optional)[string] The name of Ip Block
location
- (Required)[string] The regional location for this IP Block: us/las, us/ewr, de/fra, de/fkb.
size
- (Required)[integer] The number of IP addresses to reserve for this block.
ips
- (Computed)[integer] The list of IP addresses associated with this block.
ip_consumers
(Computed) Read-Only attribute. Lists consumption detail of an individual ip
ip
mac
nic_uuid
server_id
server_name
datacenter_id
datacenter_name
k8s_nodepool_uuid
k8s_cluster_uuid
Resource Ipblock can be imported using the resource id
, e.g.
Creates and manages Firewall Rules.
Manages a set of firewall rules on IonosCloud.
datacenter_id
- (Required)[string] The Virtual Data Center ID.
server_id
- (Required)[string] The Server ID.
nic_id
- (Required)[string] The NIC ID.
protocol
- (Required)[string] The protocol for the rule: TCP, UDP, ICMP, ANY. Property cannot be modified after creation (disallowed in update requests).
name
- (Optional)[string] The name of the firewall rule.
source_mac
- (Optional)[string] Only traffic originating from the respective MAC address is allowed. Valid format: aa:bb:cc:dd:ee:ff. Value null allows all source MAC address. Valid format: aa:bb:cc:dd:ee:ff.
source_ip
- (Optional)[string] Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs.
target_ip
- (Optional)[string] In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed. Value null allows all target IPs.
port_range_start
- (Optional)[int] Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
port_range_end
- (Optional)[int] Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen. Leave portRangeStart and portRangeEnd null to allow all ports.
icmp_type
- (Optional)[string] Defines the allowed code (from 0 to 254) if protocol ICMP is chosen. Value null allows all codes.
icmp_code
- (Optional)[string] Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen. Value null allows all types
Resource Firewall can be imported using the resource id
, e.g.
Creates and manages LAN objects.
Manages a LAN on IonosCloud.
datacenter_id
- (Required)[string] The ID of a Virtual Data Center.
name
- (Optional)[string] The name of the LAN.
public
- (Optional)[Boolean] Indicates if the LAN faces the public Internet (true) or not (false).
pcc
- (Optional)[String] The unique id of a ionoscloud_private_crossconnect
resource, in order
ip_failover
- (Computed) IP failover configurations for lan
ip
nic_uuid
Resource Lan can be imported using the resource id
, e.g.
Please note that only LANS datacenters found in the same physical location can be connected through a private cross-connect
A LAN cannot be a part of two private cross-connects
Get Information on a IonosCloud Firewall
The firewall data source can be used to search for and return an existing FirewallRules. You can provide a string for either id or name parameters which will be compared with provisioned Firewall Rules. If a single match is found, it will be returned. If your search results in multiple matches, an error will be generated. When this happens, please refine your search string so that it is specific enough to return only one result.
The following arguments are supported:
name
- (Optional) Name of an existing firewall rule that you want to search for.
id
- (Optional) ID of the firewall rule you want to search for.
datacenter_id
- (Required) The Virtual Data Center ID.
server_id
- (Required) The Server ID.
nic_id
- (Required) The NIC ID.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the firewall rule.
name
- The name of the firewall rule.
protocol
- The protocol for the rule: TCP, UDP, ICMP, ANY.
source_mac
- Only traffic originating from the respective MAC address is allowed.
source_ip
- Only traffic originating from the respective IPv4 address is allowed.
target_ip
- Only traffic directed to the respective IP address of the NIC is allowed.
port_range_start
- Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen.
port_range_end
- Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen.
icmp_type
- Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen.
icmp_code
- Defines the allowed code (from 0 to 254) if protocol ICMP is chosen.
Get information on a IonosCloud Images
The images data source can be used to search for and return an existing image which can then be used to provision a server.
name
- (Required) Name of an existing image that you want to search for.
version
- (Optional) Version of the image (see details below).
location
- (Optional) Id of the existing image's location.
type
- (Optional) The image type, HDD or CD-ROM.
cloud_init
- (Optional) Cloud init compatibility ("NONE" or "V1")
If both "name" and "version" are provided the plugin will concatenate the two strings in this format [name]-[version].
id
- UUID of the image
name
- name of the image
description
- description of the image
size
- The size of the image in GB
cpu_hot_plug
- Is capable of CPU hot plug (no reboot required)
cpu_hot_unplug
- Is capable of CPU hot unplug (no reboot required)
ram_hot_plug
- Is capable of memory hot plug (no reboot required)
ram_hot_unplug
- Is capable of memory hot unplug (no reboot required)
nic_hot_plug
- Is capable of nic hot plug (no reboot required)
nic_hot_unplug
- Is capable of nic hot unplug (no reboot required)
disc_virtio_hot_plug
- Is capable of Virt-IO drive hot plug (no reboot required)
disc_virtio_hot_unplug
- Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines
disc_scsi_hot_plug
- Is capable of SCSI drive hot plug (no reboot required)
disc_scsi_hot_unplug
- Is capable of SCSI drive hot unplug (no reboot required). This works only for non-Windows virtual Machines
license_type
- OS type of this Image
public
- Indicates if the image is part of the public repository or not
image_aliases
- List of image aliases mapped for this Image
cloud_init
- Cloud init compatibility
type
- This indicates the type of image
location
- Location of that image/snapshot.
Creates and manages IonosCloud Volume objects.
Manages a volume on IonosCloud.
A primary volume will be created with the server. If there is a need for additional volumes, this resource handles it.
datacenter_id
- (Required)[string] The ID of a Virtual Data Center.
server_id
- (Required)[string] The ID of a server.
disk_type
- (Required)[string] The volume type: HDD or SSD. This property is immutable.
bus
- (Optional)[Boolean] The bus type of the volume: VIRTIO or IDE. This property is immutable.
size
- (Required)[integer] The size of the volume in GB.
ssh_key_path
- (Optional)[list] List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images. Required for IonosCloud Linux images. Required if image_password
is not provided.
sshkey
- (Computed) The associated public SSH key.
image_password
- (Optional)[string] Required if sshkey_path
is not provided.
image_name
- (Optional)[string] The image or snapshot UUID. May also be an image alias. It is required if licence_type
is not provided.
image
- (Computed) The image or snapshot UUID.
image_alias
- (Computed) The image alias.
licence_type
- (Optional)[string] Required if image_name
is not provided.
name
- (Optional)[string] The name of the volume.
availability_zone
- (Optional)[string] The storage availability zone assigned to the volume: AUTO, ZONE_1, ZONE_2, or ZONE_3. This property is immutable.
user_data
- (Optional)[string] The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. This option will work only with cloud-init compatible images.
backup_unit_id
- (Optional)[string] he uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
device_number
- (Computed) The LUN ID of the storage volume. Null for volumes not mounted to any VM
cpu_hot_plug
- (Computed)[string] Is capable of CPU hot plug (no reboot required)
ram_hot_plug
- (Computed)[string] Is capable of memory hot plug (no reboot required)
nic_hot_plug
- (Computed)[string] Is capable of nic hot plug (no reboot required)
nic_hot_unplug
- (Computed)[string] Is capable of nic hot unplug (no reboot required)
disc_virtio_hot_plug
- (Computed)[string] Is capable of Virt-IO drive hot plug (no reboot required)
disc_virtio_hot_unplug
- (Computed)[string] Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
Resource Volume can be imported using the resource id
, e.g.
Get Information on ipfailover objects.
The share data source can be used to search for and return an existing ip failover object. You need to provide the datacenter_id and failover_id to get the ip failover object for the provided datacenter.
The following arguments are supported:
datacenter_id
- (Required)The ID of the datacenter containing the ip failover datasource
id
- (Required)The id of the ip failover object
The following attributes are returned by the datasource:
datacenter_id
- The ID of a Data Center.
ip
- The reserved IP address to be used in the IP failover group.
lan_id
- The ID of a LAN.
nicuuid
- The ID of a NIC.
Get information on a Ionos Cloud Lans
The lans data source can be used to search for and return existing lans.
name
- (Optional) Name of an existing lan that you want to search for.
id
- (Optional) ID of the lan you want to search for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the LAN.
name
- The name of the LAN.
datacenter_id
- The ID of lan's Virtual Data Center.
ip_failover
- list of
nic_uuid
ip
pcc
- The unique id of a ionoscloud_private_crossconnect
resource, in order.
public
- Indicates if the LAN faces the public Internet (true) or not (false).
Get information on a IonosCloud Ip Block
The ip block data source can be used to search for and return an existing Ip Block. You can provide a string for the id, the name or the location parameters which will be compared with the provisioned Ip Blocks. If a single match is found, it will be returned. If your search results in multiple matches, the first result found will be returned. When this happens, please refine your search string so that it is specific enough to return only one result.
id
- (Optional) ID of an existing Ip Block that you want to search for.
name
- (Optional) Name of an existing Ip Block that you want to search for.
location
- (Optional) ID of the existing Ip Block location.
id
- The id of Ip Block
name
- The name of Ip Block
location
- The regional location for this IP Block: us/las, us/ewr, de/fra, de/fkb.
size
- The number of IP addresses to reserve for this block.
ips
- The list of IP addresses associated with this block.
ip_consumers
Read-Only attribute. Lists consumption detail of an individual ip
ip
mac
nic_uuid
server_id
server_name
datacenter_id
datacenter_name
k8s_nodepool_uuid
k8s_cluster_uuid
Creates and manages snapshot objects.
Manages snapshots on IonosCloud.
datacenter_id
- (Required)[string] The ID of the Virtual Data Center.
name
- (Required)[string] The name of the snapshot.
volume_id
- (Required)[string] The ID of the specific volume to take the snapshot from.
Beside the configurable arguments, the resource returns the following additional attributes:
description
- Human readable description
licence_type
- OS type of this Snapshot
location
- Location of that image/snapshot
size
- The size of the image in GB
sec_auth_protection
- Boolean value representing if the snapshot requires extra protection e.g. two factor protection
cpu_hot_plug
- Is capable of CPU hot plug (no reboot required)
cpu_hot_unplug
- Is capable of CPU hot unplug (no reboot required)
ram_hot_plug
- Is capable of memory hot plug (no reboot required)
ram_hot_unplug
- Is capable of memory hot unplug (no reboot required)
nic_hot_plug
- Is capable of nic hot plug (no reboot required)
nic_hot_unplug
- Is capable of nic hot unplug (no reboot required)
disc_virtio_hot_plug
- Is capable of Virt-IO drive hot plug (no reboot required)
disc_virtio_hot_unplug
- Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
disc_scsi_hot_plug
- Is capable of SCSI drive hot plug (no reboot required)
disc_scsi_hot_unplug
- Is capable of SCSI drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
Resource Snapshot can be imported using the snapshot id
, e.g.
Get information on a Ionos Cloud Private Crossconnects
The private crossconnect data source can be used to search for and return existing private crossconnects.
name
- (Optional) Name of an existing private crossconnect that you want to search for.
id
- (Optional) ID of the private crossconnect you want to search for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the private cross-connection.
name
- The name of the private cross-connection.
description
- The description for the private cross-connection.
peers
- Lists LAN's joined to this private cross connect
lan_id
lan_name
datacenter_id
datacenter_name
location
connectable_datacenters
- Lists datacenters that can be joined to this private cross connect
id
name
location
Get information on a IonosCloud Locations
The locations data source can be used to search for and return an existing location which can then be used elsewhere in the configuration.
name
- (Required) Name of the location to search for.
feature
- (Optional) A desired feature that the location must be able to provide.
The following attributes are returned by the datasource:
id
- UUID of the location
Get information on a IonosCloud Snapshots
The snapshots data source can be used to search for and return an existing snapshot which can then be used to provision a server.
id
- (Optional) Uuid of an existing snapshot that you want to search for.
name
- (Optional) Name of an existing snapshot that you want to search for.
location
- (Optional) Id of the existing snapshot's location.
size
- (Optional) The size of the snapshot to look for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error. Additionally, you can add location
and size
along with the name
argument for a more refined search.
The following attributes are returned by the datasource:
id
- UUID of the snapshot
name
- The name of the snapshot.
description
- Human readable description
licence_type
- OS type of this Snapshot
location
- Location of that image/snapshot
size
- The size of the image in GB
sec_auth_protection
- Boolean value representing if the snapshot requires extra protection e.g. two factor protection
cpu_hot_plug
- Is capable of CPU hot plug (no reboot required)
cpu_hot_unplug
- Is capable of CPU hot unplug (no reboot required)
ram_hot_plug
- Is capable of memory hot plug (no reboot required)
ram_hot_unplug
- Is capable of memory hot unplug (no reboot required)
nic_hot_plug
- Is capable of nic hot plug (no reboot required)
nic_hot_unplug
- Is capable of nic hot unplug (no reboot required)
disc_virtio_hot_plug
- Is capable of Virt-IO drive hot plug (no reboot required)
disc_virtio_hot_unplug
- Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
disc_scsi_hot_plug
- Is capable of SCSI drive hot plug (no reboot required)
disc_scsi_hot_unplug
- Is capable of SCSI drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
Get information on a Ionos Cloud Volume
The volume data source can be used to search for and return existing volumes.
name
- (Optional) Name of an existing volume that you want to search for.
id
- (Optional) ID of the volume you want to search for.
Either volume
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the volume.
name
- The name of the volume.
disk_type
- The volume type: HDD or SSD.
bus
- The bus type of the volume: VIRTIO or IDE.
size
- The size of the volume in GB.
ssh_key_path
- List of paths to files containing a public SSH key that will be injected into IonosCloud provided Linux images.
sshkey
- The associated public SSH key.
image_password
- Required if sshkey_path
is not provided.
image
- The image or snapshot UUID.
image_alias
- The image alias.
licence_type
availability_zone
- The storage availability zone assigned to the volume: AUTO, ZONE_1, ZONE_2, or ZONE_3. This property is immutable.
user_data
- The cloud-init configuration for the volume as base64 encoded string. The property is immutable and is only allowed to be set on a new volume creation. This option will work only with cloud-init compatible images.
backup_unit_id
- The uuid of the Backup Unit that user has access to. The property is immutable and is only allowed to be set on a new volume creation. It is mandatory to provide either 'public image' or 'imageAlias' in conjunction with this property.
device_number
- The LUN ID of the storage volume. Null for volumes not mounted to any VM
cpu_hot_plug
- Is capable of CPU hot plug (no reboot required)
ram_hot_plug
- Is capable of memory hot plug (no reboot required)
nic_hot_plug
- Is capable of nic hot plug (no reboot required)
nic_hot_unplug
- Is capable of nic hot unplug (no reboot required)
disc_virtio_hot_plug
- Is capable of Virt-IO drive hot plug (no reboot required)
disc_virtio_hot_unplug
- Is capable of Virt-IO drive hot unplug (no reboot required). This works only for non-Windows virtual Machines.
Get information on a Ionos Cloud NIC
The nic data source can be used to search for and return existing nics.
datacenter_id
- (Required)[string] The ID of a Virtual Data Center.
server_id
- (Required)[string] The ID of a server.
name
- (Optional)[string] The name of the LAN.
id
- (Optional) ID of the nic you want to search for.
datacenter_id
and either name
or id
must be provided. If none, are provided, the datasource will return an error.
Resource Nic can be imported using the resource id
, e.g.
The following attributes are returned by the datasource:
id
- The id of the NIC.
datacenter_id
- The ID of a Virtual Data Center.
server_id
- The ID of a server.
lan
- The LAN ID the NIC will sit on.
name
- The name of the LAN.
dhcp
- Indicates if the NIC should get an IP address using DHCP (true) or not (false).
ips
- Collection of IP addresses assigned to a nic. Explicitly assigned public IPs need to come from reserved IP blocks, Passing value null or empty array will assign an IP address automatically.
firewall_active
- If this resource is set to true and is nested under a server resource firewall, with open SSH port, resource must be nested under the NIC.
mac
- The MAC address of the NIC.
nat
- Boolean value indicating if the private IP address has outbound access to the public internet.
Creates and manages IonosCloud Backup Units.
Manages a Backup Unit on IonosCloud.
The following arguments are supported:
name
- (Required)[string] The name of the Backup Unit. This argument is immutable.
password
- (Required)[string] The desired password for the Backup Unit
email
- (Required)[string] The email address assigned to the backup unit
login
- (Computed) The login associated with the backup unit. Derived from the contract number
A Backup Unit resource can be imported using its resource id
, e.g.
This can be helpful when you want to import backup units which you have already created manually or using other means, outside of terraform. Please note that you need to manually specify the password when first declaring the resource in terraform, as there is no way to retrieve the password from the Cloud API.
Please note that at the moment, Backup Units cannot be renamed
Please note that the password attribute is write-only, and it cannot be retrieved from the API when importing a ionoscloud_backup_unit. The only way to keep track of it in Terraform is to specify it on the resource to be imported, thus, making it a required attribute.
Get information on a IonosCloud K8s Node Pool
The k8s node pool data source can be used to search for and return existing k8s node pools.
name
- (Optional) Name of an existing node pool that you want to search for.
id
- (Optional) ID of the node pool you want to search for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- id of the node pool
name
- name of the node pool
k8s_cluster_id
- ID of the cluster this node pool is part of
datacenter_id
- The UUID of the VDC
node_count
- The number of nodes in this node pool
cpu_family
- CPU Family
cores_count
- CPU cores count
ram_size
- The amount of RAM in MB
availability_zone
- The compute availability zone in which the nodes should exist
storage_type
- HDD or SDD
storage_size
- Size of storage
k8s_version
- The kubernetes version
maintenance_window
- A maintenance window comprise of a day of the week and a time for maintenance to be allowed
time
- A clock time in the day when maintenance is allowed
day_of_the_week
- Day of the week when maintenance is allowed
auto_scaling
- The range defining the minimum and maximum number of worker nodes that the managed node group can scale in
min_node_count
- The minimum number of worker nodes the node pool can scale down to
max_node_count
- The maximum number of worker nodes that the node pool can scale to
lans
- A list of Local Area Networks the node pool is a part of
labels
- A map of labels in the form of key -> value
annotations
- A map of annotations in the form of key -> value
available_upgrade_versions
- A list of kubernetes versions available for upgrade
public_ips
- The list of fixed IPs associated with this node pool
state
- one of "AVAILABLE", "INACTIVE", "BUSY", "DEPLOYING", "ACTIVE", "FAILED", "SUSPENDED", "FAILED_SUSPENDED", "UPDATING", "FAILED_UPDATING", "DESTROYING", "FAILED_DESTROYING", "TERMINATED"
Get information on a IonosCloud K8s Cluster
The k8s cluster data source can be used to search for and return existing k8s clusters.
name
- (Optional) Name or an existing cluster that you want to search for.
id
- (Optional) ID of the cluster you want to search for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- id of the cluster
name
- name of the cluster
maintenance_window
- A maintenance window comprise of a day of the week and a time for maintenance to be allowed
time
- A clock time in the day when maintenance is allowed
day_of_the_week
- Day of the week when maintenance is allowed
state
- one of "AVAILABLE", "INACTIVE", "BUSY", "DEPLOYING", "ACTIVE", "FAILED", "SUSPENDED", "FAILED_SUSPENDED", "UPDATING", "FAILED_UPDATING", "DESTROYING", "FAILED_DESTROYING", "TERMINATED"
k8s_version
- Kubernetes version. The provider will ignore changes of patch level.
available_upgrade_versions
- list of available versions for upgrading the cluster
viable_node_pool_versions
- list of versions that may be used for node pools under this cluster
node_pools
- list of the IDs of the node pools in this cluster
kube_config
- Raw Kubernetes configuration; use yamlencode
or jsonencode
when dumping this to a file
api_subnet_allow_list
- access to the K8s API server is restricted to these CIDRs
s3_buckets
- list of S3 bucket configured for K8s usage
config
- structured kubernetes config consisting of a list with 1 item with the following fields:
api_version - Kubernetes API Version
kind - "Config"
current-context - string
clusters - list of
name - name of cluster
cluster - map of
certificate-authority-data - base64 decoded cluster CA data
server - server address in the form https://host:port
contexts - list of
name - context name
context - map of
cluster - cluster name
user - cluster user
users - list of
name - user name
user - map of
token - user token used for authentication
user_tokens
- a convenience map to search the token of a specific user
key - is the user name
value - is the token
server
- cluster server (same as config[0].clusters[0].cluster.server
but provided as an attribute for ease of use)
ca_crt
- base64 decoded cluster certificate authority data (provided as an attribute for direct use)
NOTE: The whole config
node is marked as sensitive.
NOTE: Dumping kube_config
data into files poses a security risk.
Creates and manages IonosCloud Kubernetes Node Pools.
Manages a Kubernetes Node Pool, part of a managed Kubernetes cluster on IonosCloud.
The following arguments are supported:
name
- (Required)[string] The name of the Kubernetes Cluster. This attribute is immutable.
k8s_version
- (Optional)[string] The desired Kubernetes Version. for supported values, please check the API documentation. The provider will ignore changes of patch level.
auto_scaling
- (Optional)[string] Wether the Node Pool should autoscale. For more details, please check the API documentation
min_node_count
- (Required)[int] The minimum number of worker nodes the node pool can scale down to. Should be less than max_node_count
max_node_count
- (Required)[int] The maximum number of worker nodes that the node pool can scale to. Should be greater than min_node_count
lans
- (Optional)[list] A list of numeric LAN id's you want this node pool to be part of. For more details, please check the API documentation, as well as the example above
maintenance_window
- (Optional) See the maintenance_window section in the example above
time
- (Required)[string] A clock time in the day when maintenance is allowed
day_of_the_week
- (Required)[string] Day of the week when maintenance is allowed
datacenter_id
- (Required)[string] A Datacenter's UUID
k8s_cluster_id
- (Required)[string] A k8s cluster's UUID
cpu_family
- (Required)[string] The desired CPU Family - See the API documentation for more information. This attribute is immutable.
availability_zone
- (Required)[string] - The desired Compute availability zone - See the API documentation for more information. This attribute is immutable.
storage_type
-(Required)[string] - The desired storage type - SSD/HDD. This attribute is immutable.
node_count
-(Required)[int] - The desired number of nodes in the node pool
cores_count
-(Required)[int] - The CPU cores count for each node of the node pool. This attribute is immutable.
ram_size
-(Required)[int] - The desired amount of RAM, in MB. This attribute is immutable.
storage_size
-(Required)[int] - The desired amount of storage for each node, in GB. This attribute is immutable.
public_ips
- (Optional)[list] A list of public IPs associated with the node pool; must have at least node_count + 1
elements;
labels
- (Optional)[map] A key/value map of labels
annotations
- (Optional)[map] A key/value map of annotations
A Kubernetes Node Pool resource can be imported using its Kubernetes cluster's uuid as well as its own UUID, both of which you can retreive from the cloud API: resource id
, e.g.:
This can be helpful when you want to import kubernetes node pools which you have already created manually or using other means, outside of terraform, towards the goal of managing them via Terraform
Creates and manages group objects.
Manages groups and group privileges on IonosCloud.
##Argument reference
name
- (Required) [string] A name for the group.
create_datacenter
- (Optional) [Boolean] The group will be allowed to create virtual data centers.
create_snapshot
- (Optional) [Boolean] The group will be allowed to create snapshots.
reserve_ip
- (Optional) [Boolean] The group will be allowed to reserve IP addresses.
access_activity_log
- (Optional) [Boolean] The group will be allowed to access the activity log.
create_pcc
- (Optional) [Boolean] The group will be allowed to create pcc privilege.
s3_privilege
- (Optional) [Boolean] The group will have S3 privilege.
create_backup_unit
- (Optional) [Boolean] The group will be allowed to create backup unit privilege.
create_internet_access
- (Optional) [Boolean] The group will be allowed to create internet access privilege.
create_k8s_cluster
- (Optional) [Boolean] The group will be allowed to create kubernetes cluster privilege.
user_id
- (Optional) [string] The ID of the specific user to add to the group.
users
- (Computed) List of users in group. See user section.
Resource Group can be imported using the resource id
, e.g.
Creates and manages user objects.
Manages users and list users and groups associated with that user.
administrator
- (Required)[Boolean] The group has permission to edit privileges on this resource.
email
- (Required)[string] An e-mail address for the user.
first_name
- (Required)[string] A first name for the user.
force_sec_auth
- (Required)[Boolean] Indicates if secure (two-factor) authentication should be enabled for the user (true) or not (false).
last_name
- (Required)[string] A last name for the user.
password
- (Required)[string] A password for the user.
sec_auth_active
- (Computed) Indicates if secure authentication is active for the user or not
s3_canonical_user_id
- (Computed) Canonical (S3) id of the user for a given identity
active
- (Optional)[Boolean] Indicates if the user is active
Resource User can be imported using the resource id
, e.g.
Creates and manages IonosCloud Kubernetes Clusters.
Manages a Managed Kubernetes cluster on IonosCloud.
The following arguments are supported:
name
- (Required)[string] The name of the Kubernetes Cluster.
k8s_version
- (Optional)[string] The desired Kubernetes Version. For supported values, please check the API documentation. The provider will ignore changes of patch level.
maintenance_window
- (Optional) See the maintenance_window section in the example above
time
- (Required)[string] A clock time in the day when maintenance is allowed
day_of_the_week
- (Required)[string] Day of the week when maintenance is allowed
viable_node_pool_versions
- (Computed) List of versions that may be used for node pools under this cluster
api_subnet_allow_list
- (Optional) Access to the K8s API server is restricted to these CIDRs. Cluster-internal traffic is not affected by this restriction. If no allowlist is specified, access is not restricted. If an IP without subnet mask is provided, the default value will be used: 32 for IPv4 and 128 for IPv6.
s3_buckets
- (Optional) List of S3 bucket configured for K8s usage. For now it contains only an S3 bucket used to store K8s API audit logs.
A Kubernetes Cluster resource can be imported using its resource id
, e.g.
This can be helpful when you want to import kubernetes clusters which you have already created manually or using other means, outside of terraform.
Please note that every ionoscloud_datacenter
resource you plan to add kubernetes node pools for the cluster to needs to also be specified as a dependency of the Kubernetes cluster by using the depends_on
meta-property (For more details, please see https://www.terraform.io/docs/configuration/resources.html#resource-dependencies). This will ensure that resources are destroyed in the right order. In case you do not do this, you might encounter problems when deleting the Virtual Datacenter. In return, this will give you the ability to keep the data in your PersistentVolumeClaims across NodePools created in the same Virtual Datacenter ionoscloud_datacenter
Get Information on a IonosCloud Backup Unit
The backup unit data source can be used to search for and return an existing Backup Unit. You can provide a string for either id or name parameters which will be compared with provisioned Backup Units. If a single match is found, it will be returned. If your search results in multiple matches, an error will be generated. When this happens, please refine your search string so that it is specific enough to return only one result.
The following arguments are supported:
name
- (Optional) Name of an existing backup unit that you want to search for.
id
- (Optional) ID of the backup unit you want to search for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the Backup Unit.
name
- The name of the Backup Unit.
email
- The e-mail address you want assigned to the backup unit.
login
- The login associated with the backup unit. Derived from the contract number.
Creates and manages IonosCloud S3 keys.
Manages an S3 Key on IonosCloud.
The following arguments are supported:
user_id
- (Required)[string] The UUID of the user owning the S3 Key.
active
- (Required)[boolean] Whether the S3 is active / enabled or not - Please keep in mind this is only required on create.
secret_key
- (Computed) Whether this key should be active or not
An S3 Unit resource can be imported using its user id as well as its resource id
, e.g.
This can be helpful when you want to import S3 Keys which you have already created manually or using other means, outside of terraform.
Get information on a IonosCloud Resource
The resource data source can be used to search for and return any existing IonosCloud resource and optionally their group associations. You can provide a string for the resource type (datacenter,image,snapshot,ipblock) and/or resource id parameters which will be queries against available resources. If a single match is found, it will be returned. If your search results in multiple matches, an error will be generated. When this happens, please refine your search string so that it is specific enough to return only one result.
resource_type
- (Optional) The specific type of resources to retrieve information about.
resource_id
- (Optional) The ID of the specific resource to retrieve information about.
id
- UUID of the Resource
Get Information on a IonosCloud s3 key
The s3 key data source can be used to search for and return an existing s3 key. You can provide a string id which will be compared with provisioned s3 keys. If a single match is found, it will be returned.
The following arguments are supported:
user_id
- (Required)[string] The UUID of the user owning the S3 Key.
id
- (Required) ID of the s3 key you want to search for.
The following attributes are returned by the datasource:
id
- The id of the s3 key
active
- The state of the s3 key
user_id
- The ID of the user that owns the key
Get information on a Ionos Cloud Users
The users data source can be used to search for and return existing users.
email
- (Optional) Email of an existing user that you want to search for.
id
- (Optional) ID of the user you want to search for.
Either email
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the LAN.
administrator
- The group has permission to edit privileges on this resource.
email
- The e-mail address for the user.
first_name
- The first name for the user.
force_sec_auth
- Indicates if secure (two-factor) authentication should be enabled for the user (true) or not (false).
last_name
- The last name for the user.
password
- The password for the user.
sec_auth_active
- Indicates if secure authentication is active for the user or not
s3_canonical_user_id
- Canonical (S3) id of the user for a given identity
active
- Indicates if the user is active
Get information on a Ionos Cloud Groups
The groups data source can be used to search for and return existing groups.
name
- (Optional) Name of an existing group that you want to search for.
id
- (Optional) ID of the group you want to search for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the LAN.
name
- A name for the group.
create_datacenter
- The group will be allowed to create virtual data centers.
create_snapshot
- The group will be allowed to create snapshots.
reserve_ip
- The group will be allowed to reserve IP addresses.
access_activity_log
- The group will be allowed to access the activity log.
create_pcc
- The group will be allowed to create pcc privilege.
s3_privilege
- The group will have S3 privilege.
create_backup_unit
- The group will be allowed to create backup unit privilege.
create_internet_access
- The group will be allowed to create internet access privilege.
create_k8s_cluster
- The group will be allowed to create kubernetes cluster privilege.
user_id
- The ID of the specific user to add to the group.
users
- List of users in group.
Get information on a IonosCloud Data Centers
The data centers data source can be used to search for and return an existing Virtual Data Center. You can provide a string for the name and location parameters which will be compared with provisioned Virtual Data Centers. If a single match is found, it will be returned. If your search results in multiple matches, the first result found will be returned. When this happens, please refine your search string so that it is specific enough to return only one result.
id
- (Optional) Id of an existing Virtual Data Center that you want to search for.
name
- (Optional) Name of an existing Virtual Data Center that you want to search for.
location
- (Optional) Id of the existing Virtual Data Center's location.
Either name
, location
or id
must be provided. If none, the datasource will return an error.
The following attributes are returned by the datasource:
id
- UUID of the Virtual Data Center
name
- The name of the Virtual Data Center.
location
- The regional location where the Virtual Data Center will be created.
description
- Description for the Virtual Data Center.
version
- The version of that Data Center. Gets incremented with every change
features
- List of features supported by the location this data center is part of
sec_auth_protection
- Boolean value representing if the data center requires extra protection e.g. two factor protection
Creates and manages share objects.
Manages shares and list shares permissions granted to the group members for each shared resource.
edit_privilege
- (Optional)[Boolean] The group has permission to edit privileges on this resource.
group_id
- (Required)[string] The ID of the specific group containing the resource to update.
resource_id
- (Required)[string] The ID of the specific resource to update.
share_privilege
- (Optional)[Boolean] The group has permission to share this resource.
Resource Share can be imported using the resource id
, e.g.
Get Information on share permission objects
The share data source can be used to search for and return an existing share object. You need to provide the group_id and resource_id to get the group resources for the shared resource.
The following arguments are supported:
group_id
- (Required)The ID of the specific group containing the resource to update.
resource_id
- (Required)The ID of the specific resource to update.
id
- (Required)The uuid of the share object
id
, resource_id
and group_id
must be provided. If any of them are missing, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the share resource.
group_id
- The ID of the specific group containing the resource to update.
resource_id
- The ID of the specific resource to update.
edit_privilege
- The flag that specifies if the group has permission to edit privileges on this resource.
share_privilege
- The group has permission to share this resource.
Get information on a Ionos Cloud Servers
The server data source can be used to search for and return existing servers.
name
- (Optional) Name of an existing server that you want to search for.
id
- (Optional) ID of the server you want to search for.
Either name
or id
must be provided. If none, or both are provided, the datasource will return an error.
The following attributes are returned by the datasource:
id
- The id of the server
name
- The name of the server
datacenter_id
- The ID of the Virtual Data Center
cores
- Number of server CPU cores
cpu_family
- CPU architecture on which server gets provisioned
ram
- The amount of memory for the server in MB
availability_zone
- The availability zone in which the server should exist
vm_state
- Status of the virtual Machine
boot_cdrom
boot_volume
cdroms
- list of
id
- Id of the attached cdrom
name
- The name of the attached cdrom
description
- Description of cdrom
location
- Location of that image/snapshot
size
- The size of the image in GB
cpu_hot_plug
- Is capable of CPU hot plug (no reboot required)
cpu_hot_unplug
- Is capable of CPU hot unplug (no reboot required)
ram_hot_plug
- Is capable of memory hot plug (no reboot required)
ram_hot_unplug
- Is capable of memory hot unplug (no reboot required)
nic_hot_plug
- Is capable of nic hot plug (no reboot required)
nic_hot_unplug
- Is capable of nic hot unplug (no reboot required)
disc_virtio_hot_plug
- Is capable of Virt-IO drive hot plug (no reboot required)
disc_virtio_hot_unplug
- Is capable of Virt-IO drive hot unplug (no reboot required)
disc_scsi_hot_plug
- Is capable of SCSI drive hot plug (no reboot required)
disc_scsi_hot_unplug
- Is capable of SCSI drive hot unplug (no reboot required)
licence_type
- OS type of this Image
image_type
- Type of image
image_aliases
- List of image aliases mapped for this Image
public
- Indicates if the image is part of the public repository or not
volumes
- list of
id
- Id of the attached volume
name
- Name of the attached volume
type
- Hardware type of the volume.
size
- The size of the volume in GB
availability_zone
- The availability zone in which the volume should exist
image
- Image or snapshot ID to be used as template for this volume
image_alias
- List of image aliases mapped for this Image
image_password
- Initial password to be set for installed OS
ssh_keys
- Public SSH keys are set on the image as authorized keys for appropriate SSH login to the instance using the corresponding private key
bus
- The bus type of the volume
licence_type
- OS type of this volume
cpu_hot_plug
- Is capable of CPU hot plug (no reboot required)
ram_hot_plug
- Is capable of memory hot plug (no reboot required)
nic_hot_plug
- Is capable of nic hot plug (no reboot required)
nic_hot_unplug
- Is capable of nic hot unplug (no reboot required)
disc_virtio_hot_plug
- Is capable of Virt-IO drive hot plug (no reboot required)
disc_virtio_hot_unplug
- Is capable of Virt-IO drive hot unplug (no reboot required)
device_number
- The Logical Unit Number of the storage volume
nics
- list of
id
- Id of the attached nic
name
- Name of the attached nid
mac
- The MAC address of the NIC
ips
- Collection of IP addresses assigned to a nic
dhcp
- Indicates if the nic will reserve an IP using DHCP
lan
- The LAN ID the NIC will sit on
firewall_active
- Activate or deactivate the firewall
nat
- Indicates if NAT is enabled on this NIC. This is now deprecated.
firewall_rules
- list of
id
- Id of the firewall rule
name
- Name of the firewall rule
protocol
- he protocol for the rule
source_mac
- Only traffic originating from the respective MAC address is allowed
source_ip
- Only traffic originating from the respective IPv4 address is allowed. Value null allows all source IPs
target_ip
- In case the target NIC has multiple IP addresses, only traffic directed to the respective IP address of the NIC is allowed
icmp_code
- Defines the allowed code (from 0 to 254) if protocol ICMP is chosen
icmp_type
- Defines the allowed type (from 0 to 254) if the protocol ICMP is chosen
port_range_start
- Defines the start range of the allowed port (from 1 to 65534) if protocol TCP or UDP is chosen
port_range_end
- Defines the end range of the allowed port (from 1 to 65534) if the protocol TCP or UDP is chosen