# This file was auto-generated by Fern from our API Definition.

import typing

import pydantic
from ..core.pydantic_utilities import IS_PYDANTIC_V2
from .aws_assumed_role_based_auth import AwsAssumedRoleBasedAuth


class AwsBedrockAssumedRoleBasedAuth(AwsAssumedRoleBasedAuth):
    """
    AWS Assumed Role Based Auth for Bedrock
    """

    external_id: typing.Optional[str] = pydantic.Field(default=None)
    """
    Optional external ID to use when assuming the role. This provides an added layer of security by ensuring only parties with the correct external ID can assume the role.
    """

    if IS_PYDANTIC_V2:
        model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow")  # type: ignore # Pydantic v2
    else:

        class Config:
            smart_union = True
            extra = pydantic.Extra.allow
