/** * 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 { /** *

The connector metadata specific to Salesforce.

See Also:

* AWS * API Reference

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

The desired authorization scope for the Salesforce account.

*/ inline const Aws::Vector& GetOAuthScopes() const{ return m_oAuthScopes; } /** *

The desired authorization scope for the Salesforce account.

*/ inline bool OAuthScopesHasBeenSet() const { return m_oAuthScopesHasBeenSet; } /** *

The desired authorization scope for the Salesforce account.

*/ inline void SetOAuthScopes(const Aws::Vector& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes = value; } /** *

The desired authorization scope for the Salesforce account.

*/ inline void SetOAuthScopes(Aws::Vector&& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes = std::move(value); } /** *

The desired authorization scope for the Salesforce account.

*/ inline SalesforceMetadata& WithOAuthScopes(const Aws::Vector& value) { SetOAuthScopes(value); return *this;} /** *

The desired authorization scope for the Salesforce account.

*/ inline SalesforceMetadata& WithOAuthScopes(Aws::Vector&& value) { SetOAuthScopes(std::move(value)); return *this;} /** *

The desired authorization scope for the Salesforce account.

*/ inline SalesforceMetadata& AddOAuthScopes(const Aws::String& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes.push_back(value); return *this; } /** *

The desired authorization scope for the Salesforce account.

*/ inline SalesforceMetadata& AddOAuthScopes(Aws::String&& value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes.push_back(std::move(value)); return *this; } /** *

The desired authorization scope for the Salesforce account.

*/ inline SalesforceMetadata& AddOAuthScopes(const char* value) { m_oAuthScopesHasBeenSet = true; m_oAuthScopes.push_back(value); return *this; } /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline const Aws::Vector& GetDataTransferApis() const{ return m_dataTransferApis; } /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline bool DataTransferApisHasBeenSet() const { return m_dataTransferApisHasBeenSet; } /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline void SetDataTransferApis(const Aws::Vector& value) { m_dataTransferApisHasBeenSet = true; m_dataTransferApis = value; } /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline void SetDataTransferApis(Aws::Vector&& value) { m_dataTransferApisHasBeenSet = true; m_dataTransferApis = std::move(value); } /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline SalesforceMetadata& WithDataTransferApis(const Aws::Vector& value) { SetDataTransferApis(value); return *this;} /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline SalesforceMetadata& WithDataTransferApis(Aws::Vector&& value) { SetDataTransferApis(std::move(value)); return *this;} /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline SalesforceMetadata& AddDataTransferApis(const SalesforceDataTransferApi& value) { m_dataTransferApisHasBeenSet = true; m_dataTransferApis.push_back(value); return *this; } /** *

The Salesforce APIs that you can have Amazon AppFlow use when your flows * transfers data to or from Salesforce.

*/ inline SalesforceMetadata& AddDataTransferApis(SalesforceDataTransferApi&& value) { m_dataTransferApisHasBeenSet = true; m_dataTransferApis.push_back(std::move(value)); return *this; } /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline const Aws::Vector& GetOauth2GrantTypesSupported() const{ return m_oauth2GrantTypesSupported; } /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline bool Oauth2GrantTypesSupportedHasBeenSet() const { return m_oauth2GrantTypesSupportedHasBeenSet; } /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline void SetOauth2GrantTypesSupported(const Aws::Vector& value) { m_oauth2GrantTypesSupportedHasBeenSet = true; m_oauth2GrantTypesSupported = value; } /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline void SetOauth2GrantTypesSupported(Aws::Vector&& value) { m_oauth2GrantTypesSupportedHasBeenSet = true; m_oauth2GrantTypesSupported = std::move(value); } /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline SalesforceMetadata& WithOauth2GrantTypesSupported(const Aws::Vector& value) { SetOauth2GrantTypesSupported(value); return *this;} /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline SalesforceMetadata& WithOauth2GrantTypesSupported(Aws::Vector&& value) { SetOauth2GrantTypesSupported(std::move(value)); return *this;} /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline SalesforceMetadata& AddOauth2GrantTypesSupported(const OAuth2GrantType& value) { m_oauth2GrantTypesSupportedHasBeenSet = true; m_oauth2GrantTypesSupported.push_back(value); return *this; } /** *

The OAuth 2.0 grant types that Amazon AppFlow can use when it requests an * access token from Salesforce. Amazon AppFlow requires an access token each time * it attempts to access your Salesforce records.

*
AUTHORIZATION_CODE

Amazon AppFlow passes an authorization code * when it requests the access token from Salesforce. Amazon AppFlow receives the * authorization code from Salesforce after you log in to your Salesforce account * and authorize Amazon AppFlow to access your records.

*
CLIENT_CREDENTIALS

Amazon AppFlow passes client credentials (a * client ID and client secret) when it requests the access token from Salesforce. * You provide these credentials to Amazon AppFlow when you define the connection * to your Salesforce account.

JWT_BEARER

Amazon AppFlow * passes a JSON web token (JWT) when it requests the access token from Salesforce. * You provide the JWT to Amazon AppFlow when you define the connection to your * Salesforce account. When you use this grant type, you don't need to log in to * your Salesforce account to authorize Amazon AppFlow to access your records.

*
*/ inline SalesforceMetadata& AddOauth2GrantTypesSupported(OAuth2GrantType&& value) { m_oauth2GrantTypesSupportedHasBeenSet = true; m_oauth2GrantTypesSupported.push_back(std::move(value)); return *this; } private: Aws::Vector m_oAuthScopes; bool m_oAuthScopesHasBeenSet = false; Aws::Vector m_dataTransferApis; bool m_dataTransferApisHasBeenSet = false; Aws::Vector m_oauth2GrantTypesSupported; bool m_oauth2GrantTypesSupportedHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws