The purpose of this document is to provide an alternate to GitHub issues for tracking feature requests. This eliminates noise when viewing issues. Items ending up on this page are not guaranteed to make it into the SDK. Items on this page are not sorted by priority.
Please feel free to submit feature requests and add comments or suggestions on existing feature requests. If you are interested in contributing code, please open a dialog with us first. Ideally we can avoid wasted dev cycles by discussing alternatives up front.
We can be found in our Gitter channel and on the AWS Forum for Ruby.
Since the signing logic uses now
for the signing time, the
Aws::S3::Presigner
class will always generate unique URLs, though use cases
can exist for wanting consistency across generated URLs. The ask would be to add
support for an injectable timestamp into signing via the presigner.
See related GitHub issue #1013.
Calling Aws::EC2::Client#get_password_data
returns an encrypted password,
which can be decrypted using the .pem key associated with the instance. The
feature request is to add a parameter that will automatically perform this when
the correct .pem file is provided, most likely with a plugin.
See related GitHub issue #1003.
See the AWS CLI implementation.
There are some format differences between the input/output shapes of the AWS CLI and the AWS SDK for Ruby. Supporting a transformation between these two formats could be useful if using actual AWS CLI output as stubbed output for Ruby tests.
See related GitHub issue #970.
Similar to the AWS SDK for Java's feature.
This would create a plugin that takes metrics about API call performance and possibly other SDK performance metrics, and would enable automatic uploads to Amazon CloudWatch.
The current spec for pagination is not able to support the response structure of
the Aws::CloudSearchDomain::Client#search
API, for example. The feature
request is to either add a custom CloudSearch Domain pagination plugin, or to
enhance pagination in general to support this type of response.
See related GitHub issue #984.
You can copy Amazon S3 object versions to a new Amazon S3 object using the
Aws::S3::Client#copy_from
operation. However, there isn't currently a way to
do this in the resource interface. This is a feature request to add that support
to the Aws::S3::Resource
interface.
See related GitHub issue #969.
Currently, parameter validation errors come in the following form:
expected params[:pipeline_objects][1][:fields][5][:string_value] to be a string
This could be enhanced by printing the actual value and type of what was passed to the client.
See related GitHub issue #991.
The SDK already has a multipart upload helper for Amazon S3, but doing a GET request for very large objects can be problematic using the client directly. Byte ranged requests allow the user to circumvent the issue, but this could be distilled into a high level helper class that manages multipart downloads in this manner.
See related GitHub issue #990 for an example related to Amazon S3.
See related GitHub issue #987 for an example related to the Amazon RDS client (similar, not identical, pattern).
To work around limitations of S3 bucket policies, it is necessary to send certain headers as headers and to not hoist them to querystring of a request URI. This would be useful functionality in general.
See related GitHub issue #874.
More services have interfaces like Amazon Elasticsearch Service where it would be useful to use the signature version 4 interface directly. It is currently marked API private. It should be extracted, polished and released as a separate gem.
See related GitHub issue #961.
The SDK ignores environment proxies by default for security reasons. Add the ability to configure a proxy or to enable the default proxy from the constructor.
See related GitHub issue #956.
The default credential provider chain will check for credentials from the EC2 instance metadata service once before giving up. This is intentional to prevent development environments from hanging for an extended period of time when not running on Amazon EC2.
Defaulting to no retries is problematic for code running on Amazon EC2, especially in a situation where the code is executing early in the boot process and the credentials are not immediately available. This forces developers to create a custom Aws::InstanceProfileCredentials
object to configure retires, complicating configuration for development environments.
Adding a retry limit for instance profile credentials might be a possible solution.
See related GitHub issue #717.
Add the ability to programmatically determine what region a specific service is available in. Some useful interfaces include:
- pass the service name; return a list of supported regions
- pass a region; return a list of supported services.
- pass service_name and region; return true/false if region supports that service
This feature would be an interface for the information provided here http://docs.aws.amazon.com/general/latest/gr/rande.html#ct_region
See related GitHub issue #926.
Amazon CloudFront supports pre-signed URLs, similar to those used by Amazon S3. It would be helpful to have a pre-signed url builder for SDK users.
See related GitHub issue #700.
To enable users to track file upload process, it would be helpful to support a progress callback for Aws::S3::Object#upload_file
.
See related GitHub issue #648.
The #predict
operation of Aws::MachineLearning::Client
accepts a map of string-to-strings. When a user wishes to provide a boolean value, the API expects the boolean to be "1" or "0". It would be helpful if a plugin were added that converted the boolean values of the record map from true
and false
to their expected string formats.
See related GitHub issue #878.
You can currently only configure an access key id, secret access key, and session token in the shared credentials file, ~/.aws/credentials
. It would be useful if you could also specify a role to assume similar to how the CLI supports.