module Network.AWS.Config.Types.Product where
import Network.AWS.Config.Types.Sum
import Network.AWS.Prelude
data ConfigExportDeliveryInfo = ConfigExportDeliveryInfo'
{ _cediLastErrorCode :: !(Maybe Text)
, _cediLastAttemptTime :: !(Maybe POSIX)
, _cediLastSuccessfulTime :: !(Maybe POSIX)
, _cediLastStatus :: !(Maybe DeliveryStatus)
, _cediLastErrorMessage :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
configExportDeliveryInfo
:: ConfigExportDeliveryInfo
configExportDeliveryInfo =
ConfigExportDeliveryInfo'
{ _cediLastErrorCode = Nothing
, _cediLastAttemptTime = Nothing
, _cediLastSuccessfulTime = Nothing
, _cediLastStatus = Nothing
, _cediLastErrorMessage = Nothing
}
cediLastErrorCode :: Lens' ConfigExportDeliveryInfo (Maybe Text)
cediLastErrorCode = lens _cediLastErrorCode (\ s a -> s{_cediLastErrorCode = a});
cediLastAttemptTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)
cediLastAttemptTime = lens _cediLastAttemptTime (\ s a -> s{_cediLastAttemptTime = a}) . mapping _Time;
cediLastSuccessfulTime :: Lens' ConfigExportDeliveryInfo (Maybe UTCTime)
cediLastSuccessfulTime = lens _cediLastSuccessfulTime (\ s a -> s{_cediLastSuccessfulTime = a}) . mapping _Time;
cediLastStatus :: Lens' ConfigExportDeliveryInfo (Maybe DeliveryStatus)
cediLastStatus = lens _cediLastStatus (\ s a -> s{_cediLastStatus = a});
cediLastErrorMessage :: Lens' ConfigExportDeliveryInfo (Maybe Text)
cediLastErrorMessage = lens _cediLastErrorMessage (\ s a -> s{_cediLastErrorMessage = a});
instance FromJSON ConfigExportDeliveryInfo where
parseJSON
= withObject "ConfigExportDeliveryInfo"
(\ x ->
ConfigExportDeliveryInfo' <$>
(x .:? "lastErrorCode") <*> (x .:? "lastAttemptTime")
<*> (x .:? "lastSuccessfulTime")
<*> (x .:? "lastStatus")
<*> (x .:? "lastErrorMessage"))
data ConfigStreamDeliveryInfo = ConfigStreamDeliveryInfo'
{ _csdiLastErrorCode :: !(Maybe Text)
, _csdiLastStatusChangeTime :: !(Maybe POSIX)
, _csdiLastStatus :: !(Maybe DeliveryStatus)
, _csdiLastErrorMessage :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
configStreamDeliveryInfo
:: ConfigStreamDeliveryInfo
configStreamDeliveryInfo =
ConfigStreamDeliveryInfo'
{ _csdiLastErrorCode = Nothing
, _csdiLastStatusChangeTime = Nothing
, _csdiLastStatus = Nothing
, _csdiLastErrorMessage = Nothing
}
csdiLastErrorCode :: Lens' ConfigStreamDeliveryInfo (Maybe Text)
csdiLastErrorCode = lens _csdiLastErrorCode (\ s a -> s{_csdiLastErrorCode = a});
csdiLastStatusChangeTime :: Lens' ConfigStreamDeliveryInfo (Maybe UTCTime)
csdiLastStatusChangeTime = lens _csdiLastStatusChangeTime (\ s a -> s{_csdiLastStatusChangeTime = a}) . mapping _Time;
csdiLastStatus :: Lens' ConfigStreamDeliveryInfo (Maybe DeliveryStatus)
csdiLastStatus = lens _csdiLastStatus (\ s a -> s{_csdiLastStatus = a});
csdiLastErrorMessage :: Lens' ConfigStreamDeliveryInfo (Maybe Text)
csdiLastErrorMessage = lens _csdiLastErrorMessage (\ s a -> s{_csdiLastErrorMessage = a});
instance FromJSON ConfigStreamDeliveryInfo where
parseJSON
= withObject "ConfigStreamDeliveryInfo"
(\ x ->
ConfigStreamDeliveryInfo' <$>
(x .:? "lastErrorCode") <*>
(x .:? "lastStatusChangeTime")
<*> (x .:? "lastStatus")
<*> (x .:? "lastErrorMessage"))
data ConfigurationItem = ConfigurationItem'
{ _ciResourceId :: !(Maybe Text)
, _ciConfigurationStateId :: !(Maybe Text)
, _ciResourceType :: !(Maybe ResourceType)
, _ciArn :: !(Maybe Text)
, _ciResourceCreationTime :: !(Maybe POSIX)
, _ciConfigurationItemStatus :: !(Maybe ConfigurationItemStatus)
, _ciAccountId :: !(Maybe Text)
, _ciConfigurationItemCaptureTime :: !(Maybe POSIX)
, _ciAvailabilityZone :: !(Maybe Text)
, _ciRelationships :: !(Maybe [Relationship])
, _ciVersion :: !(Maybe Text)
, _ciRelatedEvents :: !(Maybe [Text])
, _ciConfiguration :: !(Maybe Text)
, _ciConfigurationItemMD5Hash :: !(Maybe Text)
, _ciTags :: !(Maybe (Map Text Text))
} deriving (Eq,Read,Show,Data,Typeable,Generic)
configurationItem
:: ConfigurationItem
configurationItem =
ConfigurationItem'
{ _ciResourceId = Nothing
, _ciConfigurationStateId = Nothing
, _ciResourceType = Nothing
, _ciArn = Nothing
, _ciResourceCreationTime = Nothing
, _ciConfigurationItemStatus = Nothing
, _ciAccountId = Nothing
, _ciConfigurationItemCaptureTime = Nothing
, _ciAvailabilityZone = Nothing
, _ciRelationships = Nothing
, _ciVersion = Nothing
, _ciRelatedEvents = Nothing
, _ciConfiguration = Nothing
, _ciConfigurationItemMD5Hash = Nothing
, _ciTags = Nothing
}
ciResourceId :: Lens' ConfigurationItem (Maybe Text)
ciResourceId = lens _ciResourceId (\ s a -> s{_ciResourceId = a});
ciConfigurationStateId :: Lens' ConfigurationItem (Maybe Text)
ciConfigurationStateId = lens _ciConfigurationStateId (\ s a -> s{_ciConfigurationStateId = a});
ciResourceType :: Lens' ConfigurationItem (Maybe ResourceType)
ciResourceType = lens _ciResourceType (\ s a -> s{_ciResourceType = a});
ciArn :: Lens' ConfigurationItem (Maybe Text)
ciArn = lens _ciArn (\ s a -> s{_ciArn = a});
ciResourceCreationTime :: Lens' ConfigurationItem (Maybe UTCTime)
ciResourceCreationTime = lens _ciResourceCreationTime (\ s a -> s{_ciResourceCreationTime = a}) . mapping _Time;
ciConfigurationItemStatus :: Lens' ConfigurationItem (Maybe ConfigurationItemStatus)
ciConfigurationItemStatus = lens _ciConfigurationItemStatus (\ s a -> s{_ciConfigurationItemStatus = a});
ciAccountId :: Lens' ConfigurationItem (Maybe Text)
ciAccountId = lens _ciAccountId (\ s a -> s{_ciAccountId = a});
ciConfigurationItemCaptureTime :: Lens' ConfigurationItem (Maybe UTCTime)
ciConfigurationItemCaptureTime = lens _ciConfigurationItemCaptureTime (\ s a -> s{_ciConfigurationItemCaptureTime = a}) . mapping _Time;
ciAvailabilityZone :: Lens' ConfigurationItem (Maybe Text)
ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a});
ciRelationships :: Lens' ConfigurationItem [Relationship]
ciRelationships = lens _ciRelationships (\ s a -> s{_ciRelationships = a}) . _Default . _Coerce;
ciVersion :: Lens' ConfigurationItem (Maybe Text)
ciVersion = lens _ciVersion (\ s a -> s{_ciVersion = a});
ciRelatedEvents :: Lens' ConfigurationItem [Text]
ciRelatedEvents = lens _ciRelatedEvents (\ s a -> s{_ciRelatedEvents = a}) . _Default . _Coerce;
ciConfiguration :: Lens' ConfigurationItem (Maybe Text)
ciConfiguration = lens _ciConfiguration (\ s a -> s{_ciConfiguration = a});
ciConfigurationItemMD5Hash :: Lens' ConfigurationItem (Maybe Text)
ciConfigurationItemMD5Hash = lens _ciConfigurationItemMD5Hash (\ s a -> s{_ciConfigurationItemMD5Hash = a});
ciTags :: Lens' ConfigurationItem (HashMap Text Text)
ciTags = lens _ciTags (\ s a -> s{_ciTags = a}) . _Default . _Map;
instance FromJSON ConfigurationItem where
parseJSON
= withObject "ConfigurationItem"
(\ x ->
ConfigurationItem' <$>
(x .:? "resourceId") <*>
(x .:? "configurationStateId")
<*> (x .:? "resourceType")
<*> (x .:? "arn")
<*> (x .:? "resourceCreationTime")
<*> (x .:? "configurationItemStatus")
<*> (x .:? "accountId")
<*> (x .:? "configurationItemCaptureTime")
<*> (x .:? "availabilityZone")
<*> (x .:? "relationships" .!= mempty)
<*> (x .:? "version")
<*> (x .:? "relatedEvents" .!= mempty)
<*> (x .:? "configuration")
<*> (x .:? "configurationItemMD5Hash")
<*> (x .:? "tags" .!= mempty))
data ConfigurationRecorder = ConfigurationRecorder'
{ _crName :: !(Maybe Text)
, _crRecordingGroup :: !(Maybe RecordingGroup)
, _crRoleARN :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
configurationRecorder
:: ConfigurationRecorder
configurationRecorder =
ConfigurationRecorder'
{ _crName = Nothing
, _crRecordingGroup = Nothing
, _crRoleARN = Nothing
}
crName :: Lens' ConfigurationRecorder (Maybe Text)
crName = lens _crName (\ s a -> s{_crName = a});
crRecordingGroup :: Lens' ConfigurationRecorder (Maybe RecordingGroup)
crRecordingGroup = lens _crRecordingGroup (\ s a -> s{_crRecordingGroup = a});
crRoleARN :: Lens' ConfigurationRecorder (Maybe Text)
crRoleARN = lens _crRoleARN (\ s a -> s{_crRoleARN = a});
instance FromJSON ConfigurationRecorder where
parseJSON
= withObject "ConfigurationRecorder"
(\ x ->
ConfigurationRecorder' <$>
(x .:? "name") <*> (x .:? "recordingGroup") <*>
(x .:? "roleARN"))
instance ToJSON ConfigurationRecorder where
toJSON ConfigurationRecorder'{..}
= object
["name" .= _crName,
"recordingGroup" .= _crRecordingGroup,
"roleARN" .= _crRoleARN]
data ConfigurationRecorderStatus = ConfigurationRecorderStatus'
{ _crsLastErrorCode :: !(Maybe Text)
, _crsLastStopTime :: !(Maybe POSIX)
, _crsLastStatusChangeTime :: !(Maybe POSIX)
, _crsRecording :: !(Maybe Bool)
, _crsLastStatus :: !(Maybe RecorderStatus)
, _crsLastErrorMessage :: !(Maybe Text)
, _crsName :: !(Maybe Text)
, _crsLastStartTime :: !(Maybe POSIX)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
configurationRecorderStatus
:: ConfigurationRecorderStatus
configurationRecorderStatus =
ConfigurationRecorderStatus'
{ _crsLastErrorCode = Nothing
, _crsLastStopTime = Nothing
, _crsLastStatusChangeTime = Nothing
, _crsRecording = Nothing
, _crsLastStatus = Nothing
, _crsLastErrorMessage = Nothing
, _crsName = Nothing
, _crsLastStartTime = Nothing
}
crsLastErrorCode :: Lens' ConfigurationRecorderStatus (Maybe Text)
crsLastErrorCode = lens _crsLastErrorCode (\ s a -> s{_crsLastErrorCode = a});
crsLastStopTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)
crsLastStopTime = lens _crsLastStopTime (\ s a -> s{_crsLastStopTime = a}) . mapping _Time;
crsLastStatusChangeTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)
crsLastStatusChangeTime = lens _crsLastStatusChangeTime (\ s a -> s{_crsLastStatusChangeTime = a}) . mapping _Time;
crsRecording :: Lens' ConfigurationRecorderStatus (Maybe Bool)
crsRecording = lens _crsRecording (\ s a -> s{_crsRecording = a});
crsLastStatus :: Lens' ConfigurationRecorderStatus (Maybe RecorderStatus)
crsLastStatus = lens _crsLastStatus (\ s a -> s{_crsLastStatus = a});
crsLastErrorMessage :: Lens' ConfigurationRecorderStatus (Maybe Text)
crsLastErrorMessage = lens _crsLastErrorMessage (\ s a -> s{_crsLastErrorMessage = a});
crsName :: Lens' ConfigurationRecorderStatus (Maybe Text)
crsName = lens _crsName (\ s a -> s{_crsName = a});
crsLastStartTime :: Lens' ConfigurationRecorderStatus (Maybe UTCTime)
crsLastStartTime = lens _crsLastStartTime (\ s a -> s{_crsLastStartTime = a}) . mapping _Time;
instance FromJSON ConfigurationRecorderStatus where
parseJSON
= withObject "ConfigurationRecorderStatus"
(\ x ->
ConfigurationRecorderStatus' <$>
(x .:? "lastErrorCode") <*> (x .:? "lastStopTime")
<*> (x .:? "lastStatusChangeTime")
<*> (x .:? "recording")
<*> (x .:? "lastStatus")
<*> (x .:? "lastErrorMessage")
<*> (x .:? "name")
<*> (x .:? "lastStartTime"))
data DeliveryChannel = DeliveryChannel'
{ _dcS3KeyPrefix :: !(Maybe Text)
, _dcSnsTopicARN :: !(Maybe Text)
, _dcName :: !(Maybe Text)
, _dcS3BucketName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deliveryChannel
:: DeliveryChannel
deliveryChannel =
DeliveryChannel'
{ _dcS3KeyPrefix = Nothing
, _dcSnsTopicARN = Nothing
, _dcName = Nothing
, _dcS3BucketName = Nothing
}
dcS3KeyPrefix :: Lens' DeliveryChannel (Maybe Text)
dcS3KeyPrefix = lens _dcS3KeyPrefix (\ s a -> s{_dcS3KeyPrefix = a});
dcSnsTopicARN :: Lens' DeliveryChannel (Maybe Text)
dcSnsTopicARN = lens _dcSnsTopicARN (\ s a -> s{_dcSnsTopicARN = a});
dcName :: Lens' DeliveryChannel (Maybe Text)
dcName = lens _dcName (\ s a -> s{_dcName = a});
dcS3BucketName :: Lens' DeliveryChannel (Maybe Text)
dcS3BucketName = lens _dcS3BucketName (\ s a -> s{_dcS3BucketName = a});
instance FromJSON DeliveryChannel where
parseJSON
= withObject "DeliveryChannel"
(\ x ->
DeliveryChannel' <$>
(x .:? "s3KeyPrefix") <*> (x .:? "snsTopicARN") <*>
(x .:? "name")
<*> (x .:? "s3BucketName"))
instance ToJSON DeliveryChannel where
toJSON DeliveryChannel'{..}
= object
["s3KeyPrefix" .= _dcS3KeyPrefix,
"snsTopicARN" .= _dcSnsTopicARN, "name" .= _dcName,
"s3BucketName" .= _dcS3BucketName]
data DeliveryChannelStatus = DeliveryChannelStatus'
{ _dcsConfigStreamDeliveryInfo :: !(Maybe ConfigStreamDeliveryInfo)
, _dcsConfigSnapshotDeliveryInfo :: !(Maybe ConfigExportDeliveryInfo)
, _dcsConfigHistoryDeliveryInfo :: !(Maybe ConfigExportDeliveryInfo)
, _dcsName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deliveryChannelStatus
:: DeliveryChannelStatus
deliveryChannelStatus =
DeliveryChannelStatus'
{ _dcsConfigStreamDeliveryInfo = Nothing
, _dcsConfigSnapshotDeliveryInfo = Nothing
, _dcsConfigHistoryDeliveryInfo = Nothing
, _dcsName = Nothing
}
dcsConfigStreamDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigStreamDeliveryInfo)
dcsConfigStreamDeliveryInfo = lens _dcsConfigStreamDeliveryInfo (\ s a -> s{_dcsConfigStreamDeliveryInfo = a});
dcsConfigSnapshotDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)
dcsConfigSnapshotDeliveryInfo = lens _dcsConfigSnapshotDeliveryInfo (\ s a -> s{_dcsConfigSnapshotDeliveryInfo = a});
dcsConfigHistoryDeliveryInfo :: Lens' DeliveryChannelStatus (Maybe ConfigExportDeliveryInfo)
dcsConfigHistoryDeliveryInfo = lens _dcsConfigHistoryDeliveryInfo (\ s a -> s{_dcsConfigHistoryDeliveryInfo = a});
dcsName :: Lens' DeliveryChannelStatus (Maybe Text)
dcsName = lens _dcsName (\ s a -> s{_dcsName = a});
instance FromJSON DeliveryChannelStatus where
parseJSON
= withObject "DeliveryChannelStatus"
(\ x ->
DeliveryChannelStatus' <$>
(x .:? "configStreamDeliveryInfo") <*>
(x .:? "configSnapshotDeliveryInfo")
<*> (x .:? "configHistoryDeliveryInfo")
<*> (x .:? "name"))
data RecordingGroup = RecordingGroup'
{ _rgAllSupported :: !(Maybe Bool)
, _rgResourceTypes :: !(Maybe [ResourceType])
} deriving (Eq,Read,Show,Data,Typeable,Generic)
recordingGroup
:: RecordingGroup
recordingGroup =
RecordingGroup'
{ _rgAllSupported = Nothing
, _rgResourceTypes = Nothing
}
rgAllSupported :: Lens' RecordingGroup (Maybe Bool)
rgAllSupported = lens _rgAllSupported (\ s a -> s{_rgAllSupported = a});
rgResourceTypes :: Lens' RecordingGroup [ResourceType]
rgResourceTypes = lens _rgResourceTypes (\ s a -> s{_rgResourceTypes = a}) . _Default . _Coerce;
instance FromJSON RecordingGroup where
parseJSON
= withObject "RecordingGroup"
(\ x ->
RecordingGroup' <$>
(x .:? "allSupported") <*>
(x .:? "resourceTypes" .!= mempty))
instance ToJSON RecordingGroup where
toJSON RecordingGroup'{..}
= object
["allSupported" .= _rgAllSupported,
"resourceTypes" .= _rgResourceTypes]
data Relationship = Relationship'
{ _rResourceId :: !(Maybe Text)
, _rResourceType :: !(Maybe ResourceType)
, _rRelationshipName :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
relationship
:: Relationship
relationship =
Relationship'
{ _rResourceId = Nothing
, _rResourceType = Nothing
, _rRelationshipName = Nothing
}
rResourceId :: Lens' Relationship (Maybe Text)
rResourceId = lens _rResourceId (\ s a -> s{_rResourceId = a});
rResourceType :: Lens' Relationship (Maybe ResourceType)
rResourceType = lens _rResourceType (\ s a -> s{_rResourceType = a});
rRelationshipName :: Lens' Relationship (Maybe Text)
rRelationshipName = lens _rRelationshipName (\ s a -> s{_rRelationshipName = a});
instance FromJSON Relationship where
parseJSON
= withObject "Relationship"
(\ x ->
Relationship' <$>
(x .:? "resourceId") <*> (x .:? "resourceType") <*>
(x .:? "relationshipName"))