/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include You start a zonal shift to temporarily move load balancer traffic away from
* an Availability Zone in a AWS Region. 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. You can start a
* zonal shift in Route 53 ARC only for managed resources in your account in an AWS
* Region. Supported AWS resources are automatically registered with Route 53
* ARC. Zonal shifts are temporary. A zonal shift can be active for up to
* three days (72 hours). When you start a zonal shift, you specify how long
* you want it to be active, which Amazon Route 53 Application Recovery Controller
* converts to an expiry time (expiration time). You can cancel a zonal shift, for
* example, if you're ready to restore traffic to the Availability Zone. Or you can
* extend the zonal shift by updating the expiration so the zonal shift is active
* longer.See Also:
AWS
* API Reference
The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline const Aws::String& GetAwayFrom() const{ return m_awayFrom; } /** *The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline bool AwayFromHasBeenSet() const { return m_awayFromHasBeenSet; } /** *The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline void SetAwayFrom(const Aws::String& value) { m_awayFromHasBeenSet = true; m_awayFrom = value; } /** *The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline void SetAwayFrom(Aws::String&& value) { m_awayFromHasBeenSet = true; m_awayFrom = std::move(value); } /** *The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline void SetAwayFrom(const char* value) { m_awayFromHasBeenSet = true; m_awayFrom.assign(value); } /** *The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline ZonalShiftSummary& WithAwayFrom(const Aws::String& value) { SetAwayFrom(value); return *this;} /** *The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline ZonalShiftSummary& WithAwayFrom(Aws::String&& value) { SetAwayFrom(std::move(value)); return *this;} /** *The Availability Zone that traffic is moved away from for a resource when you * start a zonal shift. Until the zonal shift expires or you cancel it, traffic for * the resource is instead moved to other Availability Zones in the AWS Region.
*/ inline ZonalShiftSummary& WithAwayFrom(const char* value) { SetAwayFrom(value); return *this;} /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline const Aws::String& GetComment() const{ return m_comment; } /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline ZonalShiftSummary& WithComment(const Aws::String& value) { SetComment(value); return *this;} /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline ZonalShiftSummary& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} /** *A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. That is, a new comment overwrites * any existing comment string.
*/ inline ZonalShiftSummary& WithComment(const char* value) { SetComment(value); return *this;} /** *The expiry time (expiration time) for the zonal shift. A zonal shift is * temporary and must be set to expire when you start the zonal shift. You can * initially set a zonal shift to expire in a maximum of three days (72 hours). * However, you can update a zonal shift to set a new expiration at any time.
*When you start a zonal shift, you specify how long you want it to be active, * which Route 53 ARC converts to an expiry time (expiration time). You can cancel * a zonal shift, for example, if you're ready to restore traffic to the * Availability Zone. Or you can update the zonal shift to specify another length * of time to expire in.
*/ inline const Aws::Utils::DateTime& GetExpiryTime() const{ return m_expiryTime; } /** *The expiry time (expiration time) for the zonal shift. A zonal shift is * temporary and must be set to expire when you start the zonal shift. You can * initially set a zonal shift to expire in a maximum of three days (72 hours). * However, you can update a zonal shift to set a new expiration at any time.
*When you start a zonal shift, you specify how long you want it to be active, * which Route 53 ARC converts to an expiry time (expiration time). You can cancel * a zonal shift, for example, if you're ready to restore traffic to the * Availability Zone. Or you can update the zonal shift to specify another length * of time to expire in.
*/ inline bool ExpiryTimeHasBeenSet() const { return m_expiryTimeHasBeenSet; } /** *The expiry time (expiration time) for the zonal shift. A zonal shift is * temporary and must be set to expire when you start the zonal shift. You can * initially set a zonal shift to expire in a maximum of three days (72 hours). * However, you can update a zonal shift to set a new expiration at any time.
*When you start a zonal shift, you specify how long you want it to be active, * which Route 53 ARC converts to an expiry time (expiration time). You can cancel * a zonal shift, for example, if you're ready to restore traffic to the * Availability Zone. Or you can update the zonal shift to specify another length * of time to expire in.
*/ inline void SetExpiryTime(const Aws::Utils::DateTime& value) { m_expiryTimeHasBeenSet = true; m_expiryTime = value; } /** *The expiry time (expiration time) for the zonal shift. A zonal shift is * temporary and must be set to expire when you start the zonal shift. You can * initially set a zonal shift to expire in a maximum of three days (72 hours). * However, you can update a zonal shift to set a new expiration at any time.
*When you start a zonal shift, you specify how long you want it to be active, * which Route 53 ARC converts to an expiry time (expiration time). You can cancel * a zonal shift, for example, if you're ready to restore traffic to the * Availability Zone. Or you can update the zonal shift to specify another length * of time to expire in.
*/ inline void SetExpiryTime(Aws::Utils::DateTime&& value) { m_expiryTimeHasBeenSet = true; m_expiryTime = std::move(value); } /** *The expiry time (expiration time) for the zonal shift. A zonal shift is * temporary and must be set to expire when you start the zonal shift. You can * initially set a zonal shift to expire in a maximum of three days (72 hours). * However, you can update a zonal shift to set a new expiration at any time.
*When you start a zonal shift, you specify how long you want it to be active, * which Route 53 ARC converts to an expiry time (expiration time). You can cancel * a zonal shift, for example, if you're ready to restore traffic to the * Availability Zone. Or you can update the zonal shift to specify another length * of time to expire in.
*/ inline ZonalShiftSummary& WithExpiryTime(const Aws::Utils::DateTime& value) { SetExpiryTime(value); return *this;} /** *The expiry time (expiration time) for the zonal shift. A zonal shift is * temporary and must be set to expire when you start the zonal shift. You can * initially set a zonal shift to expire in a maximum of three days (72 hours). * However, you can update a zonal shift to set a new expiration at any time.
*When you start a zonal shift, you specify how long you want it to be active, * which Route 53 ARC converts to an expiry time (expiration time). You can cancel * a zonal shift, for example, if you're ready to restore traffic to the * Availability Zone. Or you can update the zonal shift to specify another length * of time to expire in.
*/ inline ZonalShiftSummary& WithExpiryTime(Aws::Utils::DateTime&& value) { SetExpiryTime(std::move(value)); return *this;} /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline const Aws::String& GetResourceIdentifier() const{ return m_resourceIdentifier; } /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline bool ResourceIdentifierHasBeenSet() const { return m_resourceIdentifierHasBeenSet; } /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline void SetResourceIdentifier(const Aws::String& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = value; } /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline void SetResourceIdentifier(Aws::String&& value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier = std::move(value); } /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline void SetResourceIdentifier(const char* value) { m_resourceIdentifierHasBeenSet = true; m_resourceIdentifier.assign(value); } /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline ZonalShiftSummary& WithResourceIdentifier(const Aws::String& value) { SetResourceIdentifier(value); return *this;} /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline ZonalShiftSummary& WithResourceIdentifier(Aws::String&& value) { SetResourceIdentifier(std::move(value)); return *this;} /** *The identifier for the resource to include in a zonal shift. The identifier * is the Amazon Resource Name (ARN) for the resource.
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.
*/ inline ZonalShiftSummary& WithResourceIdentifier(const char* value) { SetResourceIdentifier(value); return *this;} /** *The time (UTC) when the zonal shift is started.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The time (UTC) when the zonal shift is started.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *The time (UTC) when the zonal shift is started.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *The time (UTC) when the zonal shift is started.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *The time (UTC) when the zonal shift is started.
*/ inline ZonalShiftSummary& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The time (UTC) when the zonal shift is started.
*/ inline ZonalShiftSummary& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *A status for a zonal shift.
The Status
for a zonal shift
* can have one of the following values:
ACTIVE: The zonal * shift is started and active.
EXPIRED: The zonal shift * has expired (the expiry time was exceeded).
CANCELED: * The zonal shift was canceled.
A status for a zonal shift.
The Status
for a zonal shift
* can have one of the following values:
ACTIVE: The zonal * shift is started and active.
EXPIRED: The zonal shift * has expired (the expiry time was exceeded).
CANCELED: * The zonal shift was canceled.
A status for a zonal shift.
The Status
for a zonal shift
* can have one of the following values:
ACTIVE: The zonal * shift is started and active.
EXPIRED: The zonal shift * has expired (the expiry time was exceeded).
CANCELED: * The zonal shift was canceled.
A status for a zonal shift.
The Status
for a zonal shift
* can have one of the following values:
ACTIVE: The zonal * shift is started and active.
EXPIRED: The zonal shift * has expired (the expiry time was exceeded).
CANCELED: * The zonal shift was canceled.
A status for a zonal shift.
The Status
for a zonal shift
* can have one of the following values:
ACTIVE: The zonal * shift is started and active.
EXPIRED: The zonal shift * has expired (the expiry time was exceeded).
CANCELED: * The zonal shift was canceled.
A status for a zonal shift.
The Status
for a zonal shift
* can have one of the following values:
ACTIVE: The zonal * shift is started and active.
EXPIRED: The zonal shift * has expired (the expiry time was exceeded).
CANCELED: * The zonal shift was canceled.
The identifier of a zonal shift.
*/ inline const Aws::String& GetZonalShiftId() const{ return m_zonalShiftId; } /** *The identifier of a zonal shift.
*/ inline bool ZonalShiftIdHasBeenSet() const { return m_zonalShiftIdHasBeenSet; } /** *The identifier of a zonal shift.
*/ inline void SetZonalShiftId(const Aws::String& value) { m_zonalShiftIdHasBeenSet = true; m_zonalShiftId = value; } /** *The identifier of a zonal shift.
*/ inline void SetZonalShiftId(Aws::String&& value) { m_zonalShiftIdHasBeenSet = true; m_zonalShiftId = std::move(value); } /** *The identifier of a zonal shift.
*/ inline void SetZonalShiftId(const char* value) { m_zonalShiftIdHasBeenSet = true; m_zonalShiftId.assign(value); } /** *The identifier of a zonal shift.
*/ inline ZonalShiftSummary& WithZonalShiftId(const Aws::String& value) { SetZonalShiftId(value); return *this;} /** *The identifier of a zonal shift.
*/ inline ZonalShiftSummary& WithZonalShiftId(Aws::String&& value) { SetZonalShiftId(std::move(value)); return *this;} /** *The identifier of a zonal shift.
*/ inline ZonalShiftSummary& WithZonalShiftId(const char* value) { SetZonalShiftId(value); return *this;} private: Aws::String m_awayFrom; bool m_awayFromHasBeenSet = false; Aws::String m_comment; bool m_commentHasBeenSet = false; Aws::Utils::DateTime m_expiryTime; bool m_expiryTimeHasBeenSet = false; Aws::String m_resourceIdentifier; bool m_resourceIdentifierHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; ZonalShiftStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_zonalShiftId; bool m_zonalShiftIdHasBeenSet = false; }; } // namespace Model } // namespace ARCZonalShift } // namespace Aws