/** * $Id: $ * $Date: $ * */ package org.xmlsh.aws.util; /* * Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ import org.xmlsh.sh.shell.Shell; import com.amazonaws.AmazonClientException; import com.amazonaws.auth.AWSCredentials; import com.amazonaws.auth.AWSCredentialsProvider; import com.amazonaws.auth.BasicAWSCredentials; /** * * DAL: Backwards compatibility with old variables AWS_ACCESS_KEY */ public class AWSEnvCredentialsProvider implements AWSCredentialsProvider { /** Environment variable name for the AWS access key ID */ private static final String ACCESS_KEY_ENV_VAR = "AWS_ACCESS_KEY"; /** Environment variable name for the AWS secret key */ private static final String SECRET_KEY_ENV_VAR = "AWS_SECRET_KEY"; private String access_key; private String secret_key ; public AWSEnvCredentialsProvider(Shell shell) { // Dont hold onto shell in case getCredentials() is called in the future on a different thread access_key = shell.getEnv().getVarString(ACCESS_KEY_ENV_VAR); secret_key = shell.getEnv().getVarString(SECRET_KEY_ENV_VAR); } public AWSCredentials getCredentials() { if ( access_key != null && secret_key != null) { return new BasicAWSCredentials( access_key , secret_key ); } throw new AmazonClientException( "Unable to load AWS credentials from environment variables " + "(" + ACCESS_KEY_ENV_VAR + " and " + SECRET_KEY_ENV_VAR + ")"); } public void refresh() {} @Override public String toString() { return getClass().getSimpleName(); } } /* * Copyright (C) 2008-2014 David A. Lee. * * The contents of this file are subject to the "Simplified BSD License" (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy of the * License at http://www.opensource.org/licenses/bsd-license.php * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. * See the License for the specific language governing rights and limitations under the License. * * The Original Code is: all this file. * * The Initial Developer of the Original Code is David A. Lee * * Portions created by (your name) are Copyright (C) (your legal entity). All Rights Reserved. * * Contributor(s): David A. Lee * */