UNPKG

@heroku-cli/plugin-spaces

Version:

Heroku plugin to manage Heroku Private Spaces

40 lines (34 loc) 1.29 kB
'use strict' let cli = require('heroku-cli-util') async function run(context, heroku) { let lib = require('../../lib/trusted-ips')(heroku) let space = context.flags.space let ruleset = await lib.getRules(space) ruleset.rules = ruleset.rules || [] if (ruleset.rules.find(rs => rs.source === context.args.source)) throw new Error(`A rule already exists for ${context.args.source}.`) ruleset.rules.push({action: 'allow', source: context.args.source}) ruleset = await lib.putRules(space, ruleset) cli.log(`Added ${cli.color.cyan.bold(context.args.source)} to trusted IP ranges on ${cli.color.cyan.bold(space)}`) cli.warn('It may take a few moments for the changes to take effect.') } module.exports = { topic: 'trusted-ips', command: 'add', description: 'Add one range to the list of trusted IP ranges', help: ` Uses CIDR notation. Example: $ heroku trusted-ips:add --space my-space 192.168.2.0/24 Added 192.168.0.1/24 to trusted IP ranges on my-space `, needsApp: false, needsAuth: true, args: [ {name: 'source'}, ], flags: [ {name: 'space', char: 's', hasValue: true, description: 'space to add rule to'}, {name: 'confirm', hasValue: true, description: 'set to space name to bypass confirm prompt'}, ], run: cli.command(run), }