Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "bugfix",
"description": "Normalize empty container credential URI query strings to `None`."
}
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ async def _resolve_uri_from_env(self) -> URI:
host=parsed.hostname or "",
port=parsed.port,
path=parsed.path,
query=parsed.query,
query=parsed.query or None,
)
else:
raise SmithyIdentityError(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"type": "dependency",
"description": "Update STS credential resolution to use the new async client configuration API."
}
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,18 @@ async def get_identity(

async def _assume_role(self) -> AWSCredentialsIdentity:
from aws_sdk_sts.client import AsyncSTSClient
from aws_sdk_sts.config import Config
from aws_sdk_sts.config import AsyncSTSConfig
from aws_sdk_sts.models import AssumeRoleInput

if self._client is None:
overrides: dict[str, object] = {
"aws_credentials_identity_resolver": self._source_resolver,
"region": self._region,
}
if self._http_client is not None:
overrides["transport"] = self._http_client
self._client = AsyncSTSClient(
config=Config(
aws_credentials_identity_resolver=self._source_resolver,
region=self._region,
transport=self._http_client,
)
config=await AsyncSTSConfig.resolve(**overrides)
)

response = await self._client.assume_role(
Expand Down