module Network.AWS.StorageGateway.DescribeMaintenanceStartTime
(
DescribeMaintenanceStartTime
, describeMaintenanceStartTime
, dmstGatewayARN
, DescribeMaintenanceStartTimeResponse
, describeMaintenanceStartTimeResponse
, dmstrDayOfWeek
, dmstrGatewayARN
, dmstrHourOfDay
, dmstrMinuteOfHour
, dmstrTimezone
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.StorageGateway.Types
import qualified GHC.Exts
newtype DescribeMaintenanceStartTime = DescribeMaintenanceStartTime
{ _dmstGatewayARN :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
describeMaintenanceStartTime :: Text
-> DescribeMaintenanceStartTime
describeMaintenanceStartTime p1 = DescribeMaintenanceStartTime
{ _dmstGatewayARN = p1
}
dmstGatewayARN :: Lens' DescribeMaintenanceStartTime Text
dmstGatewayARN = lens _dmstGatewayARN (\s a -> s { _dmstGatewayARN = a })
data DescribeMaintenanceStartTimeResponse = DescribeMaintenanceStartTimeResponse
{ _dmstrDayOfWeek :: Maybe Nat
, _dmstrGatewayARN :: Maybe Text
, _dmstrHourOfDay :: Maybe Nat
, _dmstrMinuteOfHour :: Maybe Nat
, _dmstrTimezone :: Maybe Text
} deriving (Eq, Ord, Show)
describeMaintenanceStartTimeResponse :: DescribeMaintenanceStartTimeResponse
describeMaintenanceStartTimeResponse = DescribeMaintenanceStartTimeResponse
{ _dmstrGatewayARN = Nothing
, _dmstrHourOfDay = Nothing
, _dmstrMinuteOfHour = Nothing
, _dmstrDayOfWeek = Nothing
, _dmstrTimezone = Nothing
}
dmstrDayOfWeek :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Natural)
dmstrDayOfWeek = lens _dmstrDayOfWeek (\s a -> s { _dmstrDayOfWeek = a }) . mapping _Nat
dmstrGatewayARN :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Text)
dmstrGatewayARN = lens _dmstrGatewayARN (\s a -> s { _dmstrGatewayARN = a })
dmstrHourOfDay :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Natural)
dmstrHourOfDay = lens _dmstrHourOfDay (\s a -> s { _dmstrHourOfDay = a }) . mapping _Nat
dmstrMinuteOfHour :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Natural)
dmstrMinuteOfHour =
lens _dmstrMinuteOfHour (\s a -> s { _dmstrMinuteOfHour = a })
. mapping _Nat
dmstrTimezone :: Lens' DescribeMaintenanceStartTimeResponse (Maybe Text)
dmstrTimezone = lens _dmstrTimezone (\s a -> s { _dmstrTimezone = a })
instance ToPath DescribeMaintenanceStartTime where
toPath = const "/"
instance ToQuery DescribeMaintenanceStartTime where
toQuery = const mempty
instance ToHeaders DescribeMaintenanceStartTime
instance ToJSON DescribeMaintenanceStartTime where
toJSON DescribeMaintenanceStartTime{..} = object
[ "GatewayARN" .= _dmstGatewayARN
]
instance AWSRequest DescribeMaintenanceStartTime where
type Sv DescribeMaintenanceStartTime = StorageGateway
type Rs DescribeMaintenanceStartTime = DescribeMaintenanceStartTimeResponse
request = post "DescribeMaintenanceStartTime"
response = jsonResponse
instance FromJSON DescribeMaintenanceStartTimeResponse where
parseJSON = withObject "DescribeMaintenanceStartTimeResponse" $ \o -> DescribeMaintenanceStartTimeResponse
<$> o .:? "DayOfWeek"
<*> o .:? "GatewayARN"
<*> o .:? "HourOfDay"
<*> o .:? "MinuteOfHour"
<*> o .:? "Timezone"