package com.sequenceiq.cloudbreak.api.model; public enum DetailedStackStatus { UNKNOWN(null), // Provision statuses PROVISION_REQUESTED(Status.REQUESTED), PROVISION_SETUP(Status.CREATE_IN_PROGRESS), IMAGE_SETUP(Status.CREATE_IN_PROGRESS), CREATING_INFRASTRUCTURE(Status.CREATE_IN_PROGRESS), METADATA_COLLECTION(Status.CREATE_IN_PROGRESS), TLS_SETUP(Status.CREATE_IN_PROGRESS), PROVISIONED(Status.AVAILABLE), PROVISION_FAILED(Status.CREATE_FAILED), // Orchestration statuses BOOTSTRAPPING_MACHINES(Status.UPDATE_IN_PROGRESS), COLLECTING_HOST_METADATA(Status.UPDATE_IN_PROGRESS), STARTING_AMBARI_SERVICES(Status.UPDATE_IN_PROGRESS), // Start statuses START_REQUESTED(Status.START_REQUESTED), START_IN_PROGRESS(Status.START_IN_PROGRESS), STARTED(Status.AVAILABLE), START_FAILED(Status.START_FAILED), // Stop statuses STOP_REQUESTED(Status.STOP_REQUESTED), STOP_IN_PROGRESS(Status.STOP_IN_PROGRESS), STOPPED(Status.STOPPED), STOP_FAILED(Status.STOP_FAILED), // Upscale statuses UPSCALE_REQUESTED(Status.UPDATE_REQUESTED), ADDING_NEW_INSTANCES(Status.UPDATE_IN_PROGRESS), EXTENDING_METADATA(Status.UPDATE_IN_PROGRESS), BOOTSTRAPPING_NEW_NODES(Status.UPDATE_IN_PROGRESS), EXTENDING_HOST_METADATA(Status.UPDATE_IN_PROGRESS), UPSCALE_COMPLETED(Status.AVAILABLE), UPSCALE_FAILED(Status.AVAILABLE), // Downscale statuses DOWNSCALE_REQUESTED(Status.UPDATE_REQUESTED), DOWNSCALE_IN_PROGRESS(Status.UPDATE_IN_PROGRESS), DOWNSCALE_COMPLETED(Status.AVAILABLE), // Termination statuses DELETE_IN_PROGRESS(Status.DELETE_IN_PROGRESS), DELETE_COMPLETED(Status.DELETE_COMPLETED), DELETE_FAILED(Status.DELETE_FAILED), // Rollback statuses ROLLING_BACK(Status.UPDATE_IN_PROGRESS), // The stack is available AVAILABLE(Status.AVAILABLE), // Instance removing status REMOVE_INSTANCE(Status.UPDATE_IN_PROGRESS), // Cluster operation is in progress CLUSTER_OPERATION(Status.UPDATE_IN_PROGRESS), // Wait for sync WAIT_FOR_SYNC(Status.WAIT_FOR_SYNC); private Status status; DetailedStackStatus(Status status) { this.status = status; } public Status getStatus() { return status; } }