Условно создавать действия CodePipeline на основе условий CloudFormation - не работает - PullRequest
0 голосов
/ 12 декабря 2018

Условно создать действия CodePipeline на основе условий CloudFormation

Согласно приведенной выше ссылке fn :: if работает в пределах кодовой линии aws, но, к сожалению, она не работает для меня

Нижемой код:

- !If
  - testCondition
  - Name: SwitchEnvironment
    ActionTypeId:
      Category: Build
      Owner: AWS
      Provider: CodeBuild
      Version: 1
    Configuration:
      ProjectName: !Ref SwitchDeployment
    InputArtifacts:
    - Name: Source
    OutputArtifacts:
    - Name: SwitchDeployment
    RunOrder: 1
  - !Ref AWS::NoValue

Если я установил для этого условия значение false, облачная информация говорит: «Действия действий не могут быть пустыми».

1 Ответ

0 голосов
/ 18 декабря 2018

Я столкнулся с тем же сообщением об ошибке, когда помещал инструкцию! IF в раздел Actions.Согласно документации AWS ( ссылка на документацию AWS ) на стадии конвейера требуется минимум 1 действие.Таким образом, если условие оценивается как ложное, будет 0 действий и приведет к этой ошибке.Следующее сработало для меня (адаптировано к вашему примеру):

- !If
  - testCondition
  - Name: SwitchEnvironment
    Actions:
      - Name: NameOfYourConditionalAction
        ActionTypeId:
          Category: Build
          Owner: AWS
          Provider: CodeBuild
          Version: 1
        Configuration:
          ProjectName: !Ref SwitchDeployment
        InputArtifacts:
          - Name: Source
        OutputArtifacts:
          - Name: SwitchDeployment
        RunOrder: 1
  - !Ref AWS::NoValue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...