Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
language: node_js
node_js: 6
node_js: 8
env:
global:
- AWS_DEFAULT_REGION=us-west-2
Expand All @@ -10,7 +10,7 @@ deploy:
provider: npm
email: admin@cmr1.com
api_key:
secure: QahMPoX+N5e7blguwQCFsinZqpZQydPKIXGNDAaqYD+10W3hzm4CNGl1/FC2J3yorWk8CSKHpcPbQ74Hm100dtEE2ceukkJa7fiTg2YdTu/W8WfmpB5UYDhln7aL6hpT3dB3uzmA7QfjoniUGfOO9MvW1Z7gWmtm6BY6CcYfewoZW7C93yll+jQbFaA1NiSaTCwdaycgH2pd0I3T7pN+7b2J+wZvB7PhOrKUS5SYivHSvsom29rKZF8iBoXf7uwIohtkAUX0DsR1hy8wBXi5JsE7NelAABAdH8gHB6auXpRP0akoK94D8ehwGpHaTzJYg8KDuo6F9L5mWq928XdozgRBdYFhW1DDkBSqstSAueXdc+GJnRFR9wr2w14uE+BIJFZ+IUICrqnnbgHw2As6uXm3TgPtBJJN96h27fxZkn4rbTS5Qil7bYK/JfYjYAdAIbxLGIHms3avgCxaE4DBchOo8vNAw7Wv2cs5SKvk5O2yQ3MPMKcPs5RlLdX1gSQ6K0jdhm4xwciY2x/SY/Tr4zQ5Sk3GvUq8V585/Z7rnTj7myU2xE6xjPknfc6d8k92BDikAo97VGMeEt0qPPhN9tv6wzFGreGvy+9Zvr1n88yjlMuG1hg0S04T4UYgUR91UbXVS4qqugD7lmTfqDfaOrSu3fBmXQKgh0rDquUOmCE=
secure: knvWH+MDExO3CZwZnJBRcMaoeXfLcUo473WKreljMsmwGseueMryufCsMQxNYWUkyhoOeQvCaHdWXKDPUFjLiimjhHYPpcwCmK2Y2E2iNSor/Hwm+uJiPslPkQzY1i+y/iP7A6+x7KS/tFLkngsy59MBVtep780sZhEg54gA47fuRKqj92Cs8KoVmhdbKEr3IMfxjf7SJdKuHTnAGWXflnNJiar6qiBDHcS4uQS59F2Wc3uhatZv+aQ7LHapWODKcqlux+4tfn1jYPCUOBmP+niPVcIw+7z3/xnQNyA+mqdHJ5NrZAbKBMMYquyxsEiCrAtKBocScZrI2vbAHUW6y6e2DmGrRZCbcX81K89RgaH1oYqVc2Dbr6BbjJFP1OXhbzHqx3AW/gO0JpwhayS3NENUZ0rO4ol1JU7+PPxnxzabdB9hsFbyhB0ro4GgDCoreChM5Ev9oJaCqE9oYji+x6dIO11GZ0tjUmY3Ywt6LKsd1RSELRwwZyUIwIHGXV+xTF5wICtfvSmezfdQnWgyQIabdIYHnqiH/yLZU3wXasm3u6NaVpGX7g+XNizduX02xMvIEOIEz9pQaWyjV68ZeRop3645xWKUFUhd3diya9LU9g80kx3nDeWOGy6U4/eBnevmQuGPqcumNNDVYWc5wi36Qkuaw8JfHlZBpLe2KYQ=
on:
tags: true
repo: cmr1/node-aws
Expand Down
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"editor.tabSize": 2,
"editor.renderWhitespace": "all",
"editor.multiCursorModifier": "ctrlCmd"
}
40 changes: 40 additions & 0 deletions examples/ecs/start-task.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
const Cmr1Aws = require('../../')
const ecs = new Cmr1Aws.ECS()

const family = 'example-task'
const cluster = 'example-cluster'
const container = 'app'

const run = async () => {
const taskDefinitions = await ecs.getTaskDefinitions({
maxResults: 1,
familyPrefix: family,
sort: 'DESC'
})

if (taskDefinitions.length === 1) {
const task = await taskDefinitions[0].run({
cluster,
overrides: {
containerOverrides: [
{
name: container,
environment: [
{
name: 'ENV_SAMPLE_VAR',
value: 'env-sample-value'
}
]
}
]
}
})

console.log(task)
} else {
console.log(taskDefinitions)
throw new Error(`def count was ${taskDefinitions.length}, expected 1`)
}
}

run()
72 changes: 49 additions & 23 deletions examples/scratch.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,54 @@
'use strict';
'use strict'

const fs = require('fs');
const uuid = require('uuid');
const fs = require('fs')
const uuid = require('uuid')

const { S3, SQS, Route53, ECS, ACM } = require('../lib/services');
const { S3, SQS, Route53, ECS, ACM } = require('../lib/services')

const r53 = new Route53();
const sqs = new SQS()

const params = {
Name: 'somethingfancy-bowtie.io',
CallerReference: uuid.v1()
};
const run = async () => {
const queue = await sqs.getQueue({ QueueName: 'test-queue' })
console.log('queue', queue)

r53.createZone(params, zone => {
console.log(zone);
// const msgs = await queue.listen({})

zone.delete(resp => {
console.log(resp);
});
});
// console.log('msgs', msgs)

queue.poll((msg, callback) => {
const start = Date.now()

SQS.warn('Processing message', msg)

const prefix = `[${msg.MessageId}] - `

const sleep = Math.ceil(Math.random() * 10000)

SQS.warn(prefix, `Sleeping for ${sleep} ms ...`)

setTimeout(() => {
SQS.log(prefix, 'Done sleeping! Deleting message ...')
msg.delete().then(callback).catch(callback)
}, sleep)
})
}

run()

// const r53 = new Route53()

// const params = {
// Name: 'somethingfancy-bowtie.io',
// CallerReference: uuid.v1()
// }

// r53.createZone(params, zone => {
// console.log(zone)

// zone.delete(resp => {
// console.log(resp)
// })
// })

// const acm = new ACM({
// region: process.env.AWS_DEFAULT_REGION || 'us-east-1'
Expand All @@ -34,8 +64,6 @@ r53.createZone(params, zone => {
// console.log(cert);
// });



// var params = {
// Certificate: fs.readFileSync('cert.pem'), /* required */
// PrivateKey: fs.readFileSync('privkey.pem'), /* required */
Expand Down Expand Up @@ -63,9 +91,9 @@ r53.createZone(params, zone => {
// // });

// ecs.newCluster({ clusterName: 'bowtie-v1-test' }, cluster => {
// ecs.getTaskDefinitions({
// maxResults: 1,
// familyPrefix: 'family-prefix'
// ecs.getTaskDefinitions({
// maxResults: 1,
// familyPrefix: 'family-prefix'
// }, taskDefinitions => {
// console.log(`Found ${taskDefinitions.length} task definition(s)`);

Expand Down Expand Up @@ -99,8 +127,6 @@ r53.createZone(params, zone => {
// });
// });



// ecs.getClusters(clusters => {
// // console.log(clusters);
// console.log(`Found ${clusters.length} cluster(s)!\n\n`);
Expand Down Expand Up @@ -166,7 +192,7 @@ r53.createZone(params, zone => {

// recordSet.upsert(resp => {
// Route53.log('Upserted record set!');

// recordSet.delete(resp => {
// Route53.log('Deleted record set!');
// });
Expand Down
39 changes: 39 additions & 0 deletions examples/sqs/polling.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
const { SQS } = require('../../lib/services')

const sqs = new SQS()

const run = async () => {
const queue = await sqs.getQueue({ QueueName: 'test-queue' })

const params = {
MaxNumberOfMessages: 10
}

queue.poll(100, params, (msg, next) => {
const start = Date.now()

SQS.debug('Processing message', msg)

const prefix = `[${msg.MessageId}]`

const sleep = msg.parsed.sleep || Math.ceil(Math.random() * 10000)

// SQS.log(prefix, `Sleeping for ${sleep} ms ...`)

setTimeout(() => {
// SQS.log(prefix, `Done sleeping for ${sleep} ms! Deleting message ...`)
msg.delete().then(() => {
const end = Date.now()
const dur = (end - start) / 1000
// SQS.log(prefix, `Finished in ${dur}s`)
SQS.debug('Deleted msg:', msg.parsed)
next()
}).catch(next)
}, sleep)
})
}

run().catch(err => {
SQS.warn('Caught error in example run()')
SQS.error(err)
})
31 changes: 31 additions & 0 deletions examples/sqs/sendMessage.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const { SQS } = require('../../lib/services')

const sqs = new SQS()

const QueueName = 'test-queue'
const MessageCount = 1000

const run = async () => {
const queue = await sqs.getQueue({ QueueName })
// SQS.log('queue', queue)

// const msgs = await queue.listen({})

// console.log('msgs', msgs)

SQS.log(`Sending ${MessageCount} message(s) to Queue: ${QueueName}`)

for (let i = 1; i <= MessageCount; i++) {
const msg = await queue.sendMessage({
sleep: Math.ceil(Math.random() * 2000)
})
SQS.log(`Sent message #${i} - ${msg.MessageId}`)
}

SQS.log('Done!')
}

run().catch(err => {
SQS.warn('Caught error in example run()')
SQS.error(err)
})
31 changes: 31 additions & 0 deletions examples/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const { SQS, Route53, ECS, ACM } = require('../lib/services')

const sqs = new SQS()

const run = async () => {
const queue = await sqs.getQueue({ QueueName: 'test-queue' })
console.log('queue', queue)

// const msgs = await queue.listen({})

// console.log('msgs', msgs)

queue.poll((msg, callback) => {
const start = Date.now()

SQS.warn('Processing message', msg)

const prefix = `[${msg.MessageId}] - `

const sleep = Math.ceil(Math.random() * 10000)

SQS.warn(prefix, `Sleeping for ${sleep} ms ...`)

setTimeout(() => {
SQS.log(prefix, 'Done sleeping! Deleting message ...')
msg.delete().then(callback).catch(callback)
}, sleep)
})
}

run()
30 changes: 15 additions & 15 deletions hooks/post-version.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
'use strict';
'use strict'

const path = require('path');
const replace = require('replace');
const rootDir = path.join(__dirname, '..');
const packageInfo = require(path.join(rootDir, 'package.json'));
const path = require('path')
const replace = require('replace')
const rootDir = path.join(__dirname, '..')
const packageInfo = require(path.join(rootDir, 'package.json'))

console.log(`Updating markdown files with tagged TravisCI badge to version: "${packageInfo.version}"`);
console.log(`Updating markdown files with tagged TravisCI badge to version: "${packageInfo.version}"`)

replace({
regex: /(https\:\/\/travis\-ci\.org\/cmr1\/node-aws\.svg\?branch\=|\|\s*)v[0-9]+\.[0-9]+\.[0-9]+(\s*\|)?/g,
replacement: `$1v${packageInfo.version}$2`,
paths: [
rootDir
],
include: '*.md',
recursive: true,
silent: false
});
regex: /(https\:\/\/travis\-ci\.org\/cmr1\/node-aws\.svg\?branch\=|\|\s*)v[0-9]+\.[0-9]+\.[0-9]+(\s*\|)?/g,
replacement: `$1v${packageInfo.version}$2`,
paths: [
rootDir
],
include: '*.md',
recursive: true,
silent: false
})
39 changes: 19 additions & 20 deletions hooks/pre-test.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';
'use strict'

const fs = require('fs');
const Cmr1Cli = require('cmr1-cli');
const fs = require('fs')
const Cmr1Cli = require('cmr1-cli')

const cli = new Cmr1Cli();
const cli = new Cmr1Cli()

const aws_env_groups = [
[
Expand All @@ -13,34 +13,33 @@ const aws_env_groups = [
'AWS_ACCESS_KEY_ID',
'AWS_SECRET_ACCESS_KEY'
]
];
]

function succeed(env_group) {

cli.success(`Using AWS credentials defined by: ${env_group.join(' & ')}`);
process.exit(0);
function succeed (env_group) {
cli.success(`Using AWS credentials defined by: ${env_group.join(' & ')}`)
process.exit(0)
}

function fail() {
cli.warn("Locate the missing CMR1 Travis CI AWS account keys, and export as ENV variables before testing.");
cli.error("Unable to find CMR1 AWS test account credentials!");
function fail () {
cli.warn('Locate the missing CMR1 Travis CI AWS account keys, and export as ENV variables before testing.')
cli.error('Unable to find CMR1 AWS test account credentials!')

process.exit(1);
process.exit(1)
}

aws_env_groups.forEach(env_group => {
let is_valid = true;
let is_valid = true

env_group.forEach(env_var => {
if (typeof process.env[env_var] === 'undefined' || process.env[env_var].trim() === '') {
cli.warn(`Unable to find '${env_var}' in environment.`);
is_valid = false;
cli.warn(`Unable to find '${env_var}' in environment.`)
is_valid = false
}
});
})

if (is_valid) {
succeed(env_group);
succeed(env_group)
}
});
})

fail();
fail()
4 changes: 2 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
'use strict';
'use strict'

module.exports = require('./lib/services');
module.exports = require('./lib/services')
Loading