/*
* 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 arc-zonal-shift-2022-10-30.normal.json service model.
*/
using System;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.ARCZonalShift.Model;
namespace Amazon.ARCZonalShift
{
///
/// Interface for accessing ARCZonalShift
///
/// This is the API Reference Guide for the zonal shift feature of Amazon Route 53 Application
/// Recovery Controller. This guide is for developers who need detailed information about
/// zonal shift API actions, data types, and errors.
///
///
///
/// Zonal shift is in preview release for Amazon Route 53 Application Recovery Controller
/// and is subject to change.
///
///
///
/// Zonal shift in Route 53 ARC enables you to move traffic for a load balancer resource
/// away from an Availability Zone. Starting a zonal shift helps your application recover
/// immediately, for example, from a developer's bad code deployment or from an AWS infrastructure
/// failure in a single Availability Zone, reducing the impact and time lost from an issue
/// in one zone.
///
///
///
/// Supported AWS resources are automatically registered with Route 53 ARC. Resources
/// that are registered for zonal shifts in Route 53 ARC are managed resources in Route
/// 53 ARC. You can start a zonal shift for any managed resource in your account in a
/// Region. At this time, you can only start a zonal shift for Network Load Balancers
/// and Application Load Balancers with cross-zone load balancing turned off.
///
///
///
/// Zonal shifts are temporary. You must specify an expiration when you start a zonal
/// shift, of up to three days initially. If you want to still keep traffic away from
/// an Availability Zone, you can update the zonal shift and set a new expiration. You
/// can also cancel a zonal shift, before it expires, for example, if you're ready to
/// restore traffic to the Availability Zone.
///
///
///
/// For more information about using zonal shift, see the Amazon
/// Route 53 Application Recovery Controller Developer Guide.
///
///
public partial interface IAmazonARCZonalShift : IAmazonService, IDisposable
{
#if BCL45 || AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IARCZonalShiftPaginatorFactory Paginators { get; }
#endif
#region CancelZonalShift
///
/// Cancel a zonal shift in Amazon Route 53 Application Recovery Controller that you've
/// started for a resource in your AWS account in an AWS Region.
///
/// Container for the necessary parameters to execute the CancelZonalShift service method.
///
/// The response from the CancelZonalShift service method, as returned by ARCZonalShift.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request could not be processed because of conflict in the current state of the
/// resource.
///
///
/// There was an internal server error.
///
///
/// The input requested a resource that was not found.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for CancelZonalShift Operation
CancelZonalShiftResponse CancelZonalShift(CancelZonalShiftRequest request);
///
/// Initiates the asynchronous execution of the CancelZonalShift operation.
///
///
/// Container for the necessary parameters to execute the CancelZonalShift operation on AmazonARCZonalShiftClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCancelZonalShift
/// operation.
/// REST API Reference for CancelZonalShift Operation
IAsyncResult BeginCancelZonalShift(CancelZonalShiftRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the CancelZonalShift operation.
///
///
/// The IAsyncResult returned by the call to BeginCancelZonalShift.
///
/// Returns a CancelZonalShiftResult from ARCZonalShift.
/// REST API Reference for CancelZonalShift Operation
CancelZonalShiftResponse EndCancelZonalShift(IAsyncResult asyncResult);
#endregion
#region GetManagedResource
///
/// Get information about a resource that's been registered for zonal shifts with Amazon
/// Route 53 Application Recovery Controller in this AWS Region. Resources that are registered
/// for zonal shifts are managed resources in Route 53 ARC.
///
///
///
/// At this time, you can only start a zonal shift for Network Load Balancers and Application
/// Load Balancers with cross-zone load balancing turned off.
///
///
/// Container for the necessary parameters to execute the GetManagedResource service method.
///
/// The response from the GetManagedResource service method, as returned by ARCZonalShift.
///
/// You do not have sufficient access to perform this action.
///
///
/// There was an internal server error.
///
///
/// The input requested a resource that was not found.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for GetManagedResource Operation
GetManagedResourceResponse GetManagedResource(GetManagedResourceRequest request);
///
/// Initiates the asynchronous execution of the GetManagedResource operation.
///
///
/// Container for the necessary parameters to execute the GetManagedResource operation on AmazonARCZonalShiftClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetManagedResource
/// operation.
/// REST API Reference for GetManagedResource Operation
IAsyncResult BeginGetManagedResource(GetManagedResourceRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the GetManagedResource operation.
///
///
/// The IAsyncResult returned by the call to BeginGetManagedResource.
///
/// Returns a GetManagedResourceResult from ARCZonalShift.
/// REST API Reference for GetManagedResource Operation
GetManagedResourceResponse EndGetManagedResource(IAsyncResult asyncResult);
#endregion
#region ListManagedResources
///
/// Lists all the resources in your AWS account in this AWS Region that are managed for
/// zonal shifts in Amazon Route 53 Application Recovery Controller, and information about
/// them. The information includes their Amazon Resource Names (ARNs), the Availability
/// Zones the resources are deployed in, and the resource name.
///
/// Container for the necessary parameters to execute the ListManagedResources service method.
///
/// The response from the ListManagedResources service method, as returned by ARCZonalShift.
///
/// You do not have sufficient access to perform this action.
///
///
/// There was an internal server error.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for ListManagedResources Operation
ListManagedResourcesResponse ListManagedResources(ListManagedResourcesRequest request);
///
/// Initiates the asynchronous execution of the ListManagedResources operation.
///
///
/// Container for the necessary parameters to execute the ListManagedResources operation on AmazonARCZonalShiftClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListManagedResources
/// operation.
/// REST API Reference for ListManagedResources Operation
IAsyncResult BeginListManagedResources(ListManagedResourcesRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListManagedResources operation.
///
///
/// The IAsyncResult returned by the call to BeginListManagedResources.
///
/// Returns a ListManagedResourcesResult from ARCZonalShift.
/// REST API Reference for ListManagedResources Operation
ListManagedResourcesResponse EndListManagedResources(IAsyncResult asyncResult);
#endregion
#region ListZonalShifts
///
/// Lists all the active zonal shifts in Amazon Route 53 Application Recovery Controller
/// in your AWS account in this AWS Region.
///
/// Container for the necessary parameters to execute the ListZonalShifts service method.
///
/// The response from the ListZonalShifts service method, as returned by ARCZonalShift.
///
/// You do not have sufficient access to perform this action.
///
///
/// There was an internal server error.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for ListZonalShifts Operation
ListZonalShiftsResponse ListZonalShifts(ListZonalShiftsRequest request);
///
/// Initiates the asynchronous execution of the ListZonalShifts operation.
///
///
/// Container for the necessary parameters to execute the ListZonalShifts operation on AmazonARCZonalShiftClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListZonalShifts
/// operation.
/// REST API Reference for ListZonalShifts Operation
IAsyncResult BeginListZonalShifts(ListZonalShiftsRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the ListZonalShifts operation.
///
///
/// The IAsyncResult returned by the call to BeginListZonalShifts.
///
/// Returns a ListZonalShiftsResult from ARCZonalShift.
/// REST API Reference for ListZonalShifts Operation
ListZonalShiftsResponse EndListZonalShifts(IAsyncResult asyncResult);
#endregion
#region StartZonalShift
///
/// You start a zonal shift to temporarily move load balancer traffic away from an Availability
/// Zone in a AWS Region, to help your application recover immediately, for example, from
/// a developer's bad code deployment or from an AWS infrastructure failure in a single
/// Availability Zone. You can start a zonal shift in Route 53 ARC only for managed resources
/// in your account in an AWS Region. Resources are automatically registered with Route
/// 53 ARC by AWS services.
///
///
///
/// At this time, you can only start a zonal shift for Network Load Balancers and Application
/// Load Balancers with cross-zone load balancing turned off.
///
///
///
/// When you start a zonal shift, traffic for the resource is no longer routed to the
/// Availability Zone. The zonal shift is created immediately in Route 53 ARC. However,
/// it can take a short time, typically up to a few minutes, for existing, in-progress
/// connections in the Availability Zone to complete.
///
///
///
/// For more information, see Zonal
/// shift in the Amazon Route 53 Application Recovery Controller Developer Guide.
///
///
/// Container for the necessary parameters to execute the StartZonalShift service method.
///
/// The response from the StartZonalShift service method, as returned by ARCZonalShift.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request could not be processed because of conflict in the current state of the
/// resource.
///
///
/// There was an internal server error.
///
///
/// The input requested a resource that was not found.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for StartZonalShift Operation
StartZonalShiftResponse StartZonalShift(StartZonalShiftRequest request);
///
/// Initiates the asynchronous execution of the StartZonalShift operation.
///
///
/// Container for the necessary parameters to execute the StartZonalShift operation on AmazonARCZonalShiftClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndStartZonalShift
/// operation.
/// REST API Reference for StartZonalShift Operation
IAsyncResult BeginStartZonalShift(StartZonalShiftRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the StartZonalShift operation.
///
///
/// The IAsyncResult returned by the call to BeginStartZonalShift.
///
/// Returns a StartZonalShiftResult from ARCZonalShift.
/// REST API Reference for StartZonalShift Operation
StartZonalShiftResponse EndStartZonalShift(IAsyncResult asyncResult);
#endregion
#region UpdateZonalShift
///
/// Update an active zonal shift in Amazon Route 53 Application Recovery Controller in
/// your AWS account. You can update a zonal shift to set a new expiration, or edit or
/// replace the comment for the zonal shift.
///
/// Container for the necessary parameters to execute the UpdateZonalShift service method.
///
/// The response from the UpdateZonalShift service method, as returned by ARCZonalShift.
///
/// You do not have sufficient access to perform this action.
///
///
/// The request could not be processed because of conflict in the current state of the
/// resource.
///
///
/// There was an internal server error.
///
///
/// The input requested a resource that was not found.
///
///
/// The request was denied due to request throttling.
///
///
/// The input fails to satisfy the constraints specified by an AWS service.
///
/// REST API Reference for UpdateZonalShift Operation
UpdateZonalShiftResponse UpdateZonalShift(UpdateZonalShiftRequest request);
///
/// Initiates the asynchronous execution of the UpdateZonalShift operation.
///
///
/// Container for the necessary parameters to execute the UpdateZonalShift operation on AmazonARCZonalShiftClient.
/// An AsyncCallback delegate that is invoked when the operation completes.
/// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback
/// procedure using the AsyncState property.
///
/// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateZonalShift
/// operation.
/// REST API Reference for UpdateZonalShift Operation
IAsyncResult BeginUpdateZonalShift(UpdateZonalShiftRequest request, AsyncCallback callback, object state);
///
/// Finishes the asynchronous execution of the UpdateZonalShift operation.
///
///
/// The IAsyncResult returned by the call to BeginUpdateZonalShift.
///
/// Returns a UpdateZonalShiftResult from ARCZonalShift.
/// REST API Reference for UpdateZonalShift Operation
UpdateZonalShiftResponse EndUpdateZonalShift(IAsyncResult asyncResult);
#endregion
}
}