/* * Copyright 2018-2023 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.codestarnotifications; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.codestarnotifications.model.*; /** * Interface for accessing AWS CodeStar Notifications. *

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

*

*

* This AWS CodeStar Notifications API Reference provides descriptions and usage examples of the operations and data * types for the AWS CodeStar Notifications API. You can use the AWS CodeStar Notifications API to work with the * following objects: *

*

* Notification rules, by calling the following: *

* *

* Targets, by calling the following: *

* *

* Events, by calling the following: *

* *

* Tags, by calling the following: *

* *

* For information about how to use AWS CodeStar Notifications, see the Amazon Web Services Developer * Tools Console User Guide. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSCodeStarNotifications { /** * 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 = "codestar-notifications"; /** *

* Creates a notification rule for a resource. The rule specifies the events you want notifications about and the * targets (such as Chatbot topics or Chatbot clients configured for Slack) where you want to receive them. *

* * @param createNotificationRuleRequest * @return Result of the CreateNotificationRule operation returned by the service. * @throws ResourceAlreadyExistsException * A resource with the same name or ID already exists. Notification rule names must be unique in your Amazon * Web Services account. * @throws ValidationException * One or more parameter values are not valid. * @throws LimitExceededException * One of the AWS CodeStar Notifications limits has been exceeded. Limits apply to accounts, notification * rules, notifications, resources, and targets. For more information, see Limits. * @throws ConfigurationException * Some or all of the configuration is incomplete, missing, or not valid. * @throws ConcurrentModificationException * AWS CodeStar Notifications can't complete the request because the resource is being modified by another * process. Wait a few minutes and try again. * @throws AccessDeniedException * AWS CodeStar Notifications can't create the notification rule because you do not have sufficient * permissions. * @sample AWSCodeStarNotifications.CreateNotificationRule * @see AWS API Documentation */ CreateNotificationRuleResult createNotificationRule(CreateNotificationRuleRequest createNotificationRuleRequest); /** *

* Deletes a notification rule for a resource. *

* * @param deleteNotificationRuleRequest * @return Result of the DeleteNotificationRule operation returned by the service. * @throws ValidationException * One or more parameter values are not valid. * @throws LimitExceededException * One of the AWS CodeStar Notifications limits has been exceeded. Limits apply to accounts, notification * rules, notifications, resources, and targets. For more information, see Limits. * @throws ConcurrentModificationException * AWS CodeStar Notifications can't complete the request because the resource is being modified by another * process. Wait a few minutes and try again. * @sample AWSCodeStarNotifications.DeleteNotificationRule * @see AWS API Documentation */ DeleteNotificationRuleResult deleteNotificationRule(DeleteNotificationRuleRequest deleteNotificationRuleRequest); /** *

* Deletes a specified target for notifications. *

* * @param deleteTargetRequest * @return Result of the DeleteTarget operation returned by the service. * @throws ValidationException * One or more parameter values are not valid. * @sample AWSCodeStarNotifications.DeleteTarget * @see AWS API Documentation */ DeleteTargetResult deleteTarget(DeleteTargetRequest deleteTargetRequest); /** *

* Returns information about a specified notification rule. *

* * @param describeNotificationRuleRequest * @return Result of the DescribeNotificationRule operation returned by the service. * @throws ResourceNotFoundException * AWS CodeStar Notifications can't find a resource that matches the provided ARN. * @throws ValidationException * One or more parameter values are not valid. * @sample AWSCodeStarNotifications.DescribeNotificationRule * @see AWS API Documentation */ DescribeNotificationRuleResult describeNotificationRule(DescribeNotificationRuleRequest describeNotificationRuleRequest); /** *

* Returns information about the event types available for configuring notifications. *

* * @param listEventTypesRequest * @return Result of the ListEventTypes operation returned by the service. * @throws InvalidNextTokenException * The value for the enumeration token used in the request to return the next batch of the results is not * valid. * @throws ValidationException * One or more parameter values are not valid. * @sample AWSCodeStarNotifications.ListEventTypes * @see AWS API Documentation */ ListEventTypesResult listEventTypes(ListEventTypesRequest listEventTypesRequest); /** *

* Returns a list of the notification rules for an Amazon Web Services account. *

* * @param listNotificationRulesRequest * @return Result of the ListNotificationRules operation returned by the service. * @throws InvalidNextTokenException * The value for the enumeration token used in the request to return the next batch of the results is not * valid. * @throws ValidationException * One or more parameter values are not valid. * @sample AWSCodeStarNotifications.ListNotificationRules * @see AWS API Documentation */ ListNotificationRulesResult listNotificationRules(ListNotificationRulesRequest listNotificationRulesRequest); /** *

* Returns a list of the tags associated with a notification rule. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * AWS CodeStar Notifications can't find a resource that matches the provided ARN. * @throws ValidationException * One or more parameter values are not valid. * @sample AWSCodeStarNotifications.ListTagsForResource * @see AWS API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* Returns a list of the notification rule targets for an Amazon Web Services account. *

* * @param listTargetsRequest * @return Result of the ListTargets operation returned by the service. * @throws InvalidNextTokenException * The value for the enumeration token used in the request to return the next batch of the results is not * valid. * @throws ValidationException * One or more parameter values are not valid. * @sample AWSCodeStarNotifications.ListTargets * @see AWS API Documentation */ ListTargetsResult listTargets(ListTargetsRequest listTargetsRequest); /** *

* Creates an association between a notification rule and an Chatbot topic or Chatbot client so that the associated * target can receive notifications when the events described in the rule are triggered. *

* * @param subscribeRequest * @return Result of the Subscribe operation returned by the service. * @throws ValidationException * One or more parameter values are not valid. * @throws ResourceNotFoundException * AWS CodeStar Notifications can't find a resource that matches the provided ARN. * @throws ConfigurationException * Some or all of the configuration is incomplete, missing, or not valid. * @sample AWSCodeStarNotifications.Subscribe * @see AWS API Documentation */ SubscribeResult subscribe(SubscribeRequest subscribeRequest); /** *

* Associates a set of provided tags with a notification rule. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * AWS CodeStar Notifications can't find a resource that matches the provided ARN. * @throws LimitExceededException * One of the AWS CodeStar Notifications limits has been exceeded. Limits apply to accounts, notification * rules, notifications, resources, and targets. For more information, see Limits. * @throws ValidationException * One or more parameter values are not valid. * @throws ConcurrentModificationException * AWS CodeStar Notifications can't complete the request because the resource is being modified by another * process. Wait a few minutes and try again. * @sample AWSCodeStarNotifications.TagResource * @see AWS API Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* Removes an association between a notification rule and an Chatbot topic so that subscribers to that topic stop * receiving notifications when the events described in the rule are triggered. *

* * @param unsubscribeRequest * @return Result of the Unsubscribe operation returned by the service. * @throws ValidationException * One or more parameter values are not valid. * @sample AWSCodeStarNotifications.Unsubscribe * @see AWS API Documentation */ UnsubscribeResult unsubscribe(UnsubscribeRequest unsubscribeRequest); /** *

* Removes the association between one or more provided tags and a notification rule. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ResourceNotFoundException * AWS CodeStar Notifications can't find a resource that matches the provided ARN. * @throws LimitExceededException * One of the AWS CodeStar Notifications limits has been exceeded. Limits apply to accounts, notification * rules, notifications, resources, and targets. For more information, see Limits. * @throws ValidationException * One or more parameter values are not valid. * @throws ConcurrentModificationException * AWS CodeStar Notifications can't complete the request because the resource is being modified by another * process. Wait a few minutes and try again. * @sample AWSCodeStarNotifications.UntagResource * @see AWS API Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* Updates a notification rule for a resource. You can change the events that trigger the notification rule, the * status of the rule, and the targets that receive the notifications. *

* *

* To add or remove tags for a notification rule, you must use TagResource and UntagResource. *

*
* * @param updateNotificationRuleRequest * @return Result of the UpdateNotificationRule operation returned by the service. * @throws ValidationException * One or more parameter values are not valid. * @throws ResourceNotFoundException * AWS CodeStar Notifications can't find a resource that matches the provided ARN. * @throws ConfigurationException * Some or all of the configuration is incomplete, missing, or not valid. * @sample AWSCodeStarNotifications.UpdateNotificationRule * @see AWS API Documentation */ UpdateNotificationRuleResult updateNotificationRule(UpdateNotificationRuleRequest updateNotificationRuleRequest); /** * 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); }