AWS Configuration

Complete Example with comments

# The provider to use and it's published version
# See releases:
# https://github.com/nitrictech/nitric/tags
provider: nitric/aws@1.12.4
# The target aws region to deploy to
# See available regions:
# https://docs.aws.amazon.com/general/latest/gr/lambda-service.html
region: my-aws-stack-region
# The timezone that deployed schedules will run with
# Format is in tz identifiers:
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
schedule-timezone: Australia/Sydney # Available since v0.27.0
# Import existing AWS Resources
# Currently only secrets are supported
# Available since v0.28.0
import:
# A name ARN map of buckets, where the name matches the nitric name of the bucket you would like to import
buckets: # Available since v1.10.0
# NOTE: Imported S3 buckets must exist in the same AWS account and region as the Nitric project
my-bucket: arn:...
# A name ARN map of secrets, where the name matches the nitric name of the secret you would like to import
secrets: # Available since v0.28.0
# In typescript this would import the provided secret reference for a secret declared as
# const mySecret = secret('my-secret');
my-secret: arn:...
# Apply configuration to nitric APIs
apis:
# The nitric name of the API to configure
my-api:
# Array of domains to apply to the API
# The domain or parent domain must have a hosted zone already in Route53
domains:
- api.example.com
description: An AWS API
# Configure your deployed services
config:
# How services without a type will be deployed
default:
# configure a sample rate for telemetry (between 0 and 1) e.g. 0.5 is 50%
telemetry: 0
# configure services to deploy to AWS lambda
lambda: # Available since v0.26.0
# set the memory in MB
# See lambda configuration docs here:
# https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console
memory: 128
# set a timeout in seconds
# See lambda timeout values here:
# https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-timeout-console
timeout: 15
# set the amount of ephemeral-storage in MB
# For info on ephemeral-storage for AWS Lambda see:
# https://docs.aws.amazon.com/lambda/latest/dg/configuration-ephemeral-storage.html
ephemeral-storage: 512
# set a provisioned concurrency value
# For info on provisioned concurrency for AWS Lambda see:
# https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html
provisioned-concurrency: 0
# Configure VPCs that the lambda can access
vpc:
# Array of existing security group ids to apply
security-group-ids:
- sg-xxx
# Array of existing subnet ids to apply
subnet-ids:
- subnet-xxx
# Additional deployment types
# You can target these types by setting a `type` in your project configuration
big-service:
telemetry: 0
lambda:
memory: 1024
timeout: 60
provisioned-concurrency: 1

Missing something? Let us know by raising an issue in GitHub or by dropping us a line on Discord

Last updated on Nov 8, 2024