/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace EventBridge { namespace Model { class ActivateEventSourceRequest; class CreateEventBusRequest; class CreatePartnerEventSourceRequest; class DeactivateEventSourceRequest; class DeleteEventBusRequest; class DeletePartnerEventSourceRequest; class DeleteRuleRequest; class DescribeEventBusRequest; class DescribeEventSourceRequest; class DescribePartnerEventSourceRequest; class DescribeRuleRequest; class DisableRuleRequest; class EnableRuleRequest; class ListEventBusesRequest; class ListEventSourcesRequest; class ListPartnerEventSourceAccountsRequest; class ListPartnerEventSourcesRequest; class ListRuleNamesByTargetRequest; class ListRulesRequest; class ListTagsForResourceRequest; class ListTargetsByRuleRequest; class PutEventsRequest; class PutPartnerEventsRequest; class PutPermissionRequest; class PutRuleRequest; class PutTargetsRequest; class RemovePermissionRequest; class RemoveTargetsRequest; class TagResourceRequest; class TestEventPatternRequest; class UntagResourceRequest; typedef Aws::Utils::Outcome ActivateEventSourceOutcome; typedef Aws::Utils::Outcome CreateEventBusOutcome; typedef Aws::Utils::Outcome CreatePartnerEventSourceOutcome; typedef Aws::Utils::Outcome DeactivateEventSourceOutcome; typedef Aws::Utils::Outcome DeleteEventBusOutcome; typedef Aws::Utils::Outcome DeletePartnerEventSourceOutcome; typedef Aws::Utils::Outcome DeleteRuleOutcome; typedef Aws::Utils::Outcome DescribeEventBusOutcome; typedef Aws::Utils::Outcome DescribeEventSourceOutcome; typedef Aws::Utils::Outcome DescribePartnerEventSourceOutcome; typedef Aws::Utils::Outcome DescribeRuleOutcome; typedef Aws::Utils::Outcome DisableRuleOutcome; typedef Aws::Utils::Outcome EnableRuleOutcome; typedef Aws::Utils::Outcome ListEventBusesOutcome; typedef Aws::Utils::Outcome ListEventSourcesOutcome; typedef Aws::Utils::Outcome ListPartnerEventSourceAccountsOutcome; typedef Aws::Utils::Outcome ListPartnerEventSourcesOutcome; typedef Aws::Utils::Outcome ListRuleNamesByTargetOutcome; typedef Aws::Utils::Outcome ListRulesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListTargetsByRuleOutcome; typedef Aws::Utils::Outcome PutEventsOutcome; typedef Aws::Utils::Outcome PutPartnerEventsOutcome; typedef Aws::Utils::Outcome PutPermissionOutcome; typedef Aws::Utils::Outcome PutRuleOutcome; typedef Aws::Utils::Outcome PutTargetsOutcome; typedef Aws::Utils::Outcome RemovePermissionOutcome; typedef Aws::Utils::Outcome RemoveTargetsOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome TestEventPatternOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef std::future ActivateEventSourceOutcomeCallable; typedef std::future CreateEventBusOutcomeCallable; typedef std::future CreatePartnerEventSourceOutcomeCallable; typedef std::future DeactivateEventSourceOutcomeCallable; typedef std::future DeleteEventBusOutcomeCallable; typedef std::future DeletePartnerEventSourceOutcomeCallable; typedef std::future DeleteRuleOutcomeCallable; typedef std::future DescribeEventBusOutcomeCallable; typedef std::future DescribeEventSourceOutcomeCallable; typedef std::future DescribePartnerEventSourceOutcomeCallable; typedef std::future DescribeRuleOutcomeCallable; typedef std::future DisableRuleOutcomeCallable; typedef std::future EnableRuleOutcomeCallable; typedef std::future ListEventBusesOutcomeCallable; typedef std::future ListEventSourcesOutcomeCallable; typedef std::future ListPartnerEventSourceAccountsOutcomeCallable; typedef std::future ListPartnerEventSourcesOutcomeCallable; typedef std::future ListRuleNamesByTargetOutcomeCallable; typedef std::future ListRulesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListTargetsByRuleOutcomeCallable; typedef std::future PutEventsOutcomeCallable; typedef std::future PutPartnerEventsOutcomeCallable; typedef std::future PutPermissionOutcomeCallable; typedef std::future PutRuleOutcomeCallable; typedef std::future PutTargetsOutcomeCallable; typedef std::future RemovePermissionOutcomeCallable; typedef std::future RemoveTargetsOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future TestEventPatternOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; } // namespace Model class EventBridgeClient; typedef std::function&) > ActivateEventSourceResponseReceivedHandler; typedef std::function&) > CreateEventBusResponseReceivedHandler; typedef std::function&) > CreatePartnerEventSourceResponseReceivedHandler; typedef std::function&) > DeactivateEventSourceResponseReceivedHandler; typedef std::function&) > DeleteEventBusResponseReceivedHandler; typedef std::function&) > DeletePartnerEventSourceResponseReceivedHandler; typedef std::function&) > DeleteRuleResponseReceivedHandler; typedef std::function&) > DescribeEventBusResponseReceivedHandler; typedef std::function&) > DescribeEventSourceResponseReceivedHandler; typedef std::function&) > DescribePartnerEventSourceResponseReceivedHandler; typedef std::function&) > DescribeRuleResponseReceivedHandler; typedef std::function&) > DisableRuleResponseReceivedHandler; typedef std::function&) > EnableRuleResponseReceivedHandler; typedef std::function&) > ListEventBusesResponseReceivedHandler; typedef std::function&) > ListEventSourcesResponseReceivedHandler; typedef std::function&) > ListPartnerEventSourceAccountsResponseReceivedHandler; typedef std::function&) > ListPartnerEventSourcesResponseReceivedHandler; typedef std::function&) > ListRuleNamesByTargetResponseReceivedHandler; typedef std::function&) > ListRulesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListTargetsByRuleResponseReceivedHandler; typedef std::function&) > PutEventsResponseReceivedHandler; typedef std::function&) > PutPartnerEventsResponseReceivedHandler; typedef std::function&) > PutPermissionResponseReceivedHandler; typedef std::function&) > PutRuleResponseReceivedHandler; typedef std::function&) > PutTargetsResponseReceivedHandler; typedef std::function&) > RemovePermissionResponseReceivedHandler; typedef std::function&) > RemoveTargetsResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > TestEventPatternResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; /** *

Amazon EventBridge helps you to respond to state changes in your AWS * resources. When your resources change state, they automatically send events into * an event stream. You can create rules that match selected events in the stream * and route them to targets to take action. You can also use rules to take action * on a predetermined schedule. For example, you can configure rules to:

    *
  • Automatically invoke an AWS Lambda function to update DNS entries when * an event notifies you that Amazon EC2 instance enters the running state.

    *
  • Direct specific API records from AWS CloudTrail to an Amazon * Kinesis data stream for detailed analysis of potential security or availability * risks.

  • Periodically invoke a built-in target to create a * snapshot of an Amazon EBS volume.

For more information about * the features of Amazon EventBridge, see the Amazon * EventBridge User Guide.

*/ class AWS_EVENTBRIDGE_API EventBridgeClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ EventBridgeClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ EventBridgeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ EventBridgeClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~EventBridgeClient(); /** *

Activates a partner event source that has been deactivated. Once activated, * your matching event bus will start receiving events from the event * source.

See Also:

AWS * API Reference

*/ virtual Model::ActivateEventSourceOutcome ActivateEventSource(const Model::ActivateEventSourceRequest& request) const; /** *

Activates a partner event source that has been deactivated. Once activated, * your matching event bus will start receiving events from the event * source.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ActivateEventSourceOutcomeCallable ActivateEventSourceCallable(const Model::ActivateEventSourceRequest& request) const; /** *

Activates a partner event source that has been deactivated. Once activated, * your matching event bus will start receiving events from the event * source.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ActivateEventSourceAsync(const Model::ActivateEventSourceRequest& request, const ActivateEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a new event bus within your account. This can be a custom event bus * which you can use to receive events from your custom applications and services, * or it can be a partner event bus which can be matched to a partner event * source.

See Also:

AWS * API Reference

*/ virtual Model::CreateEventBusOutcome CreateEventBus(const Model::CreateEventBusRequest& request) const; /** *

Creates a new event bus within your account. This can be a custom event bus * which you can use to receive events from your custom applications and services, * or it can be a partner event bus which can be matched to a partner event * source.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateEventBusOutcomeCallable CreateEventBusCallable(const Model::CreateEventBusRequest& request) const; /** *

Creates a new event bus within your account. This can be a custom event bus * which you can use to receive events from your custom applications and services, * or it can be a partner event bus which can be matched to a partner event * source.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateEventBusAsync(const Model::CreateEventBusRequest& request, const CreateEventBusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Called by an SaaS partner to create a partner event source. This operation is * not used by AWS customers.

Each partner event source can be used by one * AWS account to create a matching partner event bus in that AWS account. A SaaS * partner must create one partner event source for each AWS account that wants to * receive those event types.

A partner event source creates events based * on resources within the SaaS partner's service or application.

An AWS * account that creates a partner event bus that matches the partner event source * can use that event bus to receive events from the partner, and then process them * using AWS Events rules and targets.

Partner event source names follow * this format:

* partner_name/event_namespace/event_name

* partner_name is determined during partner registration and identifies the * partner to AWS customers. event_namespace is determined by the partner * and is a way for the partner to categorize their events. event_name is * determined by the partner, and should uniquely identify an event-generating * resource within the partner system. The combination of event_namespace * and event_name should help AWS customers decide whether to create an * event bus to receive these events.

See Also:

AWS * API Reference

*/ virtual Model::CreatePartnerEventSourceOutcome CreatePartnerEventSource(const Model::CreatePartnerEventSourceRequest& request) const; /** *

Called by an SaaS partner to create a partner event source. This operation is * not used by AWS customers.

Each partner event source can be used by one * AWS account to create a matching partner event bus in that AWS account. A SaaS * partner must create one partner event source for each AWS account that wants to * receive those event types.

A partner event source creates events based * on resources within the SaaS partner's service or application.

An AWS * account that creates a partner event bus that matches the partner event source * can use that event bus to receive events from the partner, and then process them * using AWS Events rules and targets.

Partner event source names follow * this format:

* partner_name/event_namespace/event_name

* partner_name is determined during partner registration and identifies the * partner to AWS customers. event_namespace is determined by the partner * and is a way for the partner to categorize their events. event_name is * determined by the partner, and should uniquely identify an event-generating * resource within the partner system. The combination of event_namespace * and event_name should help AWS customers decide whether to create an * event bus to receive these events.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreatePartnerEventSourceOutcomeCallable CreatePartnerEventSourceCallable(const Model::CreatePartnerEventSourceRequest& request) const; /** *

Called by an SaaS partner to create a partner event source. This operation is * not used by AWS customers.

Each partner event source can be used by one * AWS account to create a matching partner event bus in that AWS account. A SaaS * partner must create one partner event source for each AWS account that wants to * receive those event types.

A partner event source creates events based * on resources within the SaaS partner's service or application.

An AWS * account that creates a partner event bus that matches the partner event source * can use that event bus to receive events from the partner, and then process them * using AWS Events rules and targets.

Partner event source names follow * this format:

* partner_name/event_namespace/event_name

* partner_name is determined during partner registration and identifies the * partner to AWS customers. event_namespace is determined by the partner * and is a way for the partner to categorize their events. event_name is * determined by the partner, and should uniquely identify an event-generating * resource within the partner system. The combination of event_namespace * and event_name should help AWS customers decide whether to create an * event bus to receive these events.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreatePartnerEventSourceAsync(const Model::CreatePartnerEventSourceRequest& request, const CreatePartnerEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

You can use this operation to temporarily stop receiving events from the * specified partner event source. The matching event bus is not deleted.

*

When you deactivate a partner event source, the source goes into PENDING * state. If it remains in PENDING state for more than two weeks, it is * deleted.

To activate a deactivated partner event source, use * ActivateEventSource.

See Also:

AWS * API Reference

*/ virtual Model::DeactivateEventSourceOutcome DeactivateEventSource(const Model::DeactivateEventSourceRequest& request) const; /** *

You can use this operation to temporarily stop receiving events from the * specified partner event source. The matching event bus is not deleted.

*

When you deactivate a partner event source, the source goes into PENDING * state. If it remains in PENDING state for more than two weeks, it is * deleted.

To activate a deactivated partner event source, use * ActivateEventSource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeactivateEventSourceOutcomeCallable DeactivateEventSourceCallable(const Model::DeactivateEventSourceRequest& request) const; /** *

You can use this operation to temporarily stop receiving events from the * specified partner event source. The matching event bus is not deleted.

*

When you deactivate a partner event source, the source goes into PENDING * state. If it remains in PENDING state for more than two weeks, it is * deleted.

To activate a deactivated partner event source, use * ActivateEventSource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeactivateEventSourceAsync(const Model::DeactivateEventSourceRequest& request, const DeactivateEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified custom event bus or partner event bus. All rules * associated with this event bus need to be deleted. You can't delete your * account's default event bus.

See Also:

AWS * API Reference

*/ virtual Model::DeleteEventBusOutcome DeleteEventBus(const Model::DeleteEventBusRequest& request) const; /** *

Deletes the specified custom event bus or partner event bus. All rules * associated with this event bus need to be deleted. You can't delete your * account's default event bus.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteEventBusOutcomeCallable DeleteEventBusCallable(const Model::DeleteEventBusRequest& request) const; /** *

Deletes the specified custom event bus or partner event bus. All rules * associated with this event bus need to be deleted. You can't delete your * account's default event bus.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteEventBusAsync(const Model::DeleteEventBusRequest& request, const DeleteEventBusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This operation is used by SaaS partners to delete a partner event source. * This operation is not used by AWS customers.

When you delete an event * source, the status of the corresponding partner event bus in the AWS customer * account becomes DELETED.

See Also:

AWS * API Reference

*/ virtual Model::DeletePartnerEventSourceOutcome DeletePartnerEventSource(const Model::DeletePartnerEventSourceRequest& request) const; /** *

This operation is used by SaaS partners to delete a partner event source. * This operation is not used by AWS customers.

When you delete an event * source, the status of the corresponding partner event bus in the AWS customer * account becomes DELETED.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeletePartnerEventSourceOutcomeCallable DeletePartnerEventSourceCallable(const Model::DeletePartnerEventSourceRequest& request) const; /** *

This operation is used by SaaS partners to delete a partner event source. * This operation is not used by AWS customers.

When you delete an event * source, the status of the corresponding partner event bus in the AWS customer * account becomes DELETED.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeletePartnerEventSourceAsync(const Model::DeletePartnerEventSourceRequest& request, const DeletePartnerEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified rule.

Before you can delete the rule, you must * remove all targets, using RemoveTargets.

When you delete a rule, * incoming events might continue to match to the deleted rule. Allow a short * period of time for changes to take effect.

Managed rules are rules * created and managed by another AWS service on your behalf. These rules are * created by those other AWS services to support functionality in those services. * You can delete these rules using the Force option, but you should * do so only if you are sure the other service is not still using that * rule.

See Also:

AWS * API Reference

*/ virtual Model::DeleteRuleOutcome DeleteRule(const Model::DeleteRuleRequest& request) const; /** *

Deletes the specified rule.

Before you can delete the rule, you must * remove all targets, using RemoveTargets.

When you delete a rule, * incoming events might continue to match to the deleted rule. Allow a short * period of time for changes to take effect.

Managed rules are rules * created and managed by another AWS service on your behalf. These rules are * created by those other AWS services to support functionality in those services. * You can delete these rules using the Force option, but you should * do so only if you are sure the other service is not still using that * rule.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRuleOutcomeCallable DeleteRuleCallable(const Model::DeleteRuleRequest& request) const; /** *

Deletes the specified rule.

Before you can delete the rule, you must * remove all targets, using RemoveTargets.

When you delete a rule, * incoming events might continue to match to the deleted rule. Allow a short * period of time for changes to take effect.

Managed rules are rules * created and managed by another AWS service on your behalf. These rules are * created by those other AWS services to support functionality in those services. * You can delete these rules using the Force option, but you should * do so only if you are sure the other service is not still using that * rule.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRuleAsync(const Model::DeleteRuleRequest& request, const DeleteRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Displays details about an event bus in your account. This can include the * external AWS accounts that are permitted to write events to your default event * bus, and the associated policy. For custom event buses and partner event buses, * it displays the name, ARN, policy, state, and creation time.

To enable * your account to receive events from other accounts on its default event bus, use * PutPermission.

For more information about partner event buses, see * CreateEventBus.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEventBusOutcome DescribeEventBus(const Model::DescribeEventBusRequest& request) const; /** *

Displays details about an event bus in your account. This can include the * external AWS accounts that are permitted to write events to your default event * bus, and the associated policy. For custom event buses and partner event buses, * it displays the name, ARN, policy, state, and creation time.

To enable * your account to receive events from other accounts on its default event bus, use * PutPermission.

For more information about partner event buses, see * CreateEventBus.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeEventBusOutcomeCallable DescribeEventBusCallable(const Model::DescribeEventBusRequest& request) const; /** *

Displays details about an event bus in your account. This can include the * external AWS accounts that are permitted to write events to your default event * bus, and the associated policy. For custom event buses and partner event buses, * it displays the name, ARN, policy, state, and creation time.

To enable * your account to receive events from other accounts on its default event bus, use * PutPermission.

For more information about partner event buses, see * CreateEventBus.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeEventBusAsync(const Model::DescribeEventBusRequest& request, const DescribeEventBusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This operation lists details about a partner event source that is shared with * your account.

See Also:

AWS * API Reference

*/ virtual Model::DescribeEventSourceOutcome DescribeEventSource(const Model::DescribeEventSourceRequest& request) const; /** *

This operation lists details about a partner event source that is shared with * your account.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeEventSourceOutcomeCallable DescribeEventSourceCallable(const Model::DescribeEventSourceRequest& request) const; /** *

This operation lists details about a partner event source that is shared with * your account.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeEventSourceAsync(const Model::DescribeEventSourceRequest& request, const DescribeEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

An SaaS partner can use this operation to list details about a partner event * source that they have created. AWS customers do not use this operation. Instead, * AWS customers can use DescribeEventSource to see details about a partner * event source that is shared with them.

See Also:

AWS * API Reference

*/ virtual Model::DescribePartnerEventSourceOutcome DescribePartnerEventSource(const Model::DescribePartnerEventSourceRequest& request) const; /** *

An SaaS partner can use this operation to list details about a partner event * source that they have created. AWS customers do not use this operation. Instead, * AWS customers can use DescribeEventSource to see details about a partner * event source that is shared with them.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribePartnerEventSourceOutcomeCallable DescribePartnerEventSourceCallable(const Model::DescribePartnerEventSourceRequest& request) const; /** *

An SaaS partner can use this operation to list details about a partner event * source that they have created. AWS customers do not use this operation. Instead, * AWS customers can use DescribeEventSource to see details about a partner * event source that is shared with them.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribePartnerEventSourceAsync(const Model::DescribePartnerEventSourceRequest& request, const DescribePartnerEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Describes the specified rule.

DescribeRule does not list the targets * of a rule. To see the targets associated with a rule, use * ListTargetsByRule.

See Also:

AWS * API Reference

*/ virtual Model::DescribeRuleOutcome DescribeRule(const Model::DescribeRuleRequest& request) const; /** *

Describes the specified rule.

DescribeRule does not list the targets * of a rule. To see the targets associated with a rule, use * ListTargetsByRule.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeRuleOutcomeCallable DescribeRuleCallable(const Model::DescribeRuleRequest& request) const; /** *

Describes the specified rule.

DescribeRule does not list the targets * of a rule. To see the targets associated with a rule, use * ListTargetsByRule.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeRuleAsync(const Model::DescribeRuleRequest& request, const DescribeRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disables the specified rule. A disabled rule won't match any events, and * won't self-trigger if it has a schedule expression.

When you disable a * rule, incoming events might continue to match to the disabled rule. Allow a * short period of time for changes to take effect.

See Also:

AWS * API Reference

*/ virtual Model::DisableRuleOutcome DisableRule(const Model::DisableRuleRequest& request) const; /** *

Disables the specified rule. A disabled rule won't match any events, and * won't self-trigger if it has a schedule expression.

When you disable a * rule, incoming events might continue to match to the disabled rule. Allow a * short period of time for changes to take effect.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisableRuleOutcomeCallable DisableRuleCallable(const Model::DisableRuleRequest& request) const; /** *

Disables the specified rule. A disabled rule won't match any events, and * won't self-trigger if it has a schedule expression.

When you disable a * rule, incoming events might continue to match to the disabled rule. Allow a * short period of time for changes to take effect.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisableRuleAsync(const Model::DisableRuleRequest& request, const DisableRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Enables the specified rule. If the rule does not exist, the operation * fails.

When you enable a rule, incoming events might not immediately * start matching to a newly enabled rule. Allow a short period of time for changes * to take effect.

See Also:

AWS * API Reference

*/ virtual Model::EnableRuleOutcome EnableRule(const Model::EnableRuleRequest& request) const; /** *

Enables the specified rule. If the rule does not exist, the operation * fails.

When you enable a rule, incoming events might not immediately * start matching to a newly enabled rule. Allow a short period of time for changes * to take effect.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::EnableRuleOutcomeCallable EnableRuleCallable(const Model::EnableRuleRequest& request) const; /** *

Enables the specified rule. If the rule does not exist, the operation * fails.

When you enable a rule, incoming events might not immediately * start matching to a newly enabled rule. Allow a short period of time for changes * to take effect.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void EnableRuleAsync(const Model::EnableRuleRequest& request, const EnableRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all the event buses in your account, including the default event bus, * custom event buses, and partner event buses.

See Also:

AWS * API Reference

*/ virtual Model::ListEventBusesOutcome ListEventBuses(const Model::ListEventBusesRequest& request) const; /** *

Lists all the event buses in your account, including the default event bus, * custom event buses, and partner event buses.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListEventBusesOutcomeCallable ListEventBusesCallable(const Model::ListEventBusesRequest& request) const; /** *

Lists all the event buses in your account, including the default event bus, * custom event buses, and partner event buses.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListEventBusesAsync(const Model::ListEventBusesRequest& request, const ListEventBusesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

You can use this to see all the partner event sources that have been shared * with your AWS account. For more information about partner event sources, see * CreateEventBus.

See Also:

AWS * API Reference

*/ virtual Model::ListEventSourcesOutcome ListEventSources(const Model::ListEventSourcesRequest& request) const; /** *

You can use this to see all the partner event sources that have been shared * with your AWS account. For more information about partner event sources, see * CreateEventBus.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListEventSourcesOutcomeCallable ListEventSourcesCallable(const Model::ListEventSourcesRequest& request) const; /** *

You can use this to see all the partner event sources that have been shared * with your AWS account. For more information about partner event sources, see * CreateEventBus.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListEventSourcesAsync(const Model::ListEventSourcesRequest& request, const ListEventSourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

An SaaS partner can use this operation to display the AWS account ID that a * particular partner event source name is associated with. This operation is not * used by AWS customers.

See Also:

AWS * API Reference

*/ virtual Model::ListPartnerEventSourceAccountsOutcome ListPartnerEventSourceAccounts(const Model::ListPartnerEventSourceAccountsRequest& request) const; /** *

An SaaS partner can use this operation to display the AWS account ID that a * particular partner event source name is associated with. This operation is not * used by AWS customers.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPartnerEventSourceAccountsOutcomeCallable ListPartnerEventSourceAccountsCallable(const Model::ListPartnerEventSourceAccountsRequest& request) const; /** *

An SaaS partner can use this operation to display the AWS account ID that a * particular partner event source name is associated with. This operation is not * used by AWS customers.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPartnerEventSourceAccountsAsync(const Model::ListPartnerEventSourceAccountsRequest& request, const ListPartnerEventSourceAccountsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

An SaaS partner can use this operation to list all the partner event source * names that they have created. This operation is not used by AWS * customers.

See Also:

AWS * API Reference

*/ virtual Model::ListPartnerEventSourcesOutcome ListPartnerEventSources(const Model::ListPartnerEventSourcesRequest& request) const; /** *

An SaaS partner can use this operation to list all the partner event source * names that they have created. This operation is not used by AWS * customers.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListPartnerEventSourcesOutcomeCallable ListPartnerEventSourcesCallable(const Model::ListPartnerEventSourcesRequest& request) const; /** *

An SaaS partner can use this operation to list all the partner event source * names that they have created. This operation is not used by AWS * customers.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListPartnerEventSourcesAsync(const Model::ListPartnerEventSourcesRequest& request, const ListPartnerEventSourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the rules for the specified target. You can see which of the rules in * Amazon EventBridge can invoke a specific target in your account.

See * Also:

AWS * API Reference

*/ virtual Model::ListRuleNamesByTargetOutcome ListRuleNamesByTarget(const Model::ListRuleNamesByTargetRequest& request) const; /** *

Lists the rules for the specified target. You can see which of the rules in * Amazon EventBridge can invoke a specific target in your account.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRuleNamesByTargetOutcomeCallable ListRuleNamesByTargetCallable(const Model::ListRuleNamesByTargetRequest& request) const; /** *

Lists the rules for the specified target. You can see which of the rules in * Amazon EventBridge can invoke a specific target in your account.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRuleNamesByTargetAsync(const Model::ListRuleNamesByTargetRequest& request, const ListRuleNamesByTargetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists your Amazon EventBridge rules. You can either list all the rules or you * can provide a prefix to match to the rule names.

ListRules does not list * the targets of a rule. To see the targets associated with a rule, use * ListTargetsByRule.

See Also:

AWS * API Reference

*/ virtual Model::ListRulesOutcome ListRules(const Model::ListRulesRequest& request) const; /** *

Lists your Amazon EventBridge rules. You can either list all the rules or you * can provide a prefix to match to the rule names.

ListRules does not list * the targets of a rule. To see the targets associated with a rule, use * ListTargetsByRule.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRulesOutcomeCallable ListRulesCallable(const Model::ListRulesRequest& request) const; /** *

Lists your Amazon EventBridge rules. You can either list all the rules or you * can provide a prefix to match to the rule names.

ListRules does not list * the targets of a rule. To see the targets associated with a rule, use * ListTargetsByRule.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRulesAsync(const Model::ListRulesRequest& request, const ListRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Displays the tags associated with an EventBridge resource. In EventBridge, * rules and event buses can be tagged.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Displays the tags associated with an EventBridge resource. In EventBridge, * rules and event buses can be tagged.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Displays the tags associated with an EventBridge resource. In EventBridge, * rules and event buses can be tagged.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists the targets assigned to the specified rule.

See Also:

* AWS * API Reference

*/ virtual Model::ListTargetsByRuleOutcome ListTargetsByRule(const Model::ListTargetsByRuleRequest& request) const; /** *

Lists the targets assigned to the specified rule.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTargetsByRuleOutcomeCallable ListTargetsByRuleCallable(const Model::ListTargetsByRuleRequest& request) const; /** *

Lists the targets assigned to the specified rule.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTargetsByRuleAsync(const Model::ListTargetsByRuleRequest& request, const ListTargetsByRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Sends custom events to Amazon EventBridge so that they can be matched to * rules.

See Also:

AWS * API Reference

*/ virtual Model::PutEventsOutcome PutEvents(const Model::PutEventsRequest& request) const; /** *

Sends custom events to Amazon EventBridge so that they can be matched to * rules.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutEventsOutcomeCallable PutEventsCallable(const Model::PutEventsRequest& request) const; /** *

Sends custom events to Amazon EventBridge so that they can be matched to * rules.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutEventsAsync(const Model::PutEventsRequest& request, const PutEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is used by SaaS partners to write events to a customer's partner event * bus. AWS customers do not use this operation.

See Also:

AWS * API Reference

*/ virtual Model::PutPartnerEventsOutcome PutPartnerEvents(const Model::PutPartnerEventsRequest& request) const; /** *

This is used by SaaS partners to write events to a customer's partner event * bus. AWS customers do not use this operation.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutPartnerEventsOutcomeCallable PutPartnerEventsCallable(const Model::PutPartnerEventsRequest& request) const; /** *

This is used by SaaS partners to write events to a customer's partner event * bus. AWS customers do not use this operation.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutPartnerEventsAsync(const Model::PutPartnerEventsRequest& request, const PutPartnerEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Running PutPermission permits the specified AWS account or AWS * organization to put events to the specified event bus. Amazon EventBridge * (CloudWatch Events) rules in your account are triggered by these events arriving * to an event bus in your account.

For another account to send events to * your account, that external account must have an EventBridge rule with your * account's event bus as a target.

To enable multiple AWS accounts to put * events to your event bus, run PutPermission once for each of these * accounts. Or, if all the accounts are members of the same AWS organization, you * can run PutPermission once specifying Principal as "*" * and specifying the AWS organization ID in Condition, to grant * permissions to all accounts in that organization.

If you grant * permissions using an organization, then accounts in that organization must * specify a RoleArn with proper permissions when they use * PutTarget to add your account's event bus as a target. For more * information, see Sending * and Receiving Events Between AWS Accounts in the Amazon EventBridge User * Guide.

The permission policy on the default event bus cannot exceed * 10 KB in size.

See Also:

AWS * API Reference

*/ virtual Model::PutPermissionOutcome PutPermission(const Model::PutPermissionRequest& request) const; /** *

Running PutPermission permits the specified AWS account or AWS * organization to put events to the specified event bus. Amazon EventBridge * (CloudWatch Events) rules in your account are triggered by these events arriving * to an event bus in your account.

For another account to send events to * your account, that external account must have an EventBridge rule with your * account's event bus as a target.

To enable multiple AWS accounts to put * events to your event bus, run PutPermission once for each of these * accounts. Or, if all the accounts are members of the same AWS organization, you * can run PutPermission once specifying Principal as "*" * and specifying the AWS organization ID in Condition, to grant * permissions to all accounts in that organization.

If you grant * permissions using an organization, then accounts in that organization must * specify a RoleArn with proper permissions when they use * PutTarget to add your account's event bus as a target. For more * information, see Sending * and Receiving Events Between AWS Accounts in the Amazon EventBridge User * Guide.

The permission policy on the default event bus cannot exceed * 10 KB in size.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutPermissionOutcomeCallable PutPermissionCallable(const Model::PutPermissionRequest& request) const; /** *

Running PutPermission permits the specified AWS account or AWS * organization to put events to the specified event bus. Amazon EventBridge * (CloudWatch Events) rules in your account are triggered by these events arriving * to an event bus in your account.

For another account to send events to * your account, that external account must have an EventBridge rule with your * account's event bus as a target.

To enable multiple AWS accounts to put * events to your event bus, run PutPermission once for each of these * accounts. Or, if all the accounts are members of the same AWS organization, you * can run PutPermission once specifying Principal as "*" * and specifying the AWS organization ID in Condition, to grant * permissions to all accounts in that organization.

If you grant * permissions using an organization, then accounts in that organization must * specify a RoleArn with proper permissions when they use * PutTarget to add your account's event bus as a target. For more * information, see Sending * and Receiving Events Between AWS Accounts in the Amazon EventBridge User * Guide.

The permission policy on the default event bus cannot exceed * 10 KB in size.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutPermissionAsync(const Model::PutPermissionRequest& request, const PutPermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates or updates the specified rule. Rules are enabled by default, or based * on value of the state. You can disable a rule using DisableRule.

A * single rule watches for events from a single event bus. Events generated by AWS * services go to your account's default event bus. Events generated by SaaS * partner services or applications go to the matching partner event bus. If you * have custom applications or services, you can specify whether their events go to * your default event bus or a custom event bus that you have created. For more * information, see CreateEventBus.

If you are updating an existing * rule, the rule is replaced with what you specify in this PutRule * command. If you omit arguments in PutRule, the old values for those * arguments are not kept. Instead, they are replaced with null values.

When * you create or update a rule, incoming events might not immediately start * matching to new or updated rules. Allow a short period of time for changes to * take effect.

A rule must contain at least an EventPattern or * ScheduleExpression. Rules with EventPatterns are triggered when a matching event * is observed. Rules with ScheduleExpressions self-trigger based on the given * schedule. A rule can have both an EventPattern and a ScheduleExpression, in * which case the rule triggers on matching events as well as on a schedule.

*

When you initially create a rule, you can optionally assign one or more tags * to the rule. Tags can help you organize and categorize your resources. You can * also use them to scope user permissions, by granting a user permission to access * or change only rules with certain tag values. To use the PutRule * operation and assign tags, you must have both the events:PutRule * and events:TagResource permissions.

If you are updating an * existing rule, any tags you specify in the PutRule operation are * ignored. To update the tags of an existing rule, use TagResource and * UntagResource.

Most services in AWS treat : or / as the same * character in Amazon Resource Names (ARNs). However, EventBridge uses an exact * match in event patterns and rules. Be sure to use the correct ARN characters * when creating event patterns so that they match the ARN syntax in the event you * want to match.

In EventBridge, it is possible to create rules that lead * to infinite loops, where a rule is fired repeatedly. For example, a rule might * detect that ACLs have changed on an S3 bucket, and trigger software to change * them to the desired state. If the rule is not written carefully, the subsequent * change to the ACLs fires the rule again, creating an infinite loop.

To * prevent this, write the rules so that the triggered actions do not re-fire the * same rule. For example, your rule could fire only if ACLs are found to be in a * bad state, instead of after any change.

An infinite loop can quickly * cause higher than expected charges. We recommend that you use budgeting, which * alerts you when charges exceed your specified limit. For more information, see * Managing * Your Costs with Budgets.

See Also:

AWS * API Reference

*/ virtual Model::PutRuleOutcome PutRule(const Model::PutRuleRequest& request) const; /** *

Creates or updates the specified rule. Rules are enabled by default, or based * on value of the state. You can disable a rule using DisableRule.

A * single rule watches for events from a single event bus. Events generated by AWS * services go to your account's default event bus. Events generated by SaaS * partner services or applications go to the matching partner event bus. If you * have custom applications or services, you can specify whether their events go to * your default event bus or a custom event bus that you have created. For more * information, see CreateEventBus.

If you are updating an existing * rule, the rule is replaced with what you specify in this PutRule * command. If you omit arguments in PutRule, the old values for those * arguments are not kept. Instead, they are replaced with null values.

When * you create or update a rule, incoming events might not immediately start * matching to new or updated rules. Allow a short period of time for changes to * take effect.

A rule must contain at least an EventPattern or * ScheduleExpression. Rules with EventPatterns are triggered when a matching event * is observed. Rules with ScheduleExpressions self-trigger based on the given * schedule. A rule can have both an EventPattern and a ScheduleExpression, in * which case the rule triggers on matching events as well as on a schedule.

*

When you initially create a rule, you can optionally assign one or more tags * to the rule. Tags can help you organize and categorize your resources. You can * also use them to scope user permissions, by granting a user permission to access * or change only rules with certain tag values. To use the PutRule * operation and assign tags, you must have both the events:PutRule * and events:TagResource permissions.

If you are updating an * existing rule, any tags you specify in the PutRule operation are * ignored. To update the tags of an existing rule, use TagResource and * UntagResource.

Most services in AWS treat : or / as the same * character in Amazon Resource Names (ARNs). However, EventBridge uses an exact * match in event patterns and rules. Be sure to use the correct ARN characters * when creating event patterns so that they match the ARN syntax in the event you * want to match.

In EventBridge, it is possible to create rules that lead * to infinite loops, where a rule is fired repeatedly. For example, a rule might * detect that ACLs have changed on an S3 bucket, and trigger software to change * them to the desired state. If the rule is not written carefully, the subsequent * change to the ACLs fires the rule again, creating an infinite loop.

To * prevent this, write the rules so that the triggered actions do not re-fire the * same rule. For example, your rule could fire only if ACLs are found to be in a * bad state, instead of after any change.

An infinite loop can quickly * cause higher than expected charges. We recommend that you use budgeting, which * alerts you when charges exceed your specified limit. For more information, see * Managing * Your Costs with Budgets.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutRuleOutcomeCallable PutRuleCallable(const Model::PutRuleRequest& request) const; /** *

Creates or updates the specified rule. Rules are enabled by default, or based * on value of the state. You can disable a rule using DisableRule.

A * single rule watches for events from a single event bus. Events generated by AWS * services go to your account's default event bus. Events generated by SaaS * partner services or applications go to the matching partner event bus. If you * have custom applications or services, you can specify whether their events go to * your default event bus or a custom event bus that you have created. For more * information, see CreateEventBus.

If you are updating an existing * rule, the rule is replaced with what you specify in this PutRule * command. If you omit arguments in PutRule, the old values for those * arguments are not kept. Instead, they are replaced with null values.

When * you create or update a rule, incoming events might not immediately start * matching to new or updated rules. Allow a short period of time for changes to * take effect.

A rule must contain at least an EventPattern or * ScheduleExpression. Rules with EventPatterns are triggered when a matching event * is observed. Rules with ScheduleExpressions self-trigger based on the given * schedule. A rule can have both an EventPattern and a ScheduleExpression, in * which case the rule triggers on matching events as well as on a schedule.

*

When you initially create a rule, you can optionally assign one or more tags * to the rule. Tags can help you organize and categorize your resources. You can * also use them to scope user permissions, by granting a user permission to access * or change only rules with certain tag values. To use the PutRule * operation and assign tags, you must have both the events:PutRule * and events:TagResource permissions.

If you are updating an * existing rule, any tags you specify in the PutRule operation are * ignored. To update the tags of an existing rule, use TagResource and * UntagResource.

Most services in AWS treat : or / as the same * character in Amazon Resource Names (ARNs). However, EventBridge uses an exact * match in event patterns and rules. Be sure to use the correct ARN characters * when creating event patterns so that they match the ARN syntax in the event you * want to match.

In EventBridge, it is possible to create rules that lead * to infinite loops, where a rule is fired repeatedly. For example, a rule might * detect that ACLs have changed on an S3 bucket, and trigger software to change * them to the desired state. If the rule is not written carefully, the subsequent * change to the ACLs fires the rule again, creating an infinite loop.

To * prevent this, write the rules so that the triggered actions do not re-fire the * same rule. For example, your rule could fire only if ACLs are found to be in a * bad state, instead of after any change.

An infinite loop can quickly * cause higher than expected charges. We recommend that you use budgeting, which * alerts you when charges exceed your specified limit. For more information, see * Managing * Your Costs with Budgets.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutRuleAsync(const Model::PutRuleRequest& request, const PutRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Adds the specified targets to the specified rule, or updates the targets if * they are already associated with the rule.

Targets are the resources that * are invoked when a rule is triggered.

You can configure the following as * targets for Events:

  • EC2 instances

  • SSM Run * Command

  • SSM Automation

  • AWS Lambda * functions

  • Data streams in Amazon Kinesis Data Streams

    *
  • Data delivery streams in Amazon Kinesis Data Firehose

  • *
  • Amazon ECS tasks

  • AWS Step Functions state machines

    *
  • AWS Batch jobs

  • AWS CodeBuild projects

  • *
  • Pipelines in AWS CodePipeline

  • Amazon Inspector * assessment templates

  • Amazon SNS topics

  • *

    Amazon SQS queues, including FIFO queues

  • The default event * bus of another AWS account

  • Amazon API Gateway REST APIs

    *

Creating rules with built-in targets is supported only in the AWS * Management Console. The built-in targets are EC2 CreateSnapshot API * call, EC2 RebootInstances API call, EC2 StopInstances * API call, and EC2 TerminateInstances API call.

For * some target types, PutTargets provides target-specific parameters. * If the target is a Kinesis data stream, you can optionally specify which shard * the event goes to by using the KinesisParameters argument. To * invoke a command on multiple EC2 instances with one rule, you can use the * RunCommandParameters field.

To be able to make API calls * against the resources that you own, Amazon EventBridge (CloudWatch Events) needs * the appropriate permissions. For AWS Lambda and Amazon SNS resources, * EventBridge relies on resource-based policies. For EC2 instances, Kinesis data * streams, AWS Step Functions state machines and API Gateway REST APIs, * EventBridge relies on IAM roles that you specify in the RoleARN * argument in PutTargets. For more information, see Authentication * and Access Control in the Amazon EventBridge User Guide.

If * another AWS account is in the same region and has granted you permission (using * PutPermission), you can send events to that account. Set that * account's event bus as a target of the rules in your account. To send the * matched events to the other account, specify that account's event bus as the * Arn value when you run PutTargets. If your account * sends events to another account, your account is charged for each sent event. * Each event sent to another account is charged as a custom event. The account * receiving the event is not charged. For more information, see Amazon EventBridge * (CloudWatch Events) Pricing.

Input, * InputPath, and InputTransformer are not available with * PutTarget if the target is an event bus of a different AWS * account.

If you are setting the event bus of another account as * the target, and that account granted permission to your account through an * organization instead of directly by the account ID, then you must specify a * RoleArn with proper permissions in the Target * structure. For more information, see Sending * and Receiving Events Between AWS Accounts in the Amazon EventBridge User * Guide.

For more information about enabling cross-account events, see * PutPermission.

Input, InputPath, and * InputTransformer are mutually exclusive and optional parameters of a * target. When a rule is triggered due to a matched event:

  • If * none of the following arguments are specified for a target, then the entire * event is passed to the target in JSON format (unless the target is Amazon EC2 * Run Command or Amazon ECS task, in which case nothing from the event is passed * to the target).

  • If Input is specified in the form of * valid JSON, then the matched event is overridden with this constant.

  • *
  • If InputPath is specified in the form of JSONPath (for example, * $.detail), then only the part of the event specified in the path is * passed to the target (for example, only the detail part of the event is * passed).

  • If InputTransformer is specified, then one or * more specified JSONPaths are extracted from the event and used as values in a * template that you specify as the input to the target.

When * you specify InputPath or InputTransformer, you must * use JSON dot notation, not bracket notation.

When you add targets to a * rule and the associated rule triggers soon after, new or updated targets might * not be immediately invoked. Allow a short period of time for changes to take * effect.

This action can partially fail if too many requests are made at * the same time. If that happens, FailedEntryCount is non-zero in the * response and each entry in FailedEntries provides the ID of the * failed target and the error code.

See Also:

AWS * API Reference

*/ virtual Model::PutTargetsOutcome PutTargets(const Model::PutTargetsRequest& request) const; /** *

Adds the specified targets to the specified rule, or updates the targets if * they are already associated with the rule.

Targets are the resources that * are invoked when a rule is triggered.

You can configure the following as * targets for Events:

  • EC2 instances

  • SSM Run * Command

  • SSM Automation

  • AWS Lambda * functions

  • Data streams in Amazon Kinesis Data Streams

    *
  • Data delivery streams in Amazon Kinesis Data Firehose

  • *
  • Amazon ECS tasks

  • AWS Step Functions state machines

    *
  • AWS Batch jobs

  • AWS CodeBuild projects

  • *
  • Pipelines in AWS CodePipeline

  • Amazon Inspector * assessment templates

  • Amazon SNS topics

  • *

    Amazon SQS queues, including FIFO queues

  • The default event * bus of another AWS account

  • Amazon API Gateway REST APIs

    *

Creating rules with built-in targets is supported only in the AWS * Management Console. The built-in targets are EC2 CreateSnapshot API * call, EC2 RebootInstances API call, EC2 StopInstances * API call, and EC2 TerminateInstances API call.

For * some target types, PutTargets provides target-specific parameters. * If the target is a Kinesis data stream, you can optionally specify which shard * the event goes to by using the KinesisParameters argument. To * invoke a command on multiple EC2 instances with one rule, you can use the * RunCommandParameters field.

To be able to make API calls * against the resources that you own, Amazon EventBridge (CloudWatch Events) needs * the appropriate permissions. For AWS Lambda and Amazon SNS resources, * EventBridge relies on resource-based policies. For EC2 instances, Kinesis data * streams, AWS Step Functions state machines and API Gateway REST APIs, * EventBridge relies on IAM roles that you specify in the RoleARN * argument in PutTargets. For more information, see Authentication * and Access Control in the Amazon EventBridge User Guide.

If * another AWS account is in the same region and has granted you permission (using * PutPermission), you can send events to that account. Set that * account's event bus as a target of the rules in your account. To send the * matched events to the other account, specify that account's event bus as the * Arn value when you run PutTargets. If your account * sends events to another account, your account is charged for each sent event. * Each event sent to another account is charged as a custom event. The account * receiving the event is not charged. For more information, see Amazon EventBridge * (CloudWatch Events) Pricing.

Input, * InputPath, and InputTransformer are not available with * PutTarget if the target is an event bus of a different AWS * account.

If you are setting the event bus of another account as * the target, and that account granted permission to your account through an * organization instead of directly by the account ID, then you must specify a * RoleArn with proper permissions in the Target * structure. For more information, see Sending * and Receiving Events Between AWS Accounts in the Amazon EventBridge User * Guide.

For more information about enabling cross-account events, see * PutPermission.

Input, InputPath, and * InputTransformer are mutually exclusive and optional parameters of a * target. When a rule is triggered due to a matched event:

  • If * none of the following arguments are specified for a target, then the entire * event is passed to the target in JSON format (unless the target is Amazon EC2 * Run Command or Amazon ECS task, in which case nothing from the event is passed * to the target).

  • If Input is specified in the form of * valid JSON, then the matched event is overridden with this constant.

  • *
  • If InputPath is specified in the form of JSONPath (for example, * $.detail), then only the part of the event specified in the path is * passed to the target (for example, only the detail part of the event is * passed).

  • If InputTransformer is specified, then one or * more specified JSONPaths are extracted from the event and used as values in a * template that you specify as the input to the target.

When * you specify InputPath or InputTransformer, you must * use JSON dot notation, not bracket notation.

When you add targets to a * rule and the associated rule triggers soon after, new or updated targets might * not be immediately invoked. Allow a short period of time for changes to take * effect.

This action can partially fail if too many requests are made at * the same time. If that happens, FailedEntryCount is non-zero in the * response and each entry in FailedEntries provides the ID of the * failed target and the error code.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutTargetsOutcomeCallable PutTargetsCallable(const Model::PutTargetsRequest& request) const; /** *

Adds the specified targets to the specified rule, or updates the targets if * they are already associated with the rule.

Targets are the resources that * are invoked when a rule is triggered.

You can configure the following as * targets for Events:

  • EC2 instances

  • SSM Run * Command

  • SSM Automation

  • AWS Lambda * functions

  • Data streams in Amazon Kinesis Data Streams

    *
  • Data delivery streams in Amazon Kinesis Data Firehose

  • *
  • Amazon ECS tasks

  • AWS Step Functions state machines

    *
  • AWS Batch jobs

  • AWS CodeBuild projects

  • *
  • Pipelines in AWS CodePipeline

  • Amazon Inspector * assessment templates

  • Amazon SNS topics

  • *

    Amazon SQS queues, including FIFO queues

  • The default event * bus of another AWS account

  • Amazon API Gateway REST APIs

    *

Creating rules with built-in targets is supported only in the AWS * Management Console. The built-in targets are EC2 CreateSnapshot API * call, EC2 RebootInstances API call, EC2 StopInstances * API call, and EC2 TerminateInstances API call.

For * some target types, PutTargets provides target-specific parameters. * If the target is a Kinesis data stream, you can optionally specify which shard * the event goes to by using the KinesisParameters argument. To * invoke a command on multiple EC2 instances with one rule, you can use the * RunCommandParameters field.

To be able to make API calls * against the resources that you own, Amazon EventBridge (CloudWatch Events) needs * the appropriate permissions. For AWS Lambda and Amazon SNS resources, * EventBridge relies on resource-based policies. For EC2 instances, Kinesis data * streams, AWS Step Functions state machines and API Gateway REST APIs, * EventBridge relies on IAM roles that you specify in the RoleARN * argument in PutTargets. For more information, see Authentication * and Access Control in the Amazon EventBridge User Guide.

If * another AWS account is in the same region and has granted you permission (using * PutPermission), you can send events to that account. Set that * account's event bus as a target of the rules in your account. To send the * matched events to the other account, specify that account's event bus as the * Arn value when you run PutTargets. If your account * sends events to another account, your account is charged for each sent event. * Each event sent to another account is charged as a custom event. The account * receiving the event is not charged. For more information, see Amazon EventBridge * (CloudWatch Events) Pricing.

Input, * InputPath, and InputTransformer are not available with * PutTarget if the target is an event bus of a different AWS * account.

If you are setting the event bus of another account as * the target, and that account granted permission to your account through an * organization instead of directly by the account ID, then you must specify a * RoleArn with proper permissions in the Target * structure. For more information, see Sending * and Receiving Events Between AWS Accounts in the Amazon EventBridge User * Guide.

For more information about enabling cross-account events, see * PutPermission.

Input, InputPath, and * InputTransformer are mutually exclusive and optional parameters of a * target. When a rule is triggered due to a matched event:

  • If * none of the following arguments are specified for a target, then the entire * event is passed to the target in JSON format (unless the target is Amazon EC2 * Run Command or Amazon ECS task, in which case nothing from the event is passed * to the target).

  • If Input is specified in the form of * valid JSON, then the matched event is overridden with this constant.

  • *
  • If InputPath is specified in the form of JSONPath (for example, * $.detail), then only the part of the event specified in the path is * passed to the target (for example, only the detail part of the event is * passed).

  • If InputTransformer is specified, then one or * more specified JSONPaths are extracted from the event and used as values in a * template that you specify as the input to the target.

When * you specify InputPath or InputTransformer, you must * use JSON dot notation, not bracket notation.

When you add targets to a * rule and the associated rule triggers soon after, new or updated targets might * not be immediately invoked. Allow a short period of time for changes to take * effect.

This action can partially fail if too many requests are made at * the same time. If that happens, FailedEntryCount is non-zero in the * response and each entry in FailedEntries provides the ID of the * failed target and the error code.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutTargetsAsync(const Model::PutTargetsRequest& request, const PutTargetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Revokes the permission of another AWS account to be able to put events to the * specified event bus. Specify the account to revoke by the * StatementId value that you associated with the account when you * granted it permission with PutPermission. You can find the * StatementId by using DescribeEventBus.

See * Also:

AWS * API Reference

*/ virtual Model::RemovePermissionOutcome RemovePermission(const Model::RemovePermissionRequest& request) const; /** *

Revokes the permission of another AWS account to be able to put events to the * specified event bus. Specify the account to revoke by the * StatementId value that you associated with the account when you * granted it permission with PutPermission. You can find the * StatementId by using DescribeEventBus.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemovePermissionOutcomeCallable RemovePermissionCallable(const Model::RemovePermissionRequest& request) const; /** *

Revokes the permission of another AWS account to be able to put events to the * specified event bus. Specify the account to revoke by the * StatementId value that you associated with the account when you * granted it permission with PutPermission. You can find the * StatementId by using DescribeEventBus.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemovePermissionAsync(const Model::RemovePermissionRequest& request, const RemovePermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes the specified targets from the specified rule. When the rule is * triggered, those targets are no longer be invoked.

When you remove a * target, when the associated rule triggers, removed targets might continue to be * invoked. Allow a short period of time for changes to take effect.

This * action can partially fail if too many requests are made at the same time. If * that happens, FailedEntryCount is non-zero in the response and each * entry in FailedEntries provides the ID of the failed target and the * error code.

See Also:

AWS * API Reference

*/ virtual Model::RemoveTargetsOutcome RemoveTargets(const Model::RemoveTargetsRequest& request) const; /** *

Removes the specified targets from the specified rule. When the rule is * triggered, those targets are no longer be invoked.

When you remove a * target, when the associated rule triggers, removed targets might continue to be * invoked. Allow a short period of time for changes to take effect.

This * action can partially fail if too many requests are made at the same time. If * that happens, FailedEntryCount is non-zero in the response and each * entry in FailedEntries provides the ID of the failed target and the * error code.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::RemoveTargetsOutcomeCallable RemoveTargetsCallable(const Model::RemoveTargetsRequest& request) const; /** *

Removes the specified targets from the specified rule. When the rule is * triggered, those targets are no longer be invoked.

When you remove a * target, when the associated rule triggers, removed targets might continue to be * invoked. Allow a short period of time for changes to take effect.

This * action can partially fail if too many requests are made at the same time. If * that happens, FailedEntryCount is non-zero in the response and each * entry in FailedEntries provides the ID of the failed target and the * error code.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void RemoveTargetsAsync(const Model::RemoveTargetsRequest& request, const RemoveTargetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Assigns one or more tags (key-value pairs) to the specified EventBridge * resource. Tags can help you organize and categorize your resources. You can also * use them to scope user permissions by granting a user permission to access or * change only resources with certain tag values. In EventBridge, rules and event * buses can be tagged.

Tags don't have any semantic meaning to AWS and are * interpreted strictly as strings of characters.

You can use the * TagResource action with a resource that already has tags. If you * specify a new tag key, this tag is appended to the list of tags associated with * the resource. If you specify a tag key that is already associated with the * resource, the new tag value that you specify replaces the previous value for * that tag.

You can associate as many as 50 tags with a * resource.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Assigns one or more tags (key-value pairs) to the specified EventBridge * resource. Tags can help you organize and categorize your resources. You can also * use them to scope user permissions by granting a user permission to access or * change only resources with certain tag values. In EventBridge, rules and event * buses can be tagged.

Tags don't have any semantic meaning to AWS and are * interpreted strictly as strings of characters.

You can use the * TagResource action with a resource that already has tags. If you * specify a new tag key, this tag is appended to the list of tags associated with * the resource. If you specify a tag key that is already associated with the * resource, the new tag value that you specify replaces the previous value for * that tag.

You can associate as many as 50 tags with a * resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

Assigns one or more tags (key-value pairs) to the specified EventBridge * resource. Tags can help you organize and categorize your resources. You can also * use them to scope user permissions by granting a user permission to access or * change only resources with certain tag values. In EventBridge, rules and event * buses can be tagged.

Tags don't have any semantic meaning to AWS and are * interpreted strictly as strings of characters.

You can use the * TagResource action with a resource that already has tags. If you * specify a new tag key, this tag is appended to the list of tags associated with * the resource. If you specify a tag key that is already associated with the * resource, the new tag value that you specify replaces the previous value for * that tag.

You can associate as many as 50 tags with a * resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Tests whether the specified event pattern matches the provided event.

*

Most services in AWS treat : or / as the same character in Amazon Resource * Names (ARNs). However, EventBridge uses an exact match in event patterns and * rules. Be sure to use the correct ARN characters when creating event patterns so * that they match the ARN syntax in the event you want to match.

See * Also:

AWS * API Reference

*/ virtual Model::TestEventPatternOutcome TestEventPattern(const Model::TestEventPatternRequest& request) const; /** *

Tests whether the specified event pattern matches the provided event.

*

Most services in AWS treat : or / as the same character in Amazon Resource * Names (ARNs). However, EventBridge uses an exact match in event patterns and * rules. Be sure to use the correct ARN characters when creating event patterns so * that they match the ARN syntax in the event you want to match.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TestEventPatternOutcomeCallable TestEventPatternCallable(const Model::TestEventPatternRequest& request) const; /** *

Tests whether the specified event pattern matches the provided event.

*

Most services in AWS treat : or / as the same character in Amazon Resource * Names (ARNs). However, EventBridge uses an exact match in event patterns and * rules. Be sure to use the correct ARN characters when creating event patterns so * that they match the ARN syntax in the event you want to match.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TestEventPatternAsync(const Model::TestEventPatternRequest& request, const TestEventPatternResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes one or more tags from the specified EventBridge resource. In Amazon * EventBridge (CloudWatch Events, rules and event buses can be * tagged.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes one or more tags from the specified EventBridge resource. In Amazon * EventBridge (CloudWatch Events, rules and event buses can be * tagged.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

Removes one or more tags from the specified EventBridge resource. In Amazon * EventBridge (CloudWatch Events, rules and event buses can be * tagged.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void ActivateEventSourceAsyncHelper(const Model::ActivateEventSourceRequest& request, const ActivateEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateEventBusAsyncHelper(const Model::CreateEventBusRequest& request, const CreateEventBusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreatePartnerEventSourceAsyncHelper(const Model::CreatePartnerEventSourceRequest& request, const CreatePartnerEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeactivateEventSourceAsyncHelper(const Model::DeactivateEventSourceRequest& request, const DeactivateEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteEventBusAsyncHelper(const Model::DeleteEventBusRequest& request, const DeleteEventBusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeletePartnerEventSourceAsyncHelper(const Model::DeletePartnerEventSourceRequest& request, const DeletePartnerEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRuleAsyncHelper(const Model::DeleteRuleRequest& request, const DeleteRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeEventBusAsyncHelper(const Model::DescribeEventBusRequest& request, const DescribeEventBusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeEventSourceAsyncHelper(const Model::DescribeEventSourceRequest& request, const DescribeEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribePartnerEventSourceAsyncHelper(const Model::DescribePartnerEventSourceRequest& request, const DescribePartnerEventSourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeRuleAsyncHelper(const Model::DescribeRuleRequest& request, const DescribeRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisableRuleAsyncHelper(const Model::DisableRuleRequest& request, const DisableRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void EnableRuleAsyncHelper(const Model::EnableRuleRequest& request, const EnableRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListEventBusesAsyncHelper(const Model::ListEventBusesRequest& request, const ListEventBusesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListEventSourcesAsyncHelper(const Model::ListEventSourcesRequest& request, const ListEventSourcesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPartnerEventSourceAccountsAsyncHelper(const Model::ListPartnerEventSourceAccountsRequest& request, const ListPartnerEventSourceAccountsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListPartnerEventSourcesAsyncHelper(const Model::ListPartnerEventSourcesRequest& request, const ListPartnerEventSourcesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRuleNamesByTargetAsyncHelper(const Model::ListRuleNamesByTargetRequest& request, const ListRuleNamesByTargetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRulesAsyncHelper(const Model::ListRulesRequest& request, const ListRulesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTargetsByRuleAsyncHelper(const Model::ListTargetsByRuleRequest& request, const ListTargetsByRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutEventsAsyncHelper(const Model::PutEventsRequest& request, const PutEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutPartnerEventsAsyncHelper(const Model::PutPartnerEventsRequest& request, const PutPartnerEventsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutPermissionAsyncHelper(const Model::PutPermissionRequest& request, const PutPermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutRuleAsyncHelper(const Model::PutRuleRequest& request, const PutRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutTargetsAsyncHelper(const Model::PutTargetsRequest& request, const PutTargetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemovePermissionAsyncHelper(const Model::RemovePermissionRequest& request, const RemovePermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const; void RemoveTargetsAsyncHelper(const Model::RemoveTargetsRequest& request, const RemoveTargetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TestEventPatternAsyncHelper(const Model::TestEventPatternRequest& request, const TestEventPatternResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace EventBridge } // namespace Aws