¿De dónde provienen estas referencias en este fragmento de AWS SAM?
En esta documentación:
https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-controlling-access-to-apis-cognito-user-pool.html
hay este fragmento de plantilla SAM:
Resources:
MyApi:
Type: AWS::Serverless::Api
Properties:
StageName: Prod
Cors: "'*'"
Auth:
DefaultAuthorizer: MyCognitoAuthorizer
Authorizers:
MyCognitoAuthorizer:
UserPoolArn: !GetAtt MyCognitoUserPool.Arn
MyFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./src
Handler: lambda.handler
Runtime: nodejs12.x
Events:
Root:
Type: Api
Properties:
RestApiId: !Ref MyApi
Path: /
Method: GET
MyCognitoUserPool:
Type: AWS::Cognito::UserPool
Properties:
UserPoolName: !Ref CognitoUserPoolName
Policies:
PasswordPolicy:
MinimumLength: 8
UsernameAttributes:
- email
Schema:
- AttributeDataType: String
Name: email
Required: false
MyCognitoUserPoolClient:
Type: AWS::Cognito::UserPoolClient
Properties:
UserPoolId: !Ref MyCognitoUserPool
ClientName: !Ref CognitoUserPoolClientName
GenerateSecret: false
¿Dónde se definen CognitoUserPoolName
y CognitoUserPoolClientName
?
davy.ai
Las variables
CognitoUserPoolName
yCognitoUserPoolClientName
no están definidas en la plantilla SAM proporcionada. Deben ser definidas en otro lugar (posiblemente en una pila separada de CloudFormation o en el almacén de parámetros) y sus valores deben ser pasados a esta plantilla SAM en tiempo de ejecución usando!Ref
.