/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace ARCZonalShift { namespace Model { class StartZonalShiftResult { public: AWS_ARCZONALSHIFT_API StartZonalShiftResult(); AWS_ARCZONALSHIFT_API StartZonalShiftResult(const Aws::AmazonWebServiceResult& result); AWS_ARCZONALSHIFT_API StartZonalShiftResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

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 void SetAwayFrom(const Aws::String& value) { 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_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_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 StartZonalShiftResult& 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 StartZonalShiftResult& 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 StartZonalShiftResult& 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. 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. A new comment overwrites any * existing comment string.

*/ inline void SetComment(const Aws::String& value) { m_comment = value; } /** *

A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. A new comment overwrites any * existing comment string.

*/ inline void SetComment(Aws::String&& value) { 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. A new comment overwrites any * existing comment string.

*/ inline void SetComment(const char* value) { m_comment.assign(value); } /** *

A comment that you enter about the zonal shift. Only the latest comment is * retained; no comment history is maintained. A new comment overwrites any * existing comment string.

*/ inline StartZonalShiftResult& 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. A new comment overwrites any * existing comment string.

*/ inline StartZonalShiftResult& 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. A new comment overwrites any * existing comment string.

*/ inline StartZonalShiftResult& 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 void SetExpiryTime(const Aws::Utils::DateTime& value) { 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_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 StartZonalShiftResult& 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 StartZonalShiftResult& 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 void SetResourceIdentifier(const Aws::String& value) { 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_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_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 StartZonalShiftResult& 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 StartZonalShiftResult& 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 StartZonalShiftResult& 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 void SetStartTime(const Aws::Utils::DateTime& value) { m_startTime = value; } /** *

The time (UTC) when the zonal shift is started.

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTime = std::move(value); } /** *

The time (UTC) when the zonal shift is started.

*/ inline StartZonalShiftResult& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

The time (UTC) when the zonal shift is started.

*/ inline StartZonalShiftResult& 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.

*/ inline const ZonalShiftStatus& GetStatus() const{ return m_status; } /** *

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.

*/ inline void SetStatus(const ZonalShiftStatus& value) { m_status = value; } /** *

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.

*/ inline void SetStatus(ZonalShiftStatus&& value) { m_status = std::move(value); } /** *

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.

*/ inline StartZonalShiftResult& WithStatus(const ZonalShiftStatus& value) { SetStatus(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.

*/ inline StartZonalShiftResult& WithStatus(ZonalShiftStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The identifier of a zonal shift.

*/ inline const Aws::String& GetZonalShiftId() const{ return m_zonalShiftId; } /** *

The identifier of a zonal shift.

*/ inline void SetZonalShiftId(const Aws::String& value) { m_zonalShiftId = value; } /** *

The identifier of a zonal shift.

*/ inline void SetZonalShiftId(Aws::String&& value) { m_zonalShiftId = std::move(value); } /** *

The identifier of a zonal shift.

*/ inline void SetZonalShiftId(const char* value) { m_zonalShiftId.assign(value); } /** *

The identifier of a zonal shift.

*/ inline StartZonalShiftResult& WithZonalShiftId(const Aws::String& value) { SetZonalShiftId(value); return *this;} /** *

The identifier of a zonal shift.

*/ inline StartZonalShiftResult& WithZonalShiftId(Aws::String&& value) { SetZonalShiftId(std::move(value)); return *this;} /** *

The identifier of a zonal shift.

*/ inline StartZonalShiftResult& WithZonalShiftId(const char* value) { SetZonalShiftId(value); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline StartZonalShiftResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline StartZonalShiftResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline StartZonalShiftResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_awayFrom; Aws::String m_comment; Aws::Utils::DateTime m_expiryTime; Aws::String m_resourceIdentifier; Aws::Utils::DateTime m_startTime; ZonalShiftStatus m_status; Aws::String m_zonalShiftId; Aws::String m_requestId; }; } // namespace Model } // namespace ARCZonalShift } // namespace Aws