amazonka-emr 0.0.1 → 0.0.2
raw patch · 16 files changed
+390/−337 lines, 16 filesdep ~amazonka-corePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: amazonka-core
API changes (from Hackage documentation)
Files
- README.md +5/−1
- amazonka-emr.cabal +7/−7
- gen/Network/AWS/EMR.hs +5/−5
- gen/Network/AWS/EMR/AddJobFlowSteps.hs +26/−21
- gen/Network/AWS/EMR/AddTags.hs +7/−8
- gen/Network/AWS/EMR/DescribeCluster.hs +1/−1
- gen/Network/AWS/EMR/DescribeJobFlows.hs +18/−14
- gen/Network/AWS/EMR/ListClusters.hs +5/−5
- gen/Network/AWS/EMR/ListInstances.hs +4/−4
- gen/Network/AWS/EMR/ModifyInstanceGroups.hs +4/−4
- gen/Network/AWS/EMR/RemoveTags.hs +4/−4
- gen/Network/AWS/EMR/RunJobFlow.hs +53/−51
- gen/Network/AWS/EMR/SetTerminationProtection.hs +19/−17
- gen/Network/AWS/EMR/SetVisibleToAllUsers.hs +9/−9
- gen/Network/AWS/EMR/TerminateJobFlows.hs +5/−3
- gen/Network/AWS/EMR/Types.hs +218/−183
README.md view
@@ -8,7 +8,11 @@ ## Description -Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do such tasks as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.+ Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it easy to+ process large amounts of data efficiently. Amazon EMR uses Hadoop processing+ combined with several AWS products to do such tasks as web indexing, data+ mining, log file analysis, machine learning, scientific simulation, and data+ warehousing. Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-emr) and [AWS API Reference](http://docs.aws.amazon.com/ElasticMapReduce/latest/API/Welcome.html).
amazonka-emr.cabal view
@@ -1,5 +1,5 @@ name: amazonka-emr-version: 0.0.1+version: 0.0.2 synopsis: Amazon Elastic MapReduce SDK. homepage: https://github.com/brendanhay/amazonka license: OtherLicense@@ -13,11 +13,11 @@ cabal-version: >= 1.10 description:- Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it- easy to process large amounts of data efficiently. Amazon EMR uses- Hadoop processing combined with several AWS products to do such tasks- as web indexing, data mining, log file analysis, machine learning,- scientific simulation, and data warehousing.+ Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it easy to+ process large amounts of data efficiently. Amazon EMR uses Hadoop processing+ combined with several AWS products to do such tasks as web indexing, data+ mining, log file analysis, machine learning, scientific simulation, and data+ warehousing. . /See:/ <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/Welcome.html AWS API Reference> .@@ -58,5 +58,5 @@ other-modules: build-depends:- amazonka-core == 0.0.1.*+ amazonka-core == 0.0.2.* , base >= 4.7 && < 5
gen/Network/AWS/EMR.hs view
@@ -8,11 +8,11 @@ -- Stability : experimental -- Portability : non-portable (GHC extensions) --- | Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it easy--- to process large amounts of data efficiently. Amazon EMR uses Hadoop--- processing combined with several AWS products to do such tasks as web--- indexing, data mining, log file analysis, machine learning, scientific--- simulation, and data warehousing.+-- | Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it easy to+-- process large amounts of data efficiently. Amazon EMR uses Hadoop processing+-- combined with several AWS products to do such tasks as web indexing, data+-- mining, log file analysis, machine learning, scientific simulation, and data+-- warehousing. module Network.AWS.EMR ( module Network.AWS.EMR.AddInstanceGroups , module Network.AWS.EMR.AddJobFlowSteps
gen/Network/AWS/EMR/AddJobFlowSteps.hs view
@@ -20,25 +20,30 @@ -- Stability : experimental -- Portability : non-portable (GHC extensions) --- | AddJobFlowSteps adds new steps to a running job flow. A maximum of 256--- steps are allowed in each job flow. If your job flow is long-running (such--- as a Hive data warehouse) or complex, you may require more than 256 steps--- to process your data. You can bypass the 256-step limitation in various--- ways, including using the SSH shell to connect to the master node and--- submitting queries directly to the software running on the master node,--- such as Hive and Hadoop. For more information on how to do this, go to Add--- More than 256 Steps to a Job Flow in the Amazon Elastic MapReduce--- Developer's Guide. A step specifies the location of a JAR file stored--- either on the master node of the job flow or in Amazon S3. Each step is--- performed by the main function of the main class of the JAR file. The main--- class can be specified either in the manifest of the JAR or by using the--- MainFunction parameter of the step. Elastic MapReduce executes each step in--- the order listed. For a step to be considered complete, the main function--- must exit with a zero exit code and all Hadoop jobs started while the step--- was running must have completed and run successfully. You can only add--- steps to a job flow that is in one of the following states: STARTING,--- BOOTSTRAPPING, RUNNING, or WAITING.+-- | AddJobFlowSteps adds new steps to a running job flow. A maximum of 256 steps+-- are allowed in each job flow. --+-- If your job flow is long-running (such as a Hive data warehouse) or complex,+-- you may require more than 256 steps to process your data. You can bypass the+-- 256-step limitation in various ways, including using the SSH shell to connect+-- to the master node and submitting queries directly to the software running on+-- the master node, such as Hive and Hadoop. For more information on how to do+-- this, go to <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html Add More than 256 Steps to a Job Flow> in the /Amazon ElasticMapReduce Developer's Guide/.+--+-- A step specifies the location of a JAR file stored either on the master+-- node of the job flow or in Amazon S3. Each step is performed by the main+-- function of the main class of the JAR file. The main class can be specified+-- either in the manifest of the JAR or by using the MainFunction parameter of+-- the step.+--+-- Elastic MapReduce executes each step in the order listed. For a step to be+-- considered complete, the main function must exit with a zero exit code and+-- all Hadoop jobs started while the step was running must have completed and+-- run successfully.+--+-- You can only add steps to a job flow that is in one of the following+-- states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.+-- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_AddJobFlowSteps.html> module Network.AWS.EMR.AddJobFlowSteps (@@ -83,12 +88,12 @@ , _ajfsSteps = mempty } --- | A string that uniquely identifies the job flow. This identifier is--- returned by RunJobFlow and can also be obtained from ListClusters.+-- | A string that uniquely identifies the job flow. This identifier is returned+-- by 'RunJobFlow' and can also be obtained from 'ListClusters'. ajfsJobFlowId :: Lens' AddJobFlowSteps Text ajfsJobFlowId = lens _ajfsJobFlowId (\s a -> s { _ajfsJobFlowId = a }) --- | A list of StepConfig to be executed by the job flow.+-- | A list of 'StepConfig' to be executed by the job flow. ajfsSteps :: Lens' AddJobFlowSteps [StepConfig] ajfsSteps = lens _ajfsSteps (\s a -> s { _ajfsSteps = a }) . _List
gen/Network/AWS/EMR/AddTags.hs view
@@ -21,9 +21,8 @@ -- Portability : non-portable (GHC extensions) -- | Adds tags to an Amazon EMR resource. Tags make it easier to associate--- clusters in various ways, such as grouping clusters to track your Amazon--- EMR resource allocation costs. For more information, see Tagging Amazon EMR--- Resources.+-- clusters in various ways, such as grouping clusters to track your Amazon EMR+-- resource allocation costs. For more information, see <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html Tagging Amazon EMRResources>. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_AddTags.html> module Network.AWS.EMR.AddTags@@ -67,15 +66,15 @@ , _atTags = mempty } --- | The Amazon EMR resource identifier to which tags will be added. This--- value must be a cluster identifier.+-- | The Amazon EMR resource identifier to which tags will be added. This value+-- must be a cluster identifier. atResourceId :: Lens' AddTags Text atResourceId = lens _atResourceId (\s a -> s { _atResourceId = a }) -- | A list of tags to associate with a cluster and propagate to Amazon EC2--- instances. Tags are user-defined key/value pairs that consist of a--- required key string with a maximum of 128 characters, and an optional--- value string with a maximum of 256 characters.+-- instances. Tags are user-defined key/value pairs that consist of a required+-- key string with a maximum of 128 characters, and an optional value string+-- with a maximum of 256 characters. atTags :: Lens' AddTags [Tag] atTags = lens _atTags (\s a -> s { _atTags = a }) . _List
gen/Network/AWS/EMR/DescribeCluster.hs view
@@ -22,7 +22,7 @@ -- | Provides cluster-level details including status, hardware and software -- configuration, VPC settings, and so on. For information about the cluster--- steps, see ListSteps.+-- steps, see 'ListSteps'. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_DescribeCluster.html> module Network.AWS.EMR.DescribeCluster
gen/Network/AWS/EMR/DescribeJobFlows.hs view
@@ -20,19 +20,23 @@ -- Stability : experimental -- Portability : non-portable (GHC extensions) --- | This API is deprecated and will eventually be removed. We recommend you use--- ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and--- ListBootstrapActions instead. DescribeJobFlows returns a list of job flows--- that match all of the supplied parameters. The parameters can include a--- list of job flow IDs, job flow states, and restrictions on job flow--- creation date and time. Regardless of supplied parameters, only job flows--- created within the last two months are returned. If no parameters are--- supplied, then job flows matching either of the following criteria are--- returned: Job flows created and completed in the last two weeks Job flows--- created within the last two months that are in one of the following states:--- RUNNING, WAITING, SHUTTING_DOWN, STARTING Amazon Elastic MapReduce can--- return a maximum of 512 job flow descriptions.+-- | This API is deprecated and will eventually be removed. We recommend you use 'ListClusters', 'DescribeCluster', 'ListSteps', 'ListInstanceGroups' and 'ListBootstrapActions'+-- instead. --+-- DescribeJobFlows returns a list of job flows that match all of the supplied+-- parameters. The parameters can include a list of job flow IDs, job flow+-- states, and restrictions on job flow creation date and time.+--+-- Regardless of supplied parameters, only job flows created within the last+-- two months are returned.+--+-- If no parameters are supplied, then job flows matching either of the+-- following criteria are returned:+--+-- Job flows created and completed in the last two weeks Job flows created+-- within the last two months that are in one of the following states: 'RUNNING', 'WAITING', 'SHUTTING_DOWN', 'STARTING' Amazon Elastic MapReduce can return a maximum of+-- 512 job flow descriptions.+-- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_DescribeJobFlows.html> module Network.AWS.EMR.DescribeJobFlows (@@ -60,8 +64,8 @@ import qualified GHC.Exts data DescribeJobFlows = DescribeJobFlows- { _djfCreatedAfter :: Maybe RFC822- , _djfCreatedBefore :: Maybe RFC822+ { _djfCreatedAfter :: Maybe ISO8601+ , _djfCreatedBefore :: Maybe ISO8601 , _djfJobFlowIds :: List "Args" Text , _djfJobFlowStates :: List "JobFlowStates" JobFlowExecutionState } deriving (Eq, Show)
gen/Network/AWS/EMR/ListClusters.hs view
@@ -22,9 +22,9 @@ -- | Provides the status of all clusters visible to this AWS account. Allows you -- to filter the list of clusters based on certain criteria; for example,--- filtering by cluster creation date and time or by status. This call returns--- a maximum of 50 clusters per call, but returns a marker to track the paging--- of the cluster list across multiple ListClusters calls.+-- filtering by cluster creation date and time or by status. This call returns a+-- maximum of 50 clusters per call, but returns a marker to track the paging of+-- the cluster list across multiple ListClusters calls. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_ListClusters.html> module Network.AWS.EMR.ListClusters@@ -55,8 +55,8 @@ data ListClusters = ListClusters { _lcClusterStates :: List "ClusterStates" ClusterState- , _lcCreatedAfter :: Maybe RFC822- , _lcCreatedBefore :: Maybe RFC822+ , _lcCreatedAfter :: Maybe ISO8601+ , _lcCreatedBefore :: Maybe ISO8601 , _lcMarker :: Maybe Text } deriving (Eq, Show)
gen/Network/AWS/EMR/ListInstances.hs view
@@ -21,10 +21,10 @@ -- Portability : non-portable (GHC extensions) -- | Provides information about the cluster instances that Amazon EMR provisions--- on behalf of a user when it creates the cluster. For example, this--- operation indicates when the EC2 instances reach the Ready state, when--- instances become available to Amazon EMR to use for jobs, and the IP--- addresses for cluster instances, etc.+-- on behalf of a user when it creates the cluster. For example, this operation+-- indicates when the EC2 instances reach the Ready state, when instances become+-- available to Amazon EMR to use for jobs, and the IP addresses for cluster+-- instances, etc. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_ListInstances.html> module Network.AWS.EMR.ListInstances
gen/Network/AWS/EMR/ModifyInstanceGroups.hs view
@@ -20,10 +20,10 @@ -- Stability : experimental -- Portability : non-portable (GHC extensions) --- | ModifyInstanceGroups modifies the number of nodes and configuration--- settings of an instance group. The input parameters include the new target--- instance count for the group and the instance group ID. The call will--- either succeed or fail atomically.+-- | ModifyInstanceGroups modifies the number of nodes and configuration settings+-- of an instance group. The input parameters include the new target instance+-- count for the group and the instance group ID. The call will either succeed+-- or fail atomically. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_ModifyInstanceGroups.html> module Network.AWS.EMR.ModifyInstanceGroups
gen/Network/AWS/EMR/RemoveTags.hs view
@@ -21,10 +21,10 @@ -- Portability : non-portable (GHC extensions) -- | Removes tags from an Amazon EMR resource. Tags make it easier to associate--- clusters in various ways, such as grouping clusters to track your Amazon--- EMR resource allocation costs. For more information, see Tagging Amazon EMR--- Resources. The following example removes the stack tag with value Prod from--- a cluster:.+-- clusters in various ways, such as grouping clusters to track your Amazon EMR+-- resource allocation costs. For more information, see <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html Tagging Amazon EMRResources>.+--+-- The following example removes the stack tag with value Prod from a cluster: -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_RemoveTags.html> module Network.AWS.EMR.RemoveTags
gen/Network/AWS/EMR/RunJobFlow.hs view
@@ -21,23 +21,24 @@ -- Portability : non-portable (GHC extensions) -- | RunJobFlow creates and starts running a new job flow. The job flow will run--- the steps specified. Once the job flow completes, the cluster is stopped--- and the HDFS partition is lost. To prevent loss of data, configure the last--- step of the job flow to store results in Amazon S3. If the--- JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to--- TRUE, the job flow will transition to the WAITING state rather than--- shutting down once the steps have completed. For additional protection, you--- can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE--- to lock the job flow and prevent it from being terminated by API call, user--- intervention, or in the event of a job flow error. A maximum of 256 steps--- are allowed in each job flow. If your job flow is long-running (such as a--- Hive data warehouse) or complex, you may require more than 256 steps to--- process your data. You can bypass the 256-step limitation in various ways,--- including using the SSH shell to connect to the master node and submitting--- queries directly to the software running on the master node, such as Hive--- and Hadoop. For more information on how to do this, go to Add More than 256--- Steps to a Job Flow in the Amazon Elastic MapReduce Developer's Guide. For--- long running job flows, we recommend that you periodically store your+-- the steps specified. Once the job flow completes, the cluster is stopped and+-- the HDFS partition is lost. To prevent loss of data, configure the last step+-- of the job flow to store results in Amazon S3. If the 'JobFlowInstancesConfig' 'KeepJobFlowAliveWhenNoSteps' parameter is set to 'TRUE', the job flow will transition to the WAITING state+-- rather than shutting down once the steps have completed.+--+-- For additional protection, you can set the 'JobFlowInstancesConfig' 'TerminationProtected' parameter to 'TRUE' to lock the job flow and prevent it from being terminated+-- by API call, user intervention, or in the event of a job flow error.+--+-- A maximum of 256 steps are allowed in each job flow.+--+-- If your job flow is long-running (such as a Hive data warehouse) or complex,+-- you may require more than 256 steps to process your data. You can bypass the+-- 256-step limitation in various ways, including using the SSH shell to connect+-- to the master node and submitting queries directly to the software running on+-- the master node, such as Hive and Hadoop. For more information on how to do+-- this, go to <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html Add More than 256 Steps to a Job Flow> in the /Amazon ElasticMapReduce Developer's Guide/.+--+-- For long running job flows, we recommend that you periodically store your -- results. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_RunJobFlow.html>@@ -145,39 +146,39 @@ rjfAdditionalInfo = lens _rjfAdditionalInfo (\s a -> s { _rjfAdditionalInfo = a }) --- | The version of the Amazon Machine Image (AMI) to use when launching--- Amazon EC2 instances in the job flow. The following values are valid:+-- | The version of the Amazon Machine Image (AMI) to use when launching Amazon+-- EC2 instances in the job flow. The following values are valid:+-- -- "latest" (uses the latest AMI) The version number of the AMI to use, for--- example, "2.0" If the AMI supports multiple versions of Hadoop (for--- example, AMI 1.0 supports both Hadoop 0.18 and 0.20) you can use the--- JobFlowInstancesConfig HadoopVersion parameter to modify the version of--- Hadoop from the defaults shown above. For details about the AMI versions--- currently supported by Amazon Elastic MapReduce, go to AMI Versions--- Supported in Elastic MapReduce in the Amazon Elastic MapReduce--- Developer's Guide.+-- example, "2.0" If the AMI supports multiple versions of Hadoop (for example,+-- AMI 1.0 supports both Hadoop 0.18 and 0.20) you can use the 'JobFlowInstancesConfig' 'HadoopVersion' parameter to modify the version of Hadoop from the defaults+-- shown above.+--+-- For details about the AMI versions currently supported by Amazon Elastic+-- MapReduce, go to <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported AMI Versions Supported in Elastic MapReduce> in the /AmazonElastic MapReduce Developer's Guide./ rjfAmiVersion :: Lens' RunJobFlow (Maybe Text) rjfAmiVersion = lens _rjfAmiVersion (\s a -> s { _rjfAmiVersion = a }) --- | A list of bootstrap actions that will be run before Hadoop is started on--- the cluster nodes.+-- | A list of bootstrap actions that will be run before Hadoop is started on the+-- cluster nodes. rjfBootstrapActions :: Lens' RunJobFlow [BootstrapActionConfig] rjfBootstrapActions = lens _rjfBootstrapActions (\s a -> s { _rjfBootstrapActions = a }) . _List --- | A specification of the number and type of Amazon EC2 instances on which--- to run the job flow.+-- | A specification of the number and type of Amazon EC2 instances on which to+-- run the job flow. rjfInstances :: Lens' RunJobFlow JobFlowInstancesConfig rjfInstances = lens _rjfInstances (\s a -> s { _rjfInstances = a }) --- | An IAM role for the job flow. The EC2 instances of the job flow assume--- this role. The default role is EMRJobflowDefault. In order to use the--- default role, you must have already created it using the CLI.+-- | An IAM role for the job flow. The EC2 instances of the job flow assume this+-- role. The default role is 'EMRJobflowDefault'. In order to use the default+-- role, you must have already created it using the CLI. rjfJobFlowRole :: Lens' RunJobFlow (Maybe Text) rjfJobFlowRole = lens _rjfJobFlowRole (\s a -> s { _rjfJobFlowRole = a }) --- | The location in Amazon S3 to write the log files of the job flow. If a--- value is not provided, logs are not created.+-- | The location in Amazon S3 to write the log files of the job flow. If a value+-- is not provided, logs are not created. rjfLogUri :: Lens' RunJobFlow (Maybe Text) rjfLogUri = lens _rjfLogUri (\s a -> s { _rjfLogUri = a }) @@ -186,14 +187,14 @@ rjfName = lens _rjfName (\s a -> s { _rjfName = a }) -- | A list of strings that indicates third-party software to use with the job--- flow that accepts a user argument list. EMR accepts and forwards the--- argument list to the corresponding installation script as bootstrap--- action arguments. For more information, see Launch a Job Flow on the MapR--- Distribution for Hadoop. Currently supported values are: "mapr-m3" ---- launch the job flow using MapR M3 Edition. "mapr-m5" - launch the job--- flow using MapR M5 Edition. "mapr" with the user arguments specifying--- "--edition,m3" or "--edition,m5" - launch the job flow using MapR M3 or--- M5 Edition respectively.+-- flow that accepts a user argument list. EMR accepts and forwards the argument+-- list to the corresponding installation script as bootstrap action arguments.+-- For more information, see <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-mapr.html Launch a Job Flow on the MapR Distribution forHadoop>. Currently supported values are:+--+-- "mapr-m3" - launch the job flow using MapR M3 Edition. "mapr-m5" - launch+-- the job flow using MapR M5 Edition. "mapr" with the user arguments specifying+-- "--edition,m3" or "--edition,m5" - launch the job flow using MapR M3 or M5+-- Edition respectively. rjfNewSupportedProducts :: Lens' RunJobFlow [SupportedProductConfig] rjfNewSupportedProducts = lens _rjfNewSupportedProducts (\s a -> s { _rjfNewSupportedProducts = a })@@ -209,10 +210,11 @@ rjfSteps = lens _rjfSteps (\s a -> s { _rjfSteps = a }) . _List -- | A list of strings that indicates third-party software to use with the job--- flow. For more information, go to Use Third Party Applications with--- Amazon EMR. Currently supported values are: "mapr-m3" - launch the job--- flow using MapR M3 Edition. "mapr-m5" - launch the job flow using MapR M5--- Edition.+-- flow. For more information, go to <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-supported-products.html Use Third Party Applications with Amazon EMR>+-- . Currently supported values are:+--+-- "mapr-m3" - launch the job flow using MapR M3 Edition. "mapr-m5" - launch+-- the job flow using MapR M5 Edition. rjfSupportedProducts :: Lens' RunJobFlow [Text] rjfSupportedProducts = lens _rjfSupportedProducts (\s a -> s { _rjfSupportedProducts = a })@@ -224,10 +226,10 @@ rjfTags = lens _rjfTags (\s a -> s { _rjfTags = a }) . _List -- | Whether the job flow is visible to all IAM users of the AWS account--- associated with the job flow. If this value is set to true, all IAM users--- of that AWS account can view and (if they have the proper policy--- permissions set) manage the job flow. If it is set to false, only the IAM--- user that created the job flow can view and manage it.+-- associated with the job flow. If this value is set to 'true', all IAM users of+-- that AWS account can view and (if they have the proper policy permissions+-- set) manage the job flow. If it is set to 'false', only the IAM user that+-- created the job flow can view and manage it. rjfVisibleToAllUsers :: Lens' RunJobFlow (Maybe Bool) rjfVisibleToAllUsers = lens _rjfVisibleToAllUsers (\s a -> s { _rjfVisibleToAllUsers = a })
gen/Network/AWS/EMR/SetTerminationProtection.hs view
@@ -20,20 +20,23 @@ -- Stability : experimental -- Portability : non-portable (GHC extensions) --- | SetTerminationProtection locks a job flow so the Amazon EC2 instances in--- the cluster cannot be terminated by user intervention, an API call, or in--- the event of a job-flow error. The cluster still terminates upon successful--- completion of the job flow. Calling SetTerminationProtection on a job flow--- is analogous to calling the Amazon EC2 DisableAPITermination API on all of--- the EC2 instances in a cluster. SetTerminationProtection is used to prevent--- accidental termination of a job flow and to ensure that in the event of an--- error, the instances will persist so you can recover any data stored in--- their ephemeral instance storage. To terminate a job flow that has been--- locked by setting SetTerminationProtection to true, you must first unlock--- the job flow by a subsequent call to SetTerminationProtection in which you--- set the value to false. For more information, go to Protecting a Job Flow--- from Termination in the Amazon Elastic MapReduce Developer's Guide.+-- | SetTerminationProtection locks a job flow so the Amazon EC2 instances in the+-- cluster cannot be terminated by user intervention, an API call, or in the+-- event of a job-flow error. The cluster still terminates upon successful+-- completion of the job flow. Calling SetTerminationProtection on a job flow is+-- analogous to calling the Amazon EC2 DisableAPITermination API on all of the+-- EC2 instances in a cluster. --+-- SetTerminationProtection is used to prevent accidental termination of a job+-- flow and to ensure that in the event of an error, the instances will persist+-- so you can recover any data stored in their ephemeral instance storage.+--+-- To terminate a job flow that has been locked by setting+-- SetTerminationProtection to 'true', you must first unlock the job flow by a+-- subsequent call to SetTerminationProtection in which you set the value to 'false'.+--+-- For more information, go to <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_TerminationProtection.html Protecting a Job Flow from Termination> in the /Amazon Elastic MapReduce Developer's Guide./+-- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_SetTerminationProtection.html> module Network.AWS.EMR.SetTerminationProtection (@@ -77,14 +80,13 @@ } -- | A list of strings that uniquely identify the job flows to protect. This--- identifier is returned by RunJobFlow and can also be obtained from--- DescribeJobFlows .+-- identifier is returned by 'RunJobFlow' and can also be obtained from 'DescribeJobFlows' . stpJobFlowIds :: Lens' SetTerminationProtection [Text] stpJobFlowIds = lens _stpJobFlowIds (\s a -> s { _stpJobFlowIds = a }) . _List -- | A Boolean that indicates whether to protect the job flow and prevent the--- Amazon EC2 instances in the cluster from shutting down due to API calls,--- user intervention, or job-flow error.+-- Amazon EC2 instances in the cluster from shutting down due to API calls, user+-- intervention, or job-flow error. stpTerminationProtected :: Lens' SetTerminationProtection Bool stpTerminationProtected = lens _stpTerminationProtected (\s a -> s { _stpTerminationProtected = a })
gen/Network/AWS/EMR/SetVisibleToAllUsers.hs view
@@ -21,11 +21,11 @@ -- Portability : non-portable (GHC extensions) -- | Sets whether all AWS Identity and Access Management (IAM) users under your--- account can access the specified job flows. This action works on running--- job flows. You can also set the visibility of a job flow when you launch it--- using the VisibleToAllUsers parameter of RunJobFlow. The--- SetVisibleToAllUsers action can be called only by an IAM user who created--- the job flow or the AWS account that owns the job flow.+-- account can access the specified job flows. This action works on running job+-- flows. You can also set the visibility of a job flow when you launch it using+-- the 'VisibleToAllUsers' parameter of 'RunJobFlow'. The SetVisibleToAllUsers+-- action can be called only by an IAM user who created the job flow or the AWS+-- account that owns the job flow. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_SetVisibleToAllUsers.html> module Network.AWS.EMR.SetVisibleToAllUsers@@ -74,10 +74,10 @@ svtauJobFlowIds = lens _svtauJobFlowIds (\s a -> s { _svtauJobFlowIds = a }) . _List -- | Whether the specified job flows are visible to all IAM users of the AWS--- account associated with the job flow. If this value is set to True, all--- IAM users of that AWS account can view and, if they have the proper IAM--- policy permissions set, manage the job flows. If it is set to False, only--- the IAM user that created a job flow can view and manage it.+-- account associated with the job flow. If this value is set to True, all IAM+-- users of that AWS account can view and, if they have the proper IAM policy+-- permissions set, manage the job flows. If it is set to False, only the IAM+-- user that created a job flow can view and manage it. svtauVisibleToAllUsers :: Lens' SetVisibleToAllUsers Bool svtauVisibleToAllUsers = lens _svtauVisibleToAllUsers (\s a -> s { _svtauVisibleToAllUsers = a })
gen/Network/AWS/EMR/TerminateJobFlows.hs view
@@ -24,10 +24,12 @@ -- down, any step not yet completed is canceled and the EC2 instances on which -- the job flow is running are stopped. Any log files not already saved are -- uploaded to Amazon S3 if a LogUri was specified when the job flow was--- created. The call to TerminateJobFlows is asynchronous. Depending on the+-- created.+--+-- The call to TerminateJobFlows is asynchronous. Depending on the -- configuration of the job flow, it may take up to 5-20 minutes for the job--- flow to completely terminate and release allocated resources, such as--- Amazon EC2 instances.+-- flow to completely terminate and release allocated resources, such as Amazon+-- EC2 instances. -- -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_TerminateJobFlows.html> module Network.AWS.EMR.TerminateJobFlows
gen/Network/AWS/EMR/Types.hs view
@@ -439,8 +439,11 @@ instance Hashable MarketType instance FromText MarketType where- parser = match "ON_DEMAND" OnDemand- <|> match "SPOT" Spot+ parser = takeText >>= \case+ "ON_DEMAND" -> pure OnDemand+ "SPOT" -> pure Spot+ e -> fail $+ "Failure parsing MarketType from " ++ show e instance ToText MarketType where toText = \case@@ -495,8 +498,8 @@ , _igcBidPrice = Nothing } --- | Bid price for each Amazon EC2 instance in the instance group when--- launching nodes as Spot Instances, expressed in USD.+-- | Bid price for each Amazon EC2 instance in the instance group when launching+-- nodes as Spot Instances, expressed in USD. igcBidPrice :: Lens' InstanceGroupConfig (Maybe Text) igcBidPrice = lens _igcBidPrice (\s a -> s { _igcBidPrice = a }) @@ -642,8 +645,7 @@ -- | The version of the AMI used to initialize Amazon EC2 instances in the job -- flow. For a list of AMI versions currently supported by Amazon--- ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in--- the Amazon Elastic MapReduce Developer's Guide.+-- ElasticMapReduce, go to <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/EnvironmentConfig_AMIVersion.html#ami-versions-supported AMI Versions Supported in Elastic MapReduce> in the /Amazon Elastic MapReduce Developer's Guide./ jfdAmiVersion :: Lens' JobFlowDetail (Maybe Text) jfdAmiVersion = lens _jfdAmiVersion (\s a -> s { _jfdAmiVersion = a }) @@ -689,20 +691,20 @@ jfdSteps :: Lens' JobFlowDetail [StepDetail] jfdSteps = lens _jfdSteps (\s a -> s { _jfdSteps = a }) . _List --- | A list of strings set by third party software when the job flow is--- launched. If you are not using third party software to manage the job--- flow this value is empty.+-- | A list of strings set by third party software when the job flow is launched.+-- If you are not using third party software to manage the job flow this value+-- is empty. jfdSupportedProducts :: Lens' JobFlowDetail [Text] jfdSupportedProducts = lens _jfdSupportedProducts (\s a -> s { _jfdSupportedProducts = a }) . _List --- | Specifies whether the job flow is visible to all IAM users of the AWS--- account associated with the job flow. If this value is set to true, all--- IAM users of that AWS account can view and (if they have the proper--- policy permissions set) manage the job flow. If it is set to false, only--- the IAM user that created the job flow can view and manage it. This value--- can be changed using the SetVisibleToAllUsers action.+-- | Specifies whether the job flow is visible to all IAM users of the AWS account+-- associated with the job flow. If this value is set to 'true', all IAM users of+-- that AWS account can view and (if they have the proper policy permissions+-- set) manage the job flow. If it is set to 'false', only the IAM user that+-- created the job flow can view and manage it. This value can be changed using+-- the 'SetVisibleToAllUsers' action. jfdVisibleToAllUsers :: Lens' JobFlowDetail (Maybe Bool) jfdVisibleToAllUsers = lens _jfdVisibleToAllUsers (\s a -> s { _jfdVisibleToAllUsers = a })@@ -875,13 +877,16 @@ instance Hashable StepExecutionState instance FromText StepExecutionState where- parser = match "CANCELLED" Cancelled- <|> match "COMPLETED" Completed- <|> match "CONTINUE" Continue- <|> match "FAILED" Failed- <|> match "INTERRUPTED" Interrupted- <|> match "PENDING" Pending- <|> match "RUNNING" Running+ parser = takeText >>= \case+ "CANCELLED" -> pure Cancelled+ "COMPLETED" -> pure Completed+ "CONTINUE" -> pure Continue+ "FAILED" -> pure Failed+ "INTERRUPTED" -> pure Interrupted+ "PENDING" -> pure Pending+ "RUNNING" -> pure Running+ e -> fail $+ "Failure parsing StepExecutionState from " ++ show e instance ToText StepExecutionState where toText = \case@@ -913,10 +918,13 @@ instance Hashable ActionOnFailure instance FromText ActionOnFailure where- parser = match "CANCEL_AND_WAIT" AOFCancelAndWait- <|> match "CONTINUE" AOFContinue- <|> match "TERMINATE_CLUSTER" AOFTerminateCluster- <|> match "TERMINATE_JOB_FLOW" AOFTerminateJobFlow+ parser = takeText >>= \case+ "CANCEL_AND_WAIT" -> pure AOFCancelAndWait+ "CONTINUE" -> pure AOFContinue+ "TERMINATE_CLUSTER" -> pure AOFTerminateCluster+ "TERMINATE_JOB_FLOW" -> pure AOFTerminateJobFlow+ e -> fail $+ "Failure parsing ActionOnFailure from " ++ show e instance ToText ActionOnFailure where toText = \case@@ -993,12 +1001,11 @@ } -- | A user-defined key, which is the minimum required information for a valid--- tag. For more information, see Tagging Amazon EMR Resources.+-- tag. For more information, see <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html Tagging Amazon EMR Resources>. tagKey :: Lens' Tag (Maybe Text) tagKey = lens _tagKey (\s a -> s { _tagKey = a }) --- | A user-defined value, which is optional in a tag. For more information,--- see Tagging Amazon EMR Resources.+-- | A user-defined value, which is optional in a tag. For more information, see <http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-plan-tags.html Tagging Amazon EMR Resources>. tagValue :: Lens' Tag (Maybe Text) tagValue = lens _tagValue (\s a -> s { _tagValue = a }) @@ -1041,8 +1048,7 @@ } -- | This option is for advanced users only. This is meta information about--- third-party applications that third-party vendors use for testing--- purposes.+-- third-party applications that third-party vendors use for testing purposes. aAdditionalInfo :: Lens' Application (HashMap Text Text) aAdditionalInfo = lens _aAdditionalInfo (\s a -> s { _aAdditionalInfo = a }) . _Map @@ -1074,11 +1080,11 @@ ] data JobFlowExecutionStatusDetail = JobFlowExecutionStatusDetail- { _jfesdCreationDateTime :: RFC822- , _jfesdEndDateTime :: Maybe RFC822+ { _jfesdCreationDateTime :: ISO8601+ , _jfesdEndDateTime :: Maybe ISO8601 , _jfesdLastStateChangeReason :: Maybe Text- , _jfesdReadyDateTime :: Maybe RFC822- , _jfesdStartDateTime :: Maybe RFC822+ , _jfesdReadyDateTime :: Maybe ISO8601+ , _jfesdStartDateTime :: Maybe ISO8601 , _jfesdState :: JobFlowExecutionState } deriving (Eq, Show) @@ -1278,8 +1284,7 @@ c1Applications :: Lens' Cluster [Application] c1Applications = lens _c1Applications (\s a -> s { _c1Applications = a }) . _List --- | Specifies whether the cluster should terminate after completing all--- steps.+-- | Specifies whether the cluster should terminate after completing all steps. c1AutoTerminate :: Lens' Cluster (Maybe Bool) c1AutoTerminate = lens _c1AutoTerminate (\s a -> s { _c1AutoTerminate = a }) @@ -1291,8 +1296,7 @@ c1Id :: Lens' Cluster (Maybe Text) c1Id = lens _c1Id (\s a -> s { _c1Id = a }) --- | The path to the Amazon S3 location where logs for this cluster are--- stored.+-- | The path to the Amazon S3 location where logs for this cluster are stored. c1LogUri :: Lens' Cluster (Maybe Text) c1LogUri = lens _c1LogUri (\s a -> s { _c1LogUri = a }) @@ -1306,8 +1310,7 @@ lens _c1RequestedAmiVersion (\s a -> s { _c1RequestedAmiVersion = a }) -- | The AMI version running on this cluster. This differs from the requested--- version only if the requested version is a meta version, such as--- "latest".+-- version only if the requested version is a meta version, such as "latest". c1RunningAmiVersion :: Lens' Cluster (Maybe Text) c1RunningAmiVersion = lens _c1RunningAmiVersion (\s a -> s { _c1RunningAmiVersion = a })@@ -1326,18 +1329,18 @@ c1Tags = lens _c1Tags (\s a -> s { _c1Tags = a }) . _List -- | Indicates whether Amazon EMR will lock the cluster to prevent the EC2--- instances from being terminated by an API call or user intervention, or--- in the event of a cluster error.+-- instances from being terminated by an API call or user intervention, or in+-- the event of a cluster error. c1TerminationProtected :: Lens' Cluster (Maybe Bool) c1TerminationProtected = lens _c1TerminationProtected (\s a -> s { _c1TerminationProtected = a }) --- | Indicates whether the job flow is visible to all IAM users of the AWS--- account associated with the job flow. If this value is set to true, all--- IAM users of that AWS account can view and manage the job flow if they--- have the proper policy permissions set. If this value is false, only the--- IAM user that created the cluster can view and manage it. This value can--- be changed using the SetVisibleToAllUsers action.+-- | Indicates whether the job flow is visible to all IAM users of the AWS account+-- associated with the job flow. If this value is set to 'true', all IAM users of+-- that AWS account can view and manage the job flow if they have the proper+-- policy permissions set. If this value is 'false', only the IAM user that+-- created the cluster can view and manage it. This value can be changed using+-- the 'SetVisibleToAllUsers' action. c1VisibleToAllUsers :: Lens' Cluster (Maybe Bool) c1VisibleToAllUsers = lens _c1VisibleToAllUsers (\s a -> s { _c1VisibleToAllUsers = a })@@ -1376,9 +1379,9 @@ ] data InstanceTimeline = InstanceTimeline- { _itCreationDateTime :: Maybe RFC822- , _itEndDateTime :: Maybe RFC822- , _itReadyDateTime :: Maybe RFC822+ { _itCreationDateTime :: Maybe ISO8601+ , _itEndDateTime :: Maybe ISO8601+ , _itReadyDateTime :: Maybe ISO8601 } deriving (Eq, Ord, Show) -- | 'InstanceTimeline' constructor.@@ -1457,18 +1460,19 @@ eiaEc2AvailabilityZone = lens _eiaEc2AvailabilityZone (\s a -> s { _eiaEc2AvailabilityZone = a }) --- | The name of the Amazon EC2 key pair to use when connecting with SSH into--- the master node as a user named "hadoop".+-- | The name of the Amazon EC2 key pair to use when connecting with SSH into the+-- master node as a user named "hadoop". eiaEc2KeyName :: Lens' Ec2InstanceAttributes (Maybe Text) eiaEc2KeyName = lens _eiaEc2KeyName (\s a -> s { _eiaEc2KeyName = a }) --- | To launch the job flow in Amazon VPC, set this parameter to the--- identifier of the Amazon VPC subnet where you want the job flow to--- launch. If you do not specify this value, the job flow is launched in the--- normal AWS cloud, outside of a VPC. Amazon VPC currently does not support--- cluster compute quadruple extra large (cc1.4xlarge) instances. Thus, you--- cannot specify the cc1.4xlarge instance type for nodes of a job flow--- launched in a VPC.+-- | To launch the job flow in Amazon VPC, set this parameter to the identifier+-- of the Amazon VPC subnet where you want the job flow to launch. If you do not+-- specify this value, the job flow is launched in the normal AWS cloud, outside+-- of a VPC.+--+-- Amazon VPC currently does not support cluster compute quadruple extra large+-- (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance+-- type for nodes of a job flow launched in a VPC. eiaEc2SubnetId :: Lens' Ec2InstanceAttributes (Maybe Text) eiaEc2SubnetId = lens _eiaEc2SubnetId (\s a -> s { _eiaEc2SubnetId = a }) @@ -1500,7 +1504,10 @@ instance Hashable StepStateChangeReasonCode instance FromText StepStateChangeReasonCode where- parser = match "NONE" None+ parser = takeText >>= \case+ "NONE" -> pure None+ e -> fail $+ "Failure parsing StepStateChangeReasonCode from " ++ show e instance ToText StepStateChangeReasonCode where toText None = "NONE"@@ -1528,13 +1535,16 @@ instance Hashable ClusterState instance FromText ClusterState where- parser = match "BOOTSTRAPPING" CSBootstrapping- <|> match "RUNNING" CSRunning- <|> match "STARTING" CSStarting- <|> match "TERMINATED" CSTerminated- <|> match "TERMINATED_WITH_ERRORS" CSTerminatedWithErrors- <|> match "TERMINATING" CSTerminating- <|> match "WAITING" CSWaiting+ parser = takeText >>= \case+ "BOOTSTRAPPING" -> pure CSBootstrapping+ "RUNNING" -> pure CSRunning+ "STARTING" -> pure CSStarting+ "TERMINATED" -> pure CSTerminated+ "TERMINATED_WITH_ERRORS" -> pure CSTerminatedWithErrors+ "TERMINATING" -> pure CSTerminating+ "WAITING" -> pure CSWaiting+ e -> fail $+ "Failure parsing ClusterState from " ++ show e instance ToText ClusterState where toText = \case@@ -1583,8 +1593,8 @@ , _hscArgs = mempty } --- | The list of command line arguments to pass to the JAR file's main--- function for execution.+-- | The list of command line arguments to pass to the JAR file's main function+-- for execution. hscArgs :: Lens' HadoopStepConfig [Text] hscArgs = lens _hscArgs (\s a -> s { _hscArgs = a }) . _List @@ -1592,8 +1602,8 @@ hscJar :: Lens' HadoopStepConfig (Maybe Text) hscJar = lens _hscJar (\s a -> s { _hscJar = a }) --- | The name of the main class in the specified Java file. If not specified,--- the JAR file should specify a main class in its manifest file.+-- | The name of the main class in the specified Java file. If not specified, the+-- JAR file should specify a main class in its manifest file. hscMainClass :: Lens' HadoopStepConfig (Maybe Text) hscMainClass = lens _hscMainClass (\s a -> s { _hscMainClass = a }) @@ -1631,14 +1641,17 @@ instance Hashable JobFlowExecutionState instance FromText JobFlowExecutionState where- parser = match "BOOTSTRAPPING" JFESBootstrapping- <|> match "COMPLETED" JFESCompleted- <|> match "FAILED" JFESFailed- <|> match "RUNNING" JFESRunning- <|> match "SHUTTING_DOWN" JFESShuttingDown- <|> match "STARTING" JFESStarting- <|> match "TERMINATED" JFESTerminated- <|> match "WAITING" JFESWaiting+ parser = takeText >>= \case+ "BOOTSTRAPPING" -> pure JFESBootstrapping+ "COMPLETED" -> pure JFESCompleted+ "FAILED" -> pure JFESFailed+ "RUNNING" -> pure JFESRunning+ "SHUTTING_DOWN" -> pure JFESShuttingDown+ "STARTING" -> pure JFESStarting+ "TERMINATED" -> pure JFESTerminated+ "WAITING" -> pure JFESWaiting+ e -> fail $+ "Failure parsing JobFlowExecutionState from " ++ show e instance ToText JobFlowExecutionState where toText = \case@@ -1749,9 +1762,12 @@ instance Hashable InstanceGroupType instance FromText InstanceGroupType where- parser = match "CORE" Core- <|> match "MASTER" Master- <|> match "TASK" Task+ parser = takeText >>= \case+ "CORE" -> pure Core+ "MASTER" -> pure Master+ "TASK" -> pure Task+ e -> fail $+ "Failure parsing InstanceGroupType from " ++ show e instance ToText InstanceGroupType where toText = \case@@ -1779,10 +1795,13 @@ instance Hashable InstanceGroupStateChangeReasonCode instance FromText InstanceGroupStateChangeReasonCode where- parser = match "CLUSTER_TERMINATED" ClusterTerminated- <|> match "INSTANCE_FAILURE" InstanceFailure- <|> match "INTERNAL_ERROR" InternalError- <|> match "VALIDATION_ERROR" ValidationError+ parser = takeText >>= \case+ "CLUSTER_TERMINATED" -> pure ClusterTerminated+ "INSTANCE_FAILURE" -> pure InstanceFailure+ "INTERNAL_ERROR" -> pure InternalError+ "VALIDATION_ERROR" -> pure ValidationError+ e -> fail $+ "Failure parsing InstanceGroupStateChangeReasonCode from " ++ show e instance ToText InstanceGroupStateChangeReasonCode where toText = \case@@ -1914,16 +1933,19 @@ instance Hashable InstanceGroupState instance FromText InstanceGroupState where- parser = match "ARRESTED" IGSArrested- <|> match "BOOTSTRAPPING" IGSBootstrapping- <|> match "ENDED" IGSEnded- <|> match "PROVISIONING" IGSProvisioning- <|> match "RESIZING" IGSResizing- <|> match "RUNNING" IGSRunning- <|> match "SHUTTING_DOWN" IGSShuttingDown- <|> match "SUSPENDED" IGSSuspended- <|> match "TERMINATED" IGSTerminated- <|> match "TERMINATING" IGSTerminating+ parser = takeText >>= \case+ "ARRESTED" -> pure IGSArrested+ "BOOTSTRAPPING" -> pure IGSBootstrapping+ "ENDED" -> pure IGSEnded+ "PROVISIONING" -> pure IGSProvisioning+ "RESIZING" -> pure IGSResizing+ "RUNNING" -> pure IGSRunning+ "SHUTTING_DOWN" -> pure IGSShuttingDown+ "SUSPENDED" -> pure IGSSuspended+ "TERMINATED" -> pure IGSTerminated+ "TERMINATING" -> pure IGSTerminating+ e -> fail $+ "Failure parsing InstanceGroupState from " ++ show e instance ToText InstanceGroupState where toText = \case@@ -1949,9 +1971,9 @@ toJSON = toJSONText data StepTimeline = StepTimeline- { _stCreationDateTime :: Maybe RFC822- , _stEndDateTime :: Maybe RFC822- , _stStartDateTime :: Maybe RFC822+ { _stCreationDateTime :: Maybe ISO8601+ , _stEndDateTime :: Maybe ISO8601+ , _stStartDateTime :: Maybe ISO8601 } deriving (Eq, Ord, Show) -- | 'StepTimeline' constructor.@@ -2056,8 +2078,8 @@ , _hjscArgs = mempty } --- | A list of command line arguments passed to the JAR file's main function--- when executed.+-- | A list of command line arguments passed to the JAR file's main function when+-- executed. hjscArgs :: Lens' HadoopJarStepConfig [Text] hjscArgs = lens _hjscArgs (\s a -> s { _hjscArgs = a }) . _List @@ -2065,13 +2087,13 @@ hjscJar :: Lens' HadoopJarStepConfig Text hjscJar = lens _hjscJar (\s a -> s { _hjscJar = a }) --- | The name of the main class in the specified Java file. If not specified,--- the JAR file should specify a Main-Class in its manifest file.+-- | The name of the main class in the specified Java file. If not specified, the+-- JAR file should specify a Main-Class in its manifest file. hjscMainClass :: Lens' HadoopJarStepConfig (Maybe Text) hjscMainClass = lens _hjscMainClass (\s a -> s { _hjscMainClass = a }) --- | A list of Java properties that are set when the step runs. You can use--- these properties to pass key value pairs to your main function.+-- | A list of Java properties that are set when the step runs. You can use these+-- properties to pass key value pairs to your main function. hjscProperties :: Lens' HadoopJarStepConfig [KeyValue] hjscProperties = lens _hjscProperties (\s a -> s { _hjscProperties = a }) . _List @@ -2114,9 +2136,9 @@ , _igmcEC2InstanceIdsToTerminate = mempty } --- | The EC2 InstanceIds to terminate. For advanced users only. Once you--- terminate the instances, the instance group will not return to its--- original requested size.+-- | The EC2 InstanceIds to terminate. For advanced users only. Once you terminate+-- the instances, the instance group will not return to its original requested+-- size. igmcEC2InstanceIdsToTerminate :: Lens' InstanceGroupModifyConfig [Text] igmcEC2InstanceIdsToTerminate = lens _igmcEC2InstanceIdsToTerminate@@ -2148,8 +2170,8 @@ data InstanceGroupDetail = InstanceGroupDetail { _igdBidPrice :: Maybe Text- , _igdCreationDateTime :: RFC822- , _igdEndDateTime :: Maybe RFC822+ , _igdCreationDateTime :: ISO8601+ , _igdEndDateTime :: Maybe ISO8601 , _igdInstanceGroupId :: Maybe Text , _igdInstanceRequestCount :: Int , _igdInstanceRole :: InstanceRoleType@@ -2158,8 +2180,8 @@ , _igdLastStateChangeReason :: Maybe Text , _igdMarket :: MarketType , _igdName :: Maybe Text- , _igdReadyDateTime :: Maybe RFC822- , _igdStartDateTime :: Maybe RFC822+ , _igdReadyDateTime :: Maybe ISO8601+ , _igdStartDateTime :: Maybe ISO8601 , _igdState :: InstanceGroupState } deriving (Eq, Show) @@ -2220,8 +2242,8 @@ , _igdEndDateTime = Nothing } --- | Bid price for EC2 Instances when launching nodes as Spot Instances,--- expressed in USD.+-- | Bid price for EC2 Instances when launching nodes as Spot Instances, expressed+-- in USD. igdBidPrice :: Lens' InstanceGroupDetail (Maybe Text) igdBidPrice = lens _igdBidPrice (\s a -> s { _igdBidPrice = a }) @@ -2245,7 +2267,7 @@ igdInstanceRequestCount = lens _igdInstanceRequestCount (\s a -> s { _igdInstanceRequestCount = a }) --- | Instance group role in the cluster.+-- | Instance group role in the cluster igdInstanceRole :: Lens' InstanceGroupDetail InstanceRoleType igdInstanceRole = lens _igdInstanceRole (\s a -> s { _igdInstanceRole = a }) @@ -2371,13 +2393,16 @@ instance Hashable ClusterStateChangeReasonCode instance FromText ClusterStateChangeReasonCode where- parser = match "ALL_STEPS_COMPLETED" CSCRCAllStepsCompleted- <|> match "BOOTSTRAP_FAILURE" CSCRCBootstrapFailure- <|> match "INSTANCE_FAILURE" CSCRCInstanceFailure- <|> match "INTERNAL_ERROR" CSCRCInternalError- <|> match "STEP_FAILURE" CSCRCStepFailure- <|> match "USER_REQUEST" CSCRCUserRequest- <|> match "VALIDATION_ERROR" CSCRCValidationError+ parser = takeText >>= \case+ "ALL_STEPS_COMPLETED" -> pure CSCRCAllStepsCompleted+ "BOOTSTRAP_FAILURE" -> pure CSCRCBootstrapFailure+ "INSTANCE_FAILURE" -> pure CSCRCInstanceFailure+ "INTERNAL_ERROR" -> pure CSCRCInternalError+ "STEP_FAILURE" -> pure CSCRCStepFailure+ "USER_REQUEST" -> pure CSCRCUserRequest+ "VALIDATION_ERROR" -> pure CSCRCValidationError+ e -> fail $+ "Failure parsing ClusterStateChangeReasonCode from " ++ show e instance ToText ClusterStateChangeReasonCode where toText = \case@@ -2480,12 +2505,15 @@ instance Hashable StepState instance FromText StepState where- parser = match "CANCELLED" SSCancelled- <|> match "COMPLETED" SSCompleted- <|> match "FAILED" SSFailed- <|> match "INTERRUPTED" SSInterrupted- <|> match "PENDING" SSPending- <|> match "RUNNING" SSRunning+ parser = takeText >>= \case+ "CANCELLED" -> pure SSCancelled+ "COMPLETED" -> pure SSCompleted+ "FAILED" -> pure SSFailed+ "INTERRUPTED" -> pure SSInterrupted+ "PENDING" -> pure SSPending+ "RUNNING" -> pure SSRunning+ e -> fail $+ "Failure parsing StepState from " ++ show e instance ToText StepState where toText = \case@@ -2507,9 +2535,9 @@ toJSON = toJSONText data InstanceGroupTimeline = InstanceGroupTimeline- { _igtCreationDateTime :: Maybe RFC822- , _igtEndDateTime :: Maybe RFC822- , _igtReadyDateTime :: Maybe RFC822+ { _igtCreationDateTime :: Maybe ISO8601+ , _igtEndDateTime :: Maybe ISO8601+ , _igtReadyDateTime :: Maybe ISO8601 } deriving (Eq, Ord, Show) -- | 'InstanceGroupTimeline' constructor.@@ -2587,10 +2615,10 @@ ] data StepExecutionStatusDetail = StepExecutionStatusDetail- { _sesdCreationDateTime :: RFC822- , _sesdEndDateTime :: Maybe RFC822+ { _sesdCreationDateTime :: ISO8601+ , _sesdEndDateTime :: Maybe ISO8601 , _sesdLastStateChangeReason :: Maybe Text- , _sesdStartDateTime :: Maybe RFC822+ , _sesdStartDateTime :: Maybe ISO8601 , _sesdState :: StepExecutionState } deriving (Eq, Show) @@ -2720,9 +2748,12 @@ instance Hashable InstanceRoleType instance FromText InstanceRoleType where- parser = match "CORE" IRTCore- <|> match "MASTER" IRTMaster- <|> match "TASK" IRTTask+ parser = takeText >>= \case+ "CORE" -> pure IRTCore+ "MASTER" -> pure IRTMaster+ "TASK" -> pure IRTTask+ e -> fail $+ "Failure parsing InstanceRoleType from " ++ show e instance ToText InstanceRoleType where toText = \case@@ -2792,25 +2823,25 @@ } -- | The name of the Amazon EC2 key pair that can be used to ssh to the master--- node as the user called "hadoop.".+-- node as the user called "hadoop." jficEc2KeyName :: Lens' JobFlowInstancesConfig (Maybe Text) jficEc2KeyName = lens _jficEc2KeyName (\s a -> s { _jficEc2KeyName = a }) -- | To launch the job flow in Amazon Virtual Private Cloud (Amazon VPC), set--- this parameter to the identifier of the Amazon VPC subnet where you want--- the job flow to launch. If you do not specify this value, the job flow is--- launched in the normal Amazon Web Services cloud, outside of an Amazon--- VPC. Amazon VPC currently does not support cluster compute quadruple--- extra large (cc1.4xlarge) instances. Thus you cannot specify the--- cc1.4xlarge instance type for nodes of a job flow launched in a Amazon--- VPC.+-- this parameter to the identifier of the Amazon VPC subnet where you want the+-- job flow to launch. If you do not specify this value, the job flow is+-- launched in the normal Amazon Web Services cloud, outside of an Amazon VPC.+--+-- Amazon VPC currently does not support cluster compute quadruple extra large+-- (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance+-- type for nodes of a job flow launched in a Amazon VPC. jficEc2SubnetId :: Lens' JobFlowInstancesConfig (Maybe Text) jficEc2SubnetId = lens _jficEc2SubnetId (\s a -> s { _jficEc2SubnetId = a }) -- | The Hadoop version for the job flow. Valid inputs are "0.18", "0.20", or--- "0.20.205". If you do not set this value, the default of 0.18 is used,--- unless the AmiVersion parameter is set in the RunJobFlow call, in which--- case the default version of Hadoop for that AMI version is used.+-- "0.20.205". If you do not set this value, the default of 0.18 is used, unless+-- the AmiVersion parameter is set in the RunJobFlow call, in which case the+-- default version of Hadoop for that AMI version is used. jficHadoopVersion :: Lens' JobFlowInstancesConfig (Maybe Text) jficHadoopVersion = lens _jficHadoopVersion (\s a -> s { _jficHadoopVersion = a })@@ -2826,8 +2857,7 @@ lens _jficInstanceGroups (\s a -> s { _jficInstanceGroups = a }) . _List --- | Specifies whether the job flow should terminate after completing all--- steps.+-- | Specifies whether the job flow should terminate after completing all steps. jficKeepJobFlowAliveWhenNoSteps :: Lens' JobFlowInstancesConfig (Maybe Bool) jficKeepJobFlowAliveWhenNoSteps = lens _jficKeepJobFlowAliveWhenNoSteps@@ -2847,9 +2877,9 @@ jficSlaveInstanceType = lens _jficSlaveInstanceType (\s a -> s { _jficSlaveInstanceType = a }) --- | Specifies whether to lock the job flow to prevent the Amazon EC2--- instances from being terminated by API call, user intervention, or in the--- event of a job flow error.+-- | Specifies whether to lock the job flow to prevent the Amazon EC2 instances+-- from being terminated by API call, user intervention, or in the event of a+-- job flow error. jficTerminationProtected :: Lens' JobFlowInstancesConfig (Maybe Bool) jficTerminationProtected = lens _jficTerminationProtected@@ -3203,8 +3233,8 @@ , _jfidHadoopVersion = Nothing } --- | The name of an Amazon EC2 key pair that can be used to ssh to the master--- node of job flow.+-- | The name of an Amazon EC2 key pair that can be used to ssh to the master node+-- of job flow. jfidEc2KeyName :: Lens' JobFlowInstancesDetail (Maybe Text) jfidEc2KeyName = lens _jfidEc2KeyName (\s a -> s { _jfidEc2KeyName = a }) @@ -3232,8 +3262,7 @@ lens _jfidInstanceGroups (\s a -> s { _jfidInstanceGroups = a }) . _List --- | Specifies whether the job flow should terminate after completing all--- steps.+-- | Specifies whether the job flow should terminate after completing all steps. jfidKeepJobFlowAliveWhenNoSteps :: Lens' JobFlowInstancesDetail (Maybe Bool) jfidKeepJobFlowAliveWhenNoSteps = lens _jfidKeepJobFlowAliveWhenNoSteps@@ -3254,12 +3283,12 @@ jfidMasterPublicDnsName = lens _jfidMasterPublicDnsName (\s a -> s { _jfidMasterPublicDnsName = a }) --- | An approximation of the cost of the job flow, represented in--- m1.small/hours. This value is incremented once for every hour an m1.small--- runs. Larger instances are weighted more, so an Amazon EC2 instance that--- is roughly four times more expensive would result in the normalized--- instance hours being incremented by four. This result is only an--- approximation and does not reflect the actual billing rate.+-- | An approximation of the cost of the job flow, represented in m1.small/hours.+-- This value is incremented once for every hour an m1.small runs. Larger+-- instances are weighted more, so an Amazon EC2 instance that is roughly four+-- times more expensive would result in the normalized instance hours being+-- incremented by four. This result is only an approximation and does not+-- reflect the actual billing rate. jfidNormalizedInstanceHours :: Lens' JobFlowInstancesDetail (Maybe Int) jfidNormalizedInstanceHours = lens _jfidNormalizedInstanceHours@@ -3274,9 +3303,9 @@ jfidSlaveInstanceType = lens _jfidSlaveInstanceType (\s a -> s { _jfidSlaveInstanceType = a }) --- | Specifies whether the Amazon EC2 instances in the cluster are protected--- from termination by API calls, user intervention, or in the event of a--- job flow error.+-- | Specifies whether the Amazon EC2 instances in the cluster are protected from+-- termination by API calls, user intervention, or in the event of a job flow+-- error. jfidTerminationProtected :: Lens' JobFlowInstancesDetail (Maybe Bool) jfidTerminationProtected = lens _jfidTerminationProtected@@ -3347,8 +3376,8 @@ csStateChangeReason = lens _csStateChangeReason (\s a -> s { _csStateChangeReason = a }) --- | A timeline that represents the status of a cluster over the lifetime of--- the cluster.+-- | A timeline that represents the status of a cluster over the lifetime of the+-- cluster. csTimeline :: Lens' ClusterStatus (Maybe ClusterTimeline) csTimeline = lens _csTimeline (\s a -> s { _csTimeline = a }) @@ -3376,11 +3405,14 @@ instance Hashable InstanceState instance FromText InstanceState where- parser = match "AWAITING_FULFILLMENT" ISAwaitingFulfillment- <|> match "BOOTSTRAPPING" ISBootstrapping- <|> match "PROVISIONING" ISProvisioning- <|> match "RUNNING" ISRunning- <|> match "TERMINATED" ISTerminated+ parser = takeText >>= \case+ "AWAITING_FULFILLMENT" -> pure ISAwaitingFulfillment+ "BOOTSTRAPPING" -> pure ISBootstrapping+ "PROVISIONING" -> pure ISProvisioning+ "RUNNING" -> pure ISRunning+ "TERMINATED" -> pure ISTerminated+ e -> fail $+ "Failure parsing InstanceState from " ++ show e instance ToText InstanceState where toText = \case@@ -3401,9 +3433,9 @@ toJSON = toJSONText data ClusterTimeline = ClusterTimeline- { _ctCreationDateTime :: Maybe RFC822- , _ctEndDateTime :: Maybe RFC822- , _ctReadyDateTime :: Maybe RFC822+ { _ctCreationDateTime :: Maybe ISO8601+ , _ctEndDateTime :: Maybe ISO8601+ , _ctReadyDateTime :: Maybe ISO8601 } deriving (Eq, Ord, Show) -- | 'ClusterTimeline' constructor.@@ -3461,11 +3493,14 @@ instance Hashable InstanceStateChangeReasonCode instance FromText InstanceStateChangeReasonCode where- parser = match "BOOTSTRAP_FAILURE" ISCRCBootstrapFailure- <|> match "CLUSTER_TERMINATED" ISCRCClusterTerminated- <|> match "INSTANCE_FAILURE" ISCRCInstanceFailure- <|> match "INTERNAL_ERROR" ISCRCInternalError- <|> match "VALIDATION_ERROR" ISCRCValidationError+ parser = takeText >>= \case+ "BOOTSTRAP_FAILURE" -> pure ISCRCBootstrapFailure+ "CLUSTER_TERMINATED" -> pure ISCRCClusterTerminated+ "INSTANCE_FAILURE" -> pure ISCRCInstanceFailure+ "INTERNAL_ERROR" -> pure ISCRCInternalError+ "VALIDATION_ERROR" -> pure ISCRCValidationError+ e -> fail $+ "Failure parsing InstanceStateChangeReasonCode from " ++ show e instance ToText InstanceStateChangeReasonCode where toText = \case