def get_aws_connection_params(params): enabled = params.pop("use_iam_auth", None) if enabled: region_name = params.pop("region_name", None) rds_client = boto3.client(service_name="rds", region_name=region_name) hostname = params.get("host") hostname = resolve_cname(hostname) if hostname else "localhost" params["password"] = rds_client.generate_db_auth_token( DBHostname=hostname, Port=params.get("port", 5432), DBUsername=params.get("user") or getpass.getuser(), ) return params
def get_connection_params(self): params = super().get_connection_params() enabled = params.pop('use_iam_auth', None) if enabled: rds_client = boto3.client("rds", region_name=settings.AWS_REGION) hostname = params.get('host') hostname = resolve_cname(hostname) if hostname else "localhost" params["password"] = rds_client.generate_db_auth_token( DBHostname=hostname, Port=params.get("port", 5432), DBUsername=params.get("user") or getpass.getuser(), ) return params
def get_connection_params(self): params = super().get_connection_params() enabled = params.pop('use_iam_auth', None) if enabled: aws_region = params.pop('aws_region', None) or config.DEFAULT_AWS_REGION rds_client = boto3.client("rds", region_name=aws_region) hostname = params.get('host') should_resolve_cname = params.pop('resolve_cname', None) or False if should_resolve_cname: hostname = resolve_cname(hostname) if hostname else "localhost" params["password"] = rds_client.generate_db_auth_token( DBHostname=hostname, Port=params.get("port", 5432), DBUsername=params.get("user") or getpass.getuser(), ) return params