/** * 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 Appflow { namespace Model { /** *

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

See Also:

AWS * API Reference

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

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

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

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

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

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

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

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

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

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

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

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

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

The API version of the connector when it's used as a source in the flow.

*/ inline const Aws::String& GetApiVersion() const{ return m_apiVersion; } /** *

The API version of the connector when it's used as a source in the flow.

*/ inline bool ApiVersionHasBeenSet() const { return m_apiVersionHasBeenSet; } /** *

The API version of the connector when it's used as a source in the flow.

*/ inline void SetApiVersion(const Aws::String& value) { m_apiVersionHasBeenSet = true; m_apiVersion = value; } /** *

The API version of the connector when it's used as a source in the flow.

*/ inline void SetApiVersion(Aws::String&& value) { m_apiVersionHasBeenSet = true; m_apiVersion = std::move(value); } /** *

The API version of the connector when it's used as a source in the flow.

*/ inline void SetApiVersion(const char* value) { m_apiVersionHasBeenSet = true; m_apiVersion.assign(value); } /** *

The API version of the connector when it's used as a source in the flow.

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

The API version of the connector when it's used as a source in the flow.

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

The API version of the connector when it's used as a source in the flow.

*/ inline SourceFlowConfig& WithApiVersion(const char* value) { SetApiVersion(value); return *this;} /** *

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

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

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

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

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

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

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

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

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

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

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

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

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

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

The name of the connector profile. This name must be unique for each * connector profile in the Amazon Web Services account.

*/ inline SourceFlowConfig& WithConnectorProfileName(const char* value) { SetConnectorProfileName(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;} /** *

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;} private: ConnectorType m_connectorType; bool m_connectorTypeHasBeenSet = false; Aws::String m_apiVersion; bool m_apiVersionHasBeenSet = false; Aws::String m_connectorProfileName; bool m_connectorProfileNameHasBeenSet = false; SourceConnectorProperties m_sourceConnectorProperties; bool m_sourceConnectorPropertiesHasBeenSet = false; IncrementalPullConfig m_incrementalPullConfig; bool m_incrementalPullConfigHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws