{
"info": {
"author": "Robert Hafner",
"author_email": "tedivm@tedivm.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3"
],
"description": "secretcli\n=========\n\nThe secretcli project provides a simple to use command line interface to\nthe `AWS Secrets Manager `__.\nIt is capable of uploading or downloading the entire secret as well as\nworking with individual fields.\n\nInstalling\n----------\n\nThis project is available on\n`pypi `__ and can be installed with\npip.\n\n``pip3 install secretcli``\n\nUsage\n-----\n\nInitializing a new Secret\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nNew secrets are easy to initiate. This will create a new Secret in the\nAWS Secret Manager and store an empty javascript object as the first\nversion.\n\n.. code:: bash\n\n $ secretcli init TestSecret\n\nWorking with individual Keys\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAdditional Key/Value pairs can be added to the secret using a single\ncommand. Behind the scenes this downloads the existing database, updates\nit with the new key/value pair, and uploads it as the current version.\n\n.. code:: bash\n\n $ secretcli set TestSecret postgreshost 10.10.10.16\n $ secretcli set TestSecret postgresuser postgres\n $ secretcli set TestSecret postgrespassword super_secret_string\n $ secretcli set TestSecret longstring \"This is a string with spaces.\"\n\nRetrieving values is just as simple. This can be useful when trying to\nuse values in bash scripts.\n\n.. code:: bash\n\n $ secretcli get TestSecret postgreshost\n 10.10.10.16\n $ secretcli get TestSecret postgresuser\n postgres\n $ secretcli get TestSecret postgrespassword\n super_secret_string\n\nValues can also be completely removed from the secret.\n\n.. code:: bash\n\n $ secretcli get TestSecret postgreshost\n 10.10.10.16\n $ secretcli remove TestSecret postgreshost\n $ secretcli get TestSecret postgreshost\n\nTo avoid passing the value directly into the console (potentially\nlogging it in places like bash history) the ``-s`` flag can be passed\nand the value can be passed in interactively without displaying it.\n\n.. code:: bash\n\n $ secretcli set TestSecret postgrespassword -s\n Value:\n Repeat for confirmation:\n $ secretcli get TestSecret postgrespassword\n super_secret_string\n\nWorking with entire Files\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe entire Secret can be downloaded as a file. This command works\nregardless of the format of the file- Secrets that are not managed by\n``secretcli`` can be downloaded using this tool.\n\n.. code:: bash\n\n $ secretcli download TestSecret ./secret_configuration.json\n\nThe file can also be uploaded- but be careful, it will be uploaded\nexactly as is without any verification of the json formatting.\n\n.. code:: bash\n\n $ secretcli upload TestSecret ./secret_configuration.json\n\nDatastore Format\n----------------\n\n``secretcli`` stores data as a JSON Object in an attempt to be as\ninteroperable as possible. Each ``key`` passed to ``secretcli`` is\nrepresented by a ``key`` in the JSON Object.\n\nWhen storing in AWS Secret Manager ``secretcli`` uses the\n``SecretString`` field in the AWS Secrets Manager. This allows the\ndatabase to be viewed in the AWS Console both as a raw string and using\nthe Key/Value table.\n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "https://github.com/tedivm/secretcli/archive/v0.1.4.tar.gz",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/tedivm/secretcli",
"keywords": "",
"license": "",
"maintainer": "",
"maintainer_email": "",
"name": "secretcli",
"package_url": "https://pypi.org/project/secretcli/",
"platform": "",
"project_url": "https://pypi.org/project/secretcli/",
"project_urls": {
"Download": "https://github.com/tedivm/secretcli/archive/v0.1.4.tar.gz",
"Homepage": "https://github.com/tedivm/secretcli"
},
"release_url": "https://pypi.org/project/secretcli/0.1.4/",
"requires_dist": [
"boto3 (<2.0,>=1.9)",
"click (<8.0,>=6.0)",
"requests",
"pyyaml",
"urllib3 (<1.24)",
"pypandoc ; extra == 'dev'",
"twine ; extra == 'dev'",
"wheel ; extra == 'dev'"
],
"requires_python": ">=3",
"summary": "",
"version": "0.1.4"
},
"last_serial": 5883081,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "f7854984023043edef35f8ea2a80a0f6",
"sha256": "6a54a839663f4ce06ccc233cfcaedcba08a9b66eb07a870019c1f3479c4d85c6"
},
"downloads": -1,
"filename": "secretcli-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f7854984023043edef35f8ea2a80a0f6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 5029,
"upload_time": "2018-10-21T03:44:08",
"url": "https://files.pythonhosted.org/packages/3b/6c/8451fe1c46717f2a49d4121d22de13894bfa3bb148679b5ad73d639d6672/secretcli-0.1.0-py3-none-any.whl"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "69ea80398e96fb31561895454cb1df34",
"sha256": "50d612e9e0dc35b1aa373450edc5bfebfd1d7e57ade7cf87c104100e66a3ca3e"
},
"downloads": -1,
"filename": "secretcli-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "69ea80398e96fb31561895454cb1df34",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 5040,
"upload_time": "2018-10-21T03:58:41",
"url": "https://files.pythonhosted.org/packages/c0/ed/78504710f72ac1e0feaa57ed2766e713555f49b4aaeffae1adf30641ba06/secretcli-0.1.1-py3-none-any.whl"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "10df3918871f343592638905e8308230",
"sha256": "2c84b8aeff281f4ea1b865a13ddb4560a4daf88b5e55f737ef873f23acf9f83f"
},
"downloads": -1,
"filename": "secretcli-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "10df3918871f343592638905e8308230",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 5438,
"upload_time": "2018-10-21T08:04:53",
"url": "https://files.pythonhosted.org/packages/c0/6e/c7adddd08562acc72c9b672d1e0e9df9505da59e3345e125261a3b33ad4d/secretcli-0.1.2-py3-none-any.whl"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "09f2ad6bc8c4f002837ed7a8b0b58b74",
"sha256": "53bb8bdcfb3f080e04a90546c9e3b1137580c79e7bd38ecac2b9109a257e966d"
},
"downloads": -1,
"filename": "secretcli-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "09f2ad6bc8c4f002837ed7a8b0b58b74",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 5504,
"upload_time": "2018-10-21T20:19:04",
"url": "https://files.pythonhosted.org/packages/7c/10/a62e22aaecf7c0847df4ed9da85fc3a6bce828eb7885c2b1d79eba43042a/secretcli-0.1.3-py3-none-any.whl"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "cd85a1b43f22012c7136e885afb304b2",
"sha256": "4315dd83c392ff556c97aeaef3cac2dbedd5bf5602d99e46d10b52e182f4e9e7"
},
"downloads": -1,
"filename": "secretcli-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd85a1b43f22012c7136e885afb304b2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 5505,
"upload_time": "2019-09-25T04:52:36",
"url": "https://files.pythonhosted.org/packages/02/58/f16bdfd8524e664efb5d692f93e67ae745fe6d78265fec8851b59f48f3e6/secretcli-0.1.4-py3-none-any.whl"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "cd85a1b43f22012c7136e885afb304b2",
"sha256": "4315dd83c392ff556c97aeaef3cac2dbedd5bf5602d99e46d10b52e182f4e9e7"
},
"downloads": -1,
"filename": "secretcli-0.1.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cd85a1b43f22012c7136e885afb304b2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3",
"size": 5505,
"upload_time": "2019-09-25T04:52:36",
"url": "https://files.pythonhosted.org/packages/02/58/f16bdfd8524e664efb5d692f93e67ae745fe6d78265fec8851b59f48f3e6/secretcli-0.1.4-py3-none-any.whl"
}
]
}