public AWSIAMInstanceProfileResourceAction() {
   for (CreateSteps createStep : CreateSteps.values()) {
     createSteps.put(createStep.name(), createStep);
   }
   for (DeleteSteps deleteStep : DeleteSteps.values()) {
     deleteSteps.put(deleteStep.name(), deleteStep);
   }
 }
 @Override
 public Promise<String> getDeletePromise(
     WorkflowOperations<StackActivityClient> workflowOperations,
     String resourceId,
     String stackId,
     String accountId,
     String effectiveUserId) {
   List<String> stepIds =
       Lists.transform(Lists.newArrayList(DeleteSteps.values()), StepTransform.INSTANCE);
   return new DeleteMultiStepPromise(workflowOperations, stepIds, this)
       .getDeletePromise(resourceId, stackId, accountId, effectiveUserId);
 }