Apigee Management API command-line interface with multi-factor authentication (MFA) and single sign-on (SSO)/SAML support
Project description
Usage: apigee [OPTIONS] COMMAND [ARGS]...
Welcome to the Apigee Management API command-line interface!
Docs: https://mdelotavo.github.io/apigee-cli/
PyPI: https://pypi.org/project/apigeecli/
GitHub: https://github.com/mdelotavo/apigee-cli
Options:
-V, --version Show the version and exit.
-h, --help Show this message and exit.
Commands:
apiproducts API products enable you to bundle and distribute your APIs...
apis The proxy APIs let you perform operations on API proxies,...
apps Management APIs available for working with developer apps.
auth Custom authorization commands.
backups Download configuration files from Apigee that can later be...
caches A lightweight persistence store that can be used by...
configure Configure Apigee Edge credentials.
deployments API proxies that are actively deployed in environments on...
developers Developers implement client/consumer apps and must be...
keyvaluemaps Key/value maps at the environment scope can be accessed by...
maskconfigs Specify data that will be filtered out of trace sessions.
permissions Permissions for roles in an organization on Apigee Edge.
sharedflows You can use the following APIs to manage shared flows and...
targetservers TargetServers are used to decouple TargetEndpoint...
userroles Roles for users in an organization on Apigee Edge.
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 quickest way to get started is to run the apigee configure command:
$ apigee configure Apigee username (email) []: my_email Apigee password []: my_pass Apigee MFA key (optional) []: my_key Identity zone name (to support SAML authentication) []: Use OAuth, no MFA (optional)? [y/N]: n Default Apigee organization (recommended) []: my_org Default team/resource prefix (optional) []:
To use environment variables, do the following:
$ export APIGEE_USERNAME=<my_email> $ export APIGEE_PASSWORD=<my_pass> $ export APIGEE_MFA_SECRET=<my_key> $ export APIGEE_ZONENAME=<my_zonename> $ export APIGEE_IS_TOKEN=<bool> $ export APIGEE_ORG=<my_org> $ export APIGEE_CLI_PREFIX=<my_prefix>
To use the configuration file, create an INI formatted file like this:
[default] username = my_email org = my_org mfa_secret = my_key prefix = my_prefix password = my_pass [produser] org = my_org username = my_email password = my_pass mfa_secret = my_key
and place it in ~/.apigee/credentials.
As you can see, you can have multiple profiles defined in the configuration file. You can then specify which profile to use by using the -P/--profile option. If no profile is specified the default profile is used.
Using SAML authentication
If you specified an Identity zone name (to support SAML authentication) during setup, the CLI will automatically use SAML authentication. 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.
Using SAML with automated tasks
The CLI also supports machine users as described in Using SAML with automated tasks when SAML is enabled to support automation for common development tasks, such as test automation or Continuous Integration/Continuous Deployment (CI/CD).
To tell the CLI that the current user --profile is a machine user and thus to not redirect you to an identity provider, you can set the following environment variable like so:
$ export APIGEE_CLI_IS_MACHINE_USER=true
To continue using an ordinary user, you will need to unset this variable or set it to false.
Refer to the official Apigee documentation to learn more about identity zones: SAML Overview.
Getting Help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for apigeecli-0.43.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db1fc0c851dc54f1c82063581aa1d4c419105c6cfdf719d122bbc969938a53b2 |
|
MD5 | abcaf81c09344e89dcc2d7b76cf498c6 |
|
BLAKE2b-256 | 7e126875727d9d99211a6de2eb1a13b575bc74c806bd8f6874bc1d5d7f1cbe70 |