При создании ресурсов в AWS CloudFormation из шаблона yml (или json) можно выполнять итерации по массиву, чтобы шаблон был кратким и читабельным. Например, у меня есть проект Appsync, в котором я должен создать группу почти идентичных распознавателей типа AWS «AWS :: AppSync :: Resolver». В используемом шаблоне YML, который я использую с Cloud Formation, 1 такой ресурс может выглядеть следующим образом
Resource:
GraphQlAddPostsResolver:
Type: "AWS::AppSync::Resolver"
DependsOn: GraphQlSchema
Properties:
ApiId:
Fn::GetAtt: [GraphQlApi, ApiId]
TypeName: Mutation #<---
FieldName: addPost #<----
DataSourceName:
Fn::GetAtt: [GraphQlLambdaDataSource, Name]
RequestMappingTemplate: |
{
"version" : "2017-02-28",
"operation": "Invoke",
"payload": {
"field": "addPost", #<---
"context": $util.toJson($context)
}
}
ResponseMappingTemplate: |
$util.toJson($context.result)
У меня может быть дюжина или более таких распознавателей, и единственное отличие будет в том, где я указал <----
. Есть ли способ перебора массива значений, скажем,
- Field: addPost
Type: Mutation
- Field: allPosts
Type: Query
- Field: getPost
Type: Query
## etc...