service: web-check-api provider: name: aws runtime: nodejs14.x region: us-east-1 # environment: # GOOGLE_CLOUD_API_KEY: ${ssm:GOOGLE_CLOUD_API_KEY~true, ''} # TORRENT_IP_API_KEY: ${ssm:TORRENT_IP_API_KEY~true, ''} # SECURITY_TRAILS_API_KEY: ${ssm:SECURITY_TRAILS_API_KEY~true, ''} # BUILT_WITH_API_KEY: ${ssm:BUILT_WITH_API_KEY~true, ''} # URL_SCAN_API_KEY: ${ssm:URL_SCAN_API_KEY~true, ''} # TRANCO_USERNAME: ${ssm:TRANCO_USERNAME~true, ''} # TRANCO_API_KEY: ${ssm:TRANCO_API_KEY~true, ''} # CLOUDMERSIVE_API_KEY: ${ssm:CLOUDMERSIVE_API_KEY~true, ''} # CHROME_PATH: ${ssm:CHROME_PATH~true, ''} # API_TIMEOUT_LIMIT: ${ssm:API_TIMEOUT_LIMIT~true, ''} # API_CORS_ORIGIN: ${ssm:API_CORS_ORIGIN~true, ''} iamRoleStatements: - Effect: Allow Action: - ssm:GetParameter Resource: - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/GOOGLE_CLOUD_API_KEY - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/TORRENT_IP_API_KEY - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/SECURITY_TRAILS_API_KEY - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/BUILT_WITH_API_KEY - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/URL_SCAN_API_KEY - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/TRANCO_USERNAME - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/TRANCO_API_KEY - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/CLOUDMERSIVE_API_KEY - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/CHROME_PATH - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/API_TIMEOUT_LIMIT - arn:aws:ssm:us-east-1:${env:AWS_ACCOUNT_ID}:parameter/API_CORS_ORIGIN functions: archives: handler: api/archives.handler events: - http: path: api/archives method: get blockLists: handler: api/block-lists.handler events: - http: path: api/block-lists method: get carbon: handler: api/carbon.handler events: - http: path: api/carbon method: get cookies: handler: api/cookies.handler events: - http: path: api/cookies method: get dnsServer: handler: api/dns-server.handler events: - http: path: api/dns-server method: get dns: handler: api/dns.handler events: - http: path: api/dns method: get dnssec: handler: api/dnssec.handler events: - http: path: api/dnssec method: get features: handler: api/features.handler events: - http: path: api/features method: get firewall: handler: api/firewall.handler events: - http: path: api/firewall method: get getIp: handler: api/get-ip.handler events: - http: path: api/get-ip method: get headers: handler: api/headers.handler events: - http: path: api/headers method: get hsts: handler: api/hsts.handler events: - http: path: api/hsts method: get httpSecurity: handler: api/http-security.handler events: - http: path: api/http-security method: get legacyRank: handler: api/legacy-rank.handler events: - http: path: api/legacy-rank method: get linkedPages: handler: api/linked-pages.handler events: - http: path: api/linked-pages method: get mailConfig: handler: api/mail-config.handler events: - http: path: api/mail-config method: get ports: handler: api/ports.handler events: - http: path: api/ports method: get quality: handler: api/quality.handler events: - http: path: api/quality method: get rank: handler: api/rank.handler events: - http: path: api/rank method: get redirects: handler: api/redirects.handler events: - http: path: api/redirects method: get robotsTxt: handler: api/robots-txt.handler events: - http: path: api/robots-txt method: get screenshot: handler: api/screenshot.handler events: - http: path: api/screenshot method: get securityTxt: handler: api/security-txt.handler events: - http: path: api/security-txt method: get sitemap: handler: api/sitemap.handler events: - http: path: api/sitemap method: get socialTags: handler: api/social-tags.handler events: - http: path: api/social-tags method: get ssl: handler: api/ssl.handler events: - http: path: api/ssl method: get status: handler: api/status.handler events: - http: path: api/status method: get techStack: handler: api/tech-stack.handler events: - http: path: api/tech-stack method: get threats: handler: api/threats.handler events: - http: path: api/threats method: get tls: handler: api/tls.handler events: - http: path: api/tls method: get traceRoute: handler: api/trace-route.handler events: - http: path: api/trace-route method: get txtRecords: handler: api/txt-records.handler events: - http: path: api/txt-records method: get whois: handler: api/whois.handler events: - http: path: api/whois method: get plugins: - serverless-webpack # - serverless-domain-manager # - serverless-offline custom: webpack: webpackConfig: 'api/_common/aws-webpack.config.js' includeModules: false packagerOptions: noInstall: true # customDomain: # domainName: example.com # basePath: 'api' # stage: ${self:provider.stage} # createRoute53Record: true # serverless-offline: # prefix: '' # httpPort: 3000