# mypy-boto3-cognito-idp

[![PyPI - mypy-boto3-cognito-idp](https://img.shields.io/pypi/v/mypy-boto3-cognito-idp.svg?color=blue)](https://pypi.org/project/mypy-boto3-cognito-idp)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-cognito-idp.svg?color=blue)](https://pypi.org/project/mypy-boto3-cognito-idp)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)

Type annotations for
[boto3.CognitoIdentityProvider 1.15.13](https://boto3.amazonaws.com/v1/documentation/api/1.15.13/reference/services/cognito-idp.html#CognitoIdentityProvider) service
compatible with
[VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright)
and other tools.

Generated by [mypy-boto3-buider 3.2.0](https://github.com/vemel/mypy_boto3_builder).

More information can be found on [boto3-stubs](https://pypi.org/project/boto3-stubs/) page.

- [mypy-boto3-cognito-idp](#mypy-boto3-cognito-idp)
  - [How to install](#how-to-install)
  - [Usage](#usage)
    - [VSCode](#vscode)
    - [PyCharm](#pycharm)
    - [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)
    - [Typed dictionations](#typed-dictionations)

## How to install

Install `boto3-stubs` for `CognitoIdentityProvider` service.

```bash
python -m pip install boto3-stubs[cognito-idp]
```

## Usage

### 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 `boto-stubs[cognito-idp]` in your environment: `python -m pip install 'boto3-stubs[cognito-idp]'`

Both type checking and auto-complete should work for `CognitoIdentityProvider` service.
No explicit type annotations required, write your `boto3` code as usual.

### PyCharm

- Install `boto-stubs[cognito-idp]` in your environment: `python -m pip install 'boto3-stubs[cognito-idp]'`

Both type checking and auto-complete should work for `CognitoIdentityProvider` service.
No explicit type annotations required, write your `boto3` code as usual.
Auto-complete can be slow on big projects or if you have a lot of installed `boto3-stubs` submodules.

### Other IDEs

Not tested, but as long as your IDE support `mypy` or `pyright`, everything should work.

### mypy

- Install `mypy`: `python -m pip install mypy`
- Install `boto-stubs[cognito-idp]` in your environment: `python -m pip install 'boto3-stubs[cognito-idp]'`
- Run `mypy` as usual

Type checking should work for `CognitoIdentityProvider` service.
No explicit type annotations required, write your `boto3` code as usual.

### pyright

- Install `pyright`: `yarn global add pyright`
- Install `boto-stubs[cognito-idp]` in your environment: `python -m pip install 'boto3-stubs[cognito-idp]'`
- Optionally, you can install `boto3-stubs` to `typings` folder.

Type checking should work for `CognitoIdentityProvider` service.
No explicit type annotations required, write your `boto3` code as usual.

## Explicit type annotations

### Client annotations

`CognitoIdentityProviderClient` provides annotations for `boto3.client("cognito-idp")`.

```python
import boto3

from mypy_boto3_cognito_idp import CognitoIdentityProviderClient

client: CognitoIdentityProviderClient = boto3.client("cognito-idp")

# now client usage is checked by mypy and IDE should provide code auto-complete

# works for session as well
session = boto3.session.Session(region="us-west-1")
session_client: CognitoIdentityProviderClient = session.client("cognito-idp")
```

### Paginators annotations

`mypy_boto3_cognito_idp.paginator` module contains type annotations for all paginators.

```python
from mypy_boto3_cognito_idp import CognitoIdentityProviderClient
from mypy_boto3_cognito_idp.paginator import (
    AdminListGroupsForUserPaginator,
    AdminListUserAuthEventsPaginator,
    ListGroupsPaginator,
    ListIdentityProvidersPaginator,
    ListResourceServersPaginator,
    ListUserPoolClientsPaginator,
    ListUserPoolsPaginator,
    ListUsersInGroupPaginator,
    ListUsersPaginator,
)

client: CognitoIdentityProviderClient = boto3.client("cognito-idp")

# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
# VSCode requires explicit type annotations
admin_list_groups_for_user_paginator: AdminListGroupsForUserPaginator = client.get_paginator("admin_list_groups_for_user")
admin_list_user_auth_events_paginator: AdminListUserAuthEventsPaginator = client.get_paginator("admin_list_user_auth_events")
list_groups_paginator: ListGroupsPaginator = client.get_paginator("list_groups")
list_identity_providers_paginator: ListIdentityProvidersPaginator = client.get_paginator("list_identity_providers")
list_resource_servers_paginator: ListResourceServersPaginator = client.get_paginator("list_resource_servers")
list_user_pool_clients_paginator: ListUserPoolClientsPaginator = client.get_paginator("list_user_pool_clients")
list_user_pools_paginator: ListUserPoolsPaginator = client.get_paginator("list_user_pools")
list_users_paginator: ListUsersPaginator = client.get_paginator("list_users")
list_users_in_group_paginator: ListUsersInGroupPaginator = client.get_paginator("list_users_in_group")
```







### Typed dictionations

`mypy_boto3_cognito_idp.type_defs` module contains structures and shapes assembled
to typed dictionaries for additional type checking.

```python
from mypy_boto3_cognito_idp.type_defs import (
    AccountRecoverySettingTypeTypeDef,
    AccountTakeoverActionsTypeTypeDef,
    AccountTakeoverActionTypeTypeDef,
    AccountTakeoverRiskConfigurationTypeTypeDef,
    AdminCreateUserConfigTypeTypeDef,
    AdminCreateUserResponseTypeDef,
    AdminGetDeviceResponseTypeDef,
    AdminGetUserResponseTypeDef,
    AdminInitiateAuthResponseTypeDef,
    AdminListDevicesResponseTypeDef,
    AdminListGroupsForUserResponseTypeDef,
    AdminListUserAuthEventsResponseTypeDef,
    AdminRespondToAuthChallengeResponseTypeDef,
    AnalyticsConfigurationTypeTypeDef,
    AnalyticsMetadataTypeTypeDef,
    AssociateSoftwareTokenResponseTypeDef,
    AttributeTypeTypeDef,
    AuthenticationResultTypeTypeDef,
    AuthEventTypeTypeDef,
    ChallengeResponseTypeTypeDef,
    CodeDeliveryDetailsTypeTypeDef,
    CompromisedCredentialsActionsTypeTypeDef,
    CompromisedCredentialsRiskConfigurationTypeTypeDef,
    ConfirmDeviceResponseTypeDef,
    ContextDataTypeTypeDef,
    CreateGroupResponseTypeDef,
    CreateIdentityProviderResponseTypeDef,
    CreateResourceServerResponseTypeDef,
    CreateUserImportJobResponseTypeDef,
    CreateUserPoolClientResponseTypeDef,
    CreateUserPoolDomainResponseTypeDef,
    CreateUserPoolResponseTypeDef,
    CustomDomainConfigTypeTypeDef,
    DescribeIdentityProviderResponseTypeDef,
    DescribeResourceServerResponseTypeDef,
    DescribeRiskConfigurationResponseTypeDef,
    DescribeUserImportJobResponseTypeDef,
    DescribeUserPoolClientResponseTypeDef,
    DescribeUserPoolDomainResponseTypeDef,
    DescribeUserPoolResponseTypeDef,
    DeviceConfigurationTypeTypeDef,
    DeviceSecretVerifierConfigTypeTypeDef,
    DeviceTypeTypeDef,
    DomainDescriptionTypeTypeDef,
    EmailConfigurationTypeTypeDef,
    EventContextDataTypeTypeDef,
    EventFeedbackTypeTypeDef,
    EventRiskTypeTypeDef,
    ForgotPasswordResponseTypeDef,
    GetCSVHeaderResponseTypeDef,
    GetDeviceResponseTypeDef,
    GetGroupResponseTypeDef,
    GetIdentityProviderByIdentifierResponseTypeDef,
    GetSigningCertificateResponseTypeDef,
    GetUICustomizationResponseTypeDef,
    GetUserAttributeVerificationCodeResponseTypeDef,
    GetUserPoolMfaConfigResponseTypeDef,
    GetUserResponseTypeDef,
    GroupTypeTypeDef,
    HttpHeaderTypeDef,
    IdentityProviderTypeTypeDef,
    InitiateAuthResponseTypeDef,
    LambdaConfigTypeTypeDef,
    ListDevicesResponseTypeDef,
    ListGroupsResponseTypeDef,
    ListIdentityProvidersResponseTypeDef,
    ListResourceServersResponseTypeDef,
    ListTagsForResourceResponseTypeDef,
    ListUserImportJobsResponseTypeDef,
    ListUserPoolClientsResponseTypeDef,
    ListUserPoolsResponseTypeDef,
    ListUsersInGroupResponseTypeDef,
    ListUsersResponseTypeDef,
    MessageTemplateTypeTypeDef,
    MFAOptionTypeTypeDef,
    NewDeviceMetadataTypeTypeDef,
    NotifyConfigurationTypeTypeDef,
    NotifyEmailTypeTypeDef,
    NumberAttributeConstraintsTypeTypeDef,
    PaginatorConfigTypeDef,
    PasswordPolicyTypeTypeDef,
    ProviderDescriptionTypeDef,
    ProviderUserIdentifierTypeTypeDef,
    RecoveryOptionTypeTypeDef,
    ResendConfirmationCodeResponseTypeDef,
    ResourceServerScopeTypeTypeDef,
    ResourceServerTypeTypeDef,
    RespondToAuthChallengeResponseTypeDef,
    RiskConfigurationTypeTypeDef,
    RiskExceptionConfigurationTypeTypeDef,
    SchemaAttributeTypeTypeDef,
    SetRiskConfigurationResponseTypeDef,
    SetUICustomizationResponseTypeDef,
    SetUserPoolMfaConfigResponseTypeDef,
    SignUpResponseTypeDef,
    SmsConfigurationTypeTypeDef,
    SmsMfaConfigTypeTypeDef,
    SMSMfaSettingsTypeTypeDef,
    SoftwareTokenMfaConfigTypeTypeDef,
    SoftwareTokenMfaSettingsTypeTypeDef,
    StartUserImportJobResponseTypeDef,
    StopUserImportJobResponseTypeDef,
    StringAttributeConstraintsTypeTypeDef,
    TokenValidityUnitsTypeTypeDef,
    UICustomizationTypeTypeDef,
    UpdateGroupResponseTypeDef,
    UpdateIdentityProviderResponseTypeDef,
    UpdateResourceServerResponseTypeDef,
    UpdateUserAttributesResponseTypeDef,
    UpdateUserPoolClientResponseTypeDef,
    UpdateUserPoolDomainResponseTypeDef,
    UserContextDataTypeTypeDef,
    UserImportJobTypeTypeDef,
    UsernameConfigurationTypeTypeDef,
    UserPoolAddOnsTypeTypeDef,
    UserPoolClientDescriptionTypeDef,
    UserPoolClientTypeTypeDef,
    UserPoolDescriptionTypeTypeDef,
    UserPoolPolicyTypeTypeDef,
    UserPoolTypeTypeDef,
    UserTypeTypeDef,
    VerificationMessageTemplateTypeTypeDef,
    VerifySoftwareTokenResponseTypeDef,
)

def get_structure() -> AccountRecoverySettingTypeTypeDef:
    return {
      ...
    }
```
