/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Transfer { namespace Model { /** *

Specifies the following details for the step: error (if any), outputs (if * any), and the step type.

See Also:

AWS * API Reference

*/ class ExecutionStepResult { public: AWS_TRANSFER_API ExecutionStepResult(); AWS_TRANSFER_API ExecutionStepResult(Aws::Utils::Json::JsonView jsonValue); AWS_TRANSFER_API ExecutionStepResult& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_TRANSFER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

One of the available step types.

  • COPY * - Copy the file to another location.

  • CUSTOM * - Perform a custom step with an Lambda function target.

  • * DECRYPT - Decrypt a file that was encrypted before it was * uploaded.

  • DELETE - Delete the file.

    *
  • TAG - Add a tag to the file.

  • *
*/ inline const WorkflowStepType& GetStepType() const{ return m_stepType; } /** *

One of the available step types.

  • COPY * - Copy the file to another location.

  • CUSTOM * - Perform a custom step with an Lambda function target.

  • * DECRYPT - Decrypt a file that was encrypted before it was * uploaded.

  • DELETE - Delete the file.

    *
  • TAG - Add a tag to the file.

  • *
*/ inline bool StepTypeHasBeenSet() const { return m_stepTypeHasBeenSet; } /** *

One of the available step types.

  • COPY * - Copy the file to another location.

  • CUSTOM * - Perform a custom step with an Lambda function target.

  • * DECRYPT - Decrypt a file that was encrypted before it was * uploaded.

  • DELETE - Delete the file.

    *
  • TAG - Add a tag to the file.

  • *
*/ inline void SetStepType(const WorkflowStepType& value) { m_stepTypeHasBeenSet = true; m_stepType = value; } /** *

One of the available step types.

  • COPY * - Copy the file to another location.

  • CUSTOM * - Perform a custom step with an Lambda function target.

  • * DECRYPT - Decrypt a file that was encrypted before it was * uploaded.

  • DELETE - Delete the file.

    *
  • TAG - Add a tag to the file.

  • *
*/ inline void SetStepType(WorkflowStepType&& value) { m_stepTypeHasBeenSet = true; m_stepType = std::move(value); } /** *

One of the available step types.

  • COPY * - Copy the file to another location.

  • CUSTOM * - Perform a custom step with an Lambda function target.

  • * DECRYPT - Decrypt a file that was encrypted before it was * uploaded.

  • DELETE - Delete the file.

    *
  • TAG - Add a tag to the file.

  • *
*/ inline ExecutionStepResult& WithStepType(const WorkflowStepType& value) { SetStepType(value); return *this;} /** *

One of the available step types.

  • COPY * - Copy the file to another location.

  • CUSTOM * - Perform a custom step with an Lambda function target.

  • * DECRYPT - Decrypt a file that was encrypted before it was * uploaded.

  • DELETE - Delete the file.

    *
  • TAG - Add a tag to the file.

  • *
*/ inline ExecutionStepResult& WithStepType(WorkflowStepType&& value) { SetStepType(std::move(value)); return *this;} /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline const Aws::String& GetOutputs() const{ return m_outputs; } /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline bool OutputsHasBeenSet() const { return m_outputsHasBeenSet; } /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline void SetOutputs(const Aws::String& value) { m_outputsHasBeenSet = true; m_outputs = value; } /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline void SetOutputs(Aws::String&& value) { m_outputsHasBeenSet = true; m_outputs = std::move(value); } /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline void SetOutputs(const char* value) { m_outputsHasBeenSet = true; m_outputs.assign(value); } /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline ExecutionStepResult& WithOutputs(const Aws::String& value) { SetOutputs(value); return *this;} /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline ExecutionStepResult& WithOutputs(Aws::String&& value) { SetOutputs(std::move(value)); return *this;} /** *

The values for the key/value pair applied as a tag to the file. Only * applicable if the step type is TAG.

*/ inline ExecutionStepResult& WithOutputs(const char* value) { SetOutputs(value); return *this;} /** *

Specifies the details for an error, if it occurred during execution of the * specified workflow step.

*/ inline const ExecutionError& GetError() const{ return m_error; } /** *

Specifies the details for an error, if it occurred during execution of the * specified workflow step.

*/ inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; } /** *

Specifies the details for an error, if it occurred during execution of the * specified workflow step.

*/ inline void SetError(const ExecutionError& value) { m_errorHasBeenSet = true; m_error = value; } /** *

Specifies the details for an error, if it occurred during execution of the * specified workflow step.

*/ inline void SetError(ExecutionError&& value) { m_errorHasBeenSet = true; m_error = std::move(value); } /** *

Specifies the details for an error, if it occurred during execution of the * specified workflow step.

*/ inline ExecutionStepResult& WithError(const ExecutionError& value) { SetError(value); return *this;} /** *

Specifies the details for an error, if it occurred during execution of the * specified workflow step.

*/ inline ExecutionStepResult& WithError(ExecutionError&& value) { SetError(std::move(value)); return *this;} private: WorkflowStepType m_stepType; bool m_stepTypeHasBeenSet = false; Aws::String m_outputs; bool m_outputsHasBeenSet = false; ExecutionError m_error; bool m_errorHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws