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:
- Server with floating ip address
- Server with private networking only
- Server with public and private networking
- Server with public networking
- Server with rolling maintenance
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({ |
{ |
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