This plugin provides the AWS SDK for Java as a library to be used by other plugins. It follows the same versioning as the AWS SDK itself.
Commonly used modules have their own plugins, less used modules are in the aws-java-sdk
plugin.
Some plugins, such as the ec2-plugin rely on the AWS SDK to list available instance types. Updates of the AWS SDK come via this plugin.
There is a new release of the AWS SDK every day, and most updates are not relevant to most Jenkins users.
As the current maintainer of this library plugin, I am not actively monitoring the AWS SDK changelog.
If you want to use a new instance type and it is not yet available through this plugin:
- look up in what version of the AWS SDK it has been introduced (changelog)
- find the latest dependabot pull request bumping the AWS SDK (link)
- ask for a merge and release after providing the instance type you are looking for, and the version of the AWS SDK it has been introduced in.
This plugins contains multiple modules. These have been grouped together as aws-java-sdk-core
needs some classes in the same classpath and the structured classloaders in Jenkins don't permit having them in different plugins.
- aws-java-sdk-core
- aws-java-sdk-kms
- aws-java-sdk-s3
- aws-java-sdk-sts
- jmespath-java
Contains an individual AWS Java SDK module with the same name.
Contains all AWS Java SDK modules not already provided through a separate plugin. It depends on all other aws-java-sdk plugins and is very heavyweight.
If you need to use an API that is not yet published as its own plugin, feel free to submit a pull request to create a plugin for it. This will avoid pulling the all-in-one aws-java-sdk
plugin.
- Create a new directory
aws-java-sdk-<name>
. The name should be identical to the aws sdk module. - Create
pom.xml
.- Depend on
com.amazonaws:aws-java-sdk-<name>
. Exclude all transitive dependencies. - Transitive dependencies should be replaced by their equivalent plugin dependency. Most APIs only depend on
aws-java-sdk-core
andjmespath-java
(both are part of theaws-java-sdk-minimal
plugin).
- Depend on
- Create
src/main/resource/index.jelly
. Look at existing modules and adapt it. - Add the module to the root
pom.xml
. - Add the plugin dependency to
aws-java-sdk
and exclude the module from transitive dependencies.