module Stratosphere.Resources.ApiGatewayStage where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
import Stratosphere.ResourceProperties.ApiGatewayStageMethodSetting
data ApiGatewayStage =
ApiGatewayStage
{ _apiGatewayStageCacheClusterEnabled :: Maybe (Val Bool')
, _apiGatewayStageCacheClusterSize :: Maybe (Val Text)
, _apiGatewayStageClientCertificateId :: Maybe (Val Text)
, _apiGatewayStageDeploymentId :: Val Text
, _apiGatewayStageDescription :: Maybe (Val Text)
, _apiGatewayStageMethodSettings :: Maybe [ApiGatewayStageMethodSetting]
, _apiGatewayStageRestApiId :: Val Text
, _apiGatewayStageStageName :: Val Text
, _apiGatewayStageVariables :: Maybe Object
} deriving (Show, Generic)
instance ToJSON ApiGatewayStage where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
instance FromJSON ApiGatewayStage where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 16, omitNothingFields = True }
apiGatewayStage
:: Val Text
-> Val Text
-> Val Text
-> ApiGatewayStage
apiGatewayStage deploymentIdarg restApiIdarg stageNamearg =
ApiGatewayStage
{ _apiGatewayStageCacheClusterEnabled = Nothing
, _apiGatewayStageCacheClusterSize = Nothing
, _apiGatewayStageClientCertificateId = Nothing
, _apiGatewayStageDeploymentId = deploymentIdarg
, _apiGatewayStageDescription = Nothing
, _apiGatewayStageMethodSettings = Nothing
, _apiGatewayStageRestApiId = restApiIdarg
, _apiGatewayStageStageName = stageNamearg
, _apiGatewayStageVariables = Nothing
}
agsCacheClusterEnabled :: Lens' ApiGatewayStage (Maybe (Val Bool'))
agsCacheClusterEnabled = lens _apiGatewayStageCacheClusterEnabled (\s a -> s { _apiGatewayStageCacheClusterEnabled = a })
agsCacheClusterSize :: Lens' ApiGatewayStage (Maybe (Val Text))
agsCacheClusterSize = lens _apiGatewayStageCacheClusterSize (\s a -> s { _apiGatewayStageCacheClusterSize = a })
agsClientCertificateId :: Lens' ApiGatewayStage (Maybe (Val Text))
agsClientCertificateId = lens _apiGatewayStageClientCertificateId (\s a -> s { _apiGatewayStageClientCertificateId = a })
agsDeploymentId :: Lens' ApiGatewayStage (Val Text)
agsDeploymentId = lens _apiGatewayStageDeploymentId (\s a -> s { _apiGatewayStageDeploymentId = a })
agsDescription :: Lens' ApiGatewayStage (Maybe (Val Text))
agsDescription = lens _apiGatewayStageDescription (\s a -> s { _apiGatewayStageDescription = a })
agsMethodSettings :: Lens' ApiGatewayStage (Maybe [ApiGatewayStageMethodSetting])
agsMethodSettings = lens _apiGatewayStageMethodSettings (\s a -> s { _apiGatewayStageMethodSettings = a })
agsRestApiId :: Lens' ApiGatewayStage (Val Text)
agsRestApiId = lens _apiGatewayStageRestApiId (\s a -> s { _apiGatewayStageRestApiId = a })
agsStageName :: Lens' ApiGatewayStage (Val Text)
agsStageName = lens _apiGatewayStageStageName (\s a -> s { _apiGatewayStageStageName = a })
agsVariables :: Lens' ApiGatewayStage (Maybe Object)
agsVariables = lens _apiGatewayStageVariables (\s a -> s { _apiGatewayStageVariables = a })