/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
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::VectorA 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::VectorA list of tasks that Customer Profiles performs while transferring the data * in the flow run.
*/ inline void SetTasks(Aws::VectorA list of tasks that Customer Profiles performs while transferring the data * in the flow run.
*/ inline FlowDefinition& WithTasks(const Aws::VectorA list of tasks that Customer Profiles performs while transferring the data * in the flow run.
*/ inline FlowDefinition& WithTasks(Aws::VectorA 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