com.amazonaws.services.ec2.model.EventInformation Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
 * Copyright 2010-2016 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.ec2.model;
import java.io.Serializable;
/**
 * 
 * Describes a Spot fleet event.
 * 
 */
public class EventInformation implements Serializable, Cloneable {
    /**
     * 
     * The ID of the instance. This information is available only for
     * instanceChange events.
     * 
     */
    private String instanceId;
    /**
     * 
     * The event.
     * 
     * 
     * The following are the error events.
     * 
     * 
     * - 
     * 
     * iamFleetRoleInvalid - The Spot fleet did not have the
     * required permissions either to launch or terminate an instance.
     * 
     *  
     * - 
     * 
     * launchSpecTemporarilyBlacklisted - The configuration is not
     * valid and several attempts to launch instances have failed. For more
     * information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotFleetRequestConfigurationInvalid - The configuration is
     * not valid. For more information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotInstanceCountLimitExceeded - You've reached the limit on
     * the number of Spot instances that you can launch.
     * 
     *  
     * 
     * 
     * The following are the fleetRequestChange events.
     * 
     * 
     * - 
     * 
     * active - The Spot fleet has been validated and Amazon EC2 is
     * attempting to maintain the target number of running Spot instances.
     * 
     *  
     * - 
     * 
     * cancelled - The Spot fleet is canceled and has no running
     * Spot instances. The Spot fleet will be deleted two days after its
     * instances were terminated.
     * 
     *  
     * - 
     * 
     * cancelled_running - The Spot fleet is canceled and will not
     * launch additional Spot instances, but its existing Spot instances
     * continue to run until they are interrupted or terminated.
     * 
     *  
     * - 
     * 
     * cancelled_terminating - The Spot fleet is canceled and its
     * Spot instances are terminating.
     * 
     *  
     * - 
     * 
     * expired - The Spot fleet request has expired. A subsequent
     * event indicates that the instances were terminated, if the request was
     * created with TerminateInstancesWithExpiration set.
     * 
     *  
     * - 
     * 
     * modify_in_progress - A request to modify the Spot fleet
     * request was accepted and is in progress.
     * 
     *  
     * - 
     * 
     * modify_successful - The Spot fleet request was modified.
     * 
     *  
     * - 
     * 
     * price_update - The bid price for a launch configuration was
     * adjusted because it was too high. This change is permanent.
     * 
     *  
     * - 
     * 
     * submitted - The Spot fleet request is being evaluated and
     * Amazon EC2 is preparing to launch the target number of Spot instances.
     * 
     *  
     * 
     * 
     * The following are the instanceChange events.
     * 
     * 
     * - 
     * 
     * launched - A bid was fulfilled and a new instance was
     * launched.
     * 
     *  
     * - 
     * 
     * terminated - An instance was terminated by the user.
     * 
     *  
     * 
     */
    private String eventSubType;
    /**
     * 
     * The description of the event.
     * 
     */
    private String eventDescription;
    /**
     * 
     * The ID of the instance. This information is available only for
     * instanceChange events.
     * 
     * 
     * @param instanceId
     *        The ID of the instance. This information is available only for
     *        instanceChange events.
     */
    public void setInstanceId(String instanceId) {
        this.instanceId = instanceId;
    }
    /**
     * 
     * The ID of the instance. This information is available only for
     * instanceChange events.
     * 
     * 
     * @return The ID of the instance. This information is available only for
     *         instanceChange events.
     */
    public String getInstanceId() {
        return this.instanceId;
    }
    /**
     * 
     * The ID of the instance. This information is available only for
     * instanceChange events.
     * 
     * 
     * @param instanceId
     *        The ID of the instance. This information is available only for
     *        instanceChange events.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public EventInformation withInstanceId(String instanceId) {
        setInstanceId(instanceId);
        return this;
    }
    /**
     * 
     * The event.
     * 
     * 
     * The following are the error events.
     * 
     * 
     * - 
     * 
     * iamFleetRoleInvalid - The Spot fleet did not have the
     * required permissions either to launch or terminate an instance.
     * 
     *  
     * - 
     * 
     * launchSpecTemporarilyBlacklisted - The configuration is not
     * valid and several attempts to launch instances have failed. For more
     * information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotFleetRequestConfigurationInvalid - The configuration is
     * not valid. For more information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotInstanceCountLimitExceeded - You've reached the limit on
     * the number of Spot instances that you can launch.
     * 
     *  
     * 
     * 
     * The following are the fleetRequestChange events.
     * 
     * 
     * - 
     * 
     * active - The Spot fleet has been validated and Amazon EC2 is
     * attempting to maintain the target number of running Spot instances.
     * 
     *  
     * - 
     * 
     * cancelled - The Spot fleet is canceled and has no running
     * Spot instances. The Spot fleet will be deleted two days after its
     * instances were terminated.
     * 
     *  
     * - 
     * 
     * cancelled_running - The Spot fleet is canceled and will not
     * launch additional Spot instances, but its existing Spot instances
     * continue to run until they are interrupted or terminated.
     * 
     *  
     * - 
     * 
     * cancelled_terminating - The Spot fleet is canceled and its
     * Spot instances are terminating.
     * 
     *  
     * - 
     * 
     * expired - The Spot fleet request has expired. A subsequent
     * event indicates that the instances were terminated, if the request was
     * created with TerminateInstancesWithExpiration set.
     * 
     *  
     * - 
     * 
     * modify_in_progress - A request to modify the Spot fleet
     * request was accepted and is in progress.
     * 
     *  
     * - 
     * 
     * modify_successful - The Spot fleet request was modified.
     * 
     *  
     * - 
     * 
     * price_update - The bid price for a launch configuration was
     * adjusted because it was too high. This change is permanent.
     * 
     *  
     * - 
     * 
     * submitted - The Spot fleet request is being evaluated and
     * Amazon EC2 is preparing to launch the target number of Spot instances.
     * 
     *  
     * 
     * 
     * The following are the instanceChange events.
     * 
     * 
     * - 
     * 
     * launched - A bid was fulfilled and a new instance was
     * launched.
     * 
     *  
     * - 
     * 
     * terminated - An instance was terminated by the user.
     * 
     *  
     * 
     * 
     * @param eventSubType
     *        The event.
     *        
     *        The following are the error events.
     *        
     *        
     *        - 
     *        
     *        iamFleetRoleInvalid - The Spot fleet did not have the
     *        required permissions either to launch or terminate an instance.
     *        
     *         
     *        - 
     *        
     *        launchSpecTemporarilyBlacklisted - The configuration
     *        is not valid and several attempts to launch instances have failed.
     *        For more information, see the description of the event.
     *        
     *         
     *        - 
     *        
     *        spotFleetRequestConfigurationInvalid - The
     *        configuration is not valid. For more information, see the
     *        description of the event.
     *        
     *         
     *        - 
     *        
     *        spotInstanceCountLimitExceeded - You've reached the
     *        limit on the number of Spot instances that you can launch.
     *        
     *         
     *        
     *        
     *        The following are the fleetRequestChange events.
     *        
     *        
     *        - 
     *        
     *        active - The Spot fleet has been validated and Amazon
     *        EC2 is attempting to maintain the target number of running Spot
     *        instances.
     *        
     *         
     *        - 
     *        
     *        cancelled - The Spot fleet is canceled and has no
     *        running Spot instances. The Spot fleet will be deleted two days
     *        after its instances were terminated.
     *        
     *         
     *        - 
     *        
     *        cancelled_running - The Spot fleet is canceled and
     *        will not launch additional Spot instances, but its existing Spot
     *        instances continue to run until they are interrupted or
     *        terminated.
     *        
     *         
     *        - 
     *        
     *        cancelled_terminating - The Spot fleet is canceled
     *        and its Spot instances are terminating.
     *        
     *         
     *        - 
     *        
     *        expired - The Spot fleet request has expired. A
     *        subsequent event indicates that the instances were terminated, if
     *        the request was created with
     *        TerminateInstancesWithExpiration set.
     *        
     *         
     *        - 
     *        
     *        modify_in_progress - A request to modify the Spot
     *        fleet request was accepted and is in progress.
     *        
     *         
     *        - 
     *        
     *        modify_successful - The Spot fleet request was
     *        modified.
     *        
     *         
     *        - 
     *        
     *        price_update - The bid price for a launch
     *        configuration was adjusted because it was too high. This change is
     *        permanent.
     *        
     *         
     *        - 
     *        
     *        submitted - The Spot fleet request is being evaluated
     *        and Amazon EC2 is preparing to launch the target number of Spot
     *        instances.
     *        
     *         
     *        
     *        
     *        The following are the instanceChange events.
     *        
     *        
     *        - 
     *        
     *        launched - A bid was fulfilled and a new instance was
     *        launched.
     *        
     *         
     *        - 
     *        
     *        terminated - An instance was terminated by the user.
     *        
     *         
     */
    public void setEventSubType(String eventSubType) {
        this.eventSubType = eventSubType;
    }
    /**
     * 
     * The event.
     * 
     * 
     * The following are the error events.
     * 
     * 
     * - 
     * 
     * iamFleetRoleInvalid - The Spot fleet did not have the
     * required permissions either to launch or terminate an instance.
     * 
     *  
     * - 
     * 
     * launchSpecTemporarilyBlacklisted - The configuration is not
     * valid and several attempts to launch instances have failed. For more
     * information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotFleetRequestConfigurationInvalid - The configuration is
     * not valid. For more information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotInstanceCountLimitExceeded - You've reached the limit on
     * the number of Spot instances that you can launch.
     * 
     *  
     * 
     * 
     * The following are the fleetRequestChange events.
     * 
     * 
     * - 
     * 
     * active - The Spot fleet has been validated and Amazon EC2 is
     * attempting to maintain the target number of running Spot instances.
     * 
     *  
     * - 
     * 
     * cancelled - The Spot fleet is canceled and has no running
     * Spot instances. The Spot fleet will be deleted two days after its
     * instances were terminated.
     * 
     *  
     * - 
     * 
     * cancelled_running - The Spot fleet is canceled and will not
     * launch additional Spot instances, but its existing Spot instances
     * continue to run until they are interrupted or terminated.
     * 
     *  
     * - 
     * 
     * cancelled_terminating - The Spot fleet is canceled and its
     * Spot instances are terminating.
     * 
     *  
     * - 
     * 
     * expired - The Spot fleet request has expired. A subsequent
     * event indicates that the instances were terminated, if the request was
     * created with TerminateInstancesWithExpiration set.
     * 
     *  
     * - 
     * 
     * modify_in_progress - A request to modify the Spot fleet
     * request was accepted and is in progress.
     * 
     *  
     * - 
     * 
     * modify_successful - The Spot fleet request was modified.
     * 
     *  
     * - 
     * 
     * price_update - The bid price for a launch configuration was
     * adjusted because it was too high. This change is permanent.
     * 
     *  
     * - 
     * 
     * submitted - The Spot fleet request is being evaluated and
     * Amazon EC2 is preparing to launch the target number of Spot instances.
     * 
     *  
     * 
     * 
     * The following are the instanceChange events.
     * 
     * 
     * - 
     * 
     * launched - A bid was fulfilled and a new instance was
     * launched.
     * 
     *  
     * - 
     * 
     * terminated - An instance was terminated by the user.
     * 
     *  
     * 
     * 
     * @return The event.
     *         
     *         The following are the error events.
     *         
     *         
     *         - 
     *         
     *         iamFleetRoleInvalid - The Spot fleet did not have
     *         the required permissions either to launch or terminate an
     *         instance.
     *         
     *          
     *         - 
     *         
     *         launchSpecTemporarilyBlacklisted - The configuration
     *         is not valid and several attempts to launch instances have
     *         failed. For more information, see the description of the event.
     *         
     *          
     *         - 
     *         
     *         spotFleetRequestConfigurationInvalid - The
     *         configuration is not valid. For more information, see the
     *         description of the event.
     *         
     *          
     *         - 
     *         
     *         spotInstanceCountLimitExceeded - You've reached the
     *         limit on the number of Spot instances that you can launch.
     *         
     *          
     *         
     *         
     *         The following are the fleetRequestChange events.
     *         
     *         
     *         - 
     *         
     *         active - The Spot fleet has been validated and
     *         Amazon EC2 is attempting to maintain the target number of running
     *         Spot instances.
     *         
     *          
     *         - 
     *         
     *         cancelled - The Spot fleet is canceled and has no
     *         running Spot instances. The Spot fleet will be deleted two days
     *         after its instances were terminated.
     *         
     *          
     *         - 
     *         
     *         cancelled_running - The Spot fleet is canceled and
     *         will not launch additional Spot instances, but its existing Spot
     *         instances continue to run until they are interrupted or
     *         terminated.
     *         
     *          
     *         - 
     *         
     *         cancelled_terminating - The Spot fleet is canceled
     *         and its Spot instances are terminating.
     *         
     *          
     *         - 
     *         
     *         expired - The Spot fleet request has expired. A
     *         subsequent event indicates that the instances were terminated, if
     *         the request was created with
     *         TerminateInstancesWithExpiration set.
     *         
     *          
     *         - 
     *         
     *         modify_in_progress - A request to modify the Spot
     *         fleet request was accepted and is in progress.
     *         
     *          
     *         - 
     *         
     *         modify_successful - The Spot fleet request was
     *         modified.
     *         
     *          
     *         - 
     *         
     *         price_update - The bid price for a launch
     *         configuration was adjusted because it was too high. This change
     *         is permanent.
     *         
     *          
     *         - 
     *         
     *         submitted - The Spot fleet request is being
     *         evaluated and Amazon EC2 is preparing to launch the target number
     *         of Spot instances.
     *         
     *          
     *         
     *         
     *         The following are the instanceChange events.
     *         
     *         
     *         - 
     *         
     *         launched - A bid was fulfilled and a new instance
     *         was launched.
     *         
     *          
     *         - 
     *         
     *         terminated - An instance was terminated by the user.
     *         
     *          
     */
    public String getEventSubType() {
        return this.eventSubType;
    }
    /**
     * 
     * The event.
     * 
     * 
     * The following are the error events.
     * 
     * 
     * - 
     * 
     * iamFleetRoleInvalid - The Spot fleet did not have the
     * required permissions either to launch or terminate an instance.
     * 
     *  
     * - 
     * 
     * launchSpecTemporarilyBlacklisted - The configuration is not
     * valid and several attempts to launch instances have failed. For more
     * information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotFleetRequestConfigurationInvalid - The configuration is
     * not valid. For more information, see the description of the event.
     * 
     *  
     * - 
     * 
     * spotInstanceCountLimitExceeded - You've reached the limit on
     * the number of Spot instances that you can launch.
     * 
     *  
     * 
     * 
     * The following are the fleetRequestChange events.
     * 
     * 
     * - 
     * 
     * active - The Spot fleet has been validated and Amazon EC2 is
     * attempting to maintain the target number of running Spot instances.
     * 
     *  
     * - 
     * 
     * cancelled - The Spot fleet is canceled and has no running
     * Spot instances. The Spot fleet will be deleted two days after its
     * instances were terminated.
     * 
     *  
     * - 
     * 
     * cancelled_running - The Spot fleet is canceled and will not
     * launch additional Spot instances, but its existing Spot instances
     * continue to run until they are interrupted or terminated.
     * 
     *  
     * - 
     * 
     * cancelled_terminating - The Spot fleet is canceled and its
     * Spot instances are terminating.
     * 
     *  
     * - 
     * 
     * expired - The Spot fleet request has expired. A subsequent
     * event indicates that the instances were terminated, if the request was
     * created with TerminateInstancesWithExpiration set.
     * 
     *  
     * - 
     * 
     * modify_in_progress - A request to modify the Spot fleet
     * request was accepted and is in progress.
     * 
     *  
     * - 
     * 
     * modify_successful - The Spot fleet request was modified.
     * 
     *  
     * - 
     * 
     * price_update - The bid price for a launch configuration was
     * adjusted because it was too high. This change is permanent.
     * 
     *  
     * - 
     * 
     * submitted - The Spot fleet request is being evaluated and
     * Amazon EC2 is preparing to launch the target number of Spot instances.
     * 
     *  
     * 
     * 
     * The following are the instanceChange events.
     * 
     * 
     * - 
     * 
     * launched - A bid was fulfilled and a new instance was
     * launched.
     * 
     *  
     * - 
     * 
     * terminated - An instance was terminated by the user.
     * 
     *  
     * 
     * 
     * @param eventSubType
     *        The event.
     *        
     *        The following are the error events.
     *        
     *        
     *        - 
     *        
     *        iamFleetRoleInvalid - The Spot fleet did not have the
     *        required permissions either to launch or terminate an instance.
     *        
     *         
     *        - 
     *        
     *        launchSpecTemporarilyBlacklisted - The configuration
     *        is not valid and several attempts to launch instances have failed.
     *        For more information, see the description of the event.
     *        
     *         
     *        - 
     *        
     *        spotFleetRequestConfigurationInvalid - The
     *        configuration is not valid. For more information, see the
     *        description of the event.
     *        
     *         
     *        - 
     *        
     *        spotInstanceCountLimitExceeded - You've reached the
     *        limit on the number of Spot instances that you can launch.
     *        
     *         
     *        
     *        
     *        The following are the fleetRequestChange events.
     *        
     *        
     *        - 
     *        
     *        active - The Spot fleet has been validated and Amazon
     *        EC2 is attempting to maintain the target number of running Spot
     *        instances.
     *        
     *         
     *        - 
     *        
     *        cancelled - The Spot fleet is canceled and has no
     *        running Spot instances. The Spot fleet will be deleted two days
     *        after its instances were terminated.
     *        
     *         
     *        - 
     *        
     *        cancelled_running - The Spot fleet is canceled and
     *        will not launch additional Spot instances, but its existing Spot
     *        instances continue to run until they are interrupted or
     *        terminated.
     *        
     *         
     *        - 
     *        
     *        cancelled_terminating - The Spot fleet is canceled
     *        and its Spot instances are terminating.
     *        
     *         
     *        - 
     *        
     *        expired - The Spot fleet request has expired. A
     *        subsequent event indicates that the instances were terminated, if
     *        the request was created with
     *        TerminateInstancesWithExpiration set.
     *        
     *         
     *        - 
     *        
     *        modify_in_progress - A request to modify the Spot
     *        fleet request was accepted and is in progress.
     *        
     *         
     *        - 
     *        
     *        modify_successful - The Spot fleet request was
     *        modified.
     *        
     *         
     *        - 
     *        
     *        price_update - The bid price for a launch
     *        configuration was adjusted because it was too high. This change is
     *        permanent.
     *        
     *         
     *        - 
     *        
     *        submitted - The Spot fleet request is being evaluated
     *        and Amazon EC2 is preparing to launch the target number of Spot
     *        instances.
     *        
     *         
     *        
     *        
     *        The following are the instanceChange events.
     *        
     *        
     *        - 
     *        
     *        launched - A bid was fulfilled and a new instance was
     *        launched.
     *        
     *         
     *        - 
     *        
     *        terminated - An instance was terminated by the user.
     *        
     *         
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public EventInformation withEventSubType(String eventSubType) {
        setEventSubType(eventSubType);
        return this;
    }
    /**
     * 
     * The description of the event.
     * 
     * 
     * @param eventDescription
     *        The description of the event.
     */
    public void setEventDescription(String eventDescription) {
        this.eventDescription = eventDescription;
    }
    /**
     * 
     * The description of the event.
     * 
     * 
     * @return The description of the event.
     */
    public String getEventDescription() {
        return this.eventDescription;
    }
    /**
     * 
     * The description of the event.
     * 
     * 
     * @param eventDescription
     *        The description of the event.
     * @return Returns a reference to this object so that method calls can be
     *         chained together.
     */
    public EventInformation withEventDescription(String eventDescription) {
        setEventDescription(eventDescription);
        return this;
    }
    /**
     * Returns a string representation of this object; useful for testing and
     * debugging.
     *
     * @return A string representation of this object.
     *
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getInstanceId() != null)
            sb.append("InstanceId: " + getInstanceId() + ",");
        if (getEventSubType() != null)
            sb.append("EventSubType: " + getEventSubType() + ",");
        if (getEventDescription() != null)
            sb.append("EventDescription: " + getEventDescription());
        sb.append("}");
        return sb.toString();
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (obj instanceof EventInformation == false)
            return false;
        EventInformation other = (EventInformation) obj;
        if (other.getInstanceId() == null ^ this.getInstanceId() == null)
            return false;
        if (other.getInstanceId() != null
                && other.getInstanceId().equals(this.getInstanceId()) == false)
            return false;
        if (other.getEventSubType() == null ^ this.getEventSubType() == null)
            return false;
        if (other.getEventSubType() != null
                && other.getEventSubType().equals(this.getEventSubType()) == false)
            return false;
        if (other.getEventDescription() == null
                ^ this.getEventDescription() == null)
            return false;
        if (other.getEventDescription() != null
                && other.getEventDescription().equals(
                        this.getEventDescription()) == false)
            return false;
        return true;
    }
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        hashCode = prime * hashCode
                + ((getInstanceId() == null) ? 0 : getInstanceId().hashCode());
        hashCode = prime
                * hashCode
                + ((getEventSubType() == null) ? 0 : getEventSubType()
                        .hashCode());
        hashCode = prime
                * hashCode
                + ((getEventDescription() == null) ? 0 : getEventDescription()
                        .hashCode());
        return hashCode;
    }
    @Override
    public EventInformation clone() {
        try {
            return (EventInformation) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new IllegalStateException(
                    "Got a CloneNotSupportedException from Object.clone() "
                            + "even though we're Cloneable!", e);
        }
    }
}