chore: Update dist

This commit is contained in:
GitHub Actions
2020-03-03 02:12:02 +00:00
parent 1c435bbd5e
commit 47312577c9
+21 -4
View File
@@ -142,7 +142,16 @@ async function assumeRole(params) {
// Assume a role to get short-lived credentials using longer-lived credentials. // Assume a role to get short-lived credentials using longer-lived credentials.
const isDefined = i => !!i; const isDefined = i => !!i;
const {roleToAssume, roleDurationSeconds, roleSessionName, accessKeyId, secretAccessKey, sessionToken, region} = params; const {
roleToAssume,
roleExternalId,
roleDurationSeconds,
roleSessionName,
accessKeyId,
secretAccessKey,
sessionToken,
region,
} = params;
assert( assert(
[roleToAssume, roleDurationSeconds, roleSessionName, accessKeyId, secretAccessKey, region].every(isDefined), [roleToAssume, roleDurationSeconds, roleSessionName, accessKeyId, secretAccessKey, region].every(isDefined),
"Missing required input when assuming a Role." "Missing required input when assuming a Role."
@@ -159,7 +168,8 @@ async function assumeRole(params) {
const sts = new aws.STS({ const sts = new aws.STS({
accessKeyId, secretAccessKey, sessionToken, region, endpoint, customUserAgent: USER_AGENT accessKeyId, secretAccessKey, sessionToken, region, endpoint, customUserAgent: USER_AGENT
}); });
return sts.assumeRole({
const assumeRoleRequest = {
RoleArn: roleToAssume, RoleArn: roleToAssume,
RoleSessionName: roleSessionName, RoleSessionName: roleSessionName,
DurationSeconds: roleDurationSeconds, DurationSeconds: roleDurationSeconds,
@@ -172,7 +182,13 @@ async function assumeRole(params) {
{Key: 'Branch', Value: GITHUB_REF}, {Key: 'Branch', Value: GITHUB_REF},
{Key: 'Commit', Value: GITHUB_SHA}, {Key: 'Commit', Value: GITHUB_SHA},
] ]
}) };
if (roleExternalId) {
assumeRoleRequest.ExternalId = roleExternalId;
}
return sts.assumeRole(assumeRoleRequest)
.promise() .promise()
.then(function (data) { .then(function (data) {
return { return {
@@ -248,13 +264,14 @@ async function run() {
const sessionToken = core.getInput('aws-session-token', { required: false }); const sessionToken = core.getInput('aws-session-token', { required: false });
const maskAccountId = core.getInput('mask-aws-account-id', { required: false }); const maskAccountId = core.getInput('mask-aws-account-id', { required: false });
const roleToAssume = core.getInput('role-to-assume', {required: false}); const roleToAssume = core.getInput('role-to-assume', {required: false});
const roleExternalId = core.getInput('role-external-id', { required: false });
const roleDurationSeconds = core.getInput('role-duration-seconds', {required: false}) || MAX_ACTION_RUNTIME; const roleDurationSeconds = core.getInput('role-duration-seconds', {required: false}) || MAX_ACTION_RUNTIME;
const roleSessionName = core.getInput('role-session-name', { required: false }) || ROLE_SESSION_NAME; const roleSessionName = core.getInput('role-session-name', { required: false }) || ROLE_SESSION_NAME;
// Get role credentials if configured to do so // Get role credentials if configured to do so
if (roleToAssume) { if (roleToAssume) {
const roleCredentials = await assumeRole( const roleCredentials = await assumeRole(
{accessKeyId, secretAccessKey, sessionToken, region, roleToAssume, roleDurationSeconds, roleSessionName} {accessKeyId, secretAccessKey, sessionToken, region, roleToAssume, roleExternalId, roleDurationSeconds, roleSessionName}
); );
exportCredentials(roleCredentials); exportCredentials(roleCredentials);
} else { } else {