sync.fiber(() => { const iam = new AWS.IAM({ apiVersion: '2010-05-08' }); let role = null; let getRoleParams = { RoleName: roleName }; try { console.log('Getting role ' + getRoleParams.RoleName + '...'); role = sync.await(iam.getRole(getRoleParams, sync.defer())); console.log(role); } catch (err) { console.error(err, err.stack) return; } if (role) { helper.modifyFiles(['./config/' + configFilename], [ { regexp: /YOUR_ROLE_ARN/g, replacement: role.Role.Arn } ]); } });
user = sync.await(iam.getUser(getUserParams, sync.defer())); console.log(user); } catch (err) { role = sync.await(iam.getRole(getRoleParams, sync.defer())); console.log(role); } catch (err) { let result = sync.await(iam.updateAssumeRolePolicy(assumeRoleParams, sync.defer())); console.log(result); } catch (err) {
user = sync.await(iam.getUser(params, sync.defer())); console.log(user); } catch (err) { try { console.log('Creating user ' + params.UserName + '...'); user = sync.await(iam.createUser(params, sync.defer())); console.log(user); } catch (err) { try { console.log('Creating access keys for user ' + user.User.UserName + '...'); accessKey = sync.await(iam.createAccessKey(params, sync.defer())); console.log(accessKey); } catch (err) { }; console.log('Attaching policy to user ' + user.User.UserName + '...'); let result = sync.await(iam.attachUserPolicy(attachParams, sync.defer())); console.log('Policy attached'); console.log(result);