def _assume_role(self, sts_client: boto3.client) -> Dict: kw = { "RoleSessionName": self._strip_invalid_session_name_characters( f"Airflow_{self.conn.conn_id}"), **self.conn.assume_role_kwargs, "RoleArn": self.role_arn, } return sts_client.assume_role(**kw)
def _assume_role(self, sts_client: boto3.client, extra_config: dict, role_arn: str, assume_role_kwargs: dict): if "external_id" in extra_config: # Backwards compatibility assume_role_kwargs["ExternalId"] = extra_config.get("external_id") role_session_name = "Airflow_" + self.aws_conn_id self.log.info( "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)", role_arn, role_session_name, ) return sts_client.assume_role(RoleArn=role_arn, RoleSessionName=role_session_name, **assume_role_kwargs)
def _assume_role(self, sts_client: boto3.client) -> Dict: assume_role_kwargs = self.extra_config.get("assume_role_kwargs", {}) if "external_id" in self.extra_config: # Backwards compatibility assume_role_kwargs["ExternalId"] = self.extra_config.get("external_id") role_session_name = self._strip_invalid_session_name_characters(f"Airflow_{self.conn.conn_id}") self.log.debug( "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)", self.role_arn, role_session_name, ) return sts_client.assume_role( RoleArn=self.role_arn, RoleSessionName=role_session_name, **assume_role_kwargs )
def _assume_role( self, sts_client: boto3.client, role_arn: str, assume_role_kwargs: Dict[str, Any] ) -> Dict: if "external_id" in self.extra_config: # Backwards compatibility assume_role_kwargs["ExternalId"] = self.extra_config.get("external_id") role_session_name = f"Airflow_{self.conn.conn_id}" self.log.info( "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)", role_arn, role_session_name, ) return sts_client.assume_role( RoleArn=role_arn, RoleSessionName=role_session_name, **assume_role_kwargs )
def _assume_role(self, sts_client: boto3.client) -> Dict: assume_role_kwargs = self.extra_config.get("assume_role_kwargs", {}) if "ExternalId" not in assume_role_kwargs and "external_id" in self.extra_config: warnings.warn( "'external_id' in extra config is deprecated and will be removed in a future releases. " "Set 'ExternalId' in 'assume_role_kwargs' in extra config.", DeprecationWarning, stacklevel=3, ) assume_role_kwargs["ExternalId"] = self.extra_config.get("external_id") role_session_name = self._strip_invalid_session_name_characters(f"Airflow_{self.conn.conn_id}") self.log.debug( "Doing sts_client.assume_role to role_arn=%s (role_session_name=%s)", self.role_arn, role_session_name, ) return sts_client.assume_role( RoleArn=self.role_arn, RoleSessionName=role_session_name, **assume_role_kwargs )