code: function executeCommand(parameters) {
      if (parameters.environment === undefined) { parameters.environment = plugin.myrmex.getConfig('environment'); }
      if (parameters.stage === undefined) { parameters.stage = plugin.myrmex.getConfig('stage'); }
      const context = {
        stage: parameters.stage,
        environment: parameters.environment
      };
      return plugin.findPolicies(parameters.policyIdentifiers)
      .then(policies => {
        return Promise.map(policies, policy => { return policy.deploy(context); });
      })
      .then(reports => {
        const t = new Table();
        _.forEach(reports, report => {
          t.cell('Name', report.name);
          t.cell('Operation', report.operation);
          t.cell('ARN', report.arn);
          t.cell('Deploy time', formatHrTime(report.deployTime));
          t.newRow();
        });
        icli.print('\nPolicies deployed\n');
        icli.print(t.toString());
      })
      .catch(e => {
        if (e.code === 'AccessDenied' && e.cause && e.cause.message) {
          icli.print('\n    ' + icli.format.error('Insufficient permissions to perform the action\n'));
          icli.print('The IAM user/role you are using to perform this action does not have sufficient permissions.\n');
          icli.print(e.cause.message + '\n');
          icli.print('Please update the policies of the user/role before trying again.\n');
          process.exit(1);
        }
        throw e;
      });
    }
docs: Deploy policies
  @param {Object} parameters - the parameters provided in the command and in the prompt
  @returns {Promise<null>} - The execution stops here