Name | nodestream-plugin-akamai JSON |
Version |
0.13.0
JSON |
| download |
home_page | None |
Summary | Pipeline Plugin for Akamai Data |
upload_time | 2024-08-09 17:32:10 |
maintainer | None |
docs_url | None |
author | Zach Probst |
requires_python | <4.0,>=3.10 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Overview
This repo contains the scripts necessary to parse Akamai property and redirect configs
and ingest them into Neo4j. It is a starting point to help visualize your external attack surface
within Akamai.
[LinkedIn Blog post](https://www.linkedin.com/pulse/neo4j-akamai-mapping-your-external-attack-surface-chad-cloes/?published=t&trackingId=ucgj3ZLISy6RW78UL0iYxQ%3D%3D)
# Setup Neo4j
1. Download and install Neo4j: https://neo4j.com/docs/desktop-manual/current/installation/download-installation/
1. Create and start database (version 5.7.0: https://neo4j.com/docs/desktop-manual/current/operations/create-dbms/
1. Install APOC: https://neo4j.com/docs/apoc/5/installation/
# Download Akamai credentials
1. Create and download akamai credentials: https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials
NOTE: These values will be used in your `.env`
# Install and run the app
1. Install python3: https://www.python.org/downloads/
1. Install poetry: https://python-poetry.org/docs/#installation
1. Install nodestream: https://nodestream-proj.github.io/nodestream/0.5/docs/tutorial/
1. Generate a new nodestream project
1. Add `nodestream-akamai` to your project dependencies in your nodestream projects pyproject.toml file.
1. Install necessary dependencies: `poetry install`
1. In `nodestream.yaml` add the following:
```yaml
plugin_config:
akamai:
base_url: !env AKAMAI_BASE_URL
client_token: !env AKAMAI_CLIENT_TOKEN
client_secret: !env AKAMAI_CLIENT_SECRET
access_token: !env AKAMAI_ACCESS_TOKEN
# If you are using an akamai account key add the following line:
account_key: !env AKAMAI_ACCOUNT_KEY
targets:
my-db:
database: neo4j
uri: bolt://localhost:7687
username: neo4j
password: neo4j123
```
1. Set environment variables in your terminal session for: `AKAMAI_BASE_URL`, `AKAMAI_CLIENT_TOKEN`, `AKAMAI_CLIENT_SECRET`, `AKAMAI_ACCESS_TOKEN` and if using an akamai account key `AKAMAI_ACCOUNT_KEY`.
1. Verify nodestream has loaded the pipelines: `poetry run nodestream show`
1. Use nodestream to run the pipelines: `poetry run nodestream run <pipeline-name> --target my-db`
# Using make
1. Install make (ie. `brew install make`)
1. Run `make run`
# Install Bloom visualization
1. For detailed instructions on how to import a perspective: https://neo4j.com/docs/bloom-user-guide/current/bloom-perspectives/perspective-creation/
1. Download the perspective to a file https://github.com/ccloes/neo4j-akamai/blob/main/Bloom_Perspective.json
# Using the saved cypher queries
1. Type `show endpoint <some.fqdn.com>` (this will show that endpoint and the relationships to it)
* ![show endpoint <fqdn>](./imgs/showendpoint.png)
1. Type `show akamai graph` (this will show the current akamai data loaded in the graph)
* ![show akamai graph](./imgs/showgraph.png)
1. Type `show schema` (this will show the graph schema and how the nodes relate and their relationships)
* ![show schema](./imgs/showschema.png)
# Schema visualization
[Arrows.app link](https://arrows.app/#/import/json=eyJncmFwaCI6eyJzdHlsZSI6eyJmb250LWZhbWlseSI6InNhbnMtc2VyaWYiLCJiYWNrZ3JvdW5kLWNvbG9yIjoiI2ZmZmZmZiIsImJhY2tncm91bmQtaW1hZ2UiOiIiLCJiYWNrZ3JvdW5kLXNpemUiOiIxMDAlIiwibm9kZS1jb2xvciI6IiNmZmZmZmYiLCJib3JkZXItd2lkdGgiOjQsImJvcmRlci1jb2xvciI6IiMwMDAwMDAiLCJyYWRpdXMiOjUwLCJub2RlLXBhZGRpbmciOjUsIm5vZGUtbWFyZ2luIjoyLCJvdXRzaWRlLXBvc2l0aW9uIjoiYXV0byIsIm5vZGUtaWNvbi1pbWFnZSI6IiIsIm5vZGUtYmFja2dyb3VuZC1pbWFnZSI6IiIsImljb24tcG9zaXRpb24iOiJpbnNpZGUiLCJpY29uLXNpemUiOjY0LCJjYXB0aW9uLXBvc2l0aW9uIjoiaW5zaWRlIiwiY2FwdGlvbi1tYXgtd2lkdGgiOjIwMCwiY2FwdGlvbi1jb2xvciI6IiMwMDAwMDAiLCJjYXB0aW9uLWZvbnQtc2l6ZSI6NTAsImNhcHRpb24tZm9udC13ZWlnaHQiOiJub3JtYWwiLCJsYWJlbC1wb3NpdGlvbiI6Imluc2lkZSIsImxhYmVsLWRpc3BsYXkiOiJwaWxsIiwibGFiZWwtY29sb3IiOiIjMDAwMDAwIiwibGFiZWwtYmFja2dyb3VuZC1jb2xvciI6IiNmZmZmZmYiLCJsYWJlbC1ib3JkZXItY29sb3IiOiIjMDAwMDAwIiwibGFiZWwtYm9yZGVyLXdpZHRoIjo0LCJsYWJlbC1mb250LXNpemUiOjQwLCJsYWJlbC1wYWRkaW5nIjo1LCJsYWJlbC1tYXJnaW4iOjQsImRpcmVjdGlvbmFsaXR5IjoiZGlyZWN0ZWQiLCJkZXRhaWwtcG9zaXRpb24iOiJpbmxpbmUiLCJkZXRhaWwtb3JpZW50YXRpb24iOiJwYXJhbGxlbCIsImFycm93LXdpZHRoIjo1LCJhcnJvdy1jb2xvciI6IiMwMDAwMDAiLCJtYXJnaW4tc3RhcnQiOjUsIm1hcmdpbi1lbmQiOjUsIm1hcmdpbi1wZWVyIjoyMCwiYXR0YWNobWVudC1zdGFydCI6Im5vcm1hbCIsImF0dGFjaG1lbnQtZW5kIjoibm9ybWFsIiwicmVsYXRpb25zaGlwLWljb24taW1hZ2UiOiIiLCJ0eXBlLWNvbG9yIjoiIzAwMDAwMCIsInR5cGUtYmFja2dyb3VuZC1jb2xvciI6IiNmZmZmZmYiLCJ0eXBlLWJvcmRlci1jb2xvciI6IiMwMDAwMDAiLCJ0eXBlLWJvcmRlci13aWR0aCI6MCwidHlwZS1mb250LXNpemUiOjE2LCJ0eXBlLXBhZGRpbmciOjUsInByb3BlcnR5LXBvc2l0aW9uIjoib3V0c2lkZSIsInByb3BlcnR5LWFsaWdubWVudCI6ImNvbG9uIiwicHJvcGVydHktY29sb3IiOiIjMDAwMDAwIiwicHJvcGVydHktZm9udC1zaXplIjoxNiwicHJvcGVydHktZm9udC13ZWlnaHQiOiJub3JtYWwifSwibm9kZXMiOlt7ImlkIjoibjAiLCJwb3NpdGlvbiI6eyJ4IjowLCJ5IjowfSwiY2FwdGlvbiI6IkVuZHBvaW50Iiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7ImZxZG4iOiIifX0seyJpZCI6Im4xIiwicG9zaXRpb24iOnsieCI6MzIzLCJ5IjowfSwiY2FwdGlvbiI6ImFrYW1haV93YWZfY29uZmlnIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7ImNvbmZpZ0lkIjoiIiwiY29uZmlnTmFtZSI6IiIsInN0YXR1cyI6IiJ9fSx7ImlkIjoibjIiLCJwb3NpdGlvbiI6eyJ4IjozMjMsInkiOi0zMjN9LCJjYXB0aW9uIjoiYWthbWFpX3dhZl9wb2xpY3kiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsicG9saWN5SWQiOiIiLCJwb2xpY3lOYW1lIjoiIn19LHsiaWQiOiJuMyIsInBvc2l0aW9uIjp7IngiOjU0My4wNTE2Njk2NDkyMDA4LCJ5IjotNDc5LjUyODMwODEzMDEwMDd9LCJjYXB0aW9uIjoiYWthbWFpX3BvbGljeV9hY3Rpb24iLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZ3JvdXAiOiIiLCJncm91cE5hbWUiOiIiLCJhY3Rpb24iOiIifX0seyJpZCI6Im40IiwicG9zaXRpb24iOnsieCI6LTQuMzg1NzUxNjU5ODQ4MjkwNGUtMzIsInkiOjYwOC41MTE5MzU3MDg3NjV9LCJjYXB0aW9uIjoiYWthbWFpX2d0bV90YXJnZXQiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZGF0YWNlbnRlcklkIjoiIiwiZW5hYmxlZCI6IiIsIndlaWdodCI6IiIsIm5hbWUiOiIifX0seyJpZCI6Im41IiwicG9zaXRpb24iOnsieCI6MzIzLCJ5Ijo2MDguNTExOTM1NzA4NzY1fSwiY2FwdGlvbiI6ImFrYW1haV9ndG1fc2VydmVyIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7ImlkIjoiIn19LHsiaWQiOiJuNiIsInBvc2l0aW9uIjp7IngiOjU5My4wNDQxNjAzOTEzNTY2LCJ5IjotMzIzfSwiY2FwdGlvbiI6ImFrYW1haV9wb2xpY3lfYWN0aW9uIiwibGFiZWxzIjpbXSwicHJvcGVydGllcyI6eyJncm91cCI6IiIsImdyb3VwTmFtZSI6IiIsImFjdGlvbiI6IiJ9LCJzdHlsZSI6e319LHsiaWQiOiJuNyIsInBvc2l0aW9uIjp7IngiOi0zMjMsInkiOjYwOC41MTE5MzU3MDg3NjV9LCJjYXB0aW9uIjoiYWthbWFpX2d0bV9jb25maWciLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsibmFtZSI6IiJ9fSx7ImlkIjoibjgiLCJwb3NpdGlvbiI6eyJ4IjotNTUxLjM5NTQ5MDMyMzI1NDksInkiOjM4MC4xMTY0NDUzODU1MTAxM30sImNhcHRpb24iOiJab25lIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOiIifX0seyJpZCI6Im45IiwicG9zaXRpb24iOnsieCI6MjU5LjI3NDA4MDkxNjI1MzY0LCJ5IjoyNTkuMjc0MDgwOTE2MjUzNn0sImNhcHRpb24iOiJha2FtYWlfZWRnZWhvc3QiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZWRnZUhvc3RuYW1lSWQiOiIiLCJpcFZlcnNpb25CZWhhdmlvciI6IiIsImRuc1pvbmUiOiIifX0seyJpZCI6Im4xMCIsInBvc2l0aW9uIjp7IngiOi0zLjcxMTM5NjM2MzQ3NDg4OGUtMzIsInkiOjg0MC43OTA3NjQxMjI3NDU2fSwiY2FwdGlvbiI6ImFrYW1haV9ndG1fdGFyZ2V0IiwibGFiZWxzIjpbXSwicHJvcGVydGllcyI6eyJkYXRhY2VudGVySWQiOiIiLCJlbmFibGVkIjoiIiwid2VpZ2h0IjoiIiwibmFtZSI6IiJ9LCJzdHlsZSI6e319LHsiaWQiOiJuMTIiLCJwb3NpdGlvbiI6eyJ4IjozMjMsInkiOjEwMDUuODIyMDM4MDk5MTUzOX0sImNhcHRpb24iOiJha2FtYWlfZ3RtX3NlcnZlciIsImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiaWQiOiIifSwic3R5bGUiOnt9fSx7ImlkIjoibjEzIiwicG9zaXRpb24iOnsieCI6MzIzLCJ5Ijo3NTQuMzA3ODEwNjcyOTk3OX0sImNhcHRpb24iOiJha2FtYWlfZ3RtX3NlcnZlciIsImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiaWQiOiIifSwic3R5bGUiOnt9fSx7ImlkIjoibjE0IiwicG9zaXRpb24iOnsieCI6LTQzNy4wMzYwMTA2ODc5MTE2NCwieSI6LTMyM30sImNhcHRpb24iOiJha2FtYWlfbmV0c3RvcmFnZV9jb25maWciLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsic3RvcmFnZUdyb3VwSWQiOiIiLCJzdG9yYWdlR3JvdXBOYW1lIjoiIiwiZXN0aW1hdGVkVXNhZ2VHQiI6IiIsImRvbWFpblByZWZpeCI6IiJ9fSx7ImlkIjoibjE1IiwicG9zaXRpb24iOnsieCI6LTQzNy4wMzYwMTA2ODc5MTE2NCwieSI6MH0sImNhcHRpb24iOiJha2FtYWlfcHJvcGVydHlfY29uZmlnIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7fX0seyJpZCI6Im4xNiIsInBvc2l0aW9uIjp7IngiOi03ODUuMjk5MDExNzA4ODQyNSwieSI6LTMyM30sImNhcHRpb24iOiJha2FtYWlfZW5kcG9pbnQiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZnFkbiI6IiJ9fSx7ImlkIjoibjE3IiwicG9zaXRpb24iOnsieCI6MCwieSI6LTMyM30sImNhcHRpb24iOiJha2FtYWlfY2VydGlmaWNhdGUiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiaWQiOiIiLCIiOiIifX1dLCJyZWxhdGlvbnNoaXBzIjpbeyJpZCI6Im4wIiwidHlwZSI6IlBST1RFQ1RFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4wIiwidG9JZCI6Im4xIn0seyJpZCI6Im4xIiwidHlwZSI6IkRFRklORURfQlkiLCJzdHlsZSI6e30sInByb3BlcnRpZXMiOnt9LCJmcm9tSWQiOiJuMSIsInRvSWQiOiJuMiJ9LHsiaWQiOiJuMiIsInR5cGUiOiIiLCJzdHlsZSI6e30sInByb3BlcnRpZXMiOnt9LCJmcm9tSWQiOiJuMiIsInRvSWQiOiJuMyJ9LHsiaWQiOiJuNCIsInR5cGUiOiJTRVJWSUNFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im40IiwidG9JZCI6Im41In0seyJpZCI6Im41IiwidHlwZSI6IiIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4yIiwidG9JZCI6Im42In0seyJpZCI6Im42IiwidHlwZSI6IkhBU19SRUNPUkQiLCJzdHlsZSI6e30sInByb3BlcnRpZXMiOnt9LCJmcm9tSWQiOiJuNyIsInRvSWQiOiJuMCJ9LHsiaWQiOiJuNyIsInR5cGUiOiJERUZJTkVEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjQiLCJ0b0lkIjoibjcifSx7ImlkIjoibjgiLCJ0eXBlIjoiQ09OVEFJTkVEX0lOIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjgiLCJ0b0lkIjoibjcifSx7ImlkIjoibjkiLCJ0eXBlIjoiSEFTX1JFQ09SRCIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4wIiwidG9JZCI6Im45In0seyJpZCI6Im4xMCIsInR5cGUiOiJERUZJTkVEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjEwIiwidG9JZCI6Im43In0seyJpZCI6Im4xMSIsInR5cGUiOiJTRVJWSUNFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4xMCIsInRvSWQiOiJuMTIifSx7ImlkIjoibjEyIiwidHlwZSI6IlNFUlZJQ0VEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjQiLCJ0b0lkIjoibjEzIn0seyJpZCI6Im4xMyIsInR5cGUiOiJTRVJWSUNFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4xNSIsInRvSWQiOiJuMTQifSx7ImlkIjoibjE0IiwidHlwZSI6IlNFUlZJQ0VEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjAiLCJ0b0lkIjoibjE1In0seyJpZCI6Im4xNSIsInR5cGUiOiJIQVNfUkVDT1JEIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjE0IiwidG9JZCI6Im4xNiJ9LHsiaWQiOiJuMTYiLCJ0eXBlIjoiUFJPVEVDVEVEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjAiLCJ0b0lkIjoibjE3In1dfSwiZGlhZ3JhbU5hbWUiOiJBa2FtYWkgU2NoZW1hIn0=)
# Authors
* Zach Probst
* Chad Cloes
* Bryan Norman
* Gabe Gallagher
* Stuart Macleod
* Grant Hoffman
Raw data
{
"_id": null,
"home_page": null,
"name": "nodestream-plugin-akamai",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Zach Probst",
"author_email": "Zach_Probst@intuit.com",
"download_url": "https://files.pythonhosted.org/packages/0e/09/6eca4272a87485264cd010964df368ae77e3fa26c68f255c5ce26c8fd14f/nodestream_plugin_akamai-0.13.0.tar.gz",
"platform": null,
"description": "# Overview\nThis repo contains the scripts necessary to parse Akamai property and redirect configs\nand ingest them into Neo4j. It is a starting point to help visualize your external attack surface\nwithin Akamai.\n\n[LinkedIn Blog post](https://www.linkedin.com/pulse/neo4j-akamai-mapping-your-external-attack-surface-chad-cloes/?published=t&trackingId=ucgj3ZLISy6RW78UL0iYxQ%3D%3D)\n\n# Setup Neo4j\n1. Download and install Neo4j: https://neo4j.com/docs/desktop-manual/current/installation/download-installation/\n1. Create and start database (version 5.7.0: https://neo4j.com/docs/desktop-manual/current/operations/create-dbms/\n1. Install APOC: https://neo4j.com/docs/apoc/5/installation/\n\n# Download Akamai credentials\n1. Create and download akamai credentials: https://techdocs.akamai.com/developer/docs/set-up-authentication-credentials\n\nNOTE: These values will be used in your `.env` \n\n# Install and run the app\n1. Install python3: https://www.python.org/downloads/ \n1. Install poetry: https://python-poetry.org/docs/#installation \n1. Install nodestream: https://nodestream-proj.github.io/nodestream/0.5/docs/tutorial/\n1. Generate a new nodestream project\n1. Add `nodestream-akamai` to your project dependencies in your nodestream projects pyproject.toml file.\n1. Install necessary dependencies: `poetry install`\n1. In `nodestream.yaml` add the following:\n```yaml\nplugin_config:\n akamai:\n base_url: !env AKAMAI_BASE_URL\n client_token: !env AKAMAI_CLIENT_TOKEN\n client_secret: !env AKAMAI_CLIENT_SECRET\n access_token: !env AKAMAI_ACCESS_TOKEN\n # If you are using an akamai account key add the following line:\n account_key: !env AKAMAI_ACCOUNT_KEY\ntargets:\n my-db:\n database: neo4j \n uri: bolt://localhost:7687\n username: neo4j\n password: neo4j123\n```\n1. Set environment variables in your terminal session for: `AKAMAI_BASE_URL`, `AKAMAI_CLIENT_TOKEN`, `AKAMAI_CLIENT_SECRET`, `AKAMAI_ACCESS_TOKEN` and if using an akamai account key `AKAMAI_ACCOUNT_KEY`.\n1. Verify nodestream has loaded the pipelines: `poetry run nodestream show`\n1. Use nodestream to run the pipelines: `poetry run nodestream run <pipeline-name> --target my-db`\n\n# Using make\n1. Install make (ie. `brew install make`)\n1. Run `make run`\n\n# Install Bloom visualization\n1. For detailed instructions on how to import a perspective: https://neo4j.com/docs/bloom-user-guide/current/bloom-perspectives/perspective-creation/\n1. Download the perspective to a file https://github.com/ccloes/neo4j-akamai/blob/main/Bloom_Perspective.json\n\n# Using the saved cypher queries\n1. Type `show endpoint <some.fqdn.com>` (this will show that endpoint and the relationships to it)\n* ![show endpoint <fqdn>](./imgs/showendpoint.png)\n1. Type `show akamai graph` (this will show the current akamai data loaded in the graph)\n* ![show akamai graph](./imgs/showgraph.png)\n1. Type `show schema` (this will show the graph schema and how the nodes relate and their relationships)\n* ![show schema](./imgs/showschema.png)\n\n# Schema visualization\n[Arrows.app link](https://arrows.app/#/import/json=eyJncmFwaCI6eyJzdHlsZSI6eyJmb250LWZhbWlseSI6InNhbnMtc2VyaWYiLCJiYWNrZ3JvdW5kLWNvbG9yIjoiI2ZmZmZmZiIsImJhY2tncm91bmQtaW1hZ2UiOiIiLCJiYWNrZ3JvdW5kLXNpemUiOiIxMDAlIiwibm9kZS1jb2xvciI6IiNmZmZmZmYiLCJib3JkZXItd2lkdGgiOjQsImJvcmRlci1jb2xvciI6IiMwMDAwMDAiLCJyYWRpdXMiOjUwLCJub2RlLXBhZGRpbmciOjUsIm5vZGUtbWFyZ2luIjoyLCJvdXRzaWRlLXBvc2l0aW9uIjoiYXV0byIsIm5vZGUtaWNvbi1pbWFnZSI6IiIsIm5vZGUtYmFja2dyb3VuZC1pbWFnZSI6IiIsImljb24tcG9zaXRpb24iOiJpbnNpZGUiLCJpY29uLXNpemUiOjY0LCJjYXB0aW9uLXBvc2l0aW9uIjoiaW5zaWRlIiwiY2FwdGlvbi1tYXgtd2lkdGgiOjIwMCwiY2FwdGlvbi1jb2xvciI6IiMwMDAwMDAiLCJjYXB0aW9uLWZvbnQtc2l6ZSI6NTAsImNhcHRpb24tZm9udC13ZWlnaHQiOiJub3JtYWwiLCJsYWJlbC1wb3NpdGlvbiI6Imluc2lkZSIsImxhYmVsLWRpc3BsYXkiOiJwaWxsIiwibGFiZWwtY29sb3IiOiIjMDAwMDAwIiwibGFiZWwtYmFja2dyb3VuZC1jb2xvciI6IiNmZmZmZmYiLCJsYWJlbC1ib3JkZXItY29sb3IiOiIjMDAwMDAwIiwibGFiZWwtYm9yZGVyLXdpZHRoIjo0LCJsYWJlbC1mb250LXNpemUiOjQwLCJsYWJlbC1wYWRkaW5nIjo1LCJsYWJlbC1tYXJnaW4iOjQsImRpcmVjdGlvbmFsaXR5IjoiZGlyZWN0ZWQiLCJkZXRhaWwtcG9zaXRpb24iOiJpbmxpbmUiLCJkZXRhaWwtb3JpZW50YXRpb24iOiJwYXJhbGxlbCIsImFycm93LXdpZHRoIjo1LCJhcnJvdy1jb2xvciI6IiMwMDAwMDAiLCJtYXJnaW4tc3RhcnQiOjUsIm1hcmdpbi1lbmQiOjUsIm1hcmdpbi1wZWVyIjoyMCwiYXR0YWNobWVudC1zdGFydCI6Im5vcm1hbCIsImF0dGFjaG1lbnQtZW5kIjoibm9ybWFsIiwicmVsYXRpb25zaGlwLWljb24taW1hZ2UiOiIiLCJ0eXBlLWNvbG9yIjoiIzAwMDAwMCIsInR5cGUtYmFja2dyb3VuZC1jb2xvciI6IiNmZmZmZmYiLCJ0eXBlLWJvcmRlci1jb2xvciI6IiMwMDAwMDAiLCJ0eXBlLWJvcmRlci13aWR0aCI6MCwidHlwZS1mb250LXNpemUiOjE2LCJ0eXBlLXBhZGRpbmciOjUsInByb3BlcnR5LXBvc2l0aW9uIjoib3V0c2lkZSIsInByb3BlcnR5LWFsaWdubWVudCI6ImNvbG9uIiwicHJvcGVydHktY29sb3IiOiIjMDAwMDAwIiwicHJvcGVydHktZm9udC1zaXplIjoxNiwicHJvcGVydHktZm9udC13ZWlnaHQiOiJub3JtYWwifSwibm9kZXMiOlt7ImlkIjoibjAiLCJwb3NpdGlvbiI6eyJ4IjowLCJ5IjowfSwiY2FwdGlvbiI6IkVuZHBvaW50Iiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7ImZxZG4iOiIifX0seyJpZCI6Im4xIiwicG9zaXRpb24iOnsieCI6MzIzLCJ5IjowfSwiY2FwdGlvbiI6ImFrYW1haV93YWZfY29uZmlnIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7ImNvbmZpZ0lkIjoiIiwiY29uZmlnTmFtZSI6IiIsInN0YXR1cyI6IiJ9fSx7ImlkIjoibjIiLCJwb3NpdGlvbiI6eyJ4IjozMjMsInkiOi0zMjN9LCJjYXB0aW9uIjoiYWthbWFpX3dhZl9wb2xpY3kiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsicG9saWN5SWQiOiIiLCJwb2xpY3lOYW1lIjoiIn19LHsiaWQiOiJuMyIsInBvc2l0aW9uIjp7IngiOjU0My4wNTE2Njk2NDkyMDA4LCJ5IjotNDc5LjUyODMwODEzMDEwMDd9LCJjYXB0aW9uIjoiYWthbWFpX3BvbGljeV9hY3Rpb24iLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZ3JvdXAiOiIiLCJncm91cE5hbWUiOiIiLCJhY3Rpb24iOiIifX0seyJpZCI6Im40IiwicG9zaXRpb24iOnsieCI6LTQuMzg1NzUxNjU5ODQ4MjkwNGUtMzIsInkiOjYwOC41MTE5MzU3MDg3NjV9LCJjYXB0aW9uIjoiYWthbWFpX2d0bV90YXJnZXQiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZGF0YWNlbnRlcklkIjoiIiwiZW5hYmxlZCI6IiIsIndlaWdodCI6IiIsIm5hbWUiOiIifX0seyJpZCI6Im41IiwicG9zaXRpb24iOnsieCI6MzIzLCJ5Ijo2MDguNTExOTM1NzA4NzY1fSwiY2FwdGlvbiI6ImFrYW1haV9ndG1fc2VydmVyIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7ImlkIjoiIn19LHsiaWQiOiJuNiIsInBvc2l0aW9uIjp7IngiOjU5My4wNDQxNjAzOTEzNTY2LCJ5IjotMzIzfSwiY2FwdGlvbiI6ImFrYW1haV9wb2xpY3lfYWN0aW9uIiwibGFiZWxzIjpbXSwicHJvcGVydGllcyI6eyJncm91cCI6IiIsImdyb3VwTmFtZSI6IiIsImFjdGlvbiI6IiJ9LCJzdHlsZSI6e319LHsiaWQiOiJuNyIsInBvc2l0aW9uIjp7IngiOi0zMjMsInkiOjYwOC41MTE5MzU3MDg3NjV9LCJjYXB0aW9uIjoiYWthbWFpX2d0bV9jb25maWciLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsibmFtZSI6IiJ9fSx7ImlkIjoibjgiLCJwb3NpdGlvbiI6eyJ4IjotNTUxLjM5NTQ5MDMyMzI1NDksInkiOjM4MC4xMTY0NDUzODU1MTAxM30sImNhcHRpb24iOiJab25lIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7Im5hbWUiOiIifX0seyJpZCI6Im45IiwicG9zaXRpb24iOnsieCI6MjU5LjI3NDA4MDkxNjI1MzY0LCJ5IjoyNTkuMjc0MDgwOTE2MjUzNn0sImNhcHRpb24iOiJha2FtYWlfZWRnZWhvc3QiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZWRnZUhvc3RuYW1lSWQiOiIiLCJpcFZlcnNpb25CZWhhdmlvciI6IiIsImRuc1pvbmUiOiIifX0seyJpZCI6Im4xMCIsInBvc2l0aW9uIjp7IngiOi0zLjcxMTM5NjM2MzQ3NDg4OGUtMzIsInkiOjg0MC43OTA3NjQxMjI3NDU2fSwiY2FwdGlvbiI6ImFrYW1haV9ndG1fdGFyZ2V0IiwibGFiZWxzIjpbXSwicHJvcGVydGllcyI6eyJkYXRhY2VudGVySWQiOiIiLCJlbmFibGVkIjoiIiwid2VpZ2h0IjoiIiwibmFtZSI6IiJ9LCJzdHlsZSI6e319LHsiaWQiOiJuMTIiLCJwb3NpdGlvbiI6eyJ4IjozMjMsInkiOjEwMDUuODIyMDM4MDk5MTUzOX0sImNhcHRpb24iOiJha2FtYWlfZ3RtX3NlcnZlciIsImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiaWQiOiIifSwic3R5bGUiOnt9fSx7ImlkIjoibjEzIiwicG9zaXRpb24iOnsieCI6MzIzLCJ5Ijo3NTQuMzA3ODEwNjcyOTk3OX0sImNhcHRpb24iOiJha2FtYWlfZ3RtX3NlcnZlciIsImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiaWQiOiIifSwic3R5bGUiOnt9fSx7ImlkIjoibjE0IiwicG9zaXRpb24iOnsieCI6LTQzNy4wMzYwMTA2ODc5MTE2NCwieSI6LTMyM30sImNhcHRpb24iOiJha2FtYWlfbmV0c3RvcmFnZV9jb25maWciLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsic3RvcmFnZUdyb3VwSWQiOiIiLCJzdG9yYWdlR3JvdXBOYW1lIjoiIiwiZXN0aW1hdGVkVXNhZ2VHQiI6IiIsImRvbWFpblByZWZpeCI6IiJ9fSx7ImlkIjoibjE1IiwicG9zaXRpb24iOnsieCI6LTQzNy4wMzYwMTA2ODc5MTE2NCwieSI6MH0sImNhcHRpb24iOiJha2FtYWlfcHJvcGVydHlfY29uZmlnIiwic3R5bGUiOnt9LCJsYWJlbHMiOltdLCJwcm9wZXJ0aWVzIjp7fX0seyJpZCI6Im4xNiIsInBvc2l0aW9uIjp7IngiOi03ODUuMjk5MDExNzA4ODQyNSwieSI6LTMyM30sImNhcHRpb24iOiJha2FtYWlfZW5kcG9pbnQiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiZnFkbiI6IiJ9fSx7ImlkIjoibjE3IiwicG9zaXRpb24iOnsieCI6MCwieSI6LTMyM30sImNhcHRpb24iOiJha2FtYWlfY2VydGlmaWNhdGUiLCJzdHlsZSI6e30sImxhYmVscyI6W10sInByb3BlcnRpZXMiOnsiaWQiOiIiLCIiOiIifX1dLCJyZWxhdGlvbnNoaXBzIjpbeyJpZCI6Im4wIiwidHlwZSI6IlBST1RFQ1RFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4wIiwidG9JZCI6Im4xIn0seyJpZCI6Im4xIiwidHlwZSI6IkRFRklORURfQlkiLCJzdHlsZSI6e30sInByb3BlcnRpZXMiOnt9LCJmcm9tSWQiOiJuMSIsInRvSWQiOiJuMiJ9LHsiaWQiOiJuMiIsInR5cGUiOiIiLCJzdHlsZSI6e30sInByb3BlcnRpZXMiOnt9LCJmcm9tSWQiOiJuMiIsInRvSWQiOiJuMyJ9LHsiaWQiOiJuNCIsInR5cGUiOiJTRVJWSUNFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im40IiwidG9JZCI6Im41In0seyJpZCI6Im41IiwidHlwZSI6IiIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4yIiwidG9JZCI6Im42In0seyJpZCI6Im42IiwidHlwZSI6IkhBU19SRUNPUkQiLCJzdHlsZSI6e30sInByb3BlcnRpZXMiOnt9LCJmcm9tSWQiOiJuNyIsInRvSWQiOiJuMCJ9LHsiaWQiOiJuNyIsInR5cGUiOiJERUZJTkVEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjQiLCJ0b0lkIjoibjcifSx7ImlkIjoibjgiLCJ0eXBlIjoiQ09OVEFJTkVEX0lOIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjgiLCJ0b0lkIjoibjcifSx7ImlkIjoibjkiLCJ0eXBlIjoiSEFTX1JFQ09SRCIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4wIiwidG9JZCI6Im45In0seyJpZCI6Im4xMCIsInR5cGUiOiJERUZJTkVEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjEwIiwidG9JZCI6Im43In0seyJpZCI6Im4xMSIsInR5cGUiOiJTRVJWSUNFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4xMCIsInRvSWQiOiJuMTIifSx7ImlkIjoibjEyIiwidHlwZSI6IlNFUlZJQ0VEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjQiLCJ0b0lkIjoibjEzIn0seyJpZCI6Im4xMyIsInR5cGUiOiJTRVJWSUNFRF9CWSIsInN0eWxlIjp7fSwicHJvcGVydGllcyI6e30sImZyb21JZCI6Im4xNSIsInRvSWQiOiJuMTQifSx7ImlkIjoibjE0IiwidHlwZSI6IlNFUlZJQ0VEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjAiLCJ0b0lkIjoibjE1In0seyJpZCI6Im4xNSIsInR5cGUiOiJIQVNfUkVDT1JEIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjE0IiwidG9JZCI6Im4xNiJ9LHsiaWQiOiJuMTYiLCJ0eXBlIjoiUFJPVEVDVEVEX0JZIiwic3R5bGUiOnt9LCJwcm9wZXJ0aWVzIjp7fSwiZnJvbUlkIjoibjAiLCJ0b0lkIjoibjE3In1dfSwiZGlhZ3JhbU5hbWUiOiJBa2FtYWkgU2NoZW1hIn0=)\n# Authors\n* Zach Probst\n* Chad Cloes\n* Bryan Norman\n* Gabe Gallagher\n* Stuart Macleod\n* Grant Hoffman\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Pipeline Plugin for Akamai Data",
"version": "0.13.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2e8d6e582588165fb27661cb4dc27ac1fb5855b33430634c5b698106e2a4fc5f",
"md5": "89aeb4ef3434d3f03ef6540b57a96f13",
"sha256": "26a11994f370a407085302ab76b3a7926aed69f7e9fca0a6765dbf092ac61454"
},
"downloads": -1,
"filename": "nodestream_plugin_akamai-0.13.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "89aeb4ef3434d3f03ef6540b57a96f13",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 49812,
"upload_time": "2024-08-09T17:32:08",
"upload_time_iso_8601": "2024-08-09T17:32:08.526687Z",
"url": "https://files.pythonhosted.org/packages/2e/8d/6e582588165fb27661cb4dc27ac1fb5855b33430634c5b698106e2a4fc5f/nodestream_plugin_akamai-0.13.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e096eca4272a87485264cd010964df368ae77e3fa26c68f255c5ce26c8fd14f",
"md5": "abaeb6151e63253e58ad7ccec3682e18",
"sha256": "b0c6c945cb2bcd6cb2b9e93089f5edbe18363cd4e3bb24be6658a37c8967b6ba"
},
"downloads": -1,
"filename": "nodestream_plugin_akamai-0.13.0.tar.gz",
"has_sig": false,
"md5_digest": "abaeb6151e63253e58ad7ccec3682e18",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 30477,
"upload_time": "2024-08-09T17:32:10",
"upload_time_iso_8601": "2024-08-09T17:32:10.023653Z",
"url": "https://files.pythonhosted.org/packages/0e/09/6eca4272a87485264cd010964df368ae77e3fa26c68f255c5ce26c8fd14f/nodestream_plugin_akamai-0.13.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-09 17:32:10",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "nodestream-plugin-akamai"
}