1667834580
NOTE : The collection for Ansible is under development and changes are expected in the namespace/module implementation.
One may use it but it is recommended to currently use juniper.junos roles for professional implementation. Refer - https://github.com/Juniper/ansible-junos-stdlib/tree/roles for more info.
Juniper Ansible collection for Junos
The repo is under active development. If you take a clone, you are getting the latest, and perhaps not entirely stable code.
Juniper Networks supports Ansible for managing devices running the Junos operating system (Junos OS). This collection is hosted on the Ansible Galaxy website under the collection juniper.device. The juniper.device collection includes a set of Ansible modules that perform specific operational and configuration tasks on devices running Junos OS. These tasks include: installing and upgrading Junos OS, provisioning new Junos devices in the network, loading configuration changes, retrieving information, and resetting, rebooting, or shutting down managed devices. Please refer to the INSTALLATION section for instructions on installing this collection.
Ansible galaxy is upgrading to collections and plans to deprecate roles in future. The master branch will now have juniper.device collection support. Juniper.junos roles have been moved to roles branch. For more information for roles, check: https://github.com/Juniper/ansible-junos-stdlib/tree/roles
Since Ansible version >= 2.1, Ansible also natively includes core modules for Junos. The Junos modules included in Ansible core have names which begin with the prefix junos_
. The Junos modules included in this Juniper.device collection have names starting with module types. These two sets of Junos modules can coexist on the same Ansible control machine, and an Ansible play may invoke a module from either (or both) sets. Juniper Networks recommends using the modules in this collection when writing new playbooks that manage Junos devices.
This juniper.device collection includes the following modules:
For ansible collection juniper.device we will need to install junos-eznc(PyEZ) version 2.6.0 or higher.
In addition to the modules listed above, a callback_plugin jsnapy
is available for the module jsnapy
.
The callback_plugin jsnapy
helps to print on the screen additional information regarding jsnapy failed tests. For each failed test, a log will be printed after the RECAP of the playbook as shown in this example:
PLAY RECAP *********************************************************************
qfx10002-01 : ok=3 changed=0 unreachable=0 failed=1
qfx10002-02 : ok=3 changed=0 unreachable=0 failed=1
qfx5100-01 : ok=1 changed=0 unreachable=0 failed=1
JSNAPy Results for: qfx10002-01 ************************************************
Value of 'peer-state' not 'is-equal' at '//bgp-information/bgp-peer' with {"peer-as": "65200", "peer-state": "Active", "peer-address": "100.0.0.21"}
Value of 'peer-state' not 'is-equal' at '//bgp-information/bgp-peer' with {"peer-as": "60021", "peer-state": "Idle", "peer-address": "192.168.0.1"}
Value of 'oper-status' not 'is-equal' at '//interface-information/physical-interface[normalize-space(admin-status)='up' and logical-interface/address-family/address-family-name ]' with {"oper-status": "down", "name": "et-0/0/18"}
JSNAPy Results for: qfx10002-02 ************************************************
Value of 'peer-state' not 'is-equal' at '//bgp-information/bgp-peer' with {"peer-as": "65200", "peer-state": "Active", "peer-address": "100.0.0.21"}
The jsnapy
plugin is currently in Experimental stage, please provide feedback.
Callback plugins are not activated by default. They must be manually added to the Ansible configuration file under the [defaults]
section using the variable callback_whitelist
. Specifically, these lines should be added to the Ansible configuration file in order to allow the jsnapy callback plugin:
[defaults]
callback_whitelist = jsnapy
Official Juniper documentation (detailed information, including examples)
You must have the DEPENDENCIES installed on your system. Check requirements.txt for the dependencies.
In MacOS Mojave and newer (>=10.14), ssh keys created with the system ssh-keygen
are created using the newer 'OPENSSH' key format, even when specifying -t rsa
during creation. This directly affects the usage of ssh keys, particularly when using the ssh_private_key_file
. To create/convert/check keys, follow these steps:
ssh-keygen -m PEM -t rsa -b 4096
head -n1 ~/.ssh/some_private_key
RSA keys will be -----BEGIN RSA PRIVATE KEY-----
and OPENSSH keys will be -----BEGIN OPENSSH PRIVATE KEY-----
ssh-keygen -p -m PEM -f ~/.ssh/some_key
You can use the ansible-galaxy install command to install the latest version of the juniper.device collection.
sudo ansible-galaxy collection install juniper.device
You can also use the ansible-galaxy install command to install the latest development version of the junos role directly from GitHub.
sudo ansible-galaxy collection install git+https://github.com/Juniper/ansible-junos-stdlib.git#/ansible_collections/juniper/device
For more information visit - https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#specifying-the-location-to-search-for-collections
For testing you can git clone
this repo and run the env-setup
script in the repo directory:
user@ansible-junos-stdlib> source env-setup
This will set your $ANSIBLE_LIBRARY
variable to the repo location and the installed Ansible library path. For example:
$ echo $ANSIBLE_LIBRARY /home/jeremy/Ansible/ansible-junos-stdlib/library:/usr/share/ansible
To run this as a Docker container, which includes JSNAPy and PyEZ, simply pull it from the Docker hub and run it. The following will pull the latest image and run it in an interactive ash shell.
docker run -it --rm juniper/pyez-ansible
Although, you'll probably want to bind mount a host directory (perhaps the directory containing your playbooks and associated files). The following will bind mount the current working directory and start the ash shell.
docker run -it --rm -v $PWD:/project juniper/pyez-ansible
You can also use the container as an executable to run your playbooks. Let's assume we have a typical playbook structure as below:
example
|playbook.yml
|hosts
|-vars
|-templates
|-scripts
We can move to the example directory and run the playbook with the following command:
cd example/ docker run -it --rm -v $PWD:/playbooks juniper/pyez-ansible ansible-playbook -i hosts playbook.yml
You can pass any valid command string after the container name and it will be passed to Bash for execution.
You may have noticed that the base command is almost always the same. We can also use an alias to save some keystrokes.
alias pb-ansible="docker run -it --rm -v $PWD:/project juniper/pyez-ansible ansible-playbook" pb-ansible -i hosts playbook.yml
It's possible to install additional OS (Alpine) packages, Python packages (via pip), and Ansible roles or collections at container instantiation. This can be done by passing in environment variables or bind mounting files.
Environment Variable: $APK
Bind Mount: /extras/apk.txt
File Format: list of valid Alpine packages, one per line Examples:
As an environment variable, where the file containing a list of packages is in the current directory.
docker run -it --rm -v $PWD:/project -e APK="apk.txt" juniper/pyez-ansible
As a bind mount.
docker run -it --rm -v $PWD/apk.txt:/extras/apk.txt juniper/pyez-ansible
Environment Variable: $REQ
Bind Mount: /extras/requirements.txt
File Format: pip requirements file
Examples:
docker run -it --rm -v $PWD:/project -e REQ="requirements.txt" juniper/pyez-ansible
As a bind mount.
docker run -it --rm -v $PWD/requirements.txt:/extras/requirements.txt juniper/pyez-ansible
Environment Variable: $ROLES
Bind Mount: /extras/requirements.yml
File Format: Ansible requirements file
NOTE: This works for collections as well as roles.
Examples:
docker run -it --rm -v $PWD:/project -e REQ="requirements.yml" juniper/pyez-ansible
As a bind mount.
docker run -it --rm -v $PWD/requirements.txt:/extras/requirements.yml juniper/pyez-ansible
This example outlines how to use Ansible to install or upgrade the software image on a device running Junos OS.
---
- name: Install Junos OS
hosts: dc1
collections:
- juniper.device
connection: local
gather_facts: no
vars:
wait_time: 3600
pkg_dir: /var/tmp/junos-install
OS_version: 14.1R1.10
OS_package: jinstall-14.1R1.10-domestic-signed.tgz
log_dir: /var/log/ansible
tasks:
- name: Checking NETCONF connectivity
wait_for: host={{ inventory_hostname }} port=830 timeout=5
- name: Install Junos OS package
software:
reboot: yes
version: "{{ OS_version }}"
package: "{{ pkg_dir }}/{{ OS_package }}"
logfile: "{{ log_dir }}/software.log"
register: sw
notify:
- wait_reboot
handlers:
- name: wait_reboot
wait_for: host={{ inventory_hostname }} port=830 timeout={{ wait_time }}
when: not sw.check_mode
This modules requires the following to be installed on the Ansible control machine:
Apache 2.0
Support for this juniper.device collection is provided by the community and Juniper Networks. If you have an issue with a module in the juniper.device collection, you may:
Support for the Junos modules included in Ansible core is provided by Ansible. If you have an issue with an Ansible core module you should open a Github issue against the Ansible project.
Juniper Networks is actively contributing to and maintaining this repo. Please contact jnpr-community-netdev@juniper.net for any queries.
Contributors: Nitin Kumar, Rahul Kumar, Stephen Steiner
Former Contributors:
Stacy W Smith, Jeremy Schulman, Rick Sherman, Damien Garros, David Gethings
Author: Juniper
Download Link: Download The Source Code
Official Website: https://github.com/Juniper/ansible-junos-stdlib
License: Apache-2.0 license
#Ansible #webdevelopers
1621559580
This article will be looking into one of the most popular questions in Java Language – What is Collection in Java? Also, what do you mean by Collections in Java? Are Collection and Collections the same or different in Java?
#full stack development #collection #collection vs collections in java #collections in java #difference between collection and collections in java
1667747700
A collaborative curated list of awesome Ansible resources, tools, Roles, tutorials and other related stuff.
Ansible is an open source toolkit, written in Python, it is used for configuration management, application deployment, continuous delivery, IT infrastructure automation and automation in general.
Official resources by and for Ansible.
Places where to chat with the Ansible community
Tutorials and courses to learn Ansible.
Books about Ansible.
Video tutorials and Ansible training.
Tools for and using Ansible.
Best practices and other opinions on Ansible.
Awesome production ready Playbooks, Roles and Collections to get you up and running.
Author: ansible-community
Source Code: https://github.com/ansible-community/awesome-ansible
License: CC0-1.0 license
1667834580
NOTE : The collection for Ansible is under development and changes are expected in the namespace/module implementation.
One may use it but it is recommended to currently use juniper.junos roles for professional implementation. Refer - https://github.com/Juniper/ansible-junos-stdlib/tree/roles for more info.
Juniper Ansible collection for Junos
The repo is under active development. If you take a clone, you are getting the latest, and perhaps not entirely stable code.
Juniper Networks supports Ansible for managing devices running the Junos operating system (Junos OS). This collection is hosted on the Ansible Galaxy website under the collection juniper.device. The juniper.device collection includes a set of Ansible modules that perform specific operational and configuration tasks on devices running Junos OS. These tasks include: installing and upgrading Junos OS, provisioning new Junos devices in the network, loading configuration changes, retrieving information, and resetting, rebooting, or shutting down managed devices. Please refer to the INSTALLATION section for instructions on installing this collection.
Ansible galaxy is upgrading to collections and plans to deprecate roles in future. The master branch will now have juniper.device collection support. Juniper.junos roles have been moved to roles branch. For more information for roles, check: https://github.com/Juniper/ansible-junos-stdlib/tree/roles
Since Ansible version >= 2.1, Ansible also natively includes core modules for Junos. The Junos modules included in Ansible core have names which begin with the prefix junos_
. The Junos modules included in this Juniper.device collection have names starting with module types. These two sets of Junos modules can coexist on the same Ansible control machine, and an Ansible play may invoke a module from either (or both) sets. Juniper Networks recommends using the modules in this collection when writing new playbooks that manage Junos devices.
This juniper.device collection includes the following modules:
For ansible collection juniper.device we will need to install junos-eznc(PyEZ) version 2.6.0 or higher.
In addition to the modules listed above, a callback_plugin jsnapy
is available for the module jsnapy
.
The callback_plugin jsnapy
helps to print on the screen additional information regarding jsnapy failed tests. For each failed test, a log will be printed after the RECAP of the playbook as shown in this example:
PLAY RECAP *********************************************************************
qfx10002-01 : ok=3 changed=0 unreachable=0 failed=1
qfx10002-02 : ok=3 changed=0 unreachable=0 failed=1
qfx5100-01 : ok=1 changed=0 unreachable=0 failed=1
JSNAPy Results for: qfx10002-01 ************************************************
Value of 'peer-state' not 'is-equal' at '//bgp-information/bgp-peer' with {"peer-as": "65200", "peer-state": "Active", "peer-address": "100.0.0.21"}
Value of 'peer-state' not 'is-equal' at '//bgp-information/bgp-peer' with {"peer-as": "60021", "peer-state": "Idle", "peer-address": "192.168.0.1"}
Value of 'oper-status' not 'is-equal' at '//interface-information/physical-interface[normalize-space(admin-status)='up' and logical-interface/address-family/address-family-name ]' with {"oper-status": "down", "name": "et-0/0/18"}
JSNAPy Results for: qfx10002-02 ************************************************
Value of 'peer-state' not 'is-equal' at '//bgp-information/bgp-peer' with {"peer-as": "65200", "peer-state": "Active", "peer-address": "100.0.0.21"}
The jsnapy
plugin is currently in Experimental stage, please provide feedback.
Callback plugins are not activated by default. They must be manually added to the Ansible configuration file under the [defaults]
section using the variable callback_whitelist
. Specifically, these lines should be added to the Ansible configuration file in order to allow the jsnapy callback plugin:
[defaults]
callback_whitelist = jsnapy
Official Juniper documentation (detailed information, including examples)
You must have the DEPENDENCIES installed on your system. Check requirements.txt for the dependencies.
In MacOS Mojave and newer (>=10.14), ssh keys created with the system ssh-keygen
are created using the newer 'OPENSSH' key format, even when specifying -t rsa
during creation. This directly affects the usage of ssh keys, particularly when using the ssh_private_key_file
. To create/convert/check keys, follow these steps:
ssh-keygen -m PEM -t rsa -b 4096
head -n1 ~/.ssh/some_private_key
RSA keys will be -----BEGIN RSA PRIVATE KEY-----
and OPENSSH keys will be -----BEGIN OPENSSH PRIVATE KEY-----
ssh-keygen -p -m PEM -f ~/.ssh/some_key
You can use the ansible-galaxy install command to install the latest version of the juniper.device collection.
sudo ansible-galaxy collection install juniper.device
You can also use the ansible-galaxy install command to install the latest development version of the junos role directly from GitHub.
sudo ansible-galaxy collection install git+https://github.com/Juniper/ansible-junos-stdlib.git#/ansible_collections/juniper/device
For more information visit - https://docs.ansible.com/ansible/latest/user_guide/collections_using.html#specifying-the-location-to-search-for-collections
For testing you can git clone
this repo and run the env-setup
script in the repo directory:
user@ansible-junos-stdlib> source env-setup
This will set your $ANSIBLE_LIBRARY
variable to the repo location and the installed Ansible library path. For example:
$ echo $ANSIBLE_LIBRARY /home/jeremy/Ansible/ansible-junos-stdlib/library:/usr/share/ansible
To run this as a Docker container, which includes JSNAPy and PyEZ, simply pull it from the Docker hub and run it. The following will pull the latest image and run it in an interactive ash shell.
docker run -it --rm juniper/pyez-ansible
Although, you'll probably want to bind mount a host directory (perhaps the directory containing your playbooks and associated files). The following will bind mount the current working directory and start the ash shell.
docker run -it --rm -v $PWD:/project juniper/pyez-ansible
You can also use the container as an executable to run your playbooks. Let's assume we have a typical playbook structure as below:
example
|playbook.yml
|hosts
|-vars
|-templates
|-scripts
We can move to the example directory and run the playbook with the following command:
cd example/ docker run -it --rm -v $PWD:/playbooks juniper/pyez-ansible ansible-playbook -i hosts playbook.yml
You can pass any valid command string after the container name and it will be passed to Bash for execution.
You may have noticed that the base command is almost always the same. We can also use an alias to save some keystrokes.
alias pb-ansible="docker run -it --rm -v $PWD:/project juniper/pyez-ansible ansible-playbook" pb-ansible -i hosts playbook.yml
It's possible to install additional OS (Alpine) packages, Python packages (via pip), and Ansible roles or collections at container instantiation. This can be done by passing in environment variables or bind mounting files.
Environment Variable: $APK
Bind Mount: /extras/apk.txt
File Format: list of valid Alpine packages, one per line Examples:
As an environment variable, where the file containing a list of packages is in the current directory.
docker run -it --rm -v $PWD:/project -e APK="apk.txt" juniper/pyez-ansible
As a bind mount.
docker run -it --rm -v $PWD/apk.txt:/extras/apk.txt juniper/pyez-ansible
Environment Variable: $REQ
Bind Mount: /extras/requirements.txt
File Format: pip requirements file
Examples:
docker run -it --rm -v $PWD:/project -e REQ="requirements.txt" juniper/pyez-ansible
As a bind mount.
docker run -it --rm -v $PWD/requirements.txt:/extras/requirements.txt juniper/pyez-ansible
Environment Variable: $ROLES
Bind Mount: /extras/requirements.yml
File Format: Ansible requirements file
NOTE: This works for collections as well as roles.
Examples:
docker run -it --rm -v $PWD:/project -e REQ="requirements.yml" juniper/pyez-ansible
As a bind mount.
docker run -it --rm -v $PWD/requirements.txt:/extras/requirements.yml juniper/pyez-ansible
This example outlines how to use Ansible to install or upgrade the software image on a device running Junos OS.
---
- name: Install Junos OS
hosts: dc1
collections:
- juniper.device
connection: local
gather_facts: no
vars:
wait_time: 3600
pkg_dir: /var/tmp/junos-install
OS_version: 14.1R1.10
OS_package: jinstall-14.1R1.10-domestic-signed.tgz
log_dir: /var/log/ansible
tasks:
- name: Checking NETCONF connectivity
wait_for: host={{ inventory_hostname }} port=830 timeout=5
- name: Install Junos OS package
software:
reboot: yes
version: "{{ OS_version }}"
package: "{{ pkg_dir }}/{{ OS_package }}"
logfile: "{{ log_dir }}/software.log"
register: sw
notify:
- wait_reboot
handlers:
- name: wait_reboot
wait_for: host={{ inventory_hostname }} port=830 timeout={{ wait_time }}
when: not sw.check_mode
This modules requires the following to be installed on the Ansible control machine:
Apache 2.0
Support for this juniper.device collection is provided by the community and Juniper Networks. If you have an issue with a module in the juniper.device collection, you may:
Support for the Junos modules included in Ansible core is provided by Ansible. If you have an issue with an Ansible core module you should open a Github issue against the Ansible project.
Juniper Networks is actively contributing to and maintaining this repo. Please contact jnpr-community-netdev@juniper.net for any queries.
Contributors: Nitin Kumar, Rahul Kumar, Stephen Steiner
Former Contributors:
Stacy W Smith, Jeremy Schulman, Rick Sherman, Damien Garros, David Gethings
Author: Juniper
Download Link: Download The Source Code
Official Website: https://github.com/Juniper/ansible-junos-stdlib
License: Apache-2.0 license
#Ansible #webdevelopers
1672332269
This collection provides battle tested hardening for:
The hardening is intended to be compliant with the Inspec DevSec Baselines:
The roles are now part of the hardening-collection. We have kept the old releases of the os-hardening
role in this repository, so you can find the them by exploring older tags. The last release of the standalone role was 6.2.0.
The other roles are in separate archives repositories:
In progress, not working:
Install the collection via ansible-galaxy:
ansible-galaxy collection install devsec.hardening
Please refer to the examples in the readmes of the role.
See Ansible Using collections for more details.
See the contributor guideline.
See the changelog.
Todos:
General information:
Author: Dev-sec
Source Code: https://github.com/dev-sec/ansible-collection-hardening
License: Apache-2.0 license
1667973300
This repo hosts the community.vmware
Ansible Collection.
The collection includes the VMware modules and plugins supported by Ansible VMware community to help the management of VMware infrastructure.
Release | Status | Expected end of life |
---|---|---|
3 | Maintained | Nov 2024 |
2 | Maintained (bug fixes only) | Nov 2023 |
1 | Unmaintained | Nov 2022 |
This collection has been tested against following Ansible versions: >=2.13.0.
For collections that support Ansible 2.9, please ensure you update your network_os
to use the fully qualified collection name (for example, cisco.ios.ios
). Plugins and modules within a collection may be tested with only specific Ansible versions. A collection may contain metadata that identifies these versions. PEP440 is the schema used to describe the versions of Ansible.
Before using the VMware community collection, you need to install the collection with the ansible-galaxy
CLI:
ansible-galaxy collection install community.vmware
You can also include it in a requirements.yml
file and install it via ansible-galaxy collection install -r requirements.yml
using the format:
collections:
- name: community.vmware
VMware community collection depends on Python 3.8+ and on following third party libraries:
Installing collection does not install any required third party Python libraries or SDKs. You need to install the required Python libraries using following command:
pip install -r ~/.ansible/collections/ansible_collections/community/vmware/requirements.txt
If you are working on developing and/or testing VMware community collection, you may want to install additional requirements using following command:
pip install -r ~/.ansible/collections/ansible_collections/community/vmware/test-requirements.txt
Name | Description |
---|---|
community.vmware.vmware_tools | Execute tasks inside a VM via VMware Tools |
Name | Description |
---|---|
community.vmware.vmware | HttpApi Plugin for VMware REST API |
Name | Description |
---|---|
community.vmware.vmware_host_inventory | VMware ESXi hostsystem inventory source |
community.vmware.vmware_vm_inventory | VMware Guest inventory source |
Name | Description |
---|---|
community.vmware.vcenter_domain_user_group_info | Gather user or group information of a domain |
community.vmware.vcenter_extension | Register/deregister vCenter Extensions |
community.vmware.vcenter_extension_info | Gather info vCenter extensions |
community.vmware.vcenter_folder | Manage folders on given datacenter |
community.vmware.vcenter_license | Manage VMware vCenter license keys |
community.vmware.vcenter_standard_key_provider | Add, reconfigure or remove Standard Key Provider on vCenter server |
community.vmware.vmware_about_info | Provides information about VMware server to which user is connecting to |
community.vmware.vmware_category | Manage VMware categories |
community.vmware.vmware_category_info | Gather info about VMware tag categories |
community.vmware.vmware_cfg_backup | Backup / Restore / Reset ESXi host configuration |
community.vmware.vmware_cluster | Manage VMware vSphere clusters |
community.vmware.vmware_cluster_dpm | Manage Distributed Power Management (DPM) on VMware vSphere clusters |
community.vmware.vmware_cluster_drs | Manage Distributed Resource Scheduler (DRS) on VMware vSphere clusters |
community.vmware.vmware_cluster_ha | Manage High Availability (HA) on VMware vSphere clusters |
community.vmware.vmware_cluster_info | Gather info about clusters available in given vCenter |
community.vmware.vmware_cluster_vcls | Override the default vCLS (vSphere Cluster Services) VM disk placement for this cluster. |
community.vmware.vmware_cluster_vsan | Manages virtual storage area network (vSAN) configuration on VMware vSphere clusters |
community.vmware.vmware_content_deploy_ovf_template | Deploy Virtual Machine from ovf template stored in content library. |
community.vmware.vmware_content_deploy_template | Deploy Virtual Machine from template stored in content library. |
community.vmware.vmware_content_library_info | Gather information about VMWare Content Library |
community.vmware.vmware_content_library_manager | Create, update and delete VMware content library |
community.vmware.vmware_datacenter | Manage VMware vSphere Datacenters |
community.vmware.vmware_datacenter_info | Gather information about VMware vSphere Datacenters |
community.vmware.vmware_datastore | Configure Datastores |
community.vmware.vmware_datastore_cluster | Manage VMware vSphere datastore clusters |
community.vmware.vmware_datastore_cluster_manager | Manage VMware vSphere datastore cluster's members |
community.vmware.vmware_datastore_info | Gather info about datastores available in given vCenter |
community.vmware.vmware_datastore_maintenancemode | Place a datastore into maintenance mode |
community.vmware.vmware_deploy_ovf | Deploys a VMware virtual machine from an OVF or OVA file |
community.vmware.vmware_drs_group | Creates vm/host group in a given cluster. |
community.vmware.vmware_drs_group_info | Gathers info about DRS VM/Host groups on the given cluster |
community.vmware.vmware_drs_group_manager | Manage VMs and Hosts in DRS group. |
community.vmware.vmware_drs_rule_info | Gathers info about DRS rule on the given cluster |
community.vmware.vmware_dvs_host | Add or remove a host from distributed virtual switch |
community.vmware.vmware_dvs_portgroup | Create or remove a Distributed vSwitch portgroup. |
community.vmware.vmware_dvs_portgroup_find | Find portgroup(s) in a VMware environment |
community.vmware.vmware_dvs_portgroup_info | Gathers info DVS portgroup configurations |
community.vmware.vmware_dvswitch | Create or remove a Distributed Switch |
community.vmware.vmware_dvswitch_info | Gathers info dvswitch configurations |
community.vmware.vmware_dvswitch_lacp | Manage LACP configuration on a Distributed Switch |
community.vmware.vmware_dvswitch_nioc | Manage distributed switch Network IO Control |
community.vmware.vmware_dvswitch_pvlans | Manage Private VLAN configuration of a Distributed Switch |
community.vmware.vmware_dvswitch_uplink_pg | Manage uplink portproup configuration of a Distributed Switch |
community.vmware.vmware_evc_mode | Enable/Disable EVC mode on vCenter |
community.vmware.vmware_export_ovf | Exports a VMware virtual machine to an OVF file, device files and a manifest file |
community.vmware.vmware_first_class_disk | Manage VMware vSphere First Class Disks |
community.vmware.vmware_folder_info | Provides information about folders in a datacenter |
community.vmware.vmware_guest | Manages virtual machines in vCenter |
community.vmware.vmware_guest_boot_info | Gather info about boot options for the given virtual machine |
community.vmware.vmware_guest_boot_manager | Manage boot options for the given virtual machine |
community.vmware.vmware_guest_controller | Manage disk or USB controllers related to virtual machine in given vCenter infrastructure |
community.vmware.vmware_guest_cross_vc_clone | Cross-vCenter VM/template clone |
community.vmware.vmware_guest_custom_attribute_defs | Manage custom attributes definitions for virtual machine from VMware |
community.vmware.vmware_guest_custom_attributes | Manage custom attributes from VMware for the given virtual machine |
community.vmware.vmware_guest_customization_info | Gather info about VM customization specifications |
community.vmware.vmware_guest_disk | Manage disks related to virtual machine in given vCenter infrastructure |
community.vmware.vmware_guest_disk_info | Gather info about disks of given virtual machine |
community.vmware.vmware_guest_file_operation | Files operation in a VMware guest operating system without network |
community.vmware.vmware_guest_find | Find the folder path(s) for a virtual machine by name or UUID |
community.vmware.vmware_guest_info | Gather info about a single VM |
community.vmware.vmware_guest_instant_clone | Instant Clone VM |
community.vmware.vmware_guest_move | Moves virtual machines in vCenter |
community.vmware.vmware_guest_network | Manage network adapters of specified virtual machine in given vCenter infrastructure |
community.vmware.vmware_guest_powerstate | Manages power states of virtual machines in vCenter |
community.vmware.vmware_guest_register_operation | VM inventory registration operation |
community.vmware.vmware_guest_screenshot | Create a screenshot of the Virtual Machine console. |
community.vmware.vmware_guest_sendkey | Send USB HID codes to the Virtual Machine's keyboard. |
community.vmware.vmware_guest_serial_port | Manage serial ports on an existing VM |
community.vmware.vmware_guest_snapshot | Manages virtual machines snapshots in vCenter |
community.vmware.vmware_guest_snapshot_info | Gather info about virtual machine's snapshots in vCenter |
community.vmware.vmware_guest_storage_policy | Set VM Home and disk(s) storage policy profiles. |
community.vmware.vmware_guest_tools_info | Gather info about VMware tools installed in VM |
community.vmware.vmware_guest_tools_upgrade | Module to upgrade VMTools |
community.vmware.vmware_guest_tools_wait | Wait for VMware tools to become available |
community.vmware.vmware_guest_tpm | Add or remove vTPM device for specified VM. |
community.vmware.vmware_guest_vgpu | Modify vGPU video card profile of the specified virtual machine in the given vCenter infrastructure |
community.vmware.vmware_guest_video | Modify video card configurations of specified virtual machine in given vCenter infrastructure |
community.vmware.vmware_host | Add, remove, or move an ESXi host to, from, or within vCenter |
community.vmware.vmware_host_acceptance | Manage the host acceptance level of an ESXi host |
community.vmware.vmware_host_active_directory | Joins an ESXi host system to an Active Directory domain or leaves it |
community.vmware.vmware_host_auto_start | Manage the auto power ON or OFF for vm on ESXi host |
community.vmware.vmware_host_capability_info | Gathers info about an ESXi host's capability information |
community.vmware.vmware_host_config_info | Gathers info about an ESXi host's advance configuration information |
community.vmware.vmware_host_config_manager | Manage advanced system settings of an ESXi host |
community.vmware.vmware_host_custom_attributes | Manage custom attributes from VMware for the given ESXi host |
community.vmware.vmware_host_datastore | Manage a datastore on ESXi host |
community.vmware.vmware_host_disk_info | Gathers information about disks attached to given ESXi host/s. |
community.vmware.vmware_host_dns | Manage DNS configuration of an ESXi host system |
community.vmware.vmware_host_dns_info | Gathers info about an ESXi host's DNS configuration information |
community.vmware.vmware_host_facts | Gathers facts about remote ESXi hostsystem |
community.vmware.vmware_host_feature_info | Gathers info about an ESXi host's feature capability information |
community.vmware.vmware_host_firewall_info | Gathers info about an ESXi host's firewall configuration information |
community.vmware.vmware_host_firewall_manager | Manage firewall configurations about an ESXi host |
community.vmware.vmware_host_hyperthreading | Enables/Disables Hyperthreading optimization for an ESXi host system |
community.vmware.vmware_host_ipv6 | Enables/Disables IPv6 support for an ESXi host system |
community.vmware.vmware_host_iscsi | Manage the iSCSI configuration of ESXi host |
community.vmware.vmware_host_iscsi_info | Gather iSCSI configuration information of ESXi host |
community.vmware.vmware_host_kernel_manager | Manage kernel module options on ESXi hosts |
community.vmware.vmware_host_lockdown | Manage administrator permission for the local administrative account for the ESXi host |
community.vmware.vmware_host_lockdown_exceptions | Manage Lockdown Mode Exception Users |
community.vmware.vmware_host_logbundle | Fetch logbundle file from ESXi |
community.vmware.vmware_host_logbundle_info | Gathers manifest info for logbundle |
community.vmware.vmware_host_ntp | Manage NTP server configuration of an ESXi host |
community.vmware.vmware_host_ntp_info | Gathers info about NTP configuration on an ESXi host |
community.vmware.vmware_host_package_info | Gathers info about available packages on an ESXi host |
community.vmware.vmware_host_passthrough | Manage PCI device passthrough settings on host |
community.vmware.vmware_host_powermgmt_policy | Manages the Power Management Policy of an ESXI host system |
community.vmware.vmware_host_powerstate | Manages power states of host systems in vCenter |
community.vmware.vmware_host_scanhba | Rescan host HBA's and optionally refresh the storage system |
community.vmware.vmware_host_scsidisk_info | Gather information about SCSI disk attached to the given ESXi |
community.vmware.vmware_host_service_info | Gathers info about an ESXi host's services |
community.vmware.vmware_host_service_manager | Manage services on a given ESXi host |
community.vmware.vmware_host_snmp | Configures SNMP on an ESXi host system |
community.vmware.vmware_host_sriov | Manage SR-IOV settings on host |
community.vmware.vmware_host_ssl_info | Gather info of ESXi host system about SSL |
community.vmware.vmware_host_tcpip_stacks | Manage the TCP/IP Stacks configuration of ESXi host |
community.vmware.vmware_host_user_manager | Manage users of ESXi |
community.vmware.vmware_host_vmhba_info | Gathers info about vmhbas available on the given ESXi host |
community.vmware.vmware_host_vmnic_info | Gathers info about vmnics available on the given ESXi host |
community.vmware.vmware_local_role_info | Gather info about local roles on an ESXi host |
community.vmware.vmware_local_role_manager | Manage local roles on an ESXi host |
community.vmware.vmware_local_user_info | Gather info about users on the given ESXi host |
community.vmware.vmware_local_user_manager | Manage local users on an ESXi host |
community.vmware.vmware_maintenancemode | Place a host into maintenance mode |
community.vmware.vmware_migrate_vmk | Migrate a VMK interface from VSS to VDS |
community.vmware.vmware_object_custom_attributes_info | Gather custom attributes of an object |
community.vmware.vmware_object_rename | Renames VMware objects |
community.vmware.vmware_object_role_permission | Manage local roles on an ESXi host |
community.vmware.vmware_object_role_permission_info | Gather information about object's permissions |
community.vmware.vmware_portgroup | Create a VMware portgroup |
community.vmware.vmware_portgroup_info | Gathers info about an ESXi host's Port Group configuration |
community.vmware.vmware_recommended_datastore | Returns the recommended datastore from a SDRS-enabled datastore cluster |
community.vmware.vmware_resource_pool | Add/remove resource pools to/from vCenter |
community.vmware.vmware_resource_pool_info | Gathers info about resource pool information |
community.vmware.vmware_tag | Manage VMware tags |
community.vmware.vmware_tag_info | Manage VMware tag info |
community.vmware.vmware_tag_manager | Manage association of VMware tags with VMware objects |
community.vmware.vmware_target_canonical_info | Return canonical (NAA) from an ESXi host system |
community.vmware.vmware_vc_infraprofile_info | List and Export VMware vCenter infra profile configs. |
community.vmware.vmware_vcenter_settings | Configures general settings on a vCenter server |
community.vmware.vmware_vcenter_settings_info | Gather info vCenter settings |
community.vmware.vmware_vcenter_statistics | Configures statistics on a vCenter server |
community.vmware.vmware_vm_config_option | Return supported guest ID list and VM recommended config option for specific guest OS |
community.vmware.vmware_vm_host_drs_rule | Creates vm/host group in a given cluster |
community.vmware.vmware_vm_info | Return basic info pertaining to a VMware machine guest |
community.vmware.vmware_vm_shell | Run commands in a VMware guest operating system |
community.vmware.vmware_vm_storage_policy | Create vSphere storage policies |
community.vmware.vmware_vm_storage_policy_info | Gather information about vSphere storage profile defined storage policy information. |
community.vmware.vmware_vm_vm_drs_rule | Configure VMware DRS Affinity rule for virtual machines in the given cluster |
community.vmware.vmware_vm_vss_dvs_migrate | Migrates a virtual machine from a standard vswitch to distributed |
community.vmware.vmware_vmkernel | Manages a VMware VMkernel Adapter of an ESXi host. |
community.vmware.vmware_vmkernel_info | Gathers VMKernel info about an ESXi host |
community.vmware.vmware_vmotion | Move a virtual machine using vMotion, and/or its vmdks using storage vMotion. |
community.vmware.vmware_vsan_cluster | Configure VSAN clustering on an ESXi host |
community.vmware.vmware_vsan_health_info | Gather information about a VMware vSAN cluster's health |
community.vmware.vmware_vspan_session | Create or remove a Port Mirroring session. |
community.vmware.vmware_vswitch | Manage a VMware Standard Switch to an ESXi host. |
community.vmware.vmware_vswitch_info | Gathers info about an ESXi host's vswitch configurations |
community.vmware.vsphere_copy | Copy a file to a VMware datastore |
community.vmware.vsphere_file | Manage files on a vCenter datastore |
If you want to develop new content for this collection or improve what is already here, the easiest way to work on the collection is to clone it into one of the configured COLLECTIONS_PATHS
, and work on it there.
ansible-test
Refer testing for more information.
ansible-playbook tools/update_documentation.yml
Assuming your (local) repository has set origin
to your GitHub fork and this repository is added as upstream
:
Prepare the release:
git checkout main && git pull && git fetch upstream && git merge upstream/main
.ansible-playbook tools/prepare_release.yml
. The playbook tries to generate the next minor release automatically, but you can also set the version explicitly with --extra-vars "version=$VERSION"
. You will have to set the version explicitly when publishing a new major release.git push --set-upstream origin prepare_$VERSION_release
) and open a PR for review.Push the release:
git checkout main && git pull && git fetch upstream && git merge upstream/main
.git tag -s $VERSION
git push upstream $VERSION
Revert the version in galaxy.yml
back to null
:
git checkout main && git pull && git fetch upstream && git merge upstream/main
.ansible-playbook tools/unset_version.yml
.git push --set-upstream origin unset_version_$VERSION
) and open a PR for review.We have a dedicated Working Group for VMware. You can find other people interested in this in the #ansible-vmware
channel on libera.chat IRC. For more information about communities, meetings and agendas see https://github.com/ansible/community/wiki/VMware.
Author: ansible-collections
Source Code: https://github.com/ansible-collections/community.vmware
License: GPL-3.0, GPL-3.0 licenses found