This is the Ansible Collection provided by the Juniper Network Automation Team for automating actions in Junos Space.
This Collection is meant for distribution via Ansible Galaxy as is available for all Ansible users to utilize, contribute to, and provide feedback about.
An example for using this collection to manage a log source with Junos Space is as follows.
inventory.ini
(Note the password should be managed by a Vault for a production environment.
[space]
space01 ansible_host=192.168.30.1
[space:vars]
ansible_network_os=juniper.space.space
ansible_connection=httpapi
ansible_user=super
ansible_password=SuperPassword
ansible_httpapi_port=34003
ansible_httpapi_validate_certs=False
ansible_httpapi_use_ssl=True
Below we specify our collection at the Play level which allows us to use the
space_device_info
module without specifying the need for the
Ansible Collection Namespace.
space_with_collections_example.yml
---
- name: Space API Example
hosts: all
connection: httpapi
gather_facts: no
collections:
- juniper.space
tasks:
- name: All devices
space_device_info:
Below we use the block
level keyword, we are able to use the space_device_info
module without the need for the Ansible Collection Namespace.
space_with_collections_block_example.yml
---
- name: Space API Example
hosts: all
connection: httpapi
gather_facts: no
tasks:
- name: Space Block Example
block:
- name: All devices
space_device_info:
collections:
- juniper.space
docs/
: local documentation for the collectionlicense.txt
: optional copy of license(s) for this collectiongalaxy.yml
: source data for the MANIFEST.json that will be part of the collection packageplaybooks/
: playbooks reside heretasks/
: this holds 'task list files' forinclude_tasks
/import_tasks
usage
plugins/
: all ansible plugins and modules go here, each in its own subdirmodules/
: ansible moduleslookups/
: lookup pluginsfilters/
: Jinja2 filter plugins- ... rest of plugins
README.md
: information file (this file)roles/
: directory for ansible rolestests/
: tests for the collection's content
space_device
: managing device state (discovering, removing)address_object
: managing shared address objects including variable, groupsnat_policy
nat_rule