module Network.AWS.ImportExport.Types.Product where
import Network.AWS.ImportExport.Types.Sum
import Network.AWS.Prelude
data Artifact = Artifact'
{ _aURL :: !(Maybe Text)
, _aDescription :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
artifact
:: Artifact
artifact =
Artifact'
{ _aURL = Nothing
, _aDescription = Nothing
}
aURL :: Lens' Artifact (Maybe Text)
aURL = lens _aURL (\ s a -> s{_aURL = a});
aDescription :: Lens' Artifact (Maybe Text)
aDescription = lens _aDescription (\ s a -> s{_aDescription = a});
instance FromXML Artifact where
parseXML x
= Artifact' <$>
(x .@? "URL") <*> (x .@? "Description")
data Job = Job'
{ _jobJobType :: !JobType
, _jobJobId :: !Text
, _jobIsCanceled :: !Bool
, _jobCreationDate :: !ISO8601
} deriving (Eq,Read,Show,Data,Typeable,Generic)
job
:: JobType
-> Text
-> Bool
-> UTCTime
-> Job
job pJobType_ pJobId_ pIsCanceled_ pCreationDate_ =
Job'
{ _jobJobType = pJobType_
, _jobJobId = pJobId_
, _jobIsCanceled = pIsCanceled_
, _jobCreationDate = _Time # pCreationDate_
}
jobJobType :: Lens' Job JobType
jobJobType = lens _jobJobType (\ s a -> s{_jobJobType = a});
jobJobId :: Lens' Job Text
jobJobId = lens _jobJobId (\ s a -> s{_jobJobId = a});
jobIsCanceled :: Lens' Job Bool
jobIsCanceled = lens _jobIsCanceled (\ s a -> s{_jobIsCanceled = a});
jobCreationDate :: Lens' Job UTCTime
jobCreationDate = lens _jobCreationDate (\ s a -> s{_jobCreationDate = a}) . _Time;
instance FromXML Job where
parseXML x
= Job' <$>
(x .@ "JobType") <*> (x .@ "JobId") <*>
(x .@ "IsCanceled")
<*> (x .@ "CreationDate")