簡體   English   中英

如何根據 CloudFormation 上的條件更改屬性?

[英]How to change a property depending on a condition on CloudFormation?

我正在開發一個項目,根據開發環境,它會在 UserPoolClient callbackURL 中顯示不同的頁面,但我遇到了這個錯誤:

Property validation failure: [Value of property {/CallbackURLs} does not match type {Array}]

我使用的代碼如下所示,我不確定這是否是添加if條件的正確方法。 我嘗試按照文檔進行操作,但我沒有 AWS 經驗。

Conditions:
  IsProd: !Equals [ !Ref EnvType, 'prod']

  UserPoolApiClient:
    Type: AWS::Cognito::UserPoolClient
    Properties:
      ClientName: !Sub '${AWS::StackName}-user-pool-client'
      UserPoolId: !Ref UserPool
      GenerateSecret: false
      SupportedIdentityProviders:
        - COGNITO
      ExplicitAuthFlows:
        - USER_PASSWORD_AUTH
      CallbackURLs:
        !If
          - IsProd
          - Fn::Sub: '{!ImportValue landing-page}'
          - Fn::Sub: '{!ImportValue landing-page}/dev_welcome.html'

CallbackURLs應該是一個列表:

      CallbackURLs:
        - !If
           - IsProd
           - Fn::Sub: '{!ImportValue landing-page}'
           - Fn::Sub: '{!ImportValue landing-page}/dev_welcome.html'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM