'use strict' let cli = require('heroku-cli-util') let co = require('co') function displayJSON (rules) { cli.log(JSON.stringify(rules, null, 2)) } function * run (context, heroku) { let lib = require('../../lib/trusted-ips')(heroku) let space = context.flags.space || context.args.space if (!space) throw new Error('Space name required.\nUSAGE: heroku trusted-ips my-space') let rules = yield lib.getRules(space) if (context.flags.json) displayJSON(rules) else lib.displayRules(space, rules) } module.exports = { topic: 'trusted-ips', description: 'list trusted IP ranges for a space', help: ` Trusted IP ranges are only available on Private Spaces. The space name is a required parameter. Newly created spaces will have 0.0.0.0/0 set by default allowing all traffic to applications in the space. More than one CIDR block can be provided at a time to the commands listed below. For example 1.2.3.4/20 and 5.6.7.8/20 can be added with: `, needsApp: false, needsAuth: true, args: [{ name: 'space', optional: true, hidden: true }], flags: [ { name: 'space', char: 's', hasValue: true, description: 'space to get inbound rules from' }, { name: 'json', description: 'output in json format' } ], run: cli.command(co.wrap(run)) }