/terraform-module-upcloud-server

This module deploys Upcloud server with Public / Private ip address and floating ip support and server rolling maintenance.

Primary LanguageHCLMIT LicenseMIT

terraform-upcloud-server

This module deploys Upcloud server with Public / Private ip address and floating ip support and server rolling maintenance.

These types of resources are used:

Usage Examples

Some examples can be found in this repository:

If you're looking to try Upcloud out, sign up here and get $25 free credit.

In case you missed it: Upcloud support Network Transfer Pool, as the name suggests, combines all transfer quotas included in all UpCloud public cloud products and services you use into a single account-wide transfer pool.

Server plans

Plan Price
1xCPU-1GB 5 USD
1xCPU-2GB 10 USD
2xCPU-4GB 20 USD
4xCPU-8GB 40 USD
6xCPU-16GB 80 USD
8xCPU-32GB 160 USD
12xCPU-48GB 240 USD
16xCPU-64GB 320 USD
20xCPU-96GB 480 USD
20xCPU-128GB 640 USD

See Upcloud Pricing for more.

Requirements

Name Version
terraform >= 0.13
upcloud ~> 2.1.1

Providers

Name Version
upcloud ~> 2.1.1

Modules

No modules.

Resources

Name Type
upcloud_floating_ip_address.floating_ip_address resource
upcloud_server.server resource

Inputs

Name Description Type Default Required
firewall Are firewall rules active for the server. bool false no
floating_ip Boolean to control whether floating IPs should be created. bool false no
floating_ip_count The number of floating ip address to create. number 0 no
image_id The id of an image to use. string "" no
metadata Is the metadata service active for the server. bool false no
private_networking Boolean to control whether private networking should be created. bool false no
private_subnet The private subnet id should be assigned to server. string "" no
public_networking Boolean to control whether public networking should be created. bool true no
rolling_maintenance Server rolling maintenance
object({
enable = bool
server_index = list(number)
resize_plan = string
})
{
"enable": false,
"resize_plan": "1xCPU-2GB",
"server_index": [
0
]
}
no
root_disk_size The size of root disk in gigabytes. number "25" no
server_count The number of server resource to create. number 1 no
server_name A valid domain name. string "upserver" no
server_os The template name to use. string "CentOS 8" no
server_size The pricing plan used for the server. string "1xCPU-1GB" no
set_password Indicates a password should be create to allow access bool false no
ssh_keys A list of ssh keys to access the server. list [] no
tags A list of the tags to label this server. list [] no
user_data Defines URL for a server setup script, or the script body itself. string "" no
zone The zone in which the server will be created. string "sg-sin1" no

Outputs

Name Description
floating_ip_address List of floating IP addresses was created
ipv4_address_private List of private IPv4 addresses assigned to the server
ipv4_address_public List of public IPv4 addresses assigned to the server
plan List of plan of server
server_hostname List hostname of server
server_id List of IDs of server
zone List of zone of server

License

MIT

Author Information

v0112358