/* * Copyright 2018-2023 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. */ package com.amazonaws.services.arczonalshift.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *

* 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 AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class ZonalShiftSummary implements Serializable, Cloneable, StructuredPojo { /** *

* 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. *

*/ private String awayFrom; /** *

* 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. *

*/ private String comment; /** *

* 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. *

*/ private java.util.Date expiryTime; /** *

* 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. *

*/ private String resourceIdentifier; /** *

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

*/ private java.util.Date startTime; /** *

* A status for a zonal shift. *

*

* The Status for a zonal shift can have one of the following values: *

* */ private String status; /** *

* The identifier of a zonal shift. *

*/ private String zonalShiftId; /** *

* 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. *

* * @param 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. */ public void setAwayFrom(String awayFrom) { this.awayFrom = 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. *

* * @return 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. */ public String getAwayFrom() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ZonalShiftSummary withAwayFrom(String awayFrom) { setAwayFrom(awayFrom); 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. *

* * @param 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. */ public void setComment(String comment) { this.comment = 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. *

* * @return 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. */ public String getComment() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ZonalShiftSummary withComment(String comment) { setComment(comment); 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. *

* * @param 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. */ public void setExpiryTime(java.util.Date expiryTime) { this.expiryTime = 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. *

* * @return 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. */ public java.util.Date getExpiryTime() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ZonalShiftSummary withExpiryTime(java.util.Date expiryTime) { setExpiryTime(expiryTime); 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. *

* * @param 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. */ public void setResourceIdentifier(String resourceIdentifier) { this.resourceIdentifier = 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. *

* * @return 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. */ public String getResourceIdentifier() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public ZonalShiftSummary withResourceIdentifier(String resourceIdentifier) { setResourceIdentifier(resourceIdentifier); return this; } /** *

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

* * @param startTime * The time (UTC) when the zonal shift is started. */ public void setStartTime(java.util.Date startTime) { this.startTime = startTime; } /** *

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

* * @return The time (UTC) when the zonal shift is started. */ public java.util.Date getStartTime() { return this.startTime; } /** *

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

* * @param startTime * The time (UTC) when the zonal shift is started. * @return Returns a reference to this object so that method calls can be chained together. */ public ZonalShiftSummary withStartTime(java.util.Date startTime) { setStartTime(startTime); return this; } /** *

* A status for a zonal shift. *

*

* The Status for a zonal shift can have one of the following values: *

* * * @param status * A status for a zonal shift.

*

* The Status for a zonal shift can have one of the following values: *

*