Generate a list of API endpoints, function information & stack outputs to a service manifest file.
The manifest data can be quite useful for:
After serverless deploy
finishes, a .serverless/manifest.json
file, is created.
Add to plugins array in serverless.yml
service: my-example-service
plugins:
- serverless-manifest-plugin
Then run serverless manifest --help
to see all options.
You can set options via CLI flags or via the custom
field in serverless.yml
# Custom settings for manifest plugin
custom:
manifest:
# Custom manifest output path. Default ./.serverless/manifest.json
output: ./serverless.manifest.json
# set to true to disable manifest file from being created
disableOutput: false
# Path to custom file with JS function for additional post processing
postProcess: ./my-file-to-process-manifest-data.js
# Set plugin log output to silent. Default false
silent: false
# Path to the function code. Default serverless.yml location (process.cwd())
srcPath: ./dist
plugins:
- serverless-manifest-plugin
Using the json
flag will pipe the service manifest to stdout
. You can use this with a tool like jq
to do something programatic with the data.
serverless manifest --json
Example:
serverless manifest --json | jq '.dev.functions'
# Outputs service function info
The plugin will automatically create the manifest when you run serverless deploy
You can also manually generate the manifest at anytime with
serverless manifest
Additionally sls deploy --noDeploy
will also generate a manifest file.
Outputs urls
, functions
, outputs
etc.
.serverless/manifest.json
{
"dev": {
"urls": {
"apiGateway": "https://abc1234.execute-api.us-east-1.amazonaws.com/dev",
"apiGatewayBaseURL": "https://abc1234.execute-api.us-east-1.amazonaws.com/dev",
"httpApi": "https://qwertyxyz.execute-api.us-east-1.amazonaws.com",
"httpApiBaseURL": "https://qwertyxyz.execute-api.us-east-1.amazonaws.com",
"byPath": {
"/user/profile": {
"url": "https://qwertyxyz.execute-api.us-east-1.amazonaws.com/user/profile",
"methods": [
"POST",
"GET"
]
},
"/tester": {
"url": "https://abc1234.execute-api.us-east-1.amazonaws.com/dev/tester",
"methods": [
"POST"
]
},
"/wow-cool": {
"url": "https://abc1234.execute-api.us-east-1.amazonaws.com/dev/wow-cool",
"methods": [
"POST"
]
}
},
"byFunction": {
"getProfileInfo": {
"url": "https://qwertyxyz.execute-api.us-east-1.amazonaws.com/user/profile",
"methods": [
"GET"
]
},
"createProfileInfo": {
"url": "https://qwertyxyz.execute-api.us-east-1.amazonaws.com/user/profile",
"methods": [
"POST"
]
},
"other": {
"url": "https://abc1234.execute-api.us-east-1.amazonaws.com/dev/tester",
"methods": [
"POST"
]
},
"forth": {
"url": "https://abc1234.execute-api.us-east-1.amazonaws.com/dev/wow-cool",
"methods": [
"POST"
]
}
},
"byMethod": {
"GET": [
"https://qwertyxyz.execute-api.us-east-1.amazonaws.com/user/profile"
],
"POST": [
"https://qwertyxyz.execute-api.us-east-1.amazonaws.com/user/profile",
"https://abc1234.execute-api.us-east-1.amazonaws.com/dev/tester",
"https://abc1234.execute-api.us-east-1.amazonaws.com/dev/wow-cool"
]
}
},
"functions": {
"getProfileInfo": {
"name": "http-api-node-dev-getProfileInfo",
"arn": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-getProfileInfo:4",
"runtime": "nodejs12.x",
"triggers": [
"httpApi"
],
"dependancies": {
"direct": [
"faker@^4.1.0",
"analytics@^0.3.4"
],
"nested": [
"analytics-utils@^0.2.0",
"dlv@^1.1.3",
"@analytics/storage-utils@^0.2.3",
"@analytics/cookie-utils@^0.2.3"
]
}
},
"createProfileInfo": {
"name": "http-api-node-dev-createProfileInfo",
"arn": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-createProfileInfo:4",
"runtime": "nodejs12.x",
"triggers": [
"httpApi"
],
"dependancies": {
"direct": [
"faker@^4.1.0",
"analytics@^0.3.4"
],
"nested": [
"analytics-utils@^0.2.0",
"dlv@^1.1.3",
"@analytics/storage-utils@^0.2.3",
"@analytics/cookie-utils@^0.2.3"
]
}
},
"other": {
"name": "http-api-node-dev-other",
"arn": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-other:3",
"runtime": "nodejs12.x",
"triggers": [
"http"
],
"dependancies": {
"direct": [
"faker@^4.1.0"
],
"nested": []
}
},
"forth": {
"name": "http-api-node-dev-forth",
"arn": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-forth:2",
"runtime": "nodejs12.x",
"triggers": [
"http"
],
"dependancies": {
"direct": [
"lodash@4.17.15"
],
"nested": []
}
}
},
"outputs": [
{
"OutputKey": "OtherLambdaFunctionQualifiedArn",
"OutputValue": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-other:3",
"Description": "Current Lambda function version"
},
{
"OutputKey": "GetProfileInfoLambdaFunctionQualifiedArn",
"OutputValue": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-getProfileInfo:4",
"Description": "Current Lambda function version"
},
{
"OutputKey": "ForthLambdaFunctionQualifiedArn",
"OutputValue": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-forth:2",
"Description": "Current Lambda function version"
},
{
"OutputKey": "ServiceEndpoint",
"OutputValue": "https://abc1234.execute-api.us-east-1.amazonaws.com/dev",
"Description": "URL of the service endpoint"
},
{
"OutputKey": "ServerlessDeploymentBucketName",
"OutputValue": "http-api-node-dev-serverlessdeploymentbucket-12eu0mj9zoo0s"
},
{
"OutputKey": "CreateProfileInfoLambdaFunctionQualifiedArn",
"OutputValue": "arn:aws:lambda:us-east-1:xxxxxxxxxxxx:function:http-api-node-dev-createProfileInfo:4",
"Description": "Current Lambda function version"
},
{
"OutputKey": "HttpApiUrl",
"OutputValue": "https://qwertyxyz.execute-api.us-east-1.amazonaws.com",
"Description": "URL of the HTTP API"
}
]
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。