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

Each step type has its own StepDetails structure.

See * Also:

AWS * API Reference

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

The name of the step, used as an identifier.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the step, used as an identifier.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the step, used as an identifier.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the step, used as an identifier.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the step, used as an identifier.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the step, used as an identifier.

*/ inline CustomStepDetails& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the step, used as an identifier.

*/ inline CustomStepDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the step, used as an identifier.

*/ inline CustomStepDetails& WithName(const char* value) { SetName(value); return *this;} /** *

The ARN for the Lambda function that is being called.

*/ inline const Aws::String& GetTarget() const{ return m_target; } /** *

The ARN for the Lambda function that is being called.

*/ inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; } /** *

The ARN for the Lambda function that is being called.

*/ inline void SetTarget(const Aws::String& value) { m_targetHasBeenSet = true; m_target = value; } /** *

The ARN for the Lambda function that is being called.

*/ inline void SetTarget(Aws::String&& value) { m_targetHasBeenSet = true; m_target = std::move(value); } /** *

The ARN for the Lambda function that is being called.

*/ inline void SetTarget(const char* value) { m_targetHasBeenSet = true; m_target.assign(value); } /** *

The ARN for the Lambda function that is being called.

*/ inline CustomStepDetails& WithTarget(const Aws::String& value) { SetTarget(value); return *this;} /** *

The ARN for the Lambda function that is being called.

*/ inline CustomStepDetails& WithTarget(Aws::String&& value) { SetTarget(std::move(value)); return *this;} /** *

The ARN for the Lambda function that is being called.

*/ inline CustomStepDetails& WithTarget(const char* value) { SetTarget(value); return *this;} /** *

Timeout, in seconds, for the step.

*/ inline int GetTimeoutSeconds() const{ return m_timeoutSeconds; } /** *

Timeout, in seconds, for the step.

*/ inline bool TimeoutSecondsHasBeenSet() const { return m_timeoutSecondsHasBeenSet; } /** *

Timeout, in seconds, for the step.

*/ inline void SetTimeoutSeconds(int value) { m_timeoutSecondsHasBeenSet = true; m_timeoutSeconds = value; } /** *

Timeout, in seconds, for the step.

*/ inline CustomStepDetails& WithTimeoutSeconds(int value) { SetTimeoutSeconds(value); return *this;} /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline const Aws::String& GetSourceFileLocation() const{ return m_sourceFileLocation; } /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline bool SourceFileLocationHasBeenSet() const { return m_sourceFileLocationHasBeenSet; } /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline void SetSourceFileLocation(const Aws::String& value) { m_sourceFileLocationHasBeenSet = true; m_sourceFileLocation = value; } /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline void SetSourceFileLocation(Aws::String&& value) { m_sourceFileLocationHasBeenSet = true; m_sourceFileLocation = std::move(value); } /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline void SetSourceFileLocation(const char* value) { m_sourceFileLocationHasBeenSet = true; m_sourceFileLocation.assign(value); } /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline CustomStepDetails& WithSourceFileLocation(const Aws::String& value) { SetSourceFileLocation(value); return *this;} /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline CustomStepDetails& WithSourceFileLocation(Aws::String&& value) { SetSourceFileLocation(std::move(value)); return *this;} /** *

Specifies which file to use as input to the workflow step: either the output * from the previous step, or the originally uploaded file for the workflow.

*
  • To use the previous file as the input, enter * ${previous.file}. In this case, this workflow step uses the output * file from the previous workflow step as input. This is the default value.

    *
  • To use the originally uploaded file location as input for this * step, enter ${original.file}.

*/ inline CustomStepDetails& WithSourceFileLocation(const char* value) { SetSourceFileLocation(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_target; bool m_targetHasBeenSet = false; int m_timeoutSeconds; bool m_timeoutSecondsHasBeenSet = false; Aws::String m_sourceFileLocation; bool m_sourceFileLocationHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws