module Network.AWS.CloudHSM.DescribeHsm
(
DescribeHsm
, describeHsm
, dh1HsmArn
, dh1HsmSerialNumber
, DescribeHsmResponse
, describeHsmResponse
, dhr2AvailabilityZone
, dhr2EniId
, dhr2EniIp
, dhr2HsmArn
, dhr2HsmType
, dhr2IamRoleArn
, dhr2Partitions
, dhr2SerialNumber
, dhr2ServerCertLastUpdated
, dhr2ServerCertUri
, dhr2SoftwareVersion
, dhr2SshKeyLastUpdated
, dhr2SshPublicKey
, dhr2Status
, dhr2StatusDetails
, dhr2SubnetId
, dhr2SubscriptionEndDate
, dhr2SubscriptionStartDate
, dhr2SubscriptionType
, dhr2VendorName
, dhr2VpcId
) where
import Network.AWS.Data (Object)
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CloudHSM.Types
import qualified GHC.Exts
data DescribeHsm = DescribeHsm
{ _dh1HsmArn :: Maybe Text
, _dh1HsmSerialNumber :: Maybe Text
} deriving (Eq, Ord, Read, Show)
describeHsm :: DescribeHsm
describeHsm = DescribeHsm
{ _dh1HsmArn = Nothing
, _dh1HsmSerialNumber = Nothing
}
dh1HsmArn :: Lens' DescribeHsm (Maybe Text)
dh1HsmArn = lens _dh1HsmArn (\s a -> s { _dh1HsmArn = a })
dh1HsmSerialNumber :: Lens' DescribeHsm (Maybe Text)
dh1HsmSerialNumber =
lens _dh1HsmSerialNumber (\s a -> s { _dh1HsmSerialNumber = a })
data DescribeHsmResponse = DescribeHsmResponse
{ _dhr2AvailabilityZone :: Maybe Text
, _dhr2EniId :: Maybe Text
, _dhr2EniIp :: Maybe Text
, _dhr2HsmArn :: Maybe Text
, _dhr2HsmType :: Maybe Text
, _dhr2IamRoleArn :: Maybe Text
, _dhr2Partitions :: List "Partitions" Text
, _dhr2SerialNumber :: Maybe Text
, _dhr2ServerCertLastUpdated :: Maybe Text
, _dhr2ServerCertUri :: Maybe Text
, _dhr2SoftwareVersion :: Maybe Text
, _dhr2SshKeyLastUpdated :: Maybe Text
, _dhr2SshPublicKey :: Maybe Text
, _dhr2Status :: Maybe HsmStatus
, _dhr2StatusDetails :: Maybe Text
, _dhr2SubnetId :: Maybe Text
, _dhr2SubscriptionEndDate :: Maybe Text
, _dhr2SubscriptionStartDate :: Maybe Text
, _dhr2SubscriptionType :: Maybe SubscriptionType
, _dhr2VendorName :: Maybe Text
, _dhr2VpcId :: Maybe Text
} deriving (Eq, Read, Show)
describeHsmResponse :: DescribeHsmResponse
describeHsmResponse = DescribeHsmResponse
{ _dhr2HsmArn = Nothing
, _dhr2Status = Nothing
, _dhr2StatusDetails = Nothing
, _dhr2AvailabilityZone = Nothing
, _dhr2EniId = Nothing
, _dhr2EniIp = Nothing
, _dhr2SubscriptionType = Nothing
, _dhr2SubscriptionStartDate = Nothing
, _dhr2SubscriptionEndDate = Nothing
, _dhr2VpcId = Nothing
, _dhr2SubnetId = Nothing
, _dhr2IamRoleArn = Nothing
, _dhr2SerialNumber = Nothing
, _dhr2VendorName = Nothing
, _dhr2HsmType = Nothing
, _dhr2SoftwareVersion = Nothing
, _dhr2SshPublicKey = Nothing
, _dhr2SshKeyLastUpdated = Nothing
, _dhr2ServerCertUri = Nothing
, _dhr2ServerCertLastUpdated = Nothing
, _dhr2Partitions = mempty
}
dhr2AvailabilityZone :: Lens' DescribeHsmResponse (Maybe Text)
dhr2AvailabilityZone =
lens _dhr2AvailabilityZone (\s a -> s { _dhr2AvailabilityZone = a })
dhr2EniId :: Lens' DescribeHsmResponse (Maybe Text)
dhr2EniId = lens _dhr2EniId (\s a -> s { _dhr2EniId = a })
dhr2EniIp :: Lens' DescribeHsmResponse (Maybe Text)
dhr2EniIp = lens _dhr2EniIp (\s a -> s { _dhr2EniIp = a })
dhr2HsmArn :: Lens' DescribeHsmResponse (Maybe Text)
dhr2HsmArn = lens _dhr2HsmArn (\s a -> s { _dhr2HsmArn = a })
dhr2HsmType :: Lens' DescribeHsmResponse (Maybe Text)
dhr2HsmType = lens _dhr2HsmType (\s a -> s { _dhr2HsmType = a })
dhr2IamRoleArn :: Lens' DescribeHsmResponse (Maybe Text)
dhr2IamRoleArn = lens _dhr2IamRoleArn (\s a -> s { _dhr2IamRoleArn = a })
dhr2Partitions :: Lens' DescribeHsmResponse [Text]
dhr2Partitions = lens _dhr2Partitions (\s a -> s { _dhr2Partitions = a }) . _List
dhr2SerialNumber :: Lens' DescribeHsmResponse (Maybe Text)
dhr2SerialNumber = lens _dhr2SerialNumber (\s a -> s { _dhr2SerialNumber = a })
dhr2ServerCertLastUpdated :: Lens' DescribeHsmResponse (Maybe Text)
dhr2ServerCertLastUpdated =
lens _dhr2ServerCertLastUpdated
(\s a -> s { _dhr2ServerCertLastUpdated = a })
dhr2ServerCertUri :: Lens' DescribeHsmResponse (Maybe Text)
dhr2ServerCertUri =
lens _dhr2ServerCertUri (\s a -> s { _dhr2ServerCertUri = a })
dhr2SoftwareVersion :: Lens' DescribeHsmResponse (Maybe Text)
dhr2SoftwareVersion =
lens _dhr2SoftwareVersion (\s a -> s { _dhr2SoftwareVersion = a })
dhr2SshKeyLastUpdated :: Lens' DescribeHsmResponse (Maybe Text)
dhr2SshKeyLastUpdated =
lens _dhr2SshKeyLastUpdated (\s a -> s { _dhr2SshKeyLastUpdated = a })
dhr2SshPublicKey :: Lens' DescribeHsmResponse (Maybe Text)
dhr2SshPublicKey = lens _dhr2SshPublicKey (\s a -> s { _dhr2SshPublicKey = a })
dhr2Status :: Lens' DescribeHsmResponse (Maybe HsmStatus)
dhr2Status = lens _dhr2Status (\s a -> s { _dhr2Status = a })
dhr2StatusDetails :: Lens' DescribeHsmResponse (Maybe Text)
dhr2StatusDetails =
lens _dhr2StatusDetails (\s a -> s { _dhr2StatusDetails = a })
dhr2SubnetId :: Lens' DescribeHsmResponse (Maybe Text)
dhr2SubnetId = lens _dhr2SubnetId (\s a -> s { _dhr2SubnetId = a })
dhr2SubscriptionEndDate :: Lens' DescribeHsmResponse (Maybe Text)
dhr2SubscriptionEndDate =
lens _dhr2SubscriptionEndDate (\s a -> s { _dhr2SubscriptionEndDate = a })
dhr2SubscriptionStartDate :: Lens' DescribeHsmResponse (Maybe Text)
dhr2SubscriptionStartDate =
lens _dhr2SubscriptionStartDate
(\s a -> s { _dhr2SubscriptionStartDate = a })
dhr2SubscriptionType :: Lens' DescribeHsmResponse (Maybe SubscriptionType)
dhr2SubscriptionType =
lens _dhr2SubscriptionType (\s a -> s { _dhr2SubscriptionType = a })
dhr2VendorName :: Lens' DescribeHsmResponse (Maybe Text)
dhr2VendorName = lens _dhr2VendorName (\s a -> s { _dhr2VendorName = a })
dhr2VpcId :: Lens' DescribeHsmResponse (Maybe Text)
dhr2VpcId = lens _dhr2VpcId (\s a -> s { _dhr2VpcId = a })
instance ToPath DescribeHsm where
toPath = const "/"
instance ToQuery DescribeHsm where
toQuery = const mempty
instance ToHeaders DescribeHsm
instance ToJSON DescribeHsm where
toJSON DescribeHsm{..} = object
[ "HsmArn" .= _dh1HsmArn
, "HsmSerialNumber" .= _dh1HsmSerialNumber
]
instance AWSRequest DescribeHsm where
type Sv DescribeHsm = CloudHSM
type Rs DescribeHsm = DescribeHsmResponse
request = post "DescribeHsm"
response = jsonResponse
instance FromJSON DescribeHsmResponse where
parseJSON = withObject "DescribeHsmResponse" $ \o -> DescribeHsmResponse
<$> o .:? "AvailabilityZone"
<*> o .:? "EniId"
<*> o .:? "EniIp"
<*> o .:? "HsmArn"
<*> o .:? "HsmType"
<*> o .:? "IamRoleArn"
<*> o .:? "Partitions" .!= mempty
<*> o .:? "SerialNumber"
<*> o .:? "ServerCertLastUpdated"
<*> o .:? "ServerCertUri"
<*> o .:? "SoftwareVersion"
<*> o .:? "SshKeyLastUpdated"
<*> o .:? "SshPublicKey"
<*> o .:? "Status"
<*> o .:? "StatusDetails"
<*> o .:? "SubnetId"
<*> o .:? "SubscriptionEndDate"
<*> o .:? "SubscriptionStartDate"
<*> o .:? "SubscriptionType"
<*> o .:? "VendorName"
<*> o .:? "VpcId"