{ "info": { "author": "Randall Degges", "author_email": "randall@stormpath.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: WWW/HTTP :: Site Management", "Topic :: Security", "Topic :: Security :: Cryptography", "Topic :: Utilities" ], "description": "Stormpath CLI\n=============\n\n.. image:: https://img.shields.io/pypi/v/stormpath-cli.svg\n :alt: stormpath-cli Release\n :target: https://pypi.python.org/pypi/stormpath-cli\n\n.. image:: https://img.shields.io/pypi/dm/stormpath-cli.svg\n :alt: stormpath-cli Downloads\n :target: https://pypi.python.org/pypi/stormpath-cli\n\n.. image:: https://api.codacy.com/project/badge/grade/e0c3fc1980ae4dabb86086dec8644220\n :alt: stormpath-cli Code Quality\n :target: https://www.codacy.com/app/r/stormpath-cli\n\n.. image:: https://img.shields.io/travis/stormpath/stormpath-cli.svg\n :alt: stormpath-cli Build\n :target: https://travis-ci.org/stormpath/stormpath-cli\n\n.. image:: https://coveralls.io/repos/github/stormpath/stormpath-cli/badge.svg?branch=master\n :alt: stormpath-cli Coverage\n :target: https://coveralls.io/github/stormpath/stormpath-cli?branch=master\n\n\nThis command line tool allows you to completely manage your `Stormpath\n`_ account. You can:\n\n- Sign up for Stormpath.\n- Log into your existing Stormpath account.\n- Manage your Stormpath Applications / Directories / Accounts / etc.\n\nIf you're using Stormpath to manage your user accounts, this CLI tool gives you\ncomplete control over the Stormpath service.\n\n\nInstall\n-------\n\nIf you're using a Mac, you can install this CLI tool via\n`Homebrew `_::\n\n brew install stormpath-cli\n\nIf you're using Linux, OSX, or Windows, and prefer to install the library via\nPython and `pip `_, you can do so via::\n\n # NOTE: This may require `sudo` depending on your Python setup.\n pip install stormpath-cli\n\n\nUsage\n-----\n\n\nGet an API Key\n^^^^^^^^^^^^^^\n\nFirst things first, if you haven't already go and `register for a Stormpath account `_.\nAll requests to the Stormpath REST API must be authenticated with an API Key.\n\n**To get an API key:**\n\n* Log in to the `Stormpath Admin Console `_ using the email address and password you used to register with Stormpath.\n* In the top-right corner of the resulting page, visit Settings > My Account.\n* On the Account Details page, under Security Credentials, click Create API Key.\n\nThis will generate your API Key and download it to your computer as an apiKey.properties file. If you open the file in a text editor, you will see something similar to the following::\n\n apiKey.id = 144JVZINOF5EBNCMG9EXAMPLE\n apiKey.secret = lWxOiKqKPNwJmSldbiSkEbkNjgh2uRSNAb+AEXAMPLE\n\n* Save this file in a secure location, such as your home directory in a hidden .stormpath directory.\n* Also change the file permissions to ensure only you can read this file. For example, on \\*nix operating systems::\n\n chmod go-rwx $HOME/.stormpath/apiKey.properties\n\nIt might be useful to fist familiarize yourself with the `Stormpath REST API `_ and the naming used there in.\n\nSetting up the CLI\n^^^^^^^^^^^^^^^^^^\n\nTo setup the CLI tool run the following command (if the file `$HOME/.stormpath/apiKey.properties` exists it will be used automatically)::\n\n stormpath setup\n\nIf you already had the ``$HOME/.stormpath/apiKey.properties`` file in place you should see the following output::\n\n Using API Key file ``/home/myuser/.stormpath/apiKey.properties`` for authentication.\n API Key written to ``/home/myuser/.stormpath/cli/apiKey.properties``\n Stormpath CLI is set up and ready to go!\n\nIf you don't have the ``apiKey.properties`` file in place, to setup the CLI tool you will get prompted to enter\nthe API key and secret::\n\n Unable to discover an existing API Key file path or API Key environment variable.\n Please input your API Key ID and API Key Secret.\n (visit http://docs.stormpath.com/rest/quickstart/#get-an-api-key for more information)\n API Key ID:\n API Key Secret:\n API Key written to /home/myuser/.stormpath/cli/apiKey.properties\n\n\nOverride default settings\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\nTo override the default setting we just set up in the previous step there are several options available.\nYou can pass ``-a`` or ``--apikey`` flags to every command::\n\n stormpath command -a 144JVZINOF5EBNCMG9EXAMPLE:lWxOiKqKPNwJmSldbiSkEbkNjgh2uRSNAb+AEXAMPLE\n stormpath command --apikey 144JVZINOF5EBNCMG9EXAMPLE:lWxOiKqKPNwJmSldbiSkEbkNjgh2uRSNAb+AEXAMPLE\n\n`WARNING` : don't use if there are other users on the machine, since the key and the secret will be visible to anyone using the `ps` command to list the running processes.\n\nPoint to a different ``apiKey.properties`` file like so::\n\n stormpath command --apikeyfile /home/myuser/apiKeyAlternate.properties\n\nUsing Environment variables::\n\n STORMPATH_APIKEY=144JVZINOF5EBNCMG9EXAMPLE:lWxOiKqKPNwJmSldbiSkEbkNjgh2uRSNAb+AEXAMPLE stormpath command\n STORMPATH_APIKEY_FILE=/home/myuser/apikey.properties stormpath command\n\nIf none of the described methods are found then the CLI tool will raise an error::\n\n Unable to discover an existing API Key file path or API Key environment variable.\n\nStormpath CLI actions\n^^^^^^^^^^^^^^^^^^^^^\n\nThe stormpath cli tool uses the following format::\n\n stormpath [] [] [options] [...]\n\nSupported actions are as follows:\n\n* ``list`` - List/search resources on Stormpath\n* ``create`` - Create a resource on Stormpath\n* ``update`` - Update a resource on Stormpath\n* ``delete`` - Remove a resource from Stormpath\n* ``set`` - Set context for user/group actions\n* ``context`` - Show currently used context for user/group actions\n* ``setup`` - Set up credentials for accessing the Stormpath API\n\nAnd supported resources are:\n\n* ``application`` - Application Resource\n* ``directory`` - Directory Resource\n* ``group`` - Group Resource\n* ``account`` - Account Resource\n* ``user`` - User Resource\n\nIf no action is specified the CLI defaults to a ``list`` actions. So the following 2 commands are the same::\n\n stormpath list applications\n stormpath applications\n\nWhich results in the following output::\n\n description: dinamo\n href: https://api.stormpath.com/v1/applications/4tlsArn68oWmwungvwo8PQ\n name: My Application\n status: ENABLED\n\n defaultAccountStoreMapping: null\n defaultGroupStoreMapping: null\n description: Manages access to the Stormpath Console and API.\n href: https://api.stormpath.com/v1/applications/717TBJKdavce58Ox3iFuXA\n name: Stormpath\n status: ENABLED\n\nNote how the CLI tool supports using plural and singular forms (ie. ``applications`` and ``application`` do the same thing).\n\nThe cli tool supports outputting JSON as well, so if you wish to get the above output in json use the ``--output-json`` flag.\n\nPiping is supported as well, so a ``stormpath list application | less`` will result in a tab separated output.\n\nCreating an Application\n^^^^^^^^^^^^^^^^^^^^^^^\n\nTo create an application issue the following command::\n\n stormpath create application -n \"My Application\" -d \"My App created with CLI\"\n\nTo automatically create a Directory for that application use `-R` or `--create-directory` flags::\n\n stormpath create application -n \"My Application\" -R\n stormpath create application -n \"My Application\" --create-directory\n\nTest to see if the app and directory got created::\n\n stormpath list applications\n stormpath list directories\n\nDepending on what resource you're referencing there are required and optional flags.\n\nFor applications, directories, groups::\n\n -n, --name required, the name of the resource\n -d, --description optional, the description of the resource\n -R, --create-directory optional, auto create directory\n\nFor accounts::\n\n -e, --email required, the email property of the account\n -p, --password required, the password property of the account\n -g, --given-name required, the givenName property of the account\n -s, --surname required, the surname property of the account\n -u, --username optional, the username property\n -m, --middle-name optional, the middleName property\n -f, --full-name optional, the full name property\n\nFor Accounts and Groups::\n\n -A, --in-application\n -D, --in-directory For All Resources\n -S, --status optional, the status of the resource\n -j, --json JSON representation of the resource\n\nUpdate an Application\n^^^^^^^^^^^^^^^^^^^^^\n\nTo update an application we use the ``update`` action and the ``-n`` or ``--name`` flags to specify the application name\nwe wish to update::\n\n stormpath update application -n \"My Application\" -d \"Updated description for this app\"\n\nUpdate commands require an identifier that identifies the resource:\n\nFor Applications, Directories, Groups::\n\n -n, --name required, identifier name\n\nFor Accounts::\n\n -e, --email required, account email\n\n\nDeleting a Resource\n^^^^^^^^^^^^^^^^^^^\n\nTo delete a resource, a resource must be identified.\n\nFor Applications, Directories, Groups::\n\n -n, --name required, identifier name\n\nFor Accounts::\n\n -e, --email required, account email\n\nFor example to delete an Application::\n\n stormpath delete -n \"My Application\"\n\nOr and Account::\n\n stormpath delete -e \"myuser@email.com\"\n\nYou are going to be prompted to confirm the deletion. If you wish to avoid getting prompted use the ``-F`` flag.\n\nUsing raw JSON instead of flags\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIf you wish you can use raw JSON to represent the Resource your trying to access::\n\n stormpath create application --json='{\"name\": \"My App\", \"description\": \"My App created with CLI\"}'\n\nCreating Accounts/Groups\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nSince Accounts and Groups are tied to Applications and Directories when creating them we need to specify the flags\n``-A`` (that is ``--in-applications``) or ``-D`` (that is ``--in-directory``). For example::\n\n stormpath create account --username myuser --email myuser@email.com --password SomePassword12 --in-application \"My Application\"\n stormpath create group \"My Group\" --in-application \"My Application\"\n\nOr we can use the JSON representation::\n\n stormpath create account --json '{\"username\": \"myuser\", \"email\": \"myuser@email.com\", \"password\": \"SomePassword12\"}' --in-application \"My Application\"\n\nTo avoid having to use the ``--in-application`` or ``--in-directory`` flags over and over you can set the context for all of the Accounts/Groups commands using the ``set`` command like so::\n\n stormpath set application -n \"My Application\"\n\nWhich will yield the following output::\n\n Current context is set to the application \"My Application\". Account / Groups actions are configured to target \"My Application\"\n\nThe same goes for directories::\n\n stormpath set directory --name \"My Directory\"\n\nFrom here on out all the Account / Group actions are going to be targeted for the set application/directory.\n\nTo see the current context use the following command::\n\n stormpath context\n\nOutput::\n\n Using context from file /home/myuser/.stormpath/cli/context.properties.\n Current context set to the application 'My Application'.\n Account / Groups actions are configured to target 'My Application'.\n\nNote: To clear the current context use the ``stormpath unset`` command.\n\nNote: Resource attributes can be specified with or without the ``--``. For instance::\n\n stormpath create account -e user@email.com username=dvader given-name=Anakin surname=Skywalker\n\nAnd::\n\n stormpath create account -e user@email.com --username=dvader --given-name=Anakin --surname=Skywalker\n\nBoth wil result in the same thing. Identifier flags such as ``-e`` still require the the dash.\n\nCreating Account Store Mappings\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nWhen creating an application it's possible to create the default account store using the ``-R`` or ``--create-directory`` flag. However one might wish to\nbe able to add additional groups or directories to an application.\n\nFirst set the context to the desired application using the set command::\n\n stormpath set application -n \"MyApplication\"\n\nThen when the context is set (note: you can check the current context using the ``stormpath context`` command) it's possible to create\na new account store mapping like so::\n\n stormpath create mapping \"href_to_desired_directory_or_group\" --is-default-account-store true\n\nTo list the mappings for the current application use the command below::\n\n stormpath list mappings\n\nTo update an account store mapping use the update command::\n\n stormpath update mapping \"href_for_desired_mapping\" --is-default-group-store true\n\nStatus command\n^^^^^^^^^^^^^^\n\nUsing the command ``stormpath status`` you get the following output::\n\n API Key ID: USED_API_KEY\n API Key Secret: USED_API_KEY_SECRET\n Tenant: tenant-name\n Application context: https://api.stormpath.com/v1/applications/appshref\n Directory context: null\n Group context: null\n Communication Status: up\n\nThe command list the current context and used API credentials as well as showing if the CLI tool\nis able to communicate with the Stormpath API.\n\nCopyright & Licensing\n^^^^^^^^^^^^^^^^^^^^^\n\nCopyright \u00a9 2012, 2013, 2014 Stormpath, Inc. and contributors.\n\nThis project is licensed under the `Apache 2.0 Open Source License `_.\n\nFor additional information, please see the full `Project Documentation `_.\n\n\nContributing\n^^^^^^^^^^^^\n\nContributing to the Stormpath CLI project is easy!\n\nHere's how you should do it:\n\n* Fork this repository.\n* Create a new branch based on the master branch, which has a relevant name. For\n instance, if you're going to add a feature, you might say: ``git checkout -b\n some-new-feature``.\n* Write your code!\n* Open a pull request back to the master branch of this main project.\n\nTo install this project locally for testing, you should use ``pip``::\n\n $ pip install -e .[test]\n\nThis will make this command line program runnable locally while you're working\non the project.\n\nTo run the project tests, you can do the following::\n\n $ python setup.py test\n\nWhile tests are encouraged for any submissions you make, if you don't include\nthem I'll just take care of it myself: so no worries =)\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/stormpath/stormpath-cli", "keywords": "stormpath,client,cli,security,authentication,authorization", "license": "Apache 2.0", "maintainer": null, "maintainer_email": null, "name": "stormpath-cli", "package_url": "https://pypi.org/project/stormpath-cli/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/stormpath-cli/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/stormpath/stormpath-cli" }, "release_url": "https://pypi.org/project/stormpath-cli/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "Official command line interface for Stormpath.", "version": "0.1.2" }, "last_serial": 2570464, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "0879a1efea1acaab3ec6608f17dd9d07", "sha256": "85f72891f21ceaaafdb59383d21e78daf5d8c6ac505d604ae58f730806ab8993" }, "downloads": -1, "filename": "stormpath-cli-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0879a1efea1acaab3ec6608f17dd9d07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13053, "upload_time": "2014-06-23T21:51:18", "url": "https://files.pythonhosted.org/packages/36/59/55d59db9e3b23611aeb17cdb1552baab8e375bd2b00bedca371c34c108ed/stormpath-cli-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "277bb3ea871a4bab30446aad4cb145e9", "sha256": "9ec6553e1c262087aa5b02d4135a89cdf81b07a921bfd70faaea4e18e06625b4" }, "downloads": -1, "filename": "stormpath-cli-0.0.2.tar.gz", "has_sig": false, "md5_digest": "277bb3ea871a4bab30446aad4cb145e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13168, "upload_time": "2014-06-23T22:13:19", "url": "https://files.pythonhosted.org/packages/12/bc/07d1c3342af802021f83e989138f2c0475f1e9f1dac6aab18c43865e85b6/stormpath-cli-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "03f5e0168a48a549e1e4a1f0f53f0c5c", "sha256": "7104e62a1f0f8809f1951537743705331c7c31cb48800a0ceee11b47ed950e9f" }, "downloads": -1, "filename": "stormpath_cli-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03f5e0168a48a549e1e4a1f0f53f0c5c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21858, "upload_time": "2016-06-17T21:19:43", "url": "https://files.pythonhosted.org/packages/ad/8b/89de71aed0118921ae76813efba76c39b8815d6a86cec99f29debbed49c2/stormpath_cli-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7214294429e19b5a65bf66054e52f0f0", "sha256": "2cd25fb9623496177961dbadf74467349458abddbe3d80c4641c171b88fa0504" }, "downloads": -1, "filename": "stormpath-cli-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7214294429e19b5a65bf66054e52f0f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20171, "upload_time": "2016-06-17T21:19:39", "url": "https://files.pythonhosted.org/packages/ec/16/c4bc82e64527fc9aa0d1fffe4477dbfa6ee12ae91461d1f3e6a591ae9fc5/stormpath-cli-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "46761a75448841fb37ab01b50e941727", "sha256": "61262f1e563aac15aff4f4c3fa68d7fe43ea1b3eccb888419fcd5b9f184a3dae" }, "downloads": -1, "filename": "stormpath_cli-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "46761a75448841fb37ab01b50e941727", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21867, "upload_time": "2016-06-17T21:24:11", "url": "https://files.pythonhosted.org/packages/1d/99/53fa9c735920ed4ae2cf94e9e821cad42ffa7f5e53ce176e6a1e807f6a3a/stormpath_cli-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "658a4324779e4ac8ef72b800c657dde4", "sha256": "1c7197cc4a76411b248345335de0b99e2f9fe04f8f977b3dcdb518359dc4d592" }, "downloads": -1, "filename": "stormpath-cli-0.1.1.tar.gz", "has_sig": false, "md5_digest": "658a4324779e4ac8ef72b800c657dde4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20198, "upload_time": "2016-06-17T21:24:06", "url": "https://files.pythonhosted.org/packages/cb/fa/209b55b4d4add88192111d0d53033a33a68aef4a495b515f4d1112725560/stormpath-cli-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b5c7861a4fda952877f06d408e6afbf7", "sha256": "411c9437dc88dfe59609065afe839ff84d756f537cafa68005c6ab95ebb982f8" }, "downloads": -1, "filename": "stormpath_cli-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5c7861a4fda952877f06d408e6afbf7", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 22411, "upload_time": "2017-01-12T19:24:20", "url": "https://files.pythonhosted.org/packages/84/3f/cead8da1129be0014aa3177041c8eace099eee147da7a1866415abc875b4/stormpath_cli-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73fe6855e28839ba4536146bc8c60fb2", "sha256": "b0199320613b5842f50fae63a5bafb525b3b0c1f2c3b77d0f300fe890e26aea6" }, "downloads": -1, "filename": "stormpath-cli-0.1.2.tar.gz", "has_sig": false, "md5_digest": "73fe6855e28839ba4536146bc8c60fb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21026, "upload_time": "2017-01-12T19:24:18", "url": "https://files.pythonhosted.org/packages/8c/5e/b00e3e2db6d5a52b44cee1666111a44c7bb46edd69c0de916377e4cf644f/stormpath-cli-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5c7861a4fda952877f06d408e6afbf7", "sha256": "411c9437dc88dfe59609065afe839ff84d756f537cafa68005c6ab95ebb982f8" }, "downloads": -1, "filename": "stormpath_cli-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5c7861a4fda952877f06d408e6afbf7", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 22411, "upload_time": "2017-01-12T19:24:20", "url": "https://files.pythonhosted.org/packages/84/3f/cead8da1129be0014aa3177041c8eace099eee147da7a1866415abc875b4/stormpath_cli-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "73fe6855e28839ba4536146bc8c60fb2", "sha256": "b0199320613b5842f50fae63a5bafb525b3b0c1f2c3b77d0f300fe890e26aea6" }, "downloads": -1, "filename": "stormpath-cli-0.1.2.tar.gz", "has_sig": false, "md5_digest": "73fe6855e28839ba4536146bc8c60fb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21026, "upload_time": "2017-01-12T19:24:18", "url": "https://files.pythonhosted.org/packages/8c/5e/b00e3e2db6d5a52b44cee1666111a44c7bb46edd69c0de916377e4cf644f/stormpath-cli-0.1.2.tar.gz" } ] }