Comments (1)
I'm not entirely sure what this means, but as the only ticket we have for IMDS I'll put my recent findings here...
IMDS is a local "service" which yields credentials and other host information via an unmodeled and unstructured service IMDS. See these SEPs for additional info:
1. /seps/accepted/shared/imds-client.md
2./seps/accepted/shared/imds-credentials.md
AWS SDKs have sometimes bundled clients so that in cases where programs using a given AWS SDK are running on an EC2 host, those credientials and other information can be retrieved without adding another dependency, however there is nothing in common between generated AWS service clients and a IMDS client [1].
As CRT has implemented IMDS client internally, it does not make sense to build a pure Kotlin version unless there is some serious fault with the CRT provided client. Additionally, I believe a case could be made to ship this client as a discrete dependency as this functionality is only usable when running on EC2 hosts.
--
1: The Go V2 SDK's hand-written IMDS client reuses some existing middleware from it's SDK for retries but otherwise does not integrate with the service clients. Comments from the Go team regarding their implementation:
if you're curious, here is the code for the IMDS client, https://github.com/aws/aws-sdk-go-v2/tree/main/feature/ec2/imds
[api_client.go](https://github.com/aws/aws-sdk-go-v2/blob/main/feature/ec2/imds/api_client.go) and [api_op_GetMetadata.go](https://github.com/aws/aws-sdk-go-v2/blob/main/feature/ec2/imds/api_op_GetMetadata.go) are probably the most interesting, The middleware stuff is all based on [requiest_middleware.go](https://github.com/aws/aws-sdk-go-v2/blob/main/feature/ec2/imds/request_middleware.go)
from aws-sdk-kotlin.
Related Issues (20)
- S3 store resource failed when upgrading to v1.2.x HOT 2
- Telemetry provider implementation for micrometer HOT 2
- New protocol support for RPCv2/CBOR HOT 1
- ImdsCredentialsProvider does not follow redirects HOT 4
- On-disk credentials caching HOT 1
- Mutual TLS (mTLS)
- Add support for `x-amz-retry-after` header
- Smart defaults configuration
- SNS message signature validation
- Route53 GetHostedZoneLimit HOT 3
- AWS SDK's for other languages (python/java) use a no proxy flag when requesting IMDS metadata HOT 4
- Trouble configuring DynamoDb Client timeout HOT 3
- Retry logic stop early HOT 4
- `RetryCapacityExceededException` not being thrown as expected when `circuitBreakerMode` is tripped in the `StandardRetryStrategy`
- NullPointerException with getObject HOT 12
- CloudWatch Logs's GetLogEvents paginator never terminates HOT 1
- DynamoDbClient.scanPaginated ignores exclusiveStartKey HOT 4
- Large file upload fails HOT 5
- Introduce functionality to wrap a InputStream as a ByteStream HOT 3
- S3Client is uploading files with empty Content-Encoding metadata HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-sdk-kotlin.