Metadata-Version: 2.4
Name: rboto-cloudtrail
Version: 0.1.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Framework :: AsyncIO
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Programming Language :: Rust
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Dist: rboto==0.1.0
License-File: LICENSE
Summary: rboto: async-only, typed Python client for AWS CloudTrail, powered by Rust. Alpha preview.
Keywords: rboto,aws,cloudtrail,asyncio,typing,rust
Home-Page: https://github.com/ferrumio/rboto
Author-email: Leandro Cavalcante Damascena <leandro.damascena@gmail.com>
License-Expression: Apache-2.0
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Changelog, https://github.com/ferrumio/rboto/releases
Project-URL: Documentation, https://ferrumio.github.io/rboto/clients/
Project-URL: Homepage, https://ferrumio.github.io/rboto/
Project-URL: Issues, https://github.com/ferrumio/rboto/issues
Project-URL: Repository, https://github.com/ferrumio/rboto

<!-- Generated by rboto-codegen. Edit the descriptor, template, or example source. -->
# rboto-cloudtrail

rboto is an independent project maintained by [Ferrumio](https://github.com/ferrumio).
It is not affiliated with, sponsored by, or endorsed by Amazon Web Services (AWS).

**Preview (Alpha).** rboto is under active development. APIs may change between releases.

rboto provides an **async-only, typed Python client for AWS CloudTrail**,
powered by Rust. This package contains `CloudTrailClient` and
**60 operations**.

## Installation

Requires Python 3.12 or newer and a native wheel for your Python version and platform.

```bash
python -m pip install "rboto[cloudtrail]"
```

You can also install `rboto-cloudtrail` directly; it installs the matching
`rboto` package. Only the selected service is installed.

These are the package names to use when a release is available on your package index.
If your index has no release yet, follow the
[source installation instructions](https://ferrumio.github.io/rboto/getting-started/).

## Usage

Configure credentials through your environment, shared profile, or workload role.
The example uses `us-east-1`; select a region where your service and resources are available.
Resource names, identifiers, input files, and model IDs in the example are placeholders
to replace with your own.

```python
import asyncio

from rboto import CloudTrailClient


async def main() -> None:
    client = CloudTrailClient(region="us-east-1")
    response = await client.list_trails()
    for trail in response.trails or []:
        print(trail.name, trail.trail_arn)


if __name__ == "__main__":
    asyncio.run(main())
```

In an application with an event loop, call `await main()` instead of `asyncio.run(main())`.
Reuse the client across calls. Constructing a client does not send a request.

## API conventions

- Import the client with `from rboto import CloudTrailClient`.
- Every operation is asynchronous: use `await client.method(...)`.
- Operation arguments are keyword-only and use the Python names listed below.
- Structured inputs use typed dictionaries and tagged unions from `rboto_cloudtrail.types`.
- Regular responses expose typed attributes; `response.to_dict()` converts them to a dictionary.
- Event-stream responses may be typed dictionaries containing async iterators. Follow the
  declared return type; consume event streams with `async for`.
- Byte streams are consumed asynchronously. `await stream.read()` buffers the complete body;
  iterate the stream when processing a large response.
- Direct operation calls return one page.
- Use `async for page in client.paginators.method(...)` for supported paginated operations.
  Paginators accept the same typed arguments as the corresponding client method.

- Catch modeled exceptions from `rboto_cloudtrail.exceptions`. Their `error_code`,
  `message`, and `operation_name` identify service failures.

Clients also accept `profile`, `endpoint_url`, or shared `Session` settings.
See [configuration](https://ferrumio.github.io/rboto/guides/configuration/),
[errors](https://ferrumio.github.io/rboto/guides/errors/), and
[streaming](https://ferrumio.github.io/rboto/guides/streaming/).

## Operations

This is the complete operation catalog for this generated package. “Required arguments”
lists arguments without defaults in the Python signature. Service-side conditions may
require additional arguments. Each method links to its complete signature, including
optional arguments. Nested input definitions are in `rboto_cloudtrail.types`;
native response definitions are in the package's `_native.pyi`.

| Method | Required arguments | Return type |
|---|---|---|
| [`add_tags`](#add_tags) | <code>resource_id: str</code>, <code>tags_list: Sequence[Tag]</code> | <code>AddTagsOutput</code> |
| [`cancel_query`](#cancel_query) | <code>query_id: str</code> | <code>CancelQueryOutput</code> |
| [`create_channel`](#create_channel) | <code>name: str</code>, <code>source: str</code>, <code>destinations: Sequence[Destination]</code> | <code>CreateChannelOutput</code> |
| [`create_dashboard`](#create_dashboard) | <code>name: str</code> | <code>CreateDashboardOutput</code> |
| [`create_event_data_store`](#create_event_data_store) | <code>name: str</code> | <code>CreateEventDataStoreOutput</code> |
| [`create_trail`](#create_trail) | <code>name: str</code>, <code>s3_bucket_name: str</code> | <code>CreateTrailOutput</code> |
| [`delete_channel`](#delete_channel) | <code>channel: str</code> | <code>DeleteChannelOutput</code> |
| [`delete_dashboard`](#delete_dashboard) | <code>dashboard_id: str</code> | <code>DeleteDashboardOutput</code> |
| [`delete_event_data_store`](#delete_event_data_store) | <code>event_data_store: str</code> | <code>DeleteEventDataStoreOutput</code> |
| [`delete_resource_policy`](#delete_resource_policy) | <code>resource_arn: str</code> | <code>DeleteResourcePolicyOutput</code> |
| [`delete_trail`](#delete_trail) | <code>name: str</code> | <code>DeleteTrailOutput</code> |
| [`deregister_organization_delegated_admin`](#deregister_organization_delegated_admin) | <code>delegated_admin_account_id: str</code> | <code>DeregisterOrganizationDelegatedAdminOutput</code> |
| [`describe_query`](#describe_query) | None | <code>DescribeQueryOutput</code> |
| [`describe_trails`](#describe_trails) | None | <code>DescribeTrailsOutput</code> |
| [`disable_federation`](#disable_federation) | <code>event_data_store: str</code> | <code>DisableFederationOutput</code> |
| [`enable_federation`](#enable_federation) | <code>event_data_store: str</code>, <code>federation_role_arn: str</code> | <code>EnableFederationOutput</code> |
| [`generate_query`](#generate_query) | <code>event_data_stores: Sequence[str]</code>, <code>prompt: str</code> | <code>GenerateQueryOutput</code> |
| [`get_channel`](#get_channel) | <code>channel: str</code> | <code>GetChannelOutput</code> |
| [`get_dashboard`](#get_dashboard) | <code>dashboard_id: str</code> | <code>GetDashboardOutput</code> |
| [`get_event_configuration`](#get_event_configuration) | None | <code>GetEventConfigurationOutput</code> |
| [`get_event_data_store`](#get_event_data_store) | <code>event_data_store: str</code> | <code>GetEventDataStoreOutput</code> |
| [`get_event_selectors`](#get_event_selectors) | <code>trail_name: str</code> | <code>GetEventSelectorsOutput</code> |
| [`get_import`](#get_import) | <code>import_id: str</code> | <code>GetImportOutput</code> |
| [`get_insight_selectors`](#get_insight_selectors) | None | <code>GetInsightSelectorsOutput</code> |
| [`get_query_results`](#get_query_results) | <code>query_id: str</code> | <code>GetQueryResultsOutput</code> |
| [`get_resource_policy`](#get_resource_policy) | <code>resource_arn: str</code> | <code>GetResourcePolicyOutput</code> |
| [`get_trail`](#get_trail) | <code>name: str</code> | <code>GetTrailOutput</code> |
| [`get_trail_status`](#get_trail_status) | <code>name: str</code> | <code>GetTrailStatusOutput</code> |
| [`list_channels`](#list_channels) | None | <code>ListChannelsOutput</code> |
| [`list_dashboards`](#list_dashboards) | None | <code>ListDashboardsOutput</code> |
| [`list_event_data_stores`](#list_event_data_stores) | None | <code>ListEventDataStoresOutput</code> |
| [`list_import_failures`](#list_import_failures) | <code>import_id: str</code> | <code>ListImportFailuresOutput</code> |
| [`list_imports`](#list_imports) | None | <code>ListImportsOutput</code> |
| [`list_insights_data`](#list_insights_data) | <code>insight_source: str</code>, <code>data_type: ListInsightsDataType</code> | <code>ListInsightsDataOutput</code> |
| [`list_insights_metric_data`](#list_insights_metric_data) | <code>event_source: str</code>, <code>event_name: str</code>, <code>insight_type: InsightType</code> | <code>ListInsightsMetricDataOutput</code> |
| [`list_public_keys`](#list_public_keys) | None | <code>ListPublicKeysOutput</code> |
| [`list_queries`](#list_queries) | <code>event_data_store: str</code> | <code>ListQueriesOutput</code> |
| [`list_tags`](#list_tags) | <code>resource_id_list: Sequence[str]</code> | <code>ListTagsOutput</code> |
| [`list_trails`](#list_trails) | None | <code>ListTrailsOutput</code> |
| [`lookup_events`](#lookup_events) | None | <code>LookupEventsOutput</code> |
| [`put_event_configuration`](#put_event_configuration) | None | <code>PutEventConfigurationOutput</code> |
| [`put_event_selectors`](#put_event_selectors) | <code>trail_name: str</code> | <code>PutEventSelectorsOutput</code> |
| [`put_insight_selectors`](#put_insight_selectors) | <code>insight_selectors: Sequence[InsightSelector]</code> | <code>PutInsightSelectorsOutput</code> |
| [`put_resource_policy`](#put_resource_policy) | <code>resource_arn: str</code>, <code>resource_policy: str</code> | <code>PutResourcePolicyOutput</code> |
| [`register_organization_delegated_admin`](#register_organization_delegated_admin) | <code>member_account_id: str</code> | <code>RegisterOrganizationDelegatedAdminOutput</code> |
| [`remove_tags`](#remove_tags) | <code>resource_id: str</code>, <code>tags_list: Sequence[Tag]</code> | <code>RemoveTagsOutput</code> |
| [`restore_event_data_store`](#restore_event_data_store) | <code>event_data_store: str</code> | <code>RestoreEventDataStoreOutput</code> |
| [`search_sample_queries`](#search_sample_queries) | <code>search_phrase: str</code> | <code>SearchSampleQueriesOutput</code> |
| [`start_dashboard_refresh`](#start_dashboard_refresh) | <code>dashboard_id: str</code> | <code>StartDashboardRefreshOutput</code> |
| [`start_event_data_store_ingestion`](#start_event_data_store_ingestion) | <code>event_data_store: str</code> | <code>StartEventDataStoreIngestionOutput</code> |
| [`start_import`](#start_import) | None | <code>StartImportOutput</code> |
| [`start_logging`](#start_logging) | <code>name: str</code> | <code>StartLoggingOutput</code> |
| [`start_query`](#start_query) | None | <code>StartQueryOutput</code> |
| [`stop_event_data_store_ingestion`](#stop_event_data_store_ingestion) | <code>event_data_store: str</code> | <code>StopEventDataStoreIngestionOutput</code> |
| [`stop_import`](#stop_import) | <code>import_id: str</code> | <code>StopImportOutput</code> |
| [`stop_logging`](#stop_logging) | <code>name: str</code> | <code>StopLoggingOutput</code> |
| [`update_channel`](#update_channel) | <code>channel: str</code> | <code>UpdateChannelOutput</code> |
| [`update_dashboard`](#update_dashboard) | <code>dashboard_id: str</code> | <code>UpdateDashboardOutput</code> |
| [`update_event_data_store`](#update_event_data_store) | <code>event_data_store: str</code> | <code>UpdateEventDataStoreOutput</code> |
| [`update_trail`](#update_trail) | <code>name: str</code> | <code>UpdateTrailOutput</code> |

## Complete signatures

### add_tags

```python
async def add_tags(
    *,
    resource_id: str,
    tags_list: Sequence[Tag],
) -> AddTagsOutput: ...
```


### cancel_query

```python
async def cancel_query(
    *,
    query_id: str,
    event_data_store: str | None = None,
    event_data_store_owner_account_id: str | None = None,
) -> CancelQueryOutput: ...
```


### create_channel

```python
async def create_channel(
    *,
    name: str,
    source: str,
    destinations: Sequence[Destination],
    tags: Sequence[Tag] | None = None,
) -> CreateChannelOutput: ...
```


### create_dashboard

```python
async def create_dashboard(
    *,
    name: str,
    refresh_schedule: RefreshSchedule | None = None,
    tags_list: Sequence[Tag] | None = None,
    termination_protection_enabled: bool | None = None,
    widgets: Sequence[RequestWidget] | None = None,
) -> CreateDashboardOutput: ...
```


### create_event_data_store

```python
async def create_event_data_store(
    *,
    name: str,
    advanced_event_selectors: Sequence[AdvancedEventSelector] | None = None,
    multi_region_enabled: bool | None = None,
    organization_enabled: bool | None = None,
    retention_period: int | None = None,
    termination_protection_enabled: bool | None = None,
    tags_list: Sequence[Tag] | None = None,
    kms_key_id: str | None = None,
    start_ingestion: bool | None = None,
    billing_mode: BillingMode | None = None,
) -> CreateEventDataStoreOutput: ...
```


### create_trail

```python
async def create_trail(
    *,
    name: str,
    s3_bucket_name: str,
    s3_key_prefix: str | None = None,
    sns_topic_name: str | None = None,
    include_global_service_events: bool | None = None,
    is_multi_region_trail: bool | None = None,
    enable_log_file_validation: bool | None = None,
    cloud_watch_logs_log_group_arn: str | None = None,
    cloud_watch_logs_role_arn: str | None = None,
    kms_key_id: str | None = None,
    is_organization_trail: bool | None = None,
    tags_list: Sequence[Tag] | None = None,
    recursive_logging: bool | None = None,
) -> CreateTrailOutput: ...
```


### delete_channel

```python
async def delete_channel(
    *,
    channel: str,
) -> DeleteChannelOutput: ...
```


### delete_dashboard

```python
async def delete_dashboard(
    *,
    dashboard_id: str,
) -> DeleteDashboardOutput: ...
```


### delete_event_data_store

```python
async def delete_event_data_store(
    *,
    event_data_store: str,
) -> DeleteEventDataStoreOutput: ...
```


### delete_resource_policy

```python
async def delete_resource_policy(
    *,
    resource_arn: str,
) -> DeleteResourcePolicyOutput: ...
```


### delete_trail

```python
async def delete_trail(
    *,
    name: str,
) -> DeleteTrailOutput: ...
```


### deregister_organization_delegated_admin

```python
async def deregister_organization_delegated_admin(
    *,
    delegated_admin_account_id: str,
) -> DeregisterOrganizationDelegatedAdminOutput: ...
```


### describe_query

```python
async def describe_query(
    *,
    event_data_store: str | None = None,
    query_id: str | None = None,
    query_alias: str | None = None,
    refresh_id: str | None = None,
    event_data_store_owner_account_id: str | None = None,
) -> DescribeQueryOutput: ...
```


### describe_trails

```python
async def describe_trails(
    *,
    trail_name_list: Sequence[str] | None = None,
    include_shadow_trails: bool | None = None,
) -> DescribeTrailsOutput: ...
```


### disable_federation

```python
async def disable_federation(
    *,
    event_data_store: str,
) -> DisableFederationOutput: ...
```


### enable_federation

```python
async def enable_federation(
    *,
    event_data_store: str,
    federation_role_arn: str,
) -> EnableFederationOutput: ...
```


### generate_query

```python
async def generate_query(
    *,
    event_data_stores: Sequence[str],
    prompt: str,
) -> GenerateQueryOutput: ...
```


### get_channel

```python
async def get_channel(
    *,
    channel: str,
) -> GetChannelOutput: ...
```


### get_dashboard

```python
async def get_dashboard(
    *,
    dashboard_id: str,
) -> GetDashboardOutput: ...
```


### get_event_configuration

```python
async def get_event_configuration(
    *,
    trail_name: str | None = None,
    event_data_store: str | None = None,
) -> GetEventConfigurationOutput: ...
```


### get_event_data_store

```python
async def get_event_data_store(
    *,
    event_data_store: str,
) -> GetEventDataStoreOutput: ...
```


### get_event_selectors

```python
async def get_event_selectors(
    *,
    trail_name: str,
) -> GetEventSelectorsOutput: ...
```


### get_import

```python
async def get_import(
    *,
    import_id: str,
) -> GetImportOutput: ...
```


### get_insight_selectors

```python
async def get_insight_selectors(
    *,
    trail_name: str | None = None,
    event_data_store: str | None = None,
) -> GetInsightSelectorsOutput: ...
```


### get_query_results

```python
async def get_query_results(
    *,
    query_id: str,
    event_data_store: str | None = None,
    next_token: str | None = None,
    max_query_results: int | None = None,
    event_data_store_owner_account_id: str | None = None,
) -> GetQueryResultsOutput: ...
```

Also available as `client.paginators.get_query_results(...)`, returning an
async iterator of the response type above.


### get_resource_policy

```python
async def get_resource_policy(
    *,
    resource_arn: str,
) -> GetResourcePolicyOutput: ...
```


### get_trail

```python
async def get_trail(
    *,
    name: str,
) -> GetTrailOutput: ...
```


### get_trail_status

```python
async def get_trail_status(
    *,
    name: str,
) -> GetTrailStatusOutput: ...
```


### list_channels

```python
async def list_channels(
    *,
    max_results: int | None = None,
    next_token: str | None = None,
) -> ListChannelsOutput: ...
```

Also available as `client.paginators.list_channels(...)`, returning an
async iterator of the response type above.


### list_dashboards

```python
async def list_dashboards(
    *,
    name_prefix: str | None = None,
    type: DashboardType | None = None,
    next_token: str | None = None,
    max_results: int | None = None,
) -> ListDashboardsOutput: ...
```


### list_event_data_stores

```python
async def list_event_data_stores(
    *,
    next_token: str | None = None,
    max_results: int | None = None,
) -> ListEventDataStoresOutput: ...
```

Also available as `client.paginators.list_event_data_stores(...)`, returning an
async iterator of the response type above.


### list_import_failures

```python
async def list_import_failures(
    *,
    import_id: str,
    max_results: int | None = None,
    next_token: str | None = None,
) -> ListImportFailuresOutput: ...
```

Also available as `client.paginators.list_import_failures(...)`, returning an
async iterator of the response type above.


### list_imports

```python
async def list_imports(
    *,
    max_results: int | None = None,
    destination: str | None = None,
    import_status: ImportStatus | None = None,
    next_token: str | None = None,
) -> ListImportsOutput: ...
```

Also available as `client.paginators.list_imports(...)`, returning an
async iterator of the response type above.


### list_insights_data

```python
async def list_insights_data(
    *,
    insight_source: str,
    data_type: ListInsightsDataType,
    dimensions: dict[ListInsightsDataDimensionKey, str] | None = None,
    start_time: str | None = None,
    end_time: str | None = None,
    max_results: int | None = None,
    next_token: str | None = None,
) -> ListInsightsDataOutput: ...
```

Also available as `client.paginators.list_insights_data(...)`, returning an
async iterator of the response type above.


### list_insights_metric_data

```python
async def list_insights_metric_data(
    *,
    event_source: str,
    event_name: str,
    insight_type: InsightType,
    trail_name: str | None = None,
    error_code: str | None = None,
    start_time: str | None = None,
    end_time: str | None = None,
    period: int | None = None,
    data_type: InsightsMetricDataType | None = None,
    max_results: int | None = None,
    next_token: str | None = None,
) -> ListInsightsMetricDataOutput: ...
```

Also available as `client.paginators.list_insights_metric_data(...)`, returning an
async iterator of the response type above.


### list_public_keys

```python
async def list_public_keys(
    *,
    start_time: str | None = None,
    end_time: str | None = None,
    next_token: str | None = None,
) -> ListPublicKeysOutput: ...
```

Also available as `client.paginators.list_public_keys(...)`, returning an
async iterator of the response type above.


### list_queries

```python
async def list_queries(
    *,
    event_data_store: str,
    next_token: str | None = None,
    max_results: int | None = None,
    start_time: str | None = None,
    end_time: str | None = None,
    query_status: QueryStatus | None = None,
) -> ListQueriesOutput: ...
```

Also available as `client.paginators.list_queries(...)`, returning an
async iterator of the response type above.


### list_tags

```python
async def list_tags(
    *,
    resource_id_list: Sequence[str],
    next_token: str | None = None,
) -> ListTagsOutput: ...
```

Also available as `client.paginators.list_tags(...)`, returning an
async iterator of the response type above.


### list_trails

```python
async def list_trails(
    *,
    next_token: str | None = None,
) -> ListTrailsOutput: ...
```

Also available as `client.paginators.list_trails(...)`, returning an
async iterator of the response type above.


### lookup_events

```python
async def lookup_events(
    *,
    lookup_attributes: Sequence[LookupAttribute] | None = None,
    start_time: str | None = None,
    end_time: str | None = None,
    event_category: EventCategory | None = None,
    max_results: int | None = None,
    next_token: str | None = None,
) -> LookupEventsOutput: ...
```

Also available as `client.paginators.lookup_events(...)`, returning an
async iterator of the response type above.


### put_event_configuration

```python
async def put_event_configuration(
    *,
    trail_name: str | None = None,
    event_data_store: str | None = None,
    max_event_size: MaxEventSize | None = None,
    context_key_selectors: Sequence[ContextKeySelector] | None = None,
    aggregation_configurations: Sequence[AggregationConfiguration] | None = None,
) -> PutEventConfigurationOutput: ...
```


### put_event_selectors

```python
async def put_event_selectors(
    *,
    trail_name: str,
    event_selectors: Sequence[EventSelector] | None = None,
    advanced_event_selectors: Sequence[AdvancedEventSelector] | None = None,
) -> PutEventSelectorsOutput: ...
```


### put_insight_selectors

```python
async def put_insight_selectors(
    *,
    insight_selectors: Sequence[InsightSelector],
    trail_name: str | None = None,
    event_data_store: str | None = None,
    insights_destination: str | None = None,
) -> PutInsightSelectorsOutput: ...
```


### put_resource_policy

```python
async def put_resource_policy(
    *,
    resource_arn: str,
    resource_policy: str,
) -> PutResourcePolicyOutput: ...
```


### register_organization_delegated_admin

```python
async def register_organization_delegated_admin(
    *,
    member_account_id: str,
) -> RegisterOrganizationDelegatedAdminOutput: ...
```


### remove_tags

```python
async def remove_tags(
    *,
    resource_id: str,
    tags_list: Sequence[Tag],
) -> RemoveTagsOutput: ...
```


### restore_event_data_store

```python
async def restore_event_data_store(
    *,
    event_data_store: str,
) -> RestoreEventDataStoreOutput: ...
```


### search_sample_queries

```python
async def search_sample_queries(
    *,
    search_phrase: str,
    max_results: int | None = None,
    next_token: str | None = None,
) -> SearchSampleQueriesOutput: ...
```


### start_dashboard_refresh

```python
async def start_dashboard_refresh(
    *,
    dashboard_id: str,
    query_parameter_values: dict[str, str] | None = None,
) -> StartDashboardRefreshOutput: ...
```


### start_event_data_store_ingestion

```python
async def start_event_data_store_ingestion(
    *,
    event_data_store: str,
) -> StartEventDataStoreIngestionOutput: ...
```


### start_import

```python
async def start_import(
    *,
    destinations: Sequence[str] | None = None,
    import_source: ImportSource | None = None,
    start_event_time: str | None = None,
    end_event_time: str | None = None,
    import_id: str | None = None,
) -> StartImportOutput: ...
```


### start_logging

```python
async def start_logging(
    *,
    name: str,
) -> StartLoggingOutput: ...
```


### start_query

```python
async def start_query(
    *,
    query_statement: str | None = None,
    delivery_s3_uri: str | None = None,
    query_alias: str | None = None,
    query_parameters: Sequence[str] | None = None,
    event_data_store_owner_account_id: str | None = None,
) -> StartQueryOutput: ...
```


### stop_event_data_store_ingestion

```python
async def stop_event_data_store_ingestion(
    *,
    event_data_store: str,
) -> StopEventDataStoreIngestionOutput: ...
```


### stop_import

```python
async def stop_import(
    *,
    import_id: str,
) -> StopImportOutput: ...
```


### stop_logging

```python
async def stop_logging(
    *,
    name: str,
) -> StopLoggingOutput: ...
```


### update_channel

```python
async def update_channel(
    *,
    channel: str,
    destinations: Sequence[Destination] | None = None,
    name: str | None = None,
) -> UpdateChannelOutput: ...
```


### update_dashboard

```python
async def update_dashboard(
    *,
    dashboard_id: str,
    widgets: Sequence[RequestWidget] | None = None,
    refresh_schedule: RefreshSchedule | None = None,
    termination_protection_enabled: bool | None = None,
) -> UpdateDashboardOutput: ...
```


### update_event_data_store

```python
async def update_event_data_store(
    *,
    event_data_store: str,
    name: str | None = None,
    advanced_event_selectors: Sequence[AdvancedEventSelector] | None = None,
    multi_region_enabled: bool | None = None,
    organization_enabled: bool | None = None,
    retention_period: int | None = None,
    termination_protection_enabled: bool | None = None,
    kms_key_id: str | None = None,
    billing_mode: BillingMode | None = None,
) -> UpdateEventDataStoreOutput: ...
```


### update_trail

```python
async def update_trail(
    *,
    name: str,
    s3_bucket_name: str | None = None,
    s3_key_prefix: str | None = None,
    sns_topic_name: str | None = None,
    include_global_service_events: bool | None = None,
    is_multi_region_trail: bool | None = None,
    enable_log_file_validation: bool | None = None,
    cloud_watch_logs_log_group_arn: str | None = None,
    cloud_watch_logs_role_arn: str | None = None,
    kms_key_id: str | None = None,
    is_organization_trail: bool | None = None,
    recursive_logging: bool | None = None,
) -> UpdateTrailOutput: ...
```


## Links

- [Service guide](https://ferrumio.github.io/rboto/clients/)
- [Repository](https://github.com/ferrumio/rboto)
- [Issues](https://github.com/ferrumio/rboto/issues)
- [Releases](https://github.com/ferrumio/rboto/releases)

Licensed under Apache-2.0.

