Important
This repository is Deprecated!
The Equinix Ansible Collection has been created to provide an interface to Equinix APIs throughout the platform. Please transition to the Ansible Equinix Collection which has module parity with this Metal collection. The module names and parameters may differ slightly but the same backend APIs are utilized. The Equinix Collection is backed by the more comprehensive and more maintainable metal-python SDK. This collection and metal-python follow upstream API naming and structures closely.
- Equinix Deploy: https://deploy.equinix.com/labs/ansible-collection-equinix/
- Ansible Collection: https://galaxy.ansible.com/ui/repo/published/equinix/cloud/
- GitHub: https://github.com/equinix-labs/ansible-collection-equinix
The Ansible Equinix Metal collection includes a variety of Ansible content to help automate the management of Equinix Metal resources. This collection is now deprecated.
This collection has been tested against following Ansible versions: >=2.9.10.
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.
This collection depends on packet-python. This collection requires Python 2.7 or greater.
Name | Description |
---|---|
equinix.metal.device | Equinix Metal Device inventory source |
Name | Description |
---|---|
equinix.metal.capacity_info | Gather information about Equinix Metal capacity |
equinix.metal.device | Manage a bare metal server in Equinix Metal |
equinix.metal.device_info | Gather information about Equinix Metal devices |
equinix.metal.facility_info | Gather information about Equinix Metal facilities |
equinix.metal.ip_info | Gather information about project IP Addresses |
equinix.metal.ip_subnet | Assign IP subnet to a bare metal server. |
equinix.metal.operating_system_info | Gather information about Equinix Metal operating_systems |
equinix.metal.org_info | Gather information about Equinix Metal organizations |
equinix.metal.plan_info | Gather information about Equinix Metal plans |
equinix.metal.project | Create/delete a project in Equinix Metal |
equinix.metal.project_info | Gather information about Equinix Metal projects |
equinix.metal.sshkey | Create/delete an SSH key in Equinix Metal |
equinix.metal.sshkey_info | Gather information about Equinix Metal SSH keys |
equinix.metal.user_info | Gather information about the logged in user |
You can install the Equinix Metal collection with the Ansible Galaxy CLI:
ansible-galaxy collection install equinix.metal
You can also include it in a requirements.yml
file and install it with ansible-galaxy collection install -r requirements.yml
, using the format:
---
collections:
- name: equinix.metal
The python module dependencies are not installed by ansible-galaxy
. They can
be manually installed using pip:
pip install -r requirements.txt
or:
pip install packet-python
You can either call modules by their Fully Qualified Collection Namespace (FQCN), such as equinix.metal.device
, or you can call modules by their short name if you list the equinix.metal
collection in the playbook's collections
keyword:
---
TODO
NOTE: For Ansible 2.9, you may not see deprecation warnings when you run your playbooks with this collection. Use this documentation to track when a module is deprecated.
- Ansible Using collections for more details.
We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the Equinix Metal collection repository.
If you require support, please email support@equinixmetal.com, visit the Equinix Metal IRC channel (#equinixmetal on freenode), subscribe to the Equinix Metal Community Slack channel or post an issue within this repository.
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.
Running sanity tests: ansible-test sanity --docker -v
Running unit tests: ansible-test units -v --docker
Running integration tests:
cat << EOF > tests/integration/integration_config.yml
api_token: <YOUR EQUINIX METAL API TOKEN>
EOF
ansible-test integration -v --docker
- Ansible Community Guide - Details on contributing to Ansible
- Contributing to Collections - How to check out collection git repositories correctly
This project tags releases based on the Semantic Versioning specification. See https://semver.org/#semantic-versioning-specification-semver for more details. Please pin your dependencies accordingly.
Changes to this project can be reviewed in the CHANGELOG.rst file.
It is possible to follow changes to the changelog by subscribing to https://github.com/equinix/ansible-collection-metal/releases.atom, or "Watching" releases using the GitHub UI.
Prepare the release:
- Refresh the README.md:
tox -e add_docs
- Refresh the changelog:
tox -e antsibull-changelog -- release --verbose --version 1.1.0
- Clean up the changelog fragments.
- Commit everything and push a PR for review
Push the release:
- Tag the release:
git tag -s 1.0.0
- Push the tag:
git push origin 1.0.0
- Ansible Collection overview
- Ansible User guide
- Ansible Developer guide
- Ansible Collections Checklist
- Ansible Community code of conduct
- The Bullhorn (the Ansible Contributor newsletter)
- Changes impacting Contributors
GNU General Public License v3.0 or later.
See LICENSE to see the full text.