{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.ElasticBeanstalk.Types.Product -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.ElasticBeanstalk.Types.Product where import Network.AWS.ElasticBeanstalk.Types.Sum import Network.AWS.Lens import Network.AWS.Prelude -- | Describes the properties of an application. -- -- /See:/ 'applicationDescription' smart constructor. data ApplicationDescription = ApplicationDescription' { _adVersions :: !(Maybe [Text]) , _adDateUpdated :: !(Maybe ISO8601) , _adDateCreated :: !(Maybe ISO8601) , _adApplicationName :: !(Maybe Text) , _adConfigurationTemplates :: !(Maybe [Text]) , _adDescription :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ApplicationDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'adVersions' -- -- * 'adDateUpdated' -- -- * 'adDateCreated' -- -- * 'adApplicationName' -- -- * 'adConfigurationTemplates' -- -- * 'adDescription' applicationDescription :: ApplicationDescription applicationDescription = ApplicationDescription' { _adVersions = Nothing , _adDateUpdated = Nothing , _adDateCreated = Nothing , _adApplicationName = Nothing , _adConfigurationTemplates = Nothing , _adDescription = Nothing } -- | The names of the versions for this application. adVersions :: Lens' ApplicationDescription [Text] adVersions = lens _adVersions (\ s a -> s{_adVersions = a}) . _Default . _Coerce; -- | The date when the application was last modified. adDateUpdated :: Lens' ApplicationDescription (Maybe UTCTime) adDateUpdated = lens _adDateUpdated (\ s a -> s{_adDateUpdated = a}) . mapping _Time; -- | The date when the application was created. adDateCreated :: Lens' ApplicationDescription (Maybe UTCTime) adDateCreated = lens _adDateCreated (\ s a -> s{_adDateCreated = a}) . mapping _Time; -- | The name of the application. adApplicationName :: Lens' ApplicationDescription (Maybe Text) adApplicationName = lens _adApplicationName (\ s a -> s{_adApplicationName = a}); -- | The names of the configuration templates associated with this application. adConfigurationTemplates :: Lens' ApplicationDescription [Text] adConfigurationTemplates = lens _adConfigurationTemplates (\ s a -> s{_adConfigurationTemplates = a}) . _Default . _Coerce; -- | User-defined description of the application. adDescription :: Lens' ApplicationDescription (Maybe Text) adDescription = lens _adDescription (\ s a -> s{_adDescription = a}); instance FromXML ApplicationDescription where parseXML x = ApplicationDescription' <$> (x .@? "Versions" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "DateUpdated") <*> (x .@? "DateCreated") <*> (x .@? "ApplicationName") <*> (x .@? "ConfigurationTemplates" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "Description") instance Hashable ApplicationDescription instance NFData ApplicationDescription -- | Result message containing a single description of an application. -- -- /See:/ 'applicationDescriptionMessage' smart constructor. newtype ApplicationDescriptionMessage = ApplicationDescriptionMessage' { _admApplication :: Maybe ApplicationDescription } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ApplicationDescriptionMessage' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'admApplication' applicationDescriptionMessage :: ApplicationDescriptionMessage applicationDescriptionMessage = ApplicationDescriptionMessage' { _admApplication = Nothing } -- | The < ApplicationDescription> of the application. admApplication :: Lens' ApplicationDescriptionMessage (Maybe ApplicationDescription) admApplication = lens _admApplication (\ s a -> s{_admApplication = a}); instance FromXML ApplicationDescriptionMessage where parseXML x = ApplicationDescriptionMessage' <$> (x .@? "Application") instance Hashable ApplicationDescriptionMessage instance NFData ApplicationDescriptionMessage -- | Represents the application metrics for a specified environment. -- -- /See:/ 'applicationMetrics' smart constructor. data ApplicationMetrics = ApplicationMetrics' { _amRequestCount :: !(Maybe Int) , _amLatency :: !(Maybe Latency) , _amStatusCodes :: !(Maybe StatusCodes) , _amDuration :: !(Maybe Int) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ApplicationMetrics' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'amRequestCount' -- -- * 'amLatency' -- -- * 'amStatusCodes' -- -- * 'amDuration' applicationMetrics :: ApplicationMetrics applicationMetrics = ApplicationMetrics' { _amRequestCount = Nothing , _amLatency = Nothing , _amStatusCodes = Nothing , _amDuration = Nothing } -- | Average number of requests handled by the web server per second over the last 10 seconds. amRequestCount :: Lens' ApplicationMetrics (Maybe Int) amRequestCount = lens _amRequestCount (\ s a -> s{_amRequestCount = a}); -- | Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one milisecond resolution. amLatency :: Lens' ApplicationMetrics (Maybe Latency) amLatency = lens _amLatency (\ s a -> s{_amLatency = a}); -- | Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response. amStatusCodes :: Lens' ApplicationMetrics (Maybe StatusCodes) amStatusCodes = lens _amStatusCodes (\ s a -> s{_amStatusCodes = a}); -- | The amount of time that the metrics cover (usually 10 seconds). For example, you might have 5 requests ('request_count') within the most recent time slice of 10 seconds ('duration'). amDuration :: Lens' ApplicationMetrics (Maybe Int) amDuration = lens _amDuration (\ s a -> s{_amDuration = a}); instance FromXML ApplicationMetrics where parseXML x = ApplicationMetrics' <$> (x .@? "RequestCount") <*> (x .@? "Latency") <*> (x .@? "StatusCodes") <*> (x .@? "Duration") instance Hashable ApplicationMetrics instance NFData ApplicationMetrics -- | Describes the properties of an application version. -- -- /See:/ 'applicationVersionDescription' smart constructor. data ApplicationVersionDescription = ApplicationVersionDescription' { _avdStatus :: !(Maybe ApplicationVersionStatus) , _avdSourceBundle :: !(Maybe S3Location) , _avdDateUpdated :: !(Maybe ISO8601) , _avdDateCreated :: !(Maybe ISO8601) , _avdVersionLabel :: !(Maybe Text) , _avdApplicationName :: !(Maybe Text) , _avdDescription :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ApplicationVersionDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'avdStatus' -- -- * 'avdSourceBundle' -- -- * 'avdDateUpdated' -- -- * 'avdDateCreated' -- -- * 'avdVersionLabel' -- -- * 'avdApplicationName' -- -- * 'avdDescription' applicationVersionDescription :: ApplicationVersionDescription applicationVersionDescription = ApplicationVersionDescription' { _avdStatus = Nothing , _avdSourceBundle = Nothing , _avdDateUpdated = Nothing , _avdDateCreated = Nothing , _avdVersionLabel = Nothing , _avdApplicationName = Nothing , _avdDescription = Nothing } -- | The processing status of the application version. avdStatus :: Lens' ApplicationVersionDescription (Maybe ApplicationVersionStatus) avdStatus = lens _avdStatus (\ s a -> s{_avdStatus = a}); -- | The location where the source bundle is located for this version. avdSourceBundle :: Lens' ApplicationVersionDescription (Maybe S3Location) avdSourceBundle = lens _avdSourceBundle (\ s a -> s{_avdSourceBundle = a}); -- | The last modified date of the application version. avdDateUpdated :: Lens' ApplicationVersionDescription (Maybe UTCTime) avdDateUpdated = lens _avdDateUpdated (\ s a -> s{_avdDateUpdated = a}) . mapping _Time; -- | The creation date of the application version. avdDateCreated :: Lens' ApplicationVersionDescription (Maybe UTCTime) avdDateCreated = lens _avdDateCreated (\ s a -> s{_avdDateCreated = a}) . mapping _Time; -- | A label uniquely identifying the version for the associated application. avdVersionLabel :: Lens' ApplicationVersionDescription (Maybe Text) avdVersionLabel = lens _avdVersionLabel (\ s a -> s{_avdVersionLabel = a}); -- | The name of the application associated with this release. avdApplicationName :: Lens' ApplicationVersionDescription (Maybe Text) avdApplicationName = lens _avdApplicationName (\ s a -> s{_avdApplicationName = a}); -- | The description of this application version. avdDescription :: Lens' ApplicationVersionDescription (Maybe Text) avdDescription = lens _avdDescription (\ s a -> s{_avdDescription = a}); instance FromXML ApplicationVersionDescription where parseXML x = ApplicationVersionDescription' <$> (x .@? "Status") <*> (x .@? "SourceBundle") <*> (x .@? "DateUpdated") <*> (x .@? "DateCreated") <*> (x .@? "VersionLabel") <*> (x .@? "ApplicationName") <*> (x .@? "Description") instance Hashable ApplicationVersionDescription instance NFData ApplicationVersionDescription -- | Result message wrapping a single description of an application version. -- -- /See:/ 'applicationVersionDescriptionMessage' smart constructor. newtype ApplicationVersionDescriptionMessage = ApplicationVersionDescriptionMessage' { _avdmApplicationVersion :: Maybe ApplicationVersionDescription } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ApplicationVersionDescriptionMessage' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'avdmApplicationVersion' applicationVersionDescriptionMessage :: ApplicationVersionDescriptionMessage applicationVersionDescriptionMessage = ApplicationVersionDescriptionMessage' { _avdmApplicationVersion = Nothing } -- | The < ApplicationVersionDescription> of the application version. avdmApplicationVersion :: Lens' ApplicationVersionDescriptionMessage (Maybe ApplicationVersionDescription) avdmApplicationVersion = lens _avdmApplicationVersion (\ s a -> s{_avdmApplicationVersion = a}); instance FromXML ApplicationVersionDescriptionMessage where parseXML x = ApplicationVersionDescriptionMessage' <$> (x .@? "ApplicationVersion") instance Hashable ApplicationVersionDescriptionMessage instance NFData ApplicationVersionDescriptionMessage -- | Describes an Auto Scaling launch configuration. -- -- /See:/ 'autoScalingGroup' smart constructor. newtype AutoScalingGroup = AutoScalingGroup' { _asgName :: Maybe Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'AutoScalingGroup' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'asgName' autoScalingGroup :: AutoScalingGroup autoScalingGroup = AutoScalingGroup' { _asgName = Nothing } -- | The name of the 'AutoScalingGroup' . asgName :: Lens' AutoScalingGroup (Maybe Text) asgName = lens _asgName (\ s a -> s{_asgName = a}); instance FromXML AutoScalingGroup where parseXML x = AutoScalingGroup' <$> (x .@? "Name") instance Hashable AutoScalingGroup instance NFData AutoScalingGroup -- | Represents CPU utilization information from the specified instance that belongs to the AWS Elastic Beanstalk environment. Use the 'instanceId' property to specify the application instance for which you\'d like to return data. -- -- /See:/ 'cpuUtilization' smart constructor. data CPUUtilization = CPUUtilization' { _cuSoftIRQ :: !(Maybe Double) , _cuIdle :: !(Maybe Double) , _cuIRQ :: !(Maybe Double) , _cuSystem :: !(Maybe Double) , _cuUser :: !(Maybe Double) , _cuIOWait :: !(Maybe Double) , _cuNice :: !(Maybe Double) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CPUUtilization' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'cuSoftIRQ' -- -- * 'cuIdle' -- -- * 'cuIRQ' -- -- * 'cuSystem' -- -- * 'cuUser' -- -- * 'cuIOWait' -- -- * 'cuNice' cpuUtilization :: CPUUtilization cpuUtilization = CPUUtilization' { _cuSoftIRQ = Nothing , _cuIdle = Nothing , _cuIRQ = Nothing , _cuSystem = Nothing , _cuUser = Nothing , _cuIOWait = Nothing , _cuNice = Nothing } -- | Percentage of time that the CPU has spent in the 'SoftIRQ' state over the last 10 seconds. cuSoftIRQ :: Lens' CPUUtilization (Maybe Double) cuSoftIRQ = lens _cuSoftIRQ (\ s a -> s{_cuSoftIRQ = a}); -- | Percentage of time that the CPU has spent in the 'Idle' state over the last 10 seconds. cuIdle :: Lens' CPUUtilization (Maybe Double) cuIdle = lens _cuIdle (\ s a -> s{_cuIdle = a}); -- | Percentage of time that the CPU has spent in the 'IRQ' state over the last 10 seconds. cuIRQ :: Lens' CPUUtilization (Maybe Double) cuIRQ = lens _cuIRQ (\ s a -> s{_cuIRQ = a}); -- | Percentage of time that the CPU has spent in the 'System' state over the last 10 seconds. cuSystem :: Lens' CPUUtilization (Maybe Double) cuSystem = lens _cuSystem (\ s a -> s{_cuSystem = a}); -- | Percentage of time that the CPU has spent in the 'User' state over the last 10 seconds. cuUser :: Lens' CPUUtilization (Maybe Double) cuUser = lens _cuUser (\ s a -> s{_cuUser = a}); -- | Percentage of time that the CPU has spent in the 'I\/O Wait' state over the last 10 seconds. cuIOWait :: Lens' CPUUtilization (Maybe Double) cuIOWait = lens _cuIOWait (\ s a -> s{_cuIOWait = a}); -- | Percentage of time that the CPU has spent in the 'Nice' state over the last 10 seconds. cuNice :: Lens' CPUUtilization (Maybe Double) cuNice = lens _cuNice (\ s a -> s{_cuNice = a}); instance FromXML CPUUtilization where parseXML x = CPUUtilization' <$> (x .@? "SoftIRQ") <*> (x .@? "Idle") <*> (x .@? "IRQ") <*> (x .@? "System") <*> (x .@? "User") <*> (x .@? "IOWait") <*> (x .@? "Nice") instance Hashable CPUUtilization instance NFData CPUUtilization -- | Describes the possible values for a configuration option. -- -- /See:/ 'configurationOptionDescription' smart constructor. data ConfigurationOptionDescription = ConfigurationOptionDescription' { _codMaxValue :: !(Maybe Int) , _codRegex :: !(Maybe OptionRestrictionRegex) , _codMaxLength :: !(Maybe Int) , _codUserDefined :: !(Maybe Bool) , _codNamespace :: !(Maybe Text) , _codValueOptions :: !(Maybe [Text]) , _codName :: !(Maybe Text) , _codChangeSeverity :: !(Maybe Text) , _codDefaultValue :: !(Maybe Text) , _codValueType :: !(Maybe ConfigurationOptionValueType) , _codMinValue :: !(Maybe Int) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ConfigurationOptionDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'codMaxValue' -- -- * 'codRegex' -- -- * 'codMaxLength' -- -- * 'codUserDefined' -- -- * 'codNamespace' -- -- * 'codValueOptions' -- -- * 'codName' -- -- * 'codChangeSeverity' -- -- * 'codDefaultValue' -- -- * 'codValueType' -- -- * 'codMinValue' configurationOptionDescription :: ConfigurationOptionDescription configurationOptionDescription = ConfigurationOptionDescription' { _codMaxValue = Nothing , _codRegex = Nothing , _codMaxLength = Nothing , _codUserDefined = Nothing , _codNamespace = Nothing , _codValueOptions = Nothing , _codName = Nothing , _codChangeSeverity = Nothing , _codDefaultValue = Nothing , _codValueType = Nothing , _codMinValue = Nothing } -- | If specified, the configuration option must be a numeric value less than this value. codMaxValue :: Lens' ConfigurationOptionDescription (Maybe Int) codMaxValue = lens _codMaxValue (\ s a -> s{_codMaxValue = a}); -- | If specified, the configuration option must be a string value that satisfies this regular expression. codRegex :: Lens' ConfigurationOptionDescription (Maybe OptionRestrictionRegex) codRegex = lens _codRegex (\ s a -> s{_codRegex = a}); -- | If specified, the configuration option must be a string value no longer than this value. codMaxLength :: Lens' ConfigurationOptionDescription (Maybe Int) codMaxLength = lens _codMaxLength (\ s a -> s{_codMaxLength = a}); -- | An indication of whether the user defined this configuration option: -- -- - 'true' : This configuration option was defined by the user. It is a valid choice for specifying if this as an 'Option to Remove' when updating configuration settings. -- -- - 'false' : This configuration was not defined by the user. -- -- Constraint: You can remove only 'UserDefined' options from a configuration. -- -- Valid Values: 'true' | 'false' codUserDefined :: Lens' ConfigurationOptionDescription (Maybe Bool) codUserDefined = lens _codUserDefined (\ s a -> s{_codUserDefined = a}); -- | A unique namespace identifying the option\'s associated AWS resource. codNamespace :: Lens' ConfigurationOptionDescription (Maybe Text) codNamespace = lens _codNamespace (\ s a -> s{_codNamespace = a}); -- | If specified, values for the configuration option are selected from this list. codValueOptions :: Lens' ConfigurationOptionDescription [Text] codValueOptions = lens _codValueOptions (\ s a -> s{_codValueOptions = a}) . _Default . _Coerce; -- | The name of the configuration option. codName :: Lens' ConfigurationOptionDescription (Maybe Text) codName = lens _codName (\ s a -> s{_codName = a}); -- | An indication of which action is required if the value for this configuration option changes: -- -- - 'NoInterruption' : There is no interruption to the environment or application availability. -- - 'RestartEnvironment' : The environment is entirely restarted, all AWS resources are deleted and recreated, and the environment is unavailable during the process. -- - 'RestartApplicationServer' : The environment is available the entire time. However, a short application outage occurs when the application servers on the running Amazon EC2 instances are restarted. codChangeSeverity :: Lens' ConfigurationOptionDescription (Maybe Text) codChangeSeverity = lens _codChangeSeverity (\ s a -> s{_codChangeSeverity = a}); -- | The default value for this configuration option. codDefaultValue :: Lens' ConfigurationOptionDescription (Maybe Text) codDefaultValue = lens _codDefaultValue (\ s a -> s{_codDefaultValue = a}); -- | An indication of which type of values this option has and whether it is allowable to select one or more than one of the possible values: -- -- - 'Scalar' : Values for this option are a single selection from the possible values, or an unformatted string, or numeric value governed by the 'MIN\/MAX\/Regex' constraints. -- - 'List' : Values for this option are multiple selections from the possible values. -- - 'Boolean' : Values for this option are either 'true' or 'false' . -- - 'Json' : Values for this option are a JSON representation of a 'ConfigDocument'. codValueType :: Lens' ConfigurationOptionDescription (Maybe ConfigurationOptionValueType) codValueType = lens _codValueType (\ s a -> s{_codValueType = a}); -- | If specified, the configuration option must be a numeric value greater than this value. codMinValue :: Lens' ConfigurationOptionDescription (Maybe Int) codMinValue = lens _codMinValue (\ s a -> s{_codMinValue = a}); instance FromXML ConfigurationOptionDescription where parseXML x = ConfigurationOptionDescription' <$> (x .@? "MaxValue") <*> (x .@? "Regex") <*> (x .@? "MaxLength") <*> (x .@? "UserDefined") <*> (x .@? "Namespace") <*> (x .@? "ValueOptions" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "Name") <*> (x .@? "ChangeSeverity") <*> (x .@? "DefaultValue") <*> (x .@? "ValueType") <*> (x .@? "MinValue") instance Hashable ConfigurationOptionDescription instance NFData ConfigurationOptionDescription -- | A specification identifying an individual configuration option along with its current value. For a list of possible option values, go to in the /AWS Elastic Beanstalk Developer Guide/. -- -- /See:/ 'configurationOptionSetting' smart constructor. data ConfigurationOptionSetting = ConfigurationOptionSetting' { _cosOptionName :: !(Maybe Text) , _cosResourceName :: !(Maybe Text) , _cosNamespace :: !(Maybe Text) , _cosValue :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ConfigurationOptionSetting' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'cosOptionName' -- -- * 'cosResourceName' -- -- * 'cosNamespace' -- -- * 'cosValue' configurationOptionSetting :: ConfigurationOptionSetting configurationOptionSetting = ConfigurationOptionSetting' { _cosOptionName = Nothing , _cosResourceName = Nothing , _cosNamespace = Nothing , _cosValue = Nothing } -- | The name of the configuration option. cosOptionName :: Lens' ConfigurationOptionSetting (Maybe Text) cosOptionName = lens _cosOptionName (\ s a -> s{_cosOptionName = a}); -- | A unique resource name for a time-based scaling configuration option. cosResourceName :: Lens' ConfigurationOptionSetting (Maybe Text) cosResourceName = lens _cosResourceName (\ s a -> s{_cosResourceName = a}); -- | A unique namespace identifying the option\'s associated AWS resource. cosNamespace :: Lens' ConfigurationOptionSetting (Maybe Text) cosNamespace = lens _cosNamespace (\ s a -> s{_cosNamespace = a}); -- | The current value for the configuration option. cosValue :: Lens' ConfigurationOptionSetting (Maybe Text) cosValue = lens _cosValue (\ s a -> s{_cosValue = a}); instance FromXML ConfigurationOptionSetting where parseXML x = ConfigurationOptionSetting' <$> (x .@? "OptionName") <*> (x .@? "ResourceName") <*> (x .@? "Namespace") <*> (x .@? "Value") instance Hashable ConfigurationOptionSetting instance NFData ConfigurationOptionSetting instance ToQuery ConfigurationOptionSetting where toQuery ConfigurationOptionSetting'{..} = mconcat ["OptionName" =: _cosOptionName, "ResourceName" =: _cosResourceName, "Namespace" =: _cosNamespace, "Value" =: _cosValue] -- | Describes the settings for a configuration set. -- -- /See:/ 'configurationSettingsDescription' smart constructor. data ConfigurationSettingsDescription = ConfigurationSettingsDescription' { _csdTemplateName :: !(Maybe Text) , _csdOptionSettings :: !(Maybe [ConfigurationOptionSetting]) , _csdDateUpdated :: !(Maybe ISO8601) , _csdDateCreated :: !(Maybe ISO8601) , _csdEnvironmentName :: !(Maybe Text) , _csdApplicationName :: !(Maybe Text) , _csdDeploymentStatus :: !(Maybe ConfigurationDeploymentStatus) , _csdSolutionStackName :: !(Maybe Text) , _csdDescription :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ConfigurationSettingsDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'csdTemplateName' -- -- * 'csdOptionSettings' -- -- * 'csdDateUpdated' -- -- * 'csdDateCreated' -- -- * 'csdEnvironmentName' -- -- * 'csdApplicationName' -- -- * 'csdDeploymentStatus' -- -- * 'csdSolutionStackName' -- -- * 'csdDescription' configurationSettingsDescription :: ConfigurationSettingsDescription configurationSettingsDescription = ConfigurationSettingsDescription' { _csdTemplateName = Nothing , _csdOptionSettings = Nothing , _csdDateUpdated = Nothing , _csdDateCreated = Nothing , _csdEnvironmentName = Nothing , _csdApplicationName = Nothing , _csdDeploymentStatus = Nothing , _csdSolutionStackName = Nothing , _csdDescription = Nothing } -- | If not 'null', the name of the configuration template for this configuration set. csdTemplateName :: Lens' ConfigurationSettingsDescription (Maybe Text) csdTemplateName = lens _csdTemplateName (\ s a -> s{_csdTemplateName = a}); -- | A list of the configuration options and their values in this configuration set. csdOptionSettings :: Lens' ConfigurationSettingsDescription [ConfigurationOptionSetting] csdOptionSettings = lens _csdOptionSettings (\ s a -> s{_csdOptionSettings = a}) . _Default . _Coerce; -- | The date (in UTC time) when this configuration set was last modified. csdDateUpdated :: Lens' ConfigurationSettingsDescription (Maybe UTCTime) csdDateUpdated = lens _csdDateUpdated (\ s a -> s{_csdDateUpdated = a}) . mapping _Time; -- | The date (in UTC time) when this configuration set was created. csdDateCreated :: Lens' ConfigurationSettingsDescription (Maybe UTCTime) csdDateCreated = lens _csdDateCreated (\ s a -> s{_csdDateCreated = a}) . mapping _Time; -- | If not 'null', the name of the environment for this configuration set. csdEnvironmentName :: Lens' ConfigurationSettingsDescription (Maybe Text) csdEnvironmentName = lens _csdEnvironmentName (\ s a -> s{_csdEnvironmentName = a}); -- | The name of the application associated with this configuration set. csdApplicationName :: Lens' ConfigurationSettingsDescription (Maybe Text) csdApplicationName = lens _csdApplicationName (\ s a -> s{_csdApplicationName = a}); -- | If this configuration set is associated with an environment, the 'DeploymentStatus' parameter indicates the deployment status of this configuration set: -- -- - 'null': This configuration is not associated with a running environment. -- - 'pending': This is a draft configuration that is not deployed to the associated environment but is in the process of deploying. -- - 'deployed': This is the configuration that is currently deployed to the associated running environment. -- - 'failed': This is a draft configuration that failed to successfully deploy. csdDeploymentStatus :: Lens' ConfigurationSettingsDescription (Maybe ConfigurationDeploymentStatus) csdDeploymentStatus = lens _csdDeploymentStatus (\ s a -> s{_csdDeploymentStatus = a}); -- | The name of the solution stack this configuration set uses. csdSolutionStackName :: Lens' ConfigurationSettingsDescription (Maybe Text) csdSolutionStackName = lens _csdSolutionStackName (\ s a -> s{_csdSolutionStackName = a}); -- | Describes this configuration set. csdDescription :: Lens' ConfigurationSettingsDescription (Maybe Text) csdDescription = lens _csdDescription (\ s a -> s{_csdDescription = a}); instance FromXML ConfigurationSettingsDescription where parseXML x = ConfigurationSettingsDescription' <$> (x .@? "TemplateName") <*> (x .@? "OptionSettings" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "DateUpdated") <*> (x .@? "DateCreated") <*> (x .@? "EnvironmentName") <*> (x .@? "ApplicationName") <*> (x .@? "DeploymentStatus") <*> (x .@? "SolutionStackName") <*> (x .@? "Description") instance Hashable ConfigurationSettingsDescription instance NFData ConfigurationSettingsDescription -- | Information about an application version deployment. -- -- /See:/ 'deployment' smart constructor. data Deployment = Deployment' { _dDeploymentId :: !(Maybe Integer) , _dStatus :: !(Maybe Text) , _dDeploymentTime :: !(Maybe ISO8601) , _dVersionLabel :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Deployment' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dDeploymentId' -- -- * 'dStatus' -- -- * 'dDeploymentTime' -- -- * 'dVersionLabel' deployment :: Deployment deployment = Deployment' { _dDeploymentId = Nothing , _dStatus = Nothing , _dDeploymentTime = Nothing , _dVersionLabel = Nothing } -- | The ID of the deployment. This number increases by one each time that you deploy source code or change instance configuration settings. dDeploymentId :: Lens' Deployment (Maybe Integer) dDeploymentId = lens _dDeploymentId (\ s a -> s{_dDeploymentId = a}); -- | The status of the deployment: -- -- - 'In Progress' : The deployment is in progress. -- - 'Deployed' : The deployment succeeded. -- - 'Failed' : The deployment failed. dStatus :: Lens' Deployment (Maybe Text) dStatus = lens _dStatus (\ s a -> s{_dStatus = a}); -- | For in-progress deployments, the time that the deloyment started. -- -- For completed deployments, the time that the deployment ended. dDeploymentTime :: Lens' Deployment (Maybe UTCTime) dDeploymentTime = lens _dDeploymentTime (\ s a -> s{_dDeploymentTime = a}) . mapping _Time; -- | The version label of the application version in the deployment. dVersionLabel :: Lens' Deployment (Maybe Text) dVersionLabel = lens _dVersionLabel (\ s a -> s{_dVersionLabel = a}); instance FromXML Deployment where parseXML x = Deployment' <$> (x .@? "DeploymentId") <*> (x .@? "Status") <*> (x .@? "DeploymentTime") <*> (x .@? "VersionLabel") instance Hashable Deployment instance NFData Deployment -- | Describes the properties of an environment. -- -- /See:/ 'environmentDescription' smart constructor. data EnvironmentDescription = EnvironmentDescription' { _eStatus :: !(Maybe EnvironmentStatus) , _eCNAME :: !(Maybe Text) , _eTemplateName :: !(Maybe Text) , _eAbortableOperationInProgress :: !(Maybe Bool) , _eEndpointURL :: !(Maybe Text) , _eResources :: !(Maybe EnvironmentResourcesDescription) , _eDateUpdated :: !(Maybe ISO8601) , _eDateCreated :: !(Maybe ISO8601) , _eHealth :: !(Maybe EnvironmentHealth) , _eVersionLabel :: !(Maybe Text) , _eTier :: !(Maybe EnvironmentTier) , _eEnvironmentName :: !(Maybe Text) , _eApplicationName :: !(Maybe Text) , _eSolutionStackName :: !(Maybe Text) , _eEnvironmentId :: !(Maybe Text) , _eHealthStatus :: !(Maybe EnvironmentHealthStatus) , _eEnvironmentLinks :: !(Maybe [EnvironmentLink]) , _eDescription :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnvironmentDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'eStatus' -- -- * 'eCNAME' -- -- * 'eTemplateName' -- -- * 'eAbortableOperationInProgress' -- -- * 'eEndpointURL' -- -- * 'eResources' -- -- * 'eDateUpdated' -- -- * 'eDateCreated' -- -- * 'eHealth' -- -- * 'eVersionLabel' -- -- * 'eTier' -- -- * 'eEnvironmentName' -- -- * 'eApplicationName' -- -- * 'eSolutionStackName' -- -- * 'eEnvironmentId' -- -- * 'eHealthStatus' -- -- * 'eEnvironmentLinks' -- -- * 'eDescription' environmentDescription :: EnvironmentDescription environmentDescription = EnvironmentDescription' { _eStatus = Nothing , _eCNAME = Nothing , _eTemplateName = Nothing , _eAbortableOperationInProgress = Nothing , _eEndpointURL = Nothing , _eResources = Nothing , _eDateUpdated = Nothing , _eDateCreated = Nothing , _eHealth = Nothing , _eVersionLabel = Nothing , _eTier = Nothing , _eEnvironmentName = Nothing , _eApplicationName = Nothing , _eSolutionStackName = Nothing , _eEnvironmentId = Nothing , _eHealthStatus = Nothing , _eEnvironmentLinks = Nothing , _eDescription = Nothing } -- | The current operational status of the environment: -- -- - 'Launching': Environment is in the process of initial deployment. -- - 'Updating': Environment is in the process of updating its configuration settings or application version. -- - 'Ready': Environment is available to have an action performed on it, such as update or terminate. -- - 'Terminating': Environment is in the shut-down process. -- - 'Terminated': Environment is not running. eStatus :: Lens' EnvironmentDescription (Maybe EnvironmentStatus) eStatus = lens _eStatus (\ s a -> s{_eStatus = a}); -- | The URL to the CNAME for this environment. eCNAME :: Lens' EnvironmentDescription (Maybe Text) eCNAME = lens _eCNAME (\ s a -> s{_eCNAME = a}); -- | The name of the configuration template used to originally launch this environment. eTemplateName :: Lens' EnvironmentDescription (Maybe Text) eTemplateName = lens _eTemplateName (\ s a -> s{_eTemplateName = a}); -- | Indicates if there is an in-progress environment configuration update or application version deployment that you can cancel. -- -- 'true:' There is an update in progress. -- -- 'false:' There are no updates currently in progress. eAbortableOperationInProgress :: Lens' EnvironmentDescription (Maybe Bool) eAbortableOperationInProgress = lens _eAbortableOperationInProgress (\ s a -> s{_eAbortableOperationInProgress = a}); -- | For load-balanced, autoscaling environments, the URL to the LoadBalancer. For single-instance environments, the IP address of the instance. eEndpointURL :: Lens' EnvironmentDescription (Maybe Text) eEndpointURL = lens _eEndpointURL (\ s a -> s{_eEndpointURL = a}); -- | The description of the AWS resources used by this environment. eResources :: Lens' EnvironmentDescription (Maybe EnvironmentResourcesDescription) eResources = lens _eResources (\ s a -> s{_eResources = a}); -- | The last modified date for this environment. eDateUpdated :: Lens' EnvironmentDescription (Maybe UTCTime) eDateUpdated = lens _eDateUpdated (\ s a -> s{_eDateUpdated = a}) . mapping _Time; -- | The creation date for this environment. eDateCreated :: Lens' EnvironmentDescription (Maybe UTCTime) eDateCreated = lens _eDateCreated (\ s a -> s{_eDateCreated = a}) . mapping _Time; -- | Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment: -- -- - 'Red': Indicates the environment is not responsive. Occurs when three or more consecutive failures occur for an environment. -- - 'Yellow': Indicates that something is wrong. Occurs when two consecutive failures occur for an environment. -- - 'Green': Indicates the environment is healthy and fully functional. -- - 'Grey': Default health for a new environment. The environment is not fully launched and health checks have not started or health checks are suspended during an 'UpdateEnvironment' or 'RestartEnvironement' request. -- -- Default: 'Grey' eHealth :: Lens' EnvironmentDescription (Maybe EnvironmentHealth) eHealth = lens _eHealth (\ s a -> s{_eHealth = a}); -- | The application version deployed in this environment. eVersionLabel :: Lens' EnvironmentDescription (Maybe Text) eVersionLabel = lens _eVersionLabel (\ s a -> s{_eVersionLabel = a}); -- | Describes the current tier of this environment. eTier :: Lens' EnvironmentDescription (Maybe EnvironmentTier) eTier = lens _eTier (\ s a -> s{_eTier = a}); -- | The name of this environment. eEnvironmentName :: Lens' EnvironmentDescription (Maybe Text) eEnvironmentName = lens _eEnvironmentName (\ s a -> s{_eEnvironmentName = a}); -- | The name of the application associated with this environment. eApplicationName :: Lens' EnvironmentDescription (Maybe Text) eApplicationName = lens _eApplicationName (\ s a -> s{_eApplicationName = a}); -- | The name of the 'SolutionStack' deployed with this environment. eSolutionStackName :: Lens' EnvironmentDescription (Maybe Text) eSolutionStackName = lens _eSolutionStackName (\ s a -> s{_eSolutionStackName = a}); -- | The ID of this environment. eEnvironmentId :: Lens' EnvironmentDescription (Maybe Text) eEnvironmentId = lens _eEnvironmentId (\ s a -> s{_eEnvironmentId = a}); -- | Returns the health status of the application running in your environment. For more information, see . eHealthStatus :: Lens' EnvironmentDescription (Maybe EnvironmentHealthStatus) eHealthStatus = lens _eHealthStatus (\ s a -> s{_eHealthStatus = a}); -- | A list of links to other environments in the same group. eEnvironmentLinks :: Lens' EnvironmentDescription [EnvironmentLink] eEnvironmentLinks = lens _eEnvironmentLinks (\ s a -> s{_eEnvironmentLinks = a}) . _Default . _Coerce; -- | Describes this environment. eDescription :: Lens' EnvironmentDescription (Maybe Text) eDescription = lens _eDescription (\ s a -> s{_eDescription = a}); instance FromXML EnvironmentDescription where parseXML x = EnvironmentDescription' <$> (x .@? "Status") <*> (x .@? "CNAME") <*> (x .@? "TemplateName") <*> (x .@? "AbortableOperationInProgress") <*> (x .@? "EndpointURL") <*> (x .@? "Resources") <*> (x .@? "DateUpdated") <*> (x .@? "DateCreated") <*> (x .@? "Health") <*> (x .@? "VersionLabel") <*> (x .@? "Tier") <*> (x .@? "EnvironmentName") <*> (x .@? "ApplicationName") <*> (x .@? "SolutionStackName") <*> (x .@? "EnvironmentId") <*> (x .@? "HealthStatus") <*> (x .@? "EnvironmentLinks" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "Description") instance Hashable EnvironmentDescription instance NFData EnvironmentDescription -- | Result message containing a list of environment descriptions. -- -- /See:/ 'environmentDescriptionsMessage' smart constructor. newtype EnvironmentDescriptionsMessage = EnvironmentDescriptionsMessage' { _edmEnvironments :: Maybe [EnvironmentDescription] } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnvironmentDescriptionsMessage' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'edmEnvironments' environmentDescriptionsMessage :: EnvironmentDescriptionsMessage environmentDescriptionsMessage = EnvironmentDescriptionsMessage' { _edmEnvironments = Nothing } -- | Returns an < EnvironmentDescription> list. edmEnvironments :: Lens' EnvironmentDescriptionsMessage [EnvironmentDescription] edmEnvironments = lens _edmEnvironments (\ s a -> s{_edmEnvironments = a}) . _Default . _Coerce; instance FromXML EnvironmentDescriptionsMessage where parseXML x = EnvironmentDescriptionsMessage' <$> (x .@? "Environments" .!@ mempty >>= may (parseXMLList "member")) instance Hashable EnvironmentDescriptionsMessage instance NFData EnvironmentDescriptionsMessage -- | The information retrieved from the Amazon EC2 instances. -- -- /See:/ 'environmentInfoDescription' smart constructor. data EnvironmentInfoDescription = EnvironmentInfoDescription' { _eidSampleTimestamp :: !(Maybe ISO8601) , _eidEC2InstanceId :: !(Maybe Text) , _eidInfoType :: !(Maybe EnvironmentInfoType) , _eidMessage :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnvironmentInfoDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'eidSampleTimestamp' -- -- * 'eidEC2InstanceId' -- -- * 'eidInfoType' -- -- * 'eidMessage' environmentInfoDescription :: EnvironmentInfoDescription environmentInfoDescription = EnvironmentInfoDescription' { _eidSampleTimestamp = Nothing , _eidEC2InstanceId = Nothing , _eidInfoType = Nothing , _eidMessage = Nothing } -- | The time stamp when this information was retrieved. eidSampleTimestamp :: Lens' EnvironmentInfoDescription (Maybe UTCTime) eidSampleTimestamp = lens _eidSampleTimestamp (\ s a -> s{_eidSampleTimestamp = a}) . mapping _Time; -- | The Amazon EC2 Instance ID for this information. eidEC2InstanceId :: Lens' EnvironmentInfoDescription (Maybe Text) eidEC2InstanceId = lens _eidEC2InstanceId (\ s a -> s{_eidEC2InstanceId = a}); -- | The type of information retrieved. eidInfoType :: Lens' EnvironmentInfoDescription (Maybe EnvironmentInfoType) eidInfoType = lens _eidInfoType (\ s a -> s{_eidInfoType = a}); -- | The retrieved information. eidMessage :: Lens' EnvironmentInfoDescription (Maybe Text) eidMessage = lens _eidMessage (\ s a -> s{_eidMessage = a}); instance FromXML EnvironmentInfoDescription where parseXML x = EnvironmentInfoDescription' <$> (x .@? "SampleTimestamp") <*> (x .@? "Ec2InstanceId") <*> (x .@? "InfoType") <*> (x .@? "Message") instance Hashable EnvironmentInfoDescription instance NFData EnvironmentInfoDescription -- | A link to another environment, defined in the environment\'s manifest. Links provide connection information in system properties that can be used to connect to another environment in the same group. See for details. -- -- /See:/ 'environmentLink' smart constructor. data EnvironmentLink = EnvironmentLink' { _elLinkName :: !(Maybe Text) , _elEnvironmentName :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnvironmentLink' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'elLinkName' -- -- * 'elEnvironmentName' environmentLink :: EnvironmentLink environmentLink = EnvironmentLink' { _elLinkName = Nothing , _elEnvironmentName = Nothing } -- | The name of the link. elLinkName :: Lens' EnvironmentLink (Maybe Text) elLinkName = lens _elLinkName (\ s a -> s{_elLinkName = a}); -- | The name of the linked environment (the dependency). elEnvironmentName :: Lens' EnvironmentLink (Maybe Text) elEnvironmentName = lens _elEnvironmentName (\ s a -> s{_elEnvironmentName = a}); instance FromXML EnvironmentLink where parseXML x = EnvironmentLink' <$> (x .@? "LinkName") <*> (x .@? "EnvironmentName") instance Hashable EnvironmentLink instance NFData EnvironmentLink -- | Describes the AWS resources in use by this environment. This data is live. -- -- /See:/ 'environmentResourceDescription' smart constructor. data EnvironmentResourceDescription = EnvironmentResourceDescription' { _erdQueues :: !(Maybe [Queue]) , _erdTriggers :: !(Maybe [Trigger]) , _erdLoadBalancers :: !(Maybe [LoadBalancer]) , _erdEnvironmentName :: !(Maybe Text) , _erdInstances :: !(Maybe [Instance]) , _erdLaunchConfigurations :: !(Maybe [LaunchConfiguration]) , _erdAutoScalingGroups :: !(Maybe [AutoScalingGroup]) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnvironmentResourceDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'erdQueues' -- -- * 'erdTriggers' -- -- * 'erdLoadBalancers' -- -- * 'erdEnvironmentName' -- -- * 'erdInstances' -- -- * 'erdLaunchConfigurations' -- -- * 'erdAutoScalingGroups' environmentResourceDescription :: EnvironmentResourceDescription environmentResourceDescription = EnvironmentResourceDescription' { _erdQueues = Nothing , _erdTriggers = Nothing , _erdLoadBalancers = Nothing , _erdEnvironmentName = Nothing , _erdInstances = Nothing , _erdLaunchConfigurations = Nothing , _erdAutoScalingGroups = Nothing } -- | The queues used by this environment. erdQueues :: Lens' EnvironmentResourceDescription [Queue] erdQueues = lens _erdQueues (\ s a -> s{_erdQueues = a}) . _Default . _Coerce; -- | The 'AutoScaling' triggers in use by this environment. erdTriggers :: Lens' EnvironmentResourceDescription [Trigger] erdTriggers = lens _erdTriggers (\ s a -> s{_erdTriggers = a}) . _Default . _Coerce; -- | The LoadBalancers in use by this environment. erdLoadBalancers :: Lens' EnvironmentResourceDescription [LoadBalancer] erdLoadBalancers = lens _erdLoadBalancers (\ s a -> s{_erdLoadBalancers = a}) . _Default . _Coerce; -- | The name of the environment. erdEnvironmentName :: Lens' EnvironmentResourceDescription (Maybe Text) erdEnvironmentName = lens _erdEnvironmentName (\ s a -> s{_erdEnvironmentName = a}); -- | The Amazon EC2 instances used by this environment. erdInstances :: Lens' EnvironmentResourceDescription [Instance] erdInstances = lens _erdInstances (\ s a -> s{_erdInstances = a}) . _Default . _Coerce; -- | The Auto Scaling launch configurations in use by this environment. erdLaunchConfigurations :: Lens' EnvironmentResourceDescription [LaunchConfiguration] erdLaunchConfigurations = lens _erdLaunchConfigurations (\ s a -> s{_erdLaunchConfigurations = a}) . _Default . _Coerce; -- | The 'AutoScalingGroups' used by this environment. erdAutoScalingGroups :: Lens' EnvironmentResourceDescription [AutoScalingGroup] erdAutoScalingGroups = lens _erdAutoScalingGroups (\ s a -> s{_erdAutoScalingGroups = a}) . _Default . _Coerce; instance FromXML EnvironmentResourceDescription where parseXML x = EnvironmentResourceDescription' <$> (x .@? "Queues" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "Triggers" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "LoadBalancers" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "EnvironmentName") <*> (x .@? "Instances" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "LaunchConfigurations" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "AutoScalingGroups" .!@ mempty >>= may (parseXMLList "member")) instance Hashable EnvironmentResourceDescription instance NFData EnvironmentResourceDescription -- | Describes the AWS resources in use by this environment. This data is not live data. -- -- /See:/ 'environmentResourcesDescription' smart constructor. newtype EnvironmentResourcesDescription = EnvironmentResourcesDescription' { _erdLoadBalancer :: Maybe LoadBalancerDescription } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnvironmentResourcesDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'erdLoadBalancer' environmentResourcesDescription :: EnvironmentResourcesDescription environmentResourcesDescription = EnvironmentResourcesDescription' { _erdLoadBalancer = Nothing } -- | Describes the LoadBalancer. erdLoadBalancer :: Lens' EnvironmentResourcesDescription (Maybe LoadBalancerDescription) erdLoadBalancer = lens _erdLoadBalancer (\ s a -> s{_erdLoadBalancer = a}); instance FromXML EnvironmentResourcesDescription where parseXML x = EnvironmentResourcesDescription' <$> (x .@? "LoadBalancer") instance Hashable EnvironmentResourcesDescription instance NFData EnvironmentResourcesDescription -- | Describes the properties of an environment tier -- -- /See:/ 'environmentTier' smart constructor. data EnvironmentTier = EnvironmentTier' { _etName :: !(Maybe Text) , _etVersion :: !(Maybe Text) , _etType :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EnvironmentTier' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'etName' -- -- * 'etVersion' -- -- * 'etType' environmentTier :: EnvironmentTier environmentTier = EnvironmentTier' { _etName = Nothing , _etVersion = Nothing , _etType = Nothing } -- | The name of this environment tier. etName :: Lens' EnvironmentTier (Maybe Text) etName = lens _etName (\ s a -> s{_etName = a}); -- | The version of this environment tier. etVersion :: Lens' EnvironmentTier (Maybe Text) etVersion = lens _etVersion (\ s a -> s{_etVersion = a}); -- | The type of this environment tier. etType :: Lens' EnvironmentTier (Maybe Text) etType = lens _etType (\ s a -> s{_etType = a}); instance FromXML EnvironmentTier where parseXML x = EnvironmentTier' <$> (x .@? "Name") <*> (x .@? "Version") <*> (x .@? "Type") instance Hashable EnvironmentTier instance NFData EnvironmentTier instance ToQuery EnvironmentTier where toQuery EnvironmentTier'{..} = mconcat ["Name" =: _etName, "Version" =: _etVersion, "Type" =: _etType] -- | Describes an event. -- -- /See:/ 'eventDescription' smart constructor. data EventDescription = EventDescription' { _edRequestId :: !(Maybe Text) , _edTemplateName :: !(Maybe Text) , _edSeverity :: !(Maybe EventSeverity) , _edVersionLabel :: !(Maybe Text) , _edEnvironmentName :: !(Maybe Text) , _edApplicationName :: !(Maybe Text) , _edEventDate :: !(Maybe ISO8601) , _edMessage :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'EventDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'edRequestId' -- -- * 'edTemplateName' -- -- * 'edSeverity' -- -- * 'edVersionLabel' -- -- * 'edEnvironmentName' -- -- * 'edApplicationName' -- -- * 'edEventDate' -- -- * 'edMessage' eventDescription :: EventDescription eventDescription = EventDescription' { _edRequestId = Nothing , _edTemplateName = Nothing , _edSeverity = Nothing , _edVersionLabel = Nothing , _edEnvironmentName = Nothing , _edApplicationName = Nothing , _edEventDate = Nothing , _edMessage = Nothing } -- | The web service request ID for the activity of this event. edRequestId :: Lens' EventDescription (Maybe Text) edRequestId = lens _edRequestId (\ s a -> s{_edRequestId = a}); -- | The name of the configuration associated with this event. edTemplateName :: Lens' EventDescription (Maybe Text) edTemplateName = lens _edTemplateName (\ s a -> s{_edTemplateName = a}); -- | The severity level of this event. edSeverity :: Lens' EventDescription (Maybe EventSeverity) edSeverity = lens _edSeverity (\ s a -> s{_edSeverity = a}); -- | The release label for the application version associated with this event. edVersionLabel :: Lens' EventDescription (Maybe Text) edVersionLabel = lens _edVersionLabel (\ s a -> s{_edVersionLabel = a}); -- | The name of the environment associated with this event. edEnvironmentName :: Lens' EventDescription (Maybe Text) edEnvironmentName = lens _edEnvironmentName (\ s a -> s{_edEnvironmentName = a}); -- | The application associated with the event. edApplicationName :: Lens' EventDescription (Maybe Text) edApplicationName = lens _edApplicationName (\ s a -> s{_edApplicationName = a}); -- | The date when the event occurred. edEventDate :: Lens' EventDescription (Maybe UTCTime) edEventDate = lens _edEventDate (\ s a -> s{_edEventDate = a}) . mapping _Time; -- | The event message. edMessage :: Lens' EventDescription (Maybe Text) edMessage = lens _edMessage (\ s a -> s{_edMessage = a}); instance FromXML EventDescription where parseXML x = EventDescription' <$> (x .@? "RequestId") <*> (x .@? "TemplateName") <*> (x .@? "Severity") <*> (x .@? "VersionLabel") <*> (x .@? "EnvironmentName") <*> (x .@? "ApplicationName") <*> (x .@? "EventDate") <*> (x .@? "Message") instance Hashable EventDescription instance NFData EventDescription -- | The description of an Amazon EC2 instance. -- -- /See:/ 'instance'' smart constructor. newtype Instance = Instance' { _iId :: Maybe Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Instance' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'iId' instance' :: Instance instance' = Instance' { _iId = Nothing } -- | The ID of the Amazon EC2 instance. iId :: Lens' Instance (Maybe Text) iId = lens _iId (\ s a -> s{_iId = a}); instance FromXML Instance where parseXML x = Instance' <$> (x .@? "Id") instance Hashable Instance instance NFData Instance -- | Represents summary information about the health of an instance. For more information, see . -- -- /See:/ 'instanceHealthSummary' smart constructor. data InstanceHealthSummary = InstanceHealthSummary' { _ihsOK :: !(Maybe Int) , _ihsPending :: !(Maybe Int) , _ihsSevere :: !(Maybe Int) , _ihsUnknown :: !(Maybe Int) , _ihsNoData :: !(Maybe Int) , _ihsWarning :: !(Maybe Int) , _ihsDegraded :: !(Maybe Int) , _ihsInfo :: !(Maybe Int) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'InstanceHealthSummary' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ihsOK' -- -- * 'ihsPending' -- -- * 'ihsSevere' -- -- * 'ihsUnknown' -- -- * 'ihsNoData' -- -- * 'ihsWarning' -- -- * 'ihsDegraded' -- -- * 'ihsInfo' instanceHealthSummary :: InstanceHealthSummary instanceHealthSummary = InstanceHealthSummary' { _ihsOK = Nothing , _ihsPending = Nothing , _ihsSevere = Nothing , _ihsUnknown = Nothing , _ihsNoData = Nothing , _ihsWarning = Nothing , _ihsDegraded = Nothing , _ihsInfo = Nothing } -- | __Green.__ An instance is passing health checks and the health agent is not reporting any problems. ihsOK :: Lens' InstanceHealthSummary (Maybe Int) ihsOK = lens _ihsOK (\ s a -> s{_ihsOK = a}); -- | __Grey.__ An operation is in progress on an instance within the command timeout. ihsPending :: Lens' InstanceHealthSummary (Maybe Int) ihsPending = lens _ihsPending (\ s a -> s{_ihsPending = a}); -- | __Red.__ The health agent is reporting a very high number of request failures or other issues for an instance or environment. ihsSevere :: Lens' InstanceHealthSummary (Maybe Int) ihsSevere = lens _ihsSevere (\ s a -> s{_ihsSevere = a}); -- | __Grey.__ AWS Elastic Beanstalk and the health agent are reporting an insufficient amount of data on an instance. ihsUnknown :: Lens' InstanceHealthSummary (Maybe Int) ihsUnknown = lens _ihsUnknown (\ s a -> s{_ihsUnknown = a}); -- | __Grey.__ AWS Elastic Beanstalk and the health agent are reporting no data on an instance. ihsNoData :: Lens' InstanceHealthSummary (Maybe Int) ihsNoData = lens _ihsNoData (\ s a -> s{_ihsNoData = a}); -- | __Yellow.__ The health agent is reporting a moderate number of request failures or other issues for an instance or environment. ihsWarning :: Lens' InstanceHealthSummary (Maybe Int) ihsWarning = lens _ihsWarning (\ s a -> s{_ihsWarning = a}); -- | __Red.__ The health agent is reporting a high number of request failures or other issues for an instance or environment. ihsDegraded :: Lens' InstanceHealthSummary (Maybe Int) ihsDegraded = lens _ihsDegraded (\ s a -> s{_ihsDegraded = a}); -- | __Green.__ An operation is in progress on an instance. ihsInfo :: Lens' InstanceHealthSummary (Maybe Int) ihsInfo = lens _ihsInfo (\ s a -> s{_ihsInfo = a}); instance FromXML InstanceHealthSummary where parseXML x = InstanceHealthSummary' <$> (x .@? "Ok") <*> (x .@? "Pending") <*> (x .@? "Severe") <*> (x .@? "Unknown") <*> (x .@? "NoData") <*> (x .@? "Warning") <*> (x .@? "Degraded") <*> (x .@? "Info") instance Hashable InstanceHealthSummary instance NFData InstanceHealthSummary -- | Represents the average latency for the slowest X percent of requests over the last 10 seconds. -- -- /See:/ 'latency' smart constructor. data Latency = Latency' { _lP75 :: !(Maybe Double) , _lP50 :: !(Maybe Double) , _lP85 :: !(Maybe Double) , _lP999 :: !(Maybe Double) , _lP90 :: !(Maybe Double) , _lP95 :: !(Maybe Double) , _lP99 :: !(Maybe Double) , _lP10 :: !(Maybe Double) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Latency' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lP75' -- -- * 'lP50' -- -- * 'lP85' -- -- * 'lP999' -- -- * 'lP90' -- -- * 'lP95' -- -- * 'lP99' -- -- * 'lP10' latency :: Latency latency = Latency' { _lP75 = Nothing , _lP50 = Nothing , _lP85 = Nothing , _lP999 = Nothing , _lP90 = Nothing , _lP95 = Nothing , _lP99 = Nothing , _lP10 = Nothing } -- | The average latency for the slowest 25 percent of requests over the last 10 seconds. lP75 :: Lens' Latency (Maybe Double) lP75 = lens _lP75 (\ s a -> s{_lP75 = a}); -- | The average latency for the slowest 50 percent of requests over the last 10 seconds. lP50 :: Lens' Latency (Maybe Double) lP50 = lens _lP50 (\ s a -> s{_lP50 = a}); -- | The average latency for the slowest 15 percent of requests over the last 10 seconds. lP85 :: Lens' Latency (Maybe Double) lP85 = lens _lP85 (\ s a -> s{_lP85 = a}); -- | The average latency for the slowest 0.1 percent of requests over the last 10 seconds. lP999 :: Lens' Latency (Maybe Double) lP999 = lens _lP999 (\ s a -> s{_lP999 = a}); -- | The average latency for the slowest 10 percent of requests over the last 10 seconds. lP90 :: Lens' Latency (Maybe Double) lP90 = lens _lP90 (\ s a -> s{_lP90 = a}); -- | The average latency for the slowest 5 percent of requests over the last 10 seconds. lP95 :: Lens' Latency (Maybe Double) lP95 = lens _lP95 (\ s a -> s{_lP95 = a}); -- | The average latency for the slowest 1 percent of requests over the last 10 seconds. lP99 :: Lens' Latency (Maybe Double) lP99 = lens _lP99 (\ s a -> s{_lP99 = a}); -- | The average latency for the slowest 90 percent of requests over the last 10 seconds. lP10 :: Lens' Latency (Maybe Double) lP10 = lens _lP10 (\ s a -> s{_lP10 = a}); instance FromXML Latency where parseXML x = Latency' <$> (x .@? "P75") <*> (x .@? "P50") <*> (x .@? "P85") <*> (x .@? "P999") <*> (x .@? "P90") <*> (x .@? "P95") <*> (x .@? "P99") <*> (x .@? "P10") instance Hashable Latency instance NFData Latency -- | Describes an Auto Scaling launch configuration. -- -- /See:/ 'launchConfiguration' smart constructor. newtype LaunchConfiguration = LaunchConfiguration' { _lcName :: Maybe Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'LaunchConfiguration' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lcName' launchConfiguration :: LaunchConfiguration launchConfiguration = LaunchConfiguration' { _lcName = Nothing } -- | The name of the launch configuration. lcName :: Lens' LaunchConfiguration (Maybe Text) lcName = lens _lcName (\ s a -> s{_lcName = a}); instance FromXML LaunchConfiguration where parseXML x = LaunchConfiguration' <$> (x .@? "Name") instance Hashable LaunchConfiguration instance NFData LaunchConfiguration -- | Describes the properties of a Listener for the LoadBalancer. -- -- /See:/ 'listener' smart constructor. data Listener = Listener' { _lProtocol :: !(Maybe Text) , _lPort :: !(Maybe Int) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Listener' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lProtocol' -- -- * 'lPort' listener :: Listener listener = Listener' { _lProtocol = Nothing , _lPort = Nothing } -- | The protocol that is used by the Listener. lProtocol :: Lens' Listener (Maybe Text) lProtocol = lens _lProtocol (\ s a -> s{_lProtocol = a}); -- | The port that is used by the Listener. lPort :: Lens' Listener (Maybe Int) lPort = lens _lPort (\ s a -> s{_lPort = a}); instance FromXML Listener where parseXML x = Listener' <$> (x .@? "Protocol") <*> (x .@? "Port") instance Hashable Listener instance NFData Listener -- | Describes a LoadBalancer. -- -- /See:/ 'loadBalancer' smart constructor. newtype LoadBalancer = LoadBalancer' { _lbName :: Maybe Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'LoadBalancer' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lbName' loadBalancer :: LoadBalancer loadBalancer = LoadBalancer' { _lbName = Nothing } -- | The name of the LoadBalancer. lbName :: Lens' LoadBalancer (Maybe Text) lbName = lens _lbName (\ s a -> s{_lbName = a}); instance FromXML LoadBalancer where parseXML x = LoadBalancer' <$> (x .@? "Name") instance Hashable LoadBalancer instance NFData LoadBalancer -- | Describes the details of a LoadBalancer. -- -- /See:/ 'loadBalancerDescription' smart constructor. data LoadBalancerDescription = LoadBalancerDescription' { _lbdLoadBalancerName :: !(Maybe Text) , _lbdDomain :: !(Maybe Text) , _lbdListeners :: !(Maybe [Listener]) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'LoadBalancerDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'lbdLoadBalancerName' -- -- * 'lbdDomain' -- -- * 'lbdListeners' loadBalancerDescription :: LoadBalancerDescription loadBalancerDescription = LoadBalancerDescription' { _lbdLoadBalancerName = Nothing , _lbdDomain = Nothing , _lbdListeners = Nothing } -- | The name of the LoadBalancer. lbdLoadBalancerName :: Lens' LoadBalancerDescription (Maybe Text) lbdLoadBalancerName = lens _lbdLoadBalancerName (\ s a -> s{_lbdLoadBalancerName = a}); -- | The domain name of the LoadBalancer. lbdDomain :: Lens' LoadBalancerDescription (Maybe Text) lbdDomain = lens _lbdDomain (\ s a -> s{_lbdDomain = a}); -- | A list of Listeners used by the LoadBalancer. lbdListeners :: Lens' LoadBalancerDescription [Listener] lbdListeners = lens _lbdListeners (\ s a -> s{_lbdListeners = a}) . _Default . _Coerce; instance FromXML LoadBalancerDescription where parseXML x = LoadBalancerDescription' <$> (x .@? "LoadBalancerName") <*> (x .@? "Domain") <*> (x .@? "Listeners" .!@ mempty >>= may (parseXMLList "member")) instance Hashable LoadBalancerDescription instance NFData LoadBalancerDescription -- | The record of an upcoming or in-progress managed action. -- -- /See:/ 'managedAction' smart constructor. data ManagedAction = ManagedAction' { _maStatus :: !(Maybe ActionStatus) , _maActionId :: !(Maybe Text) , _maWindowStartTime :: !(Maybe ISO8601) , _maActionDescription :: !(Maybe Text) , _maActionType :: !(Maybe ActionType) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ManagedAction' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'maStatus' -- -- * 'maActionId' -- -- * 'maWindowStartTime' -- -- * 'maActionDescription' -- -- * 'maActionType' managedAction :: ManagedAction managedAction = ManagedAction' { _maStatus = Nothing , _maActionId = Nothing , _maWindowStartTime = Nothing , _maActionDescription = Nothing , _maActionType = Nothing } -- | The status of the managed action. If the action is 'Scheduled', you can apply it immediately with < ApplyEnvironmentManagedAction>. maStatus :: Lens' ManagedAction (Maybe ActionStatus) maStatus = lens _maStatus (\ s a -> s{_maStatus = a}); -- | A unique identifier for the managed action. maActionId :: Lens' ManagedAction (Maybe Text) maActionId = lens _maActionId (\ s a -> s{_maActionId = a}); -- | The start time of the maintenance window in which the managed action will execute. maWindowStartTime :: Lens' ManagedAction (Maybe UTCTime) maWindowStartTime = lens _maWindowStartTime (\ s a -> s{_maWindowStartTime = a}) . mapping _Time; -- | A description of the managed action. maActionDescription :: Lens' ManagedAction (Maybe Text) maActionDescription = lens _maActionDescription (\ s a -> s{_maActionDescription = a}); -- | The type of managed action. maActionType :: Lens' ManagedAction (Maybe ActionType) maActionType = lens _maActionType (\ s a -> s{_maActionType = a}); instance FromXML ManagedAction where parseXML x = ManagedAction' <$> (x .@? "Status") <*> (x .@? "ActionId") <*> (x .@? "WindowStartTime") <*> (x .@? "ActionDescription") <*> (x .@? "ActionType") instance Hashable ManagedAction instance NFData ManagedAction -- | The record of a completed or failed managed action. -- -- /See:/ 'managedActionHistoryItem' smart constructor. data ManagedActionHistoryItem = ManagedActionHistoryItem' { _mahiStatus :: !(Maybe ActionHistoryStatus) , _mahiFailureType :: !(Maybe FailureType) , _mahiActionId :: !(Maybe Text) , _mahiFailureDescription :: !(Maybe Text) , _mahiFinishedTime :: !(Maybe ISO8601) , _mahiActionDescription :: !(Maybe Text) , _mahiExecutedTime :: !(Maybe ISO8601) , _mahiActionType :: !(Maybe ActionType) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ManagedActionHistoryItem' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'mahiStatus' -- -- * 'mahiFailureType' -- -- * 'mahiActionId' -- -- * 'mahiFailureDescription' -- -- * 'mahiFinishedTime' -- -- * 'mahiActionDescription' -- -- * 'mahiExecutedTime' -- -- * 'mahiActionType' managedActionHistoryItem :: ManagedActionHistoryItem managedActionHistoryItem = ManagedActionHistoryItem' { _mahiStatus = Nothing , _mahiFailureType = Nothing , _mahiActionId = Nothing , _mahiFailureDescription = Nothing , _mahiFinishedTime = Nothing , _mahiActionDescription = Nothing , _mahiExecutedTime = Nothing , _mahiActionType = Nothing } -- | The status of the action. mahiStatus :: Lens' ManagedActionHistoryItem (Maybe ActionHistoryStatus) mahiStatus = lens _mahiStatus (\ s a -> s{_mahiStatus = a}); -- | If the action failed, the type of failure. mahiFailureType :: Lens' ManagedActionHistoryItem (Maybe FailureType) mahiFailureType = lens _mahiFailureType (\ s a -> s{_mahiFailureType = a}); -- | A unique identifier for the managed action. mahiActionId :: Lens' ManagedActionHistoryItem (Maybe Text) mahiActionId = lens _mahiActionId (\ s a -> s{_mahiActionId = a}); -- | If the action failed, a description of the failure. mahiFailureDescription :: Lens' ManagedActionHistoryItem (Maybe Text) mahiFailureDescription = lens _mahiFailureDescription (\ s a -> s{_mahiFailureDescription = a}); -- | The date and time that the action finished executing. mahiFinishedTime :: Lens' ManagedActionHistoryItem (Maybe UTCTime) mahiFinishedTime = lens _mahiFinishedTime (\ s a -> s{_mahiFinishedTime = a}) . mapping _Time; -- | A description of the managed action. mahiActionDescription :: Lens' ManagedActionHistoryItem (Maybe Text) mahiActionDescription = lens _mahiActionDescription (\ s a -> s{_mahiActionDescription = a}); -- | The date and time that the action started executing. mahiExecutedTime :: Lens' ManagedActionHistoryItem (Maybe UTCTime) mahiExecutedTime = lens _mahiExecutedTime (\ s a -> s{_mahiExecutedTime = a}) . mapping _Time; -- | The type of the managed action. mahiActionType :: Lens' ManagedActionHistoryItem (Maybe ActionType) mahiActionType = lens _mahiActionType (\ s a -> s{_mahiActionType = a}); instance FromXML ManagedActionHistoryItem where parseXML x = ManagedActionHistoryItem' <$> (x .@? "Status") <*> (x .@? "FailureType") <*> (x .@? "ActionId") <*> (x .@? "FailureDescription") <*> (x .@? "FinishedTime") <*> (x .@? "ActionDescription") <*> (x .@? "ExecutedTime") <*> (x .@? "ActionType") instance Hashable ManagedActionHistoryItem instance NFData ManagedActionHistoryItem -- | A regular expression representing a restriction on a string configuration option value. -- -- /See:/ 'optionRestrictionRegex' smart constructor. data OptionRestrictionRegex = OptionRestrictionRegex' { _orrPattern :: !(Maybe Text) , _orrLabel :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'OptionRestrictionRegex' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'orrPattern' -- -- * 'orrLabel' optionRestrictionRegex :: OptionRestrictionRegex optionRestrictionRegex = OptionRestrictionRegex' { _orrPattern = Nothing , _orrLabel = Nothing } -- | The regular expression pattern that a string configuration option value with this restriction must match. orrPattern :: Lens' OptionRestrictionRegex (Maybe Text) orrPattern = lens _orrPattern (\ s a -> s{_orrPattern = a}); -- | A unique name representing this regular expression. orrLabel :: Lens' OptionRestrictionRegex (Maybe Text) orrLabel = lens _orrLabel (\ s a -> s{_orrLabel = a}); instance FromXML OptionRestrictionRegex where parseXML x = OptionRestrictionRegex' <$> (x .@? "Pattern") <*> (x .@? "Label") instance Hashable OptionRestrictionRegex instance NFData OptionRestrictionRegex -- | A specification identifying an individual configuration option. -- -- /See:/ 'optionSpecification' smart constructor. data OptionSpecification = OptionSpecification' { _osOptionName :: !(Maybe Text) , _osResourceName :: !(Maybe Text) , _osNamespace :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'OptionSpecification' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'osOptionName' -- -- * 'osResourceName' -- -- * 'osNamespace' optionSpecification :: OptionSpecification optionSpecification = OptionSpecification' { _osOptionName = Nothing , _osResourceName = Nothing , _osNamespace = Nothing } -- | The name of the configuration option. osOptionName :: Lens' OptionSpecification (Maybe Text) osOptionName = lens _osOptionName (\ s a -> s{_osOptionName = a}); -- | A unique resource name for a time-based scaling configuration option. osResourceName :: Lens' OptionSpecification (Maybe Text) osResourceName = lens _osResourceName (\ s a -> s{_osResourceName = a}); -- | A unique namespace identifying the option\'s associated AWS resource. osNamespace :: Lens' OptionSpecification (Maybe Text) osNamespace = lens _osNamespace (\ s a -> s{_osNamespace = a}); instance Hashable OptionSpecification instance NFData OptionSpecification instance ToQuery OptionSpecification where toQuery OptionSpecification'{..} = mconcat ["OptionName" =: _osOptionName, "ResourceName" =: _osResourceName, "Namespace" =: _osNamespace] -- | Describes a queue. -- -- /See:/ 'queue' smart constructor. data Queue = Queue' { _qURL :: !(Maybe Text) , _qName :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Queue' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'qURL' -- -- * 'qName' queue :: Queue queue = Queue' { _qURL = Nothing , _qName = Nothing } -- | The URL of the queue. qURL :: Lens' Queue (Maybe Text) qURL = lens _qURL (\ s a -> s{_qURL = a}); -- | The name of the queue. qName :: Lens' Queue (Maybe Text) qName = lens _qName (\ s a -> s{_qName = a}); instance FromXML Queue where parseXML x = Queue' <$> (x .@? "URL") <*> (x .@? "Name") instance Hashable Queue instance NFData Queue -- | A specification of a location in Amazon S3. -- -- /See:/ 's3Location' smart constructor. data S3Location = S3Location' { _slS3Key :: !(Maybe Text) , _slS3Bucket :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'S3Location' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'slS3Key' -- -- * 'slS3Bucket' s3Location :: S3Location s3Location = S3Location' { _slS3Key = Nothing , _slS3Bucket = Nothing } -- | The Amazon S3 key where the data is located. slS3Key :: Lens' S3Location (Maybe Text) slS3Key = lens _slS3Key (\ s a -> s{_slS3Key = a}); -- | The Amazon S3 bucket where the data is located. slS3Bucket :: Lens' S3Location (Maybe Text) slS3Bucket = lens _slS3Bucket (\ s a -> s{_slS3Bucket = a}); instance FromXML S3Location where parseXML x = S3Location' <$> (x .@? "S3Key") <*> (x .@? "S3Bucket") instance Hashable S3Location instance NFData S3Location instance ToQuery S3Location where toQuery S3Location'{..} = mconcat ["S3Key" =: _slS3Key, "S3Bucket" =: _slS3Bucket] -- | Represents health information from the specified instance that belongs to the AWS Elastic Beanstalk environment. Use the 'InstanceId' property to specify the application instance for which you\'d like to return data. -- -- /See:/ 'singleInstanceHealth' smart constructor. data SingleInstanceHealth = SingleInstanceHealth' { _sihInstanceId :: !(Maybe Text) , _sihCauses :: !(Maybe [Text]) , _sihSystem :: !(Maybe SystemStatus) , _sihApplicationMetrics :: !(Maybe ApplicationMetrics) , _sihColor :: !(Maybe Text) , _sihInstanceType :: !(Maybe Text) , _sihAvailabilityZone :: !(Maybe Text) , _sihHealthStatus :: !(Maybe Text) , _sihDeployment :: !(Maybe Deployment) , _sihLaunchedAt :: !(Maybe ISO8601) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SingleInstanceHealth' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'sihInstanceId' -- -- * 'sihCauses' -- -- * 'sihSystem' -- -- * 'sihApplicationMetrics' -- -- * 'sihColor' -- -- * 'sihInstanceType' -- -- * 'sihAvailabilityZone' -- -- * 'sihHealthStatus' -- -- * 'sihDeployment' -- -- * 'sihLaunchedAt' singleInstanceHealth :: SingleInstanceHealth singleInstanceHealth = SingleInstanceHealth' { _sihInstanceId = Nothing , _sihCauses = Nothing , _sihSystem = Nothing , _sihApplicationMetrics = Nothing , _sihColor = Nothing , _sihInstanceType = Nothing , _sihAvailabilityZone = Nothing , _sihHealthStatus = Nothing , _sihDeployment = Nothing , _sihLaunchedAt = Nothing } -- | The ID of the Amazon EC2 instance. sihInstanceId :: Lens' SingleInstanceHealth (Maybe Text) sihInstanceId = lens _sihInstanceId (\ s a -> s{_sihInstanceId = a}); -- | Represents the causes, which provide more information about the current health status. sihCauses :: Lens' SingleInstanceHealth [Text] sihCauses = lens _sihCauses (\ s a -> s{_sihCauses = a}) . _Default . _Coerce; -- | Undocumented member. sihSystem :: Lens' SingleInstanceHealth (Maybe SystemStatus) sihSystem = lens _sihSystem (\ s a -> s{_sihSystem = a}); -- | Undocumented member. sihApplicationMetrics :: Lens' SingleInstanceHealth (Maybe ApplicationMetrics) sihApplicationMetrics = lens _sihApplicationMetrics (\ s a -> s{_sihApplicationMetrics = a}); -- | Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see . sihColor :: Lens' SingleInstanceHealth (Maybe Text) sihColor = lens _sihColor (\ s a -> s{_sihColor = a}); -- | The instance\'s type. sihInstanceType :: Lens' SingleInstanceHealth (Maybe Text) sihInstanceType = lens _sihInstanceType (\ s a -> s{_sihInstanceType = a}); -- | The availability zone in which the instance runs. sihAvailabilityZone :: Lens' SingleInstanceHealth (Maybe Text) sihAvailabilityZone = lens _sihAvailabilityZone (\ s a -> s{_sihAvailabilityZone = a}); -- | Returns the health status of the specified instance. For more information, see . sihHealthStatus :: Lens' SingleInstanceHealth (Maybe Text) sihHealthStatus = lens _sihHealthStatus (\ s a -> s{_sihHealthStatus = a}); -- | Information about the most recent deployment to an instance. sihDeployment :: Lens' SingleInstanceHealth (Maybe Deployment) sihDeployment = lens _sihDeployment (\ s a -> s{_sihDeployment = a}); -- | The time at which the EC2 instance was launched. sihLaunchedAt :: Lens' SingleInstanceHealth (Maybe UTCTime) sihLaunchedAt = lens _sihLaunchedAt (\ s a -> s{_sihLaunchedAt = a}) . mapping _Time; instance FromXML SingleInstanceHealth where parseXML x = SingleInstanceHealth' <$> (x .@? "InstanceId") <*> (x .@? "Causes" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "System") <*> (x .@? "ApplicationMetrics") <*> (x .@? "Color") <*> (x .@? "InstanceType") <*> (x .@? "AvailabilityZone") <*> (x .@? "HealthStatus") <*> (x .@? "Deployment") <*> (x .@? "LaunchedAt") instance Hashable SingleInstanceHealth instance NFData SingleInstanceHealth -- | Describes the solution stack. -- -- /See:/ 'solutionStackDescription' smart constructor. data SolutionStackDescription = SolutionStackDescription' { _ssdPermittedFileTypes :: !(Maybe [Text]) , _ssdSolutionStackName :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SolutionStackDescription' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ssdPermittedFileTypes' -- -- * 'ssdSolutionStackName' solutionStackDescription :: SolutionStackDescription solutionStackDescription = SolutionStackDescription' { _ssdPermittedFileTypes = Nothing , _ssdSolutionStackName = Nothing } -- | The permitted file types allowed for a solution stack. ssdPermittedFileTypes :: Lens' SolutionStackDescription [Text] ssdPermittedFileTypes = lens _ssdPermittedFileTypes (\ s a -> s{_ssdPermittedFileTypes = a}) . _Default . _Coerce; -- | The name of the solution stack. ssdSolutionStackName :: Lens' SolutionStackDescription (Maybe Text) ssdSolutionStackName = lens _ssdSolutionStackName (\ s a -> s{_ssdSolutionStackName = a}); instance FromXML SolutionStackDescription where parseXML x = SolutionStackDescription' <$> (x .@? "PermittedFileTypes" .!@ mempty >>= may (parseXMLList "member")) <*> (x .@? "SolutionStackName") instance Hashable SolutionStackDescription instance NFData SolutionStackDescription -- | A specification for an environment configuration -- -- /See:/ 'sourceConfiguration' smart constructor. data SourceConfiguration = SourceConfiguration' { _scTemplateName :: !(Maybe Text) , _scApplicationName :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SourceConfiguration' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'scTemplateName' -- -- * 'scApplicationName' sourceConfiguration :: SourceConfiguration sourceConfiguration = SourceConfiguration' { _scTemplateName = Nothing , _scApplicationName = Nothing } -- | The name of the configuration template. scTemplateName :: Lens' SourceConfiguration (Maybe Text) scTemplateName = lens _scTemplateName (\ s a -> s{_scTemplateName = a}); -- | The name of the application associated with the configuration. scApplicationName :: Lens' SourceConfiguration (Maybe Text) scApplicationName = lens _scApplicationName (\ s a -> s{_scApplicationName = a}); instance Hashable SourceConfiguration instance NFData SourceConfiguration instance ToQuery SourceConfiguration where toQuery SourceConfiguration'{..} = mconcat ["TemplateName" =: _scTemplateName, "ApplicationName" =: _scApplicationName] -- | Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response. For more information, see . -- -- /See:/ 'statusCodes' smart constructor. data StatusCodes = StatusCodes' { _scStatus2xx :: !(Maybe Int) , _scStatus3xx :: !(Maybe Int) , _scStatus4xx :: !(Maybe Int) , _scStatus5xx :: !(Maybe Int) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'StatusCodes' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'scStatus2xx' -- -- * 'scStatus3xx' -- -- * 'scStatus4xx' -- -- * 'scStatus5xx' statusCodes :: StatusCodes statusCodes = StatusCodes' { _scStatus2xx = Nothing , _scStatus3xx = Nothing , _scStatus4xx = Nothing , _scStatus5xx = Nothing } -- | The percentage of requests over the last 10 seconds that resulted in a 2xx (200, 201, etc.) status code. scStatus2xx :: Lens' StatusCodes (Maybe Int) scStatus2xx = lens _scStatus2xx (\ s a -> s{_scStatus2xx = a}); -- | The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301, etc.) status code. scStatus3xx :: Lens' StatusCodes (Maybe Int) scStatus3xx = lens _scStatus3xx (\ s a -> s{_scStatus3xx = a}); -- | The percentage of requests over the last 10 seconds that resulted in a 4xx (400, 401, etc.) status code. scStatus4xx :: Lens' StatusCodes (Maybe Int) scStatus4xx = lens _scStatus4xx (\ s a -> s{_scStatus4xx = a}); -- | The percentage of requests over the last 10 seconds that resulted in a 5xx (500, 501, etc.) status code. scStatus5xx :: Lens' StatusCodes (Maybe Int) scStatus5xx = lens _scStatus5xx (\ s a -> s{_scStatus5xx = a}); instance FromXML StatusCodes where parseXML x = StatusCodes' <$> (x .@? "Status2xx") <*> (x .@? "Status3xx") <*> (x .@? "Status4xx") <*> (x .@? "Status5xx") instance Hashable StatusCodes instance NFData StatusCodes -- | Represents CPU utilization and load average information for applications running in the specified environment. -- -- /See:/ 'systemStatus' smart constructor. data SystemStatus = SystemStatus' { _ssCPUUtilization :: !(Maybe CPUUtilization) , _ssLoadAverage :: !(Maybe [Double]) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'SystemStatus' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ssCPUUtilization' -- -- * 'ssLoadAverage' systemStatus :: SystemStatus systemStatus = SystemStatus' { _ssCPUUtilization = Nothing , _ssLoadAverage = Nothing } -- | Undocumented member. ssCPUUtilization :: Lens' SystemStatus (Maybe CPUUtilization) ssCPUUtilization = lens _ssCPUUtilization (\ s a -> s{_ssCPUUtilization = a}); -- | Load average in the last 1-minute and 5-minute periods. For more information, see . ssLoadAverage :: Lens' SystemStatus [Double] ssLoadAverage = lens _ssLoadAverage (\ s a -> s{_ssLoadAverage = a}) . _Default . _Coerce; instance FromXML SystemStatus where parseXML x = SystemStatus' <$> (x .@? "CPUUtilization") <*> (x .@? "LoadAverage" .!@ mempty >>= may (parseXMLList "member")) instance Hashable SystemStatus instance NFData SystemStatus -- | Describes a tag applied to a resource in an environment. -- -- /See:/ 'tag' smart constructor. data Tag = Tag' { _tagValue :: !(Maybe Text) , _tagKey :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Tag' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'tagValue' -- -- * 'tagKey' tag :: Tag tag = Tag' { _tagValue = Nothing , _tagKey = Nothing } -- | The value of the tag. tagValue :: Lens' Tag (Maybe Text) tagValue = lens _tagValue (\ s a -> s{_tagValue = a}); -- | The key of the tag. tagKey :: Lens' Tag (Maybe Text) tagKey = lens _tagKey (\ s a -> s{_tagKey = a}); instance Hashable Tag instance NFData Tag instance ToQuery Tag where toQuery Tag'{..} = mconcat ["Value" =: _tagValue, "Key" =: _tagKey] -- | Describes a trigger. -- -- /See:/ 'trigger' smart constructor. newtype Trigger = Trigger' { _tName :: Maybe Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'Trigger' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'tName' trigger :: Trigger trigger = Trigger' { _tName = Nothing } -- | The name of the trigger. tName :: Lens' Trigger (Maybe Text) tName = lens _tName (\ s a -> s{_tName = a}); instance FromXML Trigger where parseXML x = Trigger' <$> (x .@? "Name") instance Hashable Trigger instance NFData Trigger -- | An error or warning for a desired configuration option value. -- -- /See:/ 'validationMessage' smart constructor. data ValidationMessage = ValidationMessage' { _vmOptionName :: !(Maybe Text) , _vmSeverity :: !(Maybe ValidationSeverity) , _vmNamespace :: !(Maybe Text) , _vmMessage :: !(Maybe Text) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'ValidationMessage' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'vmOptionName' -- -- * 'vmSeverity' -- -- * 'vmNamespace' -- -- * 'vmMessage' validationMessage :: ValidationMessage validationMessage = ValidationMessage' { _vmOptionName = Nothing , _vmSeverity = Nothing , _vmNamespace = Nothing , _vmMessage = Nothing } -- | vmOptionName :: Lens' ValidationMessage (Maybe Text) vmOptionName = lens _vmOptionName (\ s a -> s{_vmOptionName = a}); -- | An indication of the severity of this message: -- -- - 'error': This message indicates that this is not a valid setting for an option. -- - 'warning': This message is providing information you should take into account. vmSeverity :: Lens' ValidationMessage (Maybe ValidationSeverity) vmSeverity = lens _vmSeverity (\ s a -> s{_vmSeverity = a}); -- | vmNamespace :: Lens' ValidationMessage (Maybe Text) vmNamespace = lens _vmNamespace (\ s a -> s{_vmNamespace = a}); -- | A message describing the error or warning. vmMessage :: Lens' ValidationMessage (Maybe Text) vmMessage = lens _vmMessage (\ s a -> s{_vmMessage = a}); instance FromXML ValidationMessage where parseXML x = ValidationMessage' <$> (x .@? "OptionName") <*> (x .@? "Severity") <*> (x .@? "Namespace") <*> (x .@? "Message") instance Hashable ValidationMessage instance NFData ValidationMessage