module Network.AWS.Kinesis.Types.Product where
import Network.AWS.Kinesis.Types.Sum
import Network.AWS.Prelude
data HashKeyRange = HashKeyRange'
{ _hkrStartingHashKey :: !Text
, _hkrEndingHashKey :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
hashKeyRange
:: Text
-> Text
-> HashKeyRange
hashKeyRange pStartingHashKey_ pEndingHashKey_ =
HashKeyRange'
{ _hkrStartingHashKey = pStartingHashKey_
, _hkrEndingHashKey = pEndingHashKey_
}
hkrStartingHashKey :: Lens' HashKeyRange Text
hkrStartingHashKey = lens _hkrStartingHashKey (\ s a -> s{_hkrStartingHashKey = a});
hkrEndingHashKey :: Lens' HashKeyRange Text
hkrEndingHashKey = lens _hkrEndingHashKey (\ s a -> s{_hkrEndingHashKey = a});
instance FromJSON HashKeyRange where
parseJSON
= withObject "HashKeyRange"
(\ x ->
HashKeyRange' <$>
(x .: "StartingHashKey") <*> (x .: "EndingHashKey"))
data PutRecordsRequestEntry = PutRecordsRequestEntry'
{ _prreExplicitHashKey :: !(Maybe Text)
, _prreData :: !Base64
, _prrePartitionKey :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
putRecordsRequestEntry
:: ByteString
-> Text
-> PutRecordsRequestEntry
putRecordsRequestEntry pData_ pPartitionKey_ =
PutRecordsRequestEntry'
{ _prreExplicitHashKey = Nothing
, _prreData = _Base64 # pData_
, _prrePartitionKey = pPartitionKey_
}
prreExplicitHashKey :: Lens' PutRecordsRequestEntry (Maybe Text)
prreExplicitHashKey = lens _prreExplicitHashKey (\ s a -> s{_prreExplicitHashKey = a});
prreData :: Lens' PutRecordsRequestEntry ByteString
prreData = lens _prreData (\ s a -> s{_prreData = a}) . _Base64;
prrePartitionKey :: Lens' PutRecordsRequestEntry Text
prrePartitionKey = lens _prrePartitionKey (\ s a -> s{_prrePartitionKey = a});
instance ToJSON PutRecordsRequestEntry where
toJSON PutRecordsRequestEntry'{..}
= object
["ExplicitHashKey" .= _prreExplicitHashKey,
"Data" .= _prreData,
"PartitionKey" .= _prrePartitionKey]
data PutRecordsResultEntry = PutRecordsResultEntry'
{ _prreSequenceNumber :: !(Maybe Text)
, _prreErrorCode :: !(Maybe Text)
, _prreErrorMessage :: !(Maybe Text)
, _prreShardId :: !(Maybe Text)
} deriving (Eq,Read,Show,Data,Typeable,Generic)
putRecordsResultEntry
:: PutRecordsResultEntry
putRecordsResultEntry =
PutRecordsResultEntry'
{ _prreSequenceNumber = Nothing
, _prreErrorCode = Nothing
, _prreErrorMessage = Nothing
, _prreShardId = Nothing
}
prreSequenceNumber :: Lens' PutRecordsResultEntry (Maybe Text)
prreSequenceNumber = lens _prreSequenceNumber (\ s a -> s{_prreSequenceNumber = a});
prreErrorCode :: Lens' PutRecordsResultEntry (Maybe Text)
prreErrorCode = lens _prreErrorCode (\ s a -> s{_prreErrorCode = a});
prreErrorMessage :: Lens' PutRecordsResultEntry (Maybe Text)
prreErrorMessage = lens _prreErrorMessage (\ s a -> s{_prreErrorMessage = a});
prreShardId :: Lens' PutRecordsResultEntry (Maybe Text)
prreShardId = lens _prreShardId (\ s a -> s{_prreShardId = a});
instance FromJSON PutRecordsResultEntry where
parseJSON
= withObject "PutRecordsResultEntry"
(\ x ->
PutRecordsResultEntry' <$>
(x .:? "SequenceNumber") <*> (x .:? "ErrorCode") <*>
(x .:? "ErrorMessage")
<*> (x .:? "ShardId"))
data Record = Record'
{ _rSequenceNumber :: !Text
, _rData :: !Base64
, _rPartitionKey :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
record
:: Text
-> ByteString
-> Text
-> Record
record pSequenceNumber_ pData_ pPartitionKey_ =
Record'
{ _rSequenceNumber = pSequenceNumber_
, _rData = _Base64 # pData_
, _rPartitionKey = pPartitionKey_
}
rSequenceNumber :: Lens' Record Text
rSequenceNumber = lens _rSequenceNumber (\ s a -> s{_rSequenceNumber = a});
rData :: Lens' Record ByteString
rData = lens _rData (\ s a -> s{_rData = a}) . _Base64;
rPartitionKey :: Lens' Record Text
rPartitionKey = lens _rPartitionKey (\ s a -> s{_rPartitionKey = a});
instance FromJSON Record where
parseJSON
= withObject "Record"
(\ x ->
Record' <$>
(x .: "SequenceNumber") <*> (x .: "Data") <*>
(x .: "PartitionKey"))
data SequenceNumberRange = SequenceNumberRange'
{ _snrEndingSequenceNumber :: !(Maybe Text)
, _snrStartingSequenceNumber :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
sequenceNumberRange
:: Text
-> SequenceNumberRange
sequenceNumberRange pStartingSequenceNumber_ =
SequenceNumberRange'
{ _snrEndingSequenceNumber = Nothing
, _snrStartingSequenceNumber = pStartingSequenceNumber_
}
snrEndingSequenceNumber :: Lens' SequenceNumberRange (Maybe Text)
snrEndingSequenceNumber = lens _snrEndingSequenceNumber (\ s a -> s{_snrEndingSequenceNumber = a});
snrStartingSequenceNumber :: Lens' SequenceNumberRange Text
snrStartingSequenceNumber = lens _snrStartingSequenceNumber (\ s a -> s{_snrStartingSequenceNumber = a});
instance FromJSON SequenceNumberRange where
parseJSON
= withObject "SequenceNumberRange"
(\ x ->
SequenceNumberRange' <$>
(x .:? "EndingSequenceNumber") <*>
(x .: "StartingSequenceNumber"))
data Shard = Shard'
{ _sAdjacentParentShardId :: !(Maybe Text)
, _sParentShardId :: !(Maybe Text)
, _sShardId :: !Text
, _sHashKeyRange :: !HashKeyRange
, _sSequenceNumberRange :: !SequenceNumberRange
} deriving (Eq,Read,Show,Data,Typeable,Generic)
shard
:: Text
-> HashKeyRange
-> SequenceNumberRange
-> Shard
shard pShardId_ pHashKeyRange_ pSequenceNumberRange_ =
Shard'
{ _sAdjacentParentShardId = Nothing
, _sParentShardId = Nothing
, _sShardId = pShardId_
, _sHashKeyRange = pHashKeyRange_
, _sSequenceNumberRange = pSequenceNumberRange_
}
sAdjacentParentShardId :: Lens' Shard (Maybe Text)
sAdjacentParentShardId = lens _sAdjacentParentShardId (\ s a -> s{_sAdjacentParentShardId = a});
sParentShardId :: Lens' Shard (Maybe Text)
sParentShardId = lens _sParentShardId (\ s a -> s{_sParentShardId = a});
sShardId :: Lens' Shard Text
sShardId = lens _sShardId (\ s a -> s{_sShardId = a});
sHashKeyRange :: Lens' Shard HashKeyRange
sHashKeyRange = lens _sHashKeyRange (\ s a -> s{_sHashKeyRange = a});
sSequenceNumberRange :: Lens' Shard SequenceNumberRange
sSequenceNumberRange = lens _sSequenceNumberRange (\ s a -> s{_sSequenceNumberRange = a});
instance FromJSON Shard where
parseJSON
= withObject "Shard"
(\ x ->
Shard' <$>
(x .:? "AdjacentParentShardId") <*>
(x .:? "ParentShardId")
<*> (x .: "ShardId")
<*> (x .: "HashKeyRange")
<*> (x .: "SequenceNumberRange"))
data StreamDescription = StreamDescription'
{ _sdStreamName :: !Text
, _sdStreamARN :: !Text
, _sdStreamStatus :: !StreamStatus
, _sdShards :: ![Shard]
, _sdHasMoreShards :: !Bool
} deriving (Eq,Read,Show,Data,Typeable,Generic)
streamDescription
:: Text
-> Text
-> StreamStatus
-> Bool
-> StreamDescription
streamDescription pStreamName_ pStreamARN_ pStreamStatus_ pHasMoreShards_ =
StreamDescription'
{ _sdStreamName = pStreamName_
, _sdStreamARN = pStreamARN_
, _sdStreamStatus = pStreamStatus_
, _sdShards = mempty
, _sdHasMoreShards = pHasMoreShards_
}
sdStreamName :: Lens' StreamDescription Text
sdStreamName = lens _sdStreamName (\ s a -> s{_sdStreamName = a});
sdStreamARN :: Lens' StreamDescription Text
sdStreamARN = lens _sdStreamARN (\ s a -> s{_sdStreamARN = a});
sdStreamStatus :: Lens' StreamDescription StreamStatus
sdStreamStatus = lens _sdStreamStatus (\ s a -> s{_sdStreamStatus = a});
sdShards :: Lens' StreamDescription [Shard]
sdShards = lens _sdShards (\ s a -> s{_sdShards = a}) . _Coerce;
sdHasMoreShards :: Lens' StreamDescription Bool
sdHasMoreShards = lens _sdHasMoreShards (\ s a -> s{_sdHasMoreShards = a});
instance FromJSON StreamDescription where
parseJSON
= withObject "StreamDescription"
(\ x ->
StreamDescription' <$>
(x .: "StreamName") <*> (x .: "StreamARN") <*>
(x .: "StreamStatus")
<*> (x .:? "Shards" .!= mempty)
<*> (x .: "HasMoreShards"))
data Tag = Tag'
{ _tagValue :: !(Maybe Text)
, _tagKey :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
tag
:: Text
-> Tag
tag pKey_ =
Tag'
{ _tagValue = Nothing
, _tagKey = pKey_
}
tagValue :: Lens' Tag (Maybe Text)
tagValue = lens _tagValue (\ s a -> s{_tagValue = a});
tagKey :: Lens' Tag Text
tagKey = lens _tagKey (\ s a -> s{_tagKey = a});
instance FromJSON Tag where
parseJSON
= withObject "Tag"
(\ x -> Tag' <$> (x .:? "Value") <*> (x .: "Key"))