---
AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  allowedValuesNotAList:
    Type: String
    AllowedValues: vpc!@#$
  allowedValuesAListofBadTypes:
    Type: String
    AllowedValues:
      - key: value
  minValueIsNotNumber:
    Type: Number
    MinValue: a
  maxLengthIsNotString:
    Type: Number
    MaxLength: 10
  notBooleanEcho:
    Type: String
    NoEcho: 123
  myParameter:
    # Type not string
    Type: NotString
    Default: Value
    Description: Type not String
  myInvalidParameter:
    # invalid Property
    NotType: String
  mySsmParam:
    # Invalid SSM Parameter type
    Type: AWS::SSM::Parameter::Value<Test>
  ####
  # A bunch of NULL value tests
  ####
  NullParameter: null
  NullParamType:
    Type: null
  NullParamDefault:
    Type: String
    Default: null
  NullParamDescription:
    Type: String
    Description: null
  NullParamMaxValue:
    Type: Number
    MaxValue: null
  NullParamMinValue:
    Type: Number
    MinValue: null
  NullParamMaxLength:
    Type: String
    MaxLength: null
  NullParamMinLength:
    Type: String
    MinLength: null
  NullParamNoEcho:
    Type: String
    NoEcho: null
Resources:
  # Helps tests map resource types
  IamPipeline:
    Type: "AWS::CloudFormation::Stack"
    Properties:
      TemplateURL: !Sub "https://s3.${AWS::Region}.amazonaws.com/bucket-dne-${AWS::Region}/${AWS::AccountId}/pipeline.yaml"
      Parameters:
        DeploymentName: iam-pipeline
        Deploy: "auto"
