• Pricing
© 2025 Serverless, Inc. All rights reserved.
Terms of ServicePrivacy Policy
whardier

Serverless Plugin Powertools

by

Serverless plugin adding several variable tools, resolvers, and commands

300
2
  1. Serverless Plugin Powertools

serverless-plugin-powertools

Variable Resolvers

For good use cases check out tests/unit/lib/configuration/variables.

Current list of provided resolvers:

  • castToBool
  • castToInteger
  • castToString
  • castToBoolOrContinue
  • castToIntegerOrContinue
  • castToStringOrContinue
  • negateBool
  • negateBoolOrContinue
  • isTruthy
  • isFalsy

To what end?

Currently this plugin exposes the following variable resolvers that offer type casting, boolean operations, and conditional continuations.

You can use them to ensure that external values from the environment, CloudFormation outputs, and external parameter stores are cast to the appropriate value. One important use case is defining bucket sizes through the environment or an external parameter that should ideally be an integer once rendered.

Simple conditional rendering support is provided through isTruthy and isFalsy.

Example:

custom:
  something: true
  boolyStuff:
    makeSureThisIsBooly: ${castToBool('yes')}
    doTheOppositeOfFalse: ${negateBool('false')}
    doTheOppositeOfSomething: ${negateBool(${self:custom.something})}
  stringyStuff:
    makeSureThisIsStringy: ${castToString(1234)}
  integeryStuff:
    makeSureThisIsInteger: ${castToInteger('300')}
  continuationSupport:
    ifThisIsntAnIntegerThenUseDefault: ${castToIntegerOrContinue('eggsammich'), 0}
  noContinuationSupport:
    ifThisIsntAnIntegerThenUseDefault: ${castToIntegerOrContinue('42'), 0}
  conditionalAwesomeness:
    thisOrThat: ${isTruthy('true'), 'this'}${isTruthy('false'), 'that'}

Output:

custom:
  something: true
  boolyStuff:
    makeSureThisIsBooly: true
    doTheOppositeOfFalse: true
    doTheOppositeOfSomething: false
  stringyStuff:
    makeSureThisIsStringy: '1234'
  integeryStuff:
    makeSureThisIsInteger: 300
  continuationSupport:
    ifThisIsntAnIntegerThenUseDefault: 0
  noContinuationSupport:
    ifThisIsntAnIntegerThenUseDefault: 42
  conditionalAwesomeness:
    thisOrThat: this

Contents

  • serverless-plugin-powertools
  • Variable Resolvers
  • To what end?

Related

GuidesPluginsExamplesSlack CommunitySupport