Class AmazonCloudWatchEventsClient
- All Implemented Interfaces:
AmazonCloudWatchEvents
- Direct Known Subclasses:
AmazonCloudWatchEventsAsyncClient
Amazon CloudWatch Events 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 pre-determined 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 CloudTrail to an Amazon Kinesis 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 Amazon CloudWatch Events features, see the Amazon CloudWatch Developer Guide.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final ClientConfigurationFactory
Client configuration factory providing ClientConfigurations tailored to this clientFields inherited from class com.amazonaws.AmazonWebServiceClient
client, clientConfiguration, endpoint, LOGGING_AWS_REQUEST_METRIC, requestHandler2s, timeOffset
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new client to invoke service methods on Amazon CloudWatch Events.AmazonCloudWatchEventsClient
(AWSCredentials awsCredentials) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials.AmazonCloudWatchEventsClient
(AWSCredentialsProvider awsCredentialsProvider) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials provider.AmazonCloudWatchEventsClient
(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials provider and client configuration options.AmazonCloudWatchEventsClient
(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials provider, client configuration options, and request metric collector.AmazonCloudWatchEventsClient
(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials and client configuration options.AmazonCloudWatchEventsClient
(ClientConfiguration clientConfiguration) Constructs a new client to invoke service methods on Amazon CloudWatch Events. -
Method Summary
Modifier and TypeMethodDescriptiondeleteRule
(DeleteRuleRequest deleteRuleRequest) Deletes a rule.describeRule
(DescribeRuleRequest describeRuleRequest) Describes the details of the specified rule.disableRule
(DisableRuleRequest disableRuleRequest) Disables a rule.enableRule
(EnableRuleRequest enableRuleRequest) Enables a rule.Returns additional metadata for a previously executed successful, request, typically used for debugging issues where a service isn't acting as expected.listRuleNamesByTarget
(ListRuleNamesByTargetRequest listRuleNamesByTargetRequest) Lists the names of the rules that the given target is put to.listRules
(ListRulesRequest listRulesRequest) Lists the Amazon CloudWatch Events rules in your account.listTargetsByRule
(ListTargetsByRuleRequest listTargetsByRuleRequest) Lists of targets assigned to the rule.putEvents
(PutEventsRequest putEventsRequest) Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.putRule
(PutRuleRequest putRuleRequest) Creates or updates a rule.putTargets
(PutTargetsRequest putTargetsRequest) Adds target(s) to a rule.removeTargets
(RemoveTargetsRequest removeTargetsRequest) Removes target(s) from a rule so that when the rule is triggered, those targets will no longer be invoked.testEventPattern
(TestEventPatternRequest testEventPatternRequest) Tests whether an event pattern matches the provided event.Methods inherited from class com.amazonaws.AmazonWebServiceClient
addRequestHandler, addRequestHandler, beforeMarshalling, configureRegion, createExecutionContext, createExecutionContext, createExecutionContext, endClientExecution, endClientExecution, findRequestMetricCollector, getEndpointPrefix, getRequestMetricsCollector, getServiceAbbreviation, getServiceName, getServiceNameIntern, getSigner, getSignerByURI, getSignerRegionOverride, getTimeOffset, isProfilingEnabled, isRequestMetricsEnabled, removeRequestHandler, removeRequestHandler, requestMetricCollector, setEndpoint, setEndpointPrefix, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, shutdown, withEndpoint, withRegion, withRegion, withTimeOffset
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.amazonaws.services.cloudwatchevents.AmazonCloudWatchEvents
setEndpoint, setRegion, shutdown
-
Field Details
-
configFactory
Client configuration factory providing ClientConfigurations tailored to this client
-
-
Constructor Details
-
AmazonCloudWatchEventsClient
public AmazonCloudWatchEventsClient()Constructs a new client to invoke service methods on Amazon CloudWatch Events. A credentials provider chain will be used that searches for credentials in this order:- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Instance profile credentials delivered through the Amazon EC2 metadata service
All service calls made using this new client object are blocking, and will not return until the service call completes.
- See Also:
-
AmazonCloudWatchEventsClient
Constructs a new client to invoke service methods on Amazon CloudWatch Events. A credentials provider chain will be used that searches for credentials in this order:- Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
- Java System Properties - aws.accessKeyId and aws.secretKey
- Instance profile credentials delivered through the Amazon EC2 metadata service
All service calls made using this new client object are blocking, and will not return until the service call completes.
- Parameters:
clientConfiguration
- The client configuration options controlling how this client connects to Amazon CloudWatch Events (ex: proxy settings, retry counts, etc.).- See Also:
-
AmazonCloudWatchEventsClient
Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials.All service calls made using this new client object are blocking, and will not return until the service call completes.
- Parameters:
awsCredentials
- The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
-
AmazonCloudWatchEventsClient
public AmazonCloudWatchEventsClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials and client configuration options.All service calls made using this new client object are blocking, and will not return until the service call completes.
- Parameters:
awsCredentials
- The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.clientConfiguration
- The client configuration options controlling how this client connects to Amazon CloudWatch Events (ex: proxy settings, retry counts, etc.).
-
AmazonCloudWatchEventsClient
Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials provider.All service calls made using this new client object are blocking, and will not return until the service call completes.
- Parameters:
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
-
AmazonCloudWatchEventsClient
public AmazonCloudWatchEventsClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials provider and client configuration options.All service calls made using this new client object are blocking, and will not return until the service call completes.
- Parameters:
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to authenticate requests with AWS services.clientConfiguration
- The client configuration options controlling how this client connects to Amazon CloudWatch Events (ex: proxy settings, retry counts, etc.).
-
AmazonCloudWatchEventsClient
public AmazonCloudWatchEventsClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) Constructs a new client to invoke service methods on Amazon CloudWatch Events using the specified AWS account credentials provider, client configuration options, and request metric collector.All service calls made using this new client object are blocking, and will not return until the service call completes.
- Parameters:
awsCredentialsProvider
- The AWS credentials provider which will provide credentials to authenticate requests with AWS services.clientConfiguration
- The client configuration options controlling how this client connects to Amazon CloudWatch Events (ex: proxy settings, retry counts, etc.).requestMetricCollector
- optional request metric collector
-
-
Method Details
-
deleteRule
Deletes a rule. You must remove all targets from a rule using RemoveTargets before you can delete the rule.
Note: When you delete a rule, incoming events might still continue to match to the deleted rule. Please allow a short period of time for changes to take effect.
- Specified by:
deleteRule
in interfaceAmazonCloudWatchEvents
- Parameters:
deleteRuleRequest
- Container for the parameters to the DeleteRule operation.- Returns:
- Result of the DeleteRule operation returned by the service.
- Throws:
ConcurrentModificationException
- This exception occurs if there is concurrent modification on rule or target.InternalException
- This exception occurs due to unexpected causes.
-
describeRule
Describes the details of the specified rule.
- Specified by:
describeRule
in interfaceAmazonCloudWatchEvents
- Parameters:
describeRuleRequest
- Container for the parameters to the DescribeRule operation.- Returns:
- Result of the DescribeRule operation returned by the service.
- Throws:
ResourceNotFoundException
- The rule does not exist.InternalException
- This exception occurs due to unexpected causes.
-
disableRule
Disables a rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression.
Note: When you disable a rule, incoming events might still continue to match to the disabled rule. Please allow a short period of time for changes to take effect.
- Specified by:
disableRule
in interfaceAmazonCloudWatchEvents
- Parameters:
disableRuleRequest
- Container for the parameters to the DisableRule operation.- Returns:
- Result of the DisableRule operation returned by the service.
- Throws:
ResourceNotFoundException
- The rule does not exist.ConcurrentModificationException
- This exception occurs if there is concurrent modification on rule or target.InternalException
- This exception occurs due to unexpected causes.
-
enableRule
Enables a rule. If the rule does not exist, the operation fails.
Note: When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Please allow a short period of time for changes to take effect.
- Specified by:
enableRule
in interfaceAmazonCloudWatchEvents
- Parameters:
enableRuleRequest
- Container for the parameters to the EnableRule operation.- Returns:
- Result of the EnableRule operation returned by the service.
- Throws:
ResourceNotFoundException
- The rule does not exist.ConcurrentModificationException
- This exception occurs if there is concurrent modification on rule or target.InternalException
- This exception occurs due to unexpected causes.
-
listRuleNamesByTarget
public ListRuleNamesByTargetResult listRuleNamesByTarget(ListRuleNamesByTargetRequest listRuleNamesByTargetRequest) Lists the names of the rules that the given target is put to. You can see which of the rules in Amazon CloudWatch Events can invoke a specific target in your account. If you have more rules in your account than the given limit, the results will be paginated. In that case, use the next token returned in the response and repeat ListRulesByTarget until the NextToken in the response is returned as null.
- Specified by:
listRuleNamesByTarget
in interfaceAmazonCloudWatchEvents
- Parameters:
listRuleNamesByTargetRequest
- Container for the parameters to the ListRuleNamesByTarget operation.- Returns:
- Result of the ListRuleNamesByTarget operation returned by the service.
- Throws:
InternalException
- This exception occurs due to unexpected causes.
-
listRules
Lists the Amazon CloudWatch Events rules in your account. You can either list all the rules or you can provide a prefix to match to the rule names. If you have more rules in your account than the given limit, the results will be paginated. In that case, use the next token returned in the response and repeat ListRules until the NextToken in the response is returned as null.
- Specified by:
listRules
in interfaceAmazonCloudWatchEvents
- Parameters:
listRulesRequest
- Container for the parameters to the ListRules operation.- Returns:
- Result of the ListRules operation returned by the service.
- Throws:
InternalException
- This exception occurs due to unexpected causes.
-
listTargetsByRule
Lists of targets assigned to the rule.
- Specified by:
listTargetsByRule
in interfaceAmazonCloudWatchEvents
- Parameters:
listTargetsByRuleRequest
- Container for the parameters to the ListTargetsByRule operation.- Returns:
- Result of the ListTargetsByRule operation returned by the service.
- Throws:
ResourceNotFoundException
- The rule does not exist.InternalException
- This exception occurs due to unexpected causes.
-
putEvents
Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.
- Specified by:
putEvents
in interfaceAmazonCloudWatchEvents
- Parameters:
putEventsRequest
- Container for the parameters to the PutEvents operation.- Returns:
- Result of the PutEvents operation returned by the service.
- Throws:
InternalException
- This exception occurs due to unexpected causes.
-
putRule
Creates or updates a rule. Rules are enabled by default, or based on value of the State parameter. You can disable a rule using DisableRule.
Note: When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Please 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 will trigger on matching events as well as on a schedule.
Note: Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events 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.
- Specified by:
putRule
in interfaceAmazonCloudWatchEvents
- Parameters:
putRuleRequest
- Container for the parameters to the PutRule operation.- Returns:
- Result of the PutRule operation returned by the service.
- Throws:
InvalidEventPatternException
- The event pattern is invalid.LimitExceededException
- This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.ConcurrentModificationException
- This exception occurs if there is concurrent modification on rule or target.InternalException
- This exception occurs due to unexpected causes.
-
putTargets
Adds target(s) to a rule. Targets are the resources that can be invoked when a rule is triggered. For example, AWS Lambda functions, Amazon Kinesis streams, and built-in targets. Updates the target(s) if they are already associated with the role. In other words, if there is already a target with the given target ID, then the target associated with that ID is updated.
In order to be able to make API calls against the resources you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For Amazon Kinesis streams, CloudWatch Events relies on IAM roles. For more information, see Permissions for Sending Events to Targets in the Amazon CloudWatch Developer Guide.
Input and InputPath are mutually-exclusive and optional parameters of a target. When a rule is triggered due to a matched event, if for a target:
- Neither Input nor InputPath is specified, then the entire event is passed to the target in JSON form.
- InputPath is specified in the form of JSONPath (e.g. $.detail), then only the part of the event specified in the path is passed to the target (e.g. only the detail part of the event is passed).
- Input is specified in the form of a valid JSON, then the matched event is overridden with this constant.
Note: When you add targets to a rule, when the associated rule triggers, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.
- Specified by:
putTargets
in interfaceAmazonCloudWatchEvents
- Parameters:
putTargetsRequest
- Container for the parameters to the PutTargets operation.- Returns:
- Result of the PutTargets operation returned by the service.
- Throws:
ResourceNotFoundException
- The rule does not exist.ConcurrentModificationException
- This exception occurs if there is concurrent modification on rule or target.LimitExceededException
- This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.InternalException
- This exception occurs due to unexpected causes.
-
removeTargets
Removes target(s) from a rule so that when the rule is triggered, those targets will no longer be invoked.
Note: When you remove a target, when the associated rule triggers, removed targets might still continue to be invoked. Please allow a short period of time for changes to take effect.
- Specified by:
removeTargets
in interfaceAmazonCloudWatchEvents
- Parameters:
removeTargetsRequest
- Container for the parameters to the RemoveTargets operation.- Returns:
- Result of the RemoveTargets operation returned by the service.
- Throws:
ResourceNotFoundException
- The rule does not exist.ConcurrentModificationException
- This exception occurs if there is concurrent modification on rule or target.InternalException
- This exception occurs due to unexpected causes.
-
testEventPattern
Tests whether an event pattern matches the provided event.
Note: Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events 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.
- Specified by:
testEventPattern
in interfaceAmazonCloudWatchEvents
- Parameters:
testEventPatternRequest
- Container for the parameters to the TestEventPattern operation.- Returns:
- Result of the TestEventPattern operation returned by the service.
- Throws:
InvalidEventPatternException
- The event pattern is invalid.InternalException
- This exception occurs due to unexpected causes.
-
getCachedResponseMetadata
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 the request.
- Specified by:
getCachedResponseMetadata
in interfaceAmazonCloudWatchEvents
- Parameters:
request
- The originally executed request- Returns:
- The response metadata for the specified request, or null if none is available.
-