Skip to content

Adding support for a new service

Russell Cohen edited this page Jul 2, 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. Add the new service to the list of tier1services in aws/sdk/build.gradle.kts. NOTE: the name of the service most be it's modulename (sdkId), not the name of the JSON file that contains it.

  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>, the example project should be <servicename>-code-examples. In your example, try to use a couple of different APIs that demonstrate common operations using the service. If you split out multiple examples, add each example as a separate file in src/bin.

  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