This CF is being created in YAML not JSON.
I am building Systems Manager Maintenance Windows, Targets and Tasks through Cloudformation.
When creating the stack, the Resources: MaintenanceWindow: section complete successfully. It's the next section (below) that is failing. Not sure about the last section as we never get there.
Here is the location for the full template: https://pastebin.com/DNEkLPGS
I have tried using validators and everything (YAML and the CloudFormation Validators) and everything comes back as good.
Here is the section giving errors:
Parameters:
MaintenanceTargetName:
Description: Maintenace Target Name (No Spaces)
Type: String
MaintenanceTargetDescription:
Description: Sample - UAT Servers
Type: String
MaxLength: '128'
MaintenanceTargetTarget:
Description: Tag Key should equal 'AgentUpdate'
Type: String
Default: tag:AgentUpdate
MaintenaneTargetKeyValue:
Description: True or False
Type: String
Default: True
AllowedValues:
- True
- False
Resources:
MaintenanceWindowTarget:
Type: 'AWS::SSM::MaintenanceWindowTarget'
Properties:
WindowId: !Ref MaintenanceWindow
ResourceType: INSTANCE
Targets:
- Key: !Ref MaintenanceTargetTarget
Values: !Ref MaintenaneTargetKeyValue
Name: !Ref MaintenanceTargetName
Description: !Ref MaintenanceTargetDescription
Running the template gives the following error:
MaintenanceWindowTarget | CREATE_FAILED | Property validation failure: [Value of property {/Targets/0/Values} does not match type {Array}]