/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace CloudHSM { namespace Model { /** *

Contains the output of the DescribeHsm operation.

See * Also:

AWS * API Reference

*/ class DescribeHsmResult { public: AWS_CLOUDHSM_API DescribeHsmResult(); AWS_CLOUDHSM_API DescribeHsmResult(const Aws::AmazonWebServiceResult& result); AWS_CLOUDHSM_API DescribeHsmResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ARN of the HSM.

*/ inline const Aws::String& GetHsmArn() const{ return m_hsmArn; } /** *

The ARN of the HSM.

*/ inline void SetHsmArn(const Aws::String& value) { m_hsmArn = value; } /** *

The ARN of the HSM.

*/ inline void SetHsmArn(Aws::String&& value) { m_hsmArn = std::move(value); } /** *

The ARN of the HSM.

*/ inline void SetHsmArn(const char* value) { m_hsmArn.assign(value); } /** *

The ARN of the HSM.

*/ inline DescribeHsmResult& WithHsmArn(const Aws::String& value) { SetHsmArn(value); return *this;} /** *

The ARN of the HSM.

*/ inline DescribeHsmResult& WithHsmArn(Aws::String&& value) { SetHsmArn(std::move(value)); return *this;} /** *

The ARN of the HSM.

*/ inline DescribeHsmResult& WithHsmArn(const char* value) { SetHsmArn(value); return *this;} /** *

The status of the HSM.

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

The status of the HSM.

*/ inline void SetStatus(const HsmStatus& value) { m_status = value; } /** *

The status of the HSM.

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

The status of the HSM.

*/ inline DescribeHsmResult& WithStatus(const HsmStatus& value) { SetStatus(value); return *this;} /** *

The status of the HSM.

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

Contains additional information about the status of the HSM.

*/ inline const Aws::String& GetStatusDetails() const{ return m_statusDetails; } /** *

Contains additional information about the status of the HSM.

*/ inline void SetStatusDetails(const Aws::String& value) { m_statusDetails = value; } /** *

Contains additional information about the status of the HSM.

*/ inline void SetStatusDetails(Aws::String&& value) { m_statusDetails = std::move(value); } /** *

Contains additional information about the status of the HSM.

*/ inline void SetStatusDetails(const char* value) { m_statusDetails.assign(value); } /** *

Contains additional information about the status of the HSM.

*/ inline DescribeHsmResult& WithStatusDetails(const Aws::String& value) { SetStatusDetails(value); return *this;} /** *

Contains additional information about the status of the HSM.

*/ inline DescribeHsmResult& WithStatusDetails(Aws::String&& value) { SetStatusDetails(std::move(value)); return *this;} /** *

Contains additional information about the status of the HSM.

*/ inline DescribeHsmResult& WithStatusDetails(const char* value) { SetStatusDetails(value); return *this;} /** *

The Availability Zone that the HSM is in.

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

The Availability Zone that the HSM is in.

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

The Availability Zone that the HSM is in.

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

The Availability Zone that the HSM is in.

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

The Availability Zone that the HSM is in.

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

The Availability Zone that the HSM is in.

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

The Availability Zone that the HSM is in.

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

The identifier of the elastic network interface (ENI) attached to the * HSM.

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

The identifier of the elastic network interface (ENI) attached to the * HSM.

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

The identifier of the elastic network interface (ENI) attached to the * HSM.

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

The identifier of the elastic network interface (ENI) attached to the * HSM.

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

The identifier of the elastic network interface (ENI) attached to the * HSM.

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

The identifier of the elastic network interface (ENI) attached to the * HSM.

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

The identifier of the elastic network interface (ENI) attached to the * HSM.

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

The IP address assigned to the HSM's ENI.

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

The IP address assigned to the HSM's ENI.

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

The IP address assigned to the HSM's ENI.

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

The IP address assigned to the HSM's ENI.

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

The IP address assigned to the HSM's ENI.

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

The IP address assigned to the HSM's ENI.

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

The IP address assigned to the HSM's ENI.

*/ inline DescribeHsmResult& WithEniIp(const char* value) { SetEniIp(value); return *this;} inline const SubscriptionType& GetSubscriptionType() const{ return m_subscriptionType; } inline void SetSubscriptionType(const SubscriptionType& value) { m_subscriptionType = value; } inline void SetSubscriptionType(SubscriptionType&& value) { m_subscriptionType = std::move(value); } inline DescribeHsmResult& WithSubscriptionType(const SubscriptionType& value) { SetSubscriptionType(value); return *this;} inline DescribeHsmResult& WithSubscriptionType(SubscriptionType&& value) { SetSubscriptionType(std::move(value)); return *this;} /** *

The subscription start date.

*/ inline const Aws::String& GetSubscriptionStartDate() const{ return m_subscriptionStartDate; } /** *

The subscription start date.

*/ inline void SetSubscriptionStartDate(const Aws::String& value) { m_subscriptionStartDate = value; } /** *

The subscription start date.

*/ inline void SetSubscriptionStartDate(Aws::String&& value) { m_subscriptionStartDate = std::move(value); } /** *

The subscription start date.

*/ inline void SetSubscriptionStartDate(const char* value) { m_subscriptionStartDate.assign(value); } /** *

The subscription start date.

*/ inline DescribeHsmResult& WithSubscriptionStartDate(const Aws::String& value) { SetSubscriptionStartDate(value); return *this;} /** *

The subscription start date.

*/ inline DescribeHsmResult& WithSubscriptionStartDate(Aws::String&& value) { SetSubscriptionStartDate(std::move(value)); return *this;} /** *

The subscription start date.

*/ inline DescribeHsmResult& WithSubscriptionStartDate(const char* value) { SetSubscriptionStartDate(value); return *this;} /** *

The subscription end date.

*/ inline const Aws::String& GetSubscriptionEndDate() const{ return m_subscriptionEndDate; } /** *

The subscription end date.

*/ inline void SetSubscriptionEndDate(const Aws::String& value) { m_subscriptionEndDate = value; } /** *

The subscription end date.

*/ inline void SetSubscriptionEndDate(Aws::String&& value) { m_subscriptionEndDate = std::move(value); } /** *

The subscription end date.

*/ inline void SetSubscriptionEndDate(const char* value) { m_subscriptionEndDate.assign(value); } /** *

The subscription end date.

*/ inline DescribeHsmResult& WithSubscriptionEndDate(const Aws::String& value) { SetSubscriptionEndDate(value); return *this;} /** *

The subscription end date.

*/ inline DescribeHsmResult& WithSubscriptionEndDate(Aws::String&& value) { SetSubscriptionEndDate(std::move(value)); return *this;} /** *

The subscription end date.

*/ inline DescribeHsmResult& WithSubscriptionEndDate(const char* value) { SetSubscriptionEndDate(value); return *this;} /** *

The identifier of the VPC that the HSM is in.

*/ inline const Aws::String& GetVpcId() const{ return m_vpcId; } /** *

The identifier of the VPC that the HSM is in.

*/ inline void SetVpcId(const Aws::String& value) { m_vpcId = value; } /** *

The identifier of the VPC that the HSM is in.

*/ inline void SetVpcId(Aws::String&& value) { m_vpcId = std::move(value); } /** *

The identifier of the VPC that the HSM is in.

*/ inline void SetVpcId(const char* value) { m_vpcId.assign(value); } /** *

The identifier of the VPC that the HSM is in.

*/ inline DescribeHsmResult& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;} /** *

The identifier of the VPC that the HSM is in.

*/ inline DescribeHsmResult& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;} /** *

The identifier of the VPC that the HSM is in.

*/ inline DescribeHsmResult& WithVpcId(const char* value) { SetVpcId(value); return *this;} /** *

The identifier of the subnet that the HSM is in.

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

The identifier of the subnet that the HSM is in.

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

The identifier of the subnet that the HSM is in.

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

The identifier of the subnet that the HSM is in.

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

The identifier of the subnet that the HSM is in.

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

The identifier of the subnet that the HSM is in.

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

The identifier of the subnet that the HSM is in.

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

The ARN of the IAM role assigned to the HSM.

*/ inline const Aws::String& GetIamRoleArn() const{ return m_iamRoleArn; } /** *

The ARN of the IAM role assigned to the HSM.

*/ inline void SetIamRoleArn(const Aws::String& value) { m_iamRoleArn = value; } /** *

The ARN of the IAM role assigned to the HSM.

*/ inline void SetIamRoleArn(Aws::String&& value) { m_iamRoleArn = std::move(value); } /** *

The ARN of the IAM role assigned to the HSM.

*/ inline void SetIamRoleArn(const char* value) { m_iamRoleArn.assign(value); } /** *

The ARN of the IAM role assigned to the HSM.

*/ inline DescribeHsmResult& WithIamRoleArn(const Aws::String& value) { SetIamRoleArn(value); return *this;} /** *

The ARN of the IAM role assigned to the HSM.

*/ inline DescribeHsmResult& WithIamRoleArn(Aws::String&& value) { SetIamRoleArn(std::move(value)); return *this;} /** *

The ARN of the IAM role assigned to the HSM.

*/ inline DescribeHsmResult& WithIamRoleArn(const char* value) { SetIamRoleArn(value); return *this;} /** *

The serial number of the HSM.

*/ inline const Aws::String& GetSerialNumber() const{ return m_serialNumber; } /** *

The serial number of the HSM.

*/ inline void SetSerialNumber(const Aws::String& value) { m_serialNumber = value; } /** *

The serial number of the HSM.

*/ inline void SetSerialNumber(Aws::String&& value) { m_serialNumber = std::move(value); } /** *

The serial number of the HSM.

*/ inline void SetSerialNumber(const char* value) { m_serialNumber.assign(value); } /** *

The serial number of the HSM.

*/ inline DescribeHsmResult& WithSerialNumber(const Aws::String& value) { SetSerialNumber(value); return *this;} /** *

The serial number of the HSM.

*/ inline DescribeHsmResult& WithSerialNumber(Aws::String&& value) { SetSerialNumber(std::move(value)); return *this;} /** *

The serial number of the HSM.

*/ inline DescribeHsmResult& WithSerialNumber(const char* value) { SetSerialNumber(value); return *this;} /** *

The name of the HSM vendor.

*/ inline const Aws::String& GetVendorName() const{ return m_vendorName; } /** *

The name of the HSM vendor.

*/ inline void SetVendorName(const Aws::String& value) { m_vendorName = value; } /** *

The name of the HSM vendor.

*/ inline void SetVendorName(Aws::String&& value) { m_vendorName = std::move(value); } /** *

The name of the HSM vendor.

*/ inline void SetVendorName(const char* value) { m_vendorName.assign(value); } /** *

The name of the HSM vendor.

*/ inline DescribeHsmResult& WithVendorName(const Aws::String& value) { SetVendorName(value); return *this;} /** *

The name of the HSM vendor.

*/ inline DescribeHsmResult& WithVendorName(Aws::String&& value) { SetVendorName(std::move(value)); return *this;} /** *

The name of the HSM vendor.

*/ inline DescribeHsmResult& WithVendorName(const char* value) { SetVendorName(value); return *this;} /** *

The HSM model type.

*/ inline const Aws::String& GetHsmType() const{ return m_hsmType; } /** *

The HSM model type.

*/ inline void SetHsmType(const Aws::String& value) { m_hsmType = value; } /** *

The HSM model type.

*/ inline void SetHsmType(Aws::String&& value) { m_hsmType = std::move(value); } /** *

The HSM model type.

*/ inline void SetHsmType(const char* value) { m_hsmType.assign(value); } /** *

The HSM model type.

*/ inline DescribeHsmResult& WithHsmType(const Aws::String& value) { SetHsmType(value); return *this;} /** *

The HSM model type.

*/ inline DescribeHsmResult& WithHsmType(Aws::String&& value) { SetHsmType(std::move(value)); return *this;} /** *

The HSM model type.

*/ inline DescribeHsmResult& WithHsmType(const char* value) { SetHsmType(value); return *this;} /** *

The HSM software version.

*/ inline const Aws::String& GetSoftwareVersion() const{ return m_softwareVersion; } /** *

The HSM software version.

*/ inline void SetSoftwareVersion(const Aws::String& value) { m_softwareVersion = value; } /** *

The HSM software version.

*/ inline void SetSoftwareVersion(Aws::String&& value) { m_softwareVersion = std::move(value); } /** *

The HSM software version.

*/ inline void SetSoftwareVersion(const char* value) { m_softwareVersion.assign(value); } /** *

The HSM software version.

*/ inline DescribeHsmResult& WithSoftwareVersion(const Aws::String& value) { SetSoftwareVersion(value); return *this;} /** *

The HSM software version.

*/ inline DescribeHsmResult& WithSoftwareVersion(Aws::String&& value) { SetSoftwareVersion(std::move(value)); return *this;} /** *

The HSM software version.

*/ inline DescribeHsmResult& WithSoftwareVersion(const char* value) { SetSoftwareVersion(value); return *this;} /** *

The public SSH key.

*/ inline const Aws::String& GetSshPublicKey() const{ return m_sshPublicKey; } /** *

The public SSH key.

*/ inline void SetSshPublicKey(const Aws::String& value) { m_sshPublicKey = value; } /** *

The public SSH key.

*/ inline void SetSshPublicKey(Aws::String&& value) { m_sshPublicKey = std::move(value); } /** *

The public SSH key.

*/ inline void SetSshPublicKey(const char* value) { m_sshPublicKey.assign(value); } /** *

The public SSH key.

*/ inline DescribeHsmResult& WithSshPublicKey(const Aws::String& value) { SetSshPublicKey(value); return *this;} /** *

The public SSH key.

*/ inline DescribeHsmResult& WithSshPublicKey(Aws::String&& value) { SetSshPublicKey(std::move(value)); return *this;} /** *

The public SSH key.

*/ inline DescribeHsmResult& WithSshPublicKey(const char* value) { SetSshPublicKey(value); return *this;} /** *

The date and time that the SSH key was last updated.

*/ inline const Aws::String& GetSshKeyLastUpdated() const{ return m_sshKeyLastUpdated; } /** *

The date and time that the SSH key was last updated.

*/ inline void SetSshKeyLastUpdated(const Aws::String& value) { m_sshKeyLastUpdated = value; } /** *

The date and time that the SSH key was last updated.

*/ inline void SetSshKeyLastUpdated(Aws::String&& value) { m_sshKeyLastUpdated = std::move(value); } /** *

The date and time that the SSH key was last updated.

*/ inline void SetSshKeyLastUpdated(const char* value) { m_sshKeyLastUpdated.assign(value); } /** *

The date and time that the SSH key was last updated.

*/ inline DescribeHsmResult& WithSshKeyLastUpdated(const Aws::String& value) { SetSshKeyLastUpdated(value); return *this;} /** *

The date and time that the SSH key was last updated.

*/ inline DescribeHsmResult& WithSshKeyLastUpdated(Aws::String&& value) { SetSshKeyLastUpdated(std::move(value)); return *this;} /** *

The date and time that the SSH key was last updated.

*/ inline DescribeHsmResult& WithSshKeyLastUpdated(const char* value) { SetSshKeyLastUpdated(value); return *this;} /** *

The URI of the certificate server.

*/ inline const Aws::String& GetServerCertUri() const{ return m_serverCertUri; } /** *

The URI of the certificate server.

*/ inline void SetServerCertUri(const Aws::String& value) { m_serverCertUri = value; } /** *

The URI of the certificate server.

*/ inline void SetServerCertUri(Aws::String&& value) { m_serverCertUri = std::move(value); } /** *

The URI of the certificate server.

*/ inline void SetServerCertUri(const char* value) { m_serverCertUri.assign(value); } /** *

The URI of the certificate server.

*/ inline DescribeHsmResult& WithServerCertUri(const Aws::String& value) { SetServerCertUri(value); return *this;} /** *

The URI of the certificate server.

*/ inline DescribeHsmResult& WithServerCertUri(Aws::String&& value) { SetServerCertUri(std::move(value)); return *this;} /** *

The URI of the certificate server.

*/ inline DescribeHsmResult& WithServerCertUri(const char* value) { SetServerCertUri(value); return *this;} /** *

The date and time that the server certificate was last updated.

*/ inline const Aws::String& GetServerCertLastUpdated() const{ return m_serverCertLastUpdated; } /** *

The date and time that the server certificate was last updated.

*/ inline void SetServerCertLastUpdated(const Aws::String& value) { m_serverCertLastUpdated = value; } /** *

The date and time that the server certificate was last updated.

*/ inline void SetServerCertLastUpdated(Aws::String&& value) { m_serverCertLastUpdated = std::move(value); } /** *

The date and time that the server certificate was last updated.

*/ inline void SetServerCertLastUpdated(const char* value) { m_serverCertLastUpdated.assign(value); } /** *

The date and time that the server certificate was last updated.

*/ inline DescribeHsmResult& WithServerCertLastUpdated(const Aws::String& value) { SetServerCertLastUpdated(value); return *this;} /** *

The date and time that the server certificate was last updated.

*/ inline DescribeHsmResult& WithServerCertLastUpdated(Aws::String&& value) { SetServerCertLastUpdated(std::move(value)); return *this;} /** *

The date and time that the server certificate was last updated.

*/ inline DescribeHsmResult& WithServerCertLastUpdated(const char* value) { SetServerCertLastUpdated(value); return *this;} /** *

The list of partitions on the HSM.

*/ inline const Aws::Vector& GetPartitions() const{ return m_partitions; } /** *

The list of partitions on the HSM.

*/ inline void SetPartitions(const Aws::Vector& value) { m_partitions = value; } /** *

The list of partitions on the HSM.

*/ inline void SetPartitions(Aws::Vector&& value) { m_partitions = std::move(value); } /** *

The list of partitions on the HSM.

*/ inline DescribeHsmResult& WithPartitions(const Aws::Vector& value) { SetPartitions(value); return *this;} /** *

The list of partitions on the HSM.

*/ inline DescribeHsmResult& WithPartitions(Aws::Vector&& value) { SetPartitions(std::move(value)); return *this;} /** *

The list of partitions on the HSM.

*/ inline DescribeHsmResult& AddPartitions(const Aws::String& value) { m_partitions.push_back(value); return *this; } /** *

The list of partitions on the HSM.

*/ inline DescribeHsmResult& AddPartitions(Aws::String&& value) { m_partitions.push_back(std::move(value)); return *this; } /** *

The list of partitions on the HSM.

*/ inline DescribeHsmResult& AddPartitions(const char* value) { m_partitions.push_back(value); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeHsmResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeHsmResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeHsmResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_hsmArn; HsmStatus m_status; Aws::String m_statusDetails; Aws::String m_availabilityZone; Aws::String m_eniId; Aws::String m_eniIp; SubscriptionType m_subscriptionType; Aws::String m_subscriptionStartDate; Aws::String m_subscriptionEndDate; Aws::String m_vpcId; Aws::String m_subnetId; Aws::String m_iamRoleArn; Aws::String m_serialNumber; Aws::String m_vendorName; Aws::String m_hsmType; Aws::String m_softwareVersion; Aws::String m_sshPublicKey; Aws::String m_sshKeyLastUpdated; Aws::String m_serverCertUri; Aws::String m_serverCertLastUpdated; Aws::Vector m_partitions; Aws::String m_requestId; }; } // namespace Model } // namespace CloudHSM } // namespace Aws