Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/multiple cred providers #111

Merged
merged 3 commits into from
Oct 14, 2016

Conversation

rgfindl
Copy link
Contributor

@rgfindl rgfindl commented Oct 2, 2016

Add ability to specify different credential providers for Kinesis, DynamoDB, and CloudWatch. This is needed when accessing a cross-account Kineses stream using an assumed role. #106 will help in defining the STSAssumeRoleSessionCredentialsProvider.

…namoDB, and CloudWatch. This is needed when accessing a cross-account Kineses stream using an assumed role.
Copy link
Contributor

@pfifer pfifer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for providing the pull request. It looks pretty good, I just want to make sure the new features have some additional testing.

@@ -329,6 +329,29 @@ public void testWithAWSCredentialsFailed() {
}
}

@Test
public void testWithDifferentAWSCredentialsForDynamoDBAndCloudWatch() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test appears to succeed with the current code. It might make sense to test with different class names for each credential provider. The credential decoder has the ability to load custom class names.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pfifer Yes my tests were terrible. Sorry about that. How are these?

@pfifer
Copy link
Contributor

pfifer commented Oct 4, 2016

Looks like the tests failed due to a race condition that I haven't been able to track down.

Thanks for sending this PR. I just need one final confirmation, before I can merge this.

Please confirm that we can use, modify, copy, and redistribute this contribution.

Thanks.

@shakdoesgithub
Copy link

@rgfindl this pull request is really helpful!

@rgfindl
Copy link
Contributor Author

rgfindl commented Oct 4, 2016

Yes, you can use, modify, copy, and redistribute this contribution. Thanks!

@pfifer pfifer added this to the v1.7.1 Kinesis Client Library milestone Oct 5, 2016
@pfifer pfifer merged commit 5c497d8 into awslabs:master Oct 14, 2016
pfifer added a commit to pfifer/amazon-kinesis-client that referenced this pull request Nov 3, 2016
* General
  * Allow disabling shard synchronization at startup.
    * Applications can disable shard synchronization at startup.  Disabling shard synchronization can application startup times for very large streams.
    * [PR awslabs#102](awslabs#102)
  * Applications can now request a graceful shutdown, and record processors that implement the IShutdownNotificationAware will be given a chance to checkpoint before being shutdown.
    * This adds a [new interface](https://github.com/awslabs/amazon-kinesis-client/blob/master/src/main/java/com/amazonaws/services/kinesis/clientlibrary/interfaces/v2/IShutdownNotificationAware.java), and a [new method on Worker](https://github.com/awslabs/amazon-kinesis-client/blob/master/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java#L539).
    * [PR awslabs#109](awslabs#109)
    * Solves [Issue awslabs#79](awslabs#79)
* MultiLangDaemon
  * Applications can now use credential provides that accept string parameters.
    * [PR awslabs#99](awslabs#99)
  * Applications can now use different credentials for each service.
    * [PR awslabs#111](awslabs#111)
pfifer added a commit that referenced this pull request Nov 3, 2016
* General
  * Allow disabling shard synchronization at startup.
    * Applications can disable shard synchronization at startup.  Disabling shard synchronization can application startup times for very large streams.
    * [PR #102](#102)
  * Applications can now request a graceful shutdown, and record processors that implement the IShutdownNotificationAware will be given a chance to checkpoint before being shutdown.
    * This adds a [new interface](https://github.com/awslabs/amazon-kinesis-client/blob/master/src/main/java/com/amazonaws/services/kinesis/clientlibrary/interfaces/v2/IShutdownNotificationAware.java), and a [new method on Worker](https://github.com/awslabs/amazon-kinesis-client/blob/master/src/main/java/com/amazonaws/services/kinesis/clientlibrary/lib/worker/Worker.java#L539).
    * [PR #109](#109)
    * Solves [Issue #79](#79)
* MultiLangDaemon
  * Applications can now use credential provides that accept string parameters.
    * [PR #99](#99)
  * Applications can now use different credentials for each service.
    * [PR #111](#111)
@holmesjr
Copy link

Do any of the KCL clients (e.g. python) support this feature via config files?

@holmesjr
Copy link

Sorry, I understand now. The config file entries just haven't been updated in the sample file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants