-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathcreate-secrets.js
57 lines (51 loc) · 1.26 KB
/
create-secrets.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import c from 'picocolors'
import generateUsage from 'command-line-usage'
import { createSecrets } from '@aws-amplify/discord-bot-support'
export const name = 'create-secrets'
export const description = 'Create secrets in SSM from local dotenv files'
export const options = [
{ name: 'help', alias: 'h', type: Boolean },
{
name: 'app',
alias: 'n',
type: String,
defaultValue: 'hey-amplify',
},
{ name: 'env', alias: 'e', type: String },
// { name: 'dry-run', alias: 'd', type: Boolean },
]
export const usage = generateUsage([
{
header: 'create-secrets',
content: 'Creates secrets in SSM Parameter Store',
},
{
header: 'Options',
optionList: options,
},
])
export async function handler(args) {
if (args.help) {
console.log(usage)
return
}
if (!args.env) {
console.error(c.red('ERROR: env is required'))
console.log(usage)
return
}
console.log(c.blue('Creating secrets...'))
let parameters
try {
parameters = await createSecrets({
appName: args.app,
envName: args.env,
})
} catch (error) {
throw new Error('Failed to create secrets: ' + error.message)
}
console.log(c.green('Success!'))
if (parameters) {
console.log(JSON.stringify(parameters, null, 2))
}
}