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 128MB of RAM
      # 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 of 15 seconds
      # See lambda timeout values here:
      # https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-timeout-console
      timeout: 15
      # 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