All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEvents Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon CloudWatch Events module holds the client classes that are used for communicating with Amazon CloudWatch Events Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.cloudwatchevents;

import javax.annotation.Generated;

import com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.cloudwatchevents.model.*;

/**
 * Interface for accessing Amazon CloudWatch Events.
 * 

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.cloudwatchevents.AbstractAmazonCloudWatchEvents} instead. *

*

*

* 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. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonCloudWatchEvents { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "events"; /** * Overrides the default endpoint for this client ("events.us-east-1.amazonaws.com"). Callers can use this method to * control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "events.us-east-1.amazonaws.com") or a full URL, including the * protocol (ex: "events.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from * this client's {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available * endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *

* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "events.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: * "events.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link AmazonCloudWatchEvents#setEndpoint(String)}, sets the regional endpoint for this * client's service calls. Callers can use this method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the * {@link ClientConfiguration} supplied at construction. *

* This method is not threadsafe. A region should be configured when the client is created and before any service * requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit * or retrying. * * @param region * The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)} * for accessing a given region. Must not be null and must be a region where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated void setRegion(Region region); /** *

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

* * @param activateEventSourceRequest * @return Result of the ActivateEventSource operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws InvalidStateException * The specified state is not a valid state for an event source. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.ActivateEventSource * @see AWS API * Documentation */ ActivateEventSourceResult activateEventSource(ActivateEventSourceRequest activateEventSourceRequest); /** *

* 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. *

* * @param createEventBusRequest * @return Result of the CreateEventBus operation returned by the service. * @throws ResourceAlreadyExistsException * The resource you are trying to create already exists. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InvalidStateException * The specified state is not a valid state for an event source. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws LimitExceededException * You tried to create more rules or add more targets to a rule than is allowed. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.CreateEventBus * @see AWS API * Documentation */ CreateEventBusResult createEventBus(CreateEventBusRequest createEventBusRequest); /** *

* 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. *

* * @param createPartnerEventSourceRequest * @return Result of the CreatePartnerEventSource operation returned by the service. * @throws ResourceAlreadyExistsException * The resource you are trying to create already exists. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws LimitExceededException * You tried to create more rules or add more targets to a rule than is allowed. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.CreatePartnerEventSource * @see AWS API Documentation */ CreatePartnerEventSourceResult createPartnerEventSource(CreatePartnerEventSourceRequest createPartnerEventSourceRequest); /** *

* 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. *

* * @param deactivateEventSourceRequest * @return Result of the DeactivateEventSource operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws InvalidStateException * The specified state is not a valid state for an event source. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.DeactivateEventSource * @see AWS * API Documentation */ DeactivateEventSourceResult deactivateEventSource(DeactivateEventSourceRequest deactivateEventSourceRequest); /** *

* 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. *

* * @param deleteEventBusRequest * @return Result of the DeleteEventBus operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @sample AmazonCloudWatchEvents.DeleteEventBus * @see AWS API * Documentation */ DeleteEventBusResult deleteEventBus(DeleteEventBusRequest deleteEventBusRequest); /** *

* 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. *

*

* * @param deletePartnerEventSourceRequest * @return Result of the DeletePartnerEventSource operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.DeletePartnerEventSource * @see AWS API Documentation */ DeletePartnerEventSourceResult deletePartnerEventSource(DeletePartnerEventSourceRequest deletePartnerEventSourceRequest); /** *

* 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. *

* * @param deleteRuleRequest * @return Result of the DeleteRule operation returned by the service. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @sample AmazonCloudWatchEvents.DeleteRule * @see AWS API * Documentation */ DeleteRuleResult deleteRule(DeleteRuleRequest deleteRuleRequest); /** *

* 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. *

* * @param describeEventBusRequest * @return Result of the DescribeEventBus operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.DescribeEventBus * @see AWS API * Documentation */ DescribeEventBusResult describeEventBus(DescribeEventBusRequest describeEventBusRequest); /** *

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

* * @param describeEventSourceRequest * @return Result of the DescribeEventSource operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.DescribeEventSource * @see AWS API * Documentation */ DescribeEventSourceResult describeEventSource(DescribeEventSourceRequest describeEventSourceRequest); /** *

* 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. *

* * @param describePartnerEventSourceRequest * @return Result of the DescribePartnerEventSource operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.DescribePartnerEventSource * @see AWS API Documentation */ DescribePartnerEventSourceResult describePartnerEventSource(DescribePartnerEventSourceRequest describePartnerEventSourceRequest); /** *

* Describes the specified rule. *

*

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

* * @param describeRuleRequest * @return Result of the DescribeRule operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.DescribeRule * @see AWS API * Documentation */ DescribeRuleResult describeRule(DescribeRuleRequest describeRuleRequest); /** *

* 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. *

* * @param disableRuleRequest * @return Result of the DisableRule operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.DisableRule * @see AWS API * Documentation */ DisableRuleResult disableRule(DisableRuleRequest disableRuleRequest); /** *

* 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. *

* * @param enableRuleRequest * @return Result of the EnableRule operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.EnableRule * @see AWS API * Documentation */ EnableRuleResult enableRule(EnableRuleRequest enableRuleRequest); /** *

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

* * @param listEventBusesRequest * @return Result of the ListEventBuses operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.ListEventBuses * @see AWS API * Documentation */ ListEventBusesResult listEventBuses(ListEventBusesRequest listEventBusesRequest); /** *

* 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. *

* * @param listEventSourcesRequest * @return Result of the ListEventSources operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.ListEventSources * @see AWS API * Documentation */ ListEventSourcesResult listEventSources(ListEventSourcesRequest listEventSourcesRequest); /** *

* 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. *

* * @param listPartnerEventSourceAccountsRequest * @return Result of the ListPartnerEventSourceAccounts operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.ListPartnerEventSourceAccounts * @see AWS API Documentation */ ListPartnerEventSourceAccountsResult listPartnerEventSourceAccounts(ListPartnerEventSourceAccountsRequest listPartnerEventSourceAccountsRequest); /** *

* 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. *

* * @param listPartnerEventSourcesRequest * @return Result of the ListPartnerEventSources operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.ListPartnerEventSources * @see AWS * API Documentation */ ListPartnerEventSourcesResult listPartnerEventSources(ListPartnerEventSourcesRequest listPartnerEventSourcesRequest); /** *

* 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. *

* * @param listRuleNamesByTargetRequest * @return Result of the ListRuleNamesByTarget operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @sample AmazonCloudWatchEvents.ListRuleNamesByTarget * @see AWS * API Documentation */ ListRuleNamesByTargetResult listRuleNamesByTarget(ListRuleNamesByTargetRequest listRuleNamesByTargetRequest); /** *

* 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. *

* * @param listRulesRequest * @return Result of the ListRules operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @sample AmazonCloudWatchEvents.ListRules * @see AWS API * Documentation */ ListRulesResult listRules(ListRulesRequest listRulesRequest); /** *

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

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.ListTagsForResource * @see AWS API * Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Lists the targets assigned to the specified rule. *

* * @param listTargetsByRuleRequest * @return Result of the ListTargetsByRule operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.ListTargetsByRule * @see AWS API * Documentation */ ListTargetsByRuleResult listTargetsByRule(ListTargetsByRuleRequest listTargetsByRuleRequest); /** *

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

* * @param putEventsRequest * @return Result of the PutEvents operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.PutEvents * @see AWS API * Documentation */ PutEventsResult putEvents(PutEventsRequest putEventsRequest); /** *

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

* * @param putPartnerEventsRequest * @return Result of the PutPartnerEvents operation returned by the service. * @throws InternalException * This exception occurs due to unexpected causes. * @throws OperationDisabledException * The operation you are attempting is not available in this region. * @sample AmazonCloudWatchEvents.PutPartnerEvents * @see AWS API * Documentation */ PutPartnerEventsResult putPartnerEvents(PutPartnerEventsRequest putPartnerEventsRequest); /** *

* 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. *

* * @param putPermissionRequest * @return Result of the PutPermission operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws PolicyLengthExceededException * The event bus policy is too long. For more information, see the limits. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @sample AmazonCloudWatchEvents.PutPermission * @see AWS API * Documentation */ PutPermissionResult putPermission(PutPermissionRequest putPermissionRequest); /** *

* 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. *

* * @param putRuleRequest * @return Result of the PutRule operation returned by the service. * @throws InvalidEventPatternException * The event pattern is not valid. * @throws LimitExceededException * You tried to create more rules or add more targets to a rule than is allowed. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @sample AmazonCloudWatchEvents.PutRule * @see AWS API * Documentation */ PutRuleResult putRule(PutRuleRequest putRuleRequest); /** *

* 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. *

* * @param putTargetsRequest * @return Result of the PutTargets operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws LimitExceededException * You tried to create more rules or add more targets to a rule than is allowed. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.PutTargets * @see AWS API * Documentation */ PutTargetsResult putTargets(PutTargetsRequest putTargetsRequest); /** *

* 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. *

* * @param removePermissionRequest * @return Result of the RemovePermission operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @sample AmazonCloudWatchEvents.RemovePermission * @see AWS API * Documentation */ RemovePermissionResult removePermission(RemovePermissionRequest removePermissionRequest); /** *

* 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. *

* * @param removeTargetsRequest * @return Result of the RemoveTargets operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.RemoveTargets * @see AWS API * Documentation */ RemoveTargetsResult removeTargets(RemoveTargetsRequest removeTargetsRequest); /** *

* 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. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @sample AmazonCloudWatchEvents.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* 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. *

* * @param testEventPatternRequest * @return Result of the TestEventPattern operation returned by the service. * @throws InvalidEventPatternException * The event pattern is not valid. * @throws InternalException * This exception occurs due to unexpected causes. * @sample AmazonCloudWatchEvents.TestEventPattern * @see AWS API * Documentation */ TestEventPatternResult testEventPattern(TestEventPatternRequest testEventPatternRequest); /** *

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

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * An entity that you specified does not exist. * @throws InternalException * This exception occurs due to unexpected causes. * @throws ConcurrentModificationException * There is concurrent modification on a rule or target. * @throws ManagedRuleException * This rule was created by an AWS service on behalf of your account. It is managed by that service. If you * see this error in response to DeleteRule or RemoveTargets, you can use the * Force parameter in those calls to delete the rule or remove targets from the rule. You * cannot modify these managed rules by using DisableRule, EnableRule, * PutTargets, PutRule, TagResource, or UntagResource. * @sample AmazonCloudWatchEvents.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy