Terraform: InvalidParameterException: операция PutSubscriptionFilter не может работать с destinationArn для поставщиков. - PullRequest
5 голосов
/ 17 октября 2019

Я пытаюсь воспроизвести функцию консоли AWS, где я могу просто щелкнуть группу журналов, выбрать поток в ES и выбрать один из моих управляемых ES.

Я думал, что aws_cloudwatch_log_subscription_filter было тем, чтоЯ искал. И хотя док сказал, что это только Kinesis и Lambda, я подумал про себя: «возможно, документация старая / неполная»

, поэтому я попытался

resource "aws_cloudwatch_log_subscription_filter" "whatever" {                                                                                                                                                                      
  name            = "lambda_logs_to_es"                                                                                                                                                                           
  role_arn        = aws_iam_role.my_lamda_role.arn                                                                                                                                                                            
  log_group_name  = aws_cloudwatch_log_group.my_log_group.name                                                                                                                                                                
  filter_pattern  = ""                                                                                                                                                                                                                       
  destination_arn = "arn:aws:es:eu-west-3:585399047133:domain/my-es"                                                                                                                          
}    

, и неудивительно, что она сообщает мне

Terraform  InvalidParameterException: PutSubscriptionFilter operation cannot work with destinationArn for vendor es

так есть ли у terraform простой способ репликации этой функции без необходимости писать собственную лямбду, чтобы переслать журнал другой лямбды (лямбда-ception) в ES? (По какой причине я выбрал ES из AWS, а не устанавливал свою собственную, ощущение, что она лучше интегрируется с другими сервисами AWS)?

т.е. есть ли уже (если возможно при поддержке AWS) лямбда-модуль и террафор, использующий эту лямбду, для выполнения этой функции?

...