/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Appflow { namespace Model { /** *

The connector-specific profile credentials that are required when using the * custom connector.

See Also:

AWS * API Reference

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

The authentication type that the custom connector uses for authenticating * while creating a connector profile.

*/ inline const AuthenticationType& GetAuthenticationType() const{ return m_authenticationType; } /** *

The authentication type that the custom connector uses for authenticating * while creating a connector profile.

*/ inline bool AuthenticationTypeHasBeenSet() const { return m_authenticationTypeHasBeenSet; } /** *

The authentication type that the custom connector uses for authenticating * while creating a connector profile.

*/ inline void SetAuthenticationType(const AuthenticationType& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = value; } /** *

The authentication type that the custom connector uses for authenticating * while creating a connector profile.

*/ inline void SetAuthenticationType(AuthenticationType&& value) { m_authenticationTypeHasBeenSet = true; m_authenticationType = std::move(value); } /** *

The authentication type that the custom connector uses for authenticating * while creating a connector profile.

*/ inline CustomConnectorProfileCredentials& WithAuthenticationType(const AuthenticationType& value) { SetAuthenticationType(value); return *this;} /** *

The authentication type that the custom connector uses for authenticating * while creating a connector profile.

*/ inline CustomConnectorProfileCredentials& WithAuthenticationType(AuthenticationType&& value) { SetAuthenticationType(std::move(value)); return *this;} /** *

The basic credentials that are required for the authentication of the * user.

*/ inline const BasicAuthCredentials& GetBasic() const{ return m_basic; } /** *

The basic credentials that are required for the authentication of the * user.

*/ inline bool BasicHasBeenSet() const { return m_basicHasBeenSet; } /** *

The basic credentials that are required for the authentication of the * user.

*/ inline void SetBasic(const BasicAuthCredentials& value) { m_basicHasBeenSet = true; m_basic = value; } /** *

The basic credentials that are required for the authentication of the * user.

*/ inline void SetBasic(BasicAuthCredentials&& value) { m_basicHasBeenSet = true; m_basic = std::move(value); } /** *

The basic credentials that are required for the authentication of the * user.

*/ inline CustomConnectorProfileCredentials& WithBasic(const BasicAuthCredentials& value) { SetBasic(value); return *this;} /** *

The basic credentials that are required for the authentication of the * user.

*/ inline CustomConnectorProfileCredentials& WithBasic(BasicAuthCredentials&& value) { SetBasic(std::move(value)); return *this;} /** *

The OAuth 2.0 credentials required for the authentication of the user.

*/ inline const OAuth2Credentials& GetOauth2() const{ return m_oauth2; } /** *

The OAuth 2.0 credentials required for the authentication of the user.

*/ inline bool Oauth2HasBeenSet() const { return m_oauth2HasBeenSet; } /** *

The OAuth 2.0 credentials required for the authentication of the user.

*/ inline void SetOauth2(const OAuth2Credentials& value) { m_oauth2HasBeenSet = true; m_oauth2 = value; } /** *

The OAuth 2.0 credentials required for the authentication of the user.

*/ inline void SetOauth2(OAuth2Credentials&& value) { m_oauth2HasBeenSet = true; m_oauth2 = std::move(value); } /** *

The OAuth 2.0 credentials required for the authentication of the user.

*/ inline CustomConnectorProfileCredentials& WithOauth2(const OAuth2Credentials& value) { SetOauth2(value); return *this;} /** *

The OAuth 2.0 credentials required for the authentication of the user.

*/ inline CustomConnectorProfileCredentials& WithOauth2(OAuth2Credentials&& value) { SetOauth2(std::move(value)); return *this;} /** *

The API keys required for the authentication of the user.

*/ inline const ApiKeyCredentials& GetApiKey() const{ return m_apiKey; } /** *

The API keys required for the authentication of the user.

*/ inline bool ApiKeyHasBeenSet() const { return m_apiKeyHasBeenSet; } /** *

The API keys required for the authentication of the user.

*/ inline void SetApiKey(const ApiKeyCredentials& value) { m_apiKeyHasBeenSet = true; m_apiKey = value; } /** *

The API keys required for the authentication of the user.

*/ inline void SetApiKey(ApiKeyCredentials&& value) { m_apiKeyHasBeenSet = true; m_apiKey = std::move(value); } /** *

The API keys required for the authentication of the user.

*/ inline CustomConnectorProfileCredentials& WithApiKey(const ApiKeyCredentials& value) { SetApiKey(value); return *this;} /** *

The API keys required for the authentication of the user.

*/ inline CustomConnectorProfileCredentials& WithApiKey(ApiKeyCredentials&& value) { SetApiKey(std::move(value)); return *this;} /** *

If the connector uses the custom authentication mechanism, this holds the * required credentials.

*/ inline const CustomAuthCredentials& GetCustom() const{ return m_custom; } /** *

If the connector uses the custom authentication mechanism, this holds the * required credentials.

*/ inline bool CustomHasBeenSet() const { return m_customHasBeenSet; } /** *

If the connector uses the custom authentication mechanism, this holds the * required credentials.

*/ inline void SetCustom(const CustomAuthCredentials& value) { m_customHasBeenSet = true; m_custom = value; } /** *

If the connector uses the custom authentication mechanism, this holds the * required credentials.

*/ inline void SetCustom(CustomAuthCredentials&& value) { m_customHasBeenSet = true; m_custom = std::move(value); } /** *

If the connector uses the custom authentication mechanism, this holds the * required credentials.

*/ inline CustomConnectorProfileCredentials& WithCustom(const CustomAuthCredentials& value) { SetCustom(value); return *this;} /** *

If the connector uses the custom authentication mechanism, this holds the * required credentials.

*/ inline CustomConnectorProfileCredentials& WithCustom(CustomAuthCredentials&& value) { SetCustom(std::move(value)); return *this;} private: AuthenticationType m_authenticationType; bool m_authenticationTypeHasBeenSet = false; BasicAuthCredentials m_basic; bool m_basicHasBeenSet = false; OAuth2Credentials m_oauth2; bool m_oauth2HasBeenSet = false; ApiKeyCredentials m_apiKey; bool m_apiKeyHasBeenSet = false; CustomAuthCredentials m_custom; bool m_customHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws