/*
* 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 scheduler-2021-06-30.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.Scheduler.Model;
namespace Amazon.Scheduler
{
///
/// Interface for accessing Scheduler
///
/// Amazon EventBridge Scheduler is a serverless scheduler that allows you to create,
/// run, and manage tasks from one central, managed service. EventBridge Scheduler delivers
/// your tasks reliably, with built-in mechanisms that adjust your schedules based on
/// the availability of downstream targets. The following reference lists the available
/// API actions, and data types for EventBridge Scheduler.
///
public partial interface IAmazonScheduler : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
ISchedulerPaginatorFactory Paginators { get; }
#endif
#region CreateSchedule
///
/// Creates the specified schedule.
///
/// Container for the necessary parameters to execute the CreateSchedule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateSchedule service method, as returned by Scheduler.
///
/// Updating or deleting the resource can cause an inconsistent state.
///
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request exceeds a service quota.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for CreateSchedule Operation
Task CreateScheduleAsync(CreateScheduleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateScheduleGroup
///
/// Creates the specified schedule group.
///
/// Container for the necessary parameters to execute the CreateScheduleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateScheduleGroup service method, as returned by Scheduler.
///
/// Updating or deleting the resource can cause an inconsistent state.
///
///
/// Unexpected error encountered while processing the request.
///
///
/// The request exceeds a service quota.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for CreateScheduleGroup Operation
Task CreateScheduleGroupAsync(CreateScheduleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteSchedule
///
/// Deletes the specified schedule.
///
/// Container for the necessary parameters to execute the DeleteSchedule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteSchedule service method, as returned by Scheduler.
///
/// Updating or deleting the resource can cause an inconsistent state.
///
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for DeleteSchedule Operation
Task DeleteScheduleAsync(DeleteScheduleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteScheduleGroup
///
/// Deletes the specified schedule group. Deleting a schedule group results in EventBridge
/// Scheduler deleting all schedules associated with the group. When you delete a group,
/// it remains in a DELETING
state until all of its associated schedules
/// are deleted. Schedules associated with the group that are set to run while the schedule
/// group is in the process of being deleted might continue to invoke their targets until
/// the schedule group and its associated schedules are deleted.
///
///
///
/// This operation is eventually consistent.
///
///
///
/// Container for the necessary parameters to execute the DeleteScheduleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteScheduleGroup service method, as returned by Scheduler.
///
/// Updating or deleting the resource can cause an inconsistent state.
///
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for DeleteScheduleGroup Operation
Task DeleteScheduleGroupAsync(DeleteScheduleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetSchedule
///
/// Retrieves the specified schedule.
///
/// Container for the necessary parameters to execute the GetSchedule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSchedule service method, as returned by Scheduler.
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for GetSchedule Operation
Task GetScheduleAsync(GetScheduleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetScheduleGroup
///
/// Retrieves the specified schedule group.
///
/// Container for the necessary parameters to execute the GetScheduleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetScheduleGroup service method, as returned by Scheduler.
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for GetScheduleGroup Operation
Task GetScheduleGroupAsync(GetScheduleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListScheduleGroups
///
/// Returns a paginated list of your schedule groups.
///
/// Container for the necessary parameters to execute the ListScheduleGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListScheduleGroups service method, as returned by Scheduler.
///
/// Unexpected error encountered while processing the request.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for ListScheduleGroups Operation
Task ListScheduleGroupsAsync(ListScheduleGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListSchedules
///
/// Returns a paginated list of your EventBridge Scheduler schedules.
///
/// Container for the necessary parameters to execute the ListSchedules service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListSchedules service method, as returned by Scheduler.
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for ListSchedules Operation
Task ListSchedulesAsync(ListSchedulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists the tags associated with the Scheduler resource.
///
/// 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 Scheduler.
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Assigns one or more tags (key-value pairs) to the specified EventBridge Scheduler
/// resource. You can only assign tags to schedule groups.
///
/// 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 Scheduler.
///
/// Updating or deleting the resource can cause an inconsistent state.
///
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes one or more tags from the specified EventBridge Scheduler schedule group.
///
/// 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 Scheduler.
///
/// Updating or deleting the resource can cause an inconsistent state.
///
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateSchedule
///
/// Updates the specified schedule. When you call UpdateSchedule
, EventBridge
/// Scheduler uses all values, including empty values, specified in the request and overrides
/// the existing schedule. This is by design. This means that if you do not set an optional
/// field in your request, that field will be set to its system-default value after the
/// update.
///
///
///
/// Before calling this operation, we recommend that you call the GetSchedule
/// API operation and make a note of all optional parameters for your UpdateSchedule
/// call.
///
///
/// Container for the necessary parameters to execute the UpdateSchedule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateSchedule service method, as returned by Scheduler.
///
/// Updating or deleting the resource can cause an inconsistent state.
///
///
/// Unexpected error encountered while processing the request.
///
///
/// The request references a resource which does not exist.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for UpdateSchedule Operation
Task UpdateScheduleAsync(UpdateScheduleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}