Как использовать heredoc в описании группы безопасности - PullRequest
0 голосов
/ 14 января 2019

Попытка этого:

resource "aws_security_group" "mysg" {
  description = <<EOF
this is a very long descirpltion slkfjsldkfjsdf
skdfjlskdfjlksdjlfksdjlfksjdlfksjdlfkjsdlkfjsldkf
sdlkfjsldkfjsldkfjsldkfjlksdjflskdfjlksdjflksdjflksdf
EOF
}

получаю это

* aws_security_group.mysq: Error creating Security Group: InvalidParameterValue: Invalid security group description. Valid descriptions are strings less than 256 characters from the following set:  a-zA-Z0-9. _-:/()#,@[]+=&;{}!$*

это хорошо в пределах допустимого числа, я думаю, что это добавляет возврат каретки или что-то? как сделать так, чтобы он не добавлял разрывы строк в строку?

я также пробовал варианты - безрезультатно https://github.com/hashicorp/hcl/issues/144

Ответы [ 2 ]

0 голосов
/ 14 января 2019

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

добавьте файл с именем description.txt вместе с вашими благословенными работами:

, например

This is a very long descirpltion slkfjsldkfjsdf
skdfjlskdfjlksdjlfksdjlfksjdlfksjdlfkjsdlkfjsldkf
sdlkfjsldkfjsldkfjsldkfjlksdjflskdfjlksdjflksdjflksdf

затем измените свой код на:

data "local_file" "foo" {
    filename = "${path.module}/description.txt"
}

resource "aws_security_group" "mysg" {
  description = "${data.local_file.foo.content}"
}

Заполните ваши ботинки.

0 голосов
/ 14 января 2019

Как ссылка, которую вы вставили, последний комментарий предоставил обходной путь.

resource "aws_security_group" "mysg" {
  description = <<-EOF
this is a very long descirpltion slkfjsldkfjsdf
skdfjlskdfjlksdjlfksdjlfksjdlfksjdlfkjsdlkfjsldkf
sdlkfjsldkfjsldkfjsldkfjlksdjflskdfjlksdjflksdjflksdf
-EOF
}

Здесь вывод пробного хода

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  + create

Terraform will perform the following actions:

  + aws_security_group.mysg
      id:                     <computed>
      arn:                    <computed>
      description:            "this is a very long descirpltion slkfjsldkfjsdf\nskdfjlskdfjlksdjlfksdjlfksjdlfksjdlfkjsdlkfjsldkf\nsdlkfjsldkfjsldkfjsldkfjlksdjflskdfjlksdjflksdjflksdf\n"
      egress.#:               <computed>
      ingress.#:              <computed>
      name:                   <computed>
      owner_id:               <computed>
      revoke_rules_on_delete: "false"
      vpc_id:                 <computed>


Plan: 1 to add, 0 to change, 0 to destroy.
...