I want to use an additional external swagger file in my swagger.yaml file.
ServerlessApi:
Type: AWS::Serverless::Api
Properties:
DefinitionBody:
Fn::Transform:
Name: AWS::Include
Parameters:
Location: ../../api/swagger.yaml
paths:
/company:
$ref: ./routes/company/swagger.yaml
How can I do this using SAM?
SAM doesn't upload the additional file.
@chestongo SAM currently uploads original swagger files and doesn't import additional swagger files.
Transferring to aws-sam-cli
Can you please share your folder structure? As in where are you keeping the additional swagger file?
โโโ api
โ โโโ swagger.yaml
โโโ events
โ โโโ event.json
โโโ handlers
โ โโโ company
โ โ โโโ get
โ โ โ โโโ index.js
โ โ โโโ post
โ โ โโโ index.js
โ โโโ dynamodb
โ โโโ custom
โ โโโ index.js
โโโ libraries
โ โโโ nodejs
โ โ โโโ node_modules
โโโ samconfig.toml
โโโ template.yaml
โโโ templates
โโโ apigateway
โ โโโ template.yaml
โโโ dynamodb
โ โโโ template.yaml
โโโ iam
โ โโโ policy
โ โ โโโ template.yaml
โ โโโ role
โ โโโ template.yaml
โโโ lambda
โ โโโ function
โ โ โโโ template.yaml
โ โโโ layer
โ โ โโโ template.yaml
โ โโโ permission
โ โโโ template.yaml
โโโ s3
โ โโโ template.yaml
โโโ swagger
โโโ template.yaml
But what i want is:
โโโ api
โ โโโ models
โ โ โโโ car
โ โ โ โโโ swagger.yaml
โ โ โโโ company
โ โ โ โโโ swagger.yaml
โ โ โโโ empty
โ โ โ โโโ swagger.yaml
--- etc ---
โ โโโ routes
โ โ โโโ car
โ โ โ โโโ swagger.yaml
โ โ โโโ company
โ โ โ โโโ swagger.yaml
--- etc ---
โ โโโ swagger.yaml
โ โโโ templates
โ โโโ swagger.yaml
However, from @ShreyaGangishetty reply, it is currently not possible. If you have many api endpoints, with configurations, you have to store all the definitions in one huge swagger file.