/** * 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 #include #include #include namespace Aws { namespace EntityResolution { namespace Model { /** */ class CreateMatchingWorkflowRequest : public EntityResolutionRequest { public: AWS_ENTITYRESOLUTION_API CreateMatchingWorkflowRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateMatchingWorkflow"; } AWS_ENTITYRESOLUTION_API Aws::String SerializePayload() const override; /** *

A description of the workflow.

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

A description of the workflow.

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

A description of the workflow.

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

A description of the workflow.

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

A description of the workflow.

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

A description of the workflow.

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

A description of the workflow.

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

A description of the workflow.

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

An object which defines an incremental run type and has only * incrementalRunType as a field.

*/ inline const IncrementalRunConfig& GetIncrementalRunConfig() const{ return m_incrementalRunConfig; } /** *

An object which defines an incremental run type and has only * incrementalRunType as a field.

*/ inline bool IncrementalRunConfigHasBeenSet() const { return m_incrementalRunConfigHasBeenSet; } /** *

An object which defines an incremental run type and has only * incrementalRunType as a field.

*/ inline void SetIncrementalRunConfig(const IncrementalRunConfig& value) { m_incrementalRunConfigHasBeenSet = true; m_incrementalRunConfig = value; } /** *

An object which defines an incremental run type and has only * incrementalRunType as a field.

*/ inline void SetIncrementalRunConfig(IncrementalRunConfig&& value) { m_incrementalRunConfigHasBeenSet = true; m_incrementalRunConfig = std::move(value); } /** *

An object which defines an incremental run type and has only * incrementalRunType as a field.

*/ inline CreateMatchingWorkflowRequest& WithIncrementalRunConfig(const IncrementalRunConfig& value) { SetIncrementalRunConfig(value); return *this;} /** *

An object which defines an incremental run type and has only * incrementalRunType as a field.

*/ inline CreateMatchingWorkflowRequest& WithIncrementalRunConfig(IncrementalRunConfig&& value) { SetIncrementalRunConfig(std::move(value)); return *this;} /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline const Aws::Vector& GetInputSourceConfig() const{ return m_inputSourceConfig; } /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline bool InputSourceConfigHasBeenSet() const { return m_inputSourceConfigHasBeenSet; } /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline void SetInputSourceConfig(const Aws::Vector& value) { m_inputSourceConfigHasBeenSet = true; m_inputSourceConfig = value; } /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline void SetInputSourceConfig(Aws::Vector&& value) { m_inputSourceConfigHasBeenSet = true; m_inputSourceConfig = std::move(value); } /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline CreateMatchingWorkflowRequest& WithInputSourceConfig(const Aws::Vector& value) { SetInputSourceConfig(value); return *this;} /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline CreateMatchingWorkflowRequest& WithInputSourceConfig(Aws::Vector&& value) { SetInputSourceConfig(std::move(value)); return *this;} /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline CreateMatchingWorkflowRequest& AddInputSourceConfig(const InputSource& value) { m_inputSourceConfigHasBeenSet = true; m_inputSourceConfig.push_back(value); return *this; } /** *

A list of InputSource objects, which have the fields * InputSourceARN and SchemaName.

*/ inline CreateMatchingWorkflowRequest& AddInputSourceConfig(InputSource&& value) { m_inputSourceConfigHasBeenSet = true; m_inputSourceConfig.push_back(std::move(value)); return *this; } /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline const Aws::Vector& GetOutputSourceConfig() const{ return m_outputSourceConfig; } /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline bool OutputSourceConfigHasBeenSet() const { return m_outputSourceConfigHasBeenSet; } /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline void SetOutputSourceConfig(const Aws::Vector& value) { m_outputSourceConfigHasBeenSet = true; m_outputSourceConfig = value; } /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline void SetOutputSourceConfig(Aws::Vector&& value) { m_outputSourceConfigHasBeenSet = true; m_outputSourceConfig = std::move(value); } /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline CreateMatchingWorkflowRequest& WithOutputSourceConfig(const Aws::Vector& value) { SetOutputSourceConfig(value); return *this;} /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline CreateMatchingWorkflowRequest& WithOutputSourceConfig(Aws::Vector&& value) { SetOutputSourceConfig(std::move(value)); return *this;} /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline CreateMatchingWorkflowRequest& AddOutputSourceConfig(const OutputSource& value) { m_outputSourceConfigHasBeenSet = true; m_outputSourceConfig.push_back(value); return *this; } /** *

A list of OutputSource objects, each of which contains fields * OutputS3Path, ApplyNormalization, and * Output.

*/ inline CreateMatchingWorkflowRequest& AddOutputSourceConfig(OutputSource&& value) { m_outputSourceConfigHasBeenSet = true; m_outputSourceConfig.push_back(std::move(value)); return *this; } /** *

An object which defines the resolutionType and the * ruleBasedProperties

*/ inline const ResolutionTechniques& GetResolutionTechniques() const{ return m_resolutionTechniques; } /** *

An object which defines the resolutionType and the * ruleBasedProperties

*/ inline bool ResolutionTechniquesHasBeenSet() const { return m_resolutionTechniquesHasBeenSet; } /** *

An object which defines the resolutionType and the * ruleBasedProperties

*/ inline void SetResolutionTechniques(const ResolutionTechniques& value) { m_resolutionTechniquesHasBeenSet = true; m_resolutionTechniques = value; } /** *

An object which defines the resolutionType and the * ruleBasedProperties

*/ inline void SetResolutionTechniques(ResolutionTechniques&& value) { m_resolutionTechniquesHasBeenSet = true; m_resolutionTechniques = std::move(value); } /** *

An object which defines the resolutionType and the * ruleBasedProperties

*/ inline CreateMatchingWorkflowRequest& WithResolutionTechniques(const ResolutionTechniques& value) { SetResolutionTechniques(value); return *this;} /** *

An object which defines the resolutionType and the * ruleBasedProperties

*/ inline CreateMatchingWorkflowRequest& WithResolutionTechniques(ResolutionTechniques&& value) { SetResolutionTechniques(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline CreateMatchingWorkflowRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline CreateMatchingWorkflowRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes * this role to create resources on your behalf as part of workflow execution.

*/ inline CreateMatchingWorkflowRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

The tags used to organize, track, or control access for this resource.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The tags used to organize, track, or control access for this resource.

*/ inline CreateMatchingWorkflowRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline const Aws::String& GetWorkflowName() const{ return m_workflowName; } /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline bool WorkflowNameHasBeenSet() const { return m_workflowNameHasBeenSet; } /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline void SetWorkflowName(const Aws::String& value) { m_workflowNameHasBeenSet = true; m_workflowName = value; } /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline void SetWorkflowName(Aws::String&& value) { m_workflowNameHasBeenSet = true; m_workflowName = std::move(value); } /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline void SetWorkflowName(const char* value) { m_workflowNameHasBeenSet = true; m_workflowName.assign(value); } /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline CreateMatchingWorkflowRequest& WithWorkflowName(const Aws::String& value) { SetWorkflowName(value); return *this;} /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline CreateMatchingWorkflowRequest& WithWorkflowName(Aws::String&& value) { SetWorkflowName(std::move(value)); return *this;} /** *

The name of the workflow. There cannot be multiple * DataIntegrationWorkflows with the same name.

*/ inline CreateMatchingWorkflowRequest& WithWorkflowName(const char* value) { SetWorkflowName(value); return *this;} private: Aws::String m_description; bool m_descriptionHasBeenSet = false; IncrementalRunConfig m_incrementalRunConfig; bool m_incrementalRunConfigHasBeenSet = false; Aws::Vector m_inputSourceConfig; bool m_inputSourceConfigHasBeenSet = false; Aws::Vector m_outputSourceConfig; bool m_outputSourceConfigHasBeenSet = false; ResolutionTechniques m_resolutionTechniques; bool m_resolutionTechniquesHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_workflowName; bool m_workflowNameHasBeenSet = false; }; } // namespace Model } // namespace EntityResolution } // namespace Aws