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

aws/credentials: Add ProviderWithContext optional interface to support passing contexts on credential retrieval #3223

Merged
merged 5 commits into from Apr 1, 2020

Conversation

skmcgrail
Copy link
Member

@skmcgrail skmcgrail commented Mar 23, 2020

To support features like X-Ray tracing, allow for tracing a credential provides credential retrieval to remote services by suppressing the cancellation of the context.

Fixes #3213

@skmcgrail skmcgrail marked this pull request as ready for review March 23, 2020 17:35
Copy link
Contributor

@jasdel jasdel left a comment

Choose a reason for hiding this comment

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

Makes sense, would be good to have a changelog entry for this.

@skmcgrail
Copy link
Member Author

Makes sense, would be good to have a changelog entry for this.

Agreed, I will most likely follow-up here with another commit that includes some of the other providers that make remote calls like the Web Identity Provider.

@skmcgrail skmcgrail force-pushed the credentials/context branch 2 times, most recently from d6987f3 to 83ef478 Compare March 24, 2020 21:24
@skmcgrail skmcgrail requested a review from jasdel March 24, 2020 21:30
aws/ec2metadata/api.go Show resolved Hide resolved
@skmcgrail skmcgrail changed the title Suppress cancellation notification and pass contexts down to API calls aws/credentials: Add ProviderWithContext optional interface to support passing contexts on credential retrieval Apr 1, 2020
@skmcgrail skmcgrail merged commit c075c54 into aws:master Apr 1, 2020
@skmcgrail skmcgrail deleted the credentials/context branch April 1, 2020 21:23
aws-sdk-go-automation pushed a commit that referenced this pull request Apr 2, 2020
===

### Service Client Updates
* `service/gamelift`: Updates service API and documentation
  * Public preview of GameLift FleetIQ as a standalone feature. GameLift FleetIQ makes it possible to use low-cost Spot instances by limiting the chance of interruptions affecting game sessions. FleetIQ is a feature of the managed GameLift service, and can now be used with game hosting in EC2 Auto Scaling groups that you manage in your own account.
* `service/medialive`: Updates service API, documentation, and waiters
  * AWS Elemental MediaLive now supports Automatic Input Failover. This feature provides resiliency upstream of the channel, before ingest starts.
* `service/monitoring`: Updates service API and documentation
  * Amazon CloudWatch Contributor Insights adds support for tags and tagging on resource creation.
* `service/rds`: Updates service documentation
  * Documentation updates for RDS: creating read replicas is now supported for SQL Server DB instances
* `service/redshift`: Updates service documentation
  * Documentation updates for redshift

### SDK Enhancements
* `aws/credentials`: `ProviderWithContext` optional interface has been added to support passing contexts on credential retrieval ([#3223](#3223))
  * Credential providers that implement the optional `ProviderWithContext` will have context passed to them
  * `ec2rolecreds.EC2RoleProvider`, `endpointcreds.Provider`, `stscreds.AssumeRoleProvider`, `stscreds.WebIdentityRoleProvider` have been updated to support the `ProviderWithContext` interface
  * Fixes [#3213](#3213)
* `aws/ec2metadata`: Context aware operations have been added `EC2Metadata` client ([#3223](#3223))
aws-sdk-go-automation added a commit that referenced this pull request Apr 2, 2020
Release v1.30.3 (2020-04-02)
===

### Service Client Updates
* `service/gamelift`: Updates service API and documentation
  * Public preview of GameLift FleetIQ as a standalone feature. GameLift FleetIQ makes it possible to use low-cost Spot instances by limiting the chance of interruptions affecting game sessions. FleetIQ is a feature of the managed GameLift service, and can now be used with game hosting in EC2 Auto Scaling groups that you manage in your own account.
* `service/medialive`: Updates service API, documentation, and waiters
  * AWS Elemental MediaLive now supports Automatic Input Failover. This feature provides resiliency upstream of the channel, before ingest starts.
* `service/monitoring`: Updates service API and documentation
  * Amazon CloudWatch Contributor Insights adds support for tags and tagging on resource creation.
* `service/rds`: Updates service documentation
  * Documentation updates for RDS: creating read replicas is now supported for SQL Server DB instances
* `service/redshift`: Updates service documentation
  * Documentation updates for redshift

### SDK Enhancements
* `aws/credentials`: `ProviderWithContext` optional interface has been added to support passing contexts on credential retrieval ([#3223](#3223))
  * Credential providers that implement the optional `ProviderWithContext` will have context passed to them
  * `ec2rolecreds.EC2RoleProvider`, `endpointcreds.Provider`, `stscreds.AssumeRoleProvider`, `stscreds.WebIdentityRoleProvider` have been updated to support the `ProviderWithContext` interface
  * Fixes [#3213](#3213)
* `aws/ec2metadata`: Context aware operations have been added `EC2Metadata` client ([#3223](#3223))
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.

Using Xray with stscreds is difficult and awkward
3 participants