Idem_vmware_alb#

Made with idem, a Python implementation of Plugin Oriented Programming Documentation is published with Sphinx on docs.idemproject.io Made with pop, a Python implementation of Plugin Oriented Programming Made with Python

About#

avilb Cloud Provider for Idem

What is Idem?#

This project is built with idem, an idempotent, imperatively executed, declarative programming language written in Python. This project extends idem!

For more information:

Getting Started#

Prerequisites#

  • Python 3.8+

  • git (if installing from source, or contributing to the project)

Installation#

Note

If wanting to contribute to the project, and setup your local development environment, see the CONTRIBUTING.rst document in the source repository for this project.

You can install idem_vmware_alb either from PyPI or from source.

Install from PyPI#

pip install "idem_vmware_alb"

Install from source#

Clone the idem_vmware_alb repository and install with pip.

# clone repo
git clone git@<your-project-path>/idem_vmware_alb.git
cd idem_vmware_alb

# Setup venv
python3 -m venv .venv
source .venv/bin/activate
pip install -e idem_vmware_alb

Setup#

After installation avilb idem provider execution and state modules will be accessible to the pop hub. In order to use them we need to set up our credentials.

Create a new file called credentials.yaml and populate it with profiles. The default profile will be used automatically by idem unless you specify one with –acct-profile=profile_name on the cli.

credentials.yaml

avilb:
  default:
    username: my_user
    password: my_good_password
    endpoint_url: https://console.avilb.com/api

Now encrypt the credentials file and add the encryption key and encrypted file path to the ENVIRONMENT.

idem encrypt credentials.yaml

output:

-A9ZkiCSOjWYG_lbGmmkVh4jKLFDyOFH4e4S1HNtNwI=

Add these to your environment:

export ACCT_KEY="-A9ZkiCSOjWYG_lbGmmkVh4jKLFDyOFH4e4S1HNtNwI="
export ACCT_FILE=$PWD/credentials.yaml.fernet

You are ready to use idem_vmware_alb!

State Example#

Example of using avilb state in SLS:

my_state.sls:

ensure_sample_exists:
  avilb.sample.present:
    - name: a_sample_name
    - description: Managed by Idem

Create sample state:

idem state my_state.sls

Delete sample state:

idem state my_state.sls --invert