(
self,
*,
api_key: str | AsyncBedrockTokenProvider | None = None,
admin_api_key: str | None = None,
workload_identity: WorkloadIdentity | None = None,
provider: _Provider | None | NotGiven = NOT_GIVEN,
bedrock_token_provider: AsyncBedrockTokenProvider | None = None,
aws_region: str | None = None,
aws_profile: str | None = None,
aws_access_key_id: str | None = None,
aws_secret_access_key: str | None = None,
aws_session_token: str | None = None,
aws_credentials_provider: AwsCredentialsProvider | None = None,
organization: str | None = None,
project: str | None = None,
webhook_secret: str | None = None,
websocket_base_url: str | httpx.URL | None = None,
base_url: str | httpx.URL | None = None,
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
http_client: httpx.AsyncClient | None = None,
max_retries: int | NotGiven = NOT_GIVEN,
default_headers: Mapping[str, str] | None = None,
set_default_headers: Mapping[str, str] | None = None,
default_query: Mapping[str, object] | None = None,
set_default_query: Mapping[str, object] | None = None,
_enforce_credentials: bool | None = None,
_extra_kwargs: Mapping[str, Any] = {},
)
| 745 | |
| 746 | @override |
| 747 | def copy( |
| 748 | self, |
| 749 | *, |
| 750 | api_key: str | AsyncBedrockTokenProvider | None = None, |
| 751 | admin_api_key: str | None = None, |
| 752 | workload_identity: WorkloadIdentity | None = None, |
| 753 | provider: _Provider | None | NotGiven = NOT_GIVEN, |
| 754 | bedrock_token_provider: AsyncBedrockTokenProvider | None = None, |
| 755 | aws_region: str | None = None, |
| 756 | aws_profile: str | None = None, |
| 757 | aws_access_key_id: str | None = None, |
| 758 | aws_secret_access_key: str | None = None, |
| 759 | aws_session_token: str | None = None, |
| 760 | aws_credentials_provider: AwsCredentialsProvider | None = None, |
| 761 | organization: str | None = None, |
| 762 | project: str | None = None, |
| 763 | webhook_secret: str | None = None, |
| 764 | websocket_base_url: str | httpx.URL | None = None, |
| 765 | base_url: str | httpx.URL | None = None, |
| 766 | timeout: float | Timeout | None | NotGiven = NOT_GIVEN, |
| 767 | http_client: httpx.AsyncClient | None = None, |
| 768 | max_retries: int | NotGiven = NOT_GIVEN, |
| 769 | default_headers: Mapping[str, str] | None = None, |
| 770 | set_default_headers: Mapping[str, str] | None = None, |
| 771 | default_query: Mapping[str, object] | None = None, |
| 772 | set_default_query: Mapping[str, object] | None = None, |
| 773 | _enforce_credentials: bool | None = None, |
| 774 | _extra_kwargs: Mapping[str, Any] = {}, |
| 775 | ) -> Self: |
| 776 | if callable(api_key): |
| 777 | raise OpenAIError("Pass refreshable Bedrock credentials via `bedrock_token_provider`, not `api_key`.") |
| 778 | if not isinstance(provider, NotGiven): |
| 779 | raise OpenAIError("Configure `provider` on `AsyncOpenAI`, not on `AsyncBedrockOpenAI.with_options()`.") |
| 780 | if admin_api_key is not None or workload_identity is not None: |
| 781 | raise OpenAIError("AsyncBedrockOpenAI only supports Bedrock bearer token or AWS credential authentication.") |
| 782 | if default_headers is not None and set_default_headers is not None: |
| 783 | raise ValueError("The `default_headers` and `set_default_headers` arguments are mutually exclusive") |
| 784 | if default_query is not None and set_default_query is not None: |
| 785 | raise ValueError("The `default_query` and `set_default_query` arguments are mutually exclusive") |
| 786 | |
| 787 | headers = self._custom_headers |
| 788 | if default_headers is not None: |
| 789 | headers = {**headers, **default_headers} |
| 790 | elif set_default_headers is not None: |
| 791 | headers = set_default_headers |
| 792 | params = self._custom_query |
| 793 | if default_query is not None: |
| 794 | params = {**params, **default_query} |
| 795 | elif set_default_query is not None: |
| 796 | params = set_default_query |
| 797 | |
| 798 | provider_kwargs, inherited_provider, inherited_state = _copy_configuration( |
| 799 | self, |
| 800 | api_key=api_key, |
| 801 | token_provider=bedrock_token_provider, |
| 802 | aws_region=aws_region, |
| 803 | aws_profile=aws_profile, |
| 804 | aws_access_key_id=aws_access_key_id, |
nothing calls this directly
no test coverage detected