/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace Redshift { namespace Model { /** *

Describes an authentication profile.

See Also:

AWS * API Reference

*/ class AuthenticationProfile { public: AWS_REDSHIFT_API AuthenticationProfile(); AWS_REDSHIFT_API AuthenticationProfile(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_REDSHIFT_API AuthenticationProfile& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The name of the authentication profile.

*/ inline const Aws::String& GetAuthenticationProfileName() const{ return m_authenticationProfileName; } /** *

The name of the authentication profile.

*/ inline bool AuthenticationProfileNameHasBeenSet() const { return m_authenticationProfileNameHasBeenSet; } /** *

The name of the authentication profile.

*/ inline void SetAuthenticationProfileName(const Aws::String& value) { m_authenticationProfileNameHasBeenSet = true; m_authenticationProfileName = value; } /** *

The name of the authentication profile.

*/ inline void SetAuthenticationProfileName(Aws::String&& value) { m_authenticationProfileNameHasBeenSet = true; m_authenticationProfileName = std::move(value); } /** *

The name of the authentication profile.

*/ inline void SetAuthenticationProfileName(const char* value) { m_authenticationProfileNameHasBeenSet = true; m_authenticationProfileName.assign(value); } /** *

The name of the authentication profile.

*/ inline AuthenticationProfile& WithAuthenticationProfileName(const Aws::String& value) { SetAuthenticationProfileName(value); return *this;} /** *

The name of the authentication profile.

*/ inline AuthenticationProfile& WithAuthenticationProfileName(Aws::String&& value) { SetAuthenticationProfileName(std::move(value)); return *this;} /** *

The name of the authentication profile.

*/ inline AuthenticationProfile& WithAuthenticationProfileName(const char* value) { SetAuthenticationProfileName(value); return *this;} /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline const Aws::String& GetAuthenticationProfileContent() const{ return m_authenticationProfileContent; } /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline bool AuthenticationProfileContentHasBeenSet() const { return m_authenticationProfileContentHasBeenSet; } /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline void SetAuthenticationProfileContent(const Aws::String& value) { m_authenticationProfileContentHasBeenSet = true; m_authenticationProfileContent = value; } /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline void SetAuthenticationProfileContent(Aws::String&& value) { m_authenticationProfileContentHasBeenSet = true; m_authenticationProfileContent = std::move(value); } /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline void SetAuthenticationProfileContent(const char* value) { m_authenticationProfileContentHasBeenSet = true; m_authenticationProfileContent.assign(value); } /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline AuthenticationProfile& WithAuthenticationProfileContent(const Aws::String& value) { SetAuthenticationProfileContent(value); return *this;} /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline AuthenticationProfile& WithAuthenticationProfileContent(Aws::String&& value) { SetAuthenticationProfileContent(std::move(value)); return *this;} /** *

The content of the authentication profile in JSON format. The maximum length * of the JSON string is determined by a quota for your account.

*/ inline AuthenticationProfile& WithAuthenticationProfileContent(const char* value) { SetAuthenticationProfileContent(value); return *this;} private: Aws::String m_authenticationProfileName; bool m_authenticationProfileNameHasBeenSet = false; Aws::String m_authenticationProfileContent; bool m_authenticationProfileContentHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws