module Network.AWS.OpsWorks.DescribeTimeBasedAutoScaling
(
DescribeTimeBasedAutoScaling
, describeTimeBasedAutoScaling
, dtbasInstanceIds
, DescribeTimeBasedAutoScalingResponse
, describeTimeBasedAutoScalingResponse
, dtbasrTimeBasedAutoScalingConfigurations
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.OpsWorks.Types
import qualified GHC.Exts
newtype DescribeTimeBasedAutoScaling = DescribeTimeBasedAutoScaling
{ _dtbasInstanceIds :: List "InstanceIds" Text
} deriving (Eq, Ord, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeTimeBasedAutoScaling where
type Item DescribeTimeBasedAutoScaling = Text
fromList = DescribeTimeBasedAutoScaling . GHC.Exts.fromList
toList = GHC.Exts.toList . _dtbasInstanceIds
describeTimeBasedAutoScaling :: DescribeTimeBasedAutoScaling
describeTimeBasedAutoScaling = DescribeTimeBasedAutoScaling
{ _dtbasInstanceIds = mempty
}
dtbasInstanceIds :: Lens' DescribeTimeBasedAutoScaling [Text]
dtbasInstanceIds = lens _dtbasInstanceIds (\s a -> s { _dtbasInstanceIds = a }) . _List
newtype DescribeTimeBasedAutoScalingResponse = DescribeTimeBasedAutoScalingResponse
{ _dtbasrTimeBasedAutoScalingConfigurations :: List "TimeBasedAutoScalingConfigurations" TimeBasedAutoScalingConfiguration
} deriving (Eq, Show, Monoid, Semigroup)
instance GHC.Exts.IsList DescribeTimeBasedAutoScalingResponse where
type Item DescribeTimeBasedAutoScalingResponse = TimeBasedAutoScalingConfiguration
fromList = DescribeTimeBasedAutoScalingResponse . GHC.Exts.fromList
toList = GHC.Exts.toList . _dtbasrTimeBasedAutoScalingConfigurations
describeTimeBasedAutoScalingResponse :: DescribeTimeBasedAutoScalingResponse
describeTimeBasedAutoScalingResponse = DescribeTimeBasedAutoScalingResponse
{ _dtbasrTimeBasedAutoScalingConfigurations = mempty
}
dtbasrTimeBasedAutoScalingConfigurations :: Lens' DescribeTimeBasedAutoScalingResponse [TimeBasedAutoScalingConfiguration]
dtbasrTimeBasedAutoScalingConfigurations =
lens _dtbasrTimeBasedAutoScalingConfigurations
(\s a -> s { _dtbasrTimeBasedAutoScalingConfigurations = a })
. _List
instance ToPath DescribeTimeBasedAutoScaling where
toPath = const "/"
instance ToQuery DescribeTimeBasedAutoScaling where
toQuery = const mempty
instance ToHeaders DescribeTimeBasedAutoScaling
instance ToJSON DescribeTimeBasedAutoScaling where
toJSON DescribeTimeBasedAutoScaling{..} = object
[ "InstanceIds" .= _dtbasInstanceIds
]
instance AWSRequest DescribeTimeBasedAutoScaling where
type Sv DescribeTimeBasedAutoScaling = OpsWorks
type Rs DescribeTimeBasedAutoScaling = DescribeTimeBasedAutoScalingResponse
request = post "DescribeTimeBasedAutoScaling"
response = jsonResponse
instance FromJSON DescribeTimeBasedAutoScalingResponse where
parseJSON = withObject "DescribeTimeBasedAutoScalingResponse" $ \o -> DescribeTimeBasedAutoScalingResponse
<$> o .:? "TimeBasedAutoScalingConfigurations" .!= mempty