diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 23:39:28 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 23:39:28 +0000 |
commit | 2cb17324253dc6782a7ce734eedce68cb9114fc0 (patch) | |
tree | 3b2eecfd1dd0b56dfbc10f6256d62ab9187ce750 | |
parent | cc3630e3aee61578d5052e5c6955d7b4badece28 (diff) |
automatic import of python-mypy-boto3-iam
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-mypy-boto3-iam.spec | 3301 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 3303 insertions, 0 deletions
@@ -0,0 +1 @@ +/mypy-boto3-iam-1.26.97.tar.gz diff --git a/python-mypy-boto3-iam.spec b/python-mypy-boto3-iam.spec new file mode 100644 index 0000000..76a4337 --- /dev/null +++ b/python-mypy-boto3-iam.spec @@ -0,0 +1,3301 @@ +%global _empty_manifest_terminate_build 0 +Name: python-mypy-boto3-iam +Version: 1.26.97 +Release: 1 +Summary: Type annotations for boto3.IAM 1.26.97 service generated with mypy-boto3-builder 7.13.0 +License: MIT License +URL: https://github.com/youtype/mypy_boto3_builder +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9c/70/e24c2ad650c9e9b96cdc147ad5e335c4122302bee08c44afef9e9b5a9edd/mypy-boto3-iam-1.26.97.tar.gz +BuildArch: noarch + +Requires: python3-typing-extensions + +%description +<a id="mypy-boto3-iam"></a> + +# mypy-boto3-iam + +[](https://pypi.org/project/mypy-boto3-iam) +[](https://pypi.org/project/mypy-boto3-iam) +[](https://mypy-boto3-builder.readthedocs.io/) +[](https://pypistats.org/packages/mypy-boto3-iam) + + + +Type annotations for +[boto3.IAM 1.26.97](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 7.13.0](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: + + + +- [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) + - [Typed dictionaries](#typed-dictionaries) + - [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` folder. + +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, + ListGroupsPaginator, + ListGroupsForUserPaginator, + ListInstanceProfilesPaginator, + ListInstanceProfilesForRolePaginator, + ListMFADevicesPaginator, + ListPoliciesPaginator, + ListPolicyVersionsPaginator, + ListRolePoliciesPaginator, + ListRolesPaginator, + ListSSHPublicKeysPaginator, + 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_paginator: ListGroupsPaginator = client.get_paginator("list_groups") +list_groups_for_user_paginator: ListGroupsForUserPaginator = client.get_paginator( + "list_groups_for_user" +) +list_instance_profiles_paginator: ListInstanceProfilesPaginator = client.get_paginator( + "list_instance_profiles" +) +list_instance_profiles_for_role_paginator: ListInstanceProfilesForRolePaginator = ( + client.get_paginator("list_instance_profiles_for_role") +) +list_mfa_devices_paginator: ListMFADevicesPaginator = client.get_paginator("list_mfa_devices") +list_policies_paginator: ListPoliciesPaginator = client.get_paginator("list_policies") +list_policy_versions_paginator: ListPolicyVersionsPaginator = client.get_paginator( + "list_policy_versions" +) +list_role_policies_paginator: ListRolePoliciesPaginator = client.get_paginator("list_role_policies") +list_roles_paginator: ListRolesPaginator = client.get_paginator("list_roles") +list_ssh_public_keys_paginator: ListSSHPublicKeysPaginator = client.get_paginator( + "list_ssh_public_keys" +) +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. + +```python +from mypy_boto3_iam.literals import ( + AccessAdvisorUsageGranularityTypeType, + ContextKeyTypeEnumType, + DeletionTaskStatusTypeType, + EntityTypeType, + GetAccountAuthorizationDetailsPaginatorName, + GetGroupPaginatorName, + InstanceProfileExistsWaiterName, + ListAccessKeysPaginatorName, + ListAccountAliasesPaginatorName, + ListAttachedGroupPoliciesPaginatorName, + ListAttachedRolePoliciesPaginatorName, + ListAttachedUserPoliciesPaginatorName, + ListEntitiesForPolicyPaginatorName, + ListGroupPoliciesPaginatorName, + ListGroupsForUserPaginatorName, + ListGroupsPaginatorName, + ListInstanceProfilesForRolePaginatorName, + ListInstanceProfilesPaginatorName, + ListMFADevicesPaginatorName, + ListPoliciesPaginatorName, + ListPolicyVersionsPaginatorName, + ListRolePoliciesPaginatorName, + ListRolesPaginatorName, + ListSSHPublicKeysPaginatorName, + ListServerCertificatesPaginatorName, + ListSigningCertificatesPaginatorName, + ListUserPoliciesPaginatorName, + ListUserTagsPaginatorName, + ListUsersPaginatorName, + ListVirtualMFADevicesPaginatorName, + PermissionsBoundaryAttachmentTypeType, + PolicyEvaluationDecisionTypeType, + PolicyExistsWaiterName, + PolicySourceTypeType, + PolicyUsageTypeType, + ReportFormatTypeType, + ReportStateTypeType, + RoleExistsWaiterName, + SimulateCustomPolicyPaginatorName, + SimulatePrincipalPolicyPaginatorName, + UserExistsWaiterName, + assignmentStatusTypeType, + encodingTypeType, + globalEndpointTokenVersionType, + jobStatusTypeType, + policyOwnerEntityTypeType, + policyScopeTypeType, + policyTypeType, + sortKeyTypeType, + statusTypeType, + summaryKeyTypeType, + IAMServiceName, + ServiceName, + ResourceServiceName, + PaginatorName, + WaiterName, +) + + +def check_value(value: AccessAdvisorUsageGranularityTypeType) -> bool: + ... +``` + +<a id="typed-dictionaries"></a> + +### Typed dictionaries + +`mypy_boto3_iam.type_defs` module contains structures and shapes assembled to +typed dictionaries for additional type checking. + +```python +from mypy_boto3_iam.type_defs import ( + AccessDetailTypeDef, + AccessKeyLastUsedTypeDef, + AccessKeyMetadataTypeDef, + AccessKeyTypeDef, + AddClientIDToOpenIDConnectProviderRequestRequestTypeDef, + AddRoleToInstanceProfileRequestInstanceProfileAddRoleTypeDef, + AddRoleToInstanceProfileRequestRequestTypeDef, + AddUserToGroupRequestGroupAddUserTypeDef, + AddUserToGroupRequestRequestTypeDef, + AddUserToGroupRequestUserAddGroupTypeDef, + AttachGroupPolicyRequestGroupAttachPolicyTypeDef, + AttachGroupPolicyRequestPolicyAttachGroupTypeDef, + AttachGroupPolicyRequestRequestTypeDef, + AttachRolePolicyRequestPolicyAttachRoleTypeDef, + AttachRolePolicyRequestRequestTypeDef, + AttachRolePolicyRequestRoleAttachPolicyTypeDef, + AttachUserPolicyRequestPolicyAttachUserTypeDef, + AttachUserPolicyRequestRequestTypeDef, + AttachUserPolicyRequestUserAttachPolicyTypeDef, + ResponseMetadataTypeDef, + AttachedPermissionsBoundaryTypeDef, + AttachedPolicyTypeDef, + ChangePasswordRequestRequestTypeDef, + ChangePasswordRequestServiceResourceChangePasswordTypeDef, + ContextEntryTypeDef, + CreateAccessKeyRequestRequestTypeDef, + CreateAccountAliasRequestRequestTypeDef, + CreateAccountAliasRequestServiceResourceCreateAccountAliasTypeDef, + CreateGroupRequestGroupCreateTypeDef, + CreateGroupRequestRequestTypeDef, + CreateGroupRequestServiceResourceCreateGroupTypeDef, + GroupTypeDef, + TagTypeDef, + CreateLoginProfileRequestLoginProfileCreateTypeDef, + CreateLoginProfileRequestRequestTypeDef, + CreateLoginProfileRequestUserCreateLoginProfileTypeDef, + LoginProfileTypeDef, + CreatePolicyVersionRequestPolicyCreateVersionTypeDef, + CreatePolicyVersionRequestRequestTypeDef, + PolicyVersionTypeDef, + CreateServiceLinkedRoleRequestRequestTypeDef, + CreateServiceSpecificCredentialRequestRequestTypeDef, + ServiceSpecificCredentialTypeDef, + DeactivateMFADeviceRequestRequestTypeDef, + DeleteAccessKeyRequestRequestTypeDef, + DeleteAccountAliasRequestRequestTypeDef, + DeleteGroupPolicyRequestRequestTypeDef, + DeleteGroupRequestRequestTypeDef, + DeleteInstanceProfileRequestRequestTypeDef, + DeleteLoginProfileRequestRequestTypeDef, + DeleteOpenIDConnectProviderRequestRequestTypeDef, + DeletePolicyRequestRequestTypeDef, + DeletePolicyVersionRequestRequestTypeDef, + DeleteRolePermissionsBoundaryRequestRequestTypeDef, + DeleteRolePolicyRequestRequestTypeDef, + DeleteRoleRequestRequestTypeDef, + DeleteSAMLProviderRequestRequestTypeDef, + DeleteSSHPublicKeyRequestRequestTypeDef, + DeleteServerCertificateRequestRequestTypeDef, + DeleteServiceLinkedRoleRequestRequestTypeDef, + DeleteServiceSpecificCredentialRequestRequestTypeDef, + DeleteSigningCertificateRequestRequestTypeDef, + DeleteUserPermissionsBoundaryRequestRequestTypeDef, + DeleteUserPolicyRequestRequestTypeDef, + DeleteUserRequestRequestTypeDef, + DeleteVirtualMFADeviceRequestRequestTypeDef, + RoleUsageTypeTypeDef, + DetachGroupPolicyRequestGroupDetachPolicyTypeDef, + DetachGroupPolicyRequestPolicyDetachGroupTypeDef, + DetachGroupPolicyRequestRequestTypeDef, + DetachRolePolicyRequestPolicyDetachRoleTypeDef, + DetachRolePolicyRequestRequestTypeDef, + DetachRolePolicyRequestRoleDetachPolicyTypeDef, + DetachUserPolicyRequestPolicyDetachUserTypeDef, + DetachUserPolicyRequestRequestTypeDef, + DetachUserPolicyRequestUserDetachPolicyTypeDef, + EnableMFADeviceRequestMfaDeviceAssociateTypeDef, + EnableMFADeviceRequestRequestTypeDef, + EnableMFADeviceRequestUserEnableMfaTypeDef, + EntityInfoTypeDef, + ErrorDetailsTypeDef, + OrganizationsDecisionDetailTypeDef, + PermissionsBoundaryDecisionDetailTypeDef, + GenerateOrganizationsAccessReportRequestRequestTypeDef, + GenerateServiceLastAccessedDetailsRequestRequestTypeDef, + GetAccessKeyLastUsedRequestRequestTypeDef, + PaginatorConfigTypeDef, + GetAccountAuthorizationDetailsRequestRequestTypeDef, + PasswordPolicyTypeDef, + GetContextKeysForCustomPolicyRequestRequestTypeDef, + GetContextKeysForPrincipalPolicyRequestRequestTypeDef, + GetGroupPolicyRequestRequestTypeDef, + GetGroupRequestRequestTypeDef, + WaiterConfigTypeDef, + GetInstanceProfileRequestRequestTypeDef, + GetLoginProfileRequestRequestTypeDef, + GetOpenIDConnectProviderRequestRequestTypeDef, + GetOrganizationsAccessReportRequestRequestTypeDef, + GetPolicyRequestRequestTypeDef, + GetPolicyVersionRequestRequestTypeDef, + GetRolePolicyRequestRequestTypeDef, + GetRoleRequestRequestTypeDef, + GetSAMLProviderRequestRequestTypeDef, + GetSSHPublicKeyRequestRequestTypeDef, + SSHPublicKeyTypeDef, + GetServerCertificateRequestRequestTypeDef, + GetServiceLastAccessedDetailsRequestRequestTypeDef, + GetServiceLastAccessedDetailsWithEntitiesRequestRequestTypeDef, + GetServiceLinkedRoleDeletionStatusRequestRequestTypeDef, + GetUserPolicyRequestRequestTypeDef, + GetUserRequestRequestTypeDef, + PolicyDetailTypeDef, + GroupPolicyRequestTypeDef, + ListAccessKeysRequestRequestTypeDef, + ListAccountAliasesRequestRequestTypeDef, + ListAttachedGroupPoliciesRequestRequestTypeDef, + ListAttachedRolePoliciesRequestRequestTypeDef, + ListAttachedUserPoliciesRequestRequestTypeDef, + ListEntitiesForPolicyRequestRequestTypeDef, + PolicyGroupTypeDef, + PolicyRoleTypeDef, + PolicyUserTypeDef, + ListGroupPoliciesRequestRequestTypeDef, + ListGroupsForUserRequestRequestTypeDef, + ListGroupsRequestRequestTypeDef, + ListInstanceProfileTagsRequestRequestTypeDef, + ListInstanceProfilesForRoleRequestRequestTypeDef, + ListInstanceProfilesRequestRequestTypeDef, + ListMFADeviceTagsRequestRequestTypeDef, + ListMFADevicesRequestRequestTypeDef, + MFADeviceTypeDef, + ListOpenIDConnectProviderTagsRequestRequestTypeDef, + OpenIDConnectProviderListEntryTypeDef, + PolicyGrantingServiceAccessTypeDef, + ListPoliciesGrantingServiceAccessRequestRequestTypeDef, + ListPoliciesRequestRequestTypeDef, + ListPolicyTagsRequestRequestTypeDef, + ListPolicyVersionsRequestRequestTypeDef, + ListRolePoliciesRequestRequestTypeDef, + ListRoleTagsRequestRequestTypeDef, + ListRolesRequestRequestTypeDef, + ListSAMLProviderTagsRequestRequestTypeDef, + SAMLProviderListEntryTypeDef, + ListSSHPublicKeysRequestRequestTypeDef, + SSHPublicKeyMetadataTypeDef, + ListServerCertificateTagsRequestRequestTypeDef, + ListServerCertificatesRequestRequestTypeDef, + ServerCertificateMetadataTypeDef, + ListServiceSpecificCredentialsRequestRequestTypeDef, + ServiceSpecificCredentialMetadataTypeDef, + ListSigningCertificatesRequestRequestTypeDef, + SigningCertificateTypeDef, + ListUserPoliciesRequestRequestTypeDef, + ListUserTagsRequestRequestTypeDef, + ListUsersRequestRequestTypeDef, + ListVirtualMFADevicesRequestRequestTypeDef, + PositionTypeDef, + PutGroupPolicyRequestGroupCreatePolicyTypeDef, + PutGroupPolicyRequestGroupPolicyPutTypeDef, + PutGroupPolicyRequestRequestTypeDef, + PutRolePermissionsBoundaryRequestRequestTypeDef, + PutRolePolicyRequestRequestTypeDef, + PutRolePolicyRequestRolePolicyPutTypeDef, + PutUserPermissionsBoundaryRequestRequestTypeDef, + PutUserPolicyRequestRequestTypeDef, + PutUserPolicyRequestUserCreatePolicyTypeDef, + PutUserPolicyRequestUserPolicyPutTypeDef, + RemoveClientIDFromOpenIDConnectProviderRequestRequestTypeDef, + RemoveRoleFromInstanceProfileRequestInstanceProfileRemoveRoleTypeDef, + RemoveRoleFromInstanceProfileRequestRequestTypeDef, + RemoveUserFromGroupRequestGroupRemoveUserTypeDef, + RemoveUserFromGroupRequestRequestTypeDef, + RemoveUserFromGroupRequestUserRemoveGroupTypeDef, + ResetServiceSpecificCredentialRequestRequestTypeDef, + ResyncMFADeviceRequestMfaDeviceResyncTypeDef, + ResyncMFADeviceRequestRequestTypeDef, + RoleLastUsedTypeDef, + RolePolicyRequestTypeDef, + TrackedActionLastAccessedTypeDef, + ServiceResourceAccessKeyPairRequestTypeDef, + ServiceResourceAccessKeyRequestTypeDef, + ServiceResourceAssumeRolePolicyRequestTypeDef, + ServiceResourceGroupPolicyRequestTypeDef, + ServiceResourceGroupRequestTypeDef, + ServiceResourceInstanceProfileRequestTypeDef, + ServiceResourceLoginProfileRequestTypeDef, + ServiceResourceMfaDeviceRequestTypeDef, + ServiceResourcePolicyRequestTypeDef, + ServiceResourcePolicyVersionRequestTypeDef, + ServiceResourceRolePolicyRequestTypeDef, + ServiceResourceRoleRequestTypeDef, + ServiceResourceSamlProviderRequestTypeDef, + ServiceResourceServerCertificateRequestTypeDef, + ServiceResourceSigningCertificateRequestTypeDef, + ServiceResourceUserPolicyRequestTypeDef, + ServiceResourceUserRequestTypeDef, + ServiceResourceVirtualMfaDeviceRequestTypeDef, + SetDefaultPolicyVersionRequestRequestTypeDef, + SetSecurityTokenServicePreferencesRequestRequestTypeDef, + UntagInstanceProfileRequestRequestTypeDef, + UntagMFADeviceRequestRequestTypeDef, + UntagOpenIDConnectProviderRequestRequestTypeDef, + UntagPolicyRequestRequestTypeDef, + UntagRoleRequestRequestTypeDef, + UntagSAMLProviderRequestRequestTypeDef, + UntagServerCertificateRequestRequestTypeDef, + UntagUserRequestRequestTypeDef, + UpdateAccessKeyRequestAccessKeyActivateTypeDef, + UpdateAccessKeyRequestAccessKeyDeactivateTypeDef, + UpdateAccessKeyRequestAccessKeyPairActivateTypeDef, + UpdateAccessKeyRequestAccessKeyPairDeactivateTypeDef, + UpdateAccessKeyRequestRequestTypeDef, + UpdateAccountPasswordPolicyRequestAccountPasswordPolicyUpdateTypeDef, + UpdateAccountPasswordPolicyRequestRequestTypeDef, + UpdateAccountPasswordPolicyRequestServiceResourceCreateAccountPasswordPolicyTypeDef, + UpdateAssumeRolePolicyRequestAssumeRolePolicyUpdateTypeDef, + UpdateAssumeRolePolicyRequestRequestTypeDef, + UpdateGroupRequestGroupUpdateTypeDef, + UpdateGroupRequestRequestTypeDef, + UpdateLoginProfileRequestLoginProfileUpdateTypeDef, + UpdateLoginProfileRequestRequestTypeDef, + UpdateOpenIDConnectProviderThumbprintRequestRequestTypeDef, + UpdateRoleDescriptionRequestRequestTypeDef, + UpdateRoleRequestRequestTypeDef, + UpdateSAMLProviderRequestRequestTypeDef, + UpdateSAMLProviderRequestSamlProviderUpdateTypeDef, + UpdateSSHPublicKeyRequestRequestTypeDef, + UpdateServerCertificateRequestRequestTypeDef, + UpdateServerCertificateRequestServerCertificateUpdateTypeDef, + UpdateServiceSpecificCredentialRequestRequestTypeDef, + UpdateSigningCertificateRequestRequestTypeDef, + UpdateSigningCertificateRequestSigningCertificateActivateTypeDef, + UpdateSigningCertificateRequestSigningCertificateDeactivateTypeDef, + UpdateUserRequestRequestTypeDef, + UpdateUserRequestUserUpdateTypeDef, + UploadSSHPublicKeyRequestRequestTypeDef, + UploadSigningCertificateRequestRequestTypeDef, + UploadSigningCertificateRequestServiceResourceCreateSigningCertificateTypeDef, + UserAccessKeyRequestTypeDef, + UserMfaDeviceRequestTypeDef, + UserPolicyRequestTypeDef, + UserSigningCertificateRequestTypeDef, + AttachedPermissionsBoundaryResponseMetadataTypeDef, + CreateAccessKeyResponseTypeDef, + DeleteServiceLinkedRoleResponseTypeDef, + EmptyResponseMetadataTypeDef, + GenerateCredentialReportResponseTypeDef, + GenerateOrganizationsAccessReportResponseTypeDef, + GenerateServiceLastAccessedDetailsResponseTypeDef, + GetAccessKeyLastUsedResponseTypeDef, + GetAccountSummaryResponseTypeDef, + GetContextKeysForPolicyResponseTypeDef, + GetCredentialReportResponseTypeDef, + GetGroupPolicyResponseTypeDef, + GetRolePolicyResponseTypeDef, + GetUserPolicyResponseTypeDef, + ListAccessKeysResponseTypeDef, + ListAccountAliasesResponseTypeDef, + ListGroupPoliciesResponseTypeDef, + ListRolePoliciesResponseTypeDef, + ListUserPoliciesResponseTypeDef, + RoleLastUsedResponseMetadataTypeDef, + ServerCertificateMetadataResponseMetadataTypeDef, + UpdateSAMLProviderResponseTypeDef, + ListAttachedGroupPoliciesResponseTypeDef, + ListAttachedRolePoliciesResponseTypeDef, + ListAttachedUserPoliciesResponseTypeDef, + SimulateCustomPolicyRequestRequestTypeDef, + SimulatePrincipalPolicyRequestRequestTypeDef, + CreateGroupResponseTypeDef, + ListGroupsForUserResponseTypeDef, + ListGroupsResponseTypeDef, + CreateInstanceProfileRequestRequestTypeDef, + CreateInstanceProfileRequestServiceResourceCreateInstanceProfileTypeDef, + CreateOpenIDConnectProviderRequestRequestTypeDef, + CreateOpenIDConnectProviderResponseTypeDef, + CreatePolicyRequestRequestTypeDef, + CreatePolicyRequestServiceResourceCreatePolicyTypeDef, + CreateRoleRequestRequestTypeDef, + CreateRoleRequestServiceResourceCreateRoleTypeDef, + CreateSAMLProviderRequestRequestTypeDef, + CreateSAMLProviderRequestServiceResourceCreateSamlProviderTypeDef, + CreateSAMLProviderResponseTypeDef, + CreateUserRequestRequestTypeDef, + CreateUserRequestServiceResourceCreateUserTypeDef, + CreateUserRequestUserCreateTypeDef, + CreateVirtualMFADeviceRequestRequestTypeDef, + CreateVirtualMFADeviceRequestServiceResourceCreateVirtualMfaDeviceTypeDef, + GetOpenIDConnectProviderResponseTypeDef, + GetSAMLProviderResponseTypeDef, + ListInstanceProfileTagsResponseTypeDef, + ListMFADeviceTagsResponseTypeDef, + ListOpenIDConnectProviderTagsResponseTypeDef, + ListPolicyTagsResponseTypeDef, + ListRoleTagsResponseTypeDef, + ListSAMLProviderTagsResponseTypeDef, + ListServerCertificateTagsResponseTypeDef, + ListUserTagsResponseTypeDef, + PolicyTypeDef, + TagInstanceProfileRequestRequestTypeDef, + TagMFADeviceRequestRequestTypeDef, + TagOpenIDConnectProviderRequestRequestTypeDef, + TagPolicyRequestRequestTypeDef, + TagRoleRequestRequestTypeDef, + TagSAMLProviderRequestRequestTypeDef, + TagServerCertificateRequestRequestTypeDef, + TagUserRequestRequestTypeDef, + UploadServerCertificateRequestRequestTypeDef, + UploadServerCertificateRequestServiceResourceCreateServerCertificateTypeDef, + UserResponseMetadataTypeDef, + UserTypeDef, + CreateLoginProfileResponseTypeDef, + GetLoginProfileResponseTypeDef, + CreatePolicyVersionResponseTypeDef, + GetPolicyVersionResponseTypeDef, + ListPolicyVersionsResponseTypeDef, + ManagedPolicyDetailTypeDef, + CreateServiceSpecificCredentialResponseTypeDef, + ResetServiceSpecificCredentialResponseTypeDef, + DeletionTaskFailureReasonTypeTypeDef, + EntityDetailsTypeDef, + GetOrganizationsAccessReportResponseTypeDef, + GetAccountAuthorizationDetailsRequestGetAccountAuthorizationDetailsPaginateTypeDef, + GetGroupRequestGetGroupPaginateTypeDef, + ListAccessKeysRequestListAccessKeysPaginateTypeDef, + ListAccountAliasesRequestListAccountAliasesPaginateTypeDef, + ListAttachedGroupPoliciesRequestListAttachedGroupPoliciesPaginateTypeDef, + ListAttachedRolePoliciesRequestListAttachedRolePoliciesPaginateTypeDef, + ListAttachedUserPoliciesRequestListAttachedUserPoliciesPaginateTypeDef, + ListEntitiesForPolicyRequestListEntitiesForPolicyPaginateTypeDef, + ListGroupPoliciesRequestListGroupPoliciesPaginateTypeDef, + ListGroupsForUserRequestListGroupsForUserPaginateTypeDef, + ListGroupsRequestListGroupsPaginateTypeDef, + ListInstanceProfilesForRoleRequestListInstanceProfilesForRolePaginateTypeDef, + ListInstanceProfilesRequestListInstanceProfilesPaginateTypeDef, + ListMFADevicesRequestListMFADevicesPaginateTypeDef, + ListPoliciesRequestListPoliciesPaginateTypeDef, + ListPolicyVersionsRequestListPolicyVersionsPaginateTypeDef, + ListRolePoliciesRequestListRolePoliciesPaginateTypeDef, + ListRolesRequestListRolesPaginateTypeDef, + ListSSHPublicKeysRequestListSSHPublicKeysPaginateTypeDef, + ListServerCertificatesRequestListServerCertificatesPaginateTypeDef, + ListSigningCertificatesRequestListSigningCertificatesPaginateTypeDef, + ListUserPoliciesRequestListUserPoliciesPaginateTypeDef, + ListUserTagsRequestListUserTagsPaginateTypeDef, + ListUsersRequestListUsersPaginateTypeDef, + ListVirtualMFADevicesRequestListVirtualMFADevicesPaginateTypeDef, + SimulateCustomPolicyRequestSimulateCustomPolicyPaginateTypeDef, + SimulatePrincipalPolicyRequestSimulatePrincipalPolicyPaginateTypeDef, + GetAccountPasswordPolicyResponseTypeDef, + GetInstanceProfileRequestInstanceProfileExistsWaitTypeDef, + GetPolicyRequestPolicyExistsWaitTypeDef, + GetRoleRequestRoleExistsWaitTypeDef, + GetUserRequestUserExistsWaitTypeDef, + GetSSHPublicKeyResponseTypeDef, + UploadSSHPublicKeyResponseTypeDef, + GroupDetailTypeDef, + UserDetailTypeDef, + ListEntitiesForPolicyResponseTypeDef, + ListMFADevicesResponseTypeDef, + ListOpenIDConnectProvidersResponseTypeDef, + ListPoliciesGrantingServiceAccessEntryTypeDef, + ListSAMLProvidersResponseTypeDef, + ListSSHPublicKeysResponseTypeDef, + ListServerCertificatesResponseTypeDef, + ServerCertificateTypeDef, + UploadServerCertificateResponseTypeDef, + ListServiceSpecificCredentialsResponseTypeDef, + ListSigningCertificatesResponseTypeDef, + UploadSigningCertificateResponseTypeDef, + StatementTypeDef, + RoleTypeDef, + ServiceLastAccessedTypeDef, + CreatePolicyResponseTypeDef, + GetPolicyResponseTypeDef, + ListPoliciesResponseTypeDef, + CreateUserResponseTypeDef, + GetGroupResponseTypeDef, + GetUserResponseTypeDef, + ListUsersResponseTypeDef, + VirtualMFADeviceTypeDef, + GetServiceLinkedRoleDeletionStatusResponseTypeDef, + GetServiceLastAccessedDetailsWithEntitiesResponseTypeDef, + ListPoliciesGrantingServiceAccessResponseTypeDef, + GetServerCertificateResponseTypeDef, + ResourceSpecificResultTypeDef, + CreateRoleResponseTypeDef, + CreateServiceLinkedRoleResponseTypeDef, + GetRoleResponseTypeDef, + InstanceProfileTypeDef, + ListRolesResponseTypeDef, + UpdateRoleDescriptionResponseTypeDef, + GetServiceLastAccessedDetailsResponseTypeDef, + CreateVirtualMFADeviceResponseTypeDef, + ListVirtualMFADevicesResponseTypeDef, + EvaluationResultTypeDef, + CreateInstanceProfileResponseTypeDef, + GetInstanceProfileResponseTypeDef, + ListInstanceProfilesForRoleResponseTypeDef, + ListInstanceProfilesResponseTypeDef, + RoleDetailTypeDef, + SimulatePolicyResponseTypeDef, + GetAccountAuthorizationDetailsResponseTypeDef, +) + + +def get_structure() -> 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 a 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 the documentation (blame `botocore` docs if types + are incorrect). +- Type annotations include up-to-date documentation. +- Link to documentation is provided for every method. +- Code is processed by [black](https://github.com/psf/black) and + [isort](https://github.com/PyCQA/isort) for readability. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### Implemented features + +- Fully type annotated `boto3`, `botocore` and `aiobotocore` 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.session` calls +- Auto discovery of types for `session.client` and `session.session` 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. + + +%package -n python3-mypy-boto3-iam +Summary: Type annotations for boto3.IAM 1.26.97 service generated with mypy-boto3-builder 7.13.0 +Provides: python-mypy-boto3-iam +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-mypy-boto3-iam +<a id="mypy-boto3-iam"></a> + +# mypy-boto3-iam + +[](https://pypi.org/project/mypy-boto3-iam) +[](https://pypi.org/project/mypy-boto3-iam) +[](https://mypy-boto3-builder.readthedocs.io/) +[](https://pypistats.org/packages/mypy-boto3-iam) + + + +Type annotations for +[boto3.IAM 1.26.97](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 7.13.0](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: + + + +- [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) + - [Typed dictionaries](#typed-dictionaries) + - [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` folder. + +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, + ListGroupsPaginator, + ListGroupsForUserPaginator, + ListInstanceProfilesPaginator, + ListInstanceProfilesForRolePaginator, + ListMFADevicesPaginator, + ListPoliciesPaginator, + ListPolicyVersionsPaginator, + ListRolePoliciesPaginator, + ListRolesPaginator, + ListSSHPublicKeysPaginator, + 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_paginator: ListGroupsPaginator = client.get_paginator("list_groups") +list_groups_for_user_paginator: ListGroupsForUserPaginator = client.get_paginator( + "list_groups_for_user" +) +list_instance_profiles_paginator: ListInstanceProfilesPaginator = client.get_paginator( + "list_instance_profiles" +) +list_instance_profiles_for_role_paginator: ListInstanceProfilesForRolePaginator = ( + client.get_paginator("list_instance_profiles_for_role") +) +list_mfa_devices_paginator: ListMFADevicesPaginator = client.get_paginator("list_mfa_devices") +list_policies_paginator: ListPoliciesPaginator = client.get_paginator("list_policies") +list_policy_versions_paginator: ListPolicyVersionsPaginator = client.get_paginator( + "list_policy_versions" +) +list_role_policies_paginator: ListRolePoliciesPaginator = client.get_paginator("list_role_policies") +list_roles_paginator: ListRolesPaginator = client.get_paginator("list_roles") +list_ssh_public_keys_paginator: ListSSHPublicKeysPaginator = client.get_paginator( + "list_ssh_public_keys" +) +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. + +```python +from mypy_boto3_iam.literals import ( + AccessAdvisorUsageGranularityTypeType, + ContextKeyTypeEnumType, + DeletionTaskStatusTypeType, + EntityTypeType, + GetAccountAuthorizationDetailsPaginatorName, + GetGroupPaginatorName, + InstanceProfileExistsWaiterName, + ListAccessKeysPaginatorName, + ListAccountAliasesPaginatorName, + ListAttachedGroupPoliciesPaginatorName, + ListAttachedRolePoliciesPaginatorName, + ListAttachedUserPoliciesPaginatorName, + ListEntitiesForPolicyPaginatorName, + ListGroupPoliciesPaginatorName, + ListGroupsForUserPaginatorName, + ListGroupsPaginatorName, + ListInstanceProfilesForRolePaginatorName, + ListInstanceProfilesPaginatorName, + ListMFADevicesPaginatorName, + ListPoliciesPaginatorName, + ListPolicyVersionsPaginatorName, + ListRolePoliciesPaginatorName, + ListRolesPaginatorName, + ListSSHPublicKeysPaginatorName, + ListServerCertificatesPaginatorName, + ListSigningCertificatesPaginatorName, + ListUserPoliciesPaginatorName, + ListUserTagsPaginatorName, + ListUsersPaginatorName, + ListVirtualMFADevicesPaginatorName, + PermissionsBoundaryAttachmentTypeType, + PolicyEvaluationDecisionTypeType, + PolicyExistsWaiterName, + PolicySourceTypeType, + PolicyUsageTypeType, + ReportFormatTypeType, + ReportStateTypeType, + RoleExistsWaiterName, + SimulateCustomPolicyPaginatorName, + SimulatePrincipalPolicyPaginatorName, + UserExistsWaiterName, + assignmentStatusTypeType, + encodingTypeType, + globalEndpointTokenVersionType, + jobStatusTypeType, + policyOwnerEntityTypeType, + policyScopeTypeType, + policyTypeType, + sortKeyTypeType, + statusTypeType, + summaryKeyTypeType, + IAMServiceName, + ServiceName, + ResourceServiceName, + PaginatorName, + WaiterName, +) + + +def check_value(value: AccessAdvisorUsageGranularityTypeType) -> bool: + ... +``` + +<a id="typed-dictionaries"></a> + +### Typed dictionaries + +`mypy_boto3_iam.type_defs` module contains structures and shapes assembled to +typed dictionaries for additional type checking. + +```python +from mypy_boto3_iam.type_defs import ( + AccessDetailTypeDef, + AccessKeyLastUsedTypeDef, + AccessKeyMetadataTypeDef, + AccessKeyTypeDef, + AddClientIDToOpenIDConnectProviderRequestRequestTypeDef, + AddRoleToInstanceProfileRequestInstanceProfileAddRoleTypeDef, + AddRoleToInstanceProfileRequestRequestTypeDef, + AddUserToGroupRequestGroupAddUserTypeDef, + AddUserToGroupRequestRequestTypeDef, + AddUserToGroupRequestUserAddGroupTypeDef, + AttachGroupPolicyRequestGroupAttachPolicyTypeDef, + AttachGroupPolicyRequestPolicyAttachGroupTypeDef, + AttachGroupPolicyRequestRequestTypeDef, + AttachRolePolicyRequestPolicyAttachRoleTypeDef, + AttachRolePolicyRequestRequestTypeDef, + AttachRolePolicyRequestRoleAttachPolicyTypeDef, + AttachUserPolicyRequestPolicyAttachUserTypeDef, + AttachUserPolicyRequestRequestTypeDef, + AttachUserPolicyRequestUserAttachPolicyTypeDef, + ResponseMetadataTypeDef, + AttachedPermissionsBoundaryTypeDef, + AttachedPolicyTypeDef, + ChangePasswordRequestRequestTypeDef, + ChangePasswordRequestServiceResourceChangePasswordTypeDef, + ContextEntryTypeDef, + CreateAccessKeyRequestRequestTypeDef, + CreateAccountAliasRequestRequestTypeDef, + CreateAccountAliasRequestServiceResourceCreateAccountAliasTypeDef, + CreateGroupRequestGroupCreateTypeDef, + CreateGroupRequestRequestTypeDef, + CreateGroupRequestServiceResourceCreateGroupTypeDef, + GroupTypeDef, + TagTypeDef, + CreateLoginProfileRequestLoginProfileCreateTypeDef, + CreateLoginProfileRequestRequestTypeDef, + CreateLoginProfileRequestUserCreateLoginProfileTypeDef, + LoginProfileTypeDef, + CreatePolicyVersionRequestPolicyCreateVersionTypeDef, + CreatePolicyVersionRequestRequestTypeDef, + PolicyVersionTypeDef, + CreateServiceLinkedRoleRequestRequestTypeDef, + CreateServiceSpecificCredentialRequestRequestTypeDef, + ServiceSpecificCredentialTypeDef, + DeactivateMFADeviceRequestRequestTypeDef, + DeleteAccessKeyRequestRequestTypeDef, + DeleteAccountAliasRequestRequestTypeDef, + DeleteGroupPolicyRequestRequestTypeDef, + DeleteGroupRequestRequestTypeDef, + DeleteInstanceProfileRequestRequestTypeDef, + DeleteLoginProfileRequestRequestTypeDef, + DeleteOpenIDConnectProviderRequestRequestTypeDef, + DeletePolicyRequestRequestTypeDef, + DeletePolicyVersionRequestRequestTypeDef, + DeleteRolePermissionsBoundaryRequestRequestTypeDef, + DeleteRolePolicyRequestRequestTypeDef, + DeleteRoleRequestRequestTypeDef, + DeleteSAMLProviderRequestRequestTypeDef, + DeleteSSHPublicKeyRequestRequestTypeDef, + DeleteServerCertificateRequestRequestTypeDef, + DeleteServiceLinkedRoleRequestRequestTypeDef, + DeleteServiceSpecificCredentialRequestRequestTypeDef, + DeleteSigningCertificateRequestRequestTypeDef, + DeleteUserPermissionsBoundaryRequestRequestTypeDef, + DeleteUserPolicyRequestRequestTypeDef, + DeleteUserRequestRequestTypeDef, + DeleteVirtualMFADeviceRequestRequestTypeDef, + RoleUsageTypeTypeDef, + DetachGroupPolicyRequestGroupDetachPolicyTypeDef, + DetachGroupPolicyRequestPolicyDetachGroupTypeDef, + DetachGroupPolicyRequestRequestTypeDef, + DetachRolePolicyRequestPolicyDetachRoleTypeDef, + DetachRolePolicyRequestRequestTypeDef, + DetachRolePolicyRequestRoleDetachPolicyTypeDef, + DetachUserPolicyRequestPolicyDetachUserTypeDef, + DetachUserPolicyRequestRequestTypeDef, + DetachUserPolicyRequestUserDetachPolicyTypeDef, + EnableMFADeviceRequestMfaDeviceAssociateTypeDef, + EnableMFADeviceRequestRequestTypeDef, + EnableMFADeviceRequestUserEnableMfaTypeDef, + EntityInfoTypeDef, + ErrorDetailsTypeDef, + OrganizationsDecisionDetailTypeDef, + PermissionsBoundaryDecisionDetailTypeDef, + GenerateOrganizationsAccessReportRequestRequestTypeDef, + GenerateServiceLastAccessedDetailsRequestRequestTypeDef, + GetAccessKeyLastUsedRequestRequestTypeDef, + PaginatorConfigTypeDef, + GetAccountAuthorizationDetailsRequestRequestTypeDef, + PasswordPolicyTypeDef, + GetContextKeysForCustomPolicyRequestRequestTypeDef, + GetContextKeysForPrincipalPolicyRequestRequestTypeDef, + GetGroupPolicyRequestRequestTypeDef, + GetGroupRequestRequestTypeDef, + WaiterConfigTypeDef, + GetInstanceProfileRequestRequestTypeDef, + GetLoginProfileRequestRequestTypeDef, + GetOpenIDConnectProviderRequestRequestTypeDef, + GetOrganizationsAccessReportRequestRequestTypeDef, + GetPolicyRequestRequestTypeDef, + GetPolicyVersionRequestRequestTypeDef, + GetRolePolicyRequestRequestTypeDef, + GetRoleRequestRequestTypeDef, + GetSAMLProviderRequestRequestTypeDef, + GetSSHPublicKeyRequestRequestTypeDef, + SSHPublicKeyTypeDef, + GetServerCertificateRequestRequestTypeDef, + GetServiceLastAccessedDetailsRequestRequestTypeDef, + GetServiceLastAccessedDetailsWithEntitiesRequestRequestTypeDef, + GetServiceLinkedRoleDeletionStatusRequestRequestTypeDef, + GetUserPolicyRequestRequestTypeDef, + GetUserRequestRequestTypeDef, + PolicyDetailTypeDef, + GroupPolicyRequestTypeDef, + ListAccessKeysRequestRequestTypeDef, + ListAccountAliasesRequestRequestTypeDef, + ListAttachedGroupPoliciesRequestRequestTypeDef, + ListAttachedRolePoliciesRequestRequestTypeDef, + ListAttachedUserPoliciesRequestRequestTypeDef, + ListEntitiesForPolicyRequestRequestTypeDef, + PolicyGroupTypeDef, + PolicyRoleTypeDef, + PolicyUserTypeDef, + ListGroupPoliciesRequestRequestTypeDef, + ListGroupsForUserRequestRequestTypeDef, + ListGroupsRequestRequestTypeDef, + ListInstanceProfileTagsRequestRequestTypeDef, + ListInstanceProfilesForRoleRequestRequestTypeDef, + ListInstanceProfilesRequestRequestTypeDef, + ListMFADeviceTagsRequestRequestTypeDef, + ListMFADevicesRequestRequestTypeDef, + MFADeviceTypeDef, + ListOpenIDConnectProviderTagsRequestRequestTypeDef, + OpenIDConnectProviderListEntryTypeDef, + PolicyGrantingServiceAccessTypeDef, + ListPoliciesGrantingServiceAccessRequestRequestTypeDef, + ListPoliciesRequestRequestTypeDef, + ListPolicyTagsRequestRequestTypeDef, + ListPolicyVersionsRequestRequestTypeDef, + ListRolePoliciesRequestRequestTypeDef, + ListRoleTagsRequestRequestTypeDef, + ListRolesRequestRequestTypeDef, + ListSAMLProviderTagsRequestRequestTypeDef, + SAMLProviderListEntryTypeDef, + ListSSHPublicKeysRequestRequestTypeDef, + SSHPublicKeyMetadataTypeDef, + ListServerCertificateTagsRequestRequestTypeDef, + ListServerCertificatesRequestRequestTypeDef, + ServerCertificateMetadataTypeDef, + ListServiceSpecificCredentialsRequestRequestTypeDef, + ServiceSpecificCredentialMetadataTypeDef, + ListSigningCertificatesRequestRequestTypeDef, + SigningCertificateTypeDef, + ListUserPoliciesRequestRequestTypeDef, + ListUserTagsRequestRequestTypeDef, + ListUsersRequestRequestTypeDef, + ListVirtualMFADevicesRequestRequestTypeDef, + PositionTypeDef, + PutGroupPolicyRequestGroupCreatePolicyTypeDef, + PutGroupPolicyRequestGroupPolicyPutTypeDef, + PutGroupPolicyRequestRequestTypeDef, + PutRolePermissionsBoundaryRequestRequestTypeDef, + PutRolePolicyRequestRequestTypeDef, + PutRolePolicyRequestRolePolicyPutTypeDef, + PutUserPermissionsBoundaryRequestRequestTypeDef, + PutUserPolicyRequestRequestTypeDef, + PutUserPolicyRequestUserCreatePolicyTypeDef, + PutUserPolicyRequestUserPolicyPutTypeDef, + RemoveClientIDFromOpenIDConnectProviderRequestRequestTypeDef, + RemoveRoleFromInstanceProfileRequestInstanceProfileRemoveRoleTypeDef, + RemoveRoleFromInstanceProfileRequestRequestTypeDef, + RemoveUserFromGroupRequestGroupRemoveUserTypeDef, + RemoveUserFromGroupRequestRequestTypeDef, + RemoveUserFromGroupRequestUserRemoveGroupTypeDef, + ResetServiceSpecificCredentialRequestRequestTypeDef, + ResyncMFADeviceRequestMfaDeviceResyncTypeDef, + ResyncMFADeviceRequestRequestTypeDef, + RoleLastUsedTypeDef, + RolePolicyRequestTypeDef, + TrackedActionLastAccessedTypeDef, + ServiceResourceAccessKeyPairRequestTypeDef, + ServiceResourceAccessKeyRequestTypeDef, + ServiceResourceAssumeRolePolicyRequestTypeDef, + ServiceResourceGroupPolicyRequestTypeDef, + ServiceResourceGroupRequestTypeDef, + ServiceResourceInstanceProfileRequestTypeDef, + ServiceResourceLoginProfileRequestTypeDef, + ServiceResourceMfaDeviceRequestTypeDef, + ServiceResourcePolicyRequestTypeDef, + ServiceResourcePolicyVersionRequestTypeDef, + ServiceResourceRolePolicyRequestTypeDef, + ServiceResourceRoleRequestTypeDef, + ServiceResourceSamlProviderRequestTypeDef, + ServiceResourceServerCertificateRequestTypeDef, + ServiceResourceSigningCertificateRequestTypeDef, + ServiceResourceUserPolicyRequestTypeDef, + ServiceResourceUserRequestTypeDef, + ServiceResourceVirtualMfaDeviceRequestTypeDef, + SetDefaultPolicyVersionRequestRequestTypeDef, + SetSecurityTokenServicePreferencesRequestRequestTypeDef, + UntagInstanceProfileRequestRequestTypeDef, + UntagMFADeviceRequestRequestTypeDef, + UntagOpenIDConnectProviderRequestRequestTypeDef, + UntagPolicyRequestRequestTypeDef, + UntagRoleRequestRequestTypeDef, + UntagSAMLProviderRequestRequestTypeDef, + UntagServerCertificateRequestRequestTypeDef, + UntagUserRequestRequestTypeDef, + UpdateAccessKeyRequestAccessKeyActivateTypeDef, + UpdateAccessKeyRequestAccessKeyDeactivateTypeDef, + UpdateAccessKeyRequestAccessKeyPairActivateTypeDef, + UpdateAccessKeyRequestAccessKeyPairDeactivateTypeDef, + UpdateAccessKeyRequestRequestTypeDef, + UpdateAccountPasswordPolicyRequestAccountPasswordPolicyUpdateTypeDef, + UpdateAccountPasswordPolicyRequestRequestTypeDef, + UpdateAccountPasswordPolicyRequestServiceResourceCreateAccountPasswordPolicyTypeDef, + UpdateAssumeRolePolicyRequestAssumeRolePolicyUpdateTypeDef, + UpdateAssumeRolePolicyRequestRequestTypeDef, + UpdateGroupRequestGroupUpdateTypeDef, + UpdateGroupRequestRequestTypeDef, + UpdateLoginProfileRequestLoginProfileUpdateTypeDef, + UpdateLoginProfileRequestRequestTypeDef, + UpdateOpenIDConnectProviderThumbprintRequestRequestTypeDef, + UpdateRoleDescriptionRequestRequestTypeDef, + UpdateRoleRequestRequestTypeDef, + UpdateSAMLProviderRequestRequestTypeDef, + UpdateSAMLProviderRequestSamlProviderUpdateTypeDef, + UpdateSSHPublicKeyRequestRequestTypeDef, + UpdateServerCertificateRequestRequestTypeDef, + UpdateServerCertificateRequestServerCertificateUpdateTypeDef, + UpdateServiceSpecificCredentialRequestRequestTypeDef, + UpdateSigningCertificateRequestRequestTypeDef, + UpdateSigningCertificateRequestSigningCertificateActivateTypeDef, + UpdateSigningCertificateRequestSigningCertificateDeactivateTypeDef, + UpdateUserRequestRequestTypeDef, + UpdateUserRequestUserUpdateTypeDef, + UploadSSHPublicKeyRequestRequestTypeDef, + UploadSigningCertificateRequestRequestTypeDef, + UploadSigningCertificateRequestServiceResourceCreateSigningCertificateTypeDef, + UserAccessKeyRequestTypeDef, + UserMfaDeviceRequestTypeDef, + UserPolicyRequestTypeDef, + UserSigningCertificateRequestTypeDef, + AttachedPermissionsBoundaryResponseMetadataTypeDef, + CreateAccessKeyResponseTypeDef, + DeleteServiceLinkedRoleResponseTypeDef, + EmptyResponseMetadataTypeDef, + GenerateCredentialReportResponseTypeDef, + GenerateOrganizationsAccessReportResponseTypeDef, + GenerateServiceLastAccessedDetailsResponseTypeDef, + GetAccessKeyLastUsedResponseTypeDef, + GetAccountSummaryResponseTypeDef, + GetContextKeysForPolicyResponseTypeDef, + GetCredentialReportResponseTypeDef, + GetGroupPolicyResponseTypeDef, + GetRolePolicyResponseTypeDef, + GetUserPolicyResponseTypeDef, + ListAccessKeysResponseTypeDef, + ListAccountAliasesResponseTypeDef, + ListGroupPoliciesResponseTypeDef, + ListRolePoliciesResponseTypeDef, + ListUserPoliciesResponseTypeDef, + RoleLastUsedResponseMetadataTypeDef, + ServerCertificateMetadataResponseMetadataTypeDef, + UpdateSAMLProviderResponseTypeDef, + ListAttachedGroupPoliciesResponseTypeDef, + ListAttachedRolePoliciesResponseTypeDef, + ListAttachedUserPoliciesResponseTypeDef, + SimulateCustomPolicyRequestRequestTypeDef, + SimulatePrincipalPolicyRequestRequestTypeDef, + CreateGroupResponseTypeDef, + ListGroupsForUserResponseTypeDef, + ListGroupsResponseTypeDef, + CreateInstanceProfileRequestRequestTypeDef, + CreateInstanceProfileRequestServiceResourceCreateInstanceProfileTypeDef, + CreateOpenIDConnectProviderRequestRequestTypeDef, + CreateOpenIDConnectProviderResponseTypeDef, + CreatePolicyRequestRequestTypeDef, + CreatePolicyRequestServiceResourceCreatePolicyTypeDef, + CreateRoleRequestRequestTypeDef, + CreateRoleRequestServiceResourceCreateRoleTypeDef, + CreateSAMLProviderRequestRequestTypeDef, + CreateSAMLProviderRequestServiceResourceCreateSamlProviderTypeDef, + CreateSAMLProviderResponseTypeDef, + CreateUserRequestRequestTypeDef, + CreateUserRequestServiceResourceCreateUserTypeDef, + CreateUserRequestUserCreateTypeDef, + CreateVirtualMFADeviceRequestRequestTypeDef, + CreateVirtualMFADeviceRequestServiceResourceCreateVirtualMfaDeviceTypeDef, + GetOpenIDConnectProviderResponseTypeDef, + GetSAMLProviderResponseTypeDef, + ListInstanceProfileTagsResponseTypeDef, + ListMFADeviceTagsResponseTypeDef, + ListOpenIDConnectProviderTagsResponseTypeDef, + ListPolicyTagsResponseTypeDef, + ListRoleTagsResponseTypeDef, + ListSAMLProviderTagsResponseTypeDef, + ListServerCertificateTagsResponseTypeDef, + ListUserTagsResponseTypeDef, + PolicyTypeDef, + TagInstanceProfileRequestRequestTypeDef, + TagMFADeviceRequestRequestTypeDef, + TagOpenIDConnectProviderRequestRequestTypeDef, + TagPolicyRequestRequestTypeDef, + TagRoleRequestRequestTypeDef, + TagSAMLProviderRequestRequestTypeDef, + TagServerCertificateRequestRequestTypeDef, + TagUserRequestRequestTypeDef, + UploadServerCertificateRequestRequestTypeDef, + UploadServerCertificateRequestServiceResourceCreateServerCertificateTypeDef, + UserResponseMetadataTypeDef, + UserTypeDef, + CreateLoginProfileResponseTypeDef, + GetLoginProfileResponseTypeDef, + CreatePolicyVersionResponseTypeDef, + GetPolicyVersionResponseTypeDef, + ListPolicyVersionsResponseTypeDef, + ManagedPolicyDetailTypeDef, + CreateServiceSpecificCredentialResponseTypeDef, + ResetServiceSpecificCredentialResponseTypeDef, + DeletionTaskFailureReasonTypeTypeDef, + EntityDetailsTypeDef, + GetOrganizationsAccessReportResponseTypeDef, + GetAccountAuthorizationDetailsRequestGetAccountAuthorizationDetailsPaginateTypeDef, + GetGroupRequestGetGroupPaginateTypeDef, + ListAccessKeysRequestListAccessKeysPaginateTypeDef, + ListAccountAliasesRequestListAccountAliasesPaginateTypeDef, + ListAttachedGroupPoliciesRequestListAttachedGroupPoliciesPaginateTypeDef, + ListAttachedRolePoliciesRequestListAttachedRolePoliciesPaginateTypeDef, + ListAttachedUserPoliciesRequestListAttachedUserPoliciesPaginateTypeDef, + ListEntitiesForPolicyRequestListEntitiesForPolicyPaginateTypeDef, + ListGroupPoliciesRequestListGroupPoliciesPaginateTypeDef, + ListGroupsForUserRequestListGroupsForUserPaginateTypeDef, + ListGroupsRequestListGroupsPaginateTypeDef, + ListInstanceProfilesForRoleRequestListInstanceProfilesForRolePaginateTypeDef, + ListInstanceProfilesRequestListInstanceProfilesPaginateTypeDef, + ListMFADevicesRequestListMFADevicesPaginateTypeDef, + ListPoliciesRequestListPoliciesPaginateTypeDef, + ListPolicyVersionsRequestListPolicyVersionsPaginateTypeDef, + ListRolePoliciesRequestListRolePoliciesPaginateTypeDef, + ListRolesRequestListRolesPaginateTypeDef, + ListSSHPublicKeysRequestListSSHPublicKeysPaginateTypeDef, + ListServerCertificatesRequestListServerCertificatesPaginateTypeDef, + ListSigningCertificatesRequestListSigningCertificatesPaginateTypeDef, + ListUserPoliciesRequestListUserPoliciesPaginateTypeDef, + ListUserTagsRequestListUserTagsPaginateTypeDef, + ListUsersRequestListUsersPaginateTypeDef, + ListVirtualMFADevicesRequestListVirtualMFADevicesPaginateTypeDef, + SimulateCustomPolicyRequestSimulateCustomPolicyPaginateTypeDef, + SimulatePrincipalPolicyRequestSimulatePrincipalPolicyPaginateTypeDef, + GetAccountPasswordPolicyResponseTypeDef, + GetInstanceProfileRequestInstanceProfileExistsWaitTypeDef, + GetPolicyRequestPolicyExistsWaitTypeDef, + GetRoleRequestRoleExistsWaitTypeDef, + GetUserRequestUserExistsWaitTypeDef, + GetSSHPublicKeyResponseTypeDef, + UploadSSHPublicKeyResponseTypeDef, + GroupDetailTypeDef, + UserDetailTypeDef, + ListEntitiesForPolicyResponseTypeDef, + ListMFADevicesResponseTypeDef, + ListOpenIDConnectProvidersResponseTypeDef, + ListPoliciesGrantingServiceAccessEntryTypeDef, + ListSAMLProvidersResponseTypeDef, + ListSSHPublicKeysResponseTypeDef, + ListServerCertificatesResponseTypeDef, + ServerCertificateTypeDef, + UploadServerCertificateResponseTypeDef, + ListServiceSpecificCredentialsResponseTypeDef, + ListSigningCertificatesResponseTypeDef, + UploadSigningCertificateResponseTypeDef, + StatementTypeDef, + RoleTypeDef, + ServiceLastAccessedTypeDef, + CreatePolicyResponseTypeDef, + GetPolicyResponseTypeDef, + ListPoliciesResponseTypeDef, + CreateUserResponseTypeDef, + GetGroupResponseTypeDef, + GetUserResponseTypeDef, + ListUsersResponseTypeDef, + VirtualMFADeviceTypeDef, + GetServiceLinkedRoleDeletionStatusResponseTypeDef, + GetServiceLastAccessedDetailsWithEntitiesResponseTypeDef, + ListPoliciesGrantingServiceAccessResponseTypeDef, + GetServerCertificateResponseTypeDef, + ResourceSpecificResultTypeDef, + CreateRoleResponseTypeDef, + CreateServiceLinkedRoleResponseTypeDef, + GetRoleResponseTypeDef, + InstanceProfileTypeDef, + ListRolesResponseTypeDef, + UpdateRoleDescriptionResponseTypeDef, + GetServiceLastAccessedDetailsResponseTypeDef, + CreateVirtualMFADeviceResponseTypeDef, + ListVirtualMFADevicesResponseTypeDef, + EvaluationResultTypeDef, + CreateInstanceProfileResponseTypeDef, + GetInstanceProfileResponseTypeDef, + ListInstanceProfilesForRoleResponseTypeDef, + ListInstanceProfilesResponseTypeDef, + RoleDetailTypeDef, + SimulatePolicyResponseTypeDef, + GetAccountAuthorizationDetailsResponseTypeDef, +) + + +def get_structure() -> 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 a 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 the documentation (blame `botocore` docs if types + are incorrect). +- Type annotations include up-to-date documentation. +- Link to documentation is provided for every method. +- Code is processed by [black](https://github.com/psf/black) and + [isort](https://github.com/PyCQA/isort) for readability. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### Implemented features + +- Fully type annotated `boto3`, `botocore` and `aiobotocore` 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.session` calls +- Auto discovery of types for `session.client` and `session.session` 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. + + +%package help +Summary: Development documents and examples for mypy-boto3-iam +Provides: python3-mypy-boto3-iam-doc +%description help +<a id="mypy-boto3-iam"></a> + +# mypy-boto3-iam + +[](https://pypi.org/project/mypy-boto3-iam) +[](https://pypi.org/project/mypy-boto3-iam) +[](https://mypy-boto3-builder.readthedocs.io/) +[](https://pypistats.org/packages/mypy-boto3-iam) + + + +Type annotations for +[boto3.IAM 1.26.97](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 7.13.0](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: + + + +- [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) + - [Typed dictionaries](#typed-dictionaries) + - [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` folder. + +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, + ListGroupsPaginator, + ListGroupsForUserPaginator, + ListInstanceProfilesPaginator, + ListInstanceProfilesForRolePaginator, + ListMFADevicesPaginator, + ListPoliciesPaginator, + ListPolicyVersionsPaginator, + ListRolePoliciesPaginator, + ListRolesPaginator, + ListSSHPublicKeysPaginator, + 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_paginator: ListGroupsPaginator = client.get_paginator("list_groups") +list_groups_for_user_paginator: ListGroupsForUserPaginator = client.get_paginator( + "list_groups_for_user" +) +list_instance_profiles_paginator: ListInstanceProfilesPaginator = client.get_paginator( + "list_instance_profiles" +) +list_instance_profiles_for_role_paginator: ListInstanceProfilesForRolePaginator = ( + client.get_paginator("list_instance_profiles_for_role") +) +list_mfa_devices_paginator: ListMFADevicesPaginator = client.get_paginator("list_mfa_devices") +list_policies_paginator: ListPoliciesPaginator = client.get_paginator("list_policies") +list_policy_versions_paginator: ListPolicyVersionsPaginator = client.get_paginator( + "list_policy_versions" +) +list_role_policies_paginator: ListRolePoliciesPaginator = client.get_paginator("list_role_policies") +list_roles_paginator: ListRolesPaginator = client.get_paginator("list_roles") +list_ssh_public_keys_paginator: ListSSHPublicKeysPaginator = client.get_paginator( + "list_ssh_public_keys" +) +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. + +```python +from mypy_boto3_iam.literals import ( + AccessAdvisorUsageGranularityTypeType, + ContextKeyTypeEnumType, + DeletionTaskStatusTypeType, + EntityTypeType, + GetAccountAuthorizationDetailsPaginatorName, + GetGroupPaginatorName, + InstanceProfileExistsWaiterName, + ListAccessKeysPaginatorName, + ListAccountAliasesPaginatorName, + ListAttachedGroupPoliciesPaginatorName, + ListAttachedRolePoliciesPaginatorName, + ListAttachedUserPoliciesPaginatorName, + ListEntitiesForPolicyPaginatorName, + ListGroupPoliciesPaginatorName, + ListGroupsForUserPaginatorName, + ListGroupsPaginatorName, + ListInstanceProfilesForRolePaginatorName, + ListInstanceProfilesPaginatorName, + ListMFADevicesPaginatorName, + ListPoliciesPaginatorName, + ListPolicyVersionsPaginatorName, + ListRolePoliciesPaginatorName, + ListRolesPaginatorName, + ListSSHPublicKeysPaginatorName, + ListServerCertificatesPaginatorName, + ListSigningCertificatesPaginatorName, + ListUserPoliciesPaginatorName, + ListUserTagsPaginatorName, + ListUsersPaginatorName, + ListVirtualMFADevicesPaginatorName, + PermissionsBoundaryAttachmentTypeType, + PolicyEvaluationDecisionTypeType, + PolicyExistsWaiterName, + PolicySourceTypeType, + PolicyUsageTypeType, + ReportFormatTypeType, + ReportStateTypeType, + RoleExistsWaiterName, + SimulateCustomPolicyPaginatorName, + SimulatePrincipalPolicyPaginatorName, + UserExistsWaiterName, + assignmentStatusTypeType, + encodingTypeType, + globalEndpointTokenVersionType, + jobStatusTypeType, + policyOwnerEntityTypeType, + policyScopeTypeType, + policyTypeType, + sortKeyTypeType, + statusTypeType, + summaryKeyTypeType, + IAMServiceName, + ServiceName, + ResourceServiceName, + PaginatorName, + WaiterName, +) + + +def check_value(value: AccessAdvisorUsageGranularityTypeType) -> bool: + ... +``` + +<a id="typed-dictionaries"></a> + +### Typed dictionaries + +`mypy_boto3_iam.type_defs` module contains structures and shapes assembled to +typed dictionaries for additional type checking. + +```python +from mypy_boto3_iam.type_defs import ( + AccessDetailTypeDef, + AccessKeyLastUsedTypeDef, + AccessKeyMetadataTypeDef, + AccessKeyTypeDef, + AddClientIDToOpenIDConnectProviderRequestRequestTypeDef, + AddRoleToInstanceProfileRequestInstanceProfileAddRoleTypeDef, + AddRoleToInstanceProfileRequestRequestTypeDef, + AddUserToGroupRequestGroupAddUserTypeDef, + AddUserToGroupRequestRequestTypeDef, + AddUserToGroupRequestUserAddGroupTypeDef, + AttachGroupPolicyRequestGroupAttachPolicyTypeDef, + AttachGroupPolicyRequestPolicyAttachGroupTypeDef, + AttachGroupPolicyRequestRequestTypeDef, + AttachRolePolicyRequestPolicyAttachRoleTypeDef, + AttachRolePolicyRequestRequestTypeDef, + AttachRolePolicyRequestRoleAttachPolicyTypeDef, + AttachUserPolicyRequestPolicyAttachUserTypeDef, + AttachUserPolicyRequestRequestTypeDef, + AttachUserPolicyRequestUserAttachPolicyTypeDef, + ResponseMetadataTypeDef, + AttachedPermissionsBoundaryTypeDef, + AttachedPolicyTypeDef, + ChangePasswordRequestRequestTypeDef, + ChangePasswordRequestServiceResourceChangePasswordTypeDef, + ContextEntryTypeDef, + CreateAccessKeyRequestRequestTypeDef, + CreateAccountAliasRequestRequestTypeDef, + CreateAccountAliasRequestServiceResourceCreateAccountAliasTypeDef, + CreateGroupRequestGroupCreateTypeDef, + CreateGroupRequestRequestTypeDef, + CreateGroupRequestServiceResourceCreateGroupTypeDef, + GroupTypeDef, + TagTypeDef, + CreateLoginProfileRequestLoginProfileCreateTypeDef, + CreateLoginProfileRequestRequestTypeDef, + CreateLoginProfileRequestUserCreateLoginProfileTypeDef, + LoginProfileTypeDef, + CreatePolicyVersionRequestPolicyCreateVersionTypeDef, + CreatePolicyVersionRequestRequestTypeDef, + PolicyVersionTypeDef, + CreateServiceLinkedRoleRequestRequestTypeDef, + CreateServiceSpecificCredentialRequestRequestTypeDef, + ServiceSpecificCredentialTypeDef, + DeactivateMFADeviceRequestRequestTypeDef, + DeleteAccessKeyRequestRequestTypeDef, + DeleteAccountAliasRequestRequestTypeDef, + DeleteGroupPolicyRequestRequestTypeDef, + DeleteGroupRequestRequestTypeDef, + DeleteInstanceProfileRequestRequestTypeDef, + DeleteLoginProfileRequestRequestTypeDef, + DeleteOpenIDConnectProviderRequestRequestTypeDef, + DeletePolicyRequestRequestTypeDef, + DeletePolicyVersionRequestRequestTypeDef, + DeleteRolePermissionsBoundaryRequestRequestTypeDef, + DeleteRolePolicyRequestRequestTypeDef, + DeleteRoleRequestRequestTypeDef, + DeleteSAMLProviderRequestRequestTypeDef, + DeleteSSHPublicKeyRequestRequestTypeDef, + DeleteServerCertificateRequestRequestTypeDef, + DeleteServiceLinkedRoleRequestRequestTypeDef, + DeleteServiceSpecificCredentialRequestRequestTypeDef, + DeleteSigningCertificateRequestRequestTypeDef, + DeleteUserPermissionsBoundaryRequestRequestTypeDef, + DeleteUserPolicyRequestRequestTypeDef, + DeleteUserRequestRequestTypeDef, + DeleteVirtualMFADeviceRequestRequestTypeDef, + RoleUsageTypeTypeDef, + DetachGroupPolicyRequestGroupDetachPolicyTypeDef, + DetachGroupPolicyRequestPolicyDetachGroupTypeDef, + DetachGroupPolicyRequestRequestTypeDef, + DetachRolePolicyRequestPolicyDetachRoleTypeDef, + DetachRolePolicyRequestRequestTypeDef, + DetachRolePolicyRequestRoleDetachPolicyTypeDef, + DetachUserPolicyRequestPolicyDetachUserTypeDef, + DetachUserPolicyRequestRequestTypeDef, + DetachUserPolicyRequestUserDetachPolicyTypeDef, + EnableMFADeviceRequestMfaDeviceAssociateTypeDef, + EnableMFADeviceRequestRequestTypeDef, + EnableMFADeviceRequestUserEnableMfaTypeDef, + EntityInfoTypeDef, + ErrorDetailsTypeDef, + OrganizationsDecisionDetailTypeDef, + PermissionsBoundaryDecisionDetailTypeDef, + GenerateOrganizationsAccessReportRequestRequestTypeDef, + GenerateServiceLastAccessedDetailsRequestRequestTypeDef, + GetAccessKeyLastUsedRequestRequestTypeDef, + PaginatorConfigTypeDef, + GetAccountAuthorizationDetailsRequestRequestTypeDef, + PasswordPolicyTypeDef, + GetContextKeysForCustomPolicyRequestRequestTypeDef, + GetContextKeysForPrincipalPolicyRequestRequestTypeDef, + GetGroupPolicyRequestRequestTypeDef, + GetGroupRequestRequestTypeDef, + WaiterConfigTypeDef, + GetInstanceProfileRequestRequestTypeDef, + GetLoginProfileRequestRequestTypeDef, + GetOpenIDConnectProviderRequestRequestTypeDef, + GetOrganizationsAccessReportRequestRequestTypeDef, + GetPolicyRequestRequestTypeDef, + GetPolicyVersionRequestRequestTypeDef, + GetRolePolicyRequestRequestTypeDef, + GetRoleRequestRequestTypeDef, + GetSAMLProviderRequestRequestTypeDef, + GetSSHPublicKeyRequestRequestTypeDef, + SSHPublicKeyTypeDef, + GetServerCertificateRequestRequestTypeDef, + GetServiceLastAccessedDetailsRequestRequestTypeDef, + GetServiceLastAccessedDetailsWithEntitiesRequestRequestTypeDef, + GetServiceLinkedRoleDeletionStatusRequestRequestTypeDef, + GetUserPolicyRequestRequestTypeDef, + GetUserRequestRequestTypeDef, + PolicyDetailTypeDef, + GroupPolicyRequestTypeDef, + ListAccessKeysRequestRequestTypeDef, + ListAccountAliasesRequestRequestTypeDef, + ListAttachedGroupPoliciesRequestRequestTypeDef, + ListAttachedRolePoliciesRequestRequestTypeDef, + ListAttachedUserPoliciesRequestRequestTypeDef, + ListEntitiesForPolicyRequestRequestTypeDef, + PolicyGroupTypeDef, + PolicyRoleTypeDef, + PolicyUserTypeDef, + ListGroupPoliciesRequestRequestTypeDef, + ListGroupsForUserRequestRequestTypeDef, + ListGroupsRequestRequestTypeDef, + ListInstanceProfileTagsRequestRequestTypeDef, + ListInstanceProfilesForRoleRequestRequestTypeDef, + ListInstanceProfilesRequestRequestTypeDef, + ListMFADeviceTagsRequestRequestTypeDef, + ListMFADevicesRequestRequestTypeDef, + MFADeviceTypeDef, + ListOpenIDConnectProviderTagsRequestRequestTypeDef, + OpenIDConnectProviderListEntryTypeDef, + PolicyGrantingServiceAccessTypeDef, + ListPoliciesGrantingServiceAccessRequestRequestTypeDef, + ListPoliciesRequestRequestTypeDef, + ListPolicyTagsRequestRequestTypeDef, + ListPolicyVersionsRequestRequestTypeDef, + ListRolePoliciesRequestRequestTypeDef, + ListRoleTagsRequestRequestTypeDef, + ListRolesRequestRequestTypeDef, + ListSAMLProviderTagsRequestRequestTypeDef, + SAMLProviderListEntryTypeDef, + ListSSHPublicKeysRequestRequestTypeDef, + SSHPublicKeyMetadataTypeDef, + ListServerCertificateTagsRequestRequestTypeDef, + ListServerCertificatesRequestRequestTypeDef, + ServerCertificateMetadataTypeDef, + ListServiceSpecificCredentialsRequestRequestTypeDef, + ServiceSpecificCredentialMetadataTypeDef, + ListSigningCertificatesRequestRequestTypeDef, + SigningCertificateTypeDef, + ListUserPoliciesRequestRequestTypeDef, + ListUserTagsRequestRequestTypeDef, + ListUsersRequestRequestTypeDef, + ListVirtualMFADevicesRequestRequestTypeDef, + PositionTypeDef, + PutGroupPolicyRequestGroupCreatePolicyTypeDef, + PutGroupPolicyRequestGroupPolicyPutTypeDef, + PutGroupPolicyRequestRequestTypeDef, + PutRolePermissionsBoundaryRequestRequestTypeDef, + PutRolePolicyRequestRequestTypeDef, + PutRolePolicyRequestRolePolicyPutTypeDef, + PutUserPermissionsBoundaryRequestRequestTypeDef, + PutUserPolicyRequestRequestTypeDef, + PutUserPolicyRequestUserCreatePolicyTypeDef, + PutUserPolicyRequestUserPolicyPutTypeDef, + RemoveClientIDFromOpenIDConnectProviderRequestRequestTypeDef, + RemoveRoleFromInstanceProfileRequestInstanceProfileRemoveRoleTypeDef, + RemoveRoleFromInstanceProfileRequestRequestTypeDef, + RemoveUserFromGroupRequestGroupRemoveUserTypeDef, + RemoveUserFromGroupRequestRequestTypeDef, + RemoveUserFromGroupRequestUserRemoveGroupTypeDef, + ResetServiceSpecificCredentialRequestRequestTypeDef, + ResyncMFADeviceRequestMfaDeviceResyncTypeDef, + ResyncMFADeviceRequestRequestTypeDef, + RoleLastUsedTypeDef, + RolePolicyRequestTypeDef, + TrackedActionLastAccessedTypeDef, + ServiceResourceAccessKeyPairRequestTypeDef, + ServiceResourceAccessKeyRequestTypeDef, + ServiceResourceAssumeRolePolicyRequestTypeDef, + ServiceResourceGroupPolicyRequestTypeDef, + ServiceResourceGroupRequestTypeDef, + ServiceResourceInstanceProfileRequestTypeDef, + ServiceResourceLoginProfileRequestTypeDef, + ServiceResourceMfaDeviceRequestTypeDef, + ServiceResourcePolicyRequestTypeDef, + ServiceResourcePolicyVersionRequestTypeDef, + ServiceResourceRolePolicyRequestTypeDef, + ServiceResourceRoleRequestTypeDef, + ServiceResourceSamlProviderRequestTypeDef, + ServiceResourceServerCertificateRequestTypeDef, + ServiceResourceSigningCertificateRequestTypeDef, + ServiceResourceUserPolicyRequestTypeDef, + ServiceResourceUserRequestTypeDef, + ServiceResourceVirtualMfaDeviceRequestTypeDef, + SetDefaultPolicyVersionRequestRequestTypeDef, + SetSecurityTokenServicePreferencesRequestRequestTypeDef, + UntagInstanceProfileRequestRequestTypeDef, + UntagMFADeviceRequestRequestTypeDef, + UntagOpenIDConnectProviderRequestRequestTypeDef, + UntagPolicyRequestRequestTypeDef, + UntagRoleRequestRequestTypeDef, + UntagSAMLProviderRequestRequestTypeDef, + UntagServerCertificateRequestRequestTypeDef, + UntagUserRequestRequestTypeDef, + UpdateAccessKeyRequestAccessKeyActivateTypeDef, + UpdateAccessKeyRequestAccessKeyDeactivateTypeDef, + UpdateAccessKeyRequestAccessKeyPairActivateTypeDef, + UpdateAccessKeyRequestAccessKeyPairDeactivateTypeDef, + UpdateAccessKeyRequestRequestTypeDef, + UpdateAccountPasswordPolicyRequestAccountPasswordPolicyUpdateTypeDef, + UpdateAccountPasswordPolicyRequestRequestTypeDef, + UpdateAccountPasswordPolicyRequestServiceResourceCreateAccountPasswordPolicyTypeDef, + UpdateAssumeRolePolicyRequestAssumeRolePolicyUpdateTypeDef, + UpdateAssumeRolePolicyRequestRequestTypeDef, + UpdateGroupRequestGroupUpdateTypeDef, + UpdateGroupRequestRequestTypeDef, + UpdateLoginProfileRequestLoginProfileUpdateTypeDef, + UpdateLoginProfileRequestRequestTypeDef, + UpdateOpenIDConnectProviderThumbprintRequestRequestTypeDef, + UpdateRoleDescriptionRequestRequestTypeDef, + UpdateRoleRequestRequestTypeDef, + UpdateSAMLProviderRequestRequestTypeDef, + UpdateSAMLProviderRequestSamlProviderUpdateTypeDef, + UpdateSSHPublicKeyRequestRequestTypeDef, + UpdateServerCertificateRequestRequestTypeDef, + UpdateServerCertificateRequestServerCertificateUpdateTypeDef, + UpdateServiceSpecificCredentialRequestRequestTypeDef, + UpdateSigningCertificateRequestRequestTypeDef, + UpdateSigningCertificateRequestSigningCertificateActivateTypeDef, + UpdateSigningCertificateRequestSigningCertificateDeactivateTypeDef, + UpdateUserRequestRequestTypeDef, + UpdateUserRequestUserUpdateTypeDef, + UploadSSHPublicKeyRequestRequestTypeDef, + UploadSigningCertificateRequestRequestTypeDef, + UploadSigningCertificateRequestServiceResourceCreateSigningCertificateTypeDef, + UserAccessKeyRequestTypeDef, + UserMfaDeviceRequestTypeDef, + UserPolicyRequestTypeDef, + UserSigningCertificateRequestTypeDef, + AttachedPermissionsBoundaryResponseMetadataTypeDef, + CreateAccessKeyResponseTypeDef, + DeleteServiceLinkedRoleResponseTypeDef, + EmptyResponseMetadataTypeDef, + GenerateCredentialReportResponseTypeDef, + GenerateOrganizationsAccessReportResponseTypeDef, + GenerateServiceLastAccessedDetailsResponseTypeDef, + GetAccessKeyLastUsedResponseTypeDef, + GetAccountSummaryResponseTypeDef, + GetContextKeysForPolicyResponseTypeDef, + GetCredentialReportResponseTypeDef, + GetGroupPolicyResponseTypeDef, + GetRolePolicyResponseTypeDef, + GetUserPolicyResponseTypeDef, + ListAccessKeysResponseTypeDef, + ListAccountAliasesResponseTypeDef, + ListGroupPoliciesResponseTypeDef, + ListRolePoliciesResponseTypeDef, + ListUserPoliciesResponseTypeDef, + RoleLastUsedResponseMetadataTypeDef, + ServerCertificateMetadataResponseMetadataTypeDef, + UpdateSAMLProviderResponseTypeDef, + ListAttachedGroupPoliciesResponseTypeDef, + ListAttachedRolePoliciesResponseTypeDef, + ListAttachedUserPoliciesResponseTypeDef, + SimulateCustomPolicyRequestRequestTypeDef, + SimulatePrincipalPolicyRequestRequestTypeDef, + CreateGroupResponseTypeDef, + ListGroupsForUserResponseTypeDef, + ListGroupsResponseTypeDef, + CreateInstanceProfileRequestRequestTypeDef, + CreateInstanceProfileRequestServiceResourceCreateInstanceProfileTypeDef, + CreateOpenIDConnectProviderRequestRequestTypeDef, + CreateOpenIDConnectProviderResponseTypeDef, + CreatePolicyRequestRequestTypeDef, + CreatePolicyRequestServiceResourceCreatePolicyTypeDef, + CreateRoleRequestRequestTypeDef, + CreateRoleRequestServiceResourceCreateRoleTypeDef, + CreateSAMLProviderRequestRequestTypeDef, + CreateSAMLProviderRequestServiceResourceCreateSamlProviderTypeDef, + CreateSAMLProviderResponseTypeDef, + CreateUserRequestRequestTypeDef, + CreateUserRequestServiceResourceCreateUserTypeDef, + CreateUserRequestUserCreateTypeDef, + CreateVirtualMFADeviceRequestRequestTypeDef, + CreateVirtualMFADeviceRequestServiceResourceCreateVirtualMfaDeviceTypeDef, + GetOpenIDConnectProviderResponseTypeDef, + GetSAMLProviderResponseTypeDef, + ListInstanceProfileTagsResponseTypeDef, + ListMFADeviceTagsResponseTypeDef, + ListOpenIDConnectProviderTagsResponseTypeDef, + ListPolicyTagsResponseTypeDef, + ListRoleTagsResponseTypeDef, + ListSAMLProviderTagsResponseTypeDef, + ListServerCertificateTagsResponseTypeDef, + ListUserTagsResponseTypeDef, + PolicyTypeDef, + TagInstanceProfileRequestRequestTypeDef, + TagMFADeviceRequestRequestTypeDef, + TagOpenIDConnectProviderRequestRequestTypeDef, + TagPolicyRequestRequestTypeDef, + TagRoleRequestRequestTypeDef, + TagSAMLProviderRequestRequestTypeDef, + TagServerCertificateRequestRequestTypeDef, + TagUserRequestRequestTypeDef, + UploadServerCertificateRequestRequestTypeDef, + UploadServerCertificateRequestServiceResourceCreateServerCertificateTypeDef, + UserResponseMetadataTypeDef, + UserTypeDef, + CreateLoginProfileResponseTypeDef, + GetLoginProfileResponseTypeDef, + CreatePolicyVersionResponseTypeDef, + GetPolicyVersionResponseTypeDef, + ListPolicyVersionsResponseTypeDef, + ManagedPolicyDetailTypeDef, + CreateServiceSpecificCredentialResponseTypeDef, + ResetServiceSpecificCredentialResponseTypeDef, + DeletionTaskFailureReasonTypeTypeDef, + EntityDetailsTypeDef, + GetOrganizationsAccessReportResponseTypeDef, + GetAccountAuthorizationDetailsRequestGetAccountAuthorizationDetailsPaginateTypeDef, + GetGroupRequestGetGroupPaginateTypeDef, + ListAccessKeysRequestListAccessKeysPaginateTypeDef, + ListAccountAliasesRequestListAccountAliasesPaginateTypeDef, + ListAttachedGroupPoliciesRequestListAttachedGroupPoliciesPaginateTypeDef, + ListAttachedRolePoliciesRequestListAttachedRolePoliciesPaginateTypeDef, + ListAttachedUserPoliciesRequestListAttachedUserPoliciesPaginateTypeDef, + ListEntitiesForPolicyRequestListEntitiesForPolicyPaginateTypeDef, + ListGroupPoliciesRequestListGroupPoliciesPaginateTypeDef, + ListGroupsForUserRequestListGroupsForUserPaginateTypeDef, + ListGroupsRequestListGroupsPaginateTypeDef, + ListInstanceProfilesForRoleRequestListInstanceProfilesForRolePaginateTypeDef, + ListInstanceProfilesRequestListInstanceProfilesPaginateTypeDef, + ListMFADevicesRequestListMFADevicesPaginateTypeDef, + ListPoliciesRequestListPoliciesPaginateTypeDef, + ListPolicyVersionsRequestListPolicyVersionsPaginateTypeDef, + ListRolePoliciesRequestListRolePoliciesPaginateTypeDef, + ListRolesRequestListRolesPaginateTypeDef, + ListSSHPublicKeysRequestListSSHPublicKeysPaginateTypeDef, + ListServerCertificatesRequestListServerCertificatesPaginateTypeDef, + ListSigningCertificatesRequestListSigningCertificatesPaginateTypeDef, + ListUserPoliciesRequestListUserPoliciesPaginateTypeDef, + ListUserTagsRequestListUserTagsPaginateTypeDef, + ListUsersRequestListUsersPaginateTypeDef, + ListVirtualMFADevicesRequestListVirtualMFADevicesPaginateTypeDef, + SimulateCustomPolicyRequestSimulateCustomPolicyPaginateTypeDef, + SimulatePrincipalPolicyRequestSimulatePrincipalPolicyPaginateTypeDef, + GetAccountPasswordPolicyResponseTypeDef, + GetInstanceProfileRequestInstanceProfileExistsWaitTypeDef, + GetPolicyRequestPolicyExistsWaitTypeDef, + GetRoleRequestRoleExistsWaitTypeDef, + GetUserRequestUserExistsWaitTypeDef, + GetSSHPublicKeyResponseTypeDef, + UploadSSHPublicKeyResponseTypeDef, + GroupDetailTypeDef, + UserDetailTypeDef, + ListEntitiesForPolicyResponseTypeDef, + ListMFADevicesResponseTypeDef, + ListOpenIDConnectProvidersResponseTypeDef, + ListPoliciesGrantingServiceAccessEntryTypeDef, + ListSAMLProvidersResponseTypeDef, + ListSSHPublicKeysResponseTypeDef, + ListServerCertificatesResponseTypeDef, + ServerCertificateTypeDef, + UploadServerCertificateResponseTypeDef, + ListServiceSpecificCredentialsResponseTypeDef, + ListSigningCertificatesResponseTypeDef, + UploadSigningCertificateResponseTypeDef, + StatementTypeDef, + RoleTypeDef, + ServiceLastAccessedTypeDef, + CreatePolicyResponseTypeDef, + GetPolicyResponseTypeDef, + ListPoliciesResponseTypeDef, + CreateUserResponseTypeDef, + GetGroupResponseTypeDef, + GetUserResponseTypeDef, + ListUsersResponseTypeDef, + VirtualMFADeviceTypeDef, + GetServiceLinkedRoleDeletionStatusResponseTypeDef, + GetServiceLastAccessedDetailsWithEntitiesResponseTypeDef, + ListPoliciesGrantingServiceAccessResponseTypeDef, + GetServerCertificateResponseTypeDef, + ResourceSpecificResultTypeDef, + CreateRoleResponseTypeDef, + CreateServiceLinkedRoleResponseTypeDef, + GetRoleResponseTypeDef, + InstanceProfileTypeDef, + ListRolesResponseTypeDef, + UpdateRoleDescriptionResponseTypeDef, + GetServiceLastAccessedDetailsResponseTypeDef, + CreateVirtualMFADeviceResponseTypeDef, + ListVirtualMFADevicesResponseTypeDef, + EvaluationResultTypeDef, + CreateInstanceProfileResponseTypeDef, + GetInstanceProfileResponseTypeDef, + ListInstanceProfilesForRoleResponseTypeDef, + ListInstanceProfilesResponseTypeDef, + RoleDetailTypeDef, + SimulatePolicyResponseTypeDef, + GetAccountAuthorizationDetailsResponseTypeDef, +) + + +def get_structure() -> 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 a 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 the documentation (blame `botocore` docs if types + are incorrect). +- Type annotations include up-to-date documentation. +- Link to documentation is provided for every method. +- Code is processed by [black](https://github.com/psf/black) and + [isort](https://github.com/PyCQA/isort) for readability. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### Implemented features + +- Fully type annotated `boto3`, `botocore` and `aiobotocore` 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.session` calls +- Auto discovery of types for `session.client` and `session.session` 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. + + +%prep +%autosetup -n mypy-boto3-iam-1.26.97 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-mypy-boto3-iam -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.26.97-1 +- Package Spec generated @@ -0,0 +1 @@ +2de165e735ea891679c8e9d359991377 mypy-boto3-iam-1.26.97.tar.gz |