Skip to content

Instantly share code, notes, and snippets.

@supun19
Forked from lithin/serverless.yml
Created May 29, 2018 05:19
Show Gist options
  • Save supun19/d2a24659998fabe829a6a44f049d71c6 to your computer and use it in GitHub Desktop.
Save supun19/d2a24659998fabe829a6a44f049d71c6 to your computer and use it in GitHub Desktop.
# serverless.yml
service:
name: beekeeper-serverless
frameworkVersion: 1.23.0
plugins:
- serverless-plugin-split-stacks
- serverless-plugin-custom-roles
- "@connected-home/serverless-plugin-kms"
- "@connected-home/serverless-plugin-stringify-variables"
- serverless-plugin-tracing
- serverless-webpack
provider:
name: aws
runtime: nodejs6.10
region: eu-west-1
environment: ${file(./_meta/variables/environment-${opt:stage}.json)}
timeout: 30
tracing: true
iamRoleStatements:
- Effect: "Allow"
Action:
- "xray:PutTraceSegments"
- "xray:PutTelemetryRecords"
Resource:
- "*"
- Effect: "Allow"
Action:
- "dynamodb:GetItem"
- "dynamodb:UpdateItem"
Resource:
- "ARN"
- Effect: "Allow"
Action:
- "sqs:GetQueueAttributes"
- "sqs:GetQueueUrl"
- "sqs:SendMessage"
- "sqs:SendMessageBatch"
Resource:
- ${file(./_meta/variables/environment-${opt:stage}.json):PLATFORM_ENTITLMENT_SQS_ARN}
- ${file(./_meta/variables/environment-${opt:stage}.json):CAMERA_ENTITLMENT_SQS_ARN}
custom:
webpack: ./webpack.sls1.config.js
package:
individually: true
functions:
ActionTemplatesGet: ${file(./src/serverless/action-templates/get/serverless.yml)}
ActionsCreate: ${file(./src/serverless/actions/create/serverless.yml)}
ActionsDelete: ${file(./src/serverless/actions/delete/serverless.yml)}
ActionsGet: ${file(./src/serverless/actions/get/serverless.yml)}
ActionsQuickAction: ${file(./src/serverless/actions/quick-action/serverless.yml)}
ActionsRuleCreate: ${file(./src/serverless/actions/rule/serverless.yml)}
ActionsUpdate: ${file(./src/serverless/actions/update/serverless.yml)}
UserGetStorage: ${file(./src/serverless/user/get-storage/serverless.yml)}
UserSetStorage: ${file(./src/serverless/user/set-storage/serverless.yml)}
UserClaimHub: ${file(./src/serverless/user/claim-hub/serverless.yml)}
UserSetAlertSettings: ${file(./src/serverless/user/set-alerts/serverless.yml)}
UserSetMediaSettings: ${file(./src/serverless/user/set-media/serverless.yml)}
UserSetPassword: ${file(./src/serverless/user/set-password/serverless.yml)}
UserSetPin: ${file(./src/serverless/user/set-pin/serverless.yml)}
ContactsAdd: ${file(./src/serverless/contacts/add/serverless.yml)}
ContactsGet: ${file(./src/serverless/contacts/get/serverless.yml)}
ContactsUpdate: ${file(./src/serverless/contacts/update/serverless.yml)}
ContactsDelete: ${file(./src/serverless/contacts/delete/serverless.yml)}
AuthAdminLogin: ${file(./src/serverless/auth/admin-login/serverless.yml)}
AuthLogin: ${file(./src/serverless/auth/login/serverless.yml)}
AuthLogout: ${file(./src/serverless/auth/logout/serverless.yml)}
AuthResetPassword: ${file(./src/serverless/auth/reset-password/serverless.yml)}
AuthSendPasswordReset: ${file(./src/serverless/auth/send-password-reset/serverless.yml)}
DevicesGetAll: ${file(./src/serverless/devices/all/serverless.yml)}
DevicesDelete: ${file(./src/serverless/devices/delete/serverless.yml)}
DevicesGet: ${file(./src/serverless/devices/get/serverless.yml)}
EntitlementStreamOutCamera: ${file(./src/serverless/entitlement-stream-out/camera/serverless.yml)}
EntitlementStreamOutPlatform: ${file(./src/serverless/entitlement-stream-out/platform/serverless.yml)}
GlobalAdminLogin: ${file(./src/serverless/global/admin-login/serverless.yml)}
GlobalLogin: ${file(./src/serverless/global/login/serverless.yml)}
GlobalLogout: ${file(./src/serverless/global/logout/serverless.yml)}
GlobalResetPassword: ${file(./src/serverless/global/reset-password/serverless.yml)}
GlobalSendPasswordReset: ${file(./src/serverless/global/send-password-reset/serverless.yml)}
HeatingNotificationsGet: ${file(./src/serverless/heating-notifications/get/serverless.yml)}
HeatingNotificationsSet: ${file(./src/serverless/heating-notifications/set/serverless.yml)}
NodeCreationPoll: ${file(./src/serverless/node-creation/poll/serverless.yml)}
PhilipsHueCreate: ${file(./src/serverless/philips-hue/create/serverless.yml)}
PhilipsHuePair: ${file(./src/serverless/philips-hue/pair/serverless.yml)}
PhilipsHueSearch: ${file(./src/serverless/philips-hue/search/serverless.yml)}
ProductsEvents: ${file(./src/serverless/products/events/serverless.yml)}
Products: ${file(./src/serverless/products/get/serverless.yml)}
ProductGroupsCreate: ${file(./src/serverless/product-groups/create/serverless.yml)}
ProductGroupsUpdate: ${file(./src/serverless/product-groups/update/serverless.yml)}
MimicModeGet: ${file(./src/serverless/mimic-mode/get/serverless.yml)}
MimicModeSet: ${file(./src/serverless/mimic-mode/set/serverless.yml)}
ProductsEndBoost: ${file(./src/serverless/products/end-boost/serverless.yml)}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment