Skip to content

Commit

Permalink
Merge branch 'main' into renovate/pypi-jinja2-vulnerability
Browse files Browse the repository at this point in the history
  • Loading branch information
displague authored Sep 26, 2024
2 parents 1041fa0 + 0a11f5d commit b09c366
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 86 deletions.
92 changes: 39 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# Equinix Ansible Collection

[![Ansible Galaxy](https://img.shields.io/badge/galaxy-equinix.cloud-660198.svg?style=flat)](https://galaxy.ansible.com/ui/repo/published/equinix/cloud/)
![Tests](https://img.shields.io/github/actions/workflow/status/equinix/ansible-collection-equinix/integration-tests.yml?branch=main)
[![Equinix Community](https://img.shields.io/badge/Equinix%20Community%20-%20%23E91C24?logo=equinixmetal)](https://community.equinix.com)

This is repository for Ansible collection registered in Ansible Galaxy as [equinix.cloud](https://galaxy.ansible.com/ui/repo/published/equinix/cloud/). The collection contains various plugins for managing Equinix services.

Expand All @@ -25,55 +23,58 @@ Modules for managing Equinix infrastructure.

Name | Description |
--- | ------------ |
[equinix.cloud.metal_bgp_session](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_bgp_session.md)|Manage BGP sessions in Equinix Metal|
[equinix.cloud.metal_connection](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_connection.md)|Manage an Interconnection in Equinix Metal|
[equinix.cloud.metal_device](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_device.md)|Create, update, or delete Equinix Metal devices|
[equinix.cloud.metal_gateway](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_gateway.md)|Manage Metal Gateway in Equinix Metal|
[equinix.cloud.metal_hardware_reservation](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_hardware_reservation.md)|Lookup a single hardware_reservation by ID in Equinix Metal|
[equinix.cloud.metal_ip_assignment](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_ip_assignment.md)|Manage Equinix Metal IP assignments|
[equinix.cloud.metal_organization](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_organization.md)|Lookup a single organization by ID in Equinix Metal|
[equinix.cloud.metal_project](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_project.md)|Manage Projects in Equinix Metal|
[equinix.cloud.metal_project_bgp_config](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_project_bgp_config.md)|Manage BGP Config for Equinix Metal Project|
[equinix.cloud.metal_project_ssh_key](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_project_ssh_key.md)|Manage a project ssh key in Equinix Metal|
[equinix.cloud.metal_reserved_ip_block](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_reserved_ip_block.md)|Create/delete blocks of reserved IP addresses in a project.|
[equinix.cloud.metal_ssh_key](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_ssh_key.md)|Manage personal SSH keys in Equinix Metal|
[equinix.cloud.metal_virtual_circuit](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_virtual_circuit.md)|Manage a Virtual Circuit in Equinix Metal|
[equinix.cloud.metal_vlan](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_vlan.md)|Manage a VLAN resource in Equinix Metal|
[equinix.cloud.metal_vrf](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_vrf.md)|Manage a VRF resource in Equinix Metal|
[equinix.cloud.metal_bgp_session](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_bgp_session.md)|Manage BGP sessions in Equinix Metal|
[equinix.cloud.metal_connection](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_connection.md)|Manage an Interconnection in Equinix Metal|
[equinix.cloud.metal_device](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_device.md)|Create, update, or delete Equinix Metal devices|
[equinix.cloud.metal_gateway](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_gateway.md)|Manage Metal Gateway in Equinix Metal|
[equinix.cloud.metal_hardware_reservation](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_hardware_reservation.md)|Lookup a single hardware_reservation by ID in Equinix Metal|
[equinix.cloud.metal_ip_assignment](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_ip_assignment.md)|Manage Equinix Metal IP assignments|
[equinix.cloud.metal_organization](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_organization.md)|Lookup a single organization by ID in Equinix Metal|
[equinix.cloud.metal_project](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_project.md)|Manage Projects in Equinix Metal|
[equinix.cloud.metal_project_bgp_config](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_project_bgp_config.md)|Manage BGP Config for Equinix Metal Project|
[equinix.cloud.metal_project_ssh_key](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_project_ssh_key.md)|Manage a project ssh key in Equinix Metal|
[equinix.cloud.metal_reserved_ip_block](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_reserved_ip_block.md)|Create/delete blocks of reserved IP addresses in a project.|
[equinix.cloud.metal_ssh_key](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_ssh_key.md)|Manage personal SSH keys in Equinix Metal|
[equinix.cloud.metal_virtual_circuit](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_virtual_circuit.md)|Manage a Virtual Circuit in Equinix Metal|
[equinix.cloud.metal_vlan](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_vlan.md)|Manage a VLAN resource in Equinix Metal|
[equinix.cloud.metal_vrf](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_vrf.md)|Manage a VRF resource in Equinix Metal|


### Info Modules

Modules for retrieving information about existing Equinix infrastructure.

Name | Description |
--- | ------------ |
[equinix.cloud.metal_available_ips_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_available_ips_info.md)|Get list of avialable IP addresses from a reserved IP block|
[equinix.cloud.metal_bgp_session_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_bgp_session_info.md)|Gather information BGP sessions in Equinix Metal|
[equinix.cloud.metal_connection_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_connection_info.md)|Gather information about Interconnections|
[equinix.cloud.metal_device_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_device_info.md)|Select list of Equinix Metal devices|
[equinix.cloud.metal_gateway_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_gateway_info.md)|Gather information about Metal Gateways|
[equinix.cloud.metal_hardware_reservation_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_hardware_reservation_info.md)|Gather information about Equinix Metal hardware_reservations|
[equinix.cloud.metal_ip_assignment_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_ip_assignment_info.md)|Gather IP address assignments for a device|
[equinix.cloud.metal_metro_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_metro_info.md)|Gather information about Equinix Metal metros|
[equinix.cloud.metal_operating_system_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_operating_system_info.md)|Gather information about Operating Systems available for devices in Equinix Metal|
[equinix.cloud.metal_organization_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_organization_info.md)|Gather information about Equinix Metal organizations|
[equinix.cloud.metal_plan_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_plan_info.md)|Gather information about Equinix Metal plans|
[equinix.cloud.metal_project_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_project_info.md)|Gather information about Equinix Metal projects|
[equinix.cloud.metal_project_ssh_key_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_project_ssh_key_info.md)|Gather project SSH keys.|
[equinix.cloud.metal_reserved_ip_block_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_reserved_ip_block_info.md)|Gather list of reserved IP blocks|
[equinix.cloud.metal_ssh_key_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_ssh_key_info.md)|Gather personal SSH keys|
[equinix.cloud.metal_user_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_user_info.md)|Gather information about the current user for Equinix Metal|
[equinix.cloud.metal_virtual_circuit_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_virtual_circuit_info.md)|Gather information about Equinix Metal Virtual Circuits|
[equinix.cloud.metal_vlan_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_vlan_info.md)|Gather VLANs.|
[equinix.cloud.metal_vrf_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/modules/metal_vrf_info.md)|Gather VRFs|
[equinix.cloud.metal_available_ips_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_available_ips_info.md)|Get list of avialable IP addresses from a reserved IP block|
[equinix.cloud.metal_bgp_session_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_bgp_session_info.md)|Gather information BGP sessions in Equinix Metal|
[equinix.cloud.metal_connection_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_connection_info.md)|Gather information about Interconnections|
[equinix.cloud.metal_device_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_device_info.md)|Select list of Equinix Metal devices|
[equinix.cloud.metal_gateway_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_gateway_info.md)|Gather information about Metal Gateways|
[equinix.cloud.metal_hardware_reservation_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_hardware_reservation_info.md)|Gather information about Equinix Metal hardware_reservations|
[equinix.cloud.metal_ip_assignment_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_ip_assignment_info.md)|Gather IP address assignments for a device|
[equinix.cloud.metal_metro_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_metro_info.md)|Gather information about Equinix Metal metros|
[equinix.cloud.metal_operating_system_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_operating_system_info.md)|Gather information about Operating Systems available for devices in Equinix Metal|
[equinix.cloud.metal_organization_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_organization_info.md)|Gather information about Equinix Metal organizations|
[equinix.cloud.metal_plan_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_plan_info.md)|Gather information about Equinix Metal plans|
[equinix.cloud.metal_project_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_project_info.md)|Gather information about Equinix Metal projects|
[equinix.cloud.metal_project_ssh_key_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_project_ssh_key_info.md)|Gather project SSH keys.|
[equinix.cloud.metal_reserved_ip_block_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_reserved_ip_block_info.md)|Gather list of reserved IP blocks|
[equinix.cloud.metal_ssh_key_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_ssh_key_info.md)|Gather personal SSH keys|
[equinix.cloud.metal_user_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_user_info.md)|Gather information about the current user for Equinix Metal|
[equinix.cloud.metal_virtual_circuit_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_virtual_circuit_info.md)|Gather information about Equinix Metal Virtual Circuits|
[equinix.cloud.metal_vlan_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_vlan_info.md)|Gather VLANs.|
[equinix.cloud.metal_vrf_info](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/modules/metal_vrf_info.md)|Gather VRFs|


### Inventory Plugins

Dynamically add Equinix infrastructure to an Ansible inventory.

Name |
--- |
[equinix.cloud.metal_device](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.0/docs/inventory/metal_device.rst)|
[equinix.cloud.metal_device](https://github.com/equinix/ansible-collection-equinix/blob/v0.10.1/docs/inventory/metal_device.rst)|


<!--end collection content-->

Expand All @@ -89,11 +90,10 @@ The Python module dependencies are not installed by `ansible-galaxy`. They can
be manually installed using pip:

```shell
pip install -r https://raw.githubusercontent.com/equinix/ansible-collection-equinix/v0.10.0/requirements.txt
pip install -r https://raw.githubusercontent.com/equinix/ansible-collection-equinix/v0.10.1/requirements.txt
```

## Usage

Once the Equinix Ansible collection is installed, it can be referenced by its [Fully Qualified Collection Namespace (FQCN)](https://github.com/ansible-collections/overview#terminology): `equinix.cloud.module_name`.

In order to use this collection, you should have account in the relevant Equinix service. For example you should have an account in Equinix Metal to use the `metal_*` modules.
Expand Down Expand Up @@ -125,20 +125,6 @@ Use-case examples for this collection can be found [here](./examples).
See [DEVELOPMENT.md](DEVELOPMENT.md).
## Releasing
Go to [https://github.com/equinix/ansible-collection-equinix/releases/new](https://github.com/equinix/ansible-collection-equinix/releases/new) and create a new release from `main`. Don't choose an existing tag. Put version to the field for "Release title", for example `v0.1.2`. Don't add collection number to the Makefile.

Add release notes in format of [Terraform Provider Equinix](https://github.com/equinix/terraform-provider-equinix/releases), with at least one of the sections (NOTES, FEATURES, BUG FIXES, ENHANCEMENTS).

Click "Publish release", and the manual part should be over.

The release will create a tag, and we have a Github action in place that should create an Ansible Galaxy release. The script that creates tarball for Galay removes the first "v", so releasing `v0.1.2` should upload collection equinix.cloud version 0.1.2.

Verify that the [releasing Github action](https://github.com/equinix/ansible-collection-equinix/actions) succeeded.

Verify that new version of [equinix.cloud](https://galaxy.ansible.com/ui/repo/published/equinix/cloud/) is available in Ansible Galaxy.

## Licensing
GNU General Public License v3.0.
Expand Down
20 changes: 20 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Release Instructions

These build and release instructions are intended for the maintainers and future maintainers of this project.

## Preparing a new version

There are no preparation steps.

* the version is computed from [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) tags
* There is no changelog; the GitHub release notes are generated based on [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) tags

## Releasing

Run the GitHub Actions [Release Workflow](.github/workflows/release.yml) on the `main` branch.

The release workflow:
- Uses [Semantic Release](.releaserc.json) to determine the next version number and create the GitHub release
- Runs [`make publish`](Makefile) to publish the new Ansible collection release to Ansible Galaxy

Any special instructions or notes should be added by editing the release notes that the workflow publishes. These notes can be found at https://github.com/equinix/ansible-collection-equinix/releases
20 changes: 10 additions & 10 deletions docs/inventory/metal_device.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,16 @@ metal_device -- Equinix Metal Device inventory source
Synopsis
--------

Reads device inventories from Equinix Metal. Uses YAML configuration file that ends with equinix.(yml|yaml). ansible_host is set to first public IP address of the device.
Reads device inventories from Equinix Metal. Uses YAML configuration file that ends with equinix.(yml|yaml). ansible\_host is set to first public IP address of the device.



Requirements
------------
The below requirements are needed on the host that executes this module.

- python >= 3
- metal_python >= 0.0.1
- python \>= 3
- metal\_python \>= 0.0.1



Expand All @@ -35,7 +35,7 @@ Parameters


**metal_api_token (Required, type=str):**
\• Equinix Metal API token. Can also be specified via METAL_AUTH_TOKEN environment variable.
\• Equinix Metal API token. Can also be specified via METAL\_AUTH\_TOKEN environment variable.



Expand All @@ -44,7 +44,7 @@ Parameters


**strict (type=bool):**
\• If V(yes) make invalid entries a fatal error, otherwise skip and continue.
\• If :literal:`yes` make invalid entries a fatal error, otherwise skip and continue.

\• Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default.

Expand Down Expand Up @@ -80,13 +80,13 @@ Parameters
**default_value (type=str):**
\• The default value when the host variable's value is an empty string.

\• This option is mutually exclusive with O(keyed_groups[].trailing_separator).
\• This option is mutually exclusive with :literal:`keyed\_groups[].trailing\_separator`.


**trailing_separator (type=bool, default=True):**
\• Set this option to V(False) to omit the O(keyed_groups[].separator) after the host variable when the value is an empty string.
\• Set this option to :literal:`False` to omit the :literal:`keyed\_groups[].separator` after the host variable when the value is an empty string.

\• This option is mutually exclusive with O(keyed_groups[].default_value).
\• This option is mutually exclusive with :literal:`keyed\_groups[].default\_value`.



Expand All @@ -95,11 +95,11 @@ Parameters


**leading_separator (type=boolean, default=True):**
\• Use in conjunction with keyed_groups.
\• Use in conjunction with keyed\_groups.

\• By default, a keyed group that does not have a prefix or a separator provided will have a name that starts with an underscore.

\• This is because the default prefix is "" and the default separator is "_".
\• This is because the default prefix is "" and the default separator is "\_".

\• Set this option to False to omit the leading underscore (or other separator) if no prefix is given.

Expand Down
Loading

0 comments on commit b09c366

Please sign in to comment.