CLI AWS: ошибка слушателя ARN "должен быть в формате ARN" - PullRequest
1 голос
/ 02 мая 2019

Я использую локальный поставщик exec в terraform для запуска команд aws cli, которые позволяют обойти отсутствие поддержки terraform для определенных функций aws. Рассматриваемая команда должна создать listener-rule для Application Load Balancer. Вот этот звонок (цифры размыты):

aws elbv2 create-rule 
--listener-arn arn:aws:elasticloadbalancing:us-west-1:394416156998:listener/app/lb-name/22e3a19c3c684f8b/17032dfaae523461 
--priority 2 
--conditions Field=http-request-method,Values='GET' 
--actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-west-1:394416159845:targetgroup/target-group-name/2ff8e99a44a24219

Это приводит к ошибке:

(ValidationError) when calling the CreateRule operation: 'arn:aws:elasticloadbalancing:us-west-1:394416155421:listener/app/alb-name/92e1a32c3c684f2b/64032dfaae753032' must be in ARN format

Однако, если вы рассмотрите пример в собственной документации amazon , они используют точно такой же формат ARN, если я не пропущу очевидное.

Вот мой терраформный код:

resource "null_resource" "rule-maker" {
  provisioner "local-exec" {
    command = "aws elbv2 create-rule --listener-arn ${data.aws_arn.listener-arn.arn} --priority 2 --conditions Field=http-request-method,Values='GET' --actions Type=forward,TargetGroupArn=${aws_alb_target_group.name.arn}"
  }
}```

1 Ответ

0 голосов
/ 07 мая 2019

Исправлено это путем обеспечения правильности региона. Регион по умолчанию отличался от моего кластера, и он вызывал эту (вводящую в заблуждение) ошибку ARN.

aws configure --region CORRECT_REGION

...