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

The configurations that control how Customer Profiles retrieves data from the * source, Amazon AppFlow. Customer Profiles uses this information to create an * AppFlow flow on behalf of customers.

See Also:

AWS * API Reference

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

A description of the flow you want to create.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the flow you want to create.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the flow you want to create.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the flow you want to create.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the flow you want to create.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the flow you want to create.

*/ inline FlowDefinition& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the flow you want to create.

*/ inline FlowDefinition& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the flow you want to create.

*/ inline FlowDefinition& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline const Aws::String& GetFlowName() const{ return m_flowName; } /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline bool FlowNameHasBeenSet() const { return m_flowNameHasBeenSet; } /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline void SetFlowName(const Aws::String& value) { m_flowNameHasBeenSet = true; m_flowName = value; } /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline void SetFlowName(Aws::String&& value) { m_flowNameHasBeenSet = true; m_flowName = std::move(value); } /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline void SetFlowName(const char* value) { m_flowNameHasBeenSet = true; m_flowName.assign(value); } /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline FlowDefinition& WithFlowName(const Aws::String& value) { SetFlowName(value); return *this;} /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline FlowDefinition& WithFlowName(Aws::String&& value) { SetFlowName(std::move(value)); return *this;} /** *

The specified name of the flow. Use underscores (_) or hyphens (-) only. * Spaces are not allowed.

*/ inline FlowDefinition& WithFlowName(const char* value) { SetFlowName(value); return *this;} /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline const Aws::String& GetKmsArn() const{ return m_kmsArn; } /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline bool KmsArnHasBeenSet() const { return m_kmsArnHasBeenSet; } /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline void SetKmsArn(const Aws::String& value) { m_kmsArnHasBeenSet = true; m_kmsArn = value; } /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline void SetKmsArn(Aws::String&& value) { m_kmsArnHasBeenSet = true; m_kmsArn = std::move(value); } /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline void SetKmsArn(const char* value) { m_kmsArnHasBeenSet = true; m_kmsArn.assign(value); } /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline FlowDefinition& WithKmsArn(const Aws::String& value) { SetKmsArn(value); return *this;} /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline FlowDefinition& WithKmsArn(Aws::String&& value) { SetKmsArn(std::move(value)); return *this;} /** *

The Amazon Resource Name of the AWS Key Management Service (KMS) key you * provide for encryption.

*/ inline FlowDefinition& WithKmsArn(const char* value) { SetKmsArn(value); return *this;} /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline const SourceFlowConfig& GetSourceFlowConfig() const{ return m_sourceFlowConfig; } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline bool SourceFlowConfigHasBeenSet() const { return m_sourceFlowConfigHasBeenSet; } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline void SetSourceFlowConfig(const SourceFlowConfig& value) { m_sourceFlowConfigHasBeenSet = true; m_sourceFlowConfig = value; } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline void SetSourceFlowConfig(SourceFlowConfig&& value) { m_sourceFlowConfigHasBeenSet = true; m_sourceFlowConfig = std::move(value); } /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline FlowDefinition& WithSourceFlowConfig(const SourceFlowConfig& value) { SetSourceFlowConfig(value); return *this;} /** *

The configuration that controls how Customer Profiles retrieves data from the * source.

*/ inline FlowDefinition& WithSourceFlowConfig(SourceFlowConfig&& value) { SetSourceFlowConfig(std::move(value)); return *this;} /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline const Aws::Vector& GetTasks() const{ return m_tasks; } /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline bool TasksHasBeenSet() const { return m_tasksHasBeenSet; } /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline void SetTasks(const Aws::Vector& value) { m_tasksHasBeenSet = true; m_tasks = value; } /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline void SetTasks(Aws::Vector&& value) { m_tasksHasBeenSet = true; m_tasks = std::move(value); } /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline FlowDefinition& WithTasks(const Aws::Vector& value) { SetTasks(value); return *this;} /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline FlowDefinition& WithTasks(Aws::Vector&& value) { SetTasks(std::move(value)); return *this;} /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline FlowDefinition& AddTasks(const Task& value) { m_tasksHasBeenSet = true; m_tasks.push_back(value); return *this; } /** *

A list of tasks that Customer Profiles performs while transferring the data * in the flow run.

*/ inline FlowDefinition& AddTasks(Task&& value) { m_tasksHasBeenSet = true; m_tasks.push_back(std::move(value)); return *this; } /** *

The trigger settings that determine how and when the flow runs.

*/ inline const TriggerConfig& GetTriggerConfig() const{ return m_triggerConfig; } /** *

The trigger settings that determine how and when the flow runs.

*/ inline bool TriggerConfigHasBeenSet() const { return m_triggerConfigHasBeenSet; } /** *

The trigger settings that determine how and when the flow runs.

*/ inline void SetTriggerConfig(const TriggerConfig& value) { m_triggerConfigHasBeenSet = true; m_triggerConfig = value; } /** *

The trigger settings that determine how and when the flow runs.

*/ inline void SetTriggerConfig(TriggerConfig&& value) { m_triggerConfigHasBeenSet = true; m_triggerConfig = std::move(value); } /** *

The trigger settings that determine how and when the flow runs.

*/ inline FlowDefinition& WithTriggerConfig(const TriggerConfig& value) { SetTriggerConfig(value); return *this;} /** *

The trigger settings that determine how and when the flow runs.

*/ inline FlowDefinition& WithTriggerConfig(TriggerConfig&& value) { SetTriggerConfig(std::move(value)); return *this;} private: Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_flowName; bool m_flowNameHasBeenSet = false; Aws::String m_kmsArn; bool m_kmsArnHasBeenSet = false; SourceFlowConfig m_sourceFlowConfig; bool m_sourceFlowConfigHasBeenSet = false; Aws::Vector m_tasks; bool m_tasksHasBeenSet = false; TriggerConfig m_triggerConfig; bool m_triggerConfigHasBeenSet = false; }; } // namespace Model } // namespace CustomerProfiles } // namespace Aws