/*
* 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 dlm-2018-01-12.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.DLM.Model;
namespace Amazon.DLM
{
///
/// Interface for accessing DLM
///
/// Amazon Data Lifecycle Manager
///
/// With Amazon Data Lifecycle Manager, you can manage the lifecycle of your Amazon Web
/// Services resources. You create lifecycle policies, which are used to automate operations
/// on the specified resources.
///
///
///
/// Amazon Data Lifecycle Manager supports Amazon EBS volumes and snapshots. For information
/// about using Amazon Data Lifecycle Manager with Amazon EBS, see
/// Amazon Data Lifecycle Manager in the Amazon EC2 User Guide.
///
///
public partial interface IAmazonDLM : IAmazonService, IDisposable
{
#region CreateLifecyclePolicy
///
/// Creates a policy to manage the lifecycle of the specified Amazon Web Services resources.
/// You can create up to 100 lifecycle policies.
///
/// Container for the necessary parameters to execute the CreateLifecyclePolicy service method.
///
/// The response from the CreateLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// The request failed because a limit was exceeded.
///
/// REST API Reference for CreateLifecyclePolicy Operation
CreateLifecyclePolicyResponse CreateLifecyclePolicy(CreateLifecyclePolicyRequest request);
///
/// Creates a policy to manage the lifecycle of the specified Amazon Web Services resources.
/// You can create up to 100 lifecycle policies.
///
/// Container for the necessary parameters to execute the CreateLifecyclePolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// The request failed because a limit was exceeded.
///
/// REST API Reference for CreateLifecyclePolicy Operation
Task CreateLifecyclePolicyAsync(CreateLifecyclePolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteLifecyclePolicy
///
/// Deletes the specified lifecycle policy and halts the automated operations that the
/// policy specified.
///
///
///
/// For more information about deleting a policy, see Delete
/// lifecycle policies.
///
///
/// Container for the necessary parameters to execute the DeleteLifecyclePolicy service method.
///
/// The response from the DeleteLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for DeleteLifecyclePolicy Operation
DeleteLifecyclePolicyResponse DeleteLifecyclePolicy(DeleteLifecyclePolicyRequest request);
///
/// Deletes the specified lifecycle policy and halts the automated operations that the
/// policy specified.
///
///
///
/// For more information about deleting a policy, see Delete
/// lifecycle policies.
///
///
/// Container for the necessary parameters to execute the DeleteLifecyclePolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for DeleteLifecyclePolicy Operation
Task DeleteLifecyclePolicyAsync(DeleteLifecyclePolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetLifecyclePolicies
///
/// Gets summary information about all or the specified data lifecycle policies.
///
///
///
/// To get complete information about a policy, use GetLifecyclePolicy.
///
///
/// Container for the necessary parameters to execute the GetLifecyclePolicies service method.
///
/// The response from the GetLifecyclePolicies service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for GetLifecyclePolicies Operation
GetLifecyclePoliciesResponse GetLifecyclePolicies(GetLifecyclePoliciesRequest request);
///
/// Gets summary information about all or the specified data lifecycle policies.
///
///
///
/// To get complete information about a policy, use GetLifecyclePolicy.
///
///
/// Container for the necessary parameters to execute the GetLifecyclePolicies service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetLifecyclePolicies service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for GetLifecyclePolicies Operation
Task GetLifecyclePoliciesAsync(GetLifecyclePoliciesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetLifecyclePolicy
///
/// Gets detailed information about the specified lifecycle policy.
///
/// Container for the necessary parameters to execute the GetLifecyclePolicy service method.
///
/// The response from the GetLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for GetLifecyclePolicy Operation
GetLifecyclePolicyResponse GetLifecyclePolicy(GetLifecyclePolicyRequest request);
///
/// Gets detailed information about the specified lifecycle policy.
///
/// Container for the necessary parameters to execute the GetLifecyclePolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for GetLifecyclePolicy Operation
Task GetLifecyclePolicyAsync(GetLifecyclePolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists the tags for the specified resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// A requested resource was not found.
///
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
///
/// Lists the tags for the specified 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 DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// A requested resource was not found.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Adds the specified tags to the specified resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// A requested resource was not found.
///
/// REST API Reference for TagResource Operation
TagResourceResponse TagResource(TagResourceRequest request);
///
/// Adds the specified tags to the specified resource.
///
/// 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 DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// A requested resource was not found.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes the specified tags from the specified resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// A requested resource was not found.
///
/// REST API Reference for UntagResource Operation
UntagResourceResponse UntagResource(UntagResourceRequest request);
///
/// Removes the specified tags from the specified resource.
///
/// 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 DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// A requested resource was not found.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateLifecyclePolicy
///
/// Updates the specified lifecycle policy.
///
///
///
/// For more information about updating a policy, see Modify
/// lifecycle policies.
///
///
/// Container for the necessary parameters to execute the UpdateLifecyclePolicy service method.
///
/// The response from the UpdateLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for UpdateLifecyclePolicy Operation
UpdateLifecyclePolicyResponse UpdateLifecyclePolicy(UpdateLifecyclePolicyRequest request);
///
/// Updates the specified lifecycle policy.
///
///
///
/// For more information about updating a policy, see Modify
/// lifecycle policies.
///
///
/// Container for the necessary parameters to execute the UpdateLifecyclePolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateLifecyclePolicy service method, as returned by DLM.
///
/// The service failed in an unexpected way.
///
///
/// Bad request. The request is missing required parameters or has invalid parameters.
///
///
/// The request failed because a limit was exceeded.
///
///
/// A requested resource was not found.
///
/// REST API Reference for UpdateLifecyclePolicy Operation
Task UpdateLifecyclePolicyAsync(UpdateLifecyclePolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}