iam-actions


Nameiam-actions JSON
Version 1.2.20241226 PyPI version JSON
download
home_pagehttps://github.com/constableapp/iam_actions
SummaryJSON of AWS policy components
upload_time2024-12-26 02:43:20
maintainerNone
docs_urlNone
authorConstable
requires_python<4.0,>=3.9
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # iam_actions

`iam_actions` is a python module which contains a dictionary of AWS IAM information. Ideally, it is a complete catalog of all AWS services, actions, and resource types. The information is scraped from the AWS documentation pages.

Nightly, the scraping service runs, and publishes a new version with the date appended. 

The package is meant to be used as a consumable package, but it also contains the code to generate the definitions for packaging.

There are three "roots" that you can consume: actions, resource_types, and services. They all currently return as dict's. *However, in a future release, it will be returned as python data structures*

## Actions

Actions is a listing of all the actions for a given service. The structure is as follows:
```
{
    "service_name": {
        "action_name: {
            "access_level": access_level,
            "action": action_name,
            "condition_keys": [condition_key1, ...],
            "description": description
        }
    }
}
```

Therefore, you can find information about an action as follows

```
>>> iam_actions.actions['s3']['GetObject']
{'access_level': 'Read', 'action': 'GetObject', 'condition_keys': ['s3:AccessPointNetworkOrigin', 's3:DataAccessPointAccount', 's3:DataAccessPointArn', 's3:ExistingObjectTag/<key>', 's3:ResourceAccount', 's3:TlsVersion', 's3:authType', 's3:signatureAge', 's3:signatureversion', 's3:x-amz-content-sha256'], 'description': 'Grants permission to retrieve objects from Amazon S3', 'orphan': False, 'resources': ['object']}
```

## Services

Services list information about the service. The structure is as follows:

```
{
    "service_name": {
        "Actions": [action1, ...]
        "ServiceNames": [service_name1, ...]
        "ARNFormats": [arn_format1, ...]
        "ConditionKeys": [condition_key1, ...]
        "HasResource": bool
    }
}
```

## Resource Types

Resource Types list information about the resource types for the service. The structure is as follows:

```
{
    "service_name": {
        "resource_name": {
            "arn_pattern": arn_pattern,
            "condition_keys": [condition_key1, ...]
        }
    }
}
```

## Usage

```python
import iam_actions

print(item_actions.services)
print(item_actions.actions)
print(item_actions.resource_types)
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/constableapp/iam_actions",
    "name": "iam-actions",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Constable",
    "author_email": "info@constableapp.com",
    "download_url": "https://files.pythonhosted.org/packages/7f/cb/6a340737c80f8b8b9b17a40a4e9ee40a8edf56051983d2a60d16006a95c9/iam_actions-1.2.20241226.tar.gz",
    "platform": null,
    "description": "# iam_actions\n\n`iam_actions` is a python module which contains a dictionary of AWS IAM information. Ideally, it is a complete catalog of all AWS services, actions, and resource types. The information is scraped from the AWS documentation pages.\n\nNightly, the scraping service runs, and publishes a new version with the date appended. \n\nThe package is meant to be used as a consumable package, but it also contains the code to generate the definitions for packaging.\n\nThere are three \"roots\" that you can consume: actions, resource_types, and services. They all currently return as dict's. *However, in a future release, it will be returned as python data structures*\n\n## Actions\n\nActions is a listing of all the actions for a given service. The structure is as follows:\n```\n{\n    \"service_name\": {\n        \"action_name: {\n            \"access_level\": access_level,\n            \"action\": action_name,\n            \"condition_keys\": [condition_key1, ...],\n            \"description\": description\n        }\n    }\n}\n```\n\nTherefore, you can find information about an action as follows\n\n```\n>>> iam_actions.actions['s3']['GetObject']\n{'access_level': 'Read', 'action': 'GetObject', 'condition_keys': ['s3:AccessPointNetworkOrigin', 's3:DataAccessPointAccount', 's3:DataAccessPointArn', 's3:ExistingObjectTag/<key>', 's3:ResourceAccount', 's3:TlsVersion', 's3:authType', 's3:signatureAge', 's3:signatureversion', 's3:x-amz-content-sha256'], 'description': 'Grants permission to retrieve objects from Amazon S3', 'orphan': False, 'resources': ['object']}\n```\n\n## Services\n\nServices list information about the service. The structure is as follows:\n\n```\n{\n    \"service_name\": {\n        \"Actions\": [action1, ...]\n        \"ServiceNames\": [service_name1, ...]\n        \"ARNFormats\": [arn_format1, ...]\n        \"ConditionKeys\": [condition_key1, ...]\n        \"HasResource\": bool\n    }\n}\n```\n\n## Resource Types\n\nResource Types list information about the resource types for the service. The structure is as follows:\n\n```\n{\n    \"service_name\": {\n        \"resource_name\": {\n            \"arn_pattern\": arn_pattern,\n            \"condition_keys\": [condition_key1, ...]\n        }\n    }\n}\n```\n\n## Usage\n\n```python\nimport iam_actions\n\nprint(item_actions.services)\nprint(item_actions.actions)\nprint(item_actions.resource_types)\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "JSON of AWS policy components",
    "version": "1.2.20241226",
    "project_urls": {
        "Homepage": "https://github.com/constableapp/iam_actions",
        "Repository": "https://github.com/constableapp/iam_actions"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41a9e7ff49c57b896b19f5ed8ae647a4b8ee8bb0dd74438a5921b6939e184661",
                "md5": "1a0b65a4ae298878bf784635d283b895",
                "sha256": "557b89dac8ba7ca3b1ba38ecc3891b565a866205a1feae9ebc225b6c66c04e75"
            },
            "downloads": -1,
            "filename": "iam_actions-1.2.20241226-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1a0b65a4ae298878bf784635d283b895",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 708863,
            "upload_time": "2024-12-26T02:43:16",
            "upload_time_iso_8601": "2024-12-26T02:43:16.751991Z",
            "url": "https://files.pythonhosted.org/packages/41/a9/e7ff49c57b896b19f5ed8ae647a4b8ee8bb0dd74438a5921b6939e184661/iam_actions-1.2.20241226-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7fcb6a340737c80f8b8b9b17a40a4e9ee40a8edf56051983d2a60d16006a95c9",
                "md5": "4d3be542621c86adea1afa39a7206a98",
                "sha256": "79be964f52a3488e7f83b39e90e3a37adf0314209c1b353e752579677d3d796b"
            },
            "downloads": -1,
            "filename": "iam_actions-1.2.20241226.tar.gz",
            "has_sig": false,
            "md5_digest": "4d3be542621c86adea1afa39a7206a98",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 697055,
            "upload_time": "2024-12-26T02:43:20",
            "upload_time_iso_8601": "2024-12-26T02:43:20.011712Z",
            "url": "https://files.pythonhosted.org/packages/7f/cb/6a340737c80f8b8b9b17a40a4e9ee40a8edf56051983d2a60d16006a95c9/iam_actions-1.2.20241226.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-26 02:43:20",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "constableapp",
    "github_project": "iam_actions",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "iam-actions"
}
        
Elapsed time: 0.40204s