{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Network.AWS.IoT.Types.Product where
import Network.AWS.IoT.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
data Action = Action'
{ _aCloudwatchMetric :: !(Maybe CloudwatchMetricAction)
, _aDynamoDBv2 :: !(Maybe DynamoDBv2Action)
, _aCloudwatchAlarm :: !(Maybe CloudwatchAlarmAction)
, _aSns :: !(Maybe SNSAction)
, _aDynamoDB :: !(Maybe DynamoDBAction)
, _aFirehose :: !(Maybe FirehoseAction)
, _aIotAnalytics :: !(Maybe IotAnalyticsAction)
, _aLambda :: !(Maybe LambdaAction)
, _aSalesforce :: !(Maybe SalesforceAction)
, _aKinesis :: !(Maybe KinesisAction)
, _aS3 :: !(Maybe S3Action)
, _aElasticsearch :: !(Maybe ElasticsearchAction)
, _aRepublish :: !(Maybe RepublishAction)
, _aSqs :: !(Maybe SqsAction)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
action
:: Action
action =
Action'
{ _aCloudwatchMetric = Nothing
, _aDynamoDBv2 = Nothing
, _aCloudwatchAlarm = Nothing
, _aSns = Nothing
, _aDynamoDB = Nothing
, _aFirehose = Nothing
, _aIotAnalytics = Nothing
, _aLambda = Nothing
, _aSalesforce = Nothing
, _aKinesis = Nothing
, _aS3 = Nothing
, _aElasticsearch = Nothing
, _aRepublish = Nothing
, _aSqs = Nothing
}
aCloudwatchMetric :: Lens' Action (Maybe CloudwatchMetricAction)
aCloudwatchMetric = lens _aCloudwatchMetric (\ s a -> s{_aCloudwatchMetric = a})
aDynamoDBv2 :: Lens' Action (Maybe DynamoDBv2Action)
aDynamoDBv2 = lens _aDynamoDBv2 (\ s a -> s{_aDynamoDBv2 = a})
aCloudwatchAlarm :: Lens' Action (Maybe CloudwatchAlarmAction)
aCloudwatchAlarm = lens _aCloudwatchAlarm (\ s a -> s{_aCloudwatchAlarm = a})
aSns :: Lens' Action (Maybe SNSAction)
aSns = lens _aSns (\ s a -> s{_aSns = a})
aDynamoDB :: Lens' Action (Maybe DynamoDBAction)
aDynamoDB = lens _aDynamoDB (\ s a -> s{_aDynamoDB = a})
aFirehose :: Lens' Action (Maybe FirehoseAction)
aFirehose = lens _aFirehose (\ s a -> s{_aFirehose = a})
aIotAnalytics :: Lens' Action (Maybe IotAnalyticsAction)
aIotAnalytics = lens _aIotAnalytics (\ s a -> s{_aIotAnalytics = a})
aLambda :: Lens' Action (Maybe LambdaAction)
aLambda = lens _aLambda (\ s a -> s{_aLambda = a})
aSalesforce :: Lens' Action (Maybe SalesforceAction)
aSalesforce = lens _aSalesforce (\ s a -> s{_aSalesforce = a})
aKinesis :: Lens' Action (Maybe KinesisAction)
aKinesis = lens _aKinesis (\ s a -> s{_aKinesis = a})
aS3 :: Lens' Action (Maybe S3Action)
aS3 = lens _aS3 (\ s a -> s{_aS3 = a})
aElasticsearch :: Lens' Action (Maybe ElasticsearchAction)
aElasticsearch = lens _aElasticsearch (\ s a -> s{_aElasticsearch = a})
aRepublish :: Lens' Action (Maybe RepublishAction)
aRepublish = lens _aRepublish (\ s a -> s{_aRepublish = a})
aSqs :: Lens' Action (Maybe SqsAction)
aSqs = lens _aSqs (\ s a -> s{_aSqs = a})
instance FromJSON Action where
parseJSON
= withObject "Action"
(\ x ->
Action' <$>
(x .:? "cloudwatchMetric") <*> (x .:? "dynamoDBv2")
<*> (x .:? "cloudwatchAlarm")
<*> (x .:? "sns")
<*> (x .:? "dynamoDB")
<*> (x .:? "firehose")
<*> (x .:? "iotAnalytics")
<*> (x .:? "lambda")
<*> (x .:? "salesforce")
<*> (x .:? "kinesis")
<*> (x .:? "s3")
<*> (x .:? "elasticsearch")
<*> (x .:? "republish")
<*> (x .:? "sqs"))
instance Hashable Action where
instance NFData Action where
instance ToJSON Action where
toJSON Action'{..}
= object
(catMaybes
[("cloudwatchMetric" .=) <$> _aCloudwatchMetric,
("dynamoDBv2" .=) <$> _aDynamoDBv2,
("cloudwatchAlarm" .=) <$> _aCloudwatchAlarm,
("sns" .=) <$> _aSns, ("dynamoDB" .=) <$> _aDynamoDB,
("firehose" .=) <$> _aFirehose,
("iotAnalytics" .=) <$> _aIotAnalytics,
("lambda" .=) <$> _aLambda,
("salesforce" .=) <$> _aSalesforce,
("kinesis" .=) <$> _aKinesis, ("s3" .=) <$> _aS3,
("elasticsearch" .=) <$> _aElasticsearch,
("republish" .=) <$> _aRepublish,
("sqs" .=) <$> _aSqs])
newtype Allowed = Allowed'
{ _aPolicies :: Maybe [Policy]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
allowed
:: Allowed
allowed = Allowed' {_aPolicies = Nothing}
aPolicies :: Lens' Allowed [Policy]
aPolicies = lens _aPolicies (\ s a -> s{_aPolicies = a}) . _Default . _Coerce
instance FromJSON Allowed where
parseJSON
= withObject "Allowed"
(\ x -> Allowed' <$> (x .:? "policies" .!= mempty))
instance Hashable Allowed where
instance NFData Allowed where
data AttributePayload = AttributePayload'
{ _apAttributes :: !(Maybe (Map Text Text))
, _apMerge :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
attributePayload
:: AttributePayload
attributePayload =
AttributePayload' {_apAttributes = Nothing, _apMerge = Nothing}
apAttributes :: Lens' AttributePayload (HashMap Text Text)
apAttributes = lens _apAttributes (\ s a -> s{_apAttributes = a}) . _Default . _Map
apMerge :: Lens' AttributePayload (Maybe Bool)
apMerge = lens _apMerge (\ s a -> s{_apMerge = a})
instance FromJSON AttributePayload where
parseJSON
= withObject "AttributePayload"
(\ x ->
AttributePayload' <$>
(x .:? "attributes" .!= mempty) <*> (x .:? "merge"))
instance Hashable AttributePayload where
instance NFData AttributePayload where
instance ToJSON AttributePayload where
toJSON AttributePayload'{..}
= object
(catMaybes
[("attributes" .=) <$> _apAttributes,
("merge" .=) <$> _apMerge])
data AuthInfo = AuthInfo'
{ _aiResources :: !(Maybe [Text])
, _aiActionType :: !(Maybe ActionType)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
authInfo
:: AuthInfo
authInfo = AuthInfo' {_aiResources = Nothing, _aiActionType = Nothing}
aiResources :: Lens' AuthInfo [Text]
aiResources = lens _aiResources (\ s a -> s{_aiResources = a}) . _Default . _Coerce
aiActionType :: Lens' AuthInfo (Maybe ActionType)
aiActionType = lens _aiActionType (\ s a -> s{_aiActionType = a})
instance FromJSON AuthInfo where
parseJSON
= withObject "AuthInfo"
(\ x ->
AuthInfo' <$>
(x .:? "resources" .!= mempty) <*>
(x .:? "actionType"))
instance Hashable AuthInfo where
instance NFData AuthInfo where
instance ToJSON AuthInfo where
toJSON AuthInfo'{..}
= object
(catMaybes
[("resources" .=) <$> _aiResources,
("actionType" .=) <$> _aiActionType])
data AuthResult = AuthResult'
{ _arDenied :: !(Maybe Denied)
, _arAuthDecision :: !(Maybe AuthDecision)
, _arAllowed :: !(Maybe Allowed)
, _arMissingContextValues :: !(Maybe [Text])
, _arAuthInfo :: !(Maybe AuthInfo)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
authResult
:: AuthResult
authResult =
AuthResult'
{ _arDenied = Nothing
, _arAuthDecision = Nothing
, _arAllowed = Nothing
, _arMissingContextValues = Nothing
, _arAuthInfo = Nothing
}
arDenied :: Lens' AuthResult (Maybe Denied)
arDenied = lens _arDenied (\ s a -> s{_arDenied = a})
arAuthDecision :: Lens' AuthResult (Maybe AuthDecision)
arAuthDecision = lens _arAuthDecision (\ s a -> s{_arAuthDecision = a})
arAllowed :: Lens' AuthResult (Maybe Allowed)
arAllowed = lens _arAllowed (\ s a -> s{_arAllowed = a})
arMissingContextValues :: Lens' AuthResult [Text]
arMissingContextValues = lens _arMissingContextValues (\ s a -> s{_arMissingContextValues = a}) . _Default . _Coerce
arAuthInfo :: Lens' AuthResult (Maybe AuthInfo)
arAuthInfo = lens _arAuthInfo (\ s a -> s{_arAuthInfo = a})
instance FromJSON AuthResult where
parseJSON
= withObject "AuthResult"
(\ x ->
AuthResult' <$>
(x .:? "denied") <*> (x .:? "authDecision") <*>
(x .:? "allowed")
<*> (x .:? "missingContextValues" .!= mempty)
<*> (x .:? "authInfo"))
instance Hashable AuthResult where
instance NFData AuthResult where
data AuthorizerDescription = AuthorizerDescription'
{ _adStatus :: !(Maybe AuthorizerStatus)
, _adLastModifiedDate :: !(Maybe POSIX)
, _adAuthorizerName :: !(Maybe Text)
, _adAuthorizerFunctionARN :: !(Maybe Text)
, _adAuthorizerARN :: !(Maybe Text)
, _adCreationDate :: !(Maybe POSIX)
, _adTokenSigningPublicKeys :: !(Maybe (Map Text Text))
, _adTokenKeyName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
authorizerDescription
:: AuthorizerDescription
authorizerDescription =
AuthorizerDescription'
{ _adStatus = Nothing
, _adLastModifiedDate = Nothing
, _adAuthorizerName = Nothing
, _adAuthorizerFunctionARN = Nothing
, _adAuthorizerARN = Nothing
, _adCreationDate = Nothing
, _adTokenSigningPublicKeys = Nothing
, _adTokenKeyName = Nothing
}
adStatus :: Lens' AuthorizerDescription (Maybe AuthorizerStatus)
adStatus = lens _adStatus (\ s a -> s{_adStatus = a})
adLastModifiedDate :: Lens' AuthorizerDescription (Maybe UTCTime)
adLastModifiedDate = lens _adLastModifiedDate (\ s a -> s{_adLastModifiedDate = a}) . mapping _Time
adAuthorizerName :: Lens' AuthorizerDescription (Maybe Text)
adAuthorizerName = lens _adAuthorizerName (\ s a -> s{_adAuthorizerName = a})
adAuthorizerFunctionARN :: Lens' AuthorizerDescription (Maybe Text)
adAuthorizerFunctionARN = lens _adAuthorizerFunctionARN (\ s a -> s{_adAuthorizerFunctionARN = a})
adAuthorizerARN :: Lens' AuthorizerDescription (Maybe Text)
adAuthorizerARN = lens _adAuthorizerARN (\ s a -> s{_adAuthorizerARN = a})
adCreationDate :: Lens' AuthorizerDescription (Maybe UTCTime)
adCreationDate = lens _adCreationDate (\ s a -> s{_adCreationDate = a}) . mapping _Time
adTokenSigningPublicKeys :: Lens' AuthorizerDescription (HashMap Text Text)
adTokenSigningPublicKeys = lens _adTokenSigningPublicKeys (\ s a -> s{_adTokenSigningPublicKeys = a}) . _Default . _Map
adTokenKeyName :: Lens' AuthorizerDescription (Maybe Text)
adTokenKeyName = lens _adTokenKeyName (\ s a -> s{_adTokenKeyName = a})
instance FromJSON AuthorizerDescription where
parseJSON
= withObject "AuthorizerDescription"
(\ x ->
AuthorizerDescription' <$>
(x .:? "status") <*> (x .:? "lastModifiedDate") <*>
(x .:? "authorizerName")
<*> (x .:? "authorizerFunctionArn")
<*> (x .:? "authorizerArn")
<*> (x .:? "creationDate")
<*> (x .:? "tokenSigningPublicKeys" .!= mempty)
<*> (x .:? "tokenKeyName"))
instance Hashable AuthorizerDescription where
instance NFData AuthorizerDescription where
data AuthorizerSummary = AuthorizerSummary'
{ _asAuthorizerName :: !(Maybe Text)
, _asAuthorizerARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
authorizerSummary
:: AuthorizerSummary
authorizerSummary =
AuthorizerSummary' {_asAuthorizerName = Nothing, _asAuthorizerARN = Nothing}
asAuthorizerName :: Lens' AuthorizerSummary (Maybe Text)
asAuthorizerName = lens _asAuthorizerName (\ s a -> s{_asAuthorizerName = a})
asAuthorizerARN :: Lens' AuthorizerSummary (Maybe Text)
asAuthorizerARN = lens _asAuthorizerARN (\ s a -> s{_asAuthorizerARN = a})
instance FromJSON AuthorizerSummary where
parseJSON
= withObject "AuthorizerSummary"
(\ x ->
AuthorizerSummary' <$>
(x .:? "authorizerName") <*> (x .:? "authorizerArn"))
instance Hashable AuthorizerSummary where
instance NFData AuthorizerSummary where
data CACertificate = CACertificate'
{ _cacStatus :: !(Maybe CACertificateStatus)
, _cacCertificateARN :: !(Maybe Text)
, _cacCertificateId :: !(Maybe Text)
, _cacCreationDate :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cACertificate
:: CACertificate
cACertificate =
CACertificate'
{ _cacStatus = Nothing
, _cacCertificateARN = Nothing
, _cacCertificateId = Nothing
, _cacCreationDate = Nothing
}
cacStatus :: Lens' CACertificate (Maybe CACertificateStatus)
cacStatus = lens _cacStatus (\ s a -> s{_cacStatus = a})
cacCertificateARN :: Lens' CACertificate (Maybe Text)
cacCertificateARN = lens _cacCertificateARN (\ s a -> s{_cacCertificateARN = a})
cacCertificateId :: Lens' CACertificate (Maybe Text)
cacCertificateId = lens _cacCertificateId (\ s a -> s{_cacCertificateId = a})
cacCreationDate :: Lens' CACertificate (Maybe UTCTime)
cacCreationDate = lens _cacCreationDate (\ s a -> s{_cacCreationDate = a}) . mapping _Time
instance FromJSON CACertificate where
parseJSON
= withObject "CACertificate"
(\ x ->
CACertificate' <$>
(x .:? "status") <*> (x .:? "certificateArn") <*>
(x .:? "certificateId")
<*> (x .:? "creationDate"))
instance Hashable CACertificate where
instance NFData CACertificate where
data CACertificateDescription = CACertificateDescription'
{ _cacdStatus :: !(Maybe CACertificateStatus)
, _cacdOwnedBy :: !(Maybe Text)
, _cacdLastModifiedDate :: !(Maybe POSIX)
, _cacdCertificatePem :: !(Maybe Text)
, _cacdCertificateARN :: !(Maybe Text)
, _cacdCertificateId :: !(Maybe Text)
, _cacdAutoRegistrationStatus :: !(Maybe AutoRegistrationStatus)
, _cacdCreationDate :: !(Maybe POSIX)
, _cacdGenerationId :: !(Maybe Text)
, _cacdCustomerVersion :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cACertificateDescription
:: CACertificateDescription
cACertificateDescription =
CACertificateDescription'
{ _cacdStatus = Nothing
, _cacdOwnedBy = Nothing
, _cacdLastModifiedDate = Nothing
, _cacdCertificatePem = Nothing
, _cacdCertificateARN = Nothing
, _cacdCertificateId = Nothing
, _cacdAutoRegistrationStatus = Nothing
, _cacdCreationDate = Nothing
, _cacdGenerationId = Nothing
, _cacdCustomerVersion = Nothing
}
cacdStatus :: Lens' CACertificateDescription (Maybe CACertificateStatus)
cacdStatus = lens _cacdStatus (\ s a -> s{_cacdStatus = a})
cacdOwnedBy :: Lens' CACertificateDescription (Maybe Text)
cacdOwnedBy = lens _cacdOwnedBy (\ s a -> s{_cacdOwnedBy = a})
cacdLastModifiedDate :: Lens' CACertificateDescription (Maybe UTCTime)
cacdLastModifiedDate = lens _cacdLastModifiedDate (\ s a -> s{_cacdLastModifiedDate = a}) . mapping _Time
cacdCertificatePem :: Lens' CACertificateDescription (Maybe Text)
cacdCertificatePem = lens _cacdCertificatePem (\ s a -> s{_cacdCertificatePem = a})
cacdCertificateARN :: Lens' CACertificateDescription (Maybe Text)
cacdCertificateARN = lens _cacdCertificateARN (\ s a -> s{_cacdCertificateARN = a})
cacdCertificateId :: Lens' CACertificateDescription (Maybe Text)
cacdCertificateId = lens _cacdCertificateId (\ s a -> s{_cacdCertificateId = a})
cacdAutoRegistrationStatus :: Lens' CACertificateDescription (Maybe AutoRegistrationStatus)
cacdAutoRegistrationStatus = lens _cacdAutoRegistrationStatus (\ s a -> s{_cacdAutoRegistrationStatus = a})
cacdCreationDate :: Lens' CACertificateDescription (Maybe UTCTime)
cacdCreationDate = lens _cacdCreationDate (\ s a -> s{_cacdCreationDate = a}) . mapping _Time
cacdGenerationId :: Lens' CACertificateDescription (Maybe Text)
cacdGenerationId = lens _cacdGenerationId (\ s a -> s{_cacdGenerationId = a})
cacdCustomerVersion :: Lens' CACertificateDescription (Maybe Natural)
cacdCustomerVersion = lens _cacdCustomerVersion (\ s a -> s{_cacdCustomerVersion = a}) . mapping _Nat
instance FromJSON CACertificateDescription where
parseJSON
= withObject "CACertificateDescription"
(\ x ->
CACertificateDescription' <$>
(x .:? "status") <*> (x .:? "ownedBy") <*>
(x .:? "lastModifiedDate")
<*> (x .:? "certificatePem")
<*> (x .:? "certificateArn")
<*> (x .:? "certificateId")
<*> (x .:? "autoRegistrationStatus")
<*> (x .:? "creationDate")
<*> (x .:? "generationId")
<*> (x .:? "customerVersion"))
instance Hashable CACertificateDescription where
instance NFData CACertificateDescription where
data Certificate = Certificate'
{ _cStatus :: !(Maybe CertificateStatus)
, _cCertificateARN :: !(Maybe Text)
, _cCertificateId :: !(Maybe Text)
, _cCreationDate :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
certificate
:: Certificate
certificate =
Certificate'
{ _cStatus = Nothing
, _cCertificateARN = Nothing
, _cCertificateId = Nothing
, _cCreationDate = Nothing
}
cStatus :: Lens' Certificate (Maybe CertificateStatus)
cStatus = lens _cStatus (\ s a -> s{_cStatus = a})
cCertificateARN :: Lens' Certificate (Maybe Text)
cCertificateARN = lens _cCertificateARN (\ s a -> s{_cCertificateARN = a})
cCertificateId :: Lens' Certificate (Maybe Text)
cCertificateId = lens _cCertificateId (\ s a -> s{_cCertificateId = a})
cCreationDate :: Lens' Certificate (Maybe UTCTime)
cCreationDate = lens _cCreationDate (\ s a -> s{_cCreationDate = a}) . mapping _Time
instance FromJSON Certificate where
parseJSON
= withObject "Certificate"
(\ x ->
Certificate' <$>
(x .:? "status") <*> (x .:? "certificateArn") <*>
(x .:? "certificateId")
<*> (x .:? "creationDate"))
instance Hashable Certificate where
instance NFData Certificate where
data CertificateDescription = CertificateDescription'
{ _cdStatus :: !(Maybe CertificateStatus)
, _cdOwnedBy :: !(Maybe Text)
, _cdLastModifiedDate :: !(Maybe POSIX)
, _cdCaCertificateId :: !(Maybe Text)
, _cdPreviousOwnedBy :: !(Maybe Text)
, _cdCertificatePem :: !(Maybe Text)
, _cdCertificateARN :: !(Maybe Text)
, _cdCertificateId :: !(Maybe Text)
, _cdCreationDate :: !(Maybe POSIX)
, _cdGenerationId :: !(Maybe Text)
, _cdTransferData :: !(Maybe TransferData)
, _cdCustomerVersion :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
certificateDescription
:: CertificateDescription
certificateDescription =
CertificateDescription'
{ _cdStatus = Nothing
, _cdOwnedBy = Nothing
, _cdLastModifiedDate = Nothing
, _cdCaCertificateId = Nothing
, _cdPreviousOwnedBy = Nothing
, _cdCertificatePem = Nothing
, _cdCertificateARN = Nothing
, _cdCertificateId = Nothing
, _cdCreationDate = Nothing
, _cdGenerationId = Nothing
, _cdTransferData = Nothing
, _cdCustomerVersion = Nothing
}
cdStatus :: Lens' CertificateDescription (Maybe CertificateStatus)
cdStatus = lens _cdStatus (\ s a -> s{_cdStatus = a})
cdOwnedBy :: Lens' CertificateDescription (Maybe Text)
cdOwnedBy = lens _cdOwnedBy (\ s a -> s{_cdOwnedBy = a})
cdLastModifiedDate :: Lens' CertificateDescription (Maybe UTCTime)
cdLastModifiedDate = lens _cdLastModifiedDate (\ s a -> s{_cdLastModifiedDate = a}) . mapping _Time
cdCaCertificateId :: Lens' CertificateDescription (Maybe Text)
cdCaCertificateId = lens _cdCaCertificateId (\ s a -> s{_cdCaCertificateId = a})
cdPreviousOwnedBy :: Lens' CertificateDescription (Maybe Text)
cdPreviousOwnedBy = lens _cdPreviousOwnedBy (\ s a -> s{_cdPreviousOwnedBy = a})
cdCertificatePem :: Lens' CertificateDescription (Maybe Text)
cdCertificatePem = lens _cdCertificatePem (\ s a -> s{_cdCertificatePem = a})
cdCertificateARN :: Lens' CertificateDescription (Maybe Text)
cdCertificateARN = lens _cdCertificateARN (\ s a -> s{_cdCertificateARN = a})
cdCertificateId :: Lens' CertificateDescription (Maybe Text)
cdCertificateId = lens _cdCertificateId (\ s a -> s{_cdCertificateId = a})
cdCreationDate :: Lens' CertificateDescription (Maybe UTCTime)
cdCreationDate = lens _cdCreationDate (\ s a -> s{_cdCreationDate = a}) . mapping _Time
cdGenerationId :: Lens' CertificateDescription (Maybe Text)
cdGenerationId = lens _cdGenerationId (\ s a -> s{_cdGenerationId = a})
cdTransferData :: Lens' CertificateDescription (Maybe TransferData)
cdTransferData = lens _cdTransferData (\ s a -> s{_cdTransferData = a})
cdCustomerVersion :: Lens' CertificateDescription (Maybe Natural)
cdCustomerVersion = lens _cdCustomerVersion (\ s a -> s{_cdCustomerVersion = a}) . mapping _Nat
instance FromJSON CertificateDescription where
parseJSON
= withObject "CertificateDescription"
(\ x ->
CertificateDescription' <$>
(x .:? "status") <*> (x .:? "ownedBy") <*>
(x .:? "lastModifiedDate")
<*> (x .:? "caCertificateId")
<*> (x .:? "previousOwnedBy")
<*> (x .:? "certificatePem")
<*> (x .:? "certificateArn")
<*> (x .:? "certificateId")
<*> (x .:? "creationDate")
<*> (x .:? "generationId")
<*> (x .:? "transferData")
<*> (x .:? "customerVersion"))
instance Hashable CertificateDescription where
instance NFData CertificateDescription where
data CloudwatchAlarmAction = CloudwatchAlarmAction'
{ _caaRoleARN :: !Text
, _caaAlarmName :: !Text
, _caaStateReason :: !Text
, _caaStateValue :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cloudwatchAlarmAction
:: Text
-> Text
-> Text
-> Text
-> CloudwatchAlarmAction
cloudwatchAlarmAction pRoleARN_ pAlarmName_ pStateReason_ pStateValue_ =
CloudwatchAlarmAction'
{ _caaRoleARN = pRoleARN_
, _caaAlarmName = pAlarmName_
, _caaStateReason = pStateReason_
, _caaStateValue = pStateValue_
}
caaRoleARN :: Lens' CloudwatchAlarmAction Text
caaRoleARN = lens _caaRoleARN (\ s a -> s{_caaRoleARN = a})
caaAlarmName :: Lens' CloudwatchAlarmAction Text
caaAlarmName = lens _caaAlarmName (\ s a -> s{_caaAlarmName = a})
caaStateReason :: Lens' CloudwatchAlarmAction Text
caaStateReason = lens _caaStateReason (\ s a -> s{_caaStateReason = a})
caaStateValue :: Lens' CloudwatchAlarmAction Text
caaStateValue = lens _caaStateValue (\ s a -> s{_caaStateValue = a})
instance FromJSON CloudwatchAlarmAction where
parseJSON
= withObject "CloudwatchAlarmAction"
(\ x ->
CloudwatchAlarmAction' <$>
(x .: "roleArn") <*> (x .: "alarmName") <*>
(x .: "stateReason")
<*> (x .: "stateValue"))
instance Hashable CloudwatchAlarmAction where
instance NFData CloudwatchAlarmAction where
instance ToJSON CloudwatchAlarmAction where
toJSON CloudwatchAlarmAction'{..}
= object
(catMaybes
[Just ("roleArn" .= _caaRoleARN),
Just ("alarmName" .= _caaAlarmName),
Just ("stateReason" .= _caaStateReason),
Just ("stateValue" .= _caaStateValue)])
data CloudwatchMetricAction = CloudwatchMetricAction'
{ _cmaMetricTimestamp :: !(Maybe Text)
, _cmaRoleARN :: !Text
, _cmaMetricNamespace :: !Text
, _cmaMetricName :: !Text
, _cmaMetricValue :: !Text
, _cmaMetricUnit :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cloudwatchMetricAction
:: Text
-> Text
-> Text
-> Text
-> Text
-> CloudwatchMetricAction
cloudwatchMetricAction pRoleARN_ pMetricNamespace_ pMetricName_ pMetricValue_ pMetricUnit_ =
CloudwatchMetricAction'
{ _cmaMetricTimestamp = Nothing
, _cmaRoleARN = pRoleARN_
, _cmaMetricNamespace = pMetricNamespace_
, _cmaMetricName = pMetricName_
, _cmaMetricValue = pMetricValue_
, _cmaMetricUnit = pMetricUnit_
}
cmaMetricTimestamp :: Lens' CloudwatchMetricAction (Maybe Text)
cmaMetricTimestamp = lens _cmaMetricTimestamp (\ s a -> s{_cmaMetricTimestamp = a})
cmaRoleARN :: Lens' CloudwatchMetricAction Text
cmaRoleARN = lens _cmaRoleARN (\ s a -> s{_cmaRoleARN = a})
cmaMetricNamespace :: Lens' CloudwatchMetricAction Text
cmaMetricNamespace = lens _cmaMetricNamespace (\ s a -> s{_cmaMetricNamespace = a})
cmaMetricName :: Lens' CloudwatchMetricAction Text
cmaMetricName = lens _cmaMetricName (\ s a -> s{_cmaMetricName = a})
cmaMetricValue :: Lens' CloudwatchMetricAction Text
cmaMetricValue = lens _cmaMetricValue (\ s a -> s{_cmaMetricValue = a})
cmaMetricUnit :: Lens' CloudwatchMetricAction Text
cmaMetricUnit = lens _cmaMetricUnit (\ s a -> s{_cmaMetricUnit = a})
instance FromJSON CloudwatchMetricAction where
parseJSON
= withObject "CloudwatchMetricAction"
(\ x ->
CloudwatchMetricAction' <$>
(x .:? "metricTimestamp") <*> (x .: "roleArn") <*>
(x .: "metricNamespace")
<*> (x .: "metricName")
<*> (x .: "metricValue")
<*> (x .: "metricUnit"))
instance Hashable CloudwatchMetricAction where
instance NFData CloudwatchMetricAction where
instance ToJSON CloudwatchMetricAction where
toJSON CloudwatchMetricAction'{..}
= object
(catMaybes
[("metricTimestamp" .=) <$> _cmaMetricTimestamp,
Just ("roleArn" .= _cmaRoleARN),
Just ("metricNamespace" .= _cmaMetricNamespace),
Just ("metricName" .= _cmaMetricName),
Just ("metricValue" .= _cmaMetricValue),
Just ("metricUnit" .= _cmaMetricUnit)])
data CodeSigning = CodeSigning'
{ _csCustomCodeSigning :: !(Maybe CustomCodeSigning)
, _csAwsSignerJobId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
codeSigning
:: CodeSigning
codeSigning =
CodeSigning' {_csCustomCodeSigning = Nothing, _csAwsSignerJobId = Nothing}
csCustomCodeSigning :: Lens' CodeSigning (Maybe CustomCodeSigning)
csCustomCodeSigning = lens _csCustomCodeSigning (\ s a -> s{_csCustomCodeSigning = a})
csAwsSignerJobId :: Lens' CodeSigning (Maybe Text)
csAwsSignerJobId = lens _csAwsSignerJobId (\ s a -> s{_csAwsSignerJobId = a})
instance FromJSON CodeSigning where
parseJSON
= withObject "CodeSigning"
(\ x ->
CodeSigning' <$>
(x .:? "customCodeSigning") <*>
(x .:? "awsSignerJobId"))
instance Hashable CodeSigning where
instance NFData CodeSigning where
instance ToJSON CodeSigning where
toJSON CodeSigning'{..}
= object
(catMaybes
[("customCodeSigning" .=) <$> _csCustomCodeSigning,
("awsSignerJobId" .=) <$> _csAwsSignerJobId])
data CodeSigningCertificateChain = CodeSigningCertificateChain'
{ _csccStream :: !(Maybe Stream)
, _csccCertificateName :: !(Maybe Text)
, _csccInlineDocument :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
codeSigningCertificateChain
:: CodeSigningCertificateChain
codeSigningCertificateChain =
CodeSigningCertificateChain'
{ _csccStream = Nothing
, _csccCertificateName = Nothing
, _csccInlineDocument = Nothing
}
csccStream :: Lens' CodeSigningCertificateChain (Maybe Stream)
csccStream = lens _csccStream (\ s a -> s{_csccStream = a})
csccCertificateName :: Lens' CodeSigningCertificateChain (Maybe Text)
csccCertificateName = lens _csccCertificateName (\ s a -> s{_csccCertificateName = a})
csccInlineDocument :: Lens' CodeSigningCertificateChain (Maybe Text)
csccInlineDocument = lens _csccInlineDocument (\ s a -> s{_csccInlineDocument = a})
instance FromJSON CodeSigningCertificateChain where
parseJSON
= withObject "CodeSigningCertificateChain"
(\ x ->
CodeSigningCertificateChain' <$>
(x .:? "stream") <*> (x .:? "certificateName") <*>
(x .:? "inlineDocument"))
instance Hashable CodeSigningCertificateChain where
instance NFData CodeSigningCertificateChain where
instance ToJSON CodeSigningCertificateChain where
toJSON CodeSigningCertificateChain'{..}
= object
(catMaybes
[("stream" .=) <$> _csccStream,
("certificateName" .=) <$> _csccCertificateName,
("inlineDocument" .=) <$> _csccInlineDocument])
data CodeSigningSignature = CodeSigningSignature'
{ _cssStream :: !(Maybe Stream)
, _cssInlineDocument :: !(Maybe Base64)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
codeSigningSignature
:: CodeSigningSignature
codeSigningSignature =
CodeSigningSignature' {_cssStream = Nothing, _cssInlineDocument = Nothing}
cssStream :: Lens' CodeSigningSignature (Maybe Stream)
cssStream = lens _cssStream (\ s a -> s{_cssStream = a})
cssInlineDocument :: Lens' CodeSigningSignature (Maybe ByteString)
cssInlineDocument = lens _cssInlineDocument (\ s a -> s{_cssInlineDocument = a}) . mapping _Base64
instance FromJSON CodeSigningSignature where
parseJSON
= withObject "CodeSigningSignature"
(\ x ->
CodeSigningSignature' <$>
(x .:? "stream") <*> (x .:? "inlineDocument"))
instance Hashable CodeSigningSignature where
instance NFData CodeSigningSignature where
instance ToJSON CodeSigningSignature where
toJSON CodeSigningSignature'{..}
= object
(catMaybes
[("stream" .=) <$> _cssStream,
("inlineDocument" .=) <$> _cssInlineDocument])
newtype Configuration = Configuration'
{ _cEnabled :: Maybe Bool
} deriving (Eq, Read, Show, Data, Typeable, Generic)
configuration
:: Configuration
configuration = Configuration' {_cEnabled = Nothing}
cEnabled :: Lens' Configuration (Maybe Bool)
cEnabled = lens _cEnabled (\ s a -> s{_cEnabled = a})
instance FromJSON Configuration where
parseJSON
= withObject "Configuration"
(\ x -> Configuration' <$> (x .:? "Enabled"))
instance Hashable Configuration where
instance NFData Configuration where
instance ToJSON Configuration where
toJSON Configuration'{..}
= object (catMaybes [("Enabled" .=) <$> _cEnabled])
data CustomCodeSigning = CustomCodeSigning'
{ _ccsSignature :: !(Maybe CodeSigningSignature)
, _ccsHashAlgorithm :: !(Maybe Text)
, _ccsCertificateChain :: !(Maybe CodeSigningCertificateChain)
, _ccsSignatureAlgorithm :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
customCodeSigning
:: CustomCodeSigning
customCodeSigning =
CustomCodeSigning'
{ _ccsSignature = Nothing
, _ccsHashAlgorithm = Nothing
, _ccsCertificateChain = Nothing
, _ccsSignatureAlgorithm = Nothing
}
ccsSignature :: Lens' CustomCodeSigning (Maybe CodeSigningSignature)
ccsSignature = lens _ccsSignature (\ s a -> s{_ccsSignature = a})
ccsHashAlgorithm :: Lens' CustomCodeSigning (Maybe Text)
ccsHashAlgorithm = lens _ccsHashAlgorithm (\ s a -> s{_ccsHashAlgorithm = a})
ccsCertificateChain :: Lens' CustomCodeSigning (Maybe CodeSigningCertificateChain)
ccsCertificateChain = lens _ccsCertificateChain (\ s a -> s{_ccsCertificateChain = a})
ccsSignatureAlgorithm :: Lens' CustomCodeSigning (Maybe Text)
ccsSignatureAlgorithm = lens _ccsSignatureAlgorithm (\ s a -> s{_ccsSignatureAlgorithm = a})
instance FromJSON CustomCodeSigning where
parseJSON
= withObject "CustomCodeSigning"
(\ x ->
CustomCodeSigning' <$>
(x .:? "signature") <*> (x .:? "hashAlgorithm") <*>
(x .:? "certificateChain")
<*> (x .:? "signatureAlgorithm"))
instance Hashable CustomCodeSigning where
instance NFData CustomCodeSigning where
instance ToJSON CustomCodeSigning where
toJSON CustomCodeSigning'{..}
= object
(catMaybes
[("signature" .=) <$> _ccsSignature,
("hashAlgorithm" .=) <$> _ccsHashAlgorithm,
("certificateChain" .=) <$> _ccsCertificateChain,
("signatureAlgorithm" .=) <$>
_ccsSignatureAlgorithm])
data Denied = Denied'
{ _dImplicitDeny :: !(Maybe ImplicitDeny)
, _dExplicitDeny :: !(Maybe ExplicitDeny)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
denied
:: Denied
denied = Denied' {_dImplicitDeny = Nothing, _dExplicitDeny = Nothing}
dImplicitDeny :: Lens' Denied (Maybe ImplicitDeny)
dImplicitDeny = lens _dImplicitDeny (\ s a -> s{_dImplicitDeny = a})
dExplicitDeny :: Lens' Denied (Maybe ExplicitDeny)
dExplicitDeny = lens _dExplicitDeny (\ s a -> s{_dExplicitDeny = a})
instance FromJSON Denied where
parseJSON
= withObject "Denied"
(\ x ->
Denied' <$>
(x .:? "implicitDeny") <*> (x .:? "explicitDeny"))
instance Hashable Denied where
instance NFData Denied where
data DynamoDBAction = DynamoDBAction'
{ _ddbaHashKeyType :: !(Maybe DynamoKeyType)
, _ddbaOperation :: !(Maybe Text)
, _ddbaRangeKeyType :: !(Maybe DynamoKeyType)
, _ddbaPayloadField :: !(Maybe Text)
, _ddbaRangeKeyField :: !(Maybe Text)
, _ddbaRangeKeyValue :: !(Maybe Text)
, _ddbaTableName :: !Text
, _ddbaRoleARN :: !Text
, _ddbaHashKeyField :: !Text
, _ddbaHashKeyValue :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dynamoDBAction
:: Text
-> Text
-> Text
-> Text
-> DynamoDBAction
dynamoDBAction pTableName_ pRoleARN_ pHashKeyField_ pHashKeyValue_ =
DynamoDBAction'
{ _ddbaHashKeyType = Nothing
, _ddbaOperation = Nothing
, _ddbaRangeKeyType = Nothing
, _ddbaPayloadField = Nothing
, _ddbaRangeKeyField = Nothing
, _ddbaRangeKeyValue = Nothing
, _ddbaTableName = pTableName_
, _ddbaRoleARN = pRoleARN_
, _ddbaHashKeyField = pHashKeyField_
, _ddbaHashKeyValue = pHashKeyValue_
}
ddbaHashKeyType :: Lens' DynamoDBAction (Maybe DynamoKeyType)
ddbaHashKeyType = lens _ddbaHashKeyType (\ s a -> s{_ddbaHashKeyType = a})
ddbaOperation :: Lens' DynamoDBAction (Maybe Text)
ddbaOperation = lens _ddbaOperation (\ s a -> s{_ddbaOperation = a})
ddbaRangeKeyType :: Lens' DynamoDBAction (Maybe DynamoKeyType)
ddbaRangeKeyType = lens _ddbaRangeKeyType (\ s a -> s{_ddbaRangeKeyType = a})
ddbaPayloadField :: Lens' DynamoDBAction (Maybe Text)
ddbaPayloadField = lens _ddbaPayloadField (\ s a -> s{_ddbaPayloadField = a})
ddbaRangeKeyField :: Lens' DynamoDBAction (Maybe Text)
ddbaRangeKeyField = lens _ddbaRangeKeyField (\ s a -> s{_ddbaRangeKeyField = a})
ddbaRangeKeyValue :: Lens' DynamoDBAction (Maybe Text)
ddbaRangeKeyValue = lens _ddbaRangeKeyValue (\ s a -> s{_ddbaRangeKeyValue = a})
ddbaTableName :: Lens' DynamoDBAction Text
ddbaTableName = lens _ddbaTableName (\ s a -> s{_ddbaTableName = a})
ddbaRoleARN :: Lens' DynamoDBAction Text
ddbaRoleARN = lens _ddbaRoleARN (\ s a -> s{_ddbaRoleARN = a})
ddbaHashKeyField :: Lens' DynamoDBAction Text
ddbaHashKeyField = lens _ddbaHashKeyField (\ s a -> s{_ddbaHashKeyField = a})
ddbaHashKeyValue :: Lens' DynamoDBAction Text
ddbaHashKeyValue = lens _ddbaHashKeyValue (\ s a -> s{_ddbaHashKeyValue = a})
instance FromJSON DynamoDBAction where
parseJSON
= withObject "DynamoDBAction"
(\ x ->
DynamoDBAction' <$>
(x .:? "hashKeyType") <*> (x .:? "operation") <*>
(x .:? "rangeKeyType")
<*> (x .:? "payloadField")
<*> (x .:? "rangeKeyField")
<*> (x .:? "rangeKeyValue")
<*> (x .: "tableName")
<*> (x .: "roleArn")
<*> (x .: "hashKeyField")
<*> (x .: "hashKeyValue"))
instance Hashable DynamoDBAction where
instance NFData DynamoDBAction where
instance ToJSON DynamoDBAction where
toJSON DynamoDBAction'{..}
= object
(catMaybes
[("hashKeyType" .=) <$> _ddbaHashKeyType,
("operation" .=) <$> _ddbaOperation,
("rangeKeyType" .=) <$> _ddbaRangeKeyType,
("payloadField" .=) <$> _ddbaPayloadField,
("rangeKeyField" .=) <$> _ddbaRangeKeyField,
("rangeKeyValue" .=) <$> _ddbaRangeKeyValue,
Just ("tableName" .= _ddbaTableName),
Just ("roleArn" .= _ddbaRoleARN),
Just ("hashKeyField" .= _ddbaHashKeyField),
Just ("hashKeyValue" .= _ddbaHashKeyValue)])
data DynamoDBv2Action = DynamoDBv2Action'
{ _ddaPutItem :: !(Maybe PutItemInput)
, _ddaRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dynamoDBv2Action
:: DynamoDBv2Action
dynamoDBv2Action =
DynamoDBv2Action' {_ddaPutItem = Nothing, _ddaRoleARN = Nothing}
ddaPutItem :: Lens' DynamoDBv2Action (Maybe PutItemInput)
ddaPutItem = lens _ddaPutItem (\ s a -> s{_ddaPutItem = a})
ddaRoleARN :: Lens' DynamoDBv2Action (Maybe Text)
ddaRoleARN = lens _ddaRoleARN (\ s a -> s{_ddaRoleARN = a})
instance FromJSON DynamoDBv2Action where
parseJSON
= withObject "DynamoDBv2Action"
(\ x ->
DynamoDBv2Action' <$>
(x .:? "putItem") <*> (x .:? "roleArn"))
instance Hashable DynamoDBv2Action where
instance NFData DynamoDBv2Action where
instance ToJSON DynamoDBv2Action where
toJSON DynamoDBv2Action'{..}
= object
(catMaybes
[("putItem" .=) <$> _ddaPutItem,
("roleArn" .=) <$> _ddaRoleARN])
data EffectivePolicy = EffectivePolicy'
{ _epPolicyName :: !(Maybe Text)
, _epPolicyDocument :: !(Maybe Text)
, _epPolicyARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
effectivePolicy
:: EffectivePolicy
effectivePolicy =
EffectivePolicy'
{ _epPolicyName = Nothing
, _epPolicyDocument = Nothing
, _epPolicyARN = Nothing
}
epPolicyName :: Lens' EffectivePolicy (Maybe Text)
epPolicyName = lens _epPolicyName (\ s a -> s{_epPolicyName = a})
epPolicyDocument :: Lens' EffectivePolicy (Maybe Text)
epPolicyDocument = lens _epPolicyDocument (\ s a -> s{_epPolicyDocument = a})
epPolicyARN :: Lens' EffectivePolicy (Maybe Text)
epPolicyARN = lens _epPolicyARN (\ s a -> s{_epPolicyARN = a})
instance FromJSON EffectivePolicy where
parseJSON
= withObject "EffectivePolicy"
(\ x ->
EffectivePolicy' <$>
(x .:? "policyName") <*> (x .:? "policyDocument") <*>
(x .:? "policyArn"))
instance Hashable EffectivePolicy where
instance NFData EffectivePolicy where
data ElasticsearchAction = ElasticsearchAction'
{ _eaRoleARN :: !Text
, _eaEndpoint :: !Text
, _eaIndex :: !Text
, _eaType :: !Text
, _eaId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
elasticsearchAction
:: Text
-> Text
-> Text
-> Text
-> Text
-> ElasticsearchAction
elasticsearchAction pRoleARN_ pEndpoint_ pIndex_ pType_ pId_ =
ElasticsearchAction'
{ _eaRoleARN = pRoleARN_
, _eaEndpoint = pEndpoint_
, _eaIndex = pIndex_
, _eaType = pType_
, _eaId = pId_
}
eaRoleARN :: Lens' ElasticsearchAction Text
eaRoleARN = lens _eaRoleARN (\ s a -> s{_eaRoleARN = a})
eaEndpoint :: Lens' ElasticsearchAction Text
eaEndpoint = lens _eaEndpoint (\ s a -> s{_eaEndpoint = a})
eaIndex :: Lens' ElasticsearchAction Text
eaIndex = lens _eaIndex (\ s a -> s{_eaIndex = a})
eaType :: Lens' ElasticsearchAction Text
eaType = lens _eaType (\ s a -> s{_eaType = a})
eaId :: Lens' ElasticsearchAction Text
eaId = lens _eaId (\ s a -> s{_eaId = a})
instance FromJSON ElasticsearchAction where
parseJSON
= withObject "ElasticsearchAction"
(\ x ->
ElasticsearchAction' <$>
(x .: "roleArn") <*> (x .: "endpoint") <*>
(x .: "index")
<*> (x .: "type")
<*> (x .: "id"))
instance Hashable ElasticsearchAction where
instance NFData ElasticsearchAction where
instance ToJSON ElasticsearchAction where
toJSON ElasticsearchAction'{..}
= object
(catMaybes
[Just ("roleArn" .= _eaRoleARN),
Just ("endpoint" .= _eaEndpoint),
Just ("index" .= _eaIndex), Just ("type" .= _eaType),
Just ("id" .= _eaId)])
data ErrorInfo = ErrorInfo'
{ _eiCode :: !(Maybe Text)
, _eiMessage :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
errorInfo
:: ErrorInfo
errorInfo = ErrorInfo' {_eiCode = Nothing, _eiMessage = Nothing}
eiCode :: Lens' ErrorInfo (Maybe Text)
eiCode = lens _eiCode (\ s a -> s{_eiCode = a})
eiMessage :: Lens' ErrorInfo (Maybe Text)
eiMessage = lens _eiMessage (\ s a -> s{_eiMessage = a})
instance FromJSON ErrorInfo where
parseJSON
= withObject "ErrorInfo"
(\ x ->
ErrorInfo' <$> (x .:? "code") <*> (x .:? "message"))
instance Hashable ErrorInfo where
instance NFData ErrorInfo where
newtype ExplicitDeny = ExplicitDeny'
{ _edPolicies :: Maybe [Policy]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
explicitDeny
:: ExplicitDeny
explicitDeny = ExplicitDeny' {_edPolicies = Nothing}
edPolicies :: Lens' ExplicitDeny [Policy]
edPolicies = lens _edPolicies (\ s a -> s{_edPolicies = a}) . _Default . _Coerce
instance FromJSON ExplicitDeny where
parseJSON
= withObject "ExplicitDeny"
(\ x ->
ExplicitDeny' <$> (x .:? "policies" .!= mempty))
instance Hashable ExplicitDeny where
instance NFData ExplicitDeny where
data FirehoseAction = FirehoseAction'
{ _faSeparator :: !(Maybe Text)
, _faRoleARN :: !Text
, _faDeliveryStreamName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
firehoseAction
:: Text
-> Text
-> FirehoseAction
firehoseAction pRoleARN_ pDeliveryStreamName_ =
FirehoseAction'
{ _faSeparator = Nothing
, _faRoleARN = pRoleARN_
, _faDeliveryStreamName = pDeliveryStreamName_
}
faSeparator :: Lens' FirehoseAction (Maybe Text)
faSeparator = lens _faSeparator (\ s a -> s{_faSeparator = a})
faRoleARN :: Lens' FirehoseAction Text
faRoleARN = lens _faRoleARN (\ s a -> s{_faRoleARN = a})
faDeliveryStreamName :: Lens' FirehoseAction Text
faDeliveryStreamName = lens _faDeliveryStreamName (\ s a -> s{_faDeliveryStreamName = a})
instance FromJSON FirehoseAction where
parseJSON
= withObject "FirehoseAction"
(\ x ->
FirehoseAction' <$>
(x .:? "separator") <*> (x .: "roleArn") <*>
(x .: "deliveryStreamName"))
instance Hashable FirehoseAction where
instance NFData FirehoseAction where
instance ToJSON FirehoseAction where
toJSON FirehoseAction'{..}
= object
(catMaybes
[("separator" .=) <$> _faSeparator,
Just ("roleArn" .= _faRoleARN),
Just
("deliveryStreamName" .= _faDeliveryStreamName)])
data GroupNameAndARN = GroupNameAndARN'
{ _gnaaGroupARN :: !(Maybe Text)
, _gnaaGroupName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
groupNameAndARN
:: GroupNameAndARN
groupNameAndARN =
GroupNameAndARN' {_gnaaGroupARN = Nothing, _gnaaGroupName = Nothing}
gnaaGroupARN :: Lens' GroupNameAndARN (Maybe Text)
gnaaGroupARN = lens _gnaaGroupARN (\ s a -> s{_gnaaGroupARN = a})
gnaaGroupName :: Lens' GroupNameAndARN (Maybe Text)
gnaaGroupName = lens _gnaaGroupName (\ s a -> s{_gnaaGroupName = a})
instance FromJSON GroupNameAndARN where
parseJSON
= withObject "GroupNameAndARN"
(\ x ->
GroupNameAndARN' <$>
(x .:? "groupArn") <*> (x .:? "groupName"))
instance Hashable GroupNameAndARN where
instance NFData GroupNameAndARN where
newtype ImplicitDeny = ImplicitDeny'
{ _idPolicies :: Maybe [Policy]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
implicitDeny
:: ImplicitDeny
implicitDeny = ImplicitDeny' {_idPolicies = Nothing}
idPolicies :: Lens' ImplicitDeny [Policy]
idPolicies = lens _idPolicies (\ s a -> s{_idPolicies = a}) . _Default . _Coerce
instance FromJSON ImplicitDeny where
parseJSON
= withObject "ImplicitDeny"
(\ x ->
ImplicitDeny' <$> (x .:? "policies" .!= mempty))
instance Hashable ImplicitDeny where
instance NFData ImplicitDeny where
data IotAnalyticsAction = IotAnalyticsAction'
{ _iaaChannelARN :: !(Maybe Text)
, _iaaChannelName :: !(Maybe Text)
, _iaaRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
iotAnalyticsAction
:: IotAnalyticsAction
iotAnalyticsAction =
IotAnalyticsAction'
{_iaaChannelARN = Nothing, _iaaChannelName = Nothing, _iaaRoleARN = Nothing}
iaaChannelARN :: Lens' IotAnalyticsAction (Maybe Text)
iaaChannelARN = lens _iaaChannelARN (\ s a -> s{_iaaChannelARN = a})
iaaChannelName :: Lens' IotAnalyticsAction (Maybe Text)
iaaChannelName = lens _iaaChannelName (\ s a -> s{_iaaChannelName = a})
iaaRoleARN :: Lens' IotAnalyticsAction (Maybe Text)
iaaRoleARN = lens _iaaRoleARN (\ s a -> s{_iaaRoleARN = a})
instance FromJSON IotAnalyticsAction where
parseJSON
= withObject "IotAnalyticsAction"
(\ x ->
IotAnalyticsAction' <$>
(x .:? "channelArn") <*> (x .:? "channelName") <*>
(x .:? "roleArn"))
instance Hashable IotAnalyticsAction where
instance NFData IotAnalyticsAction where
instance ToJSON IotAnalyticsAction where
toJSON IotAnalyticsAction'{..}
= object
(catMaybes
[("channelArn" .=) <$> _iaaChannelARN,
("channelName" .=) <$> _iaaChannelName,
("roleArn" .=) <$> _iaaRoleARN])
data Job = Job'
{ _jobStatus :: !(Maybe JobStatus)
, _jobJobExecutionsRolloutConfig :: !(Maybe JobExecutionsRolloutConfig)
, _jobJobId :: !(Maybe Text)
, _jobLastUpdatedAt :: !(Maybe POSIX)
, _jobJobARN :: !(Maybe Text)
, _jobCreatedAt :: !(Maybe POSIX)
, _jobDocumentParameters :: !(Maybe (Map Text Text))
, _jobJobProcessDetails :: !(Maybe JobProcessDetails)
, _jobPresignedURLConfig :: !(Maybe PresignedURLConfig)
, _jobTargets :: !(Maybe (List1 Text))
, _jobCompletedAt :: !(Maybe POSIX)
, _jobComment :: !(Maybe Text)
, _jobDescription :: !(Maybe Text)
, _jobTargetSelection :: !(Maybe TargetSelection)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
job
:: Job
job =
Job'
{ _jobStatus = Nothing
, _jobJobExecutionsRolloutConfig = Nothing
, _jobJobId = Nothing
, _jobLastUpdatedAt = Nothing
, _jobJobARN = Nothing
, _jobCreatedAt = Nothing
, _jobDocumentParameters = Nothing
, _jobJobProcessDetails = Nothing
, _jobPresignedURLConfig = Nothing
, _jobTargets = Nothing
, _jobCompletedAt = Nothing
, _jobComment = Nothing
, _jobDescription = Nothing
, _jobTargetSelection = Nothing
}
jobStatus :: Lens' Job (Maybe JobStatus)
jobStatus = lens _jobStatus (\ s a -> s{_jobStatus = a})
jobJobExecutionsRolloutConfig :: Lens' Job (Maybe JobExecutionsRolloutConfig)
jobJobExecutionsRolloutConfig = lens _jobJobExecutionsRolloutConfig (\ s a -> s{_jobJobExecutionsRolloutConfig = a})
jobJobId :: Lens' Job (Maybe Text)
jobJobId = lens _jobJobId (\ s a -> s{_jobJobId = a})
jobLastUpdatedAt :: Lens' Job (Maybe UTCTime)
jobLastUpdatedAt = lens _jobLastUpdatedAt (\ s a -> s{_jobLastUpdatedAt = a}) . mapping _Time
jobJobARN :: Lens' Job (Maybe Text)
jobJobARN = lens _jobJobARN (\ s a -> s{_jobJobARN = a})
jobCreatedAt :: Lens' Job (Maybe UTCTime)
jobCreatedAt = lens _jobCreatedAt (\ s a -> s{_jobCreatedAt = a}) . mapping _Time
jobDocumentParameters :: Lens' Job (HashMap Text Text)
jobDocumentParameters = lens _jobDocumentParameters (\ s a -> s{_jobDocumentParameters = a}) . _Default . _Map
jobJobProcessDetails :: Lens' Job (Maybe JobProcessDetails)
jobJobProcessDetails = lens _jobJobProcessDetails (\ s a -> s{_jobJobProcessDetails = a})
jobPresignedURLConfig :: Lens' Job (Maybe PresignedURLConfig)
jobPresignedURLConfig = lens _jobPresignedURLConfig (\ s a -> s{_jobPresignedURLConfig = a})
jobTargets :: Lens' Job (Maybe (NonEmpty Text))
jobTargets = lens _jobTargets (\ s a -> s{_jobTargets = a}) . mapping _List1
jobCompletedAt :: Lens' Job (Maybe UTCTime)
jobCompletedAt = lens _jobCompletedAt (\ s a -> s{_jobCompletedAt = a}) . mapping _Time
jobComment :: Lens' Job (Maybe Text)
jobComment = lens _jobComment (\ s a -> s{_jobComment = a})
jobDescription :: Lens' Job (Maybe Text)
jobDescription = lens _jobDescription (\ s a -> s{_jobDescription = a})
jobTargetSelection :: Lens' Job (Maybe TargetSelection)
jobTargetSelection = lens _jobTargetSelection (\ s a -> s{_jobTargetSelection = a})
instance FromJSON Job where
parseJSON
= withObject "Job"
(\ x ->
Job' <$>
(x .:? "status") <*>
(x .:? "jobExecutionsRolloutConfig")
<*> (x .:? "jobId")
<*> (x .:? "lastUpdatedAt")
<*> (x .:? "jobArn")
<*> (x .:? "createdAt")
<*> (x .:? "documentParameters" .!= mempty)
<*> (x .:? "jobProcessDetails")
<*> (x .:? "presignedUrlConfig")
<*> (x .:? "targets")
<*> (x .:? "completedAt")
<*> (x .:? "comment")
<*> (x .:? "description")
<*> (x .:? "targetSelection"))
instance Hashable Job where
instance NFData Job where
data JobExecution = JobExecution'
{ _jeStatus :: !(Maybe JobExecutionStatus)
, _jeJobId :: !(Maybe Text)
, _jeLastUpdatedAt :: !(Maybe POSIX)
, _jeQueuedAt :: !(Maybe POSIX)
, _jeStatusDetails :: !(Maybe JobExecutionStatusDetails)
, _jeThingARN :: !(Maybe Text)
, _jeExecutionNumber :: !(Maybe Integer)
, _jeStartedAt :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecution
:: JobExecution
jobExecution =
JobExecution'
{ _jeStatus = Nothing
, _jeJobId = Nothing
, _jeLastUpdatedAt = Nothing
, _jeQueuedAt = Nothing
, _jeStatusDetails = Nothing
, _jeThingARN = Nothing
, _jeExecutionNumber = Nothing
, _jeStartedAt = Nothing
}
jeStatus :: Lens' JobExecution (Maybe JobExecutionStatus)
jeStatus = lens _jeStatus (\ s a -> s{_jeStatus = a})
jeJobId :: Lens' JobExecution (Maybe Text)
jeJobId = lens _jeJobId (\ s a -> s{_jeJobId = a})
jeLastUpdatedAt :: Lens' JobExecution (Maybe UTCTime)
jeLastUpdatedAt = lens _jeLastUpdatedAt (\ s a -> s{_jeLastUpdatedAt = a}) . mapping _Time
jeQueuedAt :: Lens' JobExecution (Maybe UTCTime)
jeQueuedAt = lens _jeQueuedAt (\ s a -> s{_jeQueuedAt = a}) . mapping _Time
jeStatusDetails :: Lens' JobExecution (Maybe JobExecutionStatusDetails)
jeStatusDetails = lens _jeStatusDetails (\ s a -> s{_jeStatusDetails = a})
jeThingARN :: Lens' JobExecution (Maybe Text)
jeThingARN = lens _jeThingARN (\ s a -> s{_jeThingARN = a})
jeExecutionNumber :: Lens' JobExecution (Maybe Integer)
jeExecutionNumber = lens _jeExecutionNumber (\ s a -> s{_jeExecutionNumber = a})
jeStartedAt :: Lens' JobExecution (Maybe UTCTime)
jeStartedAt = lens _jeStartedAt (\ s a -> s{_jeStartedAt = a}) . mapping _Time
instance FromJSON JobExecution where
parseJSON
= withObject "JobExecution"
(\ x ->
JobExecution' <$>
(x .:? "status") <*> (x .:? "jobId") <*>
(x .:? "lastUpdatedAt")
<*> (x .:? "queuedAt")
<*> (x .:? "statusDetails")
<*> (x .:? "thingArn")
<*> (x .:? "executionNumber")
<*> (x .:? "startedAt"))
instance Hashable JobExecution where
instance NFData JobExecution where
newtype JobExecutionStatusDetails = JobExecutionStatusDetails'
{ _jesdDetailsMap :: Maybe (Map Text Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecutionStatusDetails
:: JobExecutionStatusDetails
jobExecutionStatusDetails =
JobExecutionStatusDetails' {_jesdDetailsMap = Nothing}
jesdDetailsMap :: Lens' JobExecutionStatusDetails (HashMap Text Text)
jesdDetailsMap = lens _jesdDetailsMap (\ s a -> s{_jesdDetailsMap = a}) . _Default . _Map
instance FromJSON JobExecutionStatusDetails where
parseJSON
= withObject "JobExecutionStatusDetails"
(\ x ->
JobExecutionStatusDetails' <$>
(x .:? "detailsMap" .!= mempty))
instance Hashable JobExecutionStatusDetails where
instance NFData JobExecutionStatusDetails where
data JobExecutionSummary = JobExecutionSummary'
{ _jesStatus :: !(Maybe JobExecutionStatus)
, _jesLastUpdatedAt :: !(Maybe POSIX)
, _jesQueuedAt :: !(Maybe POSIX)
, _jesExecutionNumber :: !(Maybe Integer)
, _jesStartedAt :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecutionSummary
:: JobExecutionSummary
jobExecutionSummary =
JobExecutionSummary'
{ _jesStatus = Nothing
, _jesLastUpdatedAt = Nothing
, _jesQueuedAt = Nothing
, _jesExecutionNumber = Nothing
, _jesStartedAt = Nothing
}
jesStatus :: Lens' JobExecutionSummary (Maybe JobExecutionStatus)
jesStatus = lens _jesStatus (\ s a -> s{_jesStatus = a})
jesLastUpdatedAt :: Lens' JobExecutionSummary (Maybe UTCTime)
jesLastUpdatedAt = lens _jesLastUpdatedAt (\ s a -> s{_jesLastUpdatedAt = a}) . mapping _Time
jesQueuedAt :: Lens' JobExecutionSummary (Maybe UTCTime)
jesQueuedAt = lens _jesQueuedAt (\ s a -> s{_jesQueuedAt = a}) . mapping _Time
jesExecutionNumber :: Lens' JobExecutionSummary (Maybe Integer)
jesExecutionNumber = lens _jesExecutionNumber (\ s a -> s{_jesExecutionNumber = a})
jesStartedAt :: Lens' JobExecutionSummary (Maybe UTCTime)
jesStartedAt = lens _jesStartedAt (\ s a -> s{_jesStartedAt = a}) . mapping _Time
instance FromJSON JobExecutionSummary where
parseJSON
= withObject "JobExecutionSummary"
(\ x ->
JobExecutionSummary' <$>
(x .:? "status") <*> (x .:? "lastUpdatedAt") <*>
(x .:? "queuedAt")
<*> (x .:? "executionNumber")
<*> (x .:? "startedAt"))
instance Hashable JobExecutionSummary where
instance NFData JobExecutionSummary where
data JobExecutionSummaryForJob = JobExecutionSummaryForJob'
{ _jesfjJobExecutionSummary :: !(Maybe JobExecutionSummary)
, _jesfjThingARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecutionSummaryForJob
:: JobExecutionSummaryForJob
jobExecutionSummaryForJob =
JobExecutionSummaryForJob'
{_jesfjJobExecutionSummary = Nothing, _jesfjThingARN = Nothing}
jesfjJobExecutionSummary :: Lens' JobExecutionSummaryForJob (Maybe JobExecutionSummary)
jesfjJobExecutionSummary = lens _jesfjJobExecutionSummary (\ s a -> s{_jesfjJobExecutionSummary = a})
jesfjThingARN :: Lens' JobExecutionSummaryForJob (Maybe Text)
jesfjThingARN = lens _jesfjThingARN (\ s a -> s{_jesfjThingARN = a})
instance FromJSON JobExecutionSummaryForJob where
parseJSON
= withObject "JobExecutionSummaryForJob"
(\ x ->
JobExecutionSummaryForJob' <$>
(x .:? "jobExecutionSummary") <*> (x .:? "thingArn"))
instance Hashable JobExecutionSummaryForJob where
instance NFData JobExecutionSummaryForJob where
data JobExecutionSummaryForThing = JobExecutionSummaryForThing'
{ _jesftJobId :: !(Maybe Text)
, _jesftJobExecutionSummary :: !(Maybe JobExecutionSummary)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecutionSummaryForThing
:: JobExecutionSummaryForThing
jobExecutionSummaryForThing =
JobExecutionSummaryForThing'
{_jesftJobId = Nothing, _jesftJobExecutionSummary = Nothing}
jesftJobId :: Lens' JobExecutionSummaryForThing (Maybe Text)
jesftJobId = lens _jesftJobId (\ s a -> s{_jesftJobId = a})
jesftJobExecutionSummary :: Lens' JobExecutionSummaryForThing (Maybe JobExecutionSummary)
jesftJobExecutionSummary = lens _jesftJobExecutionSummary (\ s a -> s{_jesftJobExecutionSummary = a})
instance FromJSON JobExecutionSummaryForThing where
parseJSON
= withObject "JobExecutionSummaryForThing"
(\ x ->
JobExecutionSummaryForThing' <$>
(x .:? "jobId") <*> (x .:? "jobExecutionSummary"))
instance Hashable JobExecutionSummaryForThing where
instance NFData JobExecutionSummaryForThing where
newtype JobExecutionsRolloutConfig = JobExecutionsRolloutConfig'
{ _jercMaximumPerMinute :: Maybe Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobExecutionsRolloutConfig
:: JobExecutionsRolloutConfig
jobExecutionsRolloutConfig =
JobExecutionsRolloutConfig' {_jercMaximumPerMinute = Nothing}
jercMaximumPerMinute :: Lens' JobExecutionsRolloutConfig (Maybe Natural)
jercMaximumPerMinute = lens _jercMaximumPerMinute (\ s a -> s{_jercMaximumPerMinute = a}) . mapping _Nat
instance FromJSON JobExecutionsRolloutConfig where
parseJSON
= withObject "JobExecutionsRolloutConfig"
(\ x ->
JobExecutionsRolloutConfig' <$>
(x .:? "maximumPerMinute"))
instance Hashable JobExecutionsRolloutConfig where
instance NFData JobExecutionsRolloutConfig where
instance ToJSON JobExecutionsRolloutConfig where
toJSON JobExecutionsRolloutConfig'{..}
= object
(catMaybes
[("maximumPerMinute" .=) <$> _jercMaximumPerMinute])
data JobProcessDetails = JobProcessDetails'
{ _jpdNumberOfRemovedThings :: !(Maybe Int)
, _jpdNumberOfQueuedThings :: !(Maybe Int)
, _jpdNumberOfFailedThings :: !(Maybe Int)
, _jpdNumberOfSucceededThings :: !(Maybe Int)
, _jpdNumberOfInProgressThings :: !(Maybe Int)
, _jpdNumberOfCanceledThings :: !(Maybe Int)
, _jpdNumberOfRejectedThings :: !(Maybe Int)
, _jpdProcessingTargets :: !(Maybe [Text])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobProcessDetails
:: JobProcessDetails
jobProcessDetails =
JobProcessDetails'
{ _jpdNumberOfRemovedThings = Nothing
, _jpdNumberOfQueuedThings = Nothing
, _jpdNumberOfFailedThings = Nothing
, _jpdNumberOfSucceededThings = Nothing
, _jpdNumberOfInProgressThings = Nothing
, _jpdNumberOfCanceledThings = Nothing
, _jpdNumberOfRejectedThings = Nothing
, _jpdProcessingTargets = Nothing
}
jpdNumberOfRemovedThings :: Lens' JobProcessDetails (Maybe Int)
jpdNumberOfRemovedThings = lens _jpdNumberOfRemovedThings (\ s a -> s{_jpdNumberOfRemovedThings = a})
jpdNumberOfQueuedThings :: Lens' JobProcessDetails (Maybe Int)
jpdNumberOfQueuedThings = lens _jpdNumberOfQueuedThings (\ s a -> s{_jpdNumberOfQueuedThings = a})
jpdNumberOfFailedThings :: Lens' JobProcessDetails (Maybe Int)
jpdNumberOfFailedThings = lens _jpdNumberOfFailedThings (\ s a -> s{_jpdNumberOfFailedThings = a})
jpdNumberOfSucceededThings :: Lens' JobProcessDetails (Maybe Int)
jpdNumberOfSucceededThings = lens _jpdNumberOfSucceededThings (\ s a -> s{_jpdNumberOfSucceededThings = a})
jpdNumberOfInProgressThings :: Lens' JobProcessDetails (Maybe Int)
jpdNumberOfInProgressThings = lens _jpdNumberOfInProgressThings (\ s a -> s{_jpdNumberOfInProgressThings = a})
jpdNumberOfCanceledThings :: Lens' JobProcessDetails (Maybe Int)
jpdNumberOfCanceledThings = lens _jpdNumberOfCanceledThings (\ s a -> s{_jpdNumberOfCanceledThings = a})
jpdNumberOfRejectedThings :: Lens' JobProcessDetails (Maybe Int)
jpdNumberOfRejectedThings = lens _jpdNumberOfRejectedThings (\ s a -> s{_jpdNumberOfRejectedThings = a})
jpdProcessingTargets :: Lens' JobProcessDetails [Text]
jpdProcessingTargets = lens _jpdProcessingTargets (\ s a -> s{_jpdProcessingTargets = a}) . _Default . _Coerce
instance FromJSON JobProcessDetails where
parseJSON
= withObject "JobProcessDetails"
(\ x ->
JobProcessDetails' <$>
(x .:? "numberOfRemovedThings") <*>
(x .:? "numberOfQueuedThings")
<*> (x .:? "numberOfFailedThings")
<*> (x .:? "numberOfSucceededThings")
<*> (x .:? "numberOfInProgressThings")
<*> (x .:? "numberOfCanceledThings")
<*> (x .:? "numberOfRejectedThings")
<*> (x .:? "processingTargets" .!= mempty))
instance Hashable JobProcessDetails where
instance NFData JobProcessDetails where
data JobSummary = JobSummary'
{ _jsStatus :: !(Maybe JobStatus)
, _jsJobId :: !(Maybe Text)
, _jsLastUpdatedAt :: !(Maybe POSIX)
, _jsJobARN :: !(Maybe Text)
, _jsCreatedAt :: !(Maybe POSIX)
, _jsThingGroupId :: !(Maybe Text)
, _jsCompletedAt :: !(Maybe POSIX)
, _jsTargetSelection :: !(Maybe TargetSelection)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
jobSummary
:: JobSummary
jobSummary =
JobSummary'
{ _jsStatus = Nothing
, _jsJobId = Nothing
, _jsLastUpdatedAt = Nothing
, _jsJobARN = Nothing
, _jsCreatedAt = Nothing
, _jsThingGroupId = Nothing
, _jsCompletedAt = Nothing
, _jsTargetSelection = Nothing
}
jsStatus :: Lens' JobSummary (Maybe JobStatus)
jsStatus = lens _jsStatus (\ s a -> s{_jsStatus = a})
jsJobId :: Lens' JobSummary (Maybe Text)
jsJobId = lens _jsJobId (\ s a -> s{_jsJobId = a})
jsLastUpdatedAt :: Lens' JobSummary (Maybe UTCTime)
jsLastUpdatedAt = lens _jsLastUpdatedAt (\ s a -> s{_jsLastUpdatedAt = a}) . mapping _Time
jsJobARN :: Lens' JobSummary (Maybe Text)
jsJobARN = lens _jsJobARN (\ s a -> s{_jsJobARN = a})
jsCreatedAt :: Lens' JobSummary (Maybe UTCTime)
jsCreatedAt = lens _jsCreatedAt (\ s a -> s{_jsCreatedAt = a}) . mapping _Time
jsThingGroupId :: Lens' JobSummary (Maybe Text)
jsThingGroupId = lens _jsThingGroupId (\ s a -> s{_jsThingGroupId = a})
jsCompletedAt :: Lens' JobSummary (Maybe UTCTime)
jsCompletedAt = lens _jsCompletedAt (\ s a -> s{_jsCompletedAt = a}) . mapping _Time
jsTargetSelection :: Lens' JobSummary (Maybe TargetSelection)
jsTargetSelection = lens _jsTargetSelection (\ s a -> s{_jsTargetSelection = a})
instance FromJSON JobSummary where
parseJSON
= withObject "JobSummary"
(\ x ->
JobSummary' <$>
(x .:? "status") <*> (x .:? "jobId") <*>
(x .:? "lastUpdatedAt")
<*> (x .:? "jobArn")
<*> (x .:? "createdAt")
<*> (x .:? "thingGroupId")
<*> (x .:? "completedAt")
<*> (x .:? "targetSelection"))
instance Hashable JobSummary where
instance NFData JobSummary where
data KeyPair = KeyPair'
{ _kpPrivateKey :: !(Maybe (Sensitive Text))
, _kpPublicKey :: !(Maybe Text)
} deriving (Eq, Show, Data, Typeable, Generic)
keyPair
:: KeyPair
keyPair = KeyPair' {_kpPrivateKey = Nothing, _kpPublicKey = Nothing}
kpPrivateKey :: Lens' KeyPair (Maybe Text)
kpPrivateKey = lens _kpPrivateKey (\ s a -> s{_kpPrivateKey = a}) . mapping _Sensitive
kpPublicKey :: Lens' KeyPair (Maybe Text)
kpPublicKey = lens _kpPublicKey (\ s a -> s{_kpPublicKey = a})
instance FromJSON KeyPair where
parseJSON
= withObject "KeyPair"
(\ x ->
KeyPair' <$>
(x .:? "PrivateKey") <*> (x .:? "PublicKey"))
instance Hashable KeyPair where
instance NFData KeyPair where
data KinesisAction = KinesisAction'
{ _kaPartitionKey :: !(Maybe Text)
, _kaRoleARN :: !Text
, _kaStreamName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
kinesisAction
:: Text
-> Text
-> KinesisAction
kinesisAction pRoleARN_ pStreamName_ =
KinesisAction'
{ _kaPartitionKey = Nothing
, _kaRoleARN = pRoleARN_
, _kaStreamName = pStreamName_
}
kaPartitionKey :: Lens' KinesisAction (Maybe Text)
kaPartitionKey = lens _kaPartitionKey (\ s a -> s{_kaPartitionKey = a})
kaRoleARN :: Lens' KinesisAction Text
kaRoleARN = lens _kaRoleARN (\ s a -> s{_kaRoleARN = a})
kaStreamName :: Lens' KinesisAction Text
kaStreamName = lens _kaStreamName (\ s a -> s{_kaStreamName = a})
instance FromJSON KinesisAction where
parseJSON
= withObject "KinesisAction"
(\ x ->
KinesisAction' <$>
(x .:? "partitionKey") <*> (x .: "roleArn") <*>
(x .: "streamName"))
instance Hashable KinesisAction where
instance NFData KinesisAction where
instance ToJSON KinesisAction where
toJSON KinesisAction'{..}
= object
(catMaybes
[("partitionKey" .=) <$> _kaPartitionKey,
Just ("roleArn" .= _kaRoleARN),
Just ("streamName" .= _kaStreamName)])
newtype LambdaAction = LambdaAction'
{ _laFunctionARN :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
lambdaAction
:: Text
-> LambdaAction
lambdaAction pFunctionARN_ = LambdaAction' {_laFunctionARN = pFunctionARN_}
laFunctionARN :: Lens' LambdaAction Text
laFunctionARN = lens _laFunctionARN (\ s a -> s{_laFunctionARN = a})
instance FromJSON LambdaAction where
parseJSON
= withObject "LambdaAction"
(\ x -> LambdaAction' <$> (x .: "functionArn"))
instance Hashable LambdaAction where
instance NFData LambdaAction where
instance ToJSON LambdaAction where
toJSON LambdaAction'{..}
= object
(catMaybes [Just ("functionArn" .= _laFunctionARN)])
data LogTarget = LogTarget'
{ _ltTargetName :: !(Maybe Text)
, _ltTargetType :: !LogTargetType
} deriving (Eq, Read, Show, Data, Typeable, Generic)
logTarget
:: LogTargetType
-> LogTarget
logTarget pTargetType_ =
LogTarget' {_ltTargetName = Nothing, _ltTargetType = pTargetType_}
ltTargetName :: Lens' LogTarget (Maybe Text)
ltTargetName = lens _ltTargetName (\ s a -> s{_ltTargetName = a})
ltTargetType :: Lens' LogTarget LogTargetType
ltTargetType = lens _ltTargetType (\ s a -> s{_ltTargetType = a})
instance FromJSON LogTarget where
parseJSON
= withObject "LogTarget"
(\ x ->
LogTarget' <$>
(x .:? "targetName") <*> (x .: "targetType"))
instance Hashable LogTarget where
instance NFData LogTarget where
instance ToJSON LogTarget where
toJSON LogTarget'{..}
= object
(catMaybes
[("targetName" .=) <$> _ltTargetName,
Just ("targetType" .= _ltTargetType)])
data LogTargetConfiguration = LogTargetConfiguration'
{ _ltcLogLevel :: !(Maybe LogLevel)
, _ltcLogTarget :: !(Maybe LogTarget)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
logTargetConfiguration
:: LogTargetConfiguration
logTargetConfiguration =
LogTargetConfiguration' {_ltcLogLevel = Nothing, _ltcLogTarget = Nothing}
ltcLogLevel :: Lens' LogTargetConfiguration (Maybe LogLevel)
ltcLogLevel = lens _ltcLogLevel (\ s a -> s{_ltcLogLevel = a})
ltcLogTarget :: Lens' LogTargetConfiguration (Maybe LogTarget)
ltcLogTarget = lens _ltcLogTarget (\ s a -> s{_ltcLogTarget = a})
instance FromJSON LogTargetConfiguration where
parseJSON
= withObject "LogTargetConfiguration"
(\ x ->
LogTargetConfiguration' <$>
(x .:? "logLevel") <*> (x .:? "logTarget"))
instance Hashable LogTargetConfiguration where
instance NFData LogTargetConfiguration where
data LoggingOptionsPayload = LoggingOptionsPayload'
{ _lopLogLevel :: !(Maybe LogLevel)
, _lopRoleARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
loggingOptionsPayload
:: Text
-> LoggingOptionsPayload
loggingOptionsPayload pRoleARN_ =
LoggingOptionsPayload' {_lopLogLevel = Nothing, _lopRoleARN = pRoleARN_}
lopLogLevel :: Lens' LoggingOptionsPayload (Maybe LogLevel)
lopLogLevel = lens _lopLogLevel (\ s a -> s{_lopLogLevel = a})
lopRoleARN :: Lens' LoggingOptionsPayload Text
lopRoleARN = lens _lopRoleARN (\ s a -> s{_lopRoleARN = a})
instance Hashable LoggingOptionsPayload where
instance NFData LoggingOptionsPayload where
instance ToJSON LoggingOptionsPayload where
toJSON LoggingOptionsPayload'{..}
= object
(catMaybes
[("logLevel" .=) <$> _lopLogLevel,
Just ("roleArn" .= _lopRoleARN)])
data OTAUpdateFile = OTAUpdateFile'
{ _otaufFileVersion :: !(Maybe Text)
, _otaufAttributes :: !(Maybe (Map Text Text))
, _otaufFileSource :: !(Maybe Stream)
, _otaufCodeSigning :: !(Maybe CodeSigning)
, _otaufFileName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
oTAUpdateFile
:: OTAUpdateFile
oTAUpdateFile =
OTAUpdateFile'
{ _otaufFileVersion = Nothing
, _otaufAttributes = Nothing
, _otaufFileSource = Nothing
, _otaufCodeSigning = Nothing
, _otaufFileName = Nothing
}
otaufFileVersion :: Lens' OTAUpdateFile (Maybe Text)
otaufFileVersion = lens _otaufFileVersion (\ s a -> s{_otaufFileVersion = a})
otaufAttributes :: Lens' OTAUpdateFile (HashMap Text Text)
otaufAttributes = lens _otaufAttributes (\ s a -> s{_otaufAttributes = a}) . _Default . _Map
otaufFileSource :: Lens' OTAUpdateFile (Maybe Stream)
otaufFileSource = lens _otaufFileSource (\ s a -> s{_otaufFileSource = a})
otaufCodeSigning :: Lens' OTAUpdateFile (Maybe CodeSigning)
otaufCodeSigning = lens _otaufCodeSigning (\ s a -> s{_otaufCodeSigning = a})
otaufFileName :: Lens' OTAUpdateFile (Maybe Text)
otaufFileName = lens _otaufFileName (\ s a -> s{_otaufFileName = a})
instance FromJSON OTAUpdateFile where
parseJSON
= withObject "OTAUpdateFile"
(\ x ->
OTAUpdateFile' <$>
(x .:? "fileVersion") <*>
(x .:? "attributes" .!= mempty)
<*> (x .:? "fileSource")
<*> (x .:? "codeSigning")
<*> (x .:? "fileName"))
instance Hashable OTAUpdateFile where
instance NFData OTAUpdateFile where
instance ToJSON OTAUpdateFile where
toJSON OTAUpdateFile'{..}
= object
(catMaybes
[("fileVersion" .=) <$> _otaufFileVersion,
("attributes" .=) <$> _otaufAttributes,
("fileSource" .=) <$> _otaufFileSource,
("codeSigning" .=) <$> _otaufCodeSigning,
("fileName" .=) <$> _otaufFileName])
data OTAUpdateInfo = OTAUpdateInfo'
{ _otauiLastModifiedDate :: !(Maybe POSIX)
, _otauiAwsIotJobId :: !(Maybe Text)
, _otauiOtaUpdateFiles :: !(Maybe (List1 OTAUpdateFile))
, _otauiOtaUpdateStatus :: !(Maybe OTAUpdateStatus)
, _otauiTargets :: !(Maybe (List1 Text))
, _otauiAwsIotJobARN :: !(Maybe Text)
, _otauiCreationDate :: !(Maybe POSIX)
, _otauiAdditionalParameters :: !(Maybe (Map Text Text))
, _otauiOtaUpdateId :: !(Maybe Text)
, _otauiErrorInfo :: !(Maybe ErrorInfo)
, _otauiOtaUpdateARN :: !(Maybe Text)
, _otauiDescription :: !(Maybe Text)
, _otauiTargetSelection :: !(Maybe TargetSelection)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
oTAUpdateInfo
:: OTAUpdateInfo
oTAUpdateInfo =
OTAUpdateInfo'
{ _otauiLastModifiedDate = Nothing
, _otauiAwsIotJobId = Nothing
, _otauiOtaUpdateFiles = Nothing
, _otauiOtaUpdateStatus = Nothing
, _otauiTargets = Nothing
, _otauiAwsIotJobARN = Nothing
, _otauiCreationDate = Nothing
, _otauiAdditionalParameters = Nothing
, _otauiOtaUpdateId = Nothing
, _otauiErrorInfo = Nothing
, _otauiOtaUpdateARN = Nothing
, _otauiDescription = Nothing
, _otauiTargetSelection = Nothing
}
otauiLastModifiedDate :: Lens' OTAUpdateInfo (Maybe UTCTime)
otauiLastModifiedDate = lens _otauiLastModifiedDate (\ s a -> s{_otauiLastModifiedDate = a}) . mapping _Time
otauiAwsIotJobId :: Lens' OTAUpdateInfo (Maybe Text)
otauiAwsIotJobId = lens _otauiAwsIotJobId (\ s a -> s{_otauiAwsIotJobId = a})
otauiOtaUpdateFiles :: Lens' OTAUpdateInfo (Maybe (NonEmpty OTAUpdateFile))
otauiOtaUpdateFiles = lens _otauiOtaUpdateFiles (\ s a -> s{_otauiOtaUpdateFiles = a}) . mapping _List1
otauiOtaUpdateStatus :: Lens' OTAUpdateInfo (Maybe OTAUpdateStatus)
otauiOtaUpdateStatus = lens _otauiOtaUpdateStatus (\ s a -> s{_otauiOtaUpdateStatus = a})
otauiTargets :: Lens' OTAUpdateInfo (Maybe (NonEmpty Text))
otauiTargets = lens _otauiTargets (\ s a -> s{_otauiTargets = a}) . mapping _List1
otauiAwsIotJobARN :: Lens' OTAUpdateInfo (Maybe Text)
otauiAwsIotJobARN = lens _otauiAwsIotJobARN (\ s a -> s{_otauiAwsIotJobARN = a})
otauiCreationDate :: Lens' OTAUpdateInfo (Maybe UTCTime)
otauiCreationDate = lens _otauiCreationDate (\ s a -> s{_otauiCreationDate = a}) . mapping _Time
otauiAdditionalParameters :: Lens' OTAUpdateInfo (HashMap Text Text)
otauiAdditionalParameters = lens _otauiAdditionalParameters (\ s a -> s{_otauiAdditionalParameters = a}) . _Default . _Map
otauiOtaUpdateId :: Lens' OTAUpdateInfo (Maybe Text)
otauiOtaUpdateId = lens _otauiOtaUpdateId (\ s a -> s{_otauiOtaUpdateId = a})
otauiErrorInfo :: Lens' OTAUpdateInfo (Maybe ErrorInfo)
otauiErrorInfo = lens _otauiErrorInfo (\ s a -> s{_otauiErrorInfo = a})
otauiOtaUpdateARN :: Lens' OTAUpdateInfo (Maybe Text)
otauiOtaUpdateARN = lens _otauiOtaUpdateARN (\ s a -> s{_otauiOtaUpdateARN = a})
otauiDescription :: Lens' OTAUpdateInfo (Maybe Text)
otauiDescription = lens _otauiDescription (\ s a -> s{_otauiDescription = a})
otauiTargetSelection :: Lens' OTAUpdateInfo (Maybe TargetSelection)
otauiTargetSelection = lens _otauiTargetSelection (\ s a -> s{_otauiTargetSelection = a})
instance FromJSON OTAUpdateInfo where
parseJSON
= withObject "OTAUpdateInfo"
(\ x ->
OTAUpdateInfo' <$>
(x .:? "lastModifiedDate") <*> (x .:? "awsIotJobId")
<*> (x .:? "otaUpdateFiles")
<*> (x .:? "otaUpdateStatus")
<*> (x .:? "targets")
<*> (x .:? "awsIotJobArn")
<*> (x .:? "creationDate")
<*> (x .:? "additionalParameters" .!= mempty)
<*> (x .:? "otaUpdateId")
<*> (x .:? "errorInfo")
<*> (x .:? "otaUpdateArn")
<*> (x .:? "description")
<*> (x .:? "targetSelection"))
instance Hashable OTAUpdateInfo where
instance NFData OTAUpdateInfo where
data OTAUpdateSummary = OTAUpdateSummary'
{ _otausCreationDate :: !(Maybe POSIX)
, _otausOtaUpdateId :: !(Maybe Text)
, _otausOtaUpdateARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
oTAUpdateSummary
:: OTAUpdateSummary
oTAUpdateSummary =
OTAUpdateSummary'
{ _otausCreationDate = Nothing
, _otausOtaUpdateId = Nothing
, _otausOtaUpdateARN = Nothing
}
otausCreationDate :: Lens' OTAUpdateSummary (Maybe UTCTime)
otausCreationDate = lens _otausCreationDate (\ s a -> s{_otausCreationDate = a}) . mapping _Time
otausOtaUpdateId :: Lens' OTAUpdateSummary (Maybe Text)
otausOtaUpdateId = lens _otausOtaUpdateId (\ s a -> s{_otausOtaUpdateId = a})
otausOtaUpdateARN :: Lens' OTAUpdateSummary (Maybe Text)
otausOtaUpdateARN = lens _otausOtaUpdateARN (\ s a -> s{_otausOtaUpdateARN = a})
instance FromJSON OTAUpdateSummary where
parseJSON
= withObject "OTAUpdateSummary"
(\ x ->
OTAUpdateSummary' <$>
(x .:? "creationDate") <*> (x .:? "otaUpdateId") <*>
(x .:? "otaUpdateArn"))
instance Hashable OTAUpdateSummary where
instance NFData OTAUpdateSummary where
data OutgoingCertificate = OutgoingCertificate'
{ _ocTransferDate :: !(Maybe POSIX)
, _ocCertificateARN :: !(Maybe Text)
, _ocCertificateId :: !(Maybe Text)
, _ocTransferredTo :: !(Maybe Text)
, _ocCreationDate :: !(Maybe POSIX)
, _ocTransferMessage :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
outgoingCertificate
:: OutgoingCertificate
outgoingCertificate =
OutgoingCertificate'
{ _ocTransferDate = Nothing
, _ocCertificateARN = Nothing
, _ocCertificateId = Nothing
, _ocTransferredTo = Nothing
, _ocCreationDate = Nothing
, _ocTransferMessage = Nothing
}
ocTransferDate :: Lens' OutgoingCertificate (Maybe UTCTime)
ocTransferDate = lens _ocTransferDate (\ s a -> s{_ocTransferDate = a}) . mapping _Time
ocCertificateARN :: Lens' OutgoingCertificate (Maybe Text)
ocCertificateARN = lens _ocCertificateARN (\ s a -> s{_ocCertificateARN = a})
ocCertificateId :: Lens' OutgoingCertificate (Maybe Text)
ocCertificateId = lens _ocCertificateId (\ s a -> s{_ocCertificateId = a})
ocTransferredTo :: Lens' OutgoingCertificate (Maybe Text)
ocTransferredTo = lens _ocTransferredTo (\ s a -> s{_ocTransferredTo = a})
ocCreationDate :: Lens' OutgoingCertificate (Maybe UTCTime)
ocCreationDate = lens _ocCreationDate (\ s a -> s{_ocCreationDate = a}) . mapping _Time
ocTransferMessage :: Lens' OutgoingCertificate (Maybe Text)
ocTransferMessage = lens _ocTransferMessage (\ s a -> s{_ocTransferMessage = a})
instance FromJSON OutgoingCertificate where
parseJSON
= withObject "OutgoingCertificate"
(\ x ->
OutgoingCertificate' <$>
(x .:? "transferDate") <*> (x .:? "certificateArn")
<*> (x .:? "certificateId")
<*> (x .:? "transferredTo")
<*> (x .:? "creationDate")
<*> (x .:? "transferMessage"))
instance Hashable OutgoingCertificate where
instance NFData OutgoingCertificate where
data Policy = Policy'
{ _pPolicyName :: !(Maybe Text)
, _pPolicyARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
policy
:: Policy
policy = Policy' {_pPolicyName = Nothing, _pPolicyARN = Nothing}
pPolicyName :: Lens' Policy (Maybe Text)
pPolicyName = lens _pPolicyName (\ s a -> s{_pPolicyName = a})
pPolicyARN :: Lens' Policy (Maybe Text)
pPolicyARN = lens _pPolicyARN (\ s a -> s{_pPolicyARN = a})
instance FromJSON Policy where
parseJSON
= withObject "Policy"
(\ x ->
Policy' <$>
(x .:? "policyName") <*> (x .:? "policyArn"))
instance Hashable Policy where
instance NFData Policy where
data PolicyVersion = PolicyVersion'
{ _pvVersionId :: !(Maybe Text)
, _pvCreateDate :: !(Maybe POSIX)
, _pvIsDefaultVersion :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
policyVersion
:: PolicyVersion
policyVersion =
PolicyVersion'
{ _pvVersionId = Nothing
, _pvCreateDate = Nothing
, _pvIsDefaultVersion = Nothing
}
pvVersionId :: Lens' PolicyVersion (Maybe Text)
pvVersionId = lens _pvVersionId (\ s a -> s{_pvVersionId = a})
pvCreateDate :: Lens' PolicyVersion (Maybe UTCTime)
pvCreateDate = lens _pvCreateDate (\ s a -> s{_pvCreateDate = a}) . mapping _Time
pvIsDefaultVersion :: Lens' PolicyVersion (Maybe Bool)
pvIsDefaultVersion = lens _pvIsDefaultVersion (\ s a -> s{_pvIsDefaultVersion = a})
instance FromJSON PolicyVersion where
parseJSON
= withObject "PolicyVersion"
(\ x ->
PolicyVersion' <$>
(x .:? "versionId") <*> (x .:? "createDate") <*>
(x .:? "isDefaultVersion"))
instance Hashable PolicyVersion where
instance NFData PolicyVersion where
data PresignedURLConfig = PresignedURLConfig'
{ _pucExpiresInSec :: !(Maybe Nat)
, _pucRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
presignedURLConfig
:: PresignedURLConfig
presignedURLConfig =
PresignedURLConfig' {_pucExpiresInSec = Nothing, _pucRoleARN = Nothing}
pucExpiresInSec :: Lens' PresignedURLConfig (Maybe Natural)
pucExpiresInSec = lens _pucExpiresInSec (\ s a -> s{_pucExpiresInSec = a}) . mapping _Nat
pucRoleARN :: Lens' PresignedURLConfig (Maybe Text)
pucRoleARN = lens _pucRoleARN (\ s a -> s{_pucRoleARN = a})
instance FromJSON PresignedURLConfig where
parseJSON
= withObject "PresignedURLConfig"
(\ x ->
PresignedURLConfig' <$>
(x .:? "expiresInSec") <*> (x .:? "roleArn"))
instance Hashable PresignedURLConfig where
instance NFData PresignedURLConfig where
instance ToJSON PresignedURLConfig where
toJSON PresignedURLConfig'{..}
= object
(catMaybes
[("expiresInSec" .=) <$> _pucExpiresInSec,
("roleArn" .=) <$> _pucRoleARN])
newtype PutItemInput = PutItemInput'
{ _piiTableName :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
putItemInput
:: Text
-> PutItemInput
putItemInput pTableName_ = PutItemInput' {_piiTableName = pTableName_}
piiTableName :: Lens' PutItemInput Text
piiTableName = lens _piiTableName (\ s a -> s{_piiTableName = a})
instance FromJSON PutItemInput where
parseJSON
= withObject "PutItemInput"
(\ x -> PutItemInput' <$> (x .: "tableName"))
instance Hashable PutItemInput where
instance NFData PutItemInput where
instance ToJSON PutItemInput where
toJSON PutItemInput'{..}
= object
(catMaybes [Just ("tableName" .= _piiTableName)])
data RegistrationConfig = RegistrationConfig'
{ _rcTemplateBody :: !(Maybe Text)
, _rcRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
registrationConfig
:: RegistrationConfig
registrationConfig =
RegistrationConfig' {_rcTemplateBody = Nothing, _rcRoleARN = Nothing}
rcTemplateBody :: Lens' RegistrationConfig (Maybe Text)
rcTemplateBody = lens _rcTemplateBody (\ s a -> s{_rcTemplateBody = a})
rcRoleARN :: Lens' RegistrationConfig (Maybe Text)
rcRoleARN = lens _rcRoleARN (\ s a -> s{_rcRoleARN = a})
instance FromJSON RegistrationConfig where
parseJSON
= withObject "RegistrationConfig"
(\ x ->
RegistrationConfig' <$>
(x .:? "templateBody") <*> (x .:? "roleArn"))
instance Hashable RegistrationConfig where
instance NFData RegistrationConfig where
instance ToJSON RegistrationConfig where
toJSON RegistrationConfig'{..}
= object
(catMaybes
[("templateBody" .=) <$> _rcTemplateBody,
("roleArn" .=) <$> _rcRoleARN])
data RepublishAction = RepublishAction'
{ _raRoleARN :: !Text
, _raTopic :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
republishAction
:: Text
-> Text
-> RepublishAction
republishAction pRoleARN_ pTopic_ =
RepublishAction' {_raRoleARN = pRoleARN_, _raTopic = pTopic_}
raRoleARN :: Lens' RepublishAction Text
raRoleARN = lens _raRoleARN (\ s a -> s{_raRoleARN = a})
raTopic :: Lens' RepublishAction Text
raTopic = lens _raTopic (\ s a -> s{_raTopic = a})
instance FromJSON RepublishAction where
parseJSON
= withObject "RepublishAction"
(\ x ->
RepublishAction' <$>
(x .: "roleArn") <*> (x .: "topic"))
instance Hashable RepublishAction where
instance NFData RepublishAction where
instance ToJSON RepublishAction where
toJSON RepublishAction'{..}
= object
(catMaybes
[Just ("roleArn" .= _raRoleARN),
Just ("topic" .= _raTopic)])
data RoleAliasDescription = RoleAliasDescription'
{ _radRoleAliasARN :: !(Maybe Text)
, _radLastModifiedDate :: !(Maybe POSIX)
, _radRoleAlias :: !(Maybe Text)
, _radOwner :: !(Maybe Text)
, _radCreationDate :: !(Maybe POSIX)
, _radCredentialDurationSeconds :: !(Maybe Nat)
, _radRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
roleAliasDescription
:: RoleAliasDescription
roleAliasDescription =
RoleAliasDescription'
{ _radRoleAliasARN = Nothing
, _radLastModifiedDate = Nothing
, _radRoleAlias = Nothing
, _radOwner = Nothing
, _radCreationDate = Nothing
, _radCredentialDurationSeconds = Nothing
, _radRoleARN = Nothing
}
radRoleAliasARN :: Lens' RoleAliasDescription (Maybe Text)
radRoleAliasARN = lens _radRoleAliasARN (\ s a -> s{_radRoleAliasARN = a})
radLastModifiedDate :: Lens' RoleAliasDescription (Maybe UTCTime)
radLastModifiedDate = lens _radLastModifiedDate (\ s a -> s{_radLastModifiedDate = a}) . mapping _Time
radRoleAlias :: Lens' RoleAliasDescription (Maybe Text)
radRoleAlias = lens _radRoleAlias (\ s a -> s{_radRoleAlias = a})
radOwner :: Lens' RoleAliasDescription (Maybe Text)
radOwner = lens _radOwner (\ s a -> s{_radOwner = a})
radCreationDate :: Lens' RoleAliasDescription (Maybe UTCTime)
radCreationDate = lens _radCreationDate (\ s a -> s{_radCreationDate = a}) . mapping _Time
radCredentialDurationSeconds :: Lens' RoleAliasDescription (Maybe Natural)
radCredentialDurationSeconds = lens _radCredentialDurationSeconds (\ s a -> s{_radCredentialDurationSeconds = a}) . mapping _Nat
radRoleARN :: Lens' RoleAliasDescription (Maybe Text)
radRoleARN = lens _radRoleARN (\ s a -> s{_radRoleARN = a})
instance FromJSON RoleAliasDescription where
parseJSON
= withObject "RoleAliasDescription"
(\ x ->
RoleAliasDescription' <$>
(x .:? "roleAliasArn") <*> (x .:? "lastModifiedDate")
<*> (x .:? "roleAlias")
<*> (x .:? "owner")
<*> (x .:? "creationDate")
<*> (x .:? "credentialDurationSeconds")
<*> (x .:? "roleArn"))
instance Hashable RoleAliasDescription where
instance NFData RoleAliasDescription where
data S3Action = S3Action'
{ _sCannedACL :: !(Maybe CannedAccessControlList)
, _sRoleARN :: !Text
, _sBucketName :: !Text
, _sKey :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
s3Action
:: Text
-> Text
-> Text
-> S3Action
s3Action pRoleARN_ pBucketName_ pKey_ =
S3Action'
{ _sCannedACL = Nothing
, _sRoleARN = pRoleARN_
, _sBucketName = pBucketName_
, _sKey = pKey_
}
sCannedACL :: Lens' S3Action (Maybe CannedAccessControlList)
sCannedACL = lens _sCannedACL (\ s a -> s{_sCannedACL = a})
sRoleARN :: Lens' S3Action Text
sRoleARN = lens _sRoleARN (\ s a -> s{_sRoleARN = a})
sBucketName :: Lens' S3Action Text
sBucketName = lens _sBucketName (\ s a -> s{_sBucketName = a})
sKey :: Lens' S3Action Text
sKey = lens _sKey (\ s a -> s{_sKey = a})
instance FromJSON S3Action where
parseJSON
= withObject "S3Action"
(\ x ->
S3Action' <$>
(x .:? "cannedAcl") <*> (x .: "roleArn") <*>
(x .: "bucketName")
<*> (x .: "key"))
instance Hashable S3Action where
instance NFData S3Action where
instance ToJSON S3Action where
toJSON S3Action'{..}
= object
(catMaybes
[("cannedAcl" .=) <$> _sCannedACL,
Just ("roleArn" .= _sRoleARN),
Just ("bucketName" .= _sBucketName),
Just ("key" .= _sKey)])
data S3Location = S3Location'
{ _slVersion :: !(Maybe Text)
, _slBucket :: !Text
, _slKey :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
s3Location
:: Text
-> Text
-> S3Location
s3Location pBucket_ pKey_ =
S3Location' {_slVersion = Nothing, _slBucket = pBucket_, _slKey = pKey_}
slVersion :: Lens' S3Location (Maybe Text)
slVersion = lens _slVersion (\ s a -> s{_slVersion = a})
slBucket :: Lens' S3Location Text
slBucket = lens _slBucket (\ s a -> s{_slBucket = a})
slKey :: Lens' S3Location Text
slKey = lens _slKey (\ s a -> s{_slKey = a})
instance FromJSON S3Location where
parseJSON
= withObject "S3Location"
(\ x ->
S3Location' <$>
(x .:? "version") <*> (x .: "bucket") <*>
(x .: "key"))
instance Hashable S3Location where
instance NFData S3Location where
instance ToJSON S3Location where
toJSON S3Location'{..}
= object
(catMaybes
[("version" .=) <$> _slVersion,
Just ("bucket" .= _slBucket),
Just ("key" .= _slKey)])
data SNSAction = SNSAction'
{ _snsaMessageFormat :: !(Maybe MessageFormat)
, _snsaTargetARN :: !Text
, _snsaRoleARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
snsAction
:: Text
-> Text
-> SNSAction
snsAction pTargetARN_ pRoleARN_ =
SNSAction'
{ _snsaMessageFormat = Nothing
, _snsaTargetARN = pTargetARN_
, _snsaRoleARN = pRoleARN_
}
snsaMessageFormat :: Lens' SNSAction (Maybe MessageFormat)
snsaMessageFormat = lens _snsaMessageFormat (\ s a -> s{_snsaMessageFormat = a})
snsaTargetARN :: Lens' SNSAction Text
snsaTargetARN = lens _snsaTargetARN (\ s a -> s{_snsaTargetARN = a})
snsaRoleARN :: Lens' SNSAction Text
snsaRoleARN = lens _snsaRoleARN (\ s a -> s{_snsaRoleARN = a})
instance FromJSON SNSAction where
parseJSON
= withObject "SNSAction"
(\ x ->
SNSAction' <$>
(x .:? "messageFormat") <*> (x .: "targetArn") <*>
(x .: "roleArn"))
instance Hashable SNSAction where
instance NFData SNSAction where
instance ToJSON SNSAction where
toJSON SNSAction'{..}
= object
(catMaybes
[("messageFormat" .=) <$> _snsaMessageFormat,
Just ("targetArn" .= _snsaTargetARN),
Just ("roleArn" .= _snsaRoleARN)])
data SalesforceAction = SalesforceAction'
{ _saToken :: !Text
, _saUrl :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
salesforceAction
:: Text
-> Text
-> SalesforceAction
salesforceAction pToken_ pUrl_ =
SalesforceAction' {_saToken = pToken_, _saUrl = pUrl_}
saToken :: Lens' SalesforceAction Text
saToken = lens _saToken (\ s a -> s{_saToken = a})
saUrl :: Lens' SalesforceAction Text
saUrl = lens _saUrl (\ s a -> s{_saUrl = a})
instance FromJSON SalesforceAction where
parseJSON
= withObject "SalesforceAction"
(\ x ->
SalesforceAction' <$>
(x .: "token") <*> (x .: "url"))
instance Hashable SalesforceAction where
instance NFData SalesforceAction where
instance ToJSON SalesforceAction where
toJSON SalesforceAction'{..}
= object
(catMaybes
[Just ("token" .= _saToken), Just ("url" .= _saUrl)])
data SqsAction = SqsAction'
{ _saUseBase64 :: !(Maybe Bool)
, _saRoleARN :: !Text
, _saQueueURL :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
sqsAction
:: Text
-> Text
-> SqsAction
sqsAction pRoleARN_ pQueueURL_ =
SqsAction'
{_saUseBase64 = Nothing, _saRoleARN = pRoleARN_, _saQueueURL = pQueueURL_}
saUseBase64 :: Lens' SqsAction (Maybe Bool)
saUseBase64 = lens _saUseBase64 (\ s a -> s{_saUseBase64 = a})
saRoleARN :: Lens' SqsAction Text
saRoleARN = lens _saRoleARN (\ s a -> s{_saRoleARN = a})
saQueueURL :: Lens' SqsAction Text
saQueueURL = lens _saQueueURL (\ s a -> s{_saQueueURL = a})
instance FromJSON SqsAction where
parseJSON
= withObject "SqsAction"
(\ x ->
SqsAction' <$>
(x .:? "useBase64") <*> (x .: "roleArn") <*>
(x .: "queueUrl"))
instance Hashable SqsAction where
instance NFData SqsAction where
instance ToJSON SqsAction where
toJSON SqsAction'{..}
= object
(catMaybes
[("useBase64" .=) <$> _saUseBase64,
Just ("roleArn" .= _saRoleARN),
Just ("queueUrl" .= _saQueueURL)])
data Stream = Stream'
{ _sFileId :: !(Maybe Nat)
, _sStreamId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
stream
:: Stream
stream = Stream' {_sFileId = Nothing, _sStreamId = Nothing}
sFileId :: Lens' Stream (Maybe Natural)
sFileId = lens _sFileId (\ s a -> s{_sFileId = a}) . mapping _Nat
sStreamId :: Lens' Stream (Maybe Text)
sStreamId = lens _sStreamId (\ s a -> s{_sStreamId = a})
instance FromJSON Stream where
parseJSON
= withObject "Stream"
(\ x ->
Stream' <$> (x .:? "fileId") <*> (x .:? "streamId"))
instance Hashable Stream where
instance NFData Stream where
instance ToJSON Stream where
toJSON Stream'{..}
= object
(catMaybes
[("fileId" .=) <$> _sFileId,
("streamId" .=) <$> _sStreamId])
data StreamFile = StreamFile'
{ _sfS3Location :: !(Maybe S3Location)
, _sfFileId :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
streamFile
:: StreamFile
streamFile = StreamFile' {_sfS3Location = Nothing, _sfFileId = Nothing}
sfS3Location :: Lens' StreamFile (Maybe S3Location)
sfS3Location = lens _sfS3Location (\ s a -> s{_sfS3Location = a})
sfFileId :: Lens' StreamFile (Maybe Natural)
sfFileId = lens _sfFileId (\ s a -> s{_sfFileId = a}) . mapping _Nat
instance FromJSON StreamFile where
parseJSON
= withObject "StreamFile"
(\ x ->
StreamFile' <$>
(x .:? "s3Location") <*> (x .:? "fileId"))
instance Hashable StreamFile where
instance NFData StreamFile where
instance ToJSON StreamFile where
toJSON StreamFile'{..}
= object
(catMaybes
[("s3Location" .=) <$> _sfS3Location,
("fileId" .=) <$> _sfFileId])
data StreamInfo = StreamInfo'
{ _siLastUpdatedAt :: !(Maybe POSIX)
, _siCreatedAt :: !(Maybe POSIX)
, _siStreamVersion :: !(Maybe Nat)
, _siStreamARN :: !(Maybe Text)
, _siFiles :: !(Maybe (List1 StreamFile))
, _siDescription :: !(Maybe Text)
, _siStreamId :: !(Maybe Text)
, _siRoleARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
streamInfo
:: StreamInfo
streamInfo =
StreamInfo'
{ _siLastUpdatedAt = Nothing
, _siCreatedAt = Nothing
, _siStreamVersion = Nothing
, _siStreamARN = Nothing
, _siFiles = Nothing
, _siDescription = Nothing
, _siStreamId = Nothing
, _siRoleARN = Nothing
}
siLastUpdatedAt :: Lens' StreamInfo (Maybe UTCTime)
siLastUpdatedAt = lens _siLastUpdatedAt (\ s a -> s{_siLastUpdatedAt = a}) . mapping _Time
siCreatedAt :: Lens' StreamInfo (Maybe UTCTime)
siCreatedAt = lens _siCreatedAt (\ s a -> s{_siCreatedAt = a}) . mapping _Time
siStreamVersion :: Lens' StreamInfo (Maybe Natural)
siStreamVersion = lens _siStreamVersion (\ s a -> s{_siStreamVersion = a}) . mapping _Nat
siStreamARN :: Lens' StreamInfo (Maybe Text)
siStreamARN = lens _siStreamARN (\ s a -> s{_siStreamARN = a})
siFiles :: Lens' StreamInfo (Maybe (NonEmpty StreamFile))
siFiles = lens _siFiles (\ s a -> s{_siFiles = a}) . mapping _List1
siDescription :: Lens' StreamInfo (Maybe Text)
siDescription = lens _siDescription (\ s a -> s{_siDescription = a})
siStreamId :: Lens' StreamInfo (Maybe Text)
siStreamId = lens _siStreamId (\ s a -> s{_siStreamId = a})
siRoleARN :: Lens' StreamInfo (Maybe Text)
siRoleARN = lens _siRoleARN (\ s a -> s{_siRoleARN = a})
instance FromJSON StreamInfo where
parseJSON
= withObject "StreamInfo"
(\ x ->
StreamInfo' <$>
(x .:? "lastUpdatedAt") <*> (x .:? "createdAt") <*>
(x .:? "streamVersion")
<*> (x .:? "streamArn")
<*> (x .:? "files")
<*> (x .:? "description")
<*> (x .:? "streamId")
<*> (x .:? "roleArn"))
instance Hashable StreamInfo where
instance NFData StreamInfo where
data StreamSummary = StreamSummary'
{ _ssStreamVersion :: !(Maybe Nat)
, _ssStreamARN :: !(Maybe Text)
, _ssDescription :: !(Maybe Text)
, _ssStreamId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
streamSummary
:: StreamSummary
streamSummary =
StreamSummary'
{ _ssStreamVersion = Nothing
, _ssStreamARN = Nothing
, _ssDescription = Nothing
, _ssStreamId = Nothing
}
ssStreamVersion :: Lens' StreamSummary (Maybe Natural)
ssStreamVersion = lens _ssStreamVersion (\ s a -> s{_ssStreamVersion = a}) . mapping _Nat
ssStreamARN :: Lens' StreamSummary (Maybe Text)
ssStreamARN = lens _ssStreamARN (\ s a -> s{_ssStreamARN = a})
ssDescription :: Lens' StreamSummary (Maybe Text)
ssDescription = lens _ssDescription (\ s a -> s{_ssDescription = a})
ssStreamId :: Lens' StreamSummary (Maybe Text)
ssStreamId = lens _ssStreamId (\ s a -> s{_ssStreamId = a})
instance FromJSON StreamSummary where
parseJSON
= withObject "StreamSummary"
(\ x ->
StreamSummary' <$>
(x .:? "streamVersion") <*> (x .:? "streamArn") <*>
(x .:? "description")
<*> (x .:? "streamId"))
instance Hashable StreamSummary where
instance NFData StreamSummary where
data ThingAttribute = ThingAttribute'
{ _taThingTypeName :: !(Maybe Text)
, _taThingARN :: !(Maybe Text)
, _taAttributes :: !(Maybe (Map Text Text))
, _taVersion :: !(Maybe Integer)
, _taThingName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingAttribute
:: ThingAttribute
thingAttribute =
ThingAttribute'
{ _taThingTypeName = Nothing
, _taThingARN = Nothing
, _taAttributes = Nothing
, _taVersion = Nothing
, _taThingName = Nothing
}
taThingTypeName :: Lens' ThingAttribute (Maybe Text)
taThingTypeName = lens _taThingTypeName (\ s a -> s{_taThingTypeName = a})
taThingARN :: Lens' ThingAttribute (Maybe Text)
taThingARN = lens _taThingARN (\ s a -> s{_taThingARN = a})
taAttributes :: Lens' ThingAttribute (HashMap Text Text)
taAttributes = lens _taAttributes (\ s a -> s{_taAttributes = a}) . _Default . _Map
taVersion :: Lens' ThingAttribute (Maybe Integer)
taVersion = lens _taVersion (\ s a -> s{_taVersion = a})
taThingName :: Lens' ThingAttribute (Maybe Text)
taThingName = lens _taThingName (\ s a -> s{_taThingName = a})
instance FromJSON ThingAttribute where
parseJSON
= withObject "ThingAttribute"
(\ x ->
ThingAttribute' <$>
(x .:? "thingTypeName") <*> (x .:? "thingArn") <*>
(x .:? "attributes" .!= mempty)
<*> (x .:? "version")
<*> (x .:? "thingName"))
instance Hashable ThingAttribute where
instance NFData ThingAttribute where
data ThingDocument = ThingDocument'
{ _tdThingGroupNames :: !(Maybe [Text])
, _tdThingTypeName :: !(Maybe Text)
, _tdShadow :: !(Maybe Text)
, _tdAttributes :: !(Maybe (Map Text Text))
, _tdThingName :: !(Maybe Text)
, _tdThingId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingDocument
:: ThingDocument
thingDocument =
ThingDocument'
{ _tdThingGroupNames = Nothing
, _tdThingTypeName = Nothing
, _tdShadow = Nothing
, _tdAttributes = Nothing
, _tdThingName = Nothing
, _tdThingId = Nothing
}
tdThingGroupNames :: Lens' ThingDocument [Text]
tdThingGroupNames = lens _tdThingGroupNames (\ s a -> s{_tdThingGroupNames = a}) . _Default . _Coerce
tdThingTypeName :: Lens' ThingDocument (Maybe Text)
tdThingTypeName = lens _tdThingTypeName (\ s a -> s{_tdThingTypeName = a})
tdShadow :: Lens' ThingDocument (Maybe Text)
tdShadow = lens _tdShadow (\ s a -> s{_tdShadow = a})
tdAttributes :: Lens' ThingDocument (HashMap Text Text)
tdAttributes = lens _tdAttributes (\ s a -> s{_tdAttributes = a}) . _Default . _Map
tdThingName :: Lens' ThingDocument (Maybe Text)
tdThingName = lens _tdThingName (\ s a -> s{_tdThingName = a})
tdThingId :: Lens' ThingDocument (Maybe Text)
tdThingId = lens _tdThingId (\ s a -> s{_tdThingId = a})
instance FromJSON ThingDocument where
parseJSON
= withObject "ThingDocument"
(\ x ->
ThingDocument' <$>
(x .:? "thingGroupNames" .!= mempty) <*>
(x .:? "thingTypeName")
<*> (x .:? "shadow")
<*> (x .:? "attributes" .!= mempty)
<*> (x .:? "thingName")
<*> (x .:? "thingId"))
instance Hashable ThingDocument where
instance NFData ThingDocument where
data ThingGroupMetadata = ThingGroupMetadata'
{ _tgmRootToParentThingGroups :: !(Maybe [GroupNameAndARN])
, _tgmParentGroupName :: !(Maybe Text)
, _tgmCreationDate :: !(Maybe POSIX)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingGroupMetadata
:: ThingGroupMetadata
thingGroupMetadata =
ThingGroupMetadata'
{ _tgmRootToParentThingGroups = Nothing
, _tgmParentGroupName = Nothing
, _tgmCreationDate = Nothing
}
tgmRootToParentThingGroups :: Lens' ThingGroupMetadata [GroupNameAndARN]
tgmRootToParentThingGroups = lens _tgmRootToParentThingGroups (\ s a -> s{_tgmRootToParentThingGroups = a}) . _Default . _Coerce
tgmParentGroupName :: Lens' ThingGroupMetadata (Maybe Text)
tgmParentGroupName = lens _tgmParentGroupName (\ s a -> s{_tgmParentGroupName = a})
tgmCreationDate :: Lens' ThingGroupMetadata (Maybe UTCTime)
tgmCreationDate = lens _tgmCreationDate (\ s a -> s{_tgmCreationDate = a}) . mapping _Time
instance FromJSON ThingGroupMetadata where
parseJSON
= withObject "ThingGroupMetadata"
(\ x ->
ThingGroupMetadata' <$>
(x .:? "rootToParentThingGroups" .!= mempty) <*>
(x .:? "parentGroupName")
<*> (x .:? "creationDate"))
instance Hashable ThingGroupMetadata where
instance NFData ThingGroupMetadata where
data ThingGroupProperties = ThingGroupProperties'
{ _tgpAttributePayload :: !(Maybe AttributePayload)
, _tgpThingGroupDescription :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingGroupProperties
:: ThingGroupProperties
thingGroupProperties =
ThingGroupProperties'
{_tgpAttributePayload = Nothing, _tgpThingGroupDescription = Nothing}
tgpAttributePayload :: Lens' ThingGroupProperties (Maybe AttributePayload)
tgpAttributePayload = lens _tgpAttributePayload (\ s a -> s{_tgpAttributePayload = a})
tgpThingGroupDescription :: Lens' ThingGroupProperties (Maybe Text)
tgpThingGroupDescription = lens _tgpThingGroupDescription (\ s a -> s{_tgpThingGroupDescription = a})
instance FromJSON ThingGroupProperties where
parseJSON
= withObject "ThingGroupProperties"
(\ x ->
ThingGroupProperties' <$>
(x .:? "attributePayload") <*>
(x .:? "thingGroupDescription"))
instance Hashable ThingGroupProperties where
instance NFData ThingGroupProperties where
instance ToJSON ThingGroupProperties where
toJSON ThingGroupProperties'{..}
= object
(catMaybes
[("attributePayload" .=) <$> _tgpAttributePayload,
("thingGroupDescription" .=) <$>
_tgpThingGroupDescription])
newtype ThingIndexingConfiguration = ThingIndexingConfiguration'
{ _ticThingIndexingMode :: Maybe ThingIndexingMode
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingIndexingConfiguration
:: ThingIndexingConfiguration
thingIndexingConfiguration =
ThingIndexingConfiguration' {_ticThingIndexingMode = Nothing}
ticThingIndexingMode :: Lens' ThingIndexingConfiguration (Maybe ThingIndexingMode)
ticThingIndexingMode = lens _ticThingIndexingMode (\ s a -> s{_ticThingIndexingMode = a})
instance FromJSON ThingIndexingConfiguration where
parseJSON
= withObject "ThingIndexingConfiguration"
(\ x ->
ThingIndexingConfiguration' <$>
(x .:? "thingIndexingMode"))
instance Hashable ThingIndexingConfiguration where
instance NFData ThingIndexingConfiguration where
instance ToJSON ThingIndexingConfiguration where
toJSON ThingIndexingConfiguration'{..}
= object
(catMaybes
[("thingIndexingMode" .=) <$> _ticThingIndexingMode])
data ThingTypeDefinition = ThingTypeDefinition'
{ _ttdThingTypeProperties :: !(Maybe ThingTypeProperties)
, _ttdThingTypeName :: !(Maybe Text)
, _ttdThingTypeMetadata :: !(Maybe ThingTypeMetadata)
, _ttdThingTypeARN :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingTypeDefinition
:: ThingTypeDefinition
thingTypeDefinition =
ThingTypeDefinition'
{ _ttdThingTypeProperties = Nothing
, _ttdThingTypeName = Nothing
, _ttdThingTypeMetadata = Nothing
, _ttdThingTypeARN = Nothing
}
ttdThingTypeProperties :: Lens' ThingTypeDefinition (Maybe ThingTypeProperties)
ttdThingTypeProperties = lens _ttdThingTypeProperties (\ s a -> s{_ttdThingTypeProperties = a})
ttdThingTypeName :: Lens' ThingTypeDefinition (Maybe Text)
ttdThingTypeName = lens _ttdThingTypeName (\ s a -> s{_ttdThingTypeName = a})
ttdThingTypeMetadata :: Lens' ThingTypeDefinition (Maybe ThingTypeMetadata)
ttdThingTypeMetadata = lens _ttdThingTypeMetadata (\ s a -> s{_ttdThingTypeMetadata = a})
ttdThingTypeARN :: Lens' ThingTypeDefinition (Maybe Text)
ttdThingTypeARN = lens _ttdThingTypeARN (\ s a -> s{_ttdThingTypeARN = a})
instance FromJSON ThingTypeDefinition where
parseJSON
= withObject "ThingTypeDefinition"
(\ x ->
ThingTypeDefinition' <$>
(x .:? "thingTypeProperties") <*>
(x .:? "thingTypeName")
<*> (x .:? "thingTypeMetadata")
<*> (x .:? "thingTypeArn"))
instance Hashable ThingTypeDefinition where
instance NFData ThingTypeDefinition where
data ThingTypeMetadata = ThingTypeMetadata'
{ _ttmDeprecationDate :: !(Maybe POSIX)
, _ttmCreationDate :: !(Maybe POSIX)
, _ttmDeprecated :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingTypeMetadata
:: ThingTypeMetadata
thingTypeMetadata =
ThingTypeMetadata'
{ _ttmDeprecationDate = Nothing
, _ttmCreationDate = Nothing
, _ttmDeprecated = Nothing
}
ttmDeprecationDate :: Lens' ThingTypeMetadata (Maybe UTCTime)
ttmDeprecationDate = lens _ttmDeprecationDate (\ s a -> s{_ttmDeprecationDate = a}) . mapping _Time
ttmCreationDate :: Lens' ThingTypeMetadata (Maybe UTCTime)
ttmCreationDate = lens _ttmCreationDate (\ s a -> s{_ttmCreationDate = a}) . mapping _Time
ttmDeprecated :: Lens' ThingTypeMetadata (Maybe Bool)
ttmDeprecated = lens _ttmDeprecated (\ s a -> s{_ttmDeprecated = a})
instance FromJSON ThingTypeMetadata where
parseJSON
= withObject "ThingTypeMetadata"
(\ x ->
ThingTypeMetadata' <$>
(x .:? "deprecationDate") <*> (x .:? "creationDate")
<*> (x .:? "deprecated"))
instance Hashable ThingTypeMetadata where
instance NFData ThingTypeMetadata where
data ThingTypeProperties = ThingTypeProperties'
{ _ttpSearchableAttributes :: !(Maybe [Text])
, _ttpThingTypeDescription :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
thingTypeProperties
:: ThingTypeProperties
thingTypeProperties =
ThingTypeProperties'
{_ttpSearchableAttributes = Nothing, _ttpThingTypeDescription = Nothing}
ttpSearchableAttributes :: Lens' ThingTypeProperties [Text]
ttpSearchableAttributes = lens _ttpSearchableAttributes (\ s a -> s{_ttpSearchableAttributes = a}) . _Default . _Coerce
ttpThingTypeDescription :: Lens' ThingTypeProperties (Maybe Text)
ttpThingTypeDescription = lens _ttpThingTypeDescription (\ s a -> s{_ttpThingTypeDescription = a})
instance FromJSON ThingTypeProperties where
parseJSON
= withObject "ThingTypeProperties"
(\ x ->
ThingTypeProperties' <$>
(x .:? "searchableAttributes" .!= mempty) <*>
(x .:? "thingTypeDescription"))
instance Hashable ThingTypeProperties where
instance NFData ThingTypeProperties where
instance ToJSON ThingTypeProperties where
toJSON ThingTypeProperties'{..}
= object
(catMaybes
[("searchableAttributes" .=) <$>
_ttpSearchableAttributes,
("thingTypeDescription" .=) <$>
_ttpThingTypeDescription])
data TopicRule = TopicRule'
{ _trCreatedAt :: !(Maybe POSIX)
, _trActions :: !(Maybe [Action])
, _trAwsIotSqlVersion :: !(Maybe Text)
, _trErrorAction :: !(Maybe Action)
, _trRuleDisabled :: !(Maybe Bool)
, _trRuleName :: !(Maybe Text)
, _trSql :: !(Maybe Text)
, _trDescription :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
topicRule
:: TopicRule
topicRule =
TopicRule'
{ _trCreatedAt = Nothing
, _trActions = Nothing
, _trAwsIotSqlVersion = Nothing
, _trErrorAction = Nothing
, _trRuleDisabled = Nothing
, _trRuleName = Nothing
, _trSql = Nothing
, _trDescription = Nothing
}
trCreatedAt :: Lens' TopicRule (Maybe UTCTime)
trCreatedAt = lens _trCreatedAt (\ s a -> s{_trCreatedAt = a}) . mapping _Time
trActions :: Lens' TopicRule [Action]
trActions = lens _trActions (\ s a -> s{_trActions = a}) . _Default . _Coerce
trAwsIotSqlVersion :: Lens' TopicRule (Maybe Text)
trAwsIotSqlVersion = lens _trAwsIotSqlVersion (\ s a -> s{_trAwsIotSqlVersion = a})
trErrorAction :: Lens' TopicRule (Maybe Action)
trErrorAction = lens _trErrorAction (\ s a -> s{_trErrorAction = a})
trRuleDisabled :: Lens' TopicRule (Maybe Bool)
trRuleDisabled = lens _trRuleDisabled (\ s a -> s{_trRuleDisabled = a})
trRuleName :: Lens' TopicRule (Maybe Text)
trRuleName = lens _trRuleName (\ s a -> s{_trRuleName = a})
trSql :: Lens' TopicRule (Maybe Text)
trSql = lens _trSql (\ s a -> s{_trSql = a})
trDescription :: Lens' TopicRule (Maybe Text)
trDescription = lens _trDescription (\ s a -> s{_trDescription = a})
instance FromJSON TopicRule where
parseJSON
= withObject "TopicRule"
(\ x ->
TopicRule' <$>
(x .:? "createdAt") <*> (x .:? "actions" .!= mempty)
<*> (x .:? "awsIotSqlVersion")
<*> (x .:? "errorAction")
<*> (x .:? "ruleDisabled")
<*> (x .:? "ruleName")
<*> (x .:? "sql")
<*> (x .:? "description"))
instance Hashable TopicRule where
instance NFData TopicRule where
data TopicRuleListItem = TopicRuleListItem'
{ _trliCreatedAt :: !(Maybe POSIX)
, _trliRuleDisabled :: !(Maybe Bool)
, _trliRuleName :: !(Maybe Text)
, _trliRuleARN :: !(Maybe Text)
, _trliTopicPattern :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
topicRuleListItem
:: TopicRuleListItem
topicRuleListItem =
TopicRuleListItem'
{ _trliCreatedAt = Nothing
, _trliRuleDisabled = Nothing
, _trliRuleName = Nothing
, _trliRuleARN = Nothing
, _trliTopicPattern = Nothing
}
trliCreatedAt :: Lens' TopicRuleListItem (Maybe UTCTime)
trliCreatedAt = lens _trliCreatedAt (\ s a -> s{_trliCreatedAt = a}) . mapping _Time
trliRuleDisabled :: Lens' TopicRuleListItem (Maybe Bool)
trliRuleDisabled = lens _trliRuleDisabled (\ s a -> s{_trliRuleDisabled = a})
trliRuleName :: Lens' TopicRuleListItem (Maybe Text)
trliRuleName = lens _trliRuleName (\ s a -> s{_trliRuleName = a})
trliRuleARN :: Lens' TopicRuleListItem (Maybe Text)
trliRuleARN = lens _trliRuleARN (\ s a -> s{_trliRuleARN = a})
trliTopicPattern :: Lens' TopicRuleListItem (Maybe Text)
trliTopicPattern = lens _trliTopicPattern (\ s a -> s{_trliTopicPattern = a})
instance FromJSON TopicRuleListItem where
parseJSON
= withObject "TopicRuleListItem"
(\ x ->
TopicRuleListItem' <$>
(x .:? "createdAt") <*> (x .:? "ruleDisabled") <*>
(x .:? "ruleName")
<*> (x .:? "ruleArn")
<*> (x .:? "topicPattern"))
instance Hashable TopicRuleListItem where
instance NFData TopicRuleListItem where
data TopicRulePayload = TopicRulePayload'
{ _trpAwsIotSqlVersion :: !(Maybe Text)
, _trpErrorAction :: !(Maybe Action)
, _trpRuleDisabled :: !(Maybe Bool)
, _trpDescription :: !(Maybe Text)
, _trpSql :: !Text
, _trpActions :: ![Action]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
topicRulePayload
:: Text
-> TopicRulePayload
topicRulePayload pSql_ =
TopicRulePayload'
{ _trpAwsIotSqlVersion = Nothing
, _trpErrorAction = Nothing
, _trpRuleDisabled = Nothing
, _trpDescription = Nothing
, _trpSql = pSql_
, _trpActions = mempty
}
trpAwsIotSqlVersion :: Lens' TopicRulePayload (Maybe Text)
trpAwsIotSqlVersion = lens _trpAwsIotSqlVersion (\ s a -> s{_trpAwsIotSqlVersion = a})
trpErrorAction :: Lens' TopicRulePayload (Maybe Action)
trpErrorAction = lens _trpErrorAction (\ s a -> s{_trpErrorAction = a})
trpRuleDisabled :: Lens' TopicRulePayload (Maybe Bool)
trpRuleDisabled = lens _trpRuleDisabled (\ s a -> s{_trpRuleDisabled = a})
trpDescription :: Lens' TopicRulePayload (Maybe Text)
trpDescription = lens _trpDescription (\ s a -> s{_trpDescription = a})
trpSql :: Lens' TopicRulePayload Text
trpSql = lens _trpSql (\ s a -> s{_trpSql = a})
trpActions :: Lens' TopicRulePayload [Action]
trpActions = lens _trpActions (\ s a -> s{_trpActions = a}) . _Coerce
instance Hashable TopicRulePayload where
instance NFData TopicRulePayload where
instance ToJSON TopicRulePayload where
toJSON TopicRulePayload'{..}
= object
(catMaybes
[("awsIotSqlVersion" .=) <$> _trpAwsIotSqlVersion,
("errorAction" .=) <$> _trpErrorAction,
("ruleDisabled" .=) <$> _trpRuleDisabled,
("description" .=) <$> _trpDescription,
Just ("sql" .= _trpSql),
Just ("actions" .= _trpActions)])
data TransferData = TransferData'
{ _tdTransferDate :: !(Maybe POSIX)
, _tdAcceptDate :: !(Maybe POSIX)
, _tdTransferMessage :: !(Maybe Text)
, _tdRejectDate :: !(Maybe POSIX)
, _tdRejectReason :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
transferData
:: TransferData
transferData =
TransferData'
{ _tdTransferDate = Nothing
, _tdAcceptDate = Nothing
, _tdTransferMessage = Nothing
, _tdRejectDate = Nothing
, _tdRejectReason = Nothing
}
tdTransferDate :: Lens' TransferData (Maybe UTCTime)
tdTransferDate = lens _tdTransferDate (\ s a -> s{_tdTransferDate = a}) . mapping _Time
tdAcceptDate :: Lens' TransferData (Maybe UTCTime)
tdAcceptDate = lens _tdAcceptDate (\ s a -> s{_tdAcceptDate = a}) . mapping _Time
tdTransferMessage :: Lens' TransferData (Maybe Text)
tdTransferMessage = lens _tdTransferMessage (\ s a -> s{_tdTransferMessage = a})
tdRejectDate :: Lens' TransferData (Maybe UTCTime)
tdRejectDate = lens _tdRejectDate (\ s a -> s{_tdRejectDate = a}) . mapping _Time
tdRejectReason :: Lens' TransferData (Maybe Text)
tdRejectReason = lens _tdRejectReason (\ s a -> s{_tdRejectReason = a})
instance FromJSON TransferData where
parseJSON
= withObject "TransferData"
(\ x ->
TransferData' <$>
(x .:? "transferDate") <*> (x .:? "acceptDate") <*>
(x .:? "transferMessage")
<*> (x .:? "rejectDate")
<*> (x .:? "rejectReason"))
instance Hashable TransferData where
instance NFData TransferData where