/* * 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.servicediscovery.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* A complex type that contains information about a specified operation. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Operation implements Serializable, Cloneable, StructuredPojo { /** ** The ID of the operation that you want to get information about. *
*/ private String id; /** ** The name of the operation that's associated with the specified ID. *
*/ private String type; /** ** The status of the operation. Values include the following: *
** This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     * The operation failed. For the failure reason, see ErrorMessage.
     * 
     * If the value of Status is FAIL, the reason that the operation failed.
     * 
     * The code associated with ErrorMessage. Values for ErrorCode include the following:
     * 
     * ACCESS_DENIED
     * 
     * CANNOT_CREATE_HOSTED_ZONE
     * 
     * EXPIRED_TOKEN
     * 
     * HOSTED_ZONE_NOT_FOUND
     * 
     * INTERNAL_FAILURE
     * 
     * INVALID_CHANGE_BATCH
     * 
     * THROTTLED_REQUEST
     * 
     * The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC).
     * The value of CreateDate is accurate to milliseconds. For example, the value
     * 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
     * The date and time that the value of Status changed to the current value, in Unix date/time format
     * and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For
     * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
* The name of the target entity that's associated with the operation: *
*
     * The namespace ID is returned in the ResourceId property.
     * 
     * The service ID is returned in the ResourceId property.
     * 
     * The instance ID is returned in the ResourceId property.
     * 
* The ID of the operation that you want to get information about. *
* * @param id * The ID of the operation that you want to get information about. */ public void setId(String id) { this.id = id; } /** ** The ID of the operation that you want to get information about. *
* * @return The ID of the operation that you want to get information about. */ public String getId() { return this.id; } /** ** The ID of the operation that you want to get information about. *
* * @param id * The ID of the operation that you want to get information about. * @return Returns a reference to this object so that method calls can be chained together. */ public Operation withId(String id) { setId(id); return this; } /** ** The name of the operation that's associated with the specified ID. *
* * @param type * The name of the operation that's associated with the specified ID. * @see OperationType */ public void setType(String type) { this.type = type; } /** ** The name of the operation that's associated with the specified ID. *
* * @return The name of the operation that's associated with the specified ID. * @see OperationType */ public String getType() { return this.type; } /** ** The name of the operation that's associated with the specified ID. *
* * @param type * The name of the operation that's associated with the specified ID. * @return Returns a reference to this object so that method calls can be chained together. * @see OperationType */ public Operation withType(String type) { setType(type); return this; } /** ** The name of the operation that's associated with the specified ID. *
* * @param type * The name of the operation that's associated with the specified ID. * @return Returns a reference to this object so that method calls can be chained together. * @see OperationType */ public Operation withType(OperationType type) { this.type = type.toString(); return this; } /** ** The status of the operation. Values include the following: *
** This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     * The operation failed. For the failure reason, see ErrorMessage.
     * 
* This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     *        The operation failed. For the failure reason, see ErrorMessage.
     *        
* The status of the operation. Values include the following: *
** This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     * The operation failed. For the failure reason, see ErrorMessage.
     * 
* This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     *         The operation failed. For the failure reason, see ErrorMessage.
     *         
* The status of the operation. Values include the following: *
** This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     * The operation failed. For the failure reason, see ErrorMessage.
     * 
* This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     *        The operation failed. For the failure reason, see ErrorMessage.
     *        
* The status of the operation. Values include the following: *
** This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     * The operation failed. For the failure reason, see ErrorMessage.
     * 
* This is the initial state that occurs immediately after you submit a request. *
** Cloud Map is performing the operation. *
** The operation succeeded. *
*
     *        The operation failed. For the failure reason, see ErrorMessage.
     *        
     * If the value of Status is FAIL, the reason that the operation failed.
     * 
Status is FAIL, the reason that the operation failed.
     */
    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
    /**
     * 
     * If the value of Status is FAIL, the reason that the operation failed.
     * 
Status is FAIL, the reason that the operation failed.
     */
    public String getErrorMessage() {
        return this.errorMessage;
    }
    /**
     * 
     * If the value of Status is FAIL, the reason that the operation failed.
     * 
Status is FAIL, the reason that the operation failed.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Operation withErrorMessage(String errorMessage) {
        setErrorMessage(errorMessage);
        return this;
    }
    /**
     * 
     * The code associated with ErrorMessage. Values for ErrorCode include the following:
     * 
     * ACCESS_DENIED
     * 
     * CANNOT_CREATE_HOSTED_ZONE
     * 
     * EXPIRED_TOKEN
     * 
     * HOSTED_ZONE_NOT_FOUND
     * 
     * INTERNAL_FAILURE
     * 
     * INVALID_CHANGE_BATCH
     * 
     * THROTTLED_REQUEST
     * 
ErrorMessage. Values for ErrorCode include the
     *        following:
     *        
     *        ACCESS_DENIED
     *        
     *        CANNOT_CREATE_HOSTED_ZONE
     *        
     *        EXPIRED_TOKEN
     *        
     *        HOSTED_ZONE_NOT_FOUND
     *        
     *        INTERNAL_FAILURE
     *        
     *        INVALID_CHANGE_BATCH
     *        
     *        THROTTLED_REQUEST
     *        
     * The code associated with ErrorMessage. Values for ErrorCode include the following:
     * 
     * ACCESS_DENIED
     * 
     * CANNOT_CREATE_HOSTED_ZONE
     * 
     * EXPIRED_TOKEN
     * 
     * HOSTED_ZONE_NOT_FOUND
     * 
     * INTERNAL_FAILURE
     * 
     * INVALID_CHANGE_BATCH
     * 
     * THROTTLED_REQUEST
     * 
ErrorMessage. Values for ErrorCode include the
     *         following:
     *         
     *         ACCESS_DENIED
     *         
     *         CANNOT_CREATE_HOSTED_ZONE
     *         
     *         EXPIRED_TOKEN
     *         
     *         HOSTED_ZONE_NOT_FOUND
     *         
     *         INTERNAL_FAILURE
     *         
     *         INVALID_CHANGE_BATCH
     *         
     *         THROTTLED_REQUEST
     *         
     * The code associated with ErrorMessage. Values for ErrorCode include the following:
     * 
     * ACCESS_DENIED
     * 
     * CANNOT_CREATE_HOSTED_ZONE
     * 
     * EXPIRED_TOKEN
     * 
     * HOSTED_ZONE_NOT_FOUND
     * 
     * INTERNAL_FAILURE
     * 
     * INVALID_CHANGE_BATCH
     * 
     * THROTTLED_REQUEST
     * 
ErrorMessage. Values for ErrorCode include the
     *        following:
     *        
     *        ACCESS_DENIED
     *        
     *        CANNOT_CREATE_HOSTED_ZONE
     *        
     *        EXPIRED_TOKEN
     *        
     *        HOSTED_ZONE_NOT_FOUND
     *        
     *        INTERNAL_FAILURE
     *        
     *        INVALID_CHANGE_BATCH
     *        
     *        THROTTLED_REQUEST
     *        
     * The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC).
     * The value of CreateDate is accurate to milliseconds. For example, the value
     * 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
CreateDate is accurate to milliseconds. For example, the value
     *        1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     */
    public void setCreateDate(java.util.Date createDate) {
        this.createDate = createDate;
    }
    /**
     * 
     * The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC).
     * The value of CreateDate is accurate to milliseconds. For example, the value
     * 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
CreateDate is accurate to milliseconds. For example, the value
     *         1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     */
    public java.util.Date getCreateDate() {
        return this.createDate;
    }
    /**
     * 
     * The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC).
     * The value of CreateDate is accurate to milliseconds. For example, the value
     * 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
CreateDate is accurate to milliseconds. For example, the value
     *        1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Operation withCreateDate(java.util.Date createDate) {
        setCreateDate(createDate);
        return this;
    }
    /**
     * 
     * The date and time that the value of Status changed to the current value, in Unix date/time format
     * and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For
     * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
Status changed to the current value, in Unix date/time
     *        format and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to
     *        milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018
     *        12:11:30.087 AM.
     */
    public void setUpdateDate(java.util.Date updateDate) {
        this.updateDate = updateDate;
    }
    /**
     * 
     * The date and time that the value of Status changed to the current value, in Unix date/time format
     * and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For
     * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
Status changed to the current value, in Unix date/time
     *         format and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to
     *         milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018
     *         12:11:30.087 AM.
     */
    public java.util.Date getUpdateDate() {
        return this.updateDate;
    }
    /**
     * 
     * The date and time that the value of Status changed to the current value, in Unix date/time format
     * and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For
     * example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
     * 
Status changed to the current value, in Unix date/time
     *        format and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to
     *        milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018
     *        12:11:30.087 AM.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public Operation withUpdateDate(java.util.Date updateDate) {
        setUpdateDate(updateDate);
        return this;
    }
    /**
     * * The name of the target entity that's associated with the operation: *
*
     * The namespace ID is returned in the ResourceId property.
     * 
     * The service ID is returned in the ResourceId property.
     * 
     * The instance ID is returned in the ResourceId property.
     * 
     *         The namespace ID is returned in the ResourceId property.
     *         
     *         The service ID is returned in the ResourceId property.
     *         
     *         The instance ID is returned in the ResourceId property.
     *         
* The name of the target entity that's associated with the operation: *
*
     * The namespace ID is returned in the ResourceId property.
     * 
     * The service ID is returned in the ResourceId property.
     * 
     * The instance ID is returned in the ResourceId property.
     * 
     *        The namespace ID is returned in the ResourceId property.
     *        
     *        The service ID is returned in the ResourceId property.
     *        
     *        The instance ID is returned in the ResourceId property.
     *        
* The name of the target entity that's associated with the operation: *
*
     * The namespace ID is returned in the ResourceId property.
     * 
     * The service ID is returned in the ResourceId property.
     * 
     * The instance ID is returned in the ResourceId property.
     * 
     *        The namespace ID is returned in the ResourceId property.
     *        
     *        The service ID is returned in the ResourceId property.
     *        
     *        The instance ID is returned in the ResourceId property.
     *