/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the codestar-notifications-2019-10-15.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.CodeStarNotifications.Model;
namespace Amazon.CodeStarNotifications
{
///
/// Interface for accessing CodeStarNotifications
///
/// 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:
///
/// -
///
/// CreateNotificationRule, which creates a notification rule for a resource in
/// your account.
///
///
-
///
/// DeleteNotificationRule, which deletes a notification rule.
///
///
-
///
/// DescribeNotificationRule, which provides information about a notification
/// rule.
///
///
-
///
/// ListNotificationRules, which lists the notification rules associated with
/// your account.
///
///
-
///
/// UpdateNotificationRule, which changes the name, events, or targets associated
/// with a notification rule.
///
///
-
///
/// Subscribe, which subscribes a target to a notification rule.
///
///
-
///
/// Unsubscribe, which removes a target from a notification rule.
///
///
///
/// Targets, by calling the following:
///
/// -
///
/// DeleteTarget, which removes a notification rule target from a notification
/// rule.
///
///
-
///
/// ListTargets, which lists the targets associated with a notification rule.
///
///
///
///
/// Events, by calling the following:
///
/// -
///
/// ListEventTypes, which lists the event types you can include in a notification
/// rule.
///
///
///
/// Tags, by calling the following:
///
/// -
///
/// ListTagsForResource, which lists the tags already associated with a notification
/// rule in your account.
///
///
-
///
/// TagResource, which associates a tag you provide with a notification rule in
/// your account.
///
///
-
///
/// UntagResource, which removes a tag from a notification rule in your account.
///
///
///
///
/// For information about how to use AWS CodeStar Notifications, see the Amazon
/// Web Services Developer Tools Console User Guide.
///
///
public partial interface IAmazonCodeStarNotifications : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
ICodeStarNotificationsPaginatorFactory Paginators { get; }
#endif
#region CreateNotificationRule
///
/// 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.
///
/// Container for the necessary parameters to execute the CreateNotificationRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateNotificationRule service method, as returned by CodeStarNotifications.
///
/// AWS CodeStar Notifications can't create the notification rule because you do not have
/// sufficient permissions.
///
///
/// AWS CodeStar Notifications can't complete the request because the resource is being
/// modified by another process. Wait a few minutes and try again.
///
///
/// Some or all of the configuration is incomplete, missing, or not valid.
///
///
/// 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.
///
///
/// A resource with the same name or ID already exists. Notification rule names must be
/// unique in your Amazon Web Services account.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for CreateNotificationRule Operation
Task CreateNotificationRuleAsync(CreateNotificationRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteNotificationRule
///
/// Deletes a notification rule for a resource.
///
/// Container for the necessary parameters to execute the DeleteNotificationRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteNotificationRule service method, as returned by CodeStarNotifications.
///
/// AWS CodeStar Notifications can't complete the request because the resource is being
/// modified by another process. Wait a few minutes and try again.
///
///
/// 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.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for DeleteNotificationRule Operation
Task DeleteNotificationRuleAsync(DeleteNotificationRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteTarget
///
/// Deletes a specified target for notifications.
///
/// Container for the necessary parameters to execute the DeleteTarget service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteTarget service method, as returned by CodeStarNotifications.
///
/// One or more parameter values are not valid.
///
/// REST API Reference for DeleteTarget Operation
Task DeleteTargetAsync(DeleteTargetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeNotificationRule
///
/// Returns information about a specified notification rule.
///
/// Container for the necessary parameters to execute the DescribeNotificationRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeNotificationRule service method, as returned by CodeStarNotifications.
///
/// AWS CodeStar Notifications can't find a resource that matches the provided ARN.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for DescribeNotificationRule Operation
Task DescribeNotificationRuleAsync(DescribeNotificationRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListEventTypes
///
/// Returns information about the event types available for configuring notifications.
///
/// Container for the necessary parameters to execute the ListEventTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListEventTypes service method, as returned by CodeStarNotifications.
///
/// The value for the enumeration token used in the request to return the next batch of
/// the results is not valid.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for ListEventTypes Operation
Task ListEventTypesAsync(ListEventTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListNotificationRules
///
/// Returns a list of the notification rules for an Amazon Web Services account.
///
/// Container for the necessary parameters to execute the ListNotificationRules service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListNotificationRules service method, as returned by CodeStarNotifications.
///
/// The value for the enumeration token used in the request to return the next batch of
/// the results is not valid.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for ListNotificationRules Operation
Task ListNotificationRulesAsync(ListNotificationRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Returns a list of the tags associated with a notification rule.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by CodeStarNotifications.
///
/// AWS CodeStar Notifications can't find a resource that matches the provided ARN.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTargets
///
/// Returns a list of the notification rule targets for an Amazon Web Services account.
///
/// Container for the necessary parameters to execute the ListTargets service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTargets service method, as returned by CodeStarNotifications.
///
/// The value for the enumeration token used in the request to return the next batch of
/// the results is not valid.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for ListTargets Operation
Task ListTargetsAsync(ListTargetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region Subscribe
///
/// 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.
///
/// Container for the necessary parameters to execute the Subscribe service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the Subscribe service method, as returned by CodeStarNotifications.
///
/// Some or all of the configuration is incomplete, missing, or not valid.
///
///
/// AWS CodeStar Notifications can't find a resource that matches the provided ARN.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for Subscribe Operation
Task SubscribeAsync(SubscribeRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Associates a set of provided tags with a notification rule.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by CodeStarNotifications.
///
/// AWS CodeStar Notifications can't complete the request because the resource is being
/// modified by another process. Wait a few minutes and try again.
///
///
/// 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.
///
///
/// AWS CodeStar Notifications can't find a resource that matches the provided ARN.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region Unsubscribe
///
/// 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.
///
/// Container for the necessary parameters to execute the Unsubscribe service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the Unsubscribe service method, as returned by CodeStarNotifications.
///
/// One or more parameter values are not valid.
///
/// REST API Reference for Unsubscribe Operation
Task UnsubscribeAsync(UnsubscribeRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes the association between one or more provided tags and a notification rule.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by CodeStarNotifications.
///
/// AWS CodeStar Notifications can't complete the request because the resource is being
/// modified by another process. Wait a few minutes and try again.
///
///
/// 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.
///
///
/// AWS CodeStar Notifications can't find a resource that matches the provided ARN.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateNotificationRule
///
/// 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.
///
///
///
/// Container for the necessary parameters to execute the UpdateNotificationRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateNotificationRule service method, as returned by CodeStarNotifications.
///
/// Some or all of the configuration is incomplete, missing, or not valid.
///
///
/// AWS CodeStar Notifications can't find a resource that matches the provided ARN.
///
///
/// One or more parameter values are not valid.
///
/// REST API Reference for UpdateNotificationRule Operation
Task UpdateNotificationRuleAsync(UpdateNotificationRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}