@@ -15,7 +15,21 @@ provider "hcloud" {
1515<% if @resource %>
1616<%= resource_block(@resource) %>
1717
18+ <% elsif @keygen %>
19+ <%- if @ssh_key.present? %>
20+ resource "hcloud_ssh_key" "deploy_key" {
21+ name = "<%= @ssh_key.name %> "
22+ public_key = "<%= @ssh_key.public_key %> "
23+ }
24+ <%- end %>
25+
1826<% elsif !@dry_run %>
27+ <%- if @ssh_key.present? %>
28+ data "hcloud_ssh_key" "deploy_key" {
29+ name = "<%= @ssh_key.name %> "
30+ }
31+ <%- end %>
32+
1933# Create a new server running debian
2034resource "hcloud_server" "node1" {
2135 name = "<%= @host_name %> "
@@ -24,14 +38,18 @@ resource "hcloud_server" "node1" {
2438
2539 <%= vm_attributes(['name', 'image']) %>
2640
27- <%- if @cr_attrs['image_id'].present? %>
28- image = <%= @cr_attrs['image_id'] %>
41+ <%- if @cr_attrs['image_id'].present? %>
42+ image = <%= @cr_attrs['image_id'] %>
2943 <%- if @user_data_filename.present? %>
30- user_data = "${file("<%= @user_data_filename %> ")}"
44+ user_data = "${file("<%= @user_data_filename %> ")}"
3145 <%- elsif @cr_attrs['user_data'].present? %>
32- user_data = <%= @cr_attrs['user_data'] %>
33- <%- end %>
46+ user_data = <%= @cr_attrs['user_data'] %>
47+ <%- elsif @ssh_key.present? %>
48+ ssh_keys = [
49+ data.hcloud_ssh_key.deploy_key.id
50+ ]
3451 <%- end %>
52+ <%- end %>
3553
3654 <%= build_nics %>
3755
0 commit comments