module Network.AWS.OpsWorks.Types.Product where
import Network.AWS.Lens
import Network.AWS.OpsWorks.Types.Sum
import Network.AWS.Prelude
data AgentVersion = AgentVersion'
{ _avVersion :: !(Maybe Text)
, _avConfigurationManager :: !(Maybe StackConfigurationManager)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
agentVersion
:: AgentVersion
agentVersion =
AgentVersion' {_avVersion = Nothing, _avConfigurationManager = Nothing}
avVersion :: Lens' AgentVersion (Maybe Text)
avVersion = lens _avVersion (\ s a -> s{_avVersion = a});
avConfigurationManager :: Lens' AgentVersion (Maybe StackConfigurationManager)
avConfigurationManager = lens _avConfigurationManager (\ s a -> s{_avConfigurationManager = a});
instance FromJSON AgentVersion where
parseJSON
= withObject "AgentVersion"
(\ x ->
AgentVersion' <$>
(x .:? "Version") <*> (x .:? "ConfigurationManager"))
instance Hashable AgentVersion where
instance NFData AgentVersion where
data App = App'
{ _appSSLConfiguration :: !(Maybe SSLConfiguration)
, _appEnvironment :: !(Maybe [EnvironmentVariable])
, _appEnableSSL :: !(Maybe Bool)
, _appCreatedAt :: !(Maybe Text)
, _appShortname :: !(Maybe Text)
, _appDataSources :: !(Maybe [DataSource])
, _appAppSource :: !(Maybe Source)
, _appAppId :: !(Maybe Text)
, _appAttributes :: !(Maybe (Map AppAttributesKeys Text))
, _appName :: !(Maybe Text)
, _appType :: !(Maybe AppType)
, _appStackId :: !(Maybe Text)
, _appDomains :: !(Maybe [Text])
, _appDescription :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
app
:: App
app =
App'
{ _appSSLConfiguration = Nothing
, _appEnvironment = Nothing
, _appEnableSSL = Nothing
, _appCreatedAt = Nothing
, _appShortname = Nothing
, _appDataSources = Nothing
, _appAppSource = Nothing
, _appAppId = Nothing
, _appAttributes = Nothing
, _appName = Nothing
, _appType = Nothing
, _appStackId = Nothing
, _appDomains = Nothing
, _appDescription = Nothing
}
appSSLConfiguration :: Lens' App (Maybe SSLConfiguration)
appSSLConfiguration = lens _appSSLConfiguration (\ s a -> s{_appSSLConfiguration = a});
appEnvironment :: Lens' App [EnvironmentVariable]
appEnvironment = lens _appEnvironment (\ s a -> s{_appEnvironment = a}) . _Default . _Coerce;
appEnableSSL :: Lens' App (Maybe Bool)
appEnableSSL = lens _appEnableSSL (\ s a -> s{_appEnableSSL = a});
appCreatedAt :: Lens' App (Maybe Text)
appCreatedAt = lens _appCreatedAt (\ s a -> s{_appCreatedAt = a});
appShortname :: Lens' App (Maybe Text)
appShortname = lens _appShortname (\ s a -> s{_appShortname = a});
appDataSources :: Lens' App [DataSource]
appDataSources = lens _appDataSources (\ s a -> s{_appDataSources = a}) . _Default . _Coerce;
appAppSource :: Lens' App (Maybe Source)
appAppSource = lens _appAppSource (\ s a -> s{_appAppSource = a});
appAppId :: Lens' App (Maybe Text)
appAppId = lens _appAppId (\ s a -> s{_appAppId = a});
appAttributes :: Lens' App (HashMap AppAttributesKeys Text)
appAttributes = lens _appAttributes (\ s a -> s{_appAttributes = a}) . _Default . _Map;
appName :: Lens' App (Maybe Text)
appName = lens _appName (\ s a -> s{_appName = a});
appType :: Lens' App (Maybe AppType)
appType = lens _appType (\ s a -> s{_appType = a});
appStackId :: Lens' App (Maybe Text)
appStackId = lens _appStackId (\ s a -> s{_appStackId = a});
appDomains :: Lens' App [Text]
appDomains = lens _appDomains (\ s a -> s{_appDomains = a}) . _Default . _Coerce;
appDescription :: Lens' App (Maybe Text)
appDescription = lens _appDescription (\ s a -> s{_appDescription = a});
instance FromJSON App where
parseJSON
= withObject "App"
(\ x ->
App' <$>
(x .:? "SslConfiguration") <*>
(x .:? "Environment" .!= mempty)
<*> (x .:? "EnableSsl")
<*> (x .:? "CreatedAt")
<*> (x .:? "Shortname")
<*> (x .:? "DataSources" .!= mempty)
<*> (x .:? "AppSource")
<*> (x .:? "AppId")
<*> (x .:? "Attributes" .!= mempty)
<*> (x .:? "Name")
<*> (x .:? "Type")
<*> (x .:? "StackId")
<*> (x .:? "Domains" .!= mempty)
<*> (x .:? "Description"))
instance Hashable App where
instance NFData App where
data AutoScalingThresholds = AutoScalingThresholds'
{ _astInstanceCount :: !(Maybe Int)
, _astIgnoreMetricsTime :: !(Maybe Nat)
, _astLoadThreshold :: !(Maybe Double)
, _astThresholdsWaitTime :: !(Maybe Nat)
, _astAlarms :: !(Maybe [Text])
, _astMemoryThreshold :: !(Maybe Double)
, _astCPUThreshold :: !(Maybe Double)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
autoScalingThresholds
:: AutoScalingThresholds
autoScalingThresholds =
AutoScalingThresholds'
{ _astInstanceCount = Nothing
, _astIgnoreMetricsTime = Nothing
, _astLoadThreshold = Nothing
, _astThresholdsWaitTime = Nothing
, _astAlarms = Nothing
, _astMemoryThreshold = Nothing
, _astCPUThreshold = Nothing
}
astInstanceCount :: Lens' AutoScalingThresholds (Maybe Int)
astInstanceCount = lens _astInstanceCount (\ s a -> s{_astInstanceCount = a});
astIgnoreMetricsTime :: Lens' AutoScalingThresholds (Maybe Natural)
astIgnoreMetricsTime = lens _astIgnoreMetricsTime (\ s a -> s{_astIgnoreMetricsTime = a}) . mapping _Nat;
astLoadThreshold :: Lens' AutoScalingThresholds (Maybe Double)
astLoadThreshold = lens _astLoadThreshold (\ s a -> s{_astLoadThreshold = a});
astThresholdsWaitTime :: Lens' AutoScalingThresholds (Maybe Natural)
astThresholdsWaitTime = lens _astThresholdsWaitTime (\ s a -> s{_astThresholdsWaitTime = a}) . mapping _Nat;
astAlarms :: Lens' AutoScalingThresholds [Text]
astAlarms = lens _astAlarms (\ s a -> s{_astAlarms = a}) . _Default . _Coerce;
astMemoryThreshold :: Lens' AutoScalingThresholds (Maybe Double)
astMemoryThreshold = lens _astMemoryThreshold (\ s a -> s{_astMemoryThreshold = a});
astCPUThreshold :: Lens' AutoScalingThresholds (Maybe Double)
astCPUThreshold = lens _astCPUThreshold (\ s a -> s{_astCPUThreshold = a});
instance FromJSON AutoScalingThresholds where
parseJSON
= withObject "AutoScalingThresholds"
(\ x ->
AutoScalingThresholds' <$>
(x .:? "InstanceCount") <*>
(x .:? "IgnoreMetricsTime")
<*> (x .:? "LoadThreshold")
<*> (x .:? "ThresholdsWaitTime")
<*> (x .:? "Alarms" .!= mempty)
<*> (x .:? "MemoryThreshold")
<*> (x .:? "CpuThreshold"))
instance Hashable AutoScalingThresholds where
instance NFData AutoScalingThresholds where
instance ToJSON AutoScalingThresholds where
toJSON AutoScalingThresholds'{..}
= object
(catMaybes
[("InstanceCount" .=) <$> _astInstanceCount,
("IgnoreMetricsTime" .=) <$> _astIgnoreMetricsTime,
("LoadThreshold" .=) <$> _astLoadThreshold,
("ThresholdsWaitTime" .=) <$> _astThresholdsWaitTime,
("Alarms" .=) <$> _astAlarms,
("MemoryThreshold" .=) <$> _astMemoryThreshold,
("CpuThreshold" .=) <$> _astCPUThreshold])
data BlockDeviceMapping = BlockDeviceMapping'
{ _bdmVirtualName :: !(Maybe Text)
, _bdmNoDevice :: !(Maybe Text)
, _bdmEBS :: !(Maybe EBSBlockDevice)
, _bdmDeviceName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
blockDeviceMapping
:: BlockDeviceMapping
blockDeviceMapping =
BlockDeviceMapping'
{ _bdmVirtualName = Nothing
, _bdmNoDevice = Nothing
, _bdmEBS = Nothing
, _bdmDeviceName = Nothing
}
bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)
bdmVirtualName = lens _bdmVirtualName (\ s a -> s{_bdmVirtualName = a});
bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Text)
bdmNoDevice = lens _bdmNoDevice (\ s a -> s{_bdmNoDevice = a});
bdmEBS :: Lens' BlockDeviceMapping (Maybe EBSBlockDevice)
bdmEBS = lens _bdmEBS (\ s a -> s{_bdmEBS = a});
bdmDeviceName :: Lens' BlockDeviceMapping (Maybe Text)
bdmDeviceName = lens _bdmDeviceName (\ s a -> s{_bdmDeviceName = a});
instance FromJSON BlockDeviceMapping where
parseJSON
= withObject "BlockDeviceMapping"
(\ x ->
BlockDeviceMapping' <$>
(x .:? "VirtualName") <*> (x .:? "NoDevice") <*>
(x .:? "Ebs")
<*> (x .:? "DeviceName"))
instance Hashable BlockDeviceMapping where
instance NFData BlockDeviceMapping where
instance ToJSON BlockDeviceMapping where
toJSON BlockDeviceMapping'{..}
= object
(catMaybes
[("VirtualName" .=) <$> _bdmVirtualName,
("NoDevice" .=) <$> _bdmNoDevice,
("Ebs" .=) <$> _bdmEBS,
("DeviceName" .=) <$> _bdmDeviceName])
data ChefConfiguration = ChefConfiguration'
{ _ccBerkshelfVersion :: !(Maybe Text)
, _ccManageBerkshelf :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
chefConfiguration
:: ChefConfiguration
chefConfiguration =
ChefConfiguration'
{_ccBerkshelfVersion = Nothing, _ccManageBerkshelf = Nothing}
ccBerkshelfVersion :: Lens' ChefConfiguration (Maybe Text)
ccBerkshelfVersion = lens _ccBerkshelfVersion (\ s a -> s{_ccBerkshelfVersion = a});
ccManageBerkshelf :: Lens' ChefConfiguration (Maybe Bool)
ccManageBerkshelf = lens _ccManageBerkshelf (\ s a -> s{_ccManageBerkshelf = a});
instance FromJSON ChefConfiguration where
parseJSON
= withObject "ChefConfiguration"
(\ x ->
ChefConfiguration' <$>
(x .:? "BerkshelfVersion") <*>
(x .:? "ManageBerkshelf"))
instance Hashable ChefConfiguration where
instance NFData ChefConfiguration where
instance ToJSON ChefConfiguration where
toJSON ChefConfiguration'{..}
= object
(catMaybes
[("BerkshelfVersion" .=) <$> _ccBerkshelfVersion,
("ManageBerkshelf" .=) <$> _ccManageBerkshelf])
data CloudWatchLogsConfiguration = CloudWatchLogsConfiguration'
{ _cwlcEnabled :: !(Maybe Bool)
, _cwlcLogStreams :: !(Maybe [CloudWatchLogsLogStream])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cloudWatchLogsConfiguration
:: CloudWatchLogsConfiguration
cloudWatchLogsConfiguration =
CloudWatchLogsConfiguration'
{_cwlcEnabled = Nothing, _cwlcLogStreams = Nothing}
cwlcEnabled :: Lens' CloudWatchLogsConfiguration (Maybe Bool)
cwlcEnabled = lens _cwlcEnabled (\ s a -> s{_cwlcEnabled = a});
cwlcLogStreams :: Lens' CloudWatchLogsConfiguration [CloudWatchLogsLogStream]
cwlcLogStreams = lens _cwlcLogStreams (\ s a -> s{_cwlcLogStreams = a}) . _Default . _Coerce;
instance FromJSON CloudWatchLogsConfiguration where
parseJSON
= withObject "CloudWatchLogsConfiguration"
(\ x ->
CloudWatchLogsConfiguration' <$>
(x .:? "Enabled") <*>
(x .:? "LogStreams" .!= mempty))
instance Hashable CloudWatchLogsConfiguration where
instance NFData CloudWatchLogsConfiguration where
instance ToJSON CloudWatchLogsConfiguration where
toJSON CloudWatchLogsConfiguration'{..}
= object
(catMaybes
[("Enabled" .=) <$> _cwlcEnabled,
("LogStreams" .=) <$> _cwlcLogStreams])
data CloudWatchLogsLogStream = CloudWatchLogsLogStream'
{ _cwllsBatchCount :: !(Maybe Int)
, _cwllsFileFingerprintLines :: !(Maybe Text)
, _cwllsBufferDuration :: !(Maybe Int)
, _cwllsBatchSize :: !(Maybe Int)
, _cwllsLogGroupName :: !(Maybe Text)
, _cwllsMultiLineStartPattern :: !(Maybe Text)
, _cwllsInitialPosition :: !(Maybe CloudWatchLogsInitialPosition)
, _cwllsDatetimeFormat :: !(Maybe Text)
, _cwllsEncoding :: !(Maybe CloudWatchLogsEncoding)
, _cwllsTimeZone :: !(Maybe CloudWatchLogsTimeZone)
, _cwllsFile :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
cloudWatchLogsLogStream
:: CloudWatchLogsLogStream
cloudWatchLogsLogStream =
CloudWatchLogsLogStream'
{ _cwllsBatchCount = Nothing
, _cwllsFileFingerprintLines = Nothing
, _cwllsBufferDuration = Nothing
, _cwllsBatchSize = Nothing
, _cwllsLogGroupName = Nothing
, _cwllsMultiLineStartPattern = Nothing
, _cwllsInitialPosition = Nothing
, _cwllsDatetimeFormat = Nothing
, _cwllsEncoding = Nothing
, _cwllsTimeZone = Nothing
, _cwllsFile = Nothing
}
cwllsBatchCount :: Lens' CloudWatchLogsLogStream (Maybe Int)
cwllsBatchCount = lens _cwllsBatchCount (\ s a -> s{_cwllsBatchCount = a});
cwllsFileFingerprintLines :: Lens' CloudWatchLogsLogStream (Maybe Text)
cwllsFileFingerprintLines = lens _cwllsFileFingerprintLines (\ s a -> s{_cwllsFileFingerprintLines = a});
cwllsBufferDuration :: Lens' CloudWatchLogsLogStream (Maybe Int)
cwllsBufferDuration = lens _cwllsBufferDuration (\ s a -> s{_cwllsBufferDuration = a});
cwllsBatchSize :: Lens' CloudWatchLogsLogStream (Maybe Int)
cwllsBatchSize = lens _cwllsBatchSize (\ s a -> s{_cwllsBatchSize = a});
cwllsLogGroupName :: Lens' CloudWatchLogsLogStream (Maybe Text)
cwllsLogGroupName = lens _cwllsLogGroupName (\ s a -> s{_cwllsLogGroupName = a});
cwllsMultiLineStartPattern :: Lens' CloudWatchLogsLogStream (Maybe Text)
cwllsMultiLineStartPattern = lens _cwllsMultiLineStartPattern (\ s a -> s{_cwllsMultiLineStartPattern = a});
cwllsInitialPosition :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsInitialPosition)
cwllsInitialPosition = lens _cwllsInitialPosition (\ s a -> s{_cwllsInitialPosition = a});
cwllsDatetimeFormat :: Lens' CloudWatchLogsLogStream (Maybe Text)
cwllsDatetimeFormat = lens _cwllsDatetimeFormat (\ s a -> s{_cwllsDatetimeFormat = a});
cwllsEncoding :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsEncoding)
cwllsEncoding = lens _cwllsEncoding (\ s a -> s{_cwllsEncoding = a});
cwllsTimeZone :: Lens' CloudWatchLogsLogStream (Maybe CloudWatchLogsTimeZone)
cwllsTimeZone = lens _cwllsTimeZone (\ s a -> s{_cwllsTimeZone = a});
cwllsFile :: Lens' CloudWatchLogsLogStream (Maybe Text)
cwllsFile = lens _cwllsFile (\ s a -> s{_cwllsFile = a});
instance FromJSON CloudWatchLogsLogStream where
parseJSON
= withObject "CloudWatchLogsLogStream"
(\ x ->
CloudWatchLogsLogStream' <$>
(x .:? "BatchCount") <*>
(x .:? "FileFingerprintLines")
<*> (x .:? "BufferDuration")
<*> (x .:? "BatchSize")
<*> (x .:? "LogGroupName")
<*> (x .:? "MultiLineStartPattern")
<*> (x .:? "InitialPosition")
<*> (x .:? "DatetimeFormat")
<*> (x .:? "Encoding")
<*> (x .:? "TimeZone")
<*> (x .:? "File"))
instance Hashable CloudWatchLogsLogStream where
instance NFData CloudWatchLogsLogStream where
instance ToJSON CloudWatchLogsLogStream where
toJSON CloudWatchLogsLogStream'{..}
= object
(catMaybes
[("BatchCount" .=) <$> _cwllsBatchCount,
("FileFingerprintLines" .=) <$>
_cwllsFileFingerprintLines,
("BufferDuration" .=) <$> _cwllsBufferDuration,
("BatchSize" .=) <$> _cwllsBatchSize,
("LogGroupName" .=) <$> _cwllsLogGroupName,
("MultiLineStartPattern" .=) <$>
_cwllsMultiLineStartPattern,
("InitialPosition" .=) <$> _cwllsInitialPosition,
("DatetimeFormat" .=) <$> _cwllsDatetimeFormat,
("Encoding" .=) <$> _cwllsEncoding,
("TimeZone" .=) <$> _cwllsTimeZone,
("File" .=) <$> _cwllsFile])
data Command = Command'
{ _cDeploymentId :: !(Maybe Text)
, _cInstanceId :: !(Maybe Text)
, _cStatus :: !(Maybe Text)
, _cLogURL :: !(Maybe Text)
, _cCreatedAt :: !(Maybe Text)
, _cCommandId :: !(Maybe Text)
, _cExitCode :: !(Maybe Int)
, _cType :: !(Maybe Text)
, _cCompletedAt :: !(Maybe Text)
, _cAcknowledgedAt :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
command
:: Command
command =
Command'
{ _cDeploymentId = Nothing
, _cInstanceId = Nothing
, _cStatus = Nothing
, _cLogURL = Nothing
, _cCreatedAt = Nothing
, _cCommandId = Nothing
, _cExitCode = Nothing
, _cType = Nothing
, _cCompletedAt = Nothing
, _cAcknowledgedAt = Nothing
}
cDeploymentId :: Lens' Command (Maybe Text)
cDeploymentId = lens _cDeploymentId (\ s a -> s{_cDeploymentId = a});
cInstanceId :: Lens' Command (Maybe Text)
cInstanceId = lens _cInstanceId (\ s a -> s{_cInstanceId = a});
cStatus :: Lens' Command (Maybe Text)
cStatus = lens _cStatus (\ s a -> s{_cStatus = a});
cLogURL :: Lens' Command (Maybe Text)
cLogURL = lens _cLogURL (\ s a -> s{_cLogURL = a});
cCreatedAt :: Lens' Command (Maybe Text)
cCreatedAt = lens _cCreatedAt (\ s a -> s{_cCreatedAt = a});
cCommandId :: Lens' Command (Maybe Text)
cCommandId = lens _cCommandId (\ s a -> s{_cCommandId = a});
cExitCode :: Lens' Command (Maybe Int)
cExitCode = lens _cExitCode (\ s a -> s{_cExitCode = a});
cType :: Lens' Command (Maybe Text)
cType = lens _cType (\ s a -> s{_cType = a});
cCompletedAt :: Lens' Command (Maybe Text)
cCompletedAt = lens _cCompletedAt (\ s a -> s{_cCompletedAt = a});
cAcknowledgedAt :: Lens' Command (Maybe Text)
cAcknowledgedAt = lens _cAcknowledgedAt (\ s a -> s{_cAcknowledgedAt = a});
instance FromJSON Command where
parseJSON
= withObject "Command"
(\ x ->
Command' <$>
(x .:? "DeploymentId") <*> (x .:? "InstanceId") <*>
(x .:? "Status")
<*> (x .:? "LogUrl")
<*> (x .:? "CreatedAt")
<*> (x .:? "CommandId")
<*> (x .:? "ExitCode")
<*> (x .:? "Type")
<*> (x .:? "CompletedAt")
<*> (x .:? "AcknowledgedAt"))
instance Hashable Command where
instance NFData Command where
data DataSource = DataSource'
{ _dsARN :: !(Maybe Text)
, _dsDatabaseName :: !(Maybe Text)
, _dsType :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
dataSource
:: DataSource
dataSource =
DataSource' {_dsARN = Nothing, _dsDatabaseName = Nothing, _dsType = Nothing}
dsARN :: Lens' DataSource (Maybe Text)
dsARN = lens _dsARN (\ s a -> s{_dsARN = a});
dsDatabaseName :: Lens' DataSource (Maybe Text)
dsDatabaseName = lens _dsDatabaseName (\ s a -> s{_dsDatabaseName = a});
dsType :: Lens' DataSource (Maybe Text)
dsType = lens _dsType (\ s a -> s{_dsType = a});
instance FromJSON DataSource where
parseJSON
= withObject "DataSource"
(\ x ->
DataSource' <$>
(x .:? "Arn") <*> (x .:? "DatabaseName") <*>
(x .:? "Type"))
instance Hashable DataSource where
instance NFData DataSource where
instance ToJSON DataSource where
toJSON DataSource'{..}
= object
(catMaybes
[("Arn" .=) <$> _dsARN,
("DatabaseName" .=) <$> _dsDatabaseName,
("Type" .=) <$> _dsType])
data Deployment = Deployment'
{ _dDeploymentId :: !(Maybe Text)
, _dStatus :: !(Maybe Text)
, _dCommand :: !(Maybe DeploymentCommand)
, _dCreatedAt :: !(Maybe Text)
, _dCustomJSON :: !(Maybe Text)
, _dIAMUserARN :: !(Maybe Text)
, _dAppId :: !(Maybe Text)
, _dInstanceIds :: !(Maybe [Text])
, _dCompletedAt :: !(Maybe Text)
, _dStackId :: !(Maybe Text)
, _dComment :: !(Maybe Text)
, _dDuration :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deployment
:: Deployment
deployment =
Deployment'
{ _dDeploymentId = Nothing
, _dStatus = Nothing
, _dCommand = Nothing
, _dCreatedAt = Nothing
, _dCustomJSON = Nothing
, _dIAMUserARN = Nothing
, _dAppId = Nothing
, _dInstanceIds = Nothing
, _dCompletedAt = Nothing
, _dStackId = Nothing
, _dComment = Nothing
, _dDuration = Nothing
}
dDeploymentId :: Lens' Deployment (Maybe Text)
dDeploymentId = lens _dDeploymentId (\ s a -> s{_dDeploymentId = a});
dStatus :: Lens' Deployment (Maybe Text)
dStatus = lens _dStatus (\ s a -> s{_dStatus = a});
dCommand :: Lens' Deployment (Maybe DeploymentCommand)
dCommand = lens _dCommand (\ s a -> s{_dCommand = a});
dCreatedAt :: Lens' Deployment (Maybe Text)
dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a});
dCustomJSON :: Lens' Deployment (Maybe Text)
dCustomJSON = lens _dCustomJSON (\ s a -> s{_dCustomJSON = a});
dIAMUserARN :: Lens' Deployment (Maybe Text)
dIAMUserARN = lens _dIAMUserARN (\ s a -> s{_dIAMUserARN = a});
dAppId :: Lens' Deployment (Maybe Text)
dAppId = lens _dAppId (\ s a -> s{_dAppId = a});
dInstanceIds :: Lens' Deployment [Text]
dInstanceIds = lens _dInstanceIds (\ s a -> s{_dInstanceIds = a}) . _Default . _Coerce;
dCompletedAt :: Lens' Deployment (Maybe Text)
dCompletedAt = lens _dCompletedAt (\ s a -> s{_dCompletedAt = a});
dStackId :: Lens' Deployment (Maybe Text)
dStackId = lens _dStackId (\ s a -> s{_dStackId = a});
dComment :: Lens' Deployment (Maybe Text)
dComment = lens _dComment (\ s a -> s{_dComment = a});
dDuration :: Lens' Deployment (Maybe Int)
dDuration = lens _dDuration (\ s a -> s{_dDuration = a});
instance FromJSON Deployment where
parseJSON
= withObject "Deployment"
(\ x ->
Deployment' <$>
(x .:? "DeploymentId") <*> (x .:? "Status") <*>
(x .:? "Command")
<*> (x .:? "CreatedAt")
<*> (x .:? "CustomJson")
<*> (x .:? "IamUserArn")
<*> (x .:? "AppId")
<*> (x .:? "InstanceIds" .!= mempty)
<*> (x .:? "CompletedAt")
<*> (x .:? "StackId")
<*> (x .:? "Comment")
<*> (x .:? "Duration"))
instance Hashable Deployment where
instance NFData Deployment where
data DeploymentCommand = DeploymentCommand'
{ _dcArgs :: !(Maybe (Map Text [Text]))
, _dcName :: !DeploymentCommandName
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deploymentCommand
:: DeploymentCommandName
-> DeploymentCommand
deploymentCommand pName_ =
DeploymentCommand' {_dcArgs = Nothing, _dcName = pName_}
dcArgs :: Lens' DeploymentCommand (HashMap Text [Text])
dcArgs = lens _dcArgs (\ s a -> s{_dcArgs = a}) . _Default . _Map;
dcName :: Lens' DeploymentCommand DeploymentCommandName
dcName = lens _dcName (\ s a -> s{_dcName = a});
instance FromJSON DeploymentCommand where
parseJSON
= withObject "DeploymentCommand"
(\ x ->
DeploymentCommand' <$>
(x .:? "Args" .!= mempty) <*> (x .: "Name"))
instance Hashable DeploymentCommand where
instance NFData DeploymentCommand where
instance ToJSON DeploymentCommand where
toJSON DeploymentCommand'{..}
= object
(catMaybes
[("Args" .=) <$> _dcArgs, Just ("Name" .= _dcName)])
data EBSBlockDevice = EBSBlockDevice'
{ _ebdDeleteOnTermination :: !(Maybe Bool)
, _ebdVolumeSize :: !(Maybe Int)
, _ebdIOPS :: !(Maybe Int)
, _ebdVolumeType :: !(Maybe VolumeType)
, _ebdSnapshotId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
ebsBlockDevice
:: EBSBlockDevice
ebsBlockDevice =
EBSBlockDevice'
{ _ebdDeleteOnTermination = Nothing
, _ebdVolumeSize = Nothing
, _ebdIOPS = Nothing
, _ebdVolumeType = Nothing
, _ebdSnapshotId = Nothing
}
ebdDeleteOnTermination :: Lens' EBSBlockDevice (Maybe Bool)
ebdDeleteOnTermination = lens _ebdDeleteOnTermination (\ s a -> s{_ebdDeleteOnTermination = a});
ebdVolumeSize :: Lens' EBSBlockDevice (Maybe Int)
ebdVolumeSize = lens _ebdVolumeSize (\ s a -> s{_ebdVolumeSize = a});
ebdIOPS :: Lens' EBSBlockDevice (Maybe Int)
ebdIOPS = lens _ebdIOPS (\ s a -> s{_ebdIOPS = a});
ebdVolumeType :: Lens' EBSBlockDevice (Maybe VolumeType)
ebdVolumeType = lens _ebdVolumeType (\ s a -> s{_ebdVolumeType = a});
ebdSnapshotId :: Lens' EBSBlockDevice (Maybe Text)
ebdSnapshotId = lens _ebdSnapshotId (\ s a -> s{_ebdSnapshotId = a});
instance FromJSON EBSBlockDevice where
parseJSON
= withObject "EBSBlockDevice"
(\ x ->
EBSBlockDevice' <$>
(x .:? "DeleteOnTermination") <*>
(x .:? "VolumeSize")
<*> (x .:? "Iops")
<*> (x .:? "VolumeType")
<*> (x .:? "SnapshotId"))
instance Hashable EBSBlockDevice where
instance NFData EBSBlockDevice where
instance ToJSON EBSBlockDevice where
toJSON EBSBlockDevice'{..}
= object
(catMaybes
[("DeleteOnTermination" .=) <$>
_ebdDeleteOnTermination,
("VolumeSize" .=) <$> _ebdVolumeSize,
("Iops" .=) <$> _ebdIOPS,
("VolumeType" .=) <$> _ebdVolumeType,
("SnapshotId" .=) <$> _ebdSnapshotId])
data EcsCluster = EcsCluster'
{ _ecEcsClusterARN :: !(Maybe Text)
, _ecEcsClusterName :: !(Maybe Text)
, _ecRegisteredAt :: !(Maybe Text)
, _ecStackId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
ecsCluster
:: EcsCluster
ecsCluster =
EcsCluster'
{ _ecEcsClusterARN = Nothing
, _ecEcsClusterName = Nothing
, _ecRegisteredAt = Nothing
, _ecStackId = Nothing
}
ecEcsClusterARN :: Lens' EcsCluster (Maybe Text)
ecEcsClusterARN = lens _ecEcsClusterARN (\ s a -> s{_ecEcsClusterARN = a});
ecEcsClusterName :: Lens' EcsCluster (Maybe Text)
ecEcsClusterName = lens _ecEcsClusterName (\ s a -> s{_ecEcsClusterName = a});
ecRegisteredAt :: Lens' EcsCluster (Maybe Text)
ecRegisteredAt = lens _ecRegisteredAt (\ s a -> s{_ecRegisteredAt = a});
ecStackId :: Lens' EcsCluster (Maybe Text)
ecStackId = lens _ecStackId (\ s a -> s{_ecStackId = a});
instance FromJSON EcsCluster where
parseJSON
= withObject "EcsCluster"
(\ x ->
EcsCluster' <$>
(x .:? "EcsClusterArn") <*> (x .:? "EcsClusterName")
<*> (x .:? "RegisteredAt")
<*> (x .:? "StackId"))
instance Hashable EcsCluster where
instance NFData EcsCluster where
data ElasticIP = ElasticIP'
{ _eiInstanceId :: !(Maybe Text)
, _eiDomain :: !(Maybe Text)
, _eiIP :: !(Maybe Text)
, _eiName :: !(Maybe Text)
, _eiRegion :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
elasticIP
:: ElasticIP
elasticIP =
ElasticIP'
{ _eiInstanceId = Nothing
, _eiDomain = Nothing
, _eiIP = Nothing
, _eiName = Nothing
, _eiRegion = Nothing
}
eiInstanceId :: Lens' ElasticIP (Maybe Text)
eiInstanceId = lens _eiInstanceId (\ s a -> s{_eiInstanceId = a});
eiDomain :: Lens' ElasticIP (Maybe Text)
eiDomain = lens _eiDomain (\ s a -> s{_eiDomain = a});
eiIP :: Lens' ElasticIP (Maybe Text)
eiIP = lens _eiIP (\ s a -> s{_eiIP = a});
eiName :: Lens' ElasticIP (Maybe Text)
eiName = lens _eiName (\ s a -> s{_eiName = a});
eiRegion :: Lens' ElasticIP (Maybe Text)
eiRegion = lens _eiRegion (\ s a -> s{_eiRegion = a});
instance FromJSON ElasticIP where
parseJSON
= withObject "ElasticIP"
(\ x ->
ElasticIP' <$>
(x .:? "InstanceId") <*> (x .:? "Domain") <*>
(x .:? "Ip")
<*> (x .:? "Name")
<*> (x .:? "Region"))
instance Hashable ElasticIP where
instance NFData ElasticIP where
data ElasticLoadBalancer = ElasticLoadBalancer'
{ _elbSubnetIds :: !(Maybe [Text])
, _elbVPCId :: !(Maybe Text)
, _elbAvailabilityZones :: !(Maybe [Text])
, _elbRegion :: !(Maybe Text)
, _elbElasticLoadBalancerName :: !(Maybe Text)
, _elbStackId :: !(Maybe Text)
, _elbEC2InstanceIds :: !(Maybe [Text])
, _elbLayerId :: !(Maybe Text)
, _elbDNSName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
elasticLoadBalancer
:: ElasticLoadBalancer
elasticLoadBalancer =
ElasticLoadBalancer'
{ _elbSubnetIds = Nothing
, _elbVPCId = Nothing
, _elbAvailabilityZones = Nothing
, _elbRegion = Nothing
, _elbElasticLoadBalancerName = Nothing
, _elbStackId = Nothing
, _elbEC2InstanceIds = Nothing
, _elbLayerId = Nothing
, _elbDNSName = Nothing
}
elbSubnetIds :: Lens' ElasticLoadBalancer [Text]
elbSubnetIds = lens _elbSubnetIds (\ s a -> s{_elbSubnetIds = a}) . _Default . _Coerce;
elbVPCId :: Lens' ElasticLoadBalancer (Maybe Text)
elbVPCId = lens _elbVPCId (\ s a -> s{_elbVPCId = a});
elbAvailabilityZones :: Lens' ElasticLoadBalancer [Text]
elbAvailabilityZones = lens _elbAvailabilityZones (\ s a -> s{_elbAvailabilityZones = a}) . _Default . _Coerce;
elbRegion :: Lens' ElasticLoadBalancer (Maybe Text)
elbRegion = lens _elbRegion (\ s a -> s{_elbRegion = a});
elbElasticLoadBalancerName :: Lens' ElasticLoadBalancer (Maybe Text)
elbElasticLoadBalancerName = lens _elbElasticLoadBalancerName (\ s a -> s{_elbElasticLoadBalancerName = a});
elbStackId :: Lens' ElasticLoadBalancer (Maybe Text)
elbStackId = lens _elbStackId (\ s a -> s{_elbStackId = a});
elbEC2InstanceIds :: Lens' ElasticLoadBalancer [Text]
elbEC2InstanceIds = lens _elbEC2InstanceIds (\ s a -> s{_elbEC2InstanceIds = a}) . _Default . _Coerce;
elbLayerId :: Lens' ElasticLoadBalancer (Maybe Text)
elbLayerId = lens _elbLayerId (\ s a -> s{_elbLayerId = a});
elbDNSName :: Lens' ElasticLoadBalancer (Maybe Text)
elbDNSName = lens _elbDNSName (\ s a -> s{_elbDNSName = a});
instance FromJSON ElasticLoadBalancer where
parseJSON
= withObject "ElasticLoadBalancer"
(\ x ->
ElasticLoadBalancer' <$>
(x .:? "SubnetIds" .!= mempty) <*> (x .:? "VpcId")
<*> (x .:? "AvailabilityZones" .!= mempty)
<*> (x .:? "Region")
<*> (x .:? "ElasticLoadBalancerName")
<*> (x .:? "StackId")
<*> (x .:? "Ec2InstanceIds" .!= mempty)
<*> (x .:? "LayerId")
<*> (x .:? "DnsName"))
instance Hashable ElasticLoadBalancer where
instance NFData ElasticLoadBalancer where
data EnvironmentVariable = EnvironmentVariable'
{ _evSecure :: !(Maybe Bool)
, _evKey :: !Text
, _evValue :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
environmentVariable
:: Text
-> Text
-> EnvironmentVariable
environmentVariable pKey_ pValue_ =
EnvironmentVariable' {_evSecure = Nothing, _evKey = pKey_, _evValue = pValue_}
evSecure :: Lens' EnvironmentVariable (Maybe Bool)
evSecure = lens _evSecure (\ s a -> s{_evSecure = a});
evKey :: Lens' EnvironmentVariable Text
evKey = lens _evKey (\ s a -> s{_evKey = a});
evValue :: Lens' EnvironmentVariable Text
evValue = lens _evValue (\ s a -> s{_evValue = a});
instance FromJSON EnvironmentVariable where
parseJSON
= withObject "EnvironmentVariable"
(\ x ->
EnvironmentVariable' <$>
(x .:? "Secure") <*> (x .: "Key") <*> (x .: "Value"))
instance Hashable EnvironmentVariable where
instance NFData EnvironmentVariable where
instance ToJSON EnvironmentVariable where
toJSON EnvironmentVariable'{..}
= object
(catMaybes
[("Secure" .=) <$> _evSecure, Just ("Key" .= _evKey),
Just ("Value" .= _evValue)])
data Instance = Instance'
{ _iPrivateDNS :: !(Maybe Text)
, _iReportedAgentVersion :: !(Maybe Text)
, _iInstanceId :: !(Maybe Text)
, _iStatus :: !(Maybe Text)
, _iPrivateIP :: !(Maybe Text)
, _iInstallUpdatesOnBoot :: !(Maybe Bool)
, _iVirtualizationType :: !(Maybe VirtualizationType)
, _iInstanceProfileARN :: !(Maybe Text)
, _iPlatform :: !(Maybe Text)
, _iHostname :: !(Maybe Text)
, _iSSHHostRsaKeyFingerprint :: !(Maybe Text)
, _iSecurityGroupIds :: !(Maybe [Text])
, _iEcsClusterARN :: !(Maybe Text)
, _iARN :: !(Maybe Text)
, _iCreatedAt :: !(Maybe Text)
, _iEC2InstanceId :: !(Maybe Text)
, _iSSHKeyName :: !(Maybe Text)
, _iAgentVersion :: !(Maybe Text)
, _iRootDeviceVolumeId :: !(Maybe Text)
, _iSubnetId :: !(Maybe Text)
, _iInfrastructureClass :: !(Maybe Text)
, _iSSHHostDsaKeyFingerprint :: !(Maybe Text)
, _iInstanceType :: !(Maybe Text)
, _iEBSOptimized :: !(Maybe Bool)
, _iElasticIP :: !(Maybe Text)
, _iOS :: !(Maybe Text)
, _iAvailabilityZone :: !(Maybe Text)
, _iLastServiceErrorId :: !(Maybe Text)
, _iTenancy :: !(Maybe Text)
, _iAutoScalingType :: !(Maybe AutoScalingType)
, _iLayerIds :: !(Maybe [Text])
, _iArchitecture :: !(Maybe Architecture)
, _iPublicDNS :: !(Maybe Text)
, _iAMIId :: !(Maybe Text)
, _iPublicIP :: !(Maybe Text)
, _iReportedOS :: !(Maybe ReportedOS)
, _iRegisteredBy :: !(Maybe Text)
, _iStackId :: !(Maybe Text)
, _iRootDeviceType :: !(Maybe RootDeviceType)
, _iEcsContainerInstanceARN :: !(Maybe Text)
, _iBlockDeviceMappings :: !(Maybe [BlockDeviceMapping])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
instance'
:: Instance
instance' =
Instance'
{ _iPrivateDNS = Nothing
, _iReportedAgentVersion = Nothing
, _iInstanceId = Nothing
, _iStatus = Nothing
, _iPrivateIP = Nothing
, _iInstallUpdatesOnBoot = Nothing
, _iVirtualizationType = Nothing
, _iInstanceProfileARN = Nothing
, _iPlatform = Nothing
, _iHostname = Nothing
, _iSSHHostRsaKeyFingerprint = Nothing
, _iSecurityGroupIds = Nothing
, _iEcsClusterARN = Nothing
, _iARN = Nothing
, _iCreatedAt = Nothing
, _iEC2InstanceId = Nothing
, _iSSHKeyName = Nothing
, _iAgentVersion = Nothing
, _iRootDeviceVolumeId = Nothing
, _iSubnetId = Nothing
, _iInfrastructureClass = Nothing
, _iSSHHostDsaKeyFingerprint = Nothing
, _iInstanceType = Nothing
, _iEBSOptimized = Nothing
, _iElasticIP = Nothing
, _iOS = Nothing
, _iAvailabilityZone = Nothing
, _iLastServiceErrorId = Nothing
, _iTenancy = Nothing
, _iAutoScalingType = Nothing
, _iLayerIds = Nothing
, _iArchitecture = Nothing
, _iPublicDNS = Nothing
, _iAMIId = Nothing
, _iPublicIP = Nothing
, _iReportedOS = Nothing
, _iRegisteredBy = Nothing
, _iStackId = Nothing
, _iRootDeviceType = Nothing
, _iEcsContainerInstanceARN = Nothing
, _iBlockDeviceMappings = Nothing
}
iPrivateDNS :: Lens' Instance (Maybe Text)
iPrivateDNS = lens _iPrivateDNS (\ s a -> s{_iPrivateDNS = a});
iReportedAgentVersion :: Lens' Instance (Maybe Text)
iReportedAgentVersion = lens _iReportedAgentVersion (\ s a -> s{_iReportedAgentVersion = a});
iInstanceId :: Lens' Instance (Maybe Text)
iInstanceId = lens _iInstanceId (\ s a -> s{_iInstanceId = a});
iStatus :: Lens' Instance (Maybe Text)
iStatus = lens _iStatus (\ s a -> s{_iStatus = a});
iPrivateIP :: Lens' Instance (Maybe Text)
iPrivateIP = lens _iPrivateIP (\ s a -> s{_iPrivateIP = a});
iInstallUpdatesOnBoot :: Lens' Instance (Maybe Bool)
iInstallUpdatesOnBoot = lens _iInstallUpdatesOnBoot (\ s a -> s{_iInstallUpdatesOnBoot = a});
iVirtualizationType :: Lens' Instance (Maybe VirtualizationType)
iVirtualizationType = lens _iVirtualizationType (\ s a -> s{_iVirtualizationType = a});
iInstanceProfileARN :: Lens' Instance (Maybe Text)
iInstanceProfileARN = lens _iInstanceProfileARN (\ s a -> s{_iInstanceProfileARN = a});
iPlatform :: Lens' Instance (Maybe Text)
iPlatform = lens _iPlatform (\ s a -> s{_iPlatform = a});
iHostname :: Lens' Instance (Maybe Text)
iHostname = lens _iHostname (\ s a -> s{_iHostname = a});
iSSHHostRsaKeyFingerprint :: Lens' Instance (Maybe Text)
iSSHHostRsaKeyFingerprint = lens _iSSHHostRsaKeyFingerprint (\ s a -> s{_iSSHHostRsaKeyFingerprint = a});
iSecurityGroupIds :: Lens' Instance [Text]
iSecurityGroupIds = lens _iSecurityGroupIds (\ s a -> s{_iSecurityGroupIds = a}) . _Default . _Coerce;
iEcsClusterARN :: Lens' Instance (Maybe Text)
iEcsClusterARN = lens _iEcsClusterARN (\ s a -> s{_iEcsClusterARN = a});
iARN :: Lens' Instance (Maybe Text)
iARN = lens _iARN (\ s a -> s{_iARN = a});
iCreatedAt :: Lens' Instance (Maybe Text)
iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a});
iEC2InstanceId :: Lens' Instance (Maybe Text)
iEC2InstanceId = lens _iEC2InstanceId (\ s a -> s{_iEC2InstanceId = a});
iSSHKeyName :: Lens' Instance (Maybe Text)
iSSHKeyName = lens _iSSHKeyName (\ s a -> s{_iSSHKeyName = a});
iAgentVersion :: Lens' Instance (Maybe Text)
iAgentVersion = lens _iAgentVersion (\ s a -> s{_iAgentVersion = a});
iRootDeviceVolumeId :: Lens' Instance (Maybe Text)
iRootDeviceVolumeId = lens _iRootDeviceVolumeId (\ s a -> s{_iRootDeviceVolumeId = a});
iSubnetId :: Lens' Instance (Maybe Text)
iSubnetId = lens _iSubnetId (\ s a -> s{_iSubnetId = a});
iInfrastructureClass :: Lens' Instance (Maybe Text)
iInfrastructureClass = lens _iInfrastructureClass (\ s a -> s{_iInfrastructureClass = a});
iSSHHostDsaKeyFingerprint :: Lens' Instance (Maybe Text)
iSSHHostDsaKeyFingerprint = lens _iSSHHostDsaKeyFingerprint (\ s a -> s{_iSSHHostDsaKeyFingerprint = a});
iInstanceType :: Lens' Instance (Maybe Text)
iInstanceType = lens _iInstanceType (\ s a -> s{_iInstanceType = a});
iEBSOptimized :: Lens' Instance (Maybe Bool)
iEBSOptimized = lens _iEBSOptimized (\ s a -> s{_iEBSOptimized = a});
iElasticIP :: Lens' Instance (Maybe Text)
iElasticIP = lens _iElasticIP (\ s a -> s{_iElasticIP = a});
iOS :: Lens' Instance (Maybe Text)
iOS = lens _iOS (\ s a -> s{_iOS = a});
iAvailabilityZone :: Lens' Instance (Maybe Text)
iAvailabilityZone = lens _iAvailabilityZone (\ s a -> s{_iAvailabilityZone = a});
iLastServiceErrorId :: Lens' Instance (Maybe Text)
iLastServiceErrorId = lens _iLastServiceErrorId (\ s a -> s{_iLastServiceErrorId = a});
iTenancy :: Lens' Instance (Maybe Text)
iTenancy = lens _iTenancy (\ s a -> s{_iTenancy = a});
iAutoScalingType :: Lens' Instance (Maybe AutoScalingType)
iAutoScalingType = lens _iAutoScalingType (\ s a -> s{_iAutoScalingType = a});
iLayerIds :: Lens' Instance [Text]
iLayerIds = lens _iLayerIds (\ s a -> s{_iLayerIds = a}) . _Default . _Coerce;
iArchitecture :: Lens' Instance (Maybe Architecture)
iArchitecture = lens _iArchitecture (\ s a -> s{_iArchitecture = a});
iPublicDNS :: Lens' Instance (Maybe Text)
iPublicDNS = lens _iPublicDNS (\ s a -> s{_iPublicDNS = a});
iAMIId :: Lens' Instance (Maybe Text)
iAMIId = lens _iAMIId (\ s a -> s{_iAMIId = a});
iPublicIP :: Lens' Instance (Maybe Text)
iPublicIP = lens _iPublicIP (\ s a -> s{_iPublicIP = a});
iReportedOS :: Lens' Instance (Maybe ReportedOS)
iReportedOS = lens _iReportedOS (\ s a -> s{_iReportedOS = a});
iRegisteredBy :: Lens' Instance (Maybe Text)
iRegisteredBy = lens _iRegisteredBy (\ s a -> s{_iRegisteredBy = a});
iStackId :: Lens' Instance (Maybe Text)
iStackId = lens _iStackId (\ s a -> s{_iStackId = a});
iRootDeviceType :: Lens' Instance (Maybe RootDeviceType)
iRootDeviceType = lens _iRootDeviceType (\ s a -> s{_iRootDeviceType = a});
iEcsContainerInstanceARN :: Lens' Instance (Maybe Text)
iEcsContainerInstanceARN = lens _iEcsContainerInstanceARN (\ s a -> s{_iEcsContainerInstanceARN = a});
iBlockDeviceMappings :: Lens' Instance [BlockDeviceMapping]
iBlockDeviceMappings = lens _iBlockDeviceMappings (\ s a -> s{_iBlockDeviceMappings = a}) . _Default . _Coerce;
instance FromJSON Instance where
parseJSON
= withObject "Instance"
(\ x ->
Instance' <$>
(x .:? "PrivateDns") <*>
(x .:? "ReportedAgentVersion")
<*> (x .:? "InstanceId")
<*> (x .:? "Status")
<*> (x .:? "PrivateIp")
<*> (x .:? "InstallUpdatesOnBoot")
<*> (x .:? "VirtualizationType")
<*> (x .:? "InstanceProfileArn")
<*> (x .:? "Platform")
<*> (x .:? "Hostname")
<*> (x .:? "SshHostRsaKeyFingerprint")
<*> (x .:? "SecurityGroupIds" .!= mempty)
<*> (x .:? "EcsClusterArn")
<*> (x .:? "Arn")
<*> (x .:? "CreatedAt")
<*> (x .:? "Ec2InstanceId")
<*> (x .:? "SshKeyName")
<*> (x .:? "AgentVersion")
<*> (x .:? "RootDeviceVolumeId")
<*> (x .:? "SubnetId")
<*> (x .:? "InfrastructureClass")
<*> (x .:? "SshHostDsaKeyFingerprint")
<*> (x .:? "InstanceType")
<*> (x .:? "EbsOptimized")
<*> (x .:? "ElasticIp")
<*> (x .:? "Os")
<*> (x .:? "AvailabilityZone")
<*> (x .:? "LastServiceErrorId")
<*> (x .:? "Tenancy")
<*> (x .:? "AutoScalingType")
<*> (x .:? "LayerIds" .!= mempty)
<*> (x .:? "Architecture")
<*> (x .:? "PublicDns")
<*> (x .:? "AmiId")
<*> (x .:? "PublicIp")
<*> (x .:? "ReportedOs")
<*> (x .:? "RegisteredBy")
<*> (x .:? "StackId")
<*> (x .:? "RootDeviceType")
<*> (x .:? "EcsContainerInstanceArn")
<*> (x .:? "BlockDeviceMappings" .!= mempty))
instance Hashable Instance where
instance NFData Instance where
data InstanceIdentity = InstanceIdentity'
{ _iiSignature :: !(Maybe Text)
, _iiDocument :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
instanceIdentity
:: InstanceIdentity
instanceIdentity =
InstanceIdentity' {_iiSignature = Nothing, _iiDocument = Nothing}
iiSignature :: Lens' InstanceIdentity (Maybe Text)
iiSignature = lens _iiSignature (\ s a -> s{_iiSignature = a});
iiDocument :: Lens' InstanceIdentity (Maybe Text)
iiDocument = lens _iiDocument (\ s a -> s{_iiDocument = a});
instance Hashable InstanceIdentity where
instance NFData InstanceIdentity where
instance ToJSON InstanceIdentity where
toJSON InstanceIdentity'{..}
= object
(catMaybes
[("Signature" .=) <$> _iiSignature,
("Document" .=) <$> _iiDocument])
data InstancesCount = InstancesCount'
{ _icTerminating :: !(Maybe Int)
, _icPending :: !(Maybe Int)
, _icOnline :: !(Maybe Int)
, _icUnassigning :: !(Maybe Int)
, _icDeregistering :: !(Maybe Int)
, _icRunningSetup :: !(Maybe Int)
, _icRequested :: !(Maybe Int)
, _icBooting :: !(Maybe Int)
, _icStopped :: !(Maybe Int)
, _icRebooting :: !(Maybe Int)
, _icAssigning :: !(Maybe Int)
, _icShuttingDown :: !(Maybe Int)
, _icSetupFailed :: !(Maybe Int)
, _icConnectionLost :: !(Maybe Int)
, _icTerminated :: !(Maybe Int)
, _icStopping :: !(Maybe Int)
, _icRegistered :: !(Maybe Int)
, _icStartFailed :: !(Maybe Int)
, _icRegistering :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
instancesCount
:: InstancesCount
instancesCount =
InstancesCount'
{ _icTerminating = Nothing
, _icPending = Nothing
, _icOnline = Nothing
, _icUnassigning = Nothing
, _icDeregistering = Nothing
, _icRunningSetup = Nothing
, _icRequested = Nothing
, _icBooting = Nothing
, _icStopped = Nothing
, _icRebooting = Nothing
, _icAssigning = Nothing
, _icShuttingDown = Nothing
, _icSetupFailed = Nothing
, _icConnectionLost = Nothing
, _icTerminated = Nothing
, _icStopping = Nothing
, _icRegistered = Nothing
, _icStartFailed = Nothing
, _icRegistering = Nothing
}
icTerminating :: Lens' InstancesCount (Maybe Int)
icTerminating = lens _icTerminating (\ s a -> s{_icTerminating = a});
icPending :: Lens' InstancesCount (Maybe Int)
icPending = lens _icPending (\ s a -> s{_icPending = a});
icOnline :: Lens' InstancesCount (Maybe Int)
icOnline = lens _icOnline (\ s a -> s{_icOnline = a});
icUnassigning :: Lens' InstancesCount (Maybe Int)
icUnassigning = lens _icUnassigning (\ s a -> s{_icUnassigning = a});
icDeregistering :: Lens' InstancesCount (Maybe Int)
icDeregistering = lens _icDeregistering (\ s a -> s{_icDeregistering = a});
icRunningSetup :: Lens' InstancesCount (Maybe Int)
icRunningSetup = lens _icRunningSetup (\ s a -> s{_icRunningSetup = a});
icRequested :: Lens' InstancesCount (Maybe Int)
icRequested = lens _icRequested (\ s a -> s{_icRequested = a});
icBooting :: Lens' InstancesCount (Maybe Int)
icBooting = lens _icBooting (\ s a -> s{_icBooting = a});
icStopped :: Lens' InstancesCount (Maybe Int)
icStopped = lens _icStopped (\ s a -> s{_icStopped = a});
icRebooting :: Lens' InstancesCount (Maybe Int)
icRebooting = lens _icRebooting (\ s a -> s{_icRebooting = a});
icAssigning :: Lens' InstancesCount (Maybe Int)
icAssigning = lens _icAssigning (\ s a -> s{_icAssigning = a});
icShuttingDown :: Lens' InstancesCount (Maybe Int)
icShuttingDown = lens _icShuttingDown (\ s a -> s{_icShuttingDown = a});
icSetupFailed :: Lens' InstancesCount (Maybe Int)
icSetupFailed = lens _icSetupFailed (\ s a -> s{_icSetupFailed = a});
icConnectionLost :: Lens' InstancesCount (Maybe Int)
icConnectionLost = lens _icConnectionLost (\ s a -> s{_icConnectionLost = a});
icTerminated :: Lens' InstancesCount (Maybe Int)
icTerminated = lens _icTerminated (\ s a -> s{_icTerminated = a});
icStopping :: Lens' InstancesCount (Maybe Int)
icStopping = lens _icStopping (\ s a -> s{_icStopping = a});
icRegistered :: Lens' InstancesCount (Maybe Int)
icRegistered = lens _icRegistered (\ s a -> s{_icRegistered = a});
icStartFailed :: Lens' InstancesCount (Maybe Int)
icStartFailed = lens _icStartFailed (\ s a -> s{_icStartFailed = a});
icRegistering :: Lens' InstancesCount (Maybe Int)
icRegistering = lens _icRegistering (\ s a -> s{_icRegistering = a});
instance FromJSON InstancesCount where
parseJSON
= withObject "InstancesCount"
(\ x ->
InstancesCount' <$>
(x .:? "Terminating") <*> (x .:? "Pending") <*>
(x .:? "Online")
<*> (x .:? "Unassigning")
<*> (x .:? "Deregistering")
<*> (x .:? "RunningSetup")
<*> (x .:? "Requested")
<*> (x .:? "Booting")
<*> (x .:? "Stopped")
<*> (x .:? "Rebooting")
<*> (x .:? "Assigning")
<*> (x .:? "ShuttingDown")
<*> (x .:? "SetupFailed")
<*> (x .:? "ConnectionLost")
<*> (x .:? "Terminated")
<*> (x .:? "Stopping")
<*> (x .:? "Registered")
<*> (x .:? "StartFailed")
<*> (x .:? "Registering"))
instance Hashable InstancesCount where
instance NFData InstancesCount where
data Layer = Layer'
{ _lCustomInstanceProfileARN :: !(Maybe Text)
, _lCustomSecurityGroupIds :: !(Maybe [Text])
, _lInstallUpdatesOnBoot :: !(Maybe Bool)
, _lCloudWatchLogsConfiguration :: !(Maybe CloudWatchLogsConfiguration)
, _lLifecycleEventConfiguration :: !(Maybe LifecycleEventConfiguration)
, _lARN :: !(Maybe Text)
, _lCreatedAt :: !(Maybe Text)
, _lShortname :: !(Maybe Text)
, _lDefaultRecipes :: !(Maybe Recipes)
, _lCustomRecipes :: !(Maybe Recipes)
, _lCustomJSON :: !(Maybe Text)
, _lVolumeConfigurations :: !(Maybe [VolumeConfiguration])
, _lEnableAutoHealing :: !(Maybe Bool)
, _lPackages :: !(Maybe [Text])
, _lAttributes :: !(Maybe (Map LayerAttributesKeys (Maybe Text)))
, _lName :: !(Maybe Text)
, _lAutoAssignPublicIPs :: !(Maybe Bool)
, _lType :: !(Maybe LayerType)
, _lUseEBSOptimizedInstances :: !(Maybe Bool)
, _lStackId :: !(Maybe Text)
, _lLayerId :: !(Maybe Text)
, _lDefaultSecurityGroupNames :: !(Maybe [Text])
, _lAutoAssignElasticIPs :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
layer
:: Layer
layer =
Layer'
{ _lCustomInstanceProfileARN = Nothing
, _lCustomSecurityGroupIds = Nothing
, _lInstallUpdatesOnBoot = Nothing
, _lCloudWatchLogsConfiguration = Nothing
, _lLifecycleEventConfiguration = Nothing
, _lARN = Nothing
, _lCreatedAt = Nothing
, _lShortname = Nothing
, _lDefaultRecipes = Nothing
, _lCustomRecipes = Nothing
, _lCustomJSON = Nothing
, _lVolumeConfigurations = Nothing
, _lEnableAutoHealing = Nothing
, _lPackages = Nothing
, _lAttributes = Nothing
, _lName = Nothing
, _lAutoAssignPublicIPs = Nothing
, _lType = Nothing
, _lUseEBSOptimizedInstances = Nothing
, _lStackId = Nothing
, _lLayerId = Nothing
, _lDefaultSecurityGroupNames = Nothing
, _lAutoAssignElasticIPs = Nothing
}
lCustomInstanceProfileARN :: Lens' Layer (Maybe Text)
lCustomInstanceProfileARN = lens _lCustomInstanceProfileARN (\ s a -> s{_lCustomInstanceProfileARN = a});
lCustomSecurityGroupIds :: Lens' Layer [Text]
lCustomSecurityGroupIds = lens _lCustomSecurityGroupIds (\ s a -> s{_lCustomSecurityGroupIds = a}) . _Default . _Coerce;
lInstallUpdatesOnBoot :: Lens' Layer (Maybe Bool)
lInstallUpdatesOnBoot = lens _lInstallUpdatesOnBoot (\ s a -> s{_lInstallUpdatesOnBoot = a});
lCloudWatchLogsConfiguration :: Lens' Layer (Maybe CloudWatchLogsConfiguration)
lCloudWatchLogsConfiguration = lens _lCloudWatchLogsConfiguration (\ s a -> s{_lCloudWatchLogsConfiguration = a});
lLifecycleEventConfiguration :: Lens' Layer (Maybe LifecycleEventConfiguration)
lLifecycleEventConfiguration = lens _lLifecycleEventConfiguration (\ s a -> s{_lLifecycleEventConfiguration = a});
lARN :: Lens' Layer (Maybe Text)
lARN = lens _lARN (\ s a -> s{_lARN = a});
lCreatedAt :: Lens' Layer (Maybe Text)
lCreatedAt = lens _lCreatedAt (\ s a -> s{_lCreatedAt = a});
lShortname :: Lens' Layer (Maybe Text)
lShortname = lens _lShortname (\ s a -> s{_lShortname = a});
lDefaultRecipes :: Lens' Layer (Maybe Recipes)
lDefaultRecipes = lens _lDefaultRecipes (\ s a -> s{_lDefaultRecipes = a});
lCustomRecipes :: Lens' Layer (Maybe Recipes)
lCustomRecipes = lens _lCustomRecipes (\ s a -> s{_lCustomRecipes = a});
lCustomJSON :: Lens' Layer (Maybe Text)
lCustomJSON = lens _lCustomJSON (\ s a -> s{_lCustomJSON = a});
lVolumeConfigurations :: Lens' Layer [VolumeConfiguration]
lVolumeConfigurations = lens _lVolumeConfigurations (\ s a -> s{_lVolumeConfigurations = a}) . _Default . _Coerce;
lEnableAutoHealing :: Lens' Layer (Maybe Bool)
lEnableAutoHealing = lens _lEnableAutoHealing (\ s a -> s{_lEnableAutoHealing = a});
lPackages :: Lens' Layer [Text]
lPackages = lens _lPackages (\ s a -> s{_lPackages = a}) . _Default . _Coerce;
lAttributes :: Lens' Layer (HashMap LayerAttributesKeys (Maybe Text))
lAttributes = lens _lAttributes (\ s a -> s{_lAttributes = a}) . _Default . _Map;
lName :: Lens' Layer (Maybe Text)
lName = lens _lName (\ s a -> s{_lName = a});
lAutoAssignPublicIPs :: Lens' Layer (Maybe Bool)
lAutoAssignPublicIPs = lens _lAutoAssignPublicIPs (\ s a -> s{_lAutoAssignPublicIPs = a});
lType :: Lens' Layer (Maybe LayerType)
lType = lens _lType (\ s a -> s{_lType = a});
lUseEBSOptimizedInstances :: Lens' Layer (Maybe Bool)
lUseEBSOptimizedInstances = lens _lUseEBSOptimizedInstances (\ s a -> s{_lUseEBSOptimizedInstances = a});
lStackId :: Lens' Layer (Maybe Text)
lStackId = lens _lStackId (\ s a -> s{_lStackId = a});
lLayerId :: Lens' Layer (Maybe Text)
lLayerId = lens _lLayerId (\ s a -> s{_lLayerId = a});
lDefaultSecurityGroupNames :: Lens' Layer [Text]
lDefaultSecurityGroupNames = lens _lDefaultSecurityGroupNames (\ s a -> s{_lDefaultSecurityGroupNames = a}) . _Default . _Coerce;
lAutoAssignElasticIPs :: Lens' Layer (Maybe Bool)
lAutoAssignElasticIPs = lens _lAutoAssignElasticIPs (\ s a -> s{_lAutoAssignElasticIPs = a});
instance FromJSON Layer where
parseJSON
= withObject "Layer"
(\ x ->
Layer' <$>
(x .:? "CustomInstanceProfileArn") <*>
(x .:? "CustomSecurityGroupIds" .!= mempty)
<*> (x .:? "InstallUpdatesOnBoot")
<*> (x .:? "CloudWatchLogsConfiguration")
<*> (x .:? "LifecycleEventConfiguration")
<*> (x .:? "Arn")
<*> (x .:? "CreatedAt")
<*> (x .:? "Shortname")
<*> (x .:? "DefaultRecipes")
<*> (x .:? "CustomRecipes")
<*> (x .:? "CustomJson")
<*> (x .:? "VolumeConfigurations" .!= mempty)
<*> (x .:? "EnableAutoHealing")
<*> (x .:? "Packages" .!= mempty)
<*> (x .:? "Attributes" .!= mempty)
<*> (x .:? "Name")
<*> (x .:? "AutoAssignPublicIps")
<*> (x .:? "Type")
<*> (x .:? "UseEbsOptimizedInstances")
<*> (x .:? "StackId")
<*> (x .:? "LayerId")
<*> (x .:? "DefaultSecurityGroupNames" .!= mempty)
<*> (x .:? "AutoAssignElasticIps"))
instance Hashable Layer where
instance NFData Layer where
newtype LifecycleEventConfiguration = LifecycleEventConfiguration'
{ _lecShutdown :: Maybe ShutdownEventConfiguration
} deriving (Eq, Read, Show, Data, Typeable, Generic)
lifecycleEventConfiguration
:: LifecycleEventConfiguration
lifecycleEventConfiguration =
LifecycleEventConfiguration' {_lecShutdown = Nothing}
lecShutdown :: Lens' LifecycleEventConfiguration (Maybe ShutdownEventConfiguration)
lecShutdown = lens _lecShutdown (\ s a -> s{_lecShutdown = a});
instance FromJSON LifecycleEventConfiguration where
parseJSON
= withObject "LifecycleEventConfiguration"
(\ x ->
LifecycleEventConfiguration' <$> (x .:? "Shutdown"))
instance Hashable LifecycleEventConfiguration where
instance NFData LifecycleEventConfiguration where
instance ToJSON LifecycleEventConfiguration where
toJSON LifecycleEventConfiguration'{..}
= object
(catMaybes [("Shutdown" .=) <$> _lecShutdown])
data LoadBasedAutoScalingConfiguration = LoadBasedAutoScalingConfiguration'
{ _lbascUpScaling :: !(Maybe AutoScalingThresholds)
, _lbascEnable :: !(Maybe Bool)
, _lbascDownScaling :: !(Maybe AutoScalingThresholds)
, _lbascLayerId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
loadBasedAutoScalingConfiguration
:: LoadBasedAutoScalingConfiguration
loadBasedAutoScalingConfiguration =
LoadBasedAutoScalingConfiguration'
{ _lbascUpScaling = Nothing
, _lbascEnable = Nothing
, _lbascDownScaling = Nothing
, _lbascLayerId = Nothing
}
lbascUpScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)
lbascUpScaling = lens _lbascUpScaling (\ s a -> s{_lbascUpScaling = a});
lbascEnable :: Lens' LoadBasedAutoScalingConfiguration (Maybe Bool)
lbascEnable = lens _lbascEnable (\ s a -> s{_lbascEnable = a});
lbascDownScaling :: Lens' LoadBasedAutoScalingConfiguration (Maybe AutoScalingThresholds)
lbascDownScaling = lens _lbascDownScaling (\ s a -> s{_lbascDownScaling = a});
lbascLayerId :: Lens' LoadBasedAutoScalingConfiguration (Maybe Text)
lbascLayerId = lens _lbascLayerId (\ s a -> s{_lbascLayerId = a});
instance FromJSON LoadBasedAutoScalingConfiguration
where
parseJSON
= withObject "LoadBasedAutoScalingConfiguration"
(\ x ->
LoadBasedAutoScalingConfiguration' <$>
(x .:? "UpScaling") <*> (x .:? "Enable") <*>
(x .:? "DownScaling")
<*> (x .:? "LayerId"))
instance Hashable LoadBasedAutoScalingConfiguration
where
instance NFData LoadBasedAutoScalingConfiguration
where
data Permission = Permission'
{ _pIAMUserARN :: !(Maybe Text)
, _pAllowSudo :: !(Maybe Bool)
, _pStackId :: !(Maybe Text)
, _pLevel :: !(Maybe Text)
, _pAllowSSH :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
permission
:: Permission
permission =
Permission'
{ _pIAMUserARN = Nothing
, _pAllowSudo = Nothing
, _pStackId = Nothing
, _pLevel = Nothing
, _pAllowSSH = Nothing
}
pIAMUserARN :: Lens' Permission (Maybe Text)
pIAMUserARN = lens _pIAMUserARN (\ s a -> s{_pIAMUserARN = a});
pAllowSudo :: Lens' Permission (Maybe Bool)
pAllowSudo = lens _pAllowSudo (\ s a -> s{_pAllowSudo = a});
pStackId :: Lens' Permission (Maybe Text)
pStackId = lens _pStackId (\ s a -> s{_pStackId = a});
pLevel :: Lens' Permission (Maybe Text)
pLevel = lens _pLevel (\ s a -> s{_pLevel = a});
pAllowSSH :: Lens' Permission (Maybe Bool)
pAllowSSH = lens _pAllowSSH (\ s a -> s{_pAllowSSH = a});
instance FromJSON Permission where
parseJSON
= withObject "Permission"
(\ x ->
Permission' <$>
(x .:? "IamUserArn") <*> (x .:? "AllowSudo") <*>
(x .:? "StackId")
<*> (x .:? "Level")
<*> (x .:? "AllowSsh"))
instance Hashable Permission where
instance NFData Permission where
data RAIdArray = RAIdArray'
{ _raiaInstanceId :: !(Maybe Text)
, _raiaSize :: !(Maybe Int)
, _raiaIOPS :: !(Maybe Int)
, _raiaCreatedAt :: !(Maybe Text)
, _raiaRAIdLevel :: !(Maybe Int)
, _raiaDevice :: !(Maybe Text)
, _raiaNumberOfDisks :: !(Maybe Int)
, _raiaAvailabilityZone :: !(Maybe Text)
, _raiaName :: !(Maybe Text)
, _raiaRAIdArrayId :: !(Maybe Text)
, _raiaVolumeType :: !(Maybe Text)
, _raiaStackId :: !(Maybe Text)
, _raiaMountPoint :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
rAIdArray
:: RAIdArray
rAIdArray =
RAIdArray'
{ _raiaInstanceId = Nothing
, _raiaSize = Nothing
, _raiaIOPS = Nothing
, _raiaCreatedAt = Nothing
, _raiaRAIdLevel = Nothing
, _raiaDevice = Nothing
, _raiaNumberOfDisks = Nothing
, _raiaAvailabilityZone = Nothing
, _raiaName = Nothing
, _raiaRAIdArrayId = Nothing
, _raiaVolumeType = Nothing
, _raiaStackId = Nothing
, _raiaMountPoint = Nothing
}
raiaInstanceId :: Lens' RAIdArray (Maybe Text)
raiaInstanceId = lens _raiaInstanceId (\ s a -> s{_raiaInstanceId = a});
raiaSize :: Lens' RAIdArray (Maybe Int)
raiaSize = lens _raiaSize (\ s a -> s{_raiaSize = a});
raiaIOPS :: Lens' RAIdArray (Maybe Int)
raiaIOPS = lens _raiaIOPS (\ s a -> s{_raiaIOPS = a});
raiaCreatedAt :: Lens' RAIdArray (Maybe Text)
raiaCreatedAt = lens _raiaCreatedAt (\ s a -> s{_raiaCreatedAt = a});
raiaRAIdLevel :: Lens' RAIdArray (Maybe Int)
raiaRAIdLevel = lens _raiaRAIdLevel (\ s a -> s{_raiaRAIdLevel = a});
raiaDevice :: Lens' RAIdArray (Maybe Text)
raiaDevice = lens _raiaDevice (\ s a -> s{_raiaDevice = a});
raiaNumberOfDisks :: Lens' RAIdArray (Maybe Int)
raiaNumberOfDisks = lens _raiaNumberOfDisks (\ s a -> s{_raiaNumberOfDisks = a});
raiaAvailabilityZone :: Lens' RAIdArray (Maybe Text)
raiaAvailabilityZone = lens _raiaAvailabilityZone (\ s a -> s{_raiaAvailabilityZone = a});
raiaName :: Lens' RAIdArray (Maybe Text)
raiaName = lens _raiaName (\ s a -> s{_raiaName = a});
raiaRAIdArrayId :: Lens' RAIdArray (Maybe Text)
raiaRAIdArrayId = lens _raiaRAIdArrayId (\ s a -> s{_raiaRAIdArrayId = a});
raiaVolumeType :: Lens' RAIdArray (Maybe Text)
raiaVolumeType = lens _raiaVolumeType (\ s a -> s{_raiaVolumeType = a});
raiaStackId :: Lens' RAIdArray (Maybe Text)
raiaStackId = lens _raiaStackId (\ s a -> s{_raiaStackId = a});
raiaMountPoint :: Lens' RAIdArray (Maybe Text)
raiaMountPoint = lens _raiaMountPoint (\ s a -> s{_raiaMountPoint = a});
instance FromJSON RAIdArray where
parseJSON
= withObject "RAIdArray"
(\ x ->
RAIdArray' <$>
(x .:? "InstanceId") <*> (x .:? "Size") <*>
(x .:? "Iops")
<*> (x .:? "CreatedAt")
<*> (x .:? "RaidLevel")
<*> (x .:? "Device")
<*> (x .:? "NumberOfDisks")
<*> (x .:? "AvailabilityZone")
<*> (x .:? "Name")
<*> (x .:? "RaidArrayId")
<*> (x .:? "VolumeType")
<*> (x .:? "StackId")
<*> (x .:? "MountPoint"))
instance Hashable RAIdArray where
instance NFData RAIdArray where
data RDSDBInstance = RDSDBInstance'
{ _rdiRDSDBInstanceARN :: !(Maybe Text)
, _rdiDBUser :: !(Maybe Text)
, _rdiMissingOnRDS :: !(Maybe Bool)
, _rdiEngine :: !(Maybe Text)
, _rdiAddress :: !(Maybe Text)
, _rdiDBInstanceIdentifier :: !(Maybe Text)
, _rdiRegion :: !(Maybe Text)
, _rdiStackId :: !(Maybe Text)
, _rdiDBPassword :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
rdsDBInstance
:: RDSDBInstance
rdsDBInstance =
RDSDBInstance'
{ _rdiRDSDBInstanceARN = Nothing
, _rdiDBUser = Nothing
, _rdiMissingOnRDS = Nothing
, _rdiEngine = Nothing
, _rdiAddress = Nothing
, _rdiDBInstanceIdentifier = Nothing
, _rdiRegion = Nothing
, _rdiStackId = Nothing
, _rdiDBPassword = Nothing
}
rdiRDSDBInstanceARN :: Lens' RDSDBInstance (Maybe Text)
rdiRDSDBInstanceARN = lens _rdiRDSDBInstanceARN (\ s a -> s{_rdiRDSDBInstanceARN = a});
rdiDBUser :: Lens' RDSDBInstance (Maybe Text)
rdiDBUser = lens _rdiDBUser (\ s a -> s{_rdiDBUser = a});
rdiMissingOnRDS :: Lens' RDSDBInstance (Maybe Bool)
rdiMissingOnRDS = lens _rdiMissingOnRDS (\ s a -> s{_rdiMissingOnRDS = a});
rdiEngine :: Lens' RDSDBInstance (Maybe Text)
rdiEngine = lens _rdiEngine (\ s a -> s{_rdiEngine = a});
rdiAddress :: Lens' RDSDBInstance (Maybe Text)
rdiAddress = lens _rdiAddress (\ s a -> s{_rdiAddress = a});
rdiDBInstanceIdentifier :: Lens' RDSDBInstance (Maybe Text)
rdiDBInstanceIdentifier = lens _rdiDBInstanceIdentifier (\ s a -> s{_rdiDBInstanceIdentifier = a});
rdiRegion :: Lens' RDSDBInstance (Maybe Text)
rdiRegion = lens _rdiRegion (\ s a -> s{_rdiRegion = a});
rdiStackId :: Lens' RDSDBInstance (Maybe Text)
rdiStackId = lens _rdiStackId (\ s a -> s{_rdiStackId = a});
rdiDBPassword :: Lens' RDSDBInstance (Maybe Text)
rdiDBPassword = lens _rdiDBPassword (\ s a -> s{_rdiDBPassword = a});
instance FromJSON RDSDBInstance where
parseJSON
= withObject "RDSDBInstance"
(\ x ->
RDSDBInstance' <$>
(x .:? "RdsDbInstanceArn") <*> (x .:? "DbUser") <*>
(x .:? "MissingOnRds")
<*> (x .:? "Engine")
<*> (x .:? "Address")
<*> (x .:? "DbInstanceIdentifier")
<*> (x .:? "Region")
<*> (x .:? "StackId")
<*> (x .:? "DbPassword"))
instance Hashable RDSDBInstance where
instance NFData RDSDBInstance where
data Recipes = Recipes'
{ _rSetup :: !(Maybe [Text])
, _rShutdown :: !(Maybe [Text])
, _rUndeploy :: !(Maybe [Text])
, _rConfigure :: !(Maybe [Text])
, _rDeploy :: !(Maybe [Text])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
recipes
:: Recipes
recipes =
Recipes'
{ _rSetup = Nothing
, _rShutdown = Nothing
, _rUndeploy = Nothing
, _rConfigure = Nothing
, _rDeploy = Nothing
}
rSetup :: Lens' Recipes [Text]
rSetup = lens _rSetup (\ s a -> s{_rSetup = a}) . _Default . _Coerce;
rShutdown :: Lens' Recipes [Text]
rShutdown = lens _rShutdown (\ s a -> s{_rShutdown = a}) . _Default . _Coerce;
rUndeploy :: Lens' Recipes [Text]
rUndeploy = lens _rUndeploy (\ s a -> s{_rUndeploy = a}) . _Default . _Coerce;
rConfigure :: Lens' Recipes [Text]
rConfigure = lens _rConfigure (\ s a -> s{_rConfigure = a}) . _Default . _Coerce;
rDeploy :: Lens' Recipes [Text]
rDeploy = lens _rDeploy (\ s a -> s{_rDeploy = a}) . _Default . _Coerce;
instance FromJSON Recipes where
parseJSON
= withObject "Recipes"
(\ x ->
Recipes' <$>
(x .:? "Setup" .!= mempty) <*>
(x .:? "Shutdown" .!= mempty)
<*> (x .:? "Undeploy" .!= mempty)
<*> (x .:? "Configure" .!= mempty)
<*> (x .:? "Deploy" .!= mempty))
instance Hashable Recipes where
instance NFData Recipes where
instance ToJSON Recipes where
toJSON Recipes'{..}
= object
(catMaybes
[("Setup" .=) <$> _rSetup,
("Shutdown" .=) <$> _rShutdown,
("Undeploy" .=) <$> _rUndeploy,
("Configure" .=) <$> _rConfigure,
("Deploy" .=) <$> _rDeploy])
data ReportedOS = ReportedOS'
{ _roFamily :: !(Maybe Text)
, _roName :: !(Maybe Text)
, _roVersion :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
reportedOS
:: ReportedOS
reportedOS =
ReportedOS' {_roFamily = Nothing, _roName = Nothing, _roVersion = Nothing}
roFamily :: Lens' ReportedOS (Maybe Text)
roFamily = lens _roFamily (\ s a -> s{_roFamily = a});
roName :: Lens' ReportedOS (Maybe Text)
roName = lens _roName (\ s a -> s{_roName = a});
roVersion :: Lens' ReportedOS (Maybe Text)
roVersion = lens _roVersion (\ s a -> s{_roVersion = a});
instance FromJSON ReportedOS where
parseJSON
= withObject "ReportedOS"
(\ x ->
ReportedOS' <$>
(x .:? "Family") <*> (x .:? "Name") <*>
(x .:? "Version"))
instance Hashable ReportedOS where
instance NFData ReportedOS where
data SSLConfiguration = SSLConfiguration'
{ _scChain :: !(Maybe Text)
, _scCertificate :: !Text
, _scPrivateKey :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
sslConfiguration
:: Text
-> Text
-> SSLConfiguration
sslConfiguration pCertificate_ pPrivateKey_ =
SSLConfiguration'
{ _scChain = Nothing
, _scCertificate = pCertificate_
, _scPrivateKey = pPrivateKey_
}
scChain :: Lens' SSLConfiguration (Maybe Text)
scChain = lens _scChain (\ s a -> s{_scChain = a});
scCertificate :: Lens' SSLConfiguration Text
scCertificate = lens _scCertificate (\ s a -> s{_scCertificate = a});
scPrivateKey :: Lens' SSLConfiguration Text
scPrivateKey = lens _scPrivateKey (\ s a -> s{_scPrivateKey = a});
instance FromJSON SSLConfiguration where
parseJSON
= withObject "SSLConfiguration"
(\ x ->
SSLConfiguration' <$>
(x .:? "Chain") <*> (x .: "Certificate") <*>
(x .: "PrivateKey"))
instance Hashable SSLConfiguration where
instance NFData SSLConfiguration where
instance ToJSON SSLConfiguration where
toJSON SSLConfiguration'{..}
= object
(catMaybes
[("Chain" .=) <$> _scChain,
Just ("Certificate" .= _scCertificate),
Just ("PrivateKey" .= _scPrivateKey)])
data SelfUserProfile = SelfUserProfile'
{ _supSSHPublicKey :: !(Maybe Text)
, _supSSHUsername :: !(Maybe Text)
, _supIAMUserARN :: !(Maybe Text)
, _supName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
selfUserProfile
:: SelfUserProfile
selfUserProfile =
SelfUserProfile'
{ _supSSHPublicKey = Nothing
, _supSSHUsername = Nothing
, _supIAMUserARN = Nothing
, _supName = Nothing
}
supSSHPublicKey :: Lens' SelfUserProfile (Maybe Text)
supSSHPublicKey = lens _supSSHPublicKey (\ s a -> s{_supSSHPublicKey = a});
supSSHUsername :: Lens' SelfUserProfile (Maybe Text)
supSSHUsername = lens _supSSHUsername (\ s a -> s{_supSSHUsername = a});
supIAMUserARN :: Lens' SelfUserProfile (Maybe Text)
supIAMUserARN = lens _supIAMUserARN (\ s a -> s{_supIAMUserARN = a});
supName :: Lens' SelfUserProfile (Maybe Text)
supName = lens _supName (\ s a -> s{_supName = a});
instance FromJSON SelfUserProfile where
parseJSON
= withObject "SelfUserProfile"
(\ x ->
SelfUserProfile' <$>
(x .:? "SshPublicKey") <*> (x .:? "SshUsername") <*>
(x .:? "IamUserArn")
<*> (x .:? "Name"))
instance Hashable SelfUserProfile where
instance NFData SelfUserProfile where
data ServiceError' = ServiceError''
{ _seInstanceId :: !(Maybe Text)
, _seCreatedAt :: !(Maybe Text)
, _seServiceErrorId :: !(Maybe Text)
, _seType :: !(Maybe Text)
, _seStackId :: !(Maybe Text)
, _seMessage :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
serviceError'
:: ServiceError'
serviceError' =
ServiceError''
{ _seInstanceId = Nothing
, _seCreatedAt = Nothing
, _seServiceErrorId = Nothing
, _seType = Nothing
, _seStackId = Nothing
, _seMessage = Nothing
}
seInstanceId :: Lens' ServiceError' (Maybe Text)
seInstanceId = lens _seInstanceId (\ s a -> s{_seInstanceId = a});
seCreatedAt :: Lens' ServiceError' (Maybe Text)
seCreatedAt = lens _seCreatedAt (\ s a -> s{_seCreatedAt = a});
seServiceErrorId :: Lens' ServiceError' (Maybe Text)
seServiceErrorId = lens _seServiceErrorId (\ s a -> s{_seServiceErrorId = a});
seType :: Lens' ServiceError' (Maybe Text)
seType = lens _seType (\ s a -> s{_seType = a});
seStackId :: Lens' ServiceError' (Maybe Text)
seStackId = lens _seStackId (\ s a -> s{_seStackId = a});
seMessage :: Lens' ServiceError' (Maybe Text)
seMessage = lens _seMessage (\ s a -> s{_seMessage = a});
instance FromJSON ServiceError' where
parseJSON
= withObject "ServiceError'"
(\ x ->
ServiceError'' <$>
(x .:? "InstanceId") <*> (x .:? "CreatedAt") <*>
(x .:? "ServiceErrorId")
<*> (x .:? "Type")
<*> (x .:? "StackId")
<*> (x .:? "Message"))
instance Hashable ServiceError' where
instance NFData ServiceError' where
data ShutdownEventConfiguration = ShutdownEventConfiguration'
{ _secExecutionTimeout :: !(Maybe Int)
, _secDelayUntilElbConnectionsDrained :: !(Maybe Bool)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
shutdownEventConfiguration
:: ShutdownEventConfiguration
shutdownEventConfiguration =
ShutdownEventConfiguration'
{ _secExecutionTimeout = Nothing
, _secDelayUntilElbConnectionsDrained = Nothing
}
secExecutionTimeout :: Lens' ShutdownEventConfiguration (Maybe Int)
secExecutionTimeout = lens _secExecutionTimeout (\ s a -> s{_secExecutionTimeout = a});
secDelayUntilElbConnectionsDrained :: Lens' ShutdownEventConfiguration (Maybe Bool)
secDelayUntilElbConnectionsDrained = lens _secDelayUntilElbConnectionsDrained (\ s a -> s{_secDelayUntilElbConnectionsDrained = a});
instance FromJSON ShutdownEventConfiguration where
parseJSON
= withObject "ShutdownEventConfiguration"
(\ x ->
ShutdownEventConfiguration' <$>
(x .:? "ExecutionTimeout") <*>
(x .:? "DelayUntilElbConnectionsDrained"))
instance Hashable ShutdownEventConfiguration where
instance NFData ShutdownEventConfiguration where
instance ToJSON ShutdownEventConfiguration where
toJSON ShutdownEventConfiguration'{..}
= object
(catMaybes
[("ExecutionTimeout" .=) <$> _secExecutionTimeout,
("DelayUntilElbConnectionsDrained" .=) <$>
_secDelayUntilElbConnectionsDrained])
data Source = Source'
{ _sURL :: !(Maybe Text)
, _sUsername :: !(Maybe Text)
, _sSSHKey :: !(Maybe Text)
, _sPassword :: !(Maybe Text)
, _sType :: !(Maybe SourceType)
, _sRevision :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
source
:: Source
source =
Source'
{ _sURL = Nothing
, _sUsername = Nothing
, _sSSHKey = Nothing
, _sPassword = Nothing
, _sType = Nothing
, _sRevision = Nothing
}
sURL :: Lens' Source (Maybe Text)
sURL = lens _sURL (\ s a -> s{_sURL = a});
sUsername :: Lens' Source (Maybe Text)
sUsername = lens _sUsername (\ s a -> s{_sUsername = a});
sSSHKey :: Lens' Source (Maybe Text)
sSSHKey = lens _sSSHKey (\ s a -> s{_sSSHKey = a});
sPassword :: Lens' Source (Maybe Text)
sPassword = lens _sPassword (\ s a -> s{_sPassword = a});
sType :: Lens' Source (Maybe SourceType)
sType = lens _sType (\ s a -> s{_sType = a});
sRevision :: Lens' Source (Maybe Text)
sRevision = lens _sRevision (\ s a -> s{_sRevision = a});
instance FromJSON Source where
parseJSON
= withObject "Source"
(\ x ->
Source' <$>
(x .:? "Url") <*> (x .:? "Username") <*>
(x .:? "SshKey")
<*> (x .:? "Password")
<*> (x .:? "Type")
<*> (x .:? "Revision"))
instance Hashable Source where
instance NFData Source where
instance ToJSON Source where
toJSON Source'{..}
= object
(catMaybes
[("Url" .=) <$> _sURL,
("Username" .=) <$> _sUsername,
("SshKey" .=) <$> _sSSHKey,
("Password" .=) <$> _sPassword,
("Type" .=) <$> _sType,
("Revision" .=) <$> _sRevision])
data Stack = Stack'
{ _sDefaultInstanceProfileARN :: !(Maybe Text)
, _sServiceRoleARN :: !(Maybe Text)
, _sDefaultRootDeviceType :: !(Maybe RootDeviceType)
, _sARN :: !(Maybe Text)
, _sCreatedAt :: !(Maybe Text)
, _sVPCId :: !(Maybe Text)
, _sChefConfiguration :: !(Maybe ChefConfiguration)
, _sAgentVersion :: !(Maybe Text)
, _sDefaultSSHKeyName :: !(Maybe Text)
, _sCustomJSON :: !(Maybe Text)
, _sCustomCookbooksSource :: !(Maybe Source)
, _sDefaultAvailabilityZone :: !(Maybe Text)
, _sAttributes :: !(Maybe (Map StackAttributesKeys Text))
, _sName :: !(Maybe Text)
, _sDefaultOS :: !(Maybe Text)
, _sUseOpsworksSecurityGroups :: !(Maybe Bool)
, _sUseCustomCookbooks :: !(Maybe Bool)
, _sDefaultSubnetId :: !(Maybe Text)
, _sRegion :: !(Maybe Text)
, _sConfigurationManager :: !(Maybe StackConfigurationManager)
, _sStackId :: !(Maybe Text)
, _sHostnameTheme :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
stack
:: Stack
stack =
Stack'
{ _sDefaultInstanceProfileARN = Nothing
, _sServiceRoleARN = Nothing
, _sDefaultRootDeviceType = Nothing
, _sARN = Nothing
, _sCreatedAt = Nothing
, _sVPCId = Nothing
, _sChefConfiguration = Nothing
, _sAgentVersion = Nothing
, _sDefaultSSHKeyName = Nothing
, _sCustomJSON = Nothing
, _sCustomCookbooksSource = Nothing
, _sDefaultAvailabilityZone = Nothing
, _sAttributes = Nothing
, _sName = Nothing
, _sDefaultOS = Nothing
, _sUseOpsworksSecurityGroups = Nothing
, _sUseCustomCookbooks = Nothing
, _sDefaultSubnetId = Nothing
, _sRegion = Nothing
, _sConfigurationManager = Nothing
, _sStackId = Nothing
, _sHostnameTheme = Nothing
}
sDefaultInstanceProfileARN :: Lens' Stack (Maybe Text)
sDefaultInstanceProfileARN = lens _sDefaultInstanceProfileARN (\ s a -> s{_sDefaultInstanceProfileARN = a});
sServiceRoleARN :: Lens' Stack (Maybe Text)
sServiceRoleARN = lens _sServiceRoleARN (\ s a -> s{_sServiceRoleARN = a});
sDefaultRootDeviceType :: Lens' Stack (Maybe RootDeviceType)
sDefaultRootDeviceType = lens _sDefaultRootDeviceType (\ s a -> s{_sDefaultRootDeviceType = a});
sARN :: Lens' Stack (Maybe Text)
sARN = lens _sARN (\ s a -> s{_sARN = a});
sCreatedAt :: Lens' Stack (Maybe Text)
sCreatedAt = lens _sCreatedAt (\ s a -> s{_sCreatedAt = a});
sVPCId :: Lens' Stack (Maybe Text)
sVPCId = lens _sVPCId (\ s a -> s{_sVPCId = a});
sChefConfiguration :: Lens' Stack (Maybe ChefConfiguration)
sChefConfiguration = lens _sChefConfiguration (\ s a -> s{_sChefConfiguration = a});
sAgentVersion :: Lens' Stack (Maybe Text)
sAgentVersion = lens _sAgentVersion (\ s a -> s{_sAgentVersion = a});
sDefaultSSHKeyName :: Lens' Stack (Maybe Text)
sDefaultSSHKeyName = lens _sDefaultSSHKeyName (\ s a -> s{_sDefaultSSHKeyName = a});
sCustomJSON :: Lens' Stack (Maybe Text)
sCustomJSON = lens _sCustomJSON (\ s a -> s{_sCustomJSON = a});
sCustomCookbooksSource :: Lens' Stack (Maybe Source)
sCustomCookbooksSource = lens _sCustomCookbooksSource (\ s a -> s{_sCustomCookbooksSource = a});
sDefaultAvailabilityZone :: Lens' Stack (Maybe Text)
sDefaultAvailabilityZone = lens _sDefaultAvailabilityZone (\ s a -> s{_sDefaultAvailabilityZone = a});
sAttributes :: Lens' Stack (HashMap StackAttributesKeys Text)
sAttributes = lens _sAttributes (\ s a -> s{_sAttributes = a}) . _Default . _Map;
sName :: Lens' Stack (Maybe Text)
sName = lens _sName (\ s a -> s{_sName = a});
sDefaultOS :: Lens' Stack (Maybe Text)
sDefaultOS = lens _sDefaultOS (\ s a -> s{_sDefaultOS = a});
sUseOpsworksSecurityGroups :: Lens' Stack (Maybe Bool)
sUseOpsworksSecurityGroups = lens _sUseOpsworksSecurityGroups (\ s a -> s{_sUseOpsworksSecurityGroups = a});
sUseCustomCookbooks :: Lens' Stack (Maybe Bool)
sUseCustomCookbooks = lens _sUseCustomCookbooks (\ s a -> s{_sUseCustomCookbooks = a});
sDefaultSubnetId :: Lens' Stack (Maybe Text)
sDefaultSubnetId = lens _sDefaultSubnetId (\ s a -> s{_sDefaultSubnetId = a});
sRegion :: Lens' Stack (Maybe Text)
sRegion = lens _sRegion (\ s a -> s{_sRegion = a});
sConfigurationManager :: Lens' Stack (Maybe StackConfigurationManager)
sConfigurationManager = lens _sConfigurationManager (\ s a -> s{_sConfigurationManager = a});
sStackId :: Lens' Stack (Maybe Text)
sStackId = lens _sStackId (\ s a -> s{_sStackId = a});
sHostnameTheme :: Lens' Stack (Maybe Text)
sHostnameTheme = lens _sHostnameTheme (\ s a -> s{_sHostnameTheme = a});
instance FromJSON Stack where
parseJSON
= withObject "Stack"
(\ x ->
Stack' <$>
(x .:? "DefaultInstanceProfileArn") <*>
(x .:? "ServiceRoleArn")
<*> (x .:? "DefaultRootDeviceType")
<*> (x .:? "Arn")
<*> (x .:? "CreatedAt")
<*> (x .:? "VpcId")
<*> (x .:? "ChefConfiguration")
<*> (x .:? "AgentVersion")
<*> (x .:? "DefaultSshKeyName")
<*> (x .:? "CustomJson")
<*> (x .:? "CustomCookbooksSource")
<*> (x .:? "DefaultAvailabilityZone")
<*> (x .:? "Attributes" .!= mempty)
<*> (x .:? "Name")
<*> (x .:? "DefaultOs")
<*> (x .:? "UseOpsworksSecurityGroups")
<*> (x .:? "UseCustomCookbooks")
<*> (x .:? "DefaultSubnetId")
<*> (x .:? "Region")
<*> (x .:? "ConfigurationManager")
<*> (x .:? "StackId")
<*> (x .:? "HostnameTheme"))
instance Hashable Stack where
instance NFData Stack where
data StackConfigurationManager = StackConfigurationManager'
{ _scmName :: !(Maybe Text)
, _scmVersion :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
stackConfigurationManager
:: StackConfigurationManager
stackConfigurationManager =
StackConfigurationManager' {_scmName = Nothing, _scmVersion = Nothing}
scmName :: Lens' StackConfigurationManager (Maybe Text)
scmName = lens _scmName (\ s a -> s{_scmName = a});
scmVersion :: Lens' StackConfigurationManager (Maybe Text)
scmVersion = lens _scmVersion (\ s a -> s{_scmVersion = a});
instance FromJSON StackConfigurationManager where
parseJSON
= withObject "StackConfigurationManager"
(\ x ->
StackConfigurationManager' <$>
(x .:? "Name") <*> (x .:? "Version"))
instance Hashable StackConfigurationManager where
instance NFData StackConfigurationManager where
instance ToJSON StackConfigurationManager where
toJSON StackConfigurationManager'{..}
= object
(catMaybes
[("Name" .=) <$> _scmName,
("Version" .=) <$> _scmVersion])
data StackSummary = StackSummary'
{ _ssARN :: !(Maybe Text)
, _ssAppsCount :: !(Maybe Int)
, _ssName :: !(Maybe Text)
, _ssStackId :: !(Maybe Text)
, _ssLayersCount :: !(Maybe Int)
, _ssInstancesCount :: !(Maybe InstancesCount)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
stackSummary
:: StackSummary
stackSummary =
StackSummary'
{ _ssARN = Nothing
, _ssAppsCount = Nothing
, _ssName = Nothing
, _ssStackId = Nothing
, _ssLayersCount = Nothing
, _ssInstancesCount = Nothing
}
ssARN :: Lens' StackSummary (Maybe Text)
ssARN = lens _ssARN (\ s a -> s{_ssARN = a});
ssAppsCount :: Lens' StackSummary (Maybe Int)
ssAppsCount = lens _ssAppsCount (\ s a -> s{_ssAppsCount = a});
ssName :: Lens' StackSummary (Maybe Text)
ssName = lens _ssName (\ s a -> s{_ssName = a});
ssStackId :: Lens' StackSummary (Maybe Text)
ssStackId = lens _ssStackId (\ s a -> s{_ssStackId = a});
ssLayersCount :: Lens' StackSummary (Maybe Int)
ssLayersCount = lens _ssLayersCount (\ s a -> s{_ssLayersCount = a});
ssInstancesCount :: Lens' StackSummary (Maybe InstancesCount)
ssInstancesCount = lens _ssInstancesCount (\ s a -> s{_ssInstancesCount = a});
instance FromJSON StackSummary where
parseJSON
= withObject "StackSummary"
(\ x ->
StackSummary' <$>
(x .:? "Arn") <*> (x .:? "AppsCount") <*>
(x .:? "Name")
<*> (x .:? "StackId")
<*> (x .:? "LayersCount")
<*> (x .:? "InstancesCount"))
instance Hashable StackSummary where
instance NFData StackSummary where
data TemporaryCredential = TemporaryCredential'
{ _tcInstanceId :: !(Maybe Text)
, _tcUsername :: !(Maybe Text)
, _tcPassword :: !(Maybe Text)
, _tcValidForInMinutes :: !(Maybe Int)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
temporaryCredential
:: TemporaryCredential
temporaryCredential =
TemporaryCredential'
{ _tcInstanceId = Nothing
, _tcUsername = Nothing
, _tcPassword = Nothing
, _tcValidForInMinutes = Nothing
}
tcInstanceId :: Lens' TemporaryCredential (Maybe Text)
tcInstanceId = lens _tcInstanceId (\ s a -> s{_tcInstanceId = a});
tcUsername :: Lens' TemporaryCredential (Maybe Text)
tcUsername = lens _tcUsername (\ s a -> s{_tcUsername = a});
tcPassword :: Lens' TemporaryCredential (Maybe Text)
tcPassword = lens _tcPassword (\ s a -> s{_tcPassword = a});
tcValidForInMinutes :: Lens' TemporaryCredential (Maybe Int)
tcValidForInMinutes = lens _tcValidForInMinutes (\ s a -> s{_tcValidForInMinutes = a});
instance FromJSON TemporaryCredential where
parseJSON
= withObject "TemporaryCredential"
(\ x ->
TemporaryCredential' <$>
(x .:? "InstanceId") <*> (x .:? "Username") <*>
(x .:? "Password")
<*> (x .:? "ValidForInMinutes"))
instance Hashable TemporaryCredential where
instance NFData TemporaryCredential where
data TimeBasedAutoScalingConfiguration = TimeBasedAutoScalingConfiguration'
{ _tbascInstanceId :: !(Maybe Text)
, _tbascAutoScalingSchedule :: !(Maybe WeeklyAutoScalingSchedule)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
timeBasedAutoScalingConfiguration
:: TimeBasedAutoScalingConfiguration
timeBasedAutoScalingConfiguration =
TimeBasedAutoScalingConfiguration'
{_tbascInstanceId = Nothing, _tbascAutoScalingSchedule = Nothing}
tbascInstanceId :: Lens' TimeBasedAutoScalingConfiguration (Maybe Text)
tbascInstanceId = lens _tbascInstanceId (\ s a -> s{_tbascInstanceId = a});
tbascAutoScalingSchedule :: Lens' TimeBasedAutoScalingConfiguration (Maybe WeeklyAutoScalingSchedule)
tbascAutoScalingSchedule = lens _tbascAutoScalingSchedule (\ s a -> s{_tbascAutoScalingSchedule = a});
instance FromJSON TimeBasedAutoScalingConfiguration
where
parseJSON
= withObject "TimeBasedAutoScalingConfiguration"
(\ x ->
TimeBasedAutoScalingConfiguration' <$>
(x .:? "InstanceId") <*>
(x .:? "AutoScalingSchedule"))
instance Hashable TimeBasedAutoScalingConfiguration
where
instance NFData TimeBasedAutoScalingConfiguration
where
data UserProfile = UserProfile'
{ _upAllowSelfManagement :: !(Maybe Bool)
, _upSSHPublicKey :: !(Maybe Text)
, _upSSHUsername :: !(Maybe Text)
, _upIAMUserARN :: !(Maybe Text)
, _upName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
userProfile
:: UserProfile
userProfile =
UserProfile'
{ _upAllowSelfManagement = Nothing
, _upSSHPublicKey = Nothing
, _upSSHUsername = Nothing
, _upIAMUserARN = Nothing
, _upName = Nothing
}
upAllowSelfManagement :: Lens' UserProfile (Maybe Bool)
upAllowSelfManagement = lens _upAllowSelfManagement (\ s a -> s{_upAllowSelfManagement = a});
upSSHPublicKey :: Lens' UserProfile (Maybe Text)
upSSHPublicKey = lens _upSSHPublicKey (\ s a -> s{_upSSHPublicKey = a});
upSSHUsername :: Lens' UserProfile (Maybe Text)
upSSHUsername = lens _upSSHUsername (\ s a -> s{_upSSHUsername = a});
upIAMUserARN :: Lens' UserProfile (Maybe Text)
upIAMUserARN = lens _upIAMUserARN (\ s a -> s{_upIAMUserARN = a});
upName :: Lens' UserProfile (Maybe Text)
upName = lens _upName (\ s a -> s{_upName = a});
instance FromJSON UserProfile where
parseJSON
= withObject "UserProfile"
(\ x ->
UserProfile' <$>
(x .:? "AllowSelfManagement") <*>
(x .:? "SshPublicKey")
<*> (x .:? "SshUsername")
<*> (x .:? "IamUserArn")
<*> (x .:? "Name"))
instance Hashable UserProfile where
instance NFData UserProfile where
data Volume = Volume'
{ _vInstanceId :: !(Maybe Text)
, _vStatus :: !(Maybe Text)
, _vSize :: !(Maybe Int)
, _vIOPS :: !(Maybe Int)
, _vDevice :: !(Maybe Text)
, _vAvailabilityZone :: !(Maybe Text)
, _vName :: !(Maybe Text)
, _vRAIdArrayId :: !(Maybe Text)
, _vVolumeId :: !(Maybe Text)
, _vRegion :: !(Maybe Text)
, _vVolumeType :: !(Maybe Text)
, _vEC2VolumeId :: !(Maybe Text)
, _vMountPoint :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
volume
:: Volume
volume =
Volume'
{ _vInstanceId = Nothing
, _vStatus = Nothing
, _vSize = Nothing
, _vIOPS = Nothing
, _vDevice = Nothing
, _vAvailabilityZone = Nothing
, _vName = Nothing
, _vRAIdArrayId = Nothing
, _vVolumeId = Nothing
, _vRegion = Nothing
, _vVolumeType = Nothing
, _vEC2VolumeId = Nothing
, _vMountPoint = Nothing
}
vInstanceId :: Lens' Volume (Maybe Text)
vInstanceId = lens _vInstanceId (\ s a -> s{_vInstanceId = a});
vStatus :: Lens' Volume (Maybe Text)
vStatus = lens _vStatus (\ s a -> s{_vStatus = a});
vSize :: Lens' Volume (Maybe Int)
vSize = lens _vSize (\ s a -> s{_vSize = a});
vIOPS :: Lens' Volume (Maybe Int)
vIOPS = lens _vIOPS (\ s a -> s{_vIOPS = a});
vDevice :: Lens' Volume (Maybe Text)
vDevice = lens _vDevice (\ s a -> s{_vDevice = a});
vAvailabilityZone :: Lens' Volume (Maybe Text)
vAvailabilityZone = lens _vAvailabilityZone (\ s a -> s{_vAvailabilityZone = a});
vName :: Lens' Volume (Maybe Text)
vName = lens _vName (\ s a -> s{_vName = a});
vRAIdArrayId :: Lens' Volume (Maybe Text)
vRAIdArrayId = lens _vRAIdArrayId (\ s a -> s{_vRAIdArrayId = a});
vVolumeId :: Lens' Volume (Maybe Text)
vVolumeId = lens _vVolumeId (\ s a -> s{_vVolumeId = a});
vRegion :: Lens' Volume (Maybe Text)
vRegion = lens _vRegion (\ s a -> s{_vRegion = a});
vVolumeType :: Lens' Volume (Maybe Text)
vVolumeType = lens _vVolumeType (\ s a -> s{_vVolumeType = a});
vEC2VolumeId :: Lens' Volume (Maybe Text)
vEC2VolumeId = lens _vEC2VolumeId (\ s a -> s{_vEC2VolumeId = a});
vMountPoint :: Lens' Volume (Maybe Text)
vMountPoint = lens _vMountPoint (\ s a -> s{_vMountPoint = a});
instance FromJSON Volume where
parseJSON
= withObject "Volume"
(\ x ->
Volume' <$>
(x .:? "InstanceId") <*> (x .:? "Status") <*>
(x .:? "Size")
<*> (x .:? "Iops")
<*> (x .:? "Device")
<*> (x .:? "AvailabilityZone")
<*> (x .:? "Name")
<*> (x .:? "RaidArrayId")
<*> (x .:? "VolumeId")
<*> (x .:? "Region")
<*> (x .:? "VolumeType")
<*> (x .:? "Ec2VolumeId")
<*> (x .:? "MountPoint"))
instance Hashable Volume where
instance NFData Volume where
data VolumeConfiguration = VolumeConfiguration'
{ _vcIOPS :: !(Maybe Int)
, _vcRAIdLevel :: !(Maybe Int)
, _vcVolumeType :: !(Maybe Text)
, _vcMountPoint :: !Text
, _vcNumberOfDisks :: !Int
, _vcSize :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
volumeConfiguration
:: Text
-> Int
-> Int
-> VolumeConfiguration
volumeConfiguration pMountPoint_ pNumberOfDisks_ pSize_ =
VolumeConfiguration'
{ _vcIOPS = Nothing
, _vcRAIdLevel = Nothing
, _vcVolumeType = Nothing
, _vcMountPoint = pMountPoint_
, _vcNumberOfDisks = pNumberOfDisks_
, _vcSize = pSize_
}
vcIOPS :: Lens' VolumeConfiguration (Maybe Int)
vcIOPS = lens _vcIOPS (\ s a -> s{_vcIOPS = a});
vcRAIdLevel :: Lens' VolumeConfiguration (Maybe Int)
vcRAIdLevel = lens _vcRAIdLevel (\ s a -> s{_vcRAIdLevel = a});
vcVolumeType :: Lens' VolumeConfiguration (Maybe Text)
vcVolumeType = lens _vcVolumeType (\ s a -> s{_vcVolumeType = a});
vcMountPoint :: Lens' VolumeConfiguration Text
vcMountPoint = lens _vcMountPoint (\ s a -> s{_vcMountPoint = a});
vcNumberOfDisks :: Lens' VolumeConfiguration Int
vcNumberOfDisks = lens _vcNumberOfDisks (\ s a -> s{_vcNumberOfDisks = a});
vcSize :: Lens' VolumeConfiguration Int
vcSize = lens _vcSize (\ s a -> s{_vcSize = a});
instance FromJSON VolumeConfiguration where
parseJSON
= withObject "VolumeConfiguration"
(\ x ->
VolumeConfiguration' <$>
(x .:? "Iops") <*> (x .:? "RaidLevel") <*>
(x .:? "VolumeType")
<*> (x .: "MountPoint")
<*> (x .: "NumberOfDisks")
<*> (x .: "Size"))
instance Hashable VolumeConfiguration where
instance NFData VolumeConfiguration where
instance ToJSON VolumeConfiguration where
toJSON VolumeConfiguration'{..}
= object
(catMaybes
[("Iops" .=) <$> _vcIOPS,
("RaidLevel" .=) <$> _vcRAIdLevel,
("VolumeType" .=) <$> _vcVolumeType,
Just ("MountPoint" .= _vcMountPoint),
Just ("NumberOfDisks" .= _vcNumberOfDisks),
Just ("Size" .= _vcSize)])
data WeeklyAutoScalingSchedule = WeeklyAutoScalingSchedule'
{ _wassThursday :: !(Maybe (Map Text Text))
, _wassWednesday :: !(Maybe (Map Text Text))
, _wassSaturday :: !(Maybe (Map Text Text))
, _wassMonday :: !(Maybe (Map Text Text))
, _wassFriday :: !(Maybe (Map Text Text))
, _wassSunday :: !(Maybe (Map Text Text))
, _wassTuesday :: !(Maybe (Map Text Text))
} deriving (Eq, Read, Show, Data, Typeable, Generic)
weeklyAutoScalingSchedule
:: WeeklyAutoScalingSchedule
weeklyAutoScalingSchedule =
WeeklyAutoScalingSchedule'
{ _wassThursday = Nothing
, _wassWednesday = Nothing
, _wassSaturday = Nothing
, _wassMonday = Nothing
, _wassFriday = Nothing
, _wassSunday = Nothing
, _wassTuesday = Nothing
}
wassThursday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)
wassThursday = lens _wassThursday (\ s a -> s{_wassThursday = a}) . _Default . _Map;
wassWednesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)
wassWednesday = lens _wassWednesday (\ s a -> s{_wassWednesday = a}) . _Default . _Map;
wassSaturday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)
wassSaturday = lens _wassSaturday (\ s a -> s{_wassSaturday = a}) . _Default . _Map;
wassMonday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)
wassMonday = lens _wassMonday (\ s a -> s{_wassMonday = a}) . _Default . _Map;
wassFriday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)
wassFriday = lens _wassFriday (\ s a -> s{_wassFriday = a}) . _Default . _Map;
wassSunday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)
wassSunday = lens _wassSunday (\ s a -> s{_wassSunday = a}) . _Default . _Map;
wassTuesday :: Lens' WeeklyAutoScalingSchedule (HashMap Text Text)
wassTuesday = lens _wassTuesday (\ s a -> s{_wassTuesday = a}) . _Default . _Map;
instance FromJSON WeeklyAutoScalingSchedule where
parseJSON
= withObject "WeeklyAutoScalingSchedule"
(\ x ->
WeeklyAutoScalingSchedule' <$>
(x .:? "Thursday" .!= mempty) <*>
(x .:? "Wednesday" .!= mempty)
<*> (x .:? "Saturday" .!= mempty)
<*> (x .:? "Monday" .!= mempty)
<*> (x .:? "Friday" .!= mempty)
<*> (x .:? "Sunday" .!= mempty)
<*> (x .:? "Tuesday" .!= mempty))
instance Hashable WeeklyAutoScalingSchedule where
instance NFData WeeklyAutoScalingSchedule where
instance ToJSON WeeklyAutoScalingSchedule where
toJSON WeeklyAutoScalingSchedule'{..}
= object
(catMaybes
[("Thursday" .=) <$> _wassThursday,
("Wednesday" .=) <$> _wassWednesday,
("Saturday" .=) <$> _wassSaturday,
("Monday" .=) <$> _wassMonday,
("Friday" .=) <$> _wassFriday,
("Sunday" .=) <$> _wassSunday,
("Tuesday" .=) <$> _wassTuesday])