#  {{ package.service_name.class_name }} module

> [Index](../README.md) > {{ package.service_name.class_name }}

{% include "common/header_note.md.jinja2" with context %}

{% include "common/how_to_install_service.md.jinja2" with context %}

## Usage

Code samples can be found in [Examples](./usage.md).

## {{ package.client.name }}

Type annotations and code completion for  `#!python {{ package.library_name }}.client("{{ package.service_name.boto3_name }}")` as [{{ package.client.name }}]({{ get_md_doc_link('client') }})
[:material-aws: boto3 documentation]({{ package.client.boto3_doc_link }})

```python
# {{ package.client.name }} usage example

from {{ package.library_name }}.session import Session

from {{ package.name }}.client import {{ package.client.name }}

def get_client() -> {{ package.client.name }}:
    return Session().client("{{ service_name.boto3_name }}")
```

{% if package.paginators %}
## Paginators

Type annotations and code completion for [paginators]({{ get_md_doc_link('paginators') }})
from `#!python {{ package.library_name }}.client("{{ package.service_name.boto3_name }}").get_paginator("...")`.

```python
# {{ package.paginators[0].name }} usage example

from {{ package.library_name }}.session import Session

from {{ package.name }}.paginator import {{ package.paginators[0].name }}

def get_{{ package.paginators[0].operation_name }}_paginator() -> {{ package.paginators[0].name }}:
    return Session().client("{{ service_name.boto3_name }}").get_paginator("{{ package.paginators[0].operation_name }}"))
```

{% for paginator in package.paginators -%}
- [{{ paginator.name }}]({{ get_md_doc_link('paginators', paginator.name) }}){{ '\n' -}}
{% endfor %}
{% endif %}

{% if package.waiters %}
## Waiters

Type annotations and code completion for [waiters]({{ get_md_doc_link('waiters') }})
from `#!python {{ package.library_name }}.client("{{ package.service_name.boto3_name }}").get_waiter("...")`.

```python
# {{ package.waiters[0].name }} usage example

from {{ package.library_name }}.session import Session

from {{ package.name }}.waiter import {{ package.waiters[0].name }}

def get_{{ package.waiters[0].attribute_name }}_waiter() -> {{ package.waiters[0].name }}:
    return Session().client("{{ service_name.boto3_name }}").get_waiter("{{ package.waiters[0].attribute_name }}")
```

{% for waiter in package.waiters -%}
- [{{ waiter.name }}]({{ get_md_doc_link('waiters', waiter.name) }}){{ '\n' -}}
{% endfor %}
{% endif %}


{% if package.service_resource %}
## {{ package.service_resource.name }}

Type annotations and code completion for `#!python {{ package.library_name }}.resource("{{ package.service_name.boto3_name }}")` as
[{{ package.service_resource.name }}]({{ get_md_doc_link('service_resource', package.service_resource.name) }})
[:material-aws: boto3 documentation]({{ package.service_resource.boto3_doc_link }})

```python
# {{ package.service_resource.name }} usage example

from {{ package.library_name }}.session import Session

from {{ package.name  }}.service_resource import {{ package.service_resource.name }}

def get_{{ service_name.boto3_name }}_resource() -> {{ package.service_resource.name }}:
    return Session().resource("{{ service_name.boto3_name }}")
```

{% if package.service_resource.collections %}
### Collections

Type annotations and code completion for collections
from `#!python {{ package.library_name }}.resource("{{ package.service_name.boto3_name }}").*`.

```python
# {{ package.service_resource.collections[0].name }} usage example

from {{ package.library_name }}.session import Session

from {{ package.name }}.service_resource import {{ package.service_resource.collections[0].name }}

def get_collection() -> {{ package.service_resource.collections[0].name }}:
    return Session().resource("{{ service_name.boto3_name }}").{{ package.service_resource.collections[0].attribute_name }}
```

{% for collection in package.service_resource.collections -%}
- [{{ collection.name }}]({{ get_md_doc_link('service_resource', collection.name) }}){{ '\n' -}}
{% endfor %}
{% endif %}

{% include "common/service_docs/readme_resources.md.jinja2" with context %}
{% endif %}

{% include "common/service_docs/readme_literals.md.jinja2" with context %}

{% include "common/service_docs/readme_type_defs.md.jinja2" with context %}
