Skip to content

Adding support for a new service

Russell Cohen edited this page May 14, 2021 · 3 revisions

Adding support for a new service is fairly straightforward. Most of the actual work is validating that the service actually works and writing example code. These instructions assume you have successfully set up an SDK development environment. For a concrete example, see this pull request which added QLDB support

  1. Import the model

    Currently, service models are stored in aws/sdk/models. You will need to download the model for the service you want and copy it into that folder. The easiest place to find up to date models is the Go SDK

  2. Regenerate the SDK: ./gradlew :aws:sdk:cargoCheck If the SDK does not compile or code generation crashes, you found a bug! Thank you! Please file an issue.

  3. Write a new example:

    Create a new cargo project in aws/sdk/examples that uses relative path dependencies to access the service you just generated. It may be easiest to copy the dependency path from another example. Name your example <servicename>-helloworld>. In your example, try to use a couple of different APIs that demonstrate common operations using the service.

  4. Try out your example:

    As we add new services, we sometimes expose bugs in the code generation. Please try out your example and make sure it works. If it doesn't, you found a bug! Thank you! Please file an issue.

  5. Make a pull request. Thanks for your contribution!

Clone this wiki locally