/** * 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 Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CloudHSMV2 { namespace Model { /** *

Contains information about a hardware security module (HSM) in an AWS * CloudHSM cluster.

See Also:

AWS API * Reference

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

The Availability Zone that contains the HSM.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone that contains the HSM.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone that contains the HSM.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone that contains the HSM.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone that contains the HSM.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone that contains the HSM.

*/ inline Hsm& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone that contains the HSM.

*/ inline Hsm& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone that contains the HSM.

*/ inline Hsm& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline const Aws::String& GetClusterId() const{ return m_clusterId; } /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline Hsm& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline Hsm& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} /** *

The identifier (ID) of the cluster that contains the HSM.

*/ inline Hsm& WithClusterId(const char* value) { SetClusterId(value); return *this;} /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline Hsm& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline Hsm& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *

The subnet that contains the HSM's elastic network interface (ENI).

*/ inline Hsm& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline const Aws::String& GetEniId() const{ return m_eniId; } /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline bool EniIdHasBeenSet() const { return m_eniIdHasBeenSet; } /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline void SetEniId(const Aws::String& value) { m_eniIdHasBeenSet = true; m_eniId = value; } /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline void SetEniId(Aws::String&& value) { m_eniIdHasBeenSet = true; m_eniId = std::move(value); } /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline void SetEniId(const char* value) { m_eniIdHasBeenSet = true; m_eniId.assign(value); } /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline Hsm& WithEniId(const Aws::String& value) { SetEniId(value); return *this;} /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline Hsm& WithEniId(Aws::String&& value) { SetEniId(std::move(value)); return *this;} /** *

The identifier (ID) of the HSM's elastic network interface (ENI).

*/ inline Hsm& WithEniId(const char* value) { SetEniId(value); return *this;} /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline const Aws::String& GetEniIp() const{ return m_eniIp; } /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline bool EniIpHasBeenSet() const { return m_eniIpHasBeenSet; } /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline void SetEniIp(const Aws::String& value) { m_eniIpHasBeenSet = true; m_eniIp = value; } /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline void SetEniIp(Aws::String&& value) { m_eniIpHasBeenSet = true; m_eniIp = std::move(value); } /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline void SetEniIp(const char* value) { m_eniIpHasBeenSet = true; m_eniIp.assign(value); } /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline Hsm& WithEniIp(const Aws::String& value) { SetEniIp(value); return *this;} /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline Hsm& WithEniIp(Aws::String&& value) { SetEniIp(std::move(value)); return *this;} /** *

The IP address of the HSM's elastic network interface (ENI).

*/ inline Hsm& WithEniIp(const char* value) { SetEniIp(value); return *this;} /** *

The HSM's identifier (ID).

*/ inline const Aws::String& GetHsmId() const{ return m_hsmId; } /** *

The HSM's identifier (ID).

*/ inline bool HsmIdHasBeenSet() const { return m_hsmIdHasBeenSet; } /** *

The HSM's identifier (ID).

*/ inline void SetHsmId(const Aws::String& value) { m_hsmIdHasBeenSet = true; m_hsmId = value; } /** *

The HSM's identifier (ID).

*/ inline void SetHsmId(Aws::String&& value) { m_hsmIdHasBeenSet = true; m_hsmId = std::move(value); } /** *

The HSM's identifier (ID).

*/ inline void SetHsmId(const char* value) { m_hsmIdHasBeenSet = true; m_hsmId.assign(value); } /** *

The HSM's identifier (ID).

*/ inline Hsm& WithHsmId(const Aws::String& value) { SetHsmId(value); return *this;} /** *

The HSM's identifier (ID).

*/ inline Hsm& WithHsmId(Aws::String&& value) { SetHsmId(std::move(value)); return *this;} /** *

The HSM's identifier (ID).

*/ inline Hsm& WithHsmId(const char* value) { SetHsmId(value); return *this;} /** *

The HSM's state.

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

The HSM's state.

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

The HSM's state.

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

The HSM's state.

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

The HSM's state.

*/ inline Hsm& WithState(const HsmState& value) { SetState(value); return *this;} /** *

The HSM's state.

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

A description of the HSM's state.

*/ inline const Aws::String& GetStateMessage() const{ return m_stateMessage; } /** *

A description of the HSM's state.

*/ inline bool StateMessageHasBeenSet() const { return m_stateMessageHasBeenSet; } /** *

A description of the HSM's state.

*/ inline void SetStateMessage(const Aws::String& value) { m_stateMessageHasBeenSet = true; m_stateMessage = value; } /** *

A description of the HSM's state.

*/ inline void SetStateMessage(Aws::String&& value) { m_stateMessageHasBeenSet = true; m_stateMessage = std::move(value); } /** *

A description of the HSM's state.

*/ inline void SetStateMessage(const char* value) { m_stateMessageHasBeenSet = true; m_stateMessage.assign(value); } /** *

A description of the HSM's state.

*/ inline Hsm& WithStateMessage(const Aws::String& value) { SetStateMessage(value); return *this;} /** *

A description of the HSM's state.

*/ inline Hsm& WithStateMessage(Aws::String&& value) { SetStateMessage(std::move(value)); return *this;} /** *

A description of the HSM's state.

*/ inline Hsm& WithStateMessage(const char* value) { SetStateMessage(value); return *this;} private: Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_clusterId; bool m_clusterIdHasBeenSet = false; Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::String m_eniId; bool m_eniIdHasBeenSet = false; Aws::String m_eniIp; bool m_eniIpHasBeenSet = false; Aws::String m_hsmId; bool m_hsmIdHasBeenSet = false; HsmState m_state; bool m_stateHasBeenSet = false; Aws::String m_stateMessage; bool m_stateMessageHasBeenSet = false; }; } // namespace Model } // namespace CloudHSMV2 } // namespace Aws