The MongoDB database as a service offering Atlas provides a complete and well documented REST API.
The easiest way to install the atlascli
is with pip
.
```shell C:\Users\joe>pip install atlascli Looking in indexes: https://test.pypi.org/simple/ Processing c:\users\joe\appdata\local\pip\cache\wheels\6c\2f\e8\7f33b6b37b40424f1d00d54048aaa63fd47c7b289e790a997d\atlascli-0.2.5b5-py3-none-any.whl Requirement already satisfied: python-dateutil in c:\users\joe.virtualenvs\joe-93pxapbd\lib\site-packages (from atlascli) (2.8.1) Requirement already satisfied: requests in c:\users\joe.virtualenvs\joe-93pxapbd\lib\site-packages (from atlascli) (2.5.4.1) Requirement already satisfied: six>=1.5 in c:\users\joe.virtualenvs\joe-93pxapbd\lib\site-packages (from python-dateutil->atlascli) (1.10.0) Installing collected packages: atlascli Successfully installed atlascli-0.2.5b
C:\Users\joe> ```
Once the installation completes you can confirm it has worked by running
```shell C:\Users\joe>atlascli -h usage: atlascli [-h] [--publickey PUBLICKEY] [--privatekey PRIVATEKEY] [--pause PAUSE_CLUSTER] [--resume RESUME_CLUSTER] [--list] [--listproj] [--listcluster] [--cluster CLUSTER] [--project_id PROJECT_ID_LIST] [--debug]
A command line program to list organizations,projects and clusters on a MongoDB Atlas organization.
optional arguments: -h, --help show this help message and exit --publickey PUBLICKEY MongoDB Atlas public API key --privatekey PRIVATEKEY MongoDB Atlas private API key --pause PAUSE_CLUSTER pause named cluster in project specified by project_id Note that clusters that have been resumed cannot be pausedfor the next 60 minutes --resume RESUME_CLUSTER resume named cluster in project specified by project_id --list List everything in the organization --listproj List all projects --listcluster List all clusters --cluster CLUSTER list all elements for for project_id:cluster_name --project_id PROJECT_ID_LIST specify project for cluster that is to be paused --debug Turn on logging at debug level
Version: 0.2.5b5
C:\Users\joe> ```
The Python Atlas API wraps the REST API in a more Pythonic
API based around an AtlasAPI
class.
The library assumes the existence of two environment variables:
ATLAS_PUBLIC_KEY
: The public key value defined by the
Atlas programmatic API keyATLAS_PRIVATE_KEY
: The private key defined by the Atlas programmatic API
key.These can be passed in on the command line as well as parameters
--publickey
and --privatekey
.
See the section below on how to create a programmatic Atlas API key.
You can create keys at the Organization level by selecting the access menu item on the left hand side menu:
Once you create a key you then need to assign it permissions. If you pick the default youwill have to add this key explicitly to every project that you want to manage via the API.
On the next screen you can collect your API key. You will only get to see it once so please make sure to take a copy.
Not on this screen we obliterate part of the key so it can't been seen.
Finally you need to whitelist any nodes that are going to originate API requests.
You are now ready to start using your API key.
Both parts of the key required to access your account. Rather than passing them
in on the command line the atlascli
program these can read them from the environment
variables ATLAS_PRIVATE_KEY
and ATLAS_PUBLIC_KEY
.
Bumps certifi from 2021.5.30 to 2022.12.7.
9e9e840
2022.12.07b81bdb2
2022.09.24939a28f
2022.09.14aca828a
2022.06.15.2de0eae1
Only use importlib.resources's new files() / Traversable API on Python ≥3.11 ...b8eb5e9
2022.06.15.147fb7ab
Fix deprecation warning on Python 3.11 (#199)b0b48e0
fixes #198 -- update link in license9d514b4
2022.06.154151e88
Add py.typed to MANIFEST.in to package in sdist (#196)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Bumps ipython from 7.24.1 to 7.31.1.
e321e76
release 7.31.167ca2b3
Merge pull request from GHSA-pq7m-3gw7-gq5x2794330
back to devbe343e7
release 7.31.00fcf2c4
Merge pull request #13428 from meeseeksmachine/auto-backport-of-pr-13427-on-7.xb8db9b1
Backport PR #13427: wn 7317f253dc
Merge pull request #13412 from bnavigator/backport-inspect4f26796
fix xxlimited_35 import name77ca4a6
don't run nose-based iptest on py310, only pytest533e509
back to decorator skipDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
I have given key details on the terminal and also try define as env variable but none working
Note : ip white listed
$ echo $ATLAS_PUBLIC_KEY
SxxxxWxxxx
$ echo $ATLAS_PRIVATE_KEY
xc4xxxxxxxx-4xxxxx1-xxxxx-xxxxxxxx6xx
$ atlascli --publickey xxxxxxxxxu --privatekey fcx9xxxxxxxx-4xxxx1-8xxxx-4xxxxxx
``
Traceback (most recent call last):
File "/usr/local/bin/atlascli", line 11, in <module>
load_entry_point('mongodbatlas==0.2.3b2', 'console_scripts', 'atlascli')()
File "/usr/local/lib/python3.7/site-packages/mongodbatlas-0.2.3b2-py3.7.egg/mongodbatlas/atlascli.py", line 192, in main
File "/usr/local/lib/python3.7/site-packages/mongodbatlas-0.2.3b2-py3.7.egg/mongodbatlas/api.py", line 50, in get_this_organization
File "/usr/local/lib/python3.7/site-packages/mongodbatlas-0.2.3b2-py3.7.egg/mongodbatlas/atlasorganization.py", line 9, in __init__
File "/usr/local/lib/python3.7/site-packages/mongodbatlas-0.2.3b2-py3.7.egg/mongodbatlas/atlasresource.py", line 22, in __init__
File "/usr/local/lib/python3.7/site-packages/mongodbatlas-0.2.3b2-py3.7.egg/mongodbatlas/apimixin.py", line 62, in __init__
File "/usr/local/lib/python3.7/site-packages/mongodbatlas-0.2.3b2-py3.7.egg/mongodbatlas/atlaskey.py", line 35, in get_from_env
File "/usr/local/lib/python3.7/site-packages/mongodbatlas-0.2.3b2-py3.7.egg/mongodbatlas/atlaskey.py", line 30, in getenv
mongodbatlas.errors.AtlasEnvironmentError: Private key environment variable 'ATLAS_PUBLIC_KEY' is not set`
atlas mongodb-atlas pythonic-api python3