Metadata-Version: 2.1
Name: apigeecli
Version: 0.37.4
Summary: Apigee Management API command-line interface with multi-factor authentication
Home-page: https://github.com/mdelotavo/apigee-cli
Author: Matthew Delotavo
Author-email: matthew.t.delotavo@gmail.com
License: Apache license 2.0
Download-URL: https://github.com/mdelotavo/apigee-cli/archive/v0.37.4.tar.gz
Project-URL: Documentation, https://mdelotavo.github.io/apigee-cli/index.html
Keywords: apigee,management,api,oauth,mfa
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Utilities
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
Requires-Dist: pyotp
Requires-Dist: requests
Requires-Dist: tqdm
Requires-Dist: tabulate
Requires-Dist: pyjwt

==========
apigee-cli
==========

|Upload Python Package badge|
|Python package badge|
|Code style: black|
|PyPI|
|License|

**DISCLAIMER:**
    - This package is highly experimental and conventions will probably break down across modules (mainly so I can play around with learning Python)
    - This is not an officially supported Google product
    - Features are added as needed based on client requests
    - This package is highly experimental. *It's important so I said it twice.*

**MAJOR CHANGES COMING SOON (MAYBE):**
    - I have been working on migrating from ``argparse`` to ``click`` for the command-line interface (CLI) API. This includes simplifying the package architecture for better readability, testability and overall maintainability. The external behaviour of the CLI should not change much (with the exception of a few nuances). If this continues to go well, I will be applying the changes in a future update.
    - Plans for a stable release ``1.0.0`` towards the end of the year.
    - Unit tests

This package provides a command-line interface for the Apigee Management API with multi-factor authentication.

Documentation: `The Apigee Management API command-line interface documentation`_

::

    usage: apigee [-h] [-V]
              {apiproducts,apiprods,prods,products,apis,apps,authorization,auth,backup,caches,configure,debug,trace,debugsessions,deployments,deps,developers,devs,keyvaluemaps,kvms,maskconfigs,masks,permissions,perms,restore,sharedflows,sf,stats,targetservers,ts,userroles,roles}
              ...

--------------------
positional arguments
--------------------
This section lists some useful commands. To find more commands use the ``-h, --help`` flag.

``apiproducts (apiprods, prods, products)``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
API products enable you to bundle and distribute your
APIs to multiple developer groups simultaneously,
without having to modify code.



``apis``
^^^^^^^^
The proxy APIs let you perform operations on API
proxies, such as create, delete, update, and deploy.

Upload and deploy an ``apiproxy/`` bundle::

    apigee apis deploy --directory APIPROXY_BUNDLE --environment ENVIRONMENT --name API_NAME

List the names of all API proxies::

    apigee apis list

Download an API proxy revision, along with any referenced key/value maps, target servers and caches::

    apigee apis pull \
        --environment ENVIRONMENT \
        --name API_NAME \
        --revision-number REVISION_NUMBER \
        --work-tree TARGET_DIRECTORY

Delete all undeployed revisions of an API proxy::

    apigee apis clean --name API_NAME

options:

--save-last N         denotes not to delete the N most recent revisions
--dry-run             show revisions to be deleted but do not delete

``apps``
^^^^^^^^
Management APIs available for working with developer
apps.

``authorization (auth)``
^^^^^^^^^^^^^^^^^^^^^^^^
Custom authorization commands. More information on the
use cases for these commands are yet to be documented.

``backup``
^^^^^^^^^^
Downloads Apigee Edge configuration files for API
proxies, key value maps, target servers, caches,
developers, API products, developer apps, and user
roles (including permissions and associated users).

``caches``
^^^^^^^^^^
A lightweight persistence store that can be used by
policies or code executing on the Apigee Edge. To
support data segregation, cache resources are scoped
to environments.

``configure``
^^^^^^^^^^^^^
Configure Apigee Edge credentials.

