/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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-specific profile credentials required when using Salesforce. *

See Also:

AWS * API Reference

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

The credentials used to access protected Salesforce resources.

*/ inline const Aws::String& GetAccessToken() const{ return m_accessToken; } /** *

The credentials used to access protected Salesforce resources.

*/ inline bool AccessTokenHasBeenSet() const { return m_accessTokenHasBeenSet; } /** *

The credentials used to access protected Salesforce resources.

*/ inline void SetAccessToken(const Aws::String& value) { m_accessTokenHasBeenSet = true; m_accessToken = value; } /** *

The credentials used to access protected Salesforce resources.

*/ inline void SetAccessToken(Aws::String&& value) { m_accessTokenHasBeenSet = true; m_accessToken = std::move(value); } /** *

The credentials used to access protected Salesforce resources.

*/ inline void SetAccessToken(const char* value) { m_accessTokenHasBeenSet = true; m_accessToken.assign(value); } /** *

The credentials used to access protected Salesforce resources.

*/ inline SalesforceConnectorProfileCredentials& WithAccessToken(const Aws::String& value) { SetAccessToken(value); return *this;} /** *

The credentials used to access protected Salesforce resources.

*/ inline SalesforceConnectorProfileCredentials& WithAccessToken(Aws::String&& value) { SetAccessToken(std::move(value)); return *this;} /** *

The credentials used to access protected Salesforce resources.

*/ inline SalesforceConnectorProfileCredentials& WithAccessToken(const char* value) { SetAccessToken(value); return *this;} /** *

The credentials used to acquire new access tokens.

*/ inline const Aws::String& GetRefreshToken() const{ return m_refreshToken; } /** *

The credentials used to acquire new access tokens.

*/ inline bool RefreshTokenHasBeenSet() const { return m_refreshTokenHasBeenSet; } /** *

The credentials used to acquire new access tokens.

*/ inline void SetRefreshToken(const Aws::String& value) { m_refreshTokenHasBeenSet = true; m_refreshToken = value; } /** *

The credentials used to acquire new access tokens.

*/ inline void SetRefreshToken(Aws::String&& value) { m_refreshTokenHasBeenSet = true; m_refreshToken = std::move(value); } /** *

The credentials used to acquire new access tokens.

*/ inline void SetRefreshToken(const char* value) { m_refreshTokenHasBeenSet = true; m_refreshToken.assign(value); } /** *

The credentials used to acquire new access tokens.

*/ inline SalesforceConnectorProfileCredentials& WithRefreshToken(const Aws::String& value) { SetRefreshToken(value); return *this;} /** *

The credentials used to acquire new access tokens.

*/ inline SalesforceConnectorProfileCredentials& WithRefreshToken(Aws::String&& value) { SetRefreshToken(std::move(value)); return *this;} /** *

The credentials used to acquire new access tokens.

*/ inline SalesforceConnectorProfileCredentials& WithRefreshToken(const char* value) { SetRefreshToken(value); return *this;} /** *

The OAuth requirement needed to request security tokens from the connector * endpoint.

*/ inline const ConnectorOAuthRequest& GetOAuthRequest() const{ return m_oAuthRequest; } /** *

The OAuth requirement needed to request security tokens from the connector * endpoint.

*/ inline bool OAuthRequestHasBeenSet() const { return m_oAuthRequestHasBeenSet; } /** *

The OAuth requirement needed to request security tokens from the connector * endpoint.

*/ inline void SetOAuthRequest(const ConnectorOAuthRequest& value) { m_oAuthRequestHasBeenSet = true; m_oAuthRequest = value; } /** *

The OAuth requirement needed to request security tokens from the connector * endpoint.

*/ inline void SetOAuthRequest(ConnectorOAuthRequest&& value) { m_oAuthRequestHasBeenSet = true; m_oAuthRequest = std::move(value); } /** *

The OAuth requirement needed to request security tokens from the connector * endpoint.

*/ inline SalesforceConnectorProfileCredentials& WithOAuthRequest(const ConnectorOAuthRequest& value) { SetOAuthRequest(value); return *this;} /** *

The OAuth requirement needed to request security tokens from the connector * endpoint.

*/ inline SalesforceConnectorProfileCredentials& WithOAuthRequest(ConnectorOAuthRequest&& value) { SetOAuthRequest(std::move(value)); return *this;} /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline const Aws::String& GetClientCredentialsArn() const{ return m_clientCredentialsArn; } /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline bool ClientCredentialsArnHasBeenSet() const { return m_clientCredentialsArnHasBeenSet; } /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline void SetClientCredentialsArn(const Aws::String& value) { m_clientCredentialsArnHasBeenSet = true; m_clientCredentialsArn = value; } /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline void SetClientCredentialsArn(Aws::String&& value) { m_clientCredentialsArnHasBeenSet = true; m_clientCredentialsArn = std::move(value); } /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline void SetClientCredentialsArn(const char* value) { m_clientCredentialsArnHasBeenSet = true; m_clientCredentialsArn.assign(value); } /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline SalesforceConnectorProfileCredentials& WithClientCredentialsArn(const Aws::String& value) { SetClientCredentialsArn(value); return *this;} /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline SalesforceConnectorProfileCredentials& WithClientCredentialsArn(Aws::String&& value) { SetClientCredentialsArn(std::move(value)); return *this;} /** *

The secret manager ARN, which contains the client ID and client secret of * the connected app.

*/ inline SalesforceConnectorProfileCredentials& WithClientCredentialsArn(const char* value) { SetClientCredentialsArn(value); return *this;} /** *

Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests * an access token from Salesforce. Amazon AppFlow requires an access token each * time it attempts to access your Salesforce records.

You can specify one * of the following values:

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 OAuth2GrantType& GetOAuth2GrantType() const{ return m_oAuth2GrantType; } /** *

Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests * an access token from Salesforce. Amazon AppFlow requires an access token each * time it attempts to access your Salesforce records.

You can specify one * of the following values:

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 OAuth2GrantTypeHasBeenSet() const { return m_oAuth2GrantTypeHasBeenSet; } /** *

Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests * an access token from Salesforce. Amazon AppFlow requires an access token each * time it attempts to access your Salesforce records.

You can specify one * of the following values:

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 SetOAuth2GrantType(const OAuth2GrantType& value) { m_oAuth2GrantTypeHasBeenSet = true; m_oAuth2GrantType = value; } /** *

Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests * an access token from Salesforce. Amazon AppFlow requires an access token each * time it attempts to access your Salesforce records.

You can specify one * of the following values:

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 SetOAuth2GrantType(OAuth2GrantType&& value) { m_oAuth2GrantTypeHasBeenSet = true; m_oAuth2GrantType = std::move(value); } /** *

Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests * an access token from Salesforce. Amazon AppFlow requires an access token each * time it attempts to access your Salesforce records.

You can specify one * of the following values:

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 SalesforceConnectorProfileCredentials& WithOAuth2GrantType(const OAuth2GrantType& value) { SetOAuth2GrantType(value); return *this;} /** *

Specifies the OAuth 2.0 grant type that Amazon AppFlow uses when it requests * an access token from Salesforce. Amazon AppFlow requires an access token each * time it attempts to access your Salesforce records.

You can specify one * of the following values:

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 SalesforceConnectorProfileCredentials& WithOAuth2GrantType(OAuth2GrantType&& value) { SetOAuth2GrantType(std::move(value)); return *this;} /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline const Aws::String& GetJwtToken() const{ return m_jwtToken; } /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline bool JwtTokenHasBeenSet() const { return m_jwtTokenHasBeenSet; } /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline void SetJwtToken(const Aws::String& value) { m_jwtTokenHasBeenSet = true; m_jwtToken = value; } /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline void SetJwtToken(Aws::String&& value) { m_jwtTokenHasBeenSet = true; m_jwtToken = std::move(value); } /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline void SetJwtToken(const char* value) { m_jwtTokenHasBeenSet = true; m_jwtToken.assign(value); } /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline SalesforceConnectorProfileCredentials& WithJwtToken(const Aws::String& value) { SetJwtToken(value); return *this;} /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline SalesforceConnectorProfileCredentials& WithJwtToken(Aws::String&& value) { SetJwtToken(std::move(value)); return *this;} /** *

A JSON web token (JWT) that authorizes Amazon AppFlow to access your * Salesforce records.

*/ inline SalesforceConnectorProfileCredentials& WithJwtToken(const char* value) { SetJwtToken(value); return *this;} private: Aws::String m_accessToken; bool m_accessTokenHasBeenSet = false; Aws::String m_refreshToken; bool m_refreshTokenHasBeenSet = false; ConnectorOAuthRequest m_oAuthRequest; bool m_oAuthRequestHasBeenSet = false; Aws::String m_clientCredentialsArn; bool m_clientCredentialsArnHasBeenSet = false; OAuth2GrantType m_oAuth2GrantType; bool m_oAuth2GrantTypeHasBeenSet = false; Aws::String m_jwtToken; bool m_jwtTokenHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws