<a id="mypy-boto3-iam"></a>
# mypy-boto3-iam
[![PyPI - mypy-boto3-iam](https://img.shields.io/pypi/v/mypy-boto3-iam.svg?color=blue)](https://pypi.org/project/mypy-boto3-iam)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-iam.svg?color=blue)](https://pypi.org/project/mypy-boto3-iam)
[![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/)
[![PyPI - Downloads](https://static.pepy.tech/badge/mypy-boto3-iam)](https://pepy.tech/project/mypy-boto3-iam)
![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
Type annotations for
[boto3.IAM 1.35.61](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 8.2.1](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-iam docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/).
See how it helps to find and fix potential bugs:
![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
- [mypy-boto3-iam](#mypy-boto3-iam)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Waiters annotations](#waiters-annotations)
- [Service Resource annotations](#service-resource-annotations)
- [Other resources annotations](#other-resources-annotations)
- [Collections annotations](#collections-annotations)
- [Literals](#literals)
- [Type definitions](#type-definitions)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
<a id="how-to-install"></a>
## How to install
<a id="vscode-extension"></a>
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
extension to your VSCode and run `AWS boto3: Quick Start` command.
Click `Modify` and select `boto3 common` and `IAM`.
<a id="from-pypi-with-pip"></a>
### From PyPI with pip
Install `boto3-stubs` for `IAM` service.
```bash
# install with boto3 type annotations
python -m pip install 'boto3-stubs[iam]'
# Lite version does not provide session.client/resource overloads
# it is more RAM-friendly, but requires explicit type annotations
python -m pip install 'boto3-stubs-lite[iam]'
# standalone installation
python -m pip install mypy-boto3-iam
```
<a id="how-to-uninstall"></a>
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-iam
```
<a id="usage"></a>
## Usage
<a id="vscode"></a>
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[iam]` in your environment:
```bash
python -m pip install 'boto3-stubs[iam]'
```
Both type checking and code completion should now work. No explicit type
annotations required, write your `boto3` code as usual.
<a id="pycharm"></a>
### PyCharm
Install `boto3-stubs-lite[iam]` in your environment:
```bash
python -m pip install 'boto3-stubs-lite[iam]'
```
Both type checking and code completion should now work. Explicit type
annotations **are required**.
Use `boto3-stubs` package instead for implicit type discovery.
<a id="emacs"></a>
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[iam]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(use-package lsp-pyright
:ensure t
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp))) ; or lsp-deferred
:init (when (executable-find "python3")
(setq lsp-pyright-python-executable-cmd "python3"))
)
```
- Make sure emacs uses the environment where you have installed `boto3-stubs`
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
<a id="sublime-text"></a>
### Sublime Text
- Install `boto3-stubs[iam]` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[iam]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
<a id="other-ides"></a>
### Other IDEs
Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
should work.
<a id="mypy"></a>
### mypy
- Install `mypy`: `python -m pip install mypy`
- Install `boto3-stubs[iam]` in your environment:
```bash
python -m pip install 'boto3-stubs[iam]'
```
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
<a id="pyright"></a>
### pyright
- Install `pyright`: `npm i -g pyright`
- Install `boto3-stubs[iam]` in your environment:
```bash
python -m pip install 'boto3-stubs[iam]'
```
Optionally, you can install `boto3-stubs` to `typings` directory.
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
<a id="explicit-type-annotations"></a>
## Explicit type annotations
<a id="client-annotations"></a>
### Client annotations
`IAMClient` provides annotations for `boto3.client("iam")`.
```python
from boto3.session import Session
from mypy_boto3_iam import IAMClient
client: IAMClient = Session().client("iam")
# now client usage is checked by mypy and IDE should provide code completion
```
<a id="paginators-annotations"></a>
### Paginators annotations
`mypy_boto3_iam.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_iam import IAMClient
from mypy_boto3_iam.paginator import (
GetAccountAuthorizationDetailsPaginator,
GetGroupPaginator,
ListAccessKeysPaginator,
ListAccountAliasesPaginator,
ListAttachedGroupPoliciesPaginator,
ListAttachedRolePoliciesPaginator,
ListAttachedUserPoliciesPaginator,
ListEntitiesForPolicyPaginator,
ListGroupPoliciesPaginator,
ListGroupsForUserPaginator,
ListGroupsPaginator,
ListInstanceProfileTagsPaginator,
ListInstanceProfilesForRolePaginator,
ListInstanceProfilesPaginator,
ListMFADeviceTagsPaginator,
ListMFADevicesPaginator,
ListOpenIDConnectProviderTagsPaginator,
ListPoliciesPaginator,
ListPolicyTagsPaginator,
ListPolicyVersionsPaginator,
ListRolePoliciesPaginator,
ListRoleTagsPaginator,
ListRolesPaginator,
ListSAMLProviderTagsPaginator,
ListSSHPublicKeysPaginator,
ListServerCertificateTagsPaginator,
ListServerCertificatesPaginator,
ListSigningCertificatesPaginator,
ListUserPoliciesPaginator,
ListUserTagsPaginator,
ListUsersPaginator,
ListVirtualMFADevicesPaginator,
SimulateCustomPolicyPaginator,
SimulatePrincipalPolicyPaginator,
)
client: IAMClient = Session().client("iam")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
get_account_authorization_details_paginator: GetAccountAuthorizationDetailsPaginator = (
client.get_paginator("get_account_authorization_details")
)
get_group_paginator: GetGroupPaginator = client.get_paginator("get_group")
list_access_keys_paginator: ListAccessKeysPaginator = client.get_paginator("list_access_keys")
list_account_aliases_paginator: ListAccountAliasesPaginator = client.get_paginator(
"list_account_aliases"
)
list_attached_group_policies_paginator: ListAttachedGroupPoliciesPaginator = client.get_paginator(
"list_attached_group_policies"
)
list_attached_role_policies_paginator: ListAttachedRolePoliciesPaginator = client.get_paginator(
"list_attached_role_policies"
)
list_attached_user_policies_paginator: ListAttachedUserPoliciesPaginator = client.get_paginator(
"list_attached_user_policies"
)
list_entities_for_policy_paginator: ListEntitiesForPolicyPaginator = client.get_paginator(
"list_entities_for_policy"
)
list_group_policies_paginator: ListGroupPoliciesPaginator = client.get_paginator(
"list_group_policies"
)
list_groups_for_user_paginator: ListGroupsForUserPaginator = client.get_paginator(
"list_groups_for_user"
)
list_groups_paginator: ListGroupsPaginator = client.get_paginator("list_groups")
list_instance_profile_tags_paginator: ListInstanceProfileTagsPaginator = client.get_paginator(
"list_instance_profile_tags"
)
list_instance_profiles_for_role_paginator: ListInstanceProfilesForRolePaginator = (
client.get_paginator("list_instance_profiles_for_role")
)
list_instance_profiles_paginator: ListInstanceProfilesPaginator = client.get_paginator(
"list_instance_profiles"
)
list_mfa_device_tags_paginator: ListMFADeviceTagsPaginator = client.get_paginator(
"list_mfa_device_tags"
)
list_mfa_devices_paginator: ListMFADevicesPaginator = client.get_paginator("list_mfa_devices")
list_open_id_connect_provider_tags_paginator: ListOpenIDConnectProviderTagsPaginator = (
client.get_paginator("list_open_id_connect_provider_tags")
)
list_policies_paginator: ListPoliciesPaginator = client.get_paginator("list_policies")
list_policy_tags_paginator: ListPolicyTagsPaginator = client.get_paginator("list_policy_tags")
list_policy_versions_paginator: ListPolicyVersionsPaginator = client.get_paginator(
"list_policy_versions"
)
list_role_policies_paginator: ListRolePoliciesPaginator = client.get_paginator("list_role_policies")
list_role_tags_paginator: ListRoleTagsPaginator = client.get_paginator("list_role_tags")
list_roles_paginator: ListRolesPaginator = client.get_paginator("list_roles")
list_saml_provider_tags_paginator: ListSAMLProviderTagsPaginator = client.get_paginator(
"list_saml_provider_tags"
)
list_ssh_public_keys_paginator: ListSSHPublicKeysPaginator = client.get_paginator(
"list_ssh_public_keys"
)
list_server_certificate_tags_paginator: ListServerCertificateTagsPaginator = client.get_paginator(
"list_server_certificate_tags"
)
list_server_certificates_paginator: ListServerCertificatesPaginator = client.get_paginator(
"list_server_certificates"
)
list_signing_certificates_paginator: ListSigningCertificatesPaginator = client.get_paginator(
"list_signing_certificates"
)
list_user_policies_paginator: ListUserPoliciesPaginator = client.get_paginator("list_user_policies")
list_user_tags_paginator: ListUserTagsPaginator = client.get_paginator("list_user_tags")
list_users_paginator: ListUsersPaginator = client.get_paginator("list_users")
list_virtual_mfa_devices_paginator: ListVirtualMFADevicesPaginator = client.get_paginator(
"list_virtual_mfa_devices"
)
simulate_custom_policy_paginator: SimulateCustomPolicyPaginator = client.get_paginator(
"simulate_custom_policy"
)
simulate_principal_policy_paginator: SimulatePrincipalPolicyPaginator = client.get_paginator(
"simulate_principal_policy"
)
```
<a id="waiters-annotations"></a>
### Waiters annotations
`mypy_boto3_iam.waiter` module contains type annotations for all waiters.
```python
from boto3.session import Session
from mypy_boto3_iam import IAMClient
from mypy_boto3_iam.waiter import (
InstanceProfileExistsWaiter,
PolicyExistsWaiter,
RoleExistsWaiter,
UserExistsWaiter,
)
client: IAMClient = Session().client("iam")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
instance_profile_exists_waiter: InstanceProfileExistsWaiter = client.get_waiter(
"instance_profile_exists"
)
policy_exists_waiter: PolicyExistsWaiter = client.get_waiter("policy_exists")
role_exists_waiter: RoleExistsWaiter = client.get_waiter("role_exists")
user_exists_waiter: UserExistsWaiter = client.get_waiter("user_exists")
```
<a id="service-resource-annotations"></a>
### Service Resource annotations
`IAMServiceResource` provides annotations for `boto3.resource("iam")`.
```python
from boto3.session import Session
from mypy_boto3_iam import IAMServiceResource
resource: IAMServiceResource = Session().resource("iam")
# now resource usage is checked by mypy and IDE should provide code completion
```
<a id="other-resources-annotations"></a>
### Other resources annotations
`mypy_boto3_iam.service_resource` module contains type annotations for all
resources.
```python
from boto3.session import Session
from mypy_boto3_iam import IAMServiceResource
from mypy_boto3_iam.service_resource import (
AccessKey,
AccessKeyPair,
AccountPasswordPolicy,
AccountSummary,
AssumeRolePolicy,
CurrentUser,
Group,
GroupPolicy,
InstanceProfile,
LoginProfile,
MfaDevice,
Policy,
PolicyVersion,
Role,
RolePolicy,
SamlProvider,
ServerCertificate,
SigningCertificate,
User,
UserPolicy,
VirtualMfaDevice,
)
resource: IAMServiceResource = Session().resource("iam")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
my_access_key: AccessKey = resource.AccessKey(...)
my_access_key_pair: AccessKeyPair = resource.AccessKeyPair(...)
my_account_password_policy: AccountPasswordPolicy = resource.AccountPasswordPolicy(...)
my_account_summary: AccountSummary = resource.AccountSummary(...)
my_assume_role_policy: AssumeRolePolicy = resource.AssumeRolePolicy(...)
my_current_user: CurrentUser = resource.CurrentUser(...)
my_group: Group = resource.Group(...)
my_group_policy: GroupPolicy = resource.GroupPolicy(...)
my_instance_profile: InstanceProfile = resource.InstanceProfile(...)
my_login_profile: LoginProfile = resource.LoginProfile(...)
my_mfa_device: MfaDevice = resource.MfaDevice(...)
my_policy: Policy = resource.Policy(...)
my_policy_version: PolicyVersion = resource.PolicyVersion(...)
my_role: Role = resource.Role(...)
my_role_policy: RolePolicy = resource.RolePolicy(...)
my_saml_provider: SamlProvider = resource.SamlProvider(...)
my_server_certificate: ServerCertificate = resource.ServerCertificate(...)
my_signing_certificate: SigningCertificate = resource.SigningCertificate(...)
my_user: User = resource.User(...)
my_user_policy: UserPolicy = resource.UserPolicy(...)
my_virtual_mfa_device: VirtualMfaDevice = resource.VirtualMfaDevice(...)
```
<a id="collections-annotations"></a>
### Collections annotations
`mypy_boto3_iam.service_resource` module contains type annotations for all
`IAMServiceResource` collections.
```python
from boto3.session import Session
from mypy_boto3_iam import IAMServiceResource
from mypy_boto3_iam.service_resource import (
ServiceResourceGroupsCollection,
ServiceResourceInstanceProfilesCollection,
ServiceResourcePoliciesCollection,
ServiceResourceRolesCollection,
ServiceResourceSamlProvidersCollection,
ServiceResourceServerCertificatesCollection,
ServiceResourceUsersCollection,
ServiceResourceVirtualMfaDevicesCollection,
)
resource: IAMServiceResource = Session().resource("iam")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
groups: iam_resources.ServiceResourceGroupsCollection = resource.groups
instance_profiles: iam_resources.ServiceResourceInstanceProfilesCollection = (
resource.instance_profiles
)
policies: iam_resources.ServiceResourcePoliciesCollection = resource.policies
roles: iam_resources.ServiceResourceRolesCollection = resource.roles
saml_providers: iam_resources.ServiceResourceSamlProvidersCollection = resource.saml_providers
server_certificates: iam_resources.ServiceResourceServerCertificatesCollection = (
resource.server_certificates
)
users: iam_resources.ServiceResourceUsersCollection = resource.users
virtual_mfa_devices: iam_resources.ServiceResourceVirtualMfaDevicesCollection = (
resource.virtual_mfa_devices
)
```
<a id="literals"></a>
### Literals
`mypy_boto3_iam.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
Full list of `IAM` Literals can be found in
[docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/literals/).
```python
from mypy_boto3_iam.literals import AccessAdvisorUsageGranularityTypeType
def check_value(value: AccessAdvisorUsageGranularityTypeType) -> bool: ...
```
<a id="type-definitions"></a>
### Type definitions
`mypy_boto3_iam.type_defs` module contains structures and shapes assembled to
typed dictionaries and unions for additional type checking.
Full list of `IAM` TypeDefs can be found in
[docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/type_defs/).
```python
from mypy_boto3_iam.type_defs import AccessDetailTypeDef
def get_value() -> AccessDetailTypeDef:
return {...}
```
<a id="how-it-works"></a>
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
generates type annotations for each service, patiently waiting for `boto3`
updates. It delivers drop-in type annotations for you and makes sure that:
- All available `boto3` services are covered.
- Each public class and method of every `boto3` service gets valid type
annotations extracted from `botocore` schemas.
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [ruff](https://docs.astral.sh/ruff/) for readability.
<a id="what's-new"></a>
## What's new
<a id="implemented-features"></a>
### Implemented features
- Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
annotations for each service
- Generated `TypeDefs` for each service
- Generated `Literals` for each service
- Auto discovery of types for `boto3.client` and `boto3.resource` calls
- Auto discovery of types for `session.client` and `session.resource` calls
- Auto discovery of types for `client.get_waiter` and `client.get_paginator`
calls
- Auto discovery of types for `ServiceResource` and `Resource` collections
- Auto discovery of types for `aiobotocore.Session.create_client` calls
<a id="latest-changes"></a>
### Latest changes
Builder changelog can be found in
[Releases](https://github.com/youtype/mypy_boto3_builder/releases).
<a id="versioning"></a>
## Versioning
`mypy-boto3-iam` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
<a id="thank-you"></a>
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
<a id="documentation"></a>
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/)
<a id="support-and-contributing"></a>
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
Raw data
{
"_id": null,
"home_page": "https://github.com/youtype/mypy_boto3_builder",
"name": "mypy-boto3-iam",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "boto3 iam type-annotations botocore mypy typeshed autocomplete",
"author": "Vlad Emelianov",
"author_email": "vlad.emelianov.nz@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/c8/10/dd881ea65e5c160ffda8d7e0f1ab008ff4706d0632cac4bccc9f4c2bdf67/mypy_boto3_iam-1.35.61.tar.gz",
"platform": null,
"description": "<a id=\"mypy-boto3-iam\"></a>\n\n# mypy-boto3-iam\n\n[![PyPI - mypy-boto3-iam](https://img.shields.io/pypi/v/mypy-boto3-iam.svg?color=blue)](https://pypi.org/project/mypy-boto3-iam)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-iam.svg?color=blue)](https://pypi.org/project/mypy-boto3-iam)\n[![Docs](https://img.shields.io/readthedocs/boto3-stubs.svg?color=blue)](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/)\n[![PyPI - Downloads](https://static.pepy.tech/badge/mypy-boto3-iam)](https://pepy.tech/project/mypy-boto3-iam)\n\n![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)\n\nType annotations for\n[boto3.IAM 1.35.61](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html#IAM)\nservice compatible with [VSCode](https://code.visualstudio.com/),\n[PyCharm](https://www.jetbrains.com/pycharm/),\n[Emacs](https://www.gnu.org/software/emacs/),\n[Sublime Text](https://www.sublimetext.com/),\n[mypy](https://github.com/python/mypy),\n[pyright](https://github.com/microsoft/pyright) and other tools.\n\nGenerated by\n[mypy-boto3-builder 8.2.1](https://github.com/youtype/mypy_boto3_builder).\n\nMore information can be found on\n[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in\n[mypy-boto3-iam docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/).\n\nSee how it helps to find and fix potential bugs:\n\n![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)\n\n- [mypy-boto3-iam](#mypy-boto3-iam)\n - [How to install](#how-to-install)\n - [VSCode extension](#vscode-extension)\n - [From PyPI with pip](#from-pypi-with-pip)\n - [How to uninstall](#how-to-uninstall)\n - [Usage](#usage)\n - [VSCode](#vscode)\n - [PyCharm](#pycharm)\n - [Emacs](#emacs)\n - [Sublime Text](#sublime-text)\n - [Other IDEs](#other-ides)\n - [mypy](#mypy)\n - [pyright](#pyright)\n - [Explicit type annotations](#explicit-type-annotations)\n - [Client annotations](#client-annotations)\n - [Paginators annotations](#paginators-annotations)\n - [Waiters annotations](#waiters-annotations)\n - [Service Resource annotations](#service-resource-annotations)\n - [Other resources annotations](#other-resources-annotations)\n - [Collections annotations](#collections-annotations)\n - [Literals](#literals)\n - [Type definitions](#type-definitions)\n - [How it works](#how-it-works)\n - [What's new](#what's-new)\n - [Implemented features](#implemented-features)\n - [Latest changes](#latest-changes)\n - [Versioning](#versioning)\n - [Thank you](#thank-you)\n - [Documentation](#documentation)\n - [Support and contributing](#support-and-contributing)\n\n<a id=\"how-to-install\"></a>\n\n## How to install\n\n<a id=\"vscode-extension\"></a>\n\n### VSCode extension\n\nAdd\n[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)\nextension to your VSCode and run `AWS boto3: Quick Start` command.\n\nClick `Modify` and select `boto3 common` and `IAM`.\n\n<a id=\"from-pypi-with-pip\"></a>\n\n### From PyPI with pip\n\nInstall `boto3-stubs` for `IAM` service.\n\n```bash\n# install with boto3 type annotations\npython -m pip install 'boto3-stubs[iam]'\n\n\n# Lite version does not provide session.client/resource overloads\n# it is more RAM-friendly, but requires explicit type annotations\npython -m pip install 'boto3-stubs-lite[iam]'\n\n\n# standalone installation\npython -m pip install mypy-boto3-iam\n```\n\n<a id=\"how-to-uninstall\"></a>\n\n## How to uninstall\n\n```bash\npython -m pip uninstall -y mypy-boto3-iam\n```\n\n<a id=\"usage\"></a>\n\n## Usage\n\n<a id=\"vscode\"></a>\n\n### VSCode\n\n- Install\n [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)\n- Install\n [Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)\n- Set `Pylance` as your Python Language Server\n- Install `boto3-stubs[iam]` in your environment:\n\n```bash\npython -m pip install 'boto3-stubs[iam]'\n```\n\nBoth type checking and code completion should now work. No explicit type\nannotations required, write your `boto3` code as usual.\n\n<a id=\"pycharm\"></a>\n\n### PyCharm\n\nInstall `boto3-stubs-lite[iam]` in your environment:\n\n```bash\npython -m pip install 'boto3-stubs-lite[iam]'\n```\n\nBoth type checking and code completion should now work. Explicit type\nannotations **are required**.\n\nUse `boto3-stubs` package instead for implicit type discovery.\n\n<a id=\"emacs\"></a>\n\n### Emacs\n\n- Install `boto3-stubs` with services you use in your environment:\n\n```bash\npython -m pip install 'boto3-stubs[iam]'\n```\n\n- Install [use-package](https://github.com/jwiegley/use-package),\n [lsp](https://github.com/emacs-lsp/lsp-mode/),\n [company](https://github.com/company-mode/company-mode) and\n [flycheck](https://github.com/flycheck/flycheck) packages\n- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package\n\n```elisp\n(use-package lsp-pyright\n :ensure t\n :hook (python-mode . (lambda ()\n (require 'lsp-pyright)\n (lsp))) ; or lsp-deferred\n :init (when (executable-find \"python3\")\n (setq lsp-pyright-python-executable-cmd \"python3\"))\n )\n```\n\n- Make sure emacs uses the environment where you have installed `boto3-stubs`\n\nType checking should now work. No explicit type annotations required, write\nyour `boto3` code as usual.\n\n<a id=\"sublime-text\"></a>\n\n### Sublime Text\n\n- Install `boto3-stubs[iam]` with services you use in your environment:\n\n```bash\npython -m pip install 'boto3-stubs[iam]'\n```\n\n- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package\n\nType checking should now work. No explicit type annotations required, write\nyour `boto3` code as usual.\n\n<a id=\"other-ides\"></a>\n\n### Other IDEs\n\nNot tested, but as long as your IDE supports `mypy` or `pyright`, everything\nshould work.\n\n<a id=\"mypy\"></a>\n\n### mypy\n\n- Install `mypy`: `python -m pip install mypy`\n- Install `boto3-stubs[iam]` in your environment:\n\n```bash\npython -m pip install 'boto3-stubs[iam]'\n```\n\nType checking should now work. No explicit type annotations required, write\nyour `boto3` code as usual.\n\n<a id=\"pyright\"></a>\n\n### pyright\n\n- Install `pyright`: `npm i -g pyright`\n- Install `boto3-stubs[iam]` in your environment:\n\n```bash\npython -m pip install 'boto3-stubs[iam]'\n```\n\nOptionally, you can install `boto3-stubs` to `typings` directory.\n\nType checking should now work. No explicit type annotations required, write\nyour `boto3` code as usual.\n\n<a id=\"explicit-type-annotations\"></a>\n\n## Explicit type annotations\n\n<a id=\"client-annotations\"></a>\n\n### Client annotations\n\n`IAMClient` provides annotations for `boto3.client(\"iam\")`.\n\n```python\nfrom boto3.session import Session\n\nfrom mypy_boto3_iam import IAMClient\n\nclient: IAMClient = Session().client(\"iam\")\n\n# now client usage is checked by mypy and IDE should provide code completion\n```\n\n<a id=\"paginators-annotations\"></a>\n\n### Paginators annotations\n\n`mypy_boto3_iam.paginator` module contains type annotations for all paginators.\n\n```python\nfrom boto3.session import Session\n\nfrom mypy_boto3_iam import IAMClient\nfrom mypy_boto3_iam.paginator import (\n GetAccountAuthorizationDetailsPaginator,\n GetGroupPaginator,\n ListAccessKeysPaginator,\n ListAccountAliasesPaginator,\n ListAttachedGroupPoliciesPaginator,\n ListAttachedRolePoliciesPaginator,\n ListAttachedUserPoliciesPaginator,\n ListEntitiesForPolicyPaginator,\n ListGroupPoliciesPaginator,\n ListGroupsForUserPaginator,\n ListGroupsPaginator,\n ListInstanceProfileTagsPaginator,\n ListInstanceProfilesForRolePaginator,\n ListInstanceProfilesPaginator,\n ListMFADeviceTagsPaginator,\n ListMFADevicesPaginator,\n ListOpenIDConnectProviderTagsPaginator,\n ListPoliciesPaginator,\n ListPolicyTagsPaginator,\n ListPolicyVersionsPaginator,\n ListRolePoliciesPaginator,\n ListRoleTagsPaginator,\n ListRolesPaginator,\n ListSAMLProviderTagsPaginator,\n ListSSHPublicKeysPaginator,\n ListServerCertificateTagsPaginator,\n ListServerCertificatesPaginator,\n ListSigningCertificatesPaginator,\n ListUserPoliciesPaginator,\n ListUserTagsPaginator,\n ListUsersPaginator,\n ListVirtualMFADevicesPaginator,\n SimulateCustomPolicyPaginator,\n SimulatePrincipalPolicyPaginator,\n)\n\nclient: IAMClient = Session().client(\"iam\")\n\n# Explicit type annotations are optional here\n# Types should be correctly discovered by mypy and IDEs\nget_account_authorization_details_paginator: GetAccountAuthorizationDetailsPaginator = (\n client.get_paginator(\"get_account_authorization_details\")\n)\nget_group_paginator: GetGroupPaginator = client.get_paginator(\"get_group\")\nlist_access_keys_paginator: ListAccessKeysPaginator = client.get_paginator(\"list_access_keys\")\nlist_account_aliases_paginator: ListAccountAliasesPaginator = client.get_paginator(\n \"list_account_aliases\"\n)\nlist_attached_group_policies_paginator: ListAttachedGroupPoliciesPaginator = client.get_paginator(\n \"list_attached_group_policies\"\n)\nlist_attached_role_policies_paginator: ListAttachedRolePoliciesPaginator = client.get_paginator(\n \"list_attached_role_policies\"\n)\nlist_attached_user_policies_paginator: ListAttachedUserPoliciesPaginator = client.get_paginator(\n \"list_attached_user_policies\"\n)\nlist_entities_for_policy_paginator: ListEntitiesForPolicyPaginator = client.get_paginator(\n \"list_entities_for_policy\"\n)\nlist_group_policies_paginator: ListGroupPoliciesPaginator = client.get_paginator(\n \"list_group_policies\"\n)\nlist_groups_for_user_paginator: ListGroupsForUserPaginator = client.get_paginator(\n \"list_groups_for_user\"\n)\nlist_groups_paginator: ListGroupsPaginator = client.get_paginator(\"list_groups\")\nlist_instance_profile_tags_paginator: ListInstanceProfileTagsPaginator = client.get_paginator(\n \"list_instance_profile_tags\"\n)\nlist_instance_profiles_for_role_paginator: ListInstanceProfilesForRolePaginator = (\n client.get_paginator(\"list_instance_profiles_for_role\")\n)\nlist_instance_profiles_paginator: ListInstanceProfilesPaginator = client.get_paginator(\n \"list_instance_profiles\"\n)\nlist_mfa_device_tags_paginator: ListMFADeviceTagsPaginator = client.get_paginator(\n \"list_mfa_device_tags\"\n)\nlist_mfa_devices_paginator: ListMFADevicesPaginator = client.get_paginator(\"list_mfa_devices\")\nlist_open_id_connect_provider_tags_paginator: ListOpenIDConnectProviderTagsPaginator = (\n client.get_paginator(\"list_open_id_connect_provider_tags\")\n)\nlist_policies_paginator: ListPoliciesPaginator = client.get_paginator(\"list_policies\")\nlist_policy_tags_paginator: ListPolicyTagsPaginator = client.get_paginator(\"list_policy_tags\")\nlist_policy_versions_paginator: ListPolicyVersionsPaginator = client.get_paginator(\n \"list_policy_versions\"\n)\nlist_role_policies_paginator: ListRolePoliciesPaginator = client.get_paginator(\"list_role_policies\")\nlist_role_tags_paginator: ListRoleTagsPaginator = client.get_paginator(\"list_role_tags\")\nlist_roles_paginator: ListRolesPaginator = client.get_paginator(\"list_roles\")\nlist_saml_provider_tags_paginator: ListSAMLProviderTagsPaginator = client.get_paginator(\n \"list_saml_provider_tags\"\n)\nlist_ssh_public_keys_paginator: ListSSHPublicKeysPaginator = client.get_paginator(\n \"list_ssh_public_keys\"\n)\nlist_server_certificate_tags_paginator: ListServerCertificateTagsPaginator = client.get_paginator(\n \"list_server_certificate_tags\"\n)\nlist_server_certificates_paginator: ListServerCertificatesPaginator = client.get_paginator(\n \"list_server_certificates\"\n)\nlist_signing_certificates_paginator: ListSigningCertificatesPaginator = client.get_paginator(\n \"list_signing_certificates\"\n)\nlist_user_policies_paginator: ListUserPoliciesPaginator = client.get_paginator(\"list_user_policies\")\nlist_user_tags_paginator: ListUserTagsPaginator = client.get_paginator(\"list_user_tags\")\nlist_users_paginator: ListUsersPaginator = client.get_paginator(\"list_users\")\nlist_virtual_mfa_devices_paginator: ListVirtualMFADevicesPaginator = client.get_paginator(\n \"list_virtual_mfa_devices\"\n)\nsimulate_custom_policy_paginator: SimulateCustomPolicyPaginator = client.get_paginator(\n \"simulate_custom_policy\"\n)\nsimulate_principal_policy_paginator: SimulatePrincipalPolicyPaginator = client.get_paginator(\n \"simulate_principal_policy\"\n)\n```\n\n<a id=\"waiters-annotations\"></a>\n\n### Waiters annotations\n\n`mypy_boto3_iam.waiter` module contains type annotations for all waiters.\n\n```python\nfrom boto3.session import Session\n\nfrom mypy_boto3_iam import IAMClient\nfrom mypy_boto3_iam.waiter import (\n InstanceProfileExistsWaiter,\n PolicyExistsWaiter,\n RoleExistsWaiter,\n UserExistsWaiter,\n)\n\nclient: IAMClient = Session().client(\"iam\")\n\n# Explicit type annotations are optional here\n# Types should be correctly discovered by mypy and IDEs\ninstance_profile_exists_waiter: InstanceProfileExistsWaiter = client.get_waiter(\n \"instance_profile_exists\"\n)\npolicy_exists_waiter: PolicyExistsWaiter = client.get_waiter(\"policy_exists\")\nrole_exists_waiter: RoleExistsWaiter = client.get_waiter(\"role_exists\")\nuser_exists_waiter: UserExistsWaiter = client.get_waiter(\"user_exists\")\n```\n\n<a id=\"service-resource-annotations\"></a>\n\n### Service Resource annotations\n\n`IAMServiceResource` provides annotations for `boto3.resource(\"iam\")`.\n\n```python\nfrom boto3.session import Session\n\nfrom mypy_boto3_iam import IAMServiceResource\n\nresource: IAMServiceResource = Session().resource(\"iam\")\n\n# now resource usage is checked by mypy and IDE should provide code completion\n```\n\n<a id=\"other-resources-annotations\"></a>\n\n### Other resources annotations\n\n`mypy_boto3_iam.service_resource` module contains type annotations for all\nresources.\n\n```python\nfrom boto3.session import Session\n\nfrom mypy_boto3_iam import IAMServiceResource\nfrom mypy_boto3_iam.service_resource import (\n AccessKey,\n AccessKeyPair,\n AccountPasswordPolicy,\n AccountSummary,\n AssumeRolePolicy,\n CurrentUser,\n Group,\n GroupPolicy,\n InstanceProfile,\n LoginProfile,\n MfaDevice,\n Policy,\n PolicyVersion,\n Role,\n RolePolicy,\n SamlProvider,\n ServerCertificate,\n SigningCertificate,\n User,\n UserPolicy,\n VirtualMfaDevice,\n)\n\nresource: IAMServiceResource = Session().resource(\"iam\")\n\n# Explicit type annotations are optional here\n# Type should be correctly discovered by mypy and IDEs\nmy_access_key: AccessKey = resource.AccessKey(...)\nmy_access_key_pair: AccessKeyPair = resource.AccessKeyPair(...)\nmy_account_password_policy: AccountPasswordPolicy = resource.AccountPasswordPolicy(...)\nmy_account_summary: AccountSummary = resource.AccountSummary(...)\nmy_assume_role_policy: AssumeRolePolicy = resource.AssumeRolePolicy(...)\nmy_current_user: CurrentUser = resource.CurrentUser(...)\nmy_group: Group = resource.Group(...)\nmy_group_policy: GroupPolicy = resource.GroupPolicy(...)\nmy_instance_profile: InstanceProfile = resource.InstanceProfile(...)\nmy_login_profile: LoginProfile = resource.LoginProfile(...)\nmy_mfa_device: MfaDevice = resource.MfaDevice(...)\nmy_policy: Policy = resource.Policy(...)\nmy_policy_version: PolicyVersion = resource.PolicyVersion(...)\nmy_role: Role = resource.Role(...)\nmy_role_policy: RolePolicy = resource.RolePolicy(...)\nmy_saml_provider: SamlProvider = resource.SamlProvider(...)\nmy_server_certificate: ServerCertificate = resource.ServerCertificate(...)\nmy_signing_certificate: SigningCertificate = resource.SigningCertificate(...)\nmy_user: User = resource.User(...)\nmy_user_policy: UserPolicy = resource.UserPolicy(...)\nmy_virtual_mfa_device: VirtualMfaDevice = resource.VirtualMfaDevice(...)\n```\n\n<a id=\"collections-annotations\"></a>\n\n### Collections annotations\n\n`mypy_boto3_iam.service_resource` module contains type annotations for all\n`IAMServiceResource` collections.\n\n```python\nfrom boto3.session import Session\n\nfrom mypy_boto3_iam import IAMServiceResource\nfrom mypy_boto3_iam.service_resource import (\n ServiceResourceGroupsCollection,\n ServiceResourceInstanceProfilesCollection,\n ServiceResourcePoliciesCollection,\n ServiceResourceRolesCollection,\n ServiceResourceSamlProvidersCollection,\n ServiceResourceServerCertificatesCollection,\n ServiceResourceUsersCollection,\n ServiceResourceVirtualMfaDevicesCollection,\n)\n\nresource: IAMServiceResource = Session().resource(\"iam\")\n\n# Explicit type annotations are optional here\n# Type should be correctly discovered by mypy and IDEs\ngroups: iam_resources.ServiceResourceGroupsCollection = resource.groups\ninstance_profiles: iam_resources.ServiceResourceInstanceProfilesCollection = (\n resource.instance_profiles\n)\npolicies: iam_resources.ServiceResourcePoliciesCollection = resource.policies\nroles: iam_resources.ServiceResourceRolesCollection = resource.roles\nsaml_providers: iam_resources.ServiceResourceSamlProvidersCollection = resource.saml_providers\nserver_certificates: iam_resources.ServiceResourceServerCertificatesCollection = (\n resource.server_certificates\n)\nusers: iam_resources.ServiceResourceUsersCollection = resource.users\nvirtual_mfa_devices: iam_resources.ServiceResourceVirtualMfaDevicesCollection = (\n resource.virtual_mfa_devices\n)\n```\n\n<a id=\"literals\"></a>\n\n### Literals\n\n`mypy_boto3_iam.literals` module contains literals extracted from shapes that\ncan be used in user code for type checking.\n\nFull list of `IAM` Literals can be found in\n[docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/literals/).\n\n```python\nfrom mypy_boto3_iam.literals import AccessAdvisorUsageGranularityTypeType\n\n\ndef check_value(value: AccessAdvisorUsageGranularityTypeType) -> bool: ...\n```\n\n<a id=\"type-definitions\"></a>\n\n### Type definitions\n\n`mypy_boto3_iam.type_defs` module contains structures and shapes assembled to\ntyped dictionaries and unions for additional type checking.\n\nFull list of `IAM` TypeDefs can be found in\n[docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/type_defs/).\n\n```python\nfrom mypy_boto3_iam.type_defs import AccessDetailTypeDef\n\n\ndef get_value() -> AccessDetailTypeDef:\n return {...}\n```\n\n<a id=\"how-it-works\"></a>\n\n## How it works\n\nFully automated\n[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully\ngenerates type annotations for each service, patiently waiting for `boto3`\nupdates. It delivers drop-in type annotations for you and makes sure that:\n\n- All available `boto3` services are covered.\n- Each public class and method of every `boto3` service gets valid type\n annotations extracted from `botocore` schemas.\n- Type annotations include up-to-date documentation.\n- Link to documentation is provided for every method.\n- Code is processed by [ruff](https://docs.astral.sh/ruff/) for readability.\n\n<a id=\"what's-new\"></a>\n\n## What's new\n\n<a id=\"implemented-features\"></a>\n\n### Implemented features\n\n- Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`\n libraries\n- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`\n compatibility\n- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type\n annotations for each service\n- Generated `TypeDefs` for each service\n- Generated `Literals` for each service\n- Auto discovery of types for `boto3.client` and `boto3.resource` calls\n- Auto discovery of types for `session.client` and `session.resource` calls\n- Auto discovery of types for `client.get_waiter` and `client.get_paginator`\n calls\n- Auto discovery of types for `ServiceResource` and `Resource` collections\n- Auto discovery of types for `aiobotocore.Session.create_client` calls\n\n<a id=\"latest-changes\"></a>\n\n### Latest changes\n\nBuilder changelog can be found in\n[Releases](https://github.com/youtype/mypy_boto3_builder/releases).\n\n<a id=\"versioning\"></a>\n\n## Versioning\n\n`mypy-boto3-iam` version is the same as related `boto3` version and follows\n[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.\n\n<a id=\"thank-you\"></a>\n\n## Thank you\n\n- [Allie Fitter](https://github.com/alliefitter) for\n [boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),\n this package is based on top of his work\n- [black](https://github.com/psf/black) developers for an awesome formatting\n tool\n- [Timothy Edmund Crosley](https://github.com/timothycrosley) for\n [isort](https://github.com/PyCQA/isort) and how flexible it is\n- [mypy](https://github.com/python/mypy) developers for doing all dirty work\n for us\n- [pyright](https://github.com/microsoft/pyright) team for the new era of typed\n Python\n\n<a id=\"documentation\"></a>\n\n## Documentation\n\nAll services type annotations can be found in\n[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/)\n\n<a id=\"support-and-contributing\"></a>\n\n## Support and contributing\n\nThis package is auto-generated. Please reports any bugs or request new features\nin [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)\nrepository.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Type annotations for boto3.IAM 1.35.61 service generated with mypy-boto3-builder 8.2.1",
"version": "1.35.61",
"project_urls": {
"Documentation": "https://youtype.github.io/boto3_stubs_docs/mypy_boto3_iam/",
"Homepage": "https://github.com/youtype/mypy_boto3_builder",
"Source": "https://github.com/youtype/mypy_boto3_builder",
"Tracker": "https://github.com/youtype/mypy_boto3_builder/issues"
},
"split_keywords": [
"boto3",
"iam",
"type-annotations",
"botocore",
"mypy",
"typeshed",
"autocomplete"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a204caed57c9e38b7f779ea6e498645350d583c60c12eba5e0c74fa8cd237986",
"md5": "f261cc9a8d0f95b9122cb9341e0dbe2e",
"sha256": "2b26756fbf1ea3ad57546731b3f2c23780aa5448d1cb05dd80ba30bfc29ad581"
},
"downloads": -1,
"filename": "mypy_boto3_iam-1.35.61-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f261cc9a8d0f95b9122cb9341e0dbe2e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 85855,
"upload_time": "2024-11-14T22:13:16",
"upload_time_iso_8601": "2024-11-14T22:13:16.700426Z",
"url": "https://files.pythonhosted.org/packages/a2/04/caed57c9e38b7f779ea6e498645350d583c60c12eba5e0c74fa8cd237986/mypy_boto3_iam-1.35.61-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c810dd881ea65e5c160ffda8d7e0f1ab008ff4706d0632cac4bccc9f4c2bdf67",
"md5": "a9da95701789d0ffac34d11d59200aa2",
"sha256": "cf307f7fb2404ceda7fda455f6d4cf3bdf57e12a3b16d27101db6223c59e6fe7"
},
"downloads": -1,
"filename": "mypy_boto3_iam-1.35.61.tar.gz",
"has_sig": false,
"md5_digest": "a9da95701789d0ffac34d11d59200aa2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 79851,
"upload_time": "2024-11-14T22:13:19",
"upload_time_iso_8601": "2024-11-14T22:13:19.806102Z",
"url": "https://files.pythonhosted.org/packages/c8/10/dd881ea65e5c160ffda8d7e0f1ab008ff4706d0632cac4bccc9f4c2bdf67/mypy_boto3_iam-1.35.61.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-14 22:13:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "youtype",
"github_project": "mypy_boto3_builder",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mypy-boto3-iam"
}