Advertisement
Guest User

Untitled

a guest
Apr 4th, 2019
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 2.61 KB | None | 0 0
  1. service: voices-netsuite-sender
  2.  
  3. provider:
  4.   name: aws
  5.   region: us-east-1
  6.   runtime: python3.6
  7.   accountId: '4444444444'
  8.   stage: ${opt:stage, 'dev'}
  9.  
  10.   iamRoleStatements:
  11.    # Reading files
  12.     - Effect: Allow
  13.       Action:
  14.        - s3:List*
  15.         - s3:Get*
  16.       Resource:
  17.        - arn:${self:provider.name}:s3:::bucketsenderloader
  18.  
  19.     # kms
  20.     - Effect: Allow
  21.       Action:
  22.        - "kms:*"
  23.       Resource:
  24.        - arn:${self:provider.name}:kms:${self:provider.region}:${self:provider.accountId}:key/${self:custom.config.secretKeyId}
  25.  
  26.     # Configuration
  27.     - Effect: Allow
  28.       Action:
  29.        - ssm:GetParameter
  30.         - ssm:GetParameters
  31.         - ssm:GetParametersByPath
  32.         - ssm:DescribeParameters
  33.         - ssm:GetParameterHistory
  34.       Resource:
  35.        - arn:${self:provider.name}:ssm:${self:provider.region}:${self:provider.accountId}:parameter${self:custom.ssmPrefix}/*
  36.  
  37.     # sqs
  38.     - Effect: Allow
  39.       Action:
  40.        - sqs:*
  41.       Resource:
  42.        - arn:${self:provider.name}:sqs:${self:provider.region}:${self:provider.accountId}:MyQueueSenderLoader
  43.         - arn:${self:provider.name}:sqs:${self:provider.region}:${self:provider.accountId}:DeadLetterSenderLoader
  44.  
  45.  
  46. plugins:
  47.  - serverless-plugin-aws-alerts
  48.   - serverless-plugin-lambda-dead-letter
  49.   - serverless-python-requirements
  50. custom:
  51.   config: ${file(config-${self:provider.stage}.yml)}
  52.   ssmPrefix: /${self:service}/${self:provider.stage}
  53.  
  54.   alerts:
  55.     alerts:
  56.      - functionErrors
  57.       - functionThrottles
  58.       - functionInvocations
  59.       - functionDuration
  60.  
  61.   pythonRequirements:
  62.     dockerizePip: true
  63.     dockerSsh: true
  64.  
  65. functions:
  66.   voices-netsuite-sender-loader:
  67.     handler: handler.handler
  68.     events:
  69.       - sqs:
  70.           arn:
  71.             Fn::GetAtt:
  72.              - MyQueueSenderLoader
  73.               - Arn
  74.         batchSize: 1
  75.     environment:
  76.       ServiceName: ${self:service}
  77.       ApiAddress: ${self:custom.config.ApiAddy}
  78.       LogLevel: ${self:custom.config.LogLevel, "INFO"}
  79.       Stage: ${self:provider.stage, "dev"}
  80.     deadLetter:
  81.       targetArn:
  82.         GetResourceArn:
  83.           arn:
  84.             Fn::GetAtt:
  85.              - DeadLetterSenderLoader
  86.               - Arn
  87.  
  88. resources:
  89.   Resources:
  90.     bucketsenderloader:
  91.       Type: "AWS::S3::Bucket"
  92.       Properties:
  93.         BucketName: "bucketsenderloader"
  94.     MyQueueSenderLoader:
  95.       Type: "AWS::SQS::Queue"
  96.       Properties:
  97.         QueueName: "MyQueueSenderLoader"
  98.     DeadLetterSenderLoader:
  99.       Type: "AWS::SQS::Queue"
  100.       Properties:
  101.         QueueName: "DeadLetterSenderLoader"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement