module Network.AWS.SSM.DescribeAssociation
(
DescribeAssociation
, describeAssociation
, daInstanceId
, daName
, DescribeAssociationResponse
, describeAssociationResponse
, darAssociationDescription
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.SSM.Types
import qualified GHC.Exts
data DescribeAssociation = DescribeAssociation
{ _daInstanceId :: Text
, _daName :: Text
} deriving (Eq, Ord, Read, Show)
describeAssociation :: Text
-> Text
-> DescribeAssociation
describeAssociation p1 p2 = DescribeAssociation
{ _daName = p1
, _daInstanceId = p2
}
daInstanceId :: Lens' DescribeAssociation Text
daInstanceId = lens _daInstanceId (\s a -> s { _daInstanceId = a })
daName :: Lens' DescribeAssociation Text
daName = lens _daName (\s a -> s { _daName = a })
newtype DescribeAssociationResponse = DescribeAssociationResponse
{ _darAssociationDescription :: Maybe AssociationDescription
} deriving (Eq, Read, Show)
describeAssociationResponse :: DescribeAssociationResponse
describeAssociationResponse = DescribeAssociationResponse
{ _darAssociationDescription = Nothing
}
darAssociationDescription :: Lens' DescribeAssociationResponse (Maybe AssociationDescription)
darAssociationDescription =
lens _darAssociationDescription
(\s a -> s { _darAssociationDescription = a })
instance ToPath DescribeAssociation where
toPath = const "/"
instance ToQuery DescribeAssociation where
toQuery = const mempty
instance ToHeaders DescribeAssociation
instance ToJSON DescribeAssociation where
toJSON DescribeAssociation{..} = object
[ "Name" .= _daName
, "InstanceId" .= _daInstanceId
]
instance AWSRequest DescribeAssociation where
type Sv DescribeAssociation = SSM
type Rs DescribeAssociation = DescribeAssociationResponse
request = post "DescribeAssociation"
response = jsonResponse
instance FromJSON DescribeAssociationResponse where
parseJSON = withObject "DescribeAssociationResponse" $ \o -> DescribeAssociationResponse
<$> o .:? "AssociationDescription"