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.
While the SDKs generally use AWS_PROFILE
as the environment variable source of
the shared config/credentials profile, the CLI promotes the
AWS_DEFAULT_PROFILE
environment variable. Request is to also support that as a
secondary source.
See related GitHub issue #1452.
We use instance metadata for credentials, feature request is to also use it for region resolution.
See related GitHub issue #1455.
Support AssumeRole Integration with SharedConfig.
See related GitHub issue #1504.
Aws::AssumeRoleCredentials
allows for MFA support, but does not pull
non-token values from SharedConfig in this case. Could be implemented as a new
method.
See related GitHub issue #1480.
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.
See related GitHub issue #1009.
For cases where a particular waiter doesn't exist, this request would provide an interface with which someone could define a waiter in code, rather than having to alter the SDK source JSON files.
See related GitHub issue #1047.
See related GitHub issue #1323.
See related GitHub issue #1550.
See related GitHub issue #1335.
See related GitHub issue #1259.
See related GitHub issue #1185.
Not all Auto Scaling tag resources surface the value, should be doable with existing client calls within the resource.
See related GitHub issue #1145.
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.
See related GitHub issue #1385.
Add functionality to the presigner to improve the experience of generating cache friendly presigned URLs. For example:
req = s3.presigned_request(:get_object, bucket:'...', key: '...')
req.uri #=> "https://..."
req.headers #=> { ... } authorization in here
See related GitHub issue #1152.
Add support to make unsigned calls using the SDK. Can be useful for cases such
as anonymously downlading S3 objects that have a public-read
ACL.
See related GitHub issue #1149.
There are many headers that we blacklist from adding to the signed request. For example, the blacklist includes some headers that can be legally modified in transit, increasing the risk of signature errors despite a properly constructed request.
This feature request is to allow users to manually whitelist a header to be signed. In essence, that user would be certifying "I know that this header will not be modified in transit or be otherwise changed, so sign it."
See related GitHub issue #1051.
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.
The presigned POST utility does not support pre-signing Amazon S3 acclerated bucket endpoints. Explore adding an explicit configuration option to enable this, or determine this by looking at the client configuration.
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.
Port over the feature we have in v1.
See related GitHub issue #1399.
Make Multipart Downloader faster, reduce IO usage and make IO usage configurable etc.
See related GitHub issue #1552.
Provide better streaming download options, imstead of having parts in /tmp directory, make leave it at the specifc directory and leave options for not clean up.
See related GitHub issue #1535.
Currently available from context
, but could some easier way to get this be
added when exception functionality is enhanced?
See related GitHub issue #1352.
See related GitHub issue #1351.
See related GitHub issue #1299.
See related GitHub issue #1267.
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.
If domain name value contains asterisks, the #list_resource_record_sets
operation of Aws::Route53::Client
returns octal in domain name, which is different from public documentation. SDK could have an optional flag utility for converting this for user.
See related Github issue #1468.
See related GitHub issue #1212.
See related Github issue #1501.
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.
Currently, the default retry algorithm uses exactly the same backoff time for every execution. Adding some randomness to this would be accepted as a PR.
See related GitHub issue #1336.
See related GitHub issue #1264.
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.
There are performance/memory questions around some very large responses (such
as an unfiltered request to Aws::EC2::Client#DescribeImages
API), especially
when they are turned into even larger resource objects in memory. One feature
request is to cut down on this memory usage, perhaps by lazily building resource
objects, if possible. This feature request has an investigation component.
See related GitHub issue #1379.
The SDK uses the Shared Credential and Configuration files at various points within the default credential provider chain, and other places. However, there is not currently a way to interact with these raw configuration values. This request is to expose these values in a consistent and usable way.
See related GitHub issue #1256.
The SDK uses first the exception response __type
field, then the ErrorCode
field, to determine the exception's code. However, the related issue shows at
least one case where the ErrorCode
field would be the more descriptive error.
We cannot change the exception classing behavior now, but exposing the raw
exception response fields could improve the exception handling experience.
See related GitHub issue #1189.
See related GitHub issue #1376.
Some services accept multiple HTTP verbs, potentially with differing behavior. This feature request would be to investigate how multiple HTTP verbs could be supported.
See related GitHub issue #1181.
Provide an easy way to create stubbed clients that have programmable behavior.
See related GitHub issue #1120.
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.