pgagnon commented on code in PR #29623: URL: https://github.com/apache/airflow/pull/29623#discussion_r1111979656
########## airflow/providers/amazon/aws/hooks/base_aws.py: ########## @@ -312,19 +312,35 @@ def _get_web_identity_credential_fetcher( base_session = self.basic_session._session or botocore.session.get_session() client_creator = base_session.create_client federation = self.extra_config.get("assume_role_with_web_identity_federation") - if federation == "google": - web_identity_token_loader = self._get_google_identity_token_loader() - else: - raise AirflowException( - f'Unsupported federation: {federation}. Currently "google" only are supported.' - ) + + web_identity_token_loader = ( + { + "file": self._get_file_token_loader, + "google": self._get_google_identity_token_loader, + }.get(federation)() + if type(federation) == str + else None + ) Review Comment: Yes, that's also an option and can be preferred in many cases, but this explicitly allows configuration through the Airflow connections subsystem only. The same can be said about almost all connection types, but we enable specific configurations through extras to allow flexibility. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org