AWS Lambda or Amazon Lambda?

As a cloud platform Amazon Web Services (AWS) offers over 175 services. If you pay attention, you’ll notice that people often do mistakes in the names of these services. For example they say Amazon Lambda instead of AWS Lambda, or AWS DynamoDB instead of Amazon DynamoDB.

While it’s important to use correct names and terms, it’s also hard or at least tricky sometimes. I’ve created a little tool to help with that and made it open source.

The tool is an extension for prose linter called Vale. If you work with text, this linter is highly recommended.

Some details about Vale

Vale is a syntax-aware linter for prose built with speed and extensibility in mind.

Unlike most writing-related software, Vale’s primary purpose isn’t to provide its advice; it’s designed to enforce an existing style guide through its YAML-based extension system.

Vale uses a plain-text (INI and YAML) configuration system that makes it possible to share configurations across platforms, applications, and users.

And the best of all Vale is open source. That means you have a chance not just to look into well-written code (Go), but also contribute 😉

A little challenge

To extend Vale it’s necessary to craft a configuration file. A substitution style helps to achieve this goal because then the linter suggests correct options and not just complains about mistakes.

Turns out it isn’t easy to find a list of all AWS services in a machine-readable format. Also, it MUST include correct names. @juanibiapina suggested a brilliant idea to use the AWS status page 💡

A small discovery

The phase of testing and polishing the substitution style revealed a fact, that the AWS status page uses the name “Auto Scaling” (without any prefix) which is incorrect as the service name is AWS Auto Scaling.

Results

AWS Vale demo output

You can find AWS style for Vale on GitHub. Grab the latest release if you aren’t interested in technical details.

Bonus

If you use GitHub Actions, there is an example of how AWS style for Vale helps to avoid mistakes in each commit.