module Network.AWS.Kinesis.DecreaseStreamRetentionPeriod
(
decreaseStreamRetentionPeriod
, DecreaseStreamRetentionPeriod
, dsrpStreamName
, dsrpRetentionPeriodHours
, decreaseStreamRetentionPeriodResponse
, DecreaseStreamRetentionPeriodResponse
) where
import Network.AWS.Kinesis.Types
import Network.AWS.Kinesis.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DecreaseStreamRetentionPeriod = DecreaseStreamRetentionPeriod'
{ _dsrpStreamName :: !Text
, _dsrpRetentionPeriodHours :: !Nat
} deriving (Eq, Read, Show, Data, Typeable, Generic)
decreaseStreamRetentionPeriod
:: Text
-> Natural
-> DecreaseStreamRetentionPeriod
decreaseStreamRetentionPeriod pStreamName_ pRetentionPeriodHours_ =
DecreaseStreamRetentionPeriod'
{ _dsrpStreamName = pStreamName_
, _dsrpRetentionPeriodHours = _Nat # pRetentionPeriodHours_
}
dsrpStreamName :: Lens' DecreaseStreamRetentionPeriod Text
dsrpStreamName = lens _dsrpStreamName (\ s a -> s{_dsrpStreamName = a});
dsrpRetentionPeriodHours :: Lens' DecreaseStreamRetentionPeriod Natural
dsrpRetentionPeriodHours = lens _dsrpRetentionPeriodHours (\ s a -> s{_dsrpRetentionPeriodHours = a}) . _Nat;
instance AWSRequest DecreaseStreamRetentionPeriod
where
type Rs DecreaseStreamRetentionPeriod =
DecreaseStreamRetentionPeriodResponse
request = postJSON kinesis
response
= receiveNull DecreaseStreamRetentionPeriodResponse'
instance Hashable DecreaseStreamRetentionPeriod where
instance NFData DecreaseStreamRetentionPeriod where
instance ToHeaders DecreaseStreamRetentionPeriod
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("Kinesis_20131202.DecreaseStreamRetentionPeriod" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DecreaseStreamRetentionPeriod where
toJSON DecreaseStreamRetentionPeriod'{..}
= object
(catMaybes
[Just ("StreamName" .= _dsrpStreamName),
Just
("RetentionPeriodHours" .=
_dsrpRetentionPeriodHours)])
instance ToPath DecreaseStreamRetentionPeriod where
toPath = const "/"
instance ToQuery DecreaseStreamRetentionPeriod where
toQuery = const mempty
data DecreaseStreamRetentionPeriodResponse =
DecreaseStreamRetentionPeriodResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
decreaseStreamRetentionPeriodResponse
:: DecreaseStreamRetentionPeriodResponse
decreaseStreamRetentionPeriodResponse = DecreaseStreamRetentionPeriodResponse'
instance NFData DecreaseStreamRetentionPeriodResponse
where