# {{ package.service_resource.name }} for boto3 {{ service_name.class_name }} module

> [Index](..) > [{{ service_name.class_name }}](.) > {{ package.service_resource.name }}

Auto-generated documentation for [{{ service_name.class_name }}]({{ service_name.boto3_doc_link }})
type annotations stubs module [{{ service_name.module_name }}]({{ service_name.pypi_link }}).

## {{ package.service_resource.name }}

Type annotations for `boto3.resource("{{ service_name.boto3_name }}")`, included resources and collections.

Can be used directly:

```python
from {{ service_name.module_name }}.service_resource import {{ package.service_resource.name }}

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

Boto3 documentation: [{{ service_name.class_name }}.ServiceResource]({{ package.service_resource.boto3_doc_link }})

{% if package.service_resource.attributes %}
## Attributes

{% for attribute in package.service_resource.attributes %}
- `{{ attribute.name }}`: {% with type_annotation=attribute.type_annotation -%}{% include "common/type_annotation.md.jinja2" with context -%}{% endwith %}
{% endfor %}
{% endif %}

{% if package.service_resource.collections %}
## Collections
{% for collection in package.service_resource.collections %}
### {{ collection.name }}

Type annotations for `boto3.resource("{{ service_name.boto3_name }}").{{ collection.attribute_name }}` collection.

Can be used directly:

```python
from {{ service_name.module_name }}.service_resource import {{ collection.name }},

def get_collection() -> {{ collection.name }}:
    return boto3.resource("{{ service_name.boto3_name }}").{{ collection.attribute_name }}
```

Provides access to [{{ collection.object_class_name }}](#{{  get_anchor_link(collection.object_class_name) }}) resource.

Boto3 documentation: [{{ service_name.class_name }}.{{ collection.parent_name }}.{{collection.attribute_name}}]({{ collection.boto3_doc_link }})
{% endfor %}
{% endif %}

{% if package.service_resource.methods %}
## Methods
{% for method in package.service_resource.methods %}
### {{ package.service_resource.name }}.{{ method.name }} method

{{ method.short_docstring }}

Type annotations for `boto3.resource("{{ service_name.boto3_name }}").{{ method.name }}` method.

Boto3 documentation: [{{ service_name.class_name }}.ServiceResource.{{method.name}}]({{ service_name.get_boto3_doc_link('ServiceResource', method.name) }})

{% include "common/method.md.jinja2" with context -%}
{% endfor %}
{% endif %}

{% for resource in package.service_resource.sub_resources %}
## {{ resource.name }}

Type annotations for `boto3.resource("{{ service_name.boto3_name }}").{{ resource.name }}` class.

Can be used directly:

```python
from {{ service_name.module_name }}.service_resource import {{ resource.name }}

def get_resource() -> {{ resource.name }}:
    return boto3.resource("{{ service_name.boto3_name }}").{{ resource.name }}(...)
```

Boto3 documentation: [{{ service_name.class_name }}.{{resource.name}}]({{ resource.boto3_doc_link }})

{% if resource.attributes %}
### {{ resource.name }} attributes

{% for attribute in resource.attributes %}
- `{{ attribute.name }}`: {% with type_annotation=attribute.type_annotation -%}{% include "common/type_annotation.md.jinja2" with context -%}{% endwith -%}
{% endfor %}
{% endif %}

{% if resource.collections %}
### {{ resource.name }} collections

{% for collection in resource.collections %}
#### {{ resource.name }}.{{ collection.attribute_name }}

Type annotations for `boto3.resource("{{ service_name.boto3_name }}").{{ resource.name }}(...).{{ collection.attribute_name }}` collection.

Can be used directly:

```python
from {{ service_name.module_name }}.service_resource import {{ collection.name }},

def get_collection() -> {{ collection.name }}:
    resource = boto3.resource("{{ service_name.boto3_name }}").{{ resource.name }}(...)
    return resource.{{ collection.attribute_name }}
```

Provides access to [{{ collection.object_class_name }}](#{{  get_anchor_link(collection.object_class_name) }}) resource.

Boto3 documentation: [{{ service_name.class_name }}.{{ collection.parent_name }}.{{ collection.name }}]({{ collection.boto3_doc_link }})
{% endfor %}
{% endif %}

{% if resource.methods %}
### {{ resource.name }} methods

{% for method in resource.methods %}
#### {{ resource.name }}.{{ method.name }} method

{{ method.short_docstring }}

Type annotations for `boto3.resource("{{ service_name.boto3_name }}").{{ method.name }}` method.

Boto3 documentation: [{{ service_name.class_name }}.{{ resource.name }}.{{ method.name }}]({{ service_name.get_boto3_doc_link(resource.name, method.name) }})

{% include "common/method.md.jinja2" with context -%}
{% endfor %}
{% endif %}

{% endfor %}