``debug (trace, debugsessions)``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Manage sessions configured in Apigee Edge to record
specified messages and associated pipeline processing
metadata for debugging purposes

``deployments (deps)``
^^^^^^^^^^^^^^^^^^^^^^
API proxies that are actively deployed in environments
on Apigee Edge.

``developers (devs)``
^^^^^^^^^^^^^^^^^^^^^
Developers implement client/consumer apps and must be
registered with an organization on Apigee Edge.

``keyvaluemaps (kvms)``
^^^^^^^^^^^^^^^^^^^^^^^
Key/value maps at the environment scope can be
accessed by any API proxy in the environment (such as
test or prod). In the management UI (APIs >
Environment Configuration), key/value maps are at the
environment scope.

``maskconfigs (masks)``
^^^^^^^^^^^^^^^^^^^^^^^
Specify data that will be filtered out of trace
sessions.

``permissions (perms)``
^^^^^^^^^^^^^^^^^^^^^^^
Permissions for roles in an organization on Apigee
Edge.

``restore``
^^^^^^^^^^^
Restore specific resources from backups generated by
the backup command.

``sharedflows (sf)``
^^^^^^^^^^^^^^^^^^^^
APIs to manage shared flows and flow hooks.

``stats``
^^^^^^^^^
A source of metrics collected by Apigee Edge that
measure API consumption and performance, used to build
Analytics reports.

``targetservers (ts)``
^^^^^^^^^^^^^^^^^^^^^^
TargetServers are used to decouple TargetEndpoint
HTTPTargetConnections from concrete URLs for backend
services.

``userroles (roles)``
^^^^^^^^^^^^^^^^^^^^^
Roles for users in an organization on Apigee Edge.
User roles form the basis of role-based access in
Apigee Edge. Users are associated with one or more
userroles. Each userrole defines a set of permissions
(GET, PUT, DELETE) on RBAC resources (defined by URI
paths).

------------------
optional arguments
------------------
-h, --help            show this help message and exit
-V, --version         show program's version number and exit
--silent              toggle silent output
-v, --verbose         toggle verbose output

------------
Installation
------------

The apigee-cli package works on Python versions:

* 3.6.x and greater
* 3.7.x and greater
* 3.8.x and greater

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 Help
------------

* `The Apigee Management API command-line interface documentation`_
* `Apigee Product Documentation`_
* `GitHub`_



.. |Upload Python Package badge| image:: https://github.com/mdelotavo/apigee-cli/workflows/Upload%20Python%20Package/badge.svg
    :target: https://github.com/mdelotavo/apigee-cli/actions?query=workflow%3A%22Upload+Python+Package%22
.. |Python package badge| image:: https://github.com/mdelotavo/apigee-cli/workflows/Python%20package/badge.svg
    :target: https://github.com/mdelotavo/apigee-cli/actions?query=workflow%3A%22Python+package%22
.. |Code style: black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
    :target: https://github.com/psf/black
.. |PyPI| image:: https://img.shields.io/pypi/v/apigeecli
    :target: https://pypi.org/project/apigeecli/
.. |License| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
    :target: https://opensource.org/licenses/Apache-2.0
.. _`Apigee Product Documentation`: https://apidocs.apigee.com/management/apis
.. _`Permissions reference`: https://docs.apigee.com/api-platform/system-administration/permissions
.. _`Add permissions to testing role`: https://docs.apigee.com/api-platform/system-administration/managing-roles-api#addpermissionstotestingrole
.. _pip: http://www.pip-installer.org/en/latest/
.. _`Universal Command Line Interface for Amazon Web Services`: https://github.com/aws/aws-cli
.. _`The Apigee Management API command-line interface documentation`: https://mdelotavo.github.io/apigee-cli/index.html
.. _`GitHub`: https://github.com/mdelotavo/apigee-cli
.. _`Python Package Index (PyPI)`: https://pypi.org/project/apigeecli/


