module Network.AWS.SSM.DescribeAssociation
(
describeAssociation
, DescribeAssociation
, daName
, daInstanceId
, describeAssociationResponse
, DescribeAssociationResponse
, darsAssociationDescription
, darsResponseStatus
) where
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SSM.Types
import Network.AWS.SSM.Types.Product
data DescribeAssociation = DescribeAssociation'
{ _daName :: !Text
, _daInstanceId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeAssociation
:: Text
-> Text
-> DescribeAssociation
describeAssociation pName_ pInstanceId_ =
DescribeAssociation'
{ _daName = pName_
, _daInstanceId = pInstanceId_
}
daName :: Lens' DescribeAssociation Text
daName = lens _daName (\ s a -> s{_daName = a});
daInstanceId :: Lens' DescribeAssociation Text
daInstanceId = lens _daInstanceId (\ s a -> s{_daInstanceId = a});
instance AWSRequest DescribeAssociation where
type Rs DescribeAssociation =
DescribeAssociationResponse
request = postJSON sSM
response
= receiveJSON
(\ s h x ->
DescribeAssociationResponse' <$>
(x .?> "AssociationDescription") <*>
(pure (fromEnum s)))
instance ToHeaders DescribeAssociation where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonSSM.DescribeAssociation" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeAssociation where
toJSON DescribeAssociation'{..}
= object
(catMaybes
[Just ("Name" .= _daName),
Just ("InstanceId" .= _daInstanceId)])
instance ToPath DescribeAssociation where
toPath = const "/"
instance ToQuery DescribeAssociation where
toQuery = const mempty
data DescribeAssociationResponse = DescribeAssociationResponse'
{ _darsAssociationDescription :: !(Maybe AssociationDescription)
, _darsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeAssociationResponse
:: Int
-> DescribeAssociationResponse
describeAssociationResponse pResponseStatus_ =
DescribeAssociationResponse'
{ _darsAssociationDescription = Nothing
, _darsResponseStatus = pResponseStatus_
}
darsAssociationDescription :: Lens' DescribeAssociationResponse (Maybe AssociationDescription)
darsAssociationDescription = lens _darsAssociationDescription (\ s a -> s{_darsAssociationDescription = a});
darsResponseStatus :: Lens' DescribeAssociationResponse Int
darsResponseStatus = lens _darsResponseStatus (\ s a -> s{_darsResponseStatus = a});