/** * 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 DirectoryService { namespace Model { /** */ class RegisterCertificateRequest : public DirectoryServiceRequest { public: AWS_DIRECTORYSERVICE_API RegisterCertificateRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RegisterCertificate"; } AWS_DIRECTORYSERVICE_API Aws::String SerializePayload() const override; AWS_DIRECTORYSERVICE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The identifier of the directory.

*/ inline const Aws::String& GetDirectoryId() const{ return m_directoryId; } /** *

The identifier of the directory.

*/ inline bool DirectoryIdHasBeenSet() const { return m_directoryIdHasBeenSet; } /** *

The identifier of the directory.

*/ inline void SetDirectoryId(const Aws::String& value) { m_directoryIdHasBeenSet = true; m_directoryId = value; } /** *

The identifier of the directory.

*/ inline void SetDirectoryId(Aws::String&& value) { m_directoryIdHasBeenSet = true; m_directoryId = std::move(value); } /** *

The identifier of the directory.

*/ inline void SetDirectoryId(const char* value) { m_directoryIdHasBeenSet = true; m_directoryId.assign(value); } /** *

The identifier of the directory.

*/ inline RegisterCertificateRequest& WithDirectoryId(const Aws::String& value) { SetDirectoryId(value); return *this;} /** *

The identifier of the directory.

*/ inline RegisterCertificateRequest& WithDirectoryId(Aws::String&& value) { SetDirectoryId(std::move(value)); return *this;} /** *

The identifier of the directory.

*/ inline RegisterCertificateRequest& WithDirectoryId(const char* value) { SetDirectoryId(value); return *this;} /** *

The certificate PEM string that needs to be registered.

*/ inline const Aws::String& GetCertificateData() const{ return m_certificateData; } /** *

The certificate PEM string that needs to be registered.

*/ inline bool CertificateDataHasBeenSet() const { return m_certificateDataHasBeenSet; } /** *

The certificate PEM string that needs to be registered.

*/ inline void SetCertificateData(const Aws::String& value) { m_certificateDataHasBeenSet = true; m_certificateData = value; } /** *

The certificate PEM string that needs to be registered.

*/ inline void SetCertificateData(Aws::String&& value) { m_certificateDataHasBeenSet = true; m_certificateData = std::move(value); } /** *

The certificate PEM string that needs to be registered.

*/ inline void SetCertificateData(const char* value) { m_certificateDataHasBeenSet = true; m_certificateData.assign(value); } /** *

The certificate PEM string that needs to be registered.

*/ inline RegisterCertificateRequest& WithCertificateData(const Aws::String& value) { SetCertificateData(value); return *this;} /** *

The certificate PEM string that needs to be registered.

*/ inline RegisterCertificateRequest& WithCertificateData(Aws::String&& value) { SetCertificateData(std::move(value)); return *this;} /** *

The certificate PEM string that needs to be registered.

*/ inline RegisterCertificateRequest& WithCertificateData(const char* value) { SetCertificateData(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 RegisterCertificateRequest& 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 RegisterCertificateRequest& 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 RegisterCertificateRequest& WithClientCertAuthSettings(const ClientCertAuthSettings& value) { SetClientCertAuthSettings(value); return *this;} /** *

A ClientCertAuthSettings object that contains client certificate * authentication settings.

*/ inline RegisterCertificateRequest& WithClientCertAuthSettings(ClientCertAuthSettings&& value) { SetClientCertAuthSettings(std::move(value)); return *this;} private: Aws::String m_directoryId; bool m_directoryIdHasBeenSet = false; Aws::String m_certificateData; bool m_certificateDataHasBeenSet = false; CertificateType m_type; bool m_typeHasBeenSet = false; ClientCertAuthSettings m_clientCertAuthSettings; bool m_clientCertAuthSettingsHasBeenSet = false; }; } // namespace Model } // namespace DirectoryService } // namespace Aws