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

Contains the inputs for the CreateLunaClient action.

See * Also:

AWS * API Reference

*/ class CreateLunaClientRequest : public CloudHSMRequest { public: AWS_CLOUDHSM_API CreateLunaClientRequest(); // 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 "CreateLunaClient"; } AWS_CLOUDHSM_API Aws::String SerializePayload() const override; AWS_CLOUDHSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The label for the client.

*/ inline const Aws::String& GetLabel() const{ return m_label; } /** *

The label for the client.

*/ inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; } /** *

The label for the client.

*/ inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; } /** *

The label for the client.

*/ inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); } /** *

The label for the client.

*/ inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); } /** *

The label for the client.

*/ inline CreateLunaClientRequest& WithLabel(const Aws::String& value) { SetLabel(value); return *this;} /** *

The label for the client.

*/ inline CreateLunaClientRequest& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;} /** *

The label for the client.

*/ inline CreateLunaClientRequest& WithLabel(const char* value) { SetLabel(value); return *this;} /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline const Aws::String& GetCertificate() const{ return m_certificate; } /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline bool CertificateHasBeenSet() const { return m_certificateHasBeenSet; } /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline void SetCertificate(const Aws::String& value) { m_certificateHasBeenSet = true; m_certificate = value; } /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline void SetCertificate(Aws::String&& value) { m_certificateHasBeenSet = true; m_certificate = std::move(value); } /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline void SetCertificate(const char* value) { m_certificateHasBeenSet = true; m_certificate.assign(value); } /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline CreateLunaClientRequest& WithCertificate(const Aws::String& value) { SetCertificate(value); return *this;} /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline CreateLunaClientRequest& WithCertificate(Aws::String&& value) { SetCertificate(std::move(value)); return *this;} /** *

The contents of a Base64-Encoded X.509 v3 certificate to be installed on the * HSMs used by this client.

*/ inline CreateLunaClientRequest& WithCertificate(const char* value) { SetCertificate(value); return *this;} private: Aws::String m_label; bool m_labelHasBeenSet = false; Aws::String m_certificate; bool m_certificateHasBeenSet = false; }; } // namespace Model } // namespace CloudHSM } // namespace Aws