Используйте свойство Iops в облачной информации, когда StorageType: io1, и не используйте при типе хранилища: gp2 - PullRequest
0 голосов
/ 24 сентября 2019

Я создал шаблон для предоставления RDS с помощью Cloudformation.При создании RDS у нас есть две опции io1, gp2, когда мы используем gp2, нам не нужно определять iops, но при использовании io1 нам нужно определять iops.Я могу использовать io1, но gp2 показывает ошибку: -

Обнаружено не числовое значение для свойства Iops

Фрагмент моего шаблона

  StorageType:

    Description: choose the storage type gp2 for 'General purpose SSD' & io1 for 'IOPS SSD'. 

    Default: "gp2"

    Type: String

    AllowedValues: ["gp2","io1"]

  Conditions:

      iops: !Equals [!Ref StorageType, "io1"]

      gp2: !Equals [!Ref StorageType, "gp2"]

  DB:

    Type: AWS::RDS::DBInstance

    Properties:

      DBInstanceIdentifier: !Sub ${AWS::StackName} 

      DBName: !Ref 'DBName'

      AllocatedStorage: !Ref 'Storage'

      DBInstanceClass: !Ref 'InstanceType'

      StorageType: !Ref StorageType

      ****Iops: !If [iops, !Ref iops, "AWS::NoValue"]****  

      StorageEncrypted: !Ref Encryption 

      Engine: postgres

      EngineVersion: 11.2

      Port: !Ref PortNo

      MasterUsername: !Ref DBUser

      MasterUserPassword: !Ref DBPassword

      DBSubnetGroupName: !Ref RDSSubnetGroup

      VPCSecurityGroups: [!Ref SecurityGroup]

      DBParameterGroupName: !Ref RDSParamGroup

      MultiAZ: !Ref MultiAz

      PubliclyAccessible: !Ref PublicAccessibelity

Заранее спасибо

1 Ответ

0 голосов
/ 24 сентября 2019

Правильный синтаксис:

Iops: !If [iops, !Ref iops, !Ref "AWS::NoValue"]

Документация:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...