ansible-playbook-cli-js

A node.js wrapper for the ansible-playbook command

Usage no npm install needed!

<script type="module">
  import ansiblePlaybookCliJs from 'https://cdn.skypack.dev/ansible-playbook-cli-js';
</script>

README

ansible-playbook-cli-js

A node.js wrapper for the ansible-playbook command

NPM NPM

NPM version NPM downloads

Installation

Step 1: Prerequisites

Ansible must be installed and accessible in the path

Step 2: Installation

npm install ansible-playbook-cli-js

Then:

var ansiblePlaybookCli = require('ansible-playbook-cli-js');

Usage

With promise

var Options = ansiblePlaybookCli.Options;
var AnsiblePlaybook = ansiblePlaybookCli.AnsiblePlaybook;

var options = new Options(
    /* currentWorkingDirectory */ 'test'
);

var ansiblePlaybook = new AnsiblePlaybook(options);


ansiblePlaybook.command('playbook.yml -i hosts').then(function (data) {
  console.log('data = ', data); 
});


//data = {
//  command: 'ansible-playbook playbook.yml -i hosts ',
//  raw: '\\nPLAY [create test dir] ******************************************************** \\n\\nGATHERING FACTS *************************************************************** \\nok: [127.0.0.1]\\n\\nTASK: [create tmp2 dir] ******************************************************* \\nok: [127.0.0.1]\\n\\nPLAY RECAP ******************************************************************** \\n127.0.0.1                  : ok=2    changed=0    unreachable=0    failed=0   \\n\\n',
//  lines:
//   ['',
//     'PLAY [create test dir] ******************************************************** ',
//     '',
//     'GATHERING FACTS *************************************************************** ',
//     'ok: [127.0.0.1]',
//     '',
//     'TASK: [create tmp2 dir] ******************************************************* ',
//     'ok: [127.0.0.1]',
//     '',
//     'PLAY RECAP ******************************************************************** ',
//     '127.0.0.1                  : ok=2    changed=0    unreachable=0    failed=0   ',
//     '',
//     ''],
//  object: { host: '127.0.0.1', ok: 2, changed: 0, unreachable: 0, failed: 0 }
//}

With callback:


ansiblePlaybook.command('playbook.yml --inventory-file hosts', function (err, data) {
  console.log('data = ', data);
});


Typescript:

import { AnsiblePlaybook, Options } from 'ansible-playbook-cli-js';

const options = new Options(
  /* currentWorkingDirectory */ 'test'
);

const ansiblePlaybook = new AnsiblePlaybook(options);

ansiblePlaybook.command('playbook.yml --inventory-file hosts').then(function (data) {
  console.log('data = ', data);
});

License

MIT