Metadata-Version: 2.4
Name: rboto-eventbridge
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 Amazon EventBridge, powered by Rust. Alpha preview.
Keywords: rboto,aws,eventbridge,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/guides/events/
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-eventbridge

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 Amazon EventBridge**,
powered by Rust. This package contains `EventBridgeClient` and
**57 operations**.

## Installation

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

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

You can also install `rboto-eventbridge` 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 EventBridgeClient
from rboto_eventbridge.types import PutEventsRequestEntry


async def main() -> None:
    client = EventBridgeClient(region="us-east-1")
    entry: PutEventsRequestEntry = {
        "event_bus_name": "default",
        "source": "example.orders",
        "detail_type": "OrderCreated",
        "detail": '{"order_id":"123"}',
    }
    response = await client.put_events(entries=[entry])
    if response.failed_entry_count:
        raise RuntimeError(f"Event publication failed: {response.entries}")
    print(response.entries)


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 EventBridgeClient`.
- 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_eventbridge.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_eventbridge.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_eventbridge.types`;
native response definitions are in the package's `_native.pyi`.

| Method | Required arguments | Return type |
|---|---|---|
| [`activate_event_source`](#activate_event_source) | <code>name: str</code> | <code>None</code> |
| [`cancel_replay`](#cancel_replay) | <code>replay_name: str</code> | <code>CancelReplayOutput</code> |
| [`create_api_destination`](#create_api_destination) | <code>name: str</code>, <code>connection_arn: str</code>, <code>invocation_endpoint: str</code>, <code>http_method: ApiDestinationHttpMethod</code> | <code>CreateApiDestinationOutput</code> |
| [`create_archive`](#create_archive) | <code>archive_name: str</code>, <code>event_source_arn: str</code> | <code>CreateArchiveOutput</code> |
| [`create_connection`](#create_connection) | <code>name: str</code>, <code>authorization_type: ConnectionAuthorizationType</code>, <code>auth_parameters: CreateConnectionAuthRequestParameters</code> | <code>CreateConnectionOutput</code> |
| [`create_endpoint`](#create_endpoint) | <code>name: str</code>, <code>routing_config: RoutingConfig</code>, <code>event_buses: Sequence[EndpointEventBus]</code> | <code>CreateEndpointOutput</code> |
| [`create_event_bus`](#create_event_bus) | <code>name: str</code> | <code>CreateEventBusOutput</code> |
| [`create_partner_event_source`](#create_partner_event_source) | <code>name: str</code>, <code>account: str</code> | <code>CreatePartnerEventSourceOutput</code> |
| [`deactivate_event_source`](#deactivate_event_source) | <code>name: str</code> | <code>None</code> |
| [`deauthorize_connection`](#deauthorize_connection) | <code>name: str</code> | <code>DeauthorizeConnectionOutput</code> |
| [`delete_api_destination`](#delete_api_destination) | <code>name: str</code> | <code>DeleteApiDestinationOutput</code> |
| [`delete_archive`](#delete_archive) | <code>archive_name: str</code> | <code>DeleteArchiveOutput</code> |
| [`delete_connection`](#delete_connection) | <code>name: str</code> | <code>DeleteConnectionOutput</code> |
| [`delete_endpoint`](#delete_endpoint) | <code>name: str</code> | <code>DeleteEndpointOutput</code> |
| [`delete_event_bus`](#delete_event_bus) | <code>name: str</code> | <code>None</code> |
| [`delete_partner_event_source`](#delete_partner_event_source) | <code>name: str</code>, <code>account: str</code> | <code>None</code> |
| [`delete_rule`](#delete_rule) | <code>name: str</code> | <code>None</code> |
| [`describe_api_destination`](#describe_api_destination) | <code>name: str</code> | <code>DescribeApiDestinationOutput</code> |
| [`describe_archive`](#describe_archive) | <code>archive_name: str</code> | <code>DescribeArchiveOutput</code> |
| [`describe_connection`](#describe_connection) | <code>name: str</code> | <code>DescribeConnectionOutput</code> |
| [`describe_endpoint`](#describe_endpoint) | <code>name: str</code> | <code>DescribeEndpointOutput</code> |
| [`describe_event_bus`](#describe_event_bus) | None | <code>DescribeEventBusOutput</code> |
| [`describe_event_source`](#describe_event_source) | <code>name: str</code> | <code>DescribeEventSourceOutput</code> |
| [`describe_partner_event_source`](#describe_partner_event_source) | <code>name: str</code> | <code>DescribePartnerEventSourceOutput</code> |
| [`describe_replay`](#describe_replay) | <code>replay_name: str</code> | <code>DescribeReplayOutput</code> |
| [`describe_rule`](#describe_rule) | <code>name: str</code> | <code>DescribeRuleOutput</code> |
| [`disable_rule`](#disable_rule) | <code>name: str</code> | <code>None</code> |
| [`enable_rule`](#enable_rule) | <code>name: str</code> | <code>None</code> |
| [`list_api_destinations`](#list_api_destinations) | None | <code>ListApiDestinationsOutput</code> |
| [`list_archives`](#list_archives) | None | <code>ListArchivesOutput</code> |
| [`list_connections`](#list_connections) | None | <code>ListConnectionsOutput</code> |
| [`list_endpoints`](#list_endpoints) | None | <code>ListEndpointsOutput</code> |
| [`list_event_buses`](#list_event_buses) | None | <code>ListEventBusesOutput</code> |
| [`list_event_sources`](#list_event_sources) | None | <code>ListEventSourcesOutput</code> |
| [`list_partner_event_source_accounts`](#list_partner_event_source_accounts) | <code>event_source_name: str</code> | <code>ListPartnerEventSourceAccountsOutput</code> |
| [`list_partner_event_sources`](#list_partner_event_sources) | <code>name_prefix: str</code> | <code>ListPartnerEventSourcesOutput</code> |
| [`list_replays`](#list_replays) | None | <code>ListReplaysOutput</code> |
| [`list_rule_names_by_target`](#list_rule_names_by_target) | <code>target_arn: str</code> | <code>ListRuleNamesByTargetOutput</code> |
| [`list_rules`](#list_rules) | None | <code>ListRulesOutput</code> |
| [`list_tags_for_resource`](#list_tags_for_resource) | <code>resource_arn: str</code> | <code>ListTagsForResourceOutput</code> |
| [`list_targets_by_rule`](#list_targets_by_rule) | <code>rule: str</code> | <code>ListTargetsByRuleOutput</code> |
| [`put_events`](#put_events) | <code>entries: Sequence[PutEventsRequestEntry]</code> | <code>PutEventsOutput</code> |
| [`put_partner_events`](#put_partner_events) | <code>entries: Sequence[PutPartnerEventsRequestEntry]</code> | <code>PutPartnerEventsOutput</code> |
| [`put_permission`](#put_permission) | None | <code>None</code> |
| [`put_rule`](#put_rule) | <code>name: str</code> | <code>PutRuleOutput</code> |
| [`put_targets`](#put_targets) | <code>rule: str</code>, <code>targets: Sequence[Target]</code> | <code>PutTargetsOutput</code> |
| [`remove_permission`](#remove_permission) | None | <code>None</code> |
| [`remove_targets`](#remove_targets) | <code>rule: str</code>, <code>ids: Sequence[str]</code> | <code>RemoveTargetsOutput</code> |
| [`start_replay`](#start_replay) | <code>replay_name: str</code>, <code>event_source_arn: str</code>, <code>event_start_time: str</code>, <code>event_end_time: str</code>, <code>destination: ReplayDestination</code> | <code>StartReplayOutput</code> |
| [`tag_resource`](#tag_resource) | <code>resource_arn: str</code>, <code>tags: Sequence[Tag]</code> | <code>TagResourceOutput</code> |
| [`test_event_pattern`](#test_event_pattern) | <code>event_pattern: str</code>, <code>event: str</code> | <code>TestEventPatternOutput</code> |
| [`untag_resource`](#untag_resource) | <code>resource_arn: str</code>, <code>tag_keys: Sequence[str]</code> | <code>UntagResourceOutput</code> |
| [`update_api_destination`](#update_api_destination) | <code>name: str</code> | <code>UpdateApiDestinationOutput</code> |
| [`update_archive`](#update_archive) | <code>archive_name: str</code> | <code>UpdateArchiveOutput</code> |
| [`update_connection`](#update_connection) | <code>name: str</code> | <code>UpdateConnectionOutput</code> |
| [`update_endpoint`](#update_endpoint) | <code>name: str</code> | <code>UpdateEndpointOutput</code> |
| [`update_event_bus`](#update_event_bus) | None | <code>UpdateEventBusOutput</code> |

## Complete signatures

### activate_event_source

```python
async def activate_event_source(
    *,
    name: str,
) -> None: ...
```


### cancel_replay

```python
async def cancel_replay(
    *,
    replay_name: str,
) -> CancelReplayOutput: ...
```


### create_api_destination

```python
async def create_api_destination(
    *,
    name: str,
    connection_arn: str,
    invocation_endpoint: str,
    http_method: ApiDestinationHttpMethod,
    description: str | None = None,
    invocation_rate_limit_per_second: int | None = None,
) -> CreateApiDestinationOutput: ...
```


### create_archive

```python
async def create_archive(
    *,
    archive_name: str,
    event_source_arn: str,
    description: str | None = None,
    event_pattern: str | None = None,
    retention_days: int | None = None,
    kms_key_identifier: str | None = None,
) -> CreateArchiveOutput: ...
```


### create_connection

```python
async def create_connection(
    *,
    name: str,
    authorization_type: ConnectionAuthorizationType,
    auth_parameters: CreateConnectionAuthRequestParameters,
    description: str | None = None,
    invocation_connectivity_parameters: ConnectivityResourceParameters | None = None,
    kms_key_identifier: str | None = None,
) -> CreateConnectionOutput: ...
```


### create_endpoint

```python
async def create_endpoint(
    *,
    name: str,
    routing_config: RoutingConfig,
    event_buses: Sequence[EndpointEventBus],
    description: str | None = None,
    replication_config: ReplicationConfig | None = None,
    role_arn: str | None = None,
) -> CreateEndpointOutput: ...
```


### create_event_bus

```python
async def create_event_bus(
    *,
    name: str,
    event_source_name: str | None = None,
    description: str | None = None,
    kms_key_identifier: str | None = None,
    dead_letter_config: DeadLetterConfig | None = None,
    log_config: LogConfig | None = None,
    tags: Sequence[Tag] | None = None,
) -> CreateEventBusOutput: ...
```


### create_partner_event_source

```python
async def create_partner_event_source(
    *,
    name: str,
    account: str,
) -> CreatePartnerEventSourceOutput: ...
```


### deactivate_event_source

```python
async def deactivate_event_source(
    *,
    name: str,
) -> None: ...
```


### deauthorize_connection

```python
async def deauthorize_connection(
    *,
    name: str,
) -> DeauthorizeConnectionOutput: ...
```


### delete_api_destination

```python
async def delete_api_destination(
    *,
    name: str,
) -> DeleteApiDestinationOutput: ...
```


### delete_archive

```python
async def delete_archive(
    *,
    archive_name: str,
) -> DeleteArchiveOutput: ...
```


### delete_connection

```python
async def delete_connection(
    *,
    name: str,
) -> DeleteConnectionOutput: ...
```


### delete_endpoint

```python
async def delete_endpoint(
    *,
    name: str,
) -> DeleteEndpointOutput: ...
```


### delete_event_bus

```python
async def delete_event_bus(
    *,
    name: str,
) -> None: ...
```


### delete_partner_event_source

```python
async def delete_partner_event_source(
    *,
    name: str,
    account: str,
) -> None: ...
```


### delete_rule

```python
async def delete_rule(
    *,
    name: str,
    event_bus_name: str | None = None,
    force: bool | None = None,
) -> None: ...
```


### describe_api_destination

```python
async def describe_api_destination(
    *,
    name: str,
) -> DescribeApiDestinationOutput: ...
```


### describe_archive

```python
async def describe_archive(
    *,
    archive_name: str,
) -> DescribeArchiveOutput: ...
```


### describe_connection

```python
async def describe_connection(
    *,
    name: str,
) -> DescribeConnectionOutput: ...
```


### describe_endpoint

```python
async def describe_endpoint(
    *,
    name: str,
    home_region: str | None = None,
) -> DescribeEndpointOutput: ...
```


### describe_event_bus

```python
async def describe_event_bus(
    *,
    name: str | None = None,
) -> DescribeEventBusOutput: ...
```


### describe_event_source

```python
async def describe_event_source(
    *,
    name: str,
) -> DescribeEventSourceOutput: ...
```


### describe_partner_event_source

```python
async def describe_partner_event_source(
    *,
    name: str,
) -> DescribePartnerEventSourceOutput: ...
```


### describe_replay

```python
async def describe_replay(
    *,
    replay_name: str,
) -> DescribeReplayOutput: ...
```


### describe_rule

```python
async def describe_rule(
    *,
    name: str,
    event_bus_name: str | None = None,
) -> DescribeRuleOutput: ...
```


### disable_rule

```python
async def disable_rule(
    *,
    name: str,
    event_bus_name: str | None = None,
) -> None: ...
```


### enable_rule

```python
async def enable_rule(
    *,
    name: str,
    event_bus_name: str | None = None,
) -> None: ...
```


### list_api_destinations

```python
async def list_api_destinations(
    *,
    name_prefix: str | None = None,
    connection_arn: str | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListApiDestinationsOutput: ...
```


### list_archives

```python
async def list_archives(
    *,
    name_prefix: str | None = None,
    event_source_arn: str | None = None,
    state: ArchiveState | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListArchivesOutput: ...
```


### list_connections

```python
async def list_connections(
    *,
    name_prefix: str | None = None,
    connection_state: ConnectionState | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListConnectionsOutput: ...
```


### list_endpoints

```python
async def list_endpoints(
    *,
    name_prefix: str | None = None,
    home_region: str | None = None,
    next_token: str | None = None,
    max_results: int | None = None,
) -> ListEndpointsOutput: ...
```


### list_event_buses

```python
async def list_event_buses(
    *,
    name_prefix: str | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListEventBusesOutput: ...
```


### list_event_sources

```python
async def list_event_sources(
    *,
    name_prefix: str | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListEventSourcesOutput: ...
```


### list_partner_event_source_accounts

```python
async def list_partner_event_source_accounts(
    *,
    event_source_name: str,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListPartnerEventSourceAccountsOutput: ...
```


### list_partner_event_sources

```python
async def list_partner_event_sources(
    *,
    name_prefix: str,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListPartnerEventSourcesOutput: ...
```


### list_replays

```python
async def list_replays(
    *,
    name_prefix: str | None = None,
    state: ReplayState | None = None,
    event_source_arn: str | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListReplaysOutput: ...
```


### list_rule_names_by_target

```python
async def list_rule_names_by_target(
    *,
    target_arn: str,
    event_bus_name: str | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListRuleNamesByTargetOutput: ...
```

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


### list_rules

```python
async def list_rules(
    *,
    name_prefix: str | None = None,
    event_bus_name: str | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListRulesOutput: ...
```

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


### list_tags_for_resource

```python
async def list_tags_for_resource(
    *,
    resource_arn: str,
) -> ListTagsForResourceOutput: ...
```


### list_targets_by_rule

```python
async def list_targets_by_rule(
    *,
    rule: str,
    event_bus_name: str | None = None,
    next_token: str | None = None,
    limit: int | None = None,
) -> ListTargetsByRuleOutput: ...
```

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


### put_events

```python
async def put_events(
    *,
    entries: Sequence[PutEventsRequestEntry],
    endpoint_id: str | None = None,
) -> PutEventsOutput: ...
```


### put_partner_events

```python
async def put_partner_events(
    *,
    entries: Sequence[PutPartnerEventsRequestEntry],
) -> PutPartnerEventsOutput: ...
```


### put_permission

```python
async def put_permission(
    *,
    event_bus_name: str | None = None,
    action: str | None = None,
    principal: str | None = None,
    statement_id: str | None = None,
    condition: Condition | None = None,
    policy: str | None = None,
) -> None: ...
```


### put_rule

```python
async def put_rule(
    *,
    name: str,
    schedule_expression: str | None = None,
    event_pattern: str | None = None,
    state: RuleState | None = None,
    description: str | None = None,
    role_arn: str | None = None,
    tags: Sequence[Tag] | None = None,
    event_bus_name: str | None = None,
) -> PutRuleOutput: ...
```


### put_targets

```python
async def put_targets(
    *,
    rule: str,
    targets: Sequence[Target],
    event_bus_name: str | None = None,
) -> PutTargetsOutput: ...
```


### remove_permission

```python
async def remove_permission(
    *,
    statement_id: str | None = None,
    remove_all_permissions: bool | None = None,
    event_bus_name: str | None = None,
) -> None: ...
```


### remove_targets

```python
async def remove_targets(
    *,
    rule: str,
    ids: Sequence[str],
    event_bus_name: str | None = None,
    force: bool | None = None,
) -> RemoveTargetsOutput: ...
```


### start_replay

```python
async def start_replay(
    *,
    replay_name: str,
    event_source_arn: str,
    event_start_time: str,
    event_end_time: str,
    destination: ReplayDestination,
    description: str | None = None,
) -> StartReplayOutput: ...
```


### tag_resource

```python
async def tag_resource(
    *,
    resource_arn: str,
    tags: Sequence[Tag],
) -> TagResourceOutput: ...
```


### test_event_pattern

```python
async def test_event_pattern(
    *,
    event_pattern: str,
    event: str,
) -> TestEventPatternOutput: ...
```


### untag_resource

```python
async def untag_resource(
    *,
    resource_arn: str,
    tag_keys: Sequence[str],
) -> UntagResourceOutput: ...
```


### update_api_destination

```python
async def update_api_destination(
    *,
    name: str,
    description: str | None = None,
    connection_arn: str | None = None,
    invocation_endpoint: str | None = None,
    http_method: ApiDestinationHttpMethod | None = None,
    invocation_rate_limit_per_second: int | None = None,
) -> UpdateApiDestinationOutput: ...
```


### update_archive

```python
async def update_archive(
    *,
    archive_name: str,
    description: str | None = None,
    event_pattern: str | None = None,
    retention_days: int | None = None,
    kms_key_identifier: str | None = None,
) -> UpdateArchiveOutput: ...
```


### update_connection

```python
async def update_connection(
    *,
    name: str,
    description: str | None = None,
    authorization_type: ConnectionAuthorizationType | None = None,
    auth_parameters: UpdateConnectionAuthRequestParameters | None = None,
    invocation_connectivity_parameters: ConnectivityResourceParameters | None = None,
    kms_key_identifier: str | None = None,
) -> UpdateConnectionOutput: ...
```


### update_endpoint

```python
async def update_endpoint(
    *,
    name: str,
    description: str | None = None,
    routing_config: RoutingConfig | None = None,
    replication_config: ReplicationConfig | None = None,
    event_buses: Sequence[EndpointEventBus] | None = None,
    role_arn: str | None = None,
) -> UpdateEndpointOutput: ...
```


### update_event_bus

```python
async def update_event_bus(
    *,
    name: str | None = None,
    kms_key_identifier: str | None = None,
    description: str | None = None,
    dead_letter_config: DeadLetterConfig | None = None,
    log_config: LogConfig | None = None,
) -> UpdateEventBusOutput: ...
```


## Links

- [Service guide](https://ferrumio.github.io/rboto/guides/events/)
- [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.

