Как исправить циклическую зависимость между ресурсами по логическому идентификатору - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь автоматизировать процесс сборки моего безсерверного приложения. Когда я настраиваю ресурсы CognitoUserPool, мне нужны ресурсы Ref CognitoUserPoolClient, чтобы создать ссылку для перенаправления клиента в «EmailMessage»

Но для CognitoUserPoolClient требуется ссылка CognitoUserPool

 CognitoUserPool:
    Type: AWS::Cognito::UserPool
    Properties:
      # Generate a name based on the stage
      UserPoolName: ${self:custom.STAGE}-${self:custom.CLIENT}-user-pool
          EmailMessage: !Join
          - ''
          - - >
              You are invited to the SonderMMS platform, the world's first owned media management software. <br>
               Username: {username} <br>
               Password: {####} <br>
               Login
               <a href='
               https://${self:custom.COGNITO_DOMAIN}.auth.${self:custom.REGION}.amazoncognito.com/oauth2/authorize?&response_type=token&redirect_uri=${self:custom.URL.${self:custom.STAGE}}&client_id=
            - !Sub '#{CognitoUserPoolClient}'

            - >
              '> here </a>.
          EmailSubject: "Email Invite"


  CognitoUserPoolClient:
    Type: AWS::Cognito::UserPoolClient
    Properties:
      # Generate an app client name based on the stage
      ClientName: ${self:custom.STAGE}-${self:custom.CLIENT}-user-pool-client
      UserPoolId: !Ref CognitoUserPool
      ExplicitAuthFlows:
        - ADMIN_NO_SRP_AUTH
      GenerateSecret: false

Так я получаю эту ошибку

Шаблон CloudFormation недействителен: круговая зависимость между ресурсами: [CognitoUserPoolClient, ApiGatewayAuthorizer, IdentityPool, SSMCognitoUserPoolClientId, IdentityPoolRoleMapping, SSMUserPoolId, ApiGatewayMethodTelstraPost, CognitoUserPool, SSMIdentityPoolId, ApiGatewayDeployment1559121507544, CognitoUnAuthorizedRole]

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