2017-07-13 1 views
0

Ich versuche, mehrere Abschnitte von cloud-init config zusammen mit Terraforms template_cloudinit_config-Feature für eine AWS-Instanz zusammenzuführen.Was ist der richtige Zusammenführungstyp für cloud-init-Abschnitte im mehrteiligen MIME-Format?

Stellen Sie sich vor vier Vorlagen (vereinfacht hier):

# template 1 
hostname: ${hostname} 

# template 2 
users: 
- name: "a" 
- name: "b" 
- name: "c" 

# template 3 
coreos: 
    units: 
    - name: ${service}.service 

# template 4 
coreos: 
    units: 
    - name: ${service2}.service 

Wenn ich diese Header mit Cloud-config MIME kodieren ...

--MIMEBOUNDARY 
Content-Transfer-Encoding: 7bit 
Content-Type: text/cloud-config 
Mime-Version: 1.0 

Was die richtige Vereinigungstyp zu verwenden?

Antwort

0

Die Vorlage, die Sie aufgelistet ist cloud-config, nicht cloud-init

Datenquelle template_file ich es direkt ohne Test schrieb, könnten Sie überprüfen, ob es funktioniert?

data "template_file" "user-data" { 
    template = <<EOF 
#cloud-config 
# template 1 
hostname: ${hostname} 

# template 2 
users: 
- name: "a" 
- name: "b" 
- name: "c" 

# template 3 
coreos: 
    units: 
    - name: ${service}.service 

# template 4 
coreos: 
    units: 
    - name: ${service2}.service 

EOF 

    vars { 
    hostname = "${var.hostname}" 
    service = "${var.service}" 
    service2 = "${var.service2}" 

    } 
} 

resource "aws_instance" "instance" { 
    ami = "${ var.ami-id }" 
    ... 

    user_data = "${ data.template_file.user-data.rendered }" 

} 
Verwandte Themen