/** * 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 { /** *

Specifies the workflow ID for the workflow to assign and the execution role * that's used for executing the workflow.

In addition to a workflow to * execute when a file is uploaded completely, WorkflowDetails can * also contain a workflow ID (and execution role) for a workflow to execute on * partial upload. A partial upload occurs when the server session disconnects * while the file is still being uploaded.

See Also:

AWS * API Reference

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

A unique identifier for the workflow.

*/ inline const Aws::String& GetWorkflowId() const{ return m_workflowId; } /** *

A unique identifier for the workflow.

*/ inline bool WorkflowIdHasBeenSet() const { return m_workflowIdHasBeenSet; } /** *

A unique identifier for the workflow.

*/ inline void SetWorkflowId(const Aws::String& value) { m_workflowIdHasBeenSet = true; m_workflowId = value; } /** *

A unique identifier for the workflow.

*/ inline void SetWorkflowId(Aws::String&& value) { m_workflowIdHasBeenSet = true; m_workflowId = std::move(value); } /** *

A unique identifier for the workflow.

*/ inline void SetWorkflowId(const char* value) { m_workflowIdHasBeenSet = true; m_workflowId.assign(value); } /** *

A unique identifier for the workflow.

*/ inline WorkflowDetail& WithWorkflowId(const Aws::String& value) { SetWorkflowId(value); return *this;} /** *

A unique identifier for the workflow.

*/ inline WorkflowDetail& WithWorkflowId(Aws::String&& value) { SetWorkflowId(std::move(value)); return *this;} /** *

A unique identifier for the workflow.

*/ inline WorkflowDetail& WithWorkflowId(const char* value) { SetWorkflowId(value); return *this;} /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline const Aws::String& GetExecutionRole() const{ return m_executionRole; } /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline bool ExecutionRoleHasBeenSet() const { return m_executionRoleHasBeenSet; } /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline void SetExecutionRole(const Aws::String& value) { m_executionRoleHasBeenSet = true; m_executionRole = value; } /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline void SetExecutionRole(Aws::String&& value) { m_executionRoleHasBeenSet = true; m_executionRole = std::move(value); } /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline void SetExecutionRole(const char* value) { m_executionRoleHasBeenSet = true; m_executionRole.assign(value); } /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline WorkflowDetail& WithExecutionRole(const Aws::String& value) { SetExecutionRole(value); return *this;} /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline WorkflowDetail& WithExecutionRole(Aws::String&& value) { SetExecutionRole(std::move(value)); return *this;} /** *

Includes the necessary permissions for S3, EFS, and Lambda operations that * Transfer can assume, so that all workflow steps can operate on the required * resources

*/ inline WorkflowDetail& WithExecutionRole(const char* value) { SetExecutionRole(value); return *this;} private: Aws::String m_workflowId; bool m_workflowIdHasBeenSet = false; Aws::String m_executionRole; bool m_executionRoleHasBeenSet = false; }; } // namespace Model } // namespace Transfer } // namespace Aws