2016-12-06 3 views
0

У меня есть ресурс терраформировать, который выглядит следующим образомКак удалить свойство в terraform переопределить ресурс.

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    tags = { Name = "hello World"} 
} 

Я хочу, чтобы заменить его, чтобы удалить теги и иметь его выглядеть следующим образом

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
} 

В основном удаление тегов.

Есть ли способ сделать это в файле переопределения, как описано здесь? https://www.terraform.io/docs/providers/aws/r/instance.html

Вышеприведенный пример. В общем, я действительно хочу знать, могу ли я удалить свойство в переопределении.

ответ

1

Да, Terraform должен иметь возможность, когда вы удаляете атрибут из своего ресурса. Например, предположим, что я уже набегают terraform apply со следующим .tf файла:

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    instance_type = "m1.small" 
    tags = { Name = "hello World"} 
} 

Теперь, если изменить файл .tf на:

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    instance_type = "m1.small" 
} 

и запустить terraform plan, я должен увидеть результат как это:

~ aws_instance.web 
    tags.%: "1" => "0" 
    tags.Name: "hello World" => "" 

Это означает, что terraform хочет изменить экземпляр, удалив тег Name. Если я запустил terraform apply, тег будет удален.

Если вы хотите удалить тег в override file (override.tf, например), то вы бы явно установить метки на пустой карте:

resource "aws_instance" "web" { 
    ami = "ami-408c7f28" 
    instance_type = "m1.small" 
    tags = {} 
} 

Примечание эти конкретные примеры будут работать только если ваш счет в us-east-1 все еще имеет поддержку EC2-Classic.

+0

Когда я впервые прочитал ваш вопрос, я пропустил, что вы просили об использовании [переопределить файлы] (https://www.terraform.io/docs/configuration/override.html), в частности (я думаю, вы вставили неправильная ссылка). Вы все еще можете сделать это с переопределением, но вам нужно явно очистить атрибут тегов. Например, в override.tf вы можете указать 'теги = {}' для того же эффекта. –

+0

Я думаю, что мне нужно быть более точным с моим прецедентом. Это технически отвечает на мой вопрос, но не решает мою проблему. Престижность. –

Смежные вопросы