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

Contains information about the configuration of the source connector used in * the flow.

See Also:

AWS * API Reference

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

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline const Aws::String& GetConnectorProfileName() const{ return m_connectorProfileName; } /** *

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline bool ConnectorProfileNameHasBeenSet() const { return m_connectorProfileNameHasBeenSet; } /** *

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline void SetConnectorProfileName(const Aws::String& value) { m_connectorProfileNameHasBeenSet = true; m_connectorProfileName = value; } /** *

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline void SetConnectorProfileName(Aws::String&& value) { m_connectorProfileNameHasBeenSet = true; m_connectorProfileName = std::move(value); } /** *

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline void SetConnectorProfileName(const char* value) { m_connectorProfileNameHasBeenSet = true; m_connectorProfileName.assign(value); } /** *

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline SourceFlowConfig& WithConnectorProfileName(const Aws::String& value) { SetConnectorProfileName(value); return *this;} /** *

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline SourceFlowConfig& WithConnectorProfileName(Aws::String&& value) { SetConnectorProfileName(std::move(value)); return *this;} /** *

The name of the AppFlow connector profile. This name must be unique for each * connector profile in the AWS account.

*/ inline SourceFlowConfig& WithConnectorProfileName(const char* value) { SetConnectorProfileName(value); return *this;} /** *

The type of connector, such as Salesforce, Marketo, and so on.

*/ inline const SourceConnectorType& GetConnectorType() const{ return m_connectorType; } /** *

The type of connector, such as Salesforce, Marketo, and so on.

*/ inline bool ConnectorTypeHasBeenSet() const { return m_connectorTypeHasBeenSet; } /** *

The type of connector, such as Salesforce, Marketo, and so on.

*/ inline void SetConnectorType(const SourceConnectorType& value) { m_connectorTypeHasBeenSet = true; m_connectorType = value; } /** *

The type of connector, such as Salesforce, Marketo, and so on.

*/ inline void SetConnectorType(SourceConnectorType&& value) { m_connectorTypeHasBeenSet = true; m_connectorType = std::move(value); } /** *

The type of connector, such as Salesforce, Marketo, and so on.

*/ inline SourceFlowConfig& WithConnectorType(const SourceConnectorType& value) { SetConnectorType(value); return *this;} /** *

The type of connector, such as Salesforce, Marketo, and so on.

*/ inline SourceFlowConfig& WithConnectorType(SourceConnectorType&& value) { SetConnectorType(std::move(value)); return *this;} /** *

Defines the configuration for a scheduled incremental data pull. If a valid * configuration is provided, the fields specified in the configuration are used * when querying for the incremental data pull.

*/ inline const IncrementalPullConfig& GetIncrementalPullConfig() const{ return m_incrementalPullConfig; } /** *

Defines the configuration for a scheduled incremental data pull. If a valid * configuration is provided, the fields specified in the configuration are used * when querying for the incremental data pull.

*/ inline bool IncrementalPullConfigHasBeenSet() const { return m_incrementalPullConfigHasBeenSet; } /** *

Defines the configuration for a scheduled incremental data pull. If a valid * configuration is provided, the fields specified in the configuration are used * when querying for the incremental data pull.

*/ inline void SetIncrementalPullConfig(const IncrementalPullConfig& value) { m_incrementalPullConfigHasBeenSet = true; m_incrementalPullConfig = value; } /** *

Defines the configuration for a scheduled incremental data pull. If a valid * configuration is provided, the fields specified in the configuration are used * when querying for the incremental data pull.

*/ inline void SetIncrementalPullConfig(IncrementalPullConfig&& value) { m_incrementalPullConfigHasBeenSet = true; m_incrementalPullConfig = std::move(value); } /** *

Defines the configuration for a scheduled incremental data pull. If a valid * configuration is provided, the fields specified in the configuration are used * when querying for the incremental data pull.

*/ inline SourceFlowConfig& WithIncrementalPullConfig(const IncrementalPullConfig& value) { SetIncrementalPullConfig(value); return *this;} /** *

Defines the configuration for a scheduled incremental data pull. If a valid * configuration is provided, the fields specified in the configuration are used * when querying for the incremental data pull.

*/ inline SourceFlowConfig& WithIncrementalPullConfig(IncrementalPullConfig&& value) { SetIncrementalPullConfig(std::move(value)); return *this;} /** *

Specifies the information that is required to query a particular source * connector.

*/ inline const SourceConnectorProperties& GetSourceConnectorProperties() const{ return m_sourceConnectorProperties; } /** *

Specifies the information that is required to query a particular source * connector.

*/ inline bool SourceConnectorPropertiesHasBeenSet() const { return m_sourceConnectorPropertiesHasBeenSet; } /** *

Specifies the information that is required to query a particular source * connector.

*/ inline void SetSourceConnectorProperties(const SourceConnectorProperties& value) { m_sourceConnectorPropertiesHasBeenSet = true; m_sourceConnectorProperties = value; } /** *

Specifies the information that is required to query a particular source * connector.

*/ inline void SetSourceConnectorProperties(SourceConnectorProperties&& value) { m_sourceConnectorPropertiesHasBeenSet = true; m_sourceConnectorProperties = std::move(value); } /** *

Specifies the information that is required to query a particular source * connector.

*/ inline SourceFlowConfig& WithSourceConnectorProperties(const SourceConnectorProperties& value) { SetSourceConnectorProperties(value); return *this;} /** *

Specifies the information that is required to query a particular source * connector.

*/ inline SourceFlowConfig& WithSourceConnectorProperties(SourceConnectorProperties&& value) { SetSourceConnectorProperties(std::move(value)); return *this;} private: Aws::String m_connectorProfileName; bool m_connectorProfileNameHasBeenSet = false; SourceConnectorType m_connectorType; bool m_connectorTypeHasBeenSet = false; IncrementalPullConfig m_incrementalPullConfig; bool m_incrementalPullConfigHasBeenSet = false; SourceConnectorProperties m_sourceConnectorProperties; bool m_sourceConnectorPropertiesHasBeenSet = false; }; } // namespace Model } // namespace CustomerProfiles } // namespace Aws