/** * 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 the default values required for OAuth 2.0 * authentication.

See Also:

AWS * API Reference

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

OAuth 2.0 scopes that the connector supports.

*/ inline const Aws::Vector& GetOauthScopes() const{ return m_oauthScopes; } /** *

OAuth 2.0 scopes that the connector supports.

*/ inline bool OauthScopesHasBeenSet() const { return m_oauthScopesHasBeenSet; } /** *

OAuth 2.0 scopes that the connector supports.

*/ inline void SetOauthScopes(const Aws::Vector& value) { m_oauthScopesHasBeenSet = true; m_oauthScopes = value; } /** *

OAuth 2.0 scopes that the connector supports.

*/ inline void SetOauthScopes(Aws::Vector&& value) { m_oauthScopesHasBeenSet = true; m_oauthScopes = std::move(value); } /** *

OAuth 2.0 scopes that the connector supports.

*/ inline OAuth2Defaults& WithOauthScopes(const Aws::Vector& value) { SetOauthScopes(value); return *this;} /** *

OAuth 2.0 scopes that the connector supports.

*/ inline OAuth2Defaults& WithOauthScopes(Aws::Vector&& value) { SetOauthScopes(std::move(value)); return *this;} /** *

OAuth 2.0 scopes that the connector supports.

*/ inline OAuth2Defaults& AddOauthScopes(const Aws::String& value) { m_oauthScopesHasBeenSet = true; m_oauthScopes.push_back(value); return *this; } /** *

OAuth 2.0 scopes that the connector supports.

*/ inline OAuth2Defaults& AddOauthScopes(Aws::String&& value) { m_oauthScopesHasBeenSet = true; m_oauthScopes.push_back(std::move(value)); return *this; } /** *

OAuth 2.0 scopes that the connector supports.

*/ inline OAuth2Defaults& AddOauthScopes(const char* value) { m_oauthScopesHasBeenSet = true; m_oauthScopes.push_back(value); return *this; } /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline const Aws::Vector& GetTokenUrls() const{ return m_tokenUrls; } /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline bool TokenUrlsHasBeenSet() const { return m_tokenUrlsHasBeenSet; } /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline void SetTokenUrls(const Aws::Vector& value) { m_tokenUrlsHasBeenSet = true; m_tokenUrls = value; } /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline void SetTokenUrls(Aws::Vector&& value) { m_tokenUrlsHasBeenSet = true; m_tokenUrls = std::move(value); } /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& WithTokenUrls(const Aws::Vector& value) { SetTokenUrls(value); return *this;} /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& WithTokenUrls(Aws::Vector&& value) { SetTokenUrls(std::move(value)); return *this;} /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddTokenUrls(const Aws::String& value) { m_tokenUrlsHasBeenSet = true; m_tokenUrls.push_back(value); return *this; } /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddTokenUrls(Aws::String&& value) { m_tokenUrlsHasBeenSet = true; m_tokenUrls.push_back(std::move(value)); return *this; } /** *

Token URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddTokenUrls(const char* value) { m_tokenUrlsHasBeenSet = true; m_tokenUrls.push_back(value); return *this; } /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline const Aws::Vector& GetAuthCodeUrls() const{ return m_authCodeUrls; } /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline bool AuthCodeUrlsHasBeenSet() const { return m_authCodeUrlsHasBeenSet; } /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline void SetAuthCodeUrls(const Aws::Vector& value) { m_authCodeUrlsHasBeenSet = true; m_authCodeUrls = value; } /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline void SetAuthCodeUrls(Aws::Vector&& value) { m_authCodeUrlsHasBeenSet = true; m_authCodeUrls = std::move(value); } /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& WithAuthCodeUrls(const Aws::Vector& value) { SetAuthCodeUrls(value); return *this;} /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& WithAuthCodeUrls(Aws::Vector&& value) { SetAuthCodeUrls(std::move(value)); return *this;} /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddAuthCodeUrls(const Aws::String& value) { m_authCodeUrlsHasBeenSet = true; m_authCodeUrls.push_back(value); return *this; } /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddAuthCodeUrls(Aws::String&& value) { m_authCodeUrlsHasBeenSet = true; m_authCodeUrls.push_back(std::move(value)); return *this; } /** *

Auth code URLs that can be used for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddAuthCodeUrls(const char* value) { m_authCodeUrlsHasBeenSet = true; m_authCodeUrls.push_back(value); return *this; } /** *

OAuth 2.0 grant types supported by the connector.

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

OAuth 2.0 grant types supported by the connector.

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

OAuth 2.0 grant types supported by the connector.

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

OAuth 2.0 grant types supported by the connector.

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

OAuth 2.0 grant types supported by the connector.

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

OAuth 2.0 grant types supported by the connector.

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

OAuth 2.0 grant types supported by the connector.

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

OAuth 2.0 grant types supported by the connector.

*/ inline OAuth2Defaults& AddOauth2GrantTypesSupported(OAuth2GrantType&& value) { m_oauth2GrantTypesSupportedHasBeenSet = true; m_oauth2GrantTypesSupported.push_back(std::move(value)); return *this; } /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline const Aws::Vector& GetOauth2CustomProperties() const{ return m_oauth2CustomProperties; } /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline bool Oauth2CustomPropertiesHasBeenSet() const { return m_oauth2CustomPropertiesHasBeenSet; } /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline void SetOauth2CustomProperties(const Aws::Vector& value) { m_oauth2CustomPropertiesHasBeenSet = true; m_oauth2CustomProperties = value; } /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline void SetOauth2CustomProperties(Aws::Vector&& value) { m_oauth2CustomPropertiesHasBeenSet = true; m_oauth2CustomProperties = std::move(value); } /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& WithOauth2CustomProperties(const Aws::Vector& value) { SetOauth2CustomProperties(value); return *this;} /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& WithOauth2CustomProperties(Aws::Vector&& value) { SetOauth2CustomProperties(std::move(value)); return *this;} /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddOauth2CustomProperties(const OAuth2CustomParameter& value) { m_oauth2CustomPropertiesHasBeenSet = true; m_oauth2CustomProperties.push_back(value); return *this; } /** *

List of custom parameters required for OAuth 2.0 authentication.

*/ inline OAuth2Defaults& AddOauth2CustomProperties(OAuth2CustomParameter&& value) { m_oauth2CustomPropertiesHasBeenSet = true; m_oauth2CustomProperties.push_back(std::move(value)); return *this; } private: Aws::Vector m_oauthScopes; bool m_oauthScopesHasBeenSet = false; Aws::Vector m_tokenUrls; bool m_tokenUrlsHasBeenSet = false; Aws::Vector m_authCodeUrls; bool m_authCodeUrlsHasBeenSet = false; Aws::Vector m_oauth2GrantTypesSupported; bool m_oauth2GrantTypesSupportedHasBeenSet = false; Aws::Vector m_oauth2CustomProperties; bool m_oauth2CustomPropertiesHasBeenSet = false; }; } // namespace Model } // namespace Appflow } // namespace Aws