serverless - Manages a Serverless Framework project
New in version 2.3.
Synopsis
- Provides support for managing Serverless Framework (https://serverless.com/) project deployments and stacks.
Requirements
The below requirements are needed on the host that executes this module.
- serverless
- yaml
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
deploy | Default: yes | Whether or not to deploy artifacts after building them. When this option is `false` all the functions will be built, but no stack update will be run to send them out. This is mostly useful for generating artifacts to be stored/deployed elsewhere. |
functions | Default: [] | A list of specific functions to deploy. If this is not provided, all functions in the service will be deployed. |
region | Default: us-east-1 | AWS region to deploy the service to |
serverless_bin_path (added in 2.4) | The path of a serverless framework binary relative to the 'service_path' eg. node_module/.bin/serverless | |
service_path required | The path to the root of the Serverless Service to be operated on. | |
stage | The name of the serverless framework project stage to deploy to. This uses the serverless framework default "dev". | |
state |
| Goal state of given stage/project |
Notes
Note
- Currently, the
serverless
command must be in the path of the node executing the task. In the future this may be a flag.
Examples
# Basic deploy of a service - serverless: service_path: '{{ project_dir }}' state: present # Deploy specific functions - serverless: service_path: '{{ project_dir }}' functions: - my_func_one - my_func_two # deploy a project, then pull its resource list back into Ansible - serverless: stage: dev region: us-east-1 service_path: '{{ project_dir }}' register: sls # The cloudformation stack is always named the same as the full service, so the # cloudformation_facts module can get a full list of the stack resources, as # well as stack events and outputs - cloudformation_facts: region: us-east-1 stack_name: '{{ sls.service_name }}' stack_resources: true # Deploy a project but use a locally installed serverless binary instead of the global serverless binary - serverless: stage: dev region: us-east-1 service_path: '{{ project_dir }}' serverless_bin_path: node_modules/.bin/serverless
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
command string | always | Full `serverless` command run by this module, in case you want to re-run the command outside the module. Sample: serverless deploy --stage production |
service_name string | always | The service name specified in the serverless.yml that was just deployed. Sample: my-fancy-service-dev |
state string | always | Whether the stack for the serverless project is present/absent. |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Author
- Ryan Scott Brown @ryansb
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/serverless_module.html