Skip to content

Commit

Permalink
Update error format, deps
Browse files Browse the repository at this point in the history
  • Loading branch information
pofallon committed Jan 14, 2019
1 parent 4e6f947 commit 911ba53
Show file tree
Hide file tree
Showing 10 changed files with 207 additions and 225 deletions.
3 changes: 2 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
"mocha": true
},
"parserOptions": {
"sourceType": "module"
"sourceType": "module",
"ecmaVersion": 2018
},
"extends": "eslint:recommended",
"rules": {
Expand Down
135 changes: 14 additions & 121 deletions API.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,7 @@ ALKS JavaScript API
<a name="alks+create"></a>

### alks.create(props) ⇒ [<code>alks</code>](#alks)
Returns a new instance of alks with pre-defined properties (which don't need to be supplied to every method).

Any of the properties required by other methods can be specified here.

Properties present on the current object are carried through to the newly created one.
Returns a new instance of alks with pre-defined properties (which don't need to be supplied to every method).Any of the properties required by other methods can be specified here.Properties present on the current object are carried through to the newly created one.

**Kind**: instance method of [<code>alks</code>](#alks)
**Params**
Expand All @@ -58,18 +54,7 @@ Properties present on the current object are carried through to the newly create

**Example**
```js
var myAlks = alks.create({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
})

myAlks.getKeys({
account: 'anAccount',
role: 'PowerUser',
sessionTime: 2
}).then((creds) => {
// creds.accessKey, creds.secretKey, creds.sessionToken
})
var myAlks = alks.create({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123',})myAlks.getKeys({ account: 'anAccount', role: 'PowerUser', sessionTime: 2}).then((creds) => { // creds.accessKey, creds.secretKey, creds.sessionToken})
```
<a name="alks+getAccounts"></a>
Expand All @@ -85,12 +70,7 @@ Returns a Promise for an array of AWS accounts (and roles) accessible by the use
**Example**
```js
alks.getAccounts({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
}).then((accounts) => {
// accounts[0].account, accounts[0].role, accounts[0].iamKeyActive
})
alks.getAccounts({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123',}).then((accounts) => { // accounts[0].account, accounts[0].role, accounts[0].iamKeyActive})
```
<a name="alks+getKeys"></a>
Expand All @@ -109,15 +89,7 @@ Returns a Promise for AWS STS credentials from ALKS.
**Example**
```js
alks.getKeys({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'PowerUser',
sessionTime: 2
}).then((creds) => {
// creds.accessKey, creds.secretKey, creds.sessionToken
})
alks.getKeys({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'PowerUser', sessionTime: 2}).then((creds) => { // creds.accessKey, creds.secretKey, creds.sessionToken})
```
<a name="alks+getIAMKeys"></a>
Expand All @@ -136,15 +108,7 @@ Returns a Promise for AWS STS credentials with IAM permissions from ALKS.
**Example**
```js
alks.getIAMKeys({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
sessionTime: 1
}).then((creds) => {
// creds.accessKey, creds.secretKey, creds.sessionToken
})
alks.getIAMKeys({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin', sessionTime: 1}).then((creds) => { // creds.accessKey, creds.secretKey, creds.sessionToken})
```
<a name="alks+getAWSRoleTypes"></a>
Expand All @@ -160,12 +124,7 @@ Returns a Promise for an array of available AWS IAM role types
**Example**
```js
alks.getAWSRoleTypes({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
}).then((roleTypes) {
// ['AWS Lambda', 'Amazon EC2', ... ]
})
alks.getAWSRoleTypes({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123',}).then((roleTypes) { // ['AWS Lambda', 'Amazon EC2', ... ]})
```
<a name="alks+getNonServiceAWSRoleTypes"></a>
Expand All @@ -181,12 +140,7 @@ Returns a Promise for an array of available custom role types
**Example**
```js
alks.getNonServiceAWSRoleTypes({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
}).then((roleTypes) => {
// ['AWS Lambda', 'Amazon EC2', ...]
})
alks.getNonServiceAWSRoleTypes({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123',}).then((roleTypes) => { // ['AWS Lambda', 'Amazon EC2', ...]})
```
<a name="alks+createRole"></a>
Expand All @@ -207,17 +161,7 @@ Returns a Promise for the results of creating a new custom AWS IAM account role
**Example**
```js
alks.createRole({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
roleName: 'awsRoleName',
roleType: 'Amazon EC2',
includeDefaultPolicy: 1
}).then((role) => {
// role.roleArn, role.denyArns, role.instanceProfileArn, role.addedRoleToInstanceProfile
})
alks.createRole({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin', roleName: 'awsRoleName', roleType: 'Amazon EC2', includeDefaultPolicy: 1}).then((role) => { // role.roleArn, role.denyArns, role.instanceProfileArn, role.addedRoleToInstanceProfile})
```
<a name="alks+createNonServiceRole"></a>
Expand All @@ -240,19 +184,7 @@ Returns a Promise for the results of creating a new custom AWS IAM trust role
**Example**
```js
alks.createNonServiceRole({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
roleName: 'awsRoleName',
roleType: 'Amazon EC2',
includeDefaultPolicy: 1,
trustArn: 'anExistingRoleArn',
trustType: 'Cross Account'
}).then((role) => {
// role.roleArn, role.denyArns, role.instanceProfileArn, role.addedRoleToInstanceProfile
})
alks.createNonServiceRole({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin', roleName: 'awsRoleName', roleType: 'Amazon EC2', includeDefaultPolicy: 1, trustArn: 'anExistingRoleArn', trustType: 'Cross Account'}).then((role) => { // role.roleArn, role.denyArns, role.instanceProfileArn, role.addedRoleToInstanceProfile})
```
<a name="alks+listAWSAccountRoles"></a>
Expand All @@ -270,14 +202,7 @@ Returns a Promise for an array of AWS custom AWS IAM account roles
**Example**
```js
alks.listAWSAccountRoles({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
}).then((roleNames) => {
// ['customRole1', 'customRole2', ...]
})
alks.listAWSAccountRoles({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin',}).then((roleNames) => { // ['customRole1', 'customRole2', ...]})
```
<a name="alks+getAccountRole"></a>
Expand All @@ -296,15 +221,7 @@ Returns a Promise for the Amazon Resource Name (ARN) of a custom AWS IAM account
**Example**
```js
alks.getAccountRole({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
roleName: 'awsRoleName'
}).then((roleARN) => {
// arn:aws:iam::123:role/acct-managed/awsRoleName
})
alks.getAccountRole({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin', roleName: 'awsRoleName'}).then((roleARN) => { // arn:aws:iam::123:role/acct-managed/awsRoleName})
```
<a name="alks+deleteRole"></a>
Expand All @@ -323,15 +240,7 @@ Returns a Promise for a boolean "true" indicating the role was deleted
**Example**
```js
alks.deleteRole({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
roleName: 'awsRoleName'
}).then(() => {
// success!
})
alks.deleteRole({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin', roleName: 'awsRoleName'}).then(() => { // success!})
```
<a name="alks+createAccessKeys"></a>
Expand All @@ -350,15 +259,7 @@ Returns a Promise for the results of creating new IAM user and long-term access
**Example**
```js
alks.createAccessKeys({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
iamUserName: 'iamUserName'
}).then((user) => {
// user.iamUserArn, user.accessKey, user.secretKey, user.addedIAMUserToGroup
})
alks.createAccessKeys({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin', iamUserName: 'iamUserName'}).then((user) => { // user.iamUserArn, user.accessKey, user.secretKey, user.addedIAMUserToGroup})
```
<a name="alks+deleteIAMUser"></a>
Expand All @@ -377,15 +278,7 @@ Returns a Promise for a boolean "true" indicating the IAM user and long-term acc
**Example**
```js
alks.deleteIAMUser({
baseUrl: 'https://your.alks-host.com',
accessToken: 'abc123',
account: 'anAccount',
role: 'IAMAdmin',
iamUserName: 'iamUserName'
}).then(() => {
// success!
})
alks.deleteIAMUser({ baseUrl: 'https://your.alks-host.com', accessToken: 'abc123', account: 'anAccount', role: 'IAMAdmin', iamUserName: 'iamUserName'}).then(() => { // success!})
```
<a name="account"></a>
Expand Down
12 changes: 5 additions & 7 deletions dist/alks.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,18 +89,16 @@ var alks = (function () {
var response = ref[0];
var json = ref[1];
if (!response.ok) {
if (json && json.statusMessage && json.statusMessage !== 'Success') {
throw new Error(json.statusMessage)
} else if (json && json.errors && json.errors.length) {
throw new Error(json.errors[0])
} else {
throw new Error(response.statusText)
}
throw new AlksError(response, json)
}
return(json)
})
};
var pick = function (obj, props) { return props.reduce(function (a, e) { return (a[e] = obj[e], a); }, {}); };
var AlksError = function (response, json) { return (Object.assign({}, {name: 'AlksError',
message: response.statusText,
status: response.status},
json)); };
var alks$1 = new alks();

return alks$1;
Expand Down
2 changes: 1 addition & 1 deletion dist/alks.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 8 additions & 7 deletions lib/alks.node.js
Original file line number Diff line number Diff line change
Expand Up @@ -410,13 +410,7 @@ class alks {

return Promise.all([responsePromise, jsonPromise]).then(([response, json]) => {
if (!response.ok) {
if (json && json.statusMessage && json.statusMessage !== 'Success') {
throw new Error(json.statusMessage)
} else if (json && json.errors && json.errors.length) {
throw new Error(json.errors[0])
} else {
throw new Error(response.statusText)
}
throw new AlksError(response, json)
}
return(json)
})
Expand All @@ -425,6 +419,13 @@ class alks {

const pick = (obj, props) => props.reduce((a, e) => (a[e] = obj[e], a), {});

const AlksError = (response, json) => ({
name: 'AlksError',
message: response.statusText,
status: response.status,
...json
});

var alks$1 = new alks();

module.exports = alks$1;
Loading

0 comments on commit 911ba53

Please sign in to comment.