/** * 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 namespace Aws { namespace Appflow { namespace Model { /** */ class CreateConnectorProfileRequest : public AppflowRequest { public: AWS_APPFLOW_API CreateConnectorProfileRequest(); // 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 "CreateConnectorProfile"; } AWS_APPFLOW_API Aws::String SerializePayload() const override; /** *

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The name of the connector profile. The name is unique for each * ConnectorProfile in your Amazon Web Services account.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you * provide for encryption. This is required if you do not want to use the Amazon * AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses * the Amazon AppFlow-managed KMS key.

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

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 CreateConnectorProfileRequest& WithConnectorType(const ConnectorType& value) { SetConnectorType(value); return *this;} /** *

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

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

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline const Aws::String& GetConnectorLabel() const{ return m_connectorLabel; } /** *

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline bool ConnectorLabelHasBeenSet() const { return m_connectorLabelHasBeenSet; } /** *

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline void SetConnectorLabel(const Aws::String& value) { m_connectorLabelHasBeenSet = true; m_connectorLabel = value; } /** *

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline void SetConnectorLabel(Aws::String&& value) { m_connectorLabelHasBeenSet = true; m_connectorLabel = std::move(value); } /** *

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline void SetConnectorLabel(const char* value) { m_connectorLabelHasBeenSet = true; m_connectorLabel.assign(value); } /** *

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline CreateConnectorProfileRequest& WithConnectorLabel(const Aws::String& value) { SetConnectorLabel(value); return *this;} /** *

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline CreateConnectorProfileRequest& WithConnectorLabel(Aws::String&& value) { SetConnectorLabel(std::move(value)); return *this;} /** *

The label of the connector. The label is unique for each * ConnectorRegistration in your Amazon Web Services account. Only * needed if calling for CUSTOMCONNECTOR connector type/.

*/ inline CreateConnectorProfileRequest& WithConnectorLabel(const char* value) { SetConnectorLabel(value); return *this;} /** *

Indicates the connection mode and specifies whether it is public or private. * Private flows use Amazon Web Services PrivateLink to route data over Amazon Web * Services infrastructure without exposing it to the public internet.

*/ inline const ConnectionMode& GetConnectionMode() const{ return m_connectionMode; } /** *

Indicates the connection mode and specifies whether it is public or private. * Private flows use Amazon Web Services PrivateLink to route data over Amazon Web * Services infrastructure without exposing it to the public internet.

*/ inline bool ConnectionModeHasBeenSet() const { return m_connectionModeHasBeenSet; } /** *

Indicates the connection mode and specifies whether it is public or private. * Private flows use Amazon Web Services PrivateLink to route data over Amazon Web * Services infrastructure without exposing it to the public internet.

*/ inline void SetConnectionMode(const ConnectionMode& value) { m_connectionModeHasBeenSet = true; m_connectionMode = value; } /** *

Indicates the connection mode and specifies whether it is public or private. * Private flows use Amazon Web Services PrivateLink to route data over Amazon Web * Services infrastructure without exposing it to the public internet.

*/ inline void SetConnectionMode(ConnectionMode&& value) { m_connectionModeHasBeenSet = true; m_connectionMode = std::move(value); } /** *

Indicates the connection mode and specifies whether it is public or private. * Private flows use Amazon Web Services PrivateLink to route data over Amazon Web * Services infrastructure without exposing it to the public internet.

*/ inline CreateConnectorProfileRequest& WithConnectionMode(const ConnectionMode& value) { SetConnectionMode(value); return *this;} /** *

Indicates the connection mode and specifies whether it is public or private. * Private flows use Amazon Web Services PrivateLink to route data over Amazon Web * Services infrastructure without exposing it to the public internet.

*/ inline CreateConnectorProfileRequest& WithConnectionMode(ConnectionMode&& value) { SetConnectionMode(std::move(value)); return *this;} /** *

Defines the connector-specific configuration and credentials.

*/ inline const ConnectorProfileConfig& GetConnectorProfileConfig() const{ return m_connectorProfileConfig; } /** *

Defines the connector-specific configuration and credentials.

*/ inline bool ConnectorProfileConfigHasBeenSet() const { return m_connectorProfileConfigHasBeenSet; } /** *

Defines the connector-specific configuration and credentials.

*/ inline void SetConnectorProfileConfig(const ConnectorProfileConfig& value) { m_connectorProfileConfigHasBeenSet = true; m_connectorProfileConfig = value; } /** *

Defines the connector-specific configuration and credentials.

*/ inline void SetConnectorProfileConfig(ConnectorProfileConfig&& value) { m_connectorProfileConfigHasBeenSet = true; m_connectorProfileConfig = std::move(value); } /** *

Defines the connector-specific configuration and credentials.

*/ inline CreateConnectorProfileRequest& WithConnectorProfileConfig(const ConnectorProfileConfig& value) { SetConnectorProfileConfig(value); return *this;} /** *

Defines the connector-specific configuration and credentials.

*/ inline CreateConnectorProfileRequest& WithConnectorProfileConfig(ConnectorProfileConfig&& value) { SetConnectorProfileConfig(std::move(value)); return *this;} /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline CreateConnectorProfileRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline CreateConnectorProfileRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

The clientToken parameter is an idempotency token. It ensures * that your CreateConnectorProfile request completes only once. You * choose the value to pass. For example, if you don't receive a response from your * request, you can safely retry the request with the same clientToken * parameter value.

If you omit a clientToken value, the Amazon * Web Services SDK that you are using inserts a value for you. This way, the SDK * can safely retry requests multiple times after a network error. You must provide * your own value for other use cases.

If you specify input parameters that * differ from your first request, an error occurs. If you use a different value * for clientToken, Amazon AppFlow considers it a new call to * CreateConnectorProfile. The token is active for 8 hours.

*/ inline CreateConnectorProfileRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: Aws::String m_connectorProfileName; bool m_connectorProfileNameHasBeenSet = false; Aws::String m_kmsArn; bool m_kmsArnHasBeenSet = false; ConnectorType m_connectorType; bool m_connectorTypeHasBeenSet = false; Aws::String m_connectorLabel; bool m_connectorLabelHasBeenSet = false; ConnectionMode m_connectionMode; bool m_connectionModeHasBeenSet = false; ConnectorProfileConfig m_connectorProfileConfig; bool m_connectorProfileConfigHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws