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

Information about the certificate.

See Also:

AWS API * Reference

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

The identifier of the certificate.

*/ inline const Aws::String& GetCertificateId() const{ return m_certificateId; } /** *

The identifier of the certificate.

*/ inline bool CertificateIdHasBeenSet() const { return m_certificateIdHasBeenSet; } /** *

The identifier of the certificate.

*/ inline void SetCertificateId(const Aws::String& value) { m_certificateIdHasBeenSet = true; m_certificateId = value; } /** *

The identifier of the certificate.

*/ inline void SetCertificateId(Aws::String&& value) { m_certificateIdHasBeenSet = true; m_certificateId = std::move(value); } /** *

The identifier of the certificate.

*/ inline void SetCertificateId(const char* value) { m_certificateIdHasBeenSet = true; m_certificateId.assign(value); } /** *

The identifier of the certificate.

*/ inline Certificate& WithCertificateId(const Aws::String& value) { SetCertificateId(value); return *this;} /** *

The identifier of the certificate.

*/ inline Certificate& WithCertificateId(Aws::String&& value) { SetCertificateId(std::move(value)); return *this;} /** *

The identifier of the certificate.

*/ inline Certificate& WithCertificateId(const char* value) { SetCertificateId(value); return *this;} /** *

The state of the certificate.

*/ inline const CertificateState& GetState() const{ return m_state; } /** *

The state of the certificate.

*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

The state of the certificate.

*/ inline void SetState(const CertificateState& value) { m_stateHasBeenSet = true; m_state = value; } /** *

The state of the certificate.

*/ inline void SetState(CertificateState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *

The state of the certificate.

*/ inline Certificate& WithState(const CertificateState& value) { SetState(value); return *this;} /** *

The state of the certificate.

*/ inline Certificate& WithState(CertificateState&& value) { SetState(std::move(value)); return *this;} /** *

Describes a state change for the certificate.

*/ inline const Aws::String& GetStateReason() const{ return m_stateReason; } /** *

Describes a state change for the certificate.

*/ inline bool StateReasonHasBeenSet() const { return m_stateReasonHasBeenSet; } /** *

Describes a state change for the certificate.

*/ inline void SetStateReason(const Aws::String& value) { m_stateReasonHasBeenSet = true; m_stateReason = value; } /** *

Describes a state change for the certificate.

*/ inline void SetStateReason(Aws::String&& value) { m_stateReasonHasBeenSet = true; m_stateReason = std::move(value); } /** *

Describes a state change for the certificate.

*/ inline void SetStateReason(const char* value) { m_stateReasonHasBeenSet = true; m_stateReason.assign(value); } /** *

Describes a state change for the certificate.

*/ inline Certificate& WithStateReason(const Aws::String& value) { SetStateReason(value); return *this;} /** *

Describes a state change for the certificate.

*/ inline Certificate& WithStateReason(Aws::String&& value) { SetStateReason(std::move(value)); return *this;} /** *

Describes a state change for the certificate.

*/ inline Certificate& WithStateReason(const char* value) { SetStateReason(value); return *this;} /** *

The common name for the certificate.

*/ inline const Aws::String& GetCommonName() const{ return m_commonName; } /** *

The common name for the certificate.

*/ inline bool CommonNameHasBeenSet() const { return m_commonNameHasBeenSet; } /** *

The common name for the certificate.

*/ inline void SetCommonName(const Aws::String& value) { m_commonNameHasBeenSet = true; m_commonName = value; } /** *

The common name for the certificate.

*/ inline void SetCommonName(Aws::String&& value) { m_commonNameHasBeenSet = true; m_commonName = std::move(value); } /** *

The common name for the certificate.

*/ inline void SetCommonName(const char* value) { m_commonNameHasBeenSet = true; m_commonName.assign(value); } /** *

The common name for the certificate.

*/ inline Certificate& WithCommonName(const Aws::String& value) { SetCommonName(value); return *this;} /** *

The common name for the certificate.

*/ inline Certificate& WithCommonName(Aws::String&& value) { SetCommonName(std::move(value)); return *this;} /** *

The common name for the certificate.

*/ inline Certificate& WithCommonName(const char* value) { SetCommonName(value); return *this;} /** *

The date and time that the certificate was registered.

*/ inline const Aws::Utils::DateTime& GetRegisteredDateTime() const{ return m_registeredDateTime; } /** *

The date and time that the certificate was registered.

*/ inline bool RegisteredDateTimeHasBeenSet() const { return m_registeredDateTimeHasBeenSet; } /** *

The date and time that the certificate was registered.

*/ inline void SetRegisteredDateTime(const Aws::Utils::DateTime& value) { m_registeredDateTimeHasBeenSet = true; m_registeredDateTime = value; } /** *

The date and time that the certificate was registered.

*/ inline void SetRegisteredDateTime(Aws::Utils::DateTime&& value) { m_registeredDateTimeHasBeenSet = true; m_registeredDateTime = std::move(value); } /** *

The date and time that the certificate was registered.

*/ inline Certificate& WithRegisteredDateTime(const Aws::Utils::DateTime& value) { SetRegisteredDateTime(value); return *this;} /** *

The date and time that the certificate was registered.

*/ inline Certificate& WithRegisteredDateTime(Aws::Utils::DateTime&& value) { SetRegisteredDateTime(std::move(value)); return *this;} /** *

The date and time when the certificate will expire.

*/ inline const Aws::Utils::DateTime& GetExpiryDateTime() const{ return m_expiryDateTime; } /** *

The date and time when the certificate will expire.

*/ inline bool ExpiryDateTimeHasBeenSet() const { return m_expiryDateTimeHasBeenSet; } /** *

The date and time when the certificate will expire.

*/ inline void SetExpiryDateTime(const Aws::Utils::DateTime& value) { m_expiryDateTimeHasBeenSet = true; m_expiryDateTime = value; } /** *

The date and time when the certificate will expire.

*/ inline void SetExpiryDateTime(Aws::Utils::DateTime&& value) { m_expiryDateTimeHasBeenSet = true; m_expiryDateTime = std::move(value); } /** *

The date and time when the certificate will expire.

*/ inline Certificate& WithExpiryDateTime(const Aws::Utils::DateTime& value) { SetExpiryDateTime(value); return *this;} /** *

The date and time when the certificate will expire.

*/ inline Certificate& WithExpiryDateTime(Aws::Utils::DateTime&& value) { SetExpiryDateTime(std::move(value)); return *this;} /** *

The function that the registered certificate performs. Valid values include * ClientLDAPS or ClientCertAuth. The default value is * ClientLDAPS.

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

The function that the registered certificate performs. Valid values include * ClientLDAPS or ClientCertAuth. The default value is * ClientLDAPS.

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

The function that the registered certificate performs. Valid values include * ClientLDAPS or ClientCertAuth. The default value is * ClientLDAPS.

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

The function that the registered certificate performs. Valid values include * ClientLDAPS or ClientCertAuth. The default value is * ClientLDAPS.

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

The function that the registered certificate performs. Valid values include * ClientLDAPS or ClientCertAuth. The default value is * ClientLDAPS.

*/ inline Certificate& WithType(const CertificateType& value) { SetType(value); return *this;} /** *

The function that the registered certificate performs. Valid values include * ClientLDAPS or ClientCertAuth. The default value is * ClientLDAPS.

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

A ClientCertAuthSettings object that contains client certificate * authentication settings.

*/ inline const ClientCertAuthSettings& GetClientCertAuthSettings() const{ return m_clientCertAuthSettings; } /** *

A ClientCertAuthSettings object that contains client certificate * authentication settings.

*/ inline bool ClientCertAuthSettingsHasBeenSet() const { return m_clientCertAuthSettingsHasBeenSet; } /** *

A ClientCertAuthSettings object that contains client certificate * authentication settings.

*/ inline void SetClientCertAuthSettings(const ClientCertAuthSettings& value) { m_clientCertAuthSettingsHasBeenSet = true; m_clientCertAuthSettings = value; } /** *

A ClientCertAuthSettings object that contains client certificate * authentication settings.

*/ inline void SetClientCertAuthSettings(ClientCertAuthSettings&& value) { m_clientCertAuthSettingsHasBeenSet = true; m_clientCertAuthSettings = std::move(value); } /** *

A ClientCertAuthSettings object that contains client certificate * authentication settings.

*/ inline Certificate& WithClientCertAuthSettings(const ClientCertAuthSettings& value) { SetClientCertAuthSettings(value); return *this;} /** *

A ClientCertAuthSettings object that contains client certificate * authentication settings.

*/ inline Certificate& WithClientCertAuthSettings(ClientCertAuthSettings&& value) { SetClientCertAuthSettings(std::move(value)); return *this;} private: Aws::String m_certificateId; bool m_certificateIdHasBeenSet = false; CertificateState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateReason; bool m_stateReasonHasBeenSet = false; Aws::String m_commonName; bool m_commonNameHasBeenSet = false; Aws::Utils::DateTime m_registeredDateTime; bool m_registeredDateTimeHasBeenSet = false; Aws::Utils::DateTime m_expiryDateTime; bool m_expiryDateTimeHasBeenSet = false; CertificateType m_type; bool m_typeHasBeenSet = false; ClientCertAuthSettings m_clientCertAuthSettings; bool m_clientCertAuthSettingsHasBeenSet = false; }; } // namespace Model } // namespace DirectoryService } // namespace Aws