/** * 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 DirectoryService { namespace Model { /** *

Contains information about a client authentication method for a * directory.

See Also:

AWS * API Reference

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

The type of client authentication for the specified directory. If no type is * specified, a list of all client authentication types that are supported for the * directory is retrieved.

*/ inline const ClientAuthenticationType& GetType() const{ return m_type; } /** *

The type of client authentication for the specified directory. If no type is * specified, a list of all client authentication types that are supported for the * directory is retrieved.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of client authentication for the specified directory. If no type is * specified, a list of all client authentication types that are supported for the * directory is retrieved.

*/ inline void SetType(const ClientAuthenticationType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of client authentication for the specified directory. If no type is * specified, a list of all client authentication types that are supported for the * directory is retrieved.

*/ inline void SetType(ClientAuthenticationType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of client authentication for the specified directory. If no type is * specified, a list of all client authentication types that are supported for the * directory is retrieved.

*/ inline ClientAuthenticationSettingInfo& WithType(const ClientAuthenticationType& value) { SetType(value); return *this;} /** *

The type of client authentication for the specified directory. If no type is * specified, a list of all client authentication types that are supported for the * directory is retrieved.

*/ inline ClientAuthenticationSettingInfo& WithType(ClientAuthenticationType&& value) { SetType(std::move(value)); return *this;} /** *

Whether the client authentication type is enabled or disabled for the * specified directory.

*/ inline const ClientAuthenticationStatus& GetStatus() const{ return m_status; } /** *

Whether the client authentication type is enabled or disabled for the * specified directory.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

Whether the client authentication type is enabled or disabled for the * specified directory.

*/ inline void SetStatus(const ClientAuthenticationStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

Whether the client authentication type is enabled or disabled for the * specified directory.

*/ inline void SetStatus(ClientAuthenticationStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

Whether the client authentication type is enabled or disabled for the * specified directory.

*/ inline ClientAuthenticationSettingInfo& WithStatus(const ClientAuthenticationStatus& value) { SetStatus(value); return *this;} /** *

Whether the client authentication type is enabled or disabled for the * specified directory.

*/ inline ClientAuthenticationSettingInfo& WithStatus(ClientAuthenticationStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

The date and time when the status of the client authentication type was last * updated.

*/ inline const Aws::Utils::DateTime& GetLastUpdatedDateTime() const{ return m_lastUpdatedDateTime; } /** *

The date and time when the status of the client authentication type was last * updated.

*/ inline bool LastUpdatedDateTimeHasBeenSet() const { return m_lastUpdatedDateTimeHasBeenSet; } /** *

The date and time when the status of the client authentication type was last * updated.

*/ inline void SetLastUpdatedDateTime(const Aws::Utils::DateTime& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = value; } /** *

The date and time when the status of the client authentication type was last * updated.

*/ inline void SetLastUpdatedDateTime(Aws::Utils::DateTime&& value) { m_lastUpdatedDateTimeHasBeenSet = true; m_lastUpdatedDateTime = std::move(value); } /** *

The date and time when the status of the client authentication type was last * updated.

*/ inline ClientAuthenticationSettingInfo& WithLastUpdatedDateTime(const Aws::Utils::DateTime& value) { SetLastUpdatedDateTime(value); return *this;} /** *

The date and time when the status of the client authentication type was last * updated.

*/ inline ClientAuthenticationSettingInfo& WithLastUpdatedDateTime(Aws::Utils::DateTime&& value) { SetLastUpdatedDateTime(std::move(value)); return *this;} private: ClientAuthenticationType m_type; bool m_typeHasBeenSet = false; ClientAuthenticationStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedDateTime; bool m_lastUpdatedDateTimeHasBeenSet = false; }; } // namespace Model } // namespace DirectoryService } // namespace Aws