Amazon web services CloudFormation错误[/Resources]“空”值在模板中不允许

Amazon web services CloudFormation错误[/Resources]“空”值在模板中不允许,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有以下CF模板: AWSTemplateFormatVersion: 2010-09-09 Description: >- Creating Maintenance Window for Non-Production Windows Server Patching. Resources: MaintenanceWindow: Type: AWS::SSM::MaintenanceWindow Properties: AllowUnassociatedTargets:

我有以下CF模板:

AWSTemplateFormatVersion: 2010-09-09
Description: >-
  Creating Maintenance Window for Non-Production Windows Server Patching.
Resources:
MaintenanceWindow:
  Type: AWS::SSM::MaintenanceWindow
  Properties:
    AllowUnassociatedTargets: false
    Cutoff: 1
    Description: Maintenance Window to update SSM Agent
    Duration: 6
    Name: MaintenanceWindowCFN
    Schedule: "cron(0 15 14 ? * MON *)"
    ScheduleTimezone: "Australia/Melbourne"
MaintenanceWindowTarget:
  Type: AWS::SSM::MaintenanceWindowTarget
  Properties:
    WindowId: !Ref MaintenanceWindow
    ResourceType: INSTANCE
    Targets:
    - Key: tag:Patch Group
      Values:
      - Group A
    OwnerInformation: SSM Target
    Name: SSMMaintenanceWindow
    Description: A target for demonstrating maintenance windows 
  DependsOn: MaintenanceWindow
MaintenanceWindowTask:
  Type: AWS::SSM::MaintenanceWindowTask
  Properties:
    WindowId: !Ref MaintenanceWindow
    Targets: 
      - Key: WindowTargetIds
        Values:
        - !Ref MaintenanceWindowTarget
    TaskArn: AWS-RunPatchBaseline
    TaskType: RUN_COMMAND
    TaskInvocationParameters:
      MaintenanceWindowAutomationParameters:
        Parameters:
          InstanceId:
            - "{{TARGET_ID}}"
          NoReboot:
            - "false"
    Priority: 1
    MaxConcurrency: 2
    MaxErrors: 1
    Name: Registration of Task with Targets
DependsOn: MaintenanceWindowTarget
它会报告如下错误:

[/Resources] 'null' values are not allowed in templates

请原谅,我是CF新手,但是如果AWS能够提供一个工具来识别错误是什么,并提供一些更有用的输入来修复它,而不是仅仅持续错误,那将是一件非常好的事情

这是与YAML的对齐问题

这是格式化版本,您的资源值与其中的资源处于同一级别,这导致资源看起来好像其值为Null

AWSTemplateFormatVersion: 2010-09-09
Description: >-
  Creating Maintenance Window for Non-Production Windows Server Patching.
Resources:
    MaintenanceWindow:
      Type: AWS::SSM::MaintenanceWindow
      Properties:
        AllowUnassociatedTargets: false
        Cutoff: 1
        Description: Maintenance Window to update SSM Agent
        Duration: 6
        Name: MaintenanceWindowCFN
        Schedule: "cron(0 15 14 ? * MON *)"
        ScheduleTimezone: "Australia/Melbourne"
    MaintenanceWindowTarget:
        Type: AWS::SSM::MaintenanceWindowTarget
        Properties:
            WindowId: !Ref MaintenanceWindow
            ResourceType: INSTANCE
            Targets:
              - Key: tag:Patch Group
                Values:
                  - Group A
            OwnerInformation: SSM Target
            Name: SSMMaintenanceWindow
            Description: A target for demonstrating maintenance windows 
        DependsOn: MaintenanceWindow
    MaintenanceWindowTask:
        Type: AWS::SSM::MaintenanceWindowTask
          Properties:
            WindowId: !Ref MaintenanceWindow
            Targets: 
              - Key: WindowTargetIds
                Values:
                  - !Ref MaintenanceWindowTarget
            TaskArn: AWS-RunPatchBaseline
            TaskType: RUN_COMMAND
            TaskInvocationParameters:
              MaintenanceWindowAutomationParameters:
                Parameters:
                  InstanceId:
                    - "{{TARGET_ID}}"
                  NoReboot:
                    - "false"
            Priority: 1
            MaxConcurrency: 2
            MaxErrors: 1
            Name: Registration of Task with Targets
        DependsOn: MaintenanceWindowTarget
资源是CloudFormation中唯一需要的密钥,因此会出现此错误


YAML的间距和对齐非常重要。

这是YAML的对齐问题

这是格式化版本,您的资源值与其中的资源处于同一级别,这导致资源看起来好像其值为Null

AWSTemplateFormatVersion: 2010-09-09
Description: >-
  Creating Maintenance Window for Non-Production Windows Server Patching.
Resources:
    MaintenanceWindow:
      Type: AWS::SSM::MaintenanceWindow
      Properties:
        AllowUnassociatedTargets: false
        Cutoff: 1
        Description: Maintenance Window to update SSM Agent
        Duration: 6
        Name: MaintenanceWindowCFN
        Schedule: "cron(0 15 14 ? * MON *)"
        ScheduleTimezone: "Australia/Melbourne"
    MaintenanceWindowTarget:
        Type: AWS::SSM::MaintenanceWindowTarget
        Properties:
            WindowId: !Ref MaintenanceWindow
            ResourceType: INSTANCE
            Targets:
              - Key: tag:Patch Group
                Values:
                  - Group A
            OwnerInformation: SSM Target
            Name: SSMMaintenanceWindow
            Description: A target for demonstrating maintenance windows 
        DependsOn: MaintenanceWindow
    MaintenanceWindowTask:
        Type: AWS::SSM::MaintenanceWindowTask
          Properties:
            WindowId: !Ref MaintenanceWindow
            Targets: 
              - Key: WindowTargetIds
                Values:
                  - !Ref MaintenanceWindowTarget
            TaskArn: AWS-RunPatchBaseline
            TaskType: RUN_COMMAND
            TaskInvocationParameters:
              MaintenanceWindowAutomationParameters:
                Parameters:
                  InstanceId:
                    - "{{TARGET_ID}}"
                  NoReboot:
                    - "false"
            Priority: 1
            MaxConcurrency: 2
            MaxErrors: 1
            Name: Registration of Task with Targets
        DependsOn: MaintenanceWindowTarget
资源是CloudFormation中唯一需要的密钥,因此会出现此错误


使用YAML时,间距和对齐非常重要。

模板应在参考资料中缩进,并取决于:


模板应在参考资料中缩进,并依赖于: