/*************************************************************************
* Copyright 2013-2014 Eucalyptus Systems, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 3 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses/.
*
* Please contact Eucalyptus Systems, Inc., 6755 Hollister Ave., Goleta
* CA 93117, USA or visit http://www.eucalyptus.com/licenses/ if you need
* additional information or have any questions.
************************************************************************/
package com.eucalyptus.cloudformation.workflow;
import com.amazonaws.services.simpleworkflow.flow.annotations.Activities;
import com.amazonaws.services.simpleworkflow.flow.annotations.ActivityRegistrationOptions;
@ActivityRegistrationOptions(
defaultTaskScheduleToStartTimeoutSeconds = 900,
defaultTaskStartToCloseTimeoutSeconds = 450,
defaultTaskHeartbeatTimeoutSeconds = 450,
defaultTaskScheduleToCloseTimeoutSeconds = 1350
)
@Activities(version="2.0")
public interface StackActivity {
public String initCreateResource(String resourceId, String stackId, String accountId, String effectiveUserId, String reverseDependentResourcesJson, int stackVersion);
public String validateAWSParameterTypes(String stackId, String accountId, String effectiveUserId, int stackVersion);
public Boolean performCreateStep(String stepId, String resourceId, String stackId, String accountId, String effectiveUserId, int createdResourceVersion);
public Boolean performDeleteStep(String stepId, String resourceId, String stackId, String accountId, String effectiveUserId, int deletedResourceVersion);
public String determineCreateResourceFailures(String stackId, String accountId, int createdResourceVersion);
public String determineUpdateResourceFailures(String stackId, String accountId, int updatedResourceVersion);
public String determineDeleteResourceFailures(String stackId, String accountId, int deletedResourceVersion);
public String initDeleteResource(String resourceId, String stackId, String accountId, String effectiveUserId, int deletedResourceVersion, String retainedResourcesStr);
public String createGlobalStackEvent(String stackId, String accountId, String resourceStatus, String resourceStatusReason, int stackVersion);
public String finalizeCreateStack(String stackId, String accountId, String effectiveUserId, int createdStackVersion);
public String finalizeUpdateStack(String stackId, String accountId, String effectiveUserId, int updatedStackVersion);
public String deleteAllStackRecords(String stackId, String accountId);
public String getResourceType(String stackId, String accountId, String resourceId, int resourceVersion);
public String finalizeCreateResource(String resourceId, String stackId, String accountId, String effectiveUserId, int createdResourceVersion);
public String finalizeDeleteResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String failDeleteResource(String resourceId, String stackId, String accountId, String effectiveUserId, String errorMessage, int deletedResourceVersion);
public String getCreateWorkflowExecutionCloseStatus(String stackId);
public String getUpdateWorkflowExecutionCloseStatus(String stackId);
public String getStackStatus(String stackId, String accountId, int stackVersion);
public String setStackStatus(String stackId, String accountId, String status, String statusReason, int stackVersion);
public String cancelCreateAndMonitorWorkflows(String stackId);
public String verifyCreateAndMonitorWorkflowsClosed(String stackId);
public String cancelOutstandingCreateResources(String stackId, String accountId, String cancelMessage, int createdResourceVersion);
public String cancelOutstandingUpdateResources(String stackId, String accountId, String cancelMessage, int updatedResourceVersion);
public String initUpdateResource(String resourceId, String stackId, String accountId, String effectiveUserId, String reverseDependentResourcesJson, int updatedResourceVersion);
public String finalizeUpdateResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public Boolean performUpdateStep(String updateTypeAndDirectionStr, String stepId, String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String finalizeUpdateCleanupStack(String stackId, String accountId, String statusMessage, int updatedStackVersion);
public String initUpdateCleanupResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String failUpdateCleanupResource(String resourceId, String stackId, String accountId, String effectiveUserId, String errorMessage, int updatedResourceVersion);
public String finalizeUpdateCleanupResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String initUpdateRollbackResource(String resourceId, String stackId, String accountId, String effectiveUserId, int rolledBackResourceVersion);
public String finalizeUpdateRollbackResource(String resourceId, String stackId, String accountId, String effectiveUserId, int rolledBackResourceVersion);
public String finalizeUpdateRollbackStack(String stackId, String accountId, int rolledBackStackVersion);
public String failUpdateRollbackStack(String stackId, String accountId, int rolledBackStackVersion, String errorMessage);
public String failUpdateUnsupportedResource(String resourceId, String stackId, String accountId, String effectiveUserId, String errorMessage, int updatedResourceVersion);
public String finalizeUpdateRollbackCleanupStack(String stackId, String accountId, String statusMessage, int rolledBackStackVersion);
public String initUpdateRollbackCleanupResource(String resourceId, String stackId, String accountId, String effectiveUserId, int rolledBackResourceVersion);
public String failUpdateRollbackCleanupResource(String resourceId, String stackId, String accountId, String effectiveUserId, String errorMessage, int rolledBackResourceVersion);
public String finalizeUpdateRollbackCleanupResource(String resourceId, String stackId, String accountId, String effectiveUserId, int rolledBackResourceVersion);
public String initUpdateRollbackStack(String stackId, String accountId, int rolledBackStackVersion);
public String flattenStackForDelete(String stackId, String accountId);
public String checkResourceAlreadyRolledBackOrStartedRollback(String stackId, String accountId, String resourceId);
public String addCompletedUpdateRollbackResource(String stackId, String accountId, String resourceId);
public Boolean checkInnerStackUpdate(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String initUpdateCleanupInnerStackUpdateResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String finalizeUpdateCleanupInnerStackUpdateResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public Boolean performUpdateCleanupInnerStackUpdateStep(String stepId, String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String initUpdateRollbackCleanupInnerStackUpdateResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String finalizeUpdateRollbackCleanupInnerStackUpdateResource(String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public Boolean performUpdateRollbackCleanupInnerStackUpdateStep(String stepId, String resourceId, String stackId, String accountId, String effectiveUserId, int updatedResourceVersion);
public String kickOffUpdateRollbackCleanupStackWorkflow(String stackId, String accountId, String effectiveUserId);
public String kickOffUpdateRollbackStackWorkflow(String stackId, String accountId, String outerStackArn, String effectiveUserId);
public String kickOffUpdateCleanupStackWorkflow(String stackId, String accountId, String effectiveUserId);
public String kickOffDeleteStackWorkflow(String effectiveUserId, String stackId, String stackName, String stackAccountId, String stackAccountAlias, String resourceDependencyManagerJson, int deletedStackVersion, String retainedResourcesStr);
public String kickOffRollbackStackWorkflow(String effectiveUserId, String stackId, String stackName, String accountId, String accountAlias, String resourceDependencyManagerJson, int rolledBackStackVersion);
public String logMessage(String level, String message);
public String cancelOutstandingDeleteResources(String stackId, String accountId, String cancelMessage, int deletedResourceVersion);
public String getWorkflowExecutionCloseStatus(String stackId, String workflowType);
public String getStackStatusIfLatest(String stackId, String accountId, int stackVersion);
public String setStackStatusIfLatest(String stackId, String accountId, String status, String statusReason, int stackVersion);
}