2017-07-13 56 views
0

我正在嘗試合併雲部署配置的多個部分以及Terraform的AWS實例的template_cloudinit_config功能。多部分MIME格式的cloud-init部分的正確合併類型是什麼?

想象4個模板(這裏簡化):

# 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 

如果我用MIME雲的配置頭編碼這些...

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

什麼是使用正確的合併類型?

回答

0

你列出的模板是cloud-config,不cloud-init

使用數據源template_file,我寫的情況下直接測試,你可以驗證它是否起作用?

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 }" 

} 
相關問題