module Network.AWS.OpsWorks.UpdateLayer
(
UpdateLayer
, updateLayer
, ulAttributes
, ulAutoAssignElasticIps
, ulAutoAssignPublicIps
, ulCustomInstanceProfileArn
, ulCustomRecipes
, ulCustomSecurityGroupIds
, ulEnableAutoHealing
, ulInstallUpdatesOnBoot
, ulLayerId
, ulLifecycleEventConfiguration
, ulName
, ulPackages
, ulShortname
, ulUseEbsOptimizedInstances
, ulVolumeConfigurations
, UpdateLayerResponse
, updateLayerResponse
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.OpsWorks.Types
import qualified GHC.Exts
data UpdateLayer = UpdateLayer
{ _ulAttributes :: Map LayerAttributesKeys Text
, _ulAutoAssignElasticIps :: Maybe Bool
, _ulAutoAssignPublicIps :: Maybe Bool
, _ulCustomInstanceProfileArn :: Maybe Text
, _ulCustomRecipes :: Maybe Recipes
, _ulCustomSecurityGroupIds :: List "CustomSecurityGroupIds" Text
, _ulEnableAutoHealing :: Maybe Bool
, _ulInstallUpdatesOnBoot :: Maybe Bool
, _ulLayerId :: Text
, _ulLifecycleEventConfiguration :: Maybe LifecycleEventConfiguration
, _ulName :: Maybe Text
, _ulPackages :: List "Packages" Text
, _ulShortname :: Maybe Text
, _ulUseEbsOptimizedInstances :: Maybe Bool
, _ulVolumeConfigurations :: List "VolumeConfigurations" VolumeConfiguration
} deriving (Eq, Read, Show)
updateLayer :: Text
-> UpdateLayer
updateLayer p1 = UpdateLayer
{ _ulLayerId = p1
, _ulName = Nothing
, _ulShortname = Nothing
, _ulAttributes = mempty
, _ulCustomInstanceProfileArn = Nothing
, _ulCustomSecurityGroupIds = mempty
, _ulPackages = mempty
, _ulVolumeConfigurations = mempty
, _ulEnableAutoHealing = Nothing
, _ulAutoAssignElasticIps = Nothing
, _ulAutoAssignPublicIps = Nothing
, _ulCustomRecipes = Nothing
, _ulInstallUpdatesOnBoot = Nothing
, _ulUseEbsOptimizedInstances = Nothing
, _ulLifecycleEventConfiguration = Nothing
}
ulAttributes :: Lens' UpdateLayer (HashMap LayerAttributesKeys Text)
ulAttributes = lens _ulAttributes (\s a -> s { _ulAttributes = a }) . _Map
ulAutoAssignElasticIps :: Lens' UpdateLayer (Maybe Bool)
ulAutoAssignElasticIps =
lens _ulAutoAssignElasticIps (\s a -> s { _ulAutoAssignElasticIps = a })
ulAutoAssignPublicIps :: Lens' UpdateLayer (Maybe Bool)
ulAutoAssignPublicIps =
lens _ulAutoAssignPublicIps (\s a -> s { _ulAutoAssignPublicIps = a })
ulCustomInstanceProfileArn :: Lens' UpdateLayer (Maybe Text)
ulCustomInstanceProfileArn =
lens _ulCustomInstanceProfileArn
(\s a -> s { _ulCustomInstanceProfileArn = a })
ulCustomRecipes :: Lens' UpdateLayer (Maybe Recipes)
ulCustomRecipes = lens _ulCustomRecipes (\s a -> s { _ulCustomRecipes = a })
ulCustomSecurityGroupIds :: Lens' UpdateLayer [Text]
ulCustomSecurityGroupIds =
lens _ulCustomSecurityGroupIds
(\s a -> s { _ulCustomSecurityGroupIds = a })
. _List
ulEnableAutoHealing :: Lens' UpdateLayer (Maybe Bool)
ulEnableAutoHealing =
lens _ulEnableAutoHealing (\s a -> s { _ulEnableAutoHealing = a })
ulInstallUpdatesOnBoot :: Lens' UpdateLayer (Maybe Bool)
ulInstallUpdatesOnBoot =
lens _ulInstallUpdatesOnBoot (\s a -> s { _ulInstallUpdatesOnBoot = a })
ulLayerId :: Lens' UpdateLayer Text
ulLayerId = lens _ulLayerId (\s a -> s { _ulLayerId = a })
ulLifecycleEventConfiguration :: Lens' UpdateLayer (Maybe LifecycleEventConfiguration)
ulLifecycleEventConfiguration =
lens _ulLifecycleEventConfiguration
(\s a -> s { _ulLifecycleEventConfiguration = a })
ulName :: Lens' UpdateLayer (Maybe Text)
ulName = lens _ulName (\s a -> s { _ulName = a })
ulPackages :: Lens' UpdateLayer [Text]
ulPackages = lens _ulPackages (\s a -> s { _ulPackages = a }) . _List
ulShortname :: Lens' UpdateLayer (Maybe Text)
ulShortname = lens _ulShortname (\s a -> s { _ulShortname = a })
ulUseEbsOptimizedInstances :: Lens' UpdateLayer (Maybe Bool)
ulUseEbsOptimizedInstances =
lens _ulUseEbsOptimizedInstances
(\s a -> s { _ulUseEbsOptimizedInstances = a })
ulVolumeConfigurations :: Lens' UpdateLayer [VolumeConfiguration]
ulVolumeConfigurations =
lens _ulVolumeConfigurations (\s a -> s { _ulVolumeConfigurations = a })
. _List
data UpdateLayerResponse = UpdateLayerResponse
deriving (Eq, Ord, Read, Show, Generic)
updateLayerResponse :: UpdateLayerResponse
updateLayerResponse = UpdateLayerResponse
instance ToPath UpdateLayer where
toPath = const "/"
instance ToQuery UpdateLayer where
toQuery = const mempty
instance ToHeaders UpdateLayer
instance ToJSON UpdateLayer where
toJSON UpdateLayer{..} = object
[ "LayerId" .= _ulLayerId
, "Name" .= _ulName
, "Shortname" .= _ulShortname
, "Attributes" .= _ulAttributes
, "CustomInstanceProfileArn" .= _ulCustomInstanceProfileArn
, "CustomSecurityGroupIds" .= _ulCustomSecurityGroupIds
, "Packages" .= _ulPackages
, "VolumeConfigurations" .= _ulVolumeConfigurations
, "EnableAutoHealing" .= _ulEnableAutoHealing
, "AutoAssignElasticIps" .= _ulAutoAssignElasticIps
, "AutoAssignPublicIps" .= _ulAutoAssignPublicIps
, "CustomRecipes" .= _ulCustomRecipes
, "InstallUpdatesOnBoot" .= _ulInstallUpdatesOnBoot
, "UseEbsOptimizedInstances" .= _ulUseEbsOptimizedInstances
, "LifecycleEventConfiguration" .= _ulLifecycleEventConfiguration
]
instance AWSRequest UpdateLayer where
type Sv UpdateLayer = OpsWorks
type Rs UpdateLayer = UpdateLayerResponse
request = post "UpdateLayer"
response = nullResponse UpdateLayerResponse