Skip to content

darumatic/apigee-cli

Repository files navigation

apigee-cli

⚠️ Warning: This project is no longer actively maintained and was created specifically for previous Darumatic clients.

License Python version Downloads

apigee-cli is a command-line interface tool designed to simplify the use of the Apigee Edge Management API. It provides a user-friendly experience with features such as SSO support.

It can be used for general administrative tasks, as a developer package, and to support automation for common development tasks such as CI/CD.

With the apigee-cli, you can manage your Apigee Edge credentials using environment variables, config files, or command-line arguments.

The tool is highly experimental and is not affiliated with Apigee or Google.

For more information on getting started with the apigee-cli or for troubleshooting help, refer to the documentation and links provided.

Installation

The easiest way to install apigee-cli is to use pip in a virtualenv:

$ pip install apigeecli

or, if you are not installing in a virtualenv, to install globally:

$ sudo pip install apigeecli

or for your user:

$ pip install --user apigeecli

If you have the apigee-cli installed and want to upgrade to the latest version you can run:

$ pip install --upgrade apigeecli

Getting Started

Before using apigee-cli, you need to tell it about your Apigee Edge credentials. You can do this in three ways:

  • Environment variables
  • Config file
  • Command-line arguments

The steps below show how to use command-line arguments to configure your Apigee Edge credentials.

Basic authentication

$ apigee configure -P default -u MY_EMAIL -p MY_PASS -o MY_ORG -mfa '' -z '' --no-token --prefix ''

Multi-factor authentication (MFA)

$ apigee configure -P default -u MY_EMAIL -p MY_PASS -o MY_ORG -mfa MY_KEY -z '' --no-token --prefix ''

SSO authentication

$ apigee configure -P default -u MY_EMAIL -p none -o MY_ORG -mfa '' -z MY_ZONENAME --no-token --prefix ''

If you are not currently signed in by your identity provider, you will be prompted to sign in:

$ apigee apis list
SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.

If your browser did not automatically open, go to the following URL and sign in:

https://{zoneName}.login.apigee.com/passcode

then copy the Temporary Authentication Code.

Please enter the Temporary Authentication Code:

zoneName will be the Identity zone name you previously configured.

Refer to the official Apigee documentation to learn more about how to Access the Edge API with SAML.

Testing your credentials

Run the following command to get a list of API proxies in your default Apigee organization:

$ apigee apis list
["helloworld", "oauth"]

Why does this exist?

It is intended for general administrative use from your shell, as a package for developers, and to support automation for common development tasks, such as test automation or Continuous Integration/Continuous Deployment (CI/CD).

When to use this over the official tool

Apigee Corporation maintains their own fully-featured CLI for the Apigee Management API that can be used as an SDK to orchestrate tasks and may be more than suitable for your needs.

We built and use the Apigee CLI to implement and distribute features that allow our clients to manage CI/CD, perform self-service operations and promote our DevOps workflows which are difficult to perform using official tools.

Running Tests

This project uses unittest for testing its codebase. In order to run the tests, you will need to install the coverage.py tool. You can install it using pip:

pip3 install coverage

Once coverage.py is installed, you can run the tests using the runtests script:

./runtests

This script will run all the tests in the tests directory and generate a coverage report.

Getting Help

For further questions, feel free to contact us at hello@darumatic.com.

Disclaimer

This is not an officially supported Google product.

About

apigee-cli is an unofficial command-line interface tool designed to simplify the use of the Apigee Edge Management API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published