Files
configure-aws-credentials/index.js
2019-11-01 10:32:13 -07:00

54 lines
1.9 KiB
JavaScript

const path = require('path');
const core = require('@actions/core');
const io = require('@actions/io');
async function run() {
try {
// Get inputs
const accessKeyId = core.getInput('aws-access-key-id', { required: true });
const secretAccessKey = core.getInput('aws-secret-access-key', { required: true });
const defaultRegion = core.getInput('aws-default-region', { required: true });
const outputFormat = core.getInput('aws-default-output', { required: false });
const awsHome = path.join(process.env.RUNNER_TEMP, '.aws');
// Ensure awsHome is a directory that exists
await io.mkdirP(awsHome);
// Configure the AWS CLI using environment variables
// AWS_ACCESS_KEY_ID:
// Specifies an AWS access key associated with an IAM user or role
core.exportVariable('AWS_ACCESS_KEY_ID', accessKeyId);
// AWS_SECRET_ACCESS_KEY:
// Specifies the secret key associated with the access key. This is essentially the "password" for the access key.
core.exportVariable('AWS_SECRET_ACCESS_KEY', secretAccessKey);
// AWS_DEFAULT_REGION:
// Specifies the AWS Region to send requests to
core.exportVariable('AWS_DEFAULT_REGION', defaultRegion);
// AWS_DEFAULT_OUTPUT:
// Specifies the output format to use
core.exportVariable('AWS_DEFAULT_OUTPUT', outputFormat);
// AWS_CONFIG_FILE:
// Specifies the location of the file that the AWS CLI uses to store configuration profiles.
core.exportVariable('AWS_CONFIG_FILE', path.join(awsHome, 'config'));
// AWS_SHARED_CREDENTIALS_FILE:
// Specifies the location of the file that the AWS CLI uses to store access keys.
core.exportVariable('AWS_SHARED_CREDENTIALS_FILE', path.join(awsHome, 'credentials'));
}
catch (error) {
core.setFailed(error.message);
}
}
module.exports = run;
/* istanbul ignore next */
if (require.main === module) {
run();
}