首页 > 解决方案 > 创建 AWS 日志组?

问题描述

我在创建属于更大 CloudFormation 模板的 AWS 日志组时遇到问题。所以只是为了测试,我只使用以下模板创建日志组

Parameters:
  LogGroupName:
    Type: String
    Description: 'cloudwatch log group name'
    Default: "test-log-group"
  LogGroupRetention:
    Type: Number
    Description: Retention period for log groups in cloudwatch
    Default: 30
  DelPolicy:
    Type: String
    Description: 'Deletion policy'
    Default: "Retain"

Resources:
  LLGO1WY:
    Type: 'AWS::Logs::LogGroup'
    Properties:
      awslogs-region: !Ref 'AWS::Region'
      LogGroupName: !Ref LogGroupName
      RetentionInDays: !Ref LogGroupRetention
      DeletionPolicy: !Ref DelPolicy

当我在手动创建堆栈(“创建堆栈”按钮)期间导入模板时,当我进入“导入概述”页面时,我得到以下信息。

There was an error creating this change set
The following resources to import [LLGO1WY] must have DeletionPolicy attribute specified in the template.

如果您查看AWS::Logs::LogGroup 的文档,它甚至没有DeletionPolicy定义为属性。请注意,如果我删除该属性,我会得到同样的错误。有什么线索吗?

标签: amazon-web-servicesamazon-cloudformation

解决方案


AWS::Logs::LogGroup没有DeletionPolicy属性。DeletionPolicy是您无法参数化的顶级属性。

我猜你可能想要:

Resources:
  LLGO1WY:
    Type: 'AWS::Logs::LogGroup'
    DeletionPolicy: Retain # <--- This is not property and must be here
    Properties:
      awslogs-region: !Ref 'AWS::Region'
      LogGroupName: !Ref LogGroupName
      RetentionInDays: !Ref LogGroupRetention      

推荐阅读