serverless-seed-plugin

0.4.0 • Public • Published

serverless-seed-plugin

This plugin is still in WIP and non-stable.

CI Status Badge

This plugin seeds the data for AWS resources.

Supported resources

  • AWS::DynamoDB::Table
  • AWS::Cognito::UserPool
  • AWS::S3::Bucket

Install

$ npm install --save-dev serverless-seed-plugin

Add the plugin to your serverless.yml file.

plugins:
  - serverless-seed-plugin

Usage

Set up custom.seed.<resource>.<options> in your serverless.yml file. You can also follow the code in ./example/ dir.

Then run serverless seed.

DynamoDB

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'

Cognito

  • [x] immutable attributes are set only first time, otherwise update of these attributes is skipped
  • [x] custom: prefix for custom attributes is required
  • [x] every created user has confirmed account status and no confirmation e-mail is sent
  • [x] 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: []

S3

Do not forget to clear all objects from bucket, before serverless remove command called or use our plugin

  • [x] all nested dirs and files will be uploaded
  • [x] existing files will be overwritten
custom:
  seed:
    s3:
      TodosBucket:
        emptyOnly: true # default false - seed only if target is empty
        data:
          - ./somedir/

Readme

Keywords

none

Package Sidebar

Install

npm i serverless-seed-plugin

Weekly Downloads

136

Version

0.4.0

License

MIT

Unpacked Size

185 kB

Total Files

25

Last publish

Collaborators

  • tomzaoral
  • xurban42
  • pjediny
  • fekecrad
  • jancervinka
  • pyrek
  • bsedlak