This plugin is still in WIP and non-stable.
This plugin seeds the data for AWS resources.
AWS::DynamoDB::Table
AWS::Cognito::UserPool
AWS::S3::Bucket
$ npm install --save-dev serverless-seed-plugin
Add the plugin to your serverless.yml
file.
plugins:
- serverless-seed-plugin
Set up custom.seed.<resource>.<options>
in your serverless.yml
file. You can also follow the code in ./example/ dir.
Then run serverless seed
.
custom:
seed:
dynamodb:
TableId:
emptyOnly: true # default false - seed only if target is empty
truncate: true # default false
clone:
table: source-table-name # Clone data from table
recreate: true # default false
config: # empty by default, for more options see https://github.com/enGMzizo/copy-dynamodb-table#aws-config-for-each-table--cross-region--
accessKeyId: AKID
secretAccessKey: SECRET
region: eu-west-1
data:
- id: 'abc1'
name: 'myRecordName1'
- id: 'abc2'
name: 'myRecordName2'
- immutable attributes are set only first time, otherwise update of these attributes is skipped
-
custom:
prefix for custom attributes is required - every created user has confirmed account status and no confirmation e-mail is sent
- only attributes and password is updated if user exists
custom:
seed:
cognito:
TodosUserPool:
emptyOnly: true # default false - seed only if target is empty
data:
- username: abc1
password: passw1
attributes:
- Name: custom:mutableClientData
Value: mutableClientData_val
- Name: custom:immutableClientData
Value: immutableClientData_val
- username: abc2
password: passw2
attributes: []
Do not forget to clear all objects from bucket, before serverless remove
command called or use our plugin
- all nested dirs and files will be uploaded
- existing files will be overwritten
custom:
seed:
s3:
TodosBucket:
emptyOnly: true # default false - seed only if target is empty
data:
- ./somedir/